@import url('https://fonts.googleapis.com/css?family=Raleway:400,700');

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;	
	font-family: Raleway, sans-serif;
}

html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden; /* Prevents both horizontal and vertical scrolling */
}

body {
    background: linear-gradient(90deg, #15457b, #154984);
    display: flex;
    justify-content: center;
    align-items: center;
}

.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    width: 100vw;
    position: relative;
}

.tab-content {
	display: none;
    width: 100%;
    max-width: 400px; /* Set a max-width for the card */
}

.tab-content.active {
	display: block;
}

.tabs {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 20px; /* Adjust this value as needed */
    width: 100%;
	margin-bottom: 20px;
}

.tab-button {
    padding: 10px 20px;
    cursor: pointer;
    border: none;
    outline: none;
    transition: 0.3s;
    margin: 0 5px;
    font-size: 16px;
}

.register-button,
.login-button{
	justify-content: center;
}

.screen {		
	background: linear-gradient(90deg, #073A74, #225fa4);		
	position: relative;	
	height: 600px;
	width: 360px;	
	box-shadow: 0px 0px 24px #00254F;
}

.screen__content {
	z-index: 1;
	position: relative;	
	height: 100%;
}

.screen__background {		
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	-webkit-clip-path: inset(0 0 0 0);
	clip-path: inset(0 0 0 0);	
}

.screen__background__shape {
	transform: rotate(45deg);
	position: absolute;
}

.screen__background__shape1 {
	height: 520px;
	width: 520px;
	background: #FFF;	
	top: -50px;
	right: 120px;	
	border-radius: 0 72px 0 0;
}

.screen__background__shape2 {
	height: 220px;
	width: 220px;
	background: #073A74;	
	top: -172px;
	right: 0;	
	border-radius: 32px;
}

.screen__background__shape3 {
	height: 540px;
	width: 190px;
	background: linear-gradient(270deg, #073A74, #00254F);
	top: -24px;
	right: 0;	
	border-radius: 32px;
}

.screen__background__shape4 {
	height: 400px;
	width: 200px;
	background: #225fa4;	
	top: 420px;
	right: 50px;	
	border-radius: 60px;
}

.login {
	width: 320px;
	padding: 30px;
	padding-top: 156px;
}

.login__field {
	padding: 20px 0px;	
	position: relative;	
}

.login__icon {
	position: absolute;
	top: 30px;
	color: #225fa4;
}

.login__input {
	border: none;
	border-bottom: 2px solid #225fa4;
	background: none;
	padding: 10px;
	padding-left: 24px;
	font-weight: 700;
	width: 75%;
	transition: .2s;
}

.login__input:active,
.login__input:focus,
.login__input:hover {
	outline: none;
	border-bottom-color: #225fa4;
}

.tab-button {
	padding: 10px 20px;
	border: 1px solid #225fa4;
	border-radius: 26px;
	text-transform: uppercase;
	color: #225fa4;
	box-shadow: 0px 2px 2px #225fa4;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
}

.login__submit {
	background: #fff;
	font-size: 14px;
	margin-top: 30px;
	padding: 16px 20px;
	border-radius: 26px;
	border: 1px solid #225fa4;
	text-transform: uppercase;
	font-weight: 700;
	display: flex;
	align-items: center;
	width: 100%;
	color: #225fa4;
	box-shadow: 0px 2px 2px #225fa4;
	cursor: pointer;
	transition: .2s;
}

.login__submit:active,
.login__submit:focus,
.login__submit:hover {
	border-color: #1c3e65;
	outline: none;
}

.button__icon {
	font-size: 24px;
	margin-left: auto;
	color: #225fa4;
}

.social-login {	
	position: absolute;
	height: 140px;
	width: 160px;
	text-align: center;
	bottom: 0px;
	right: 0px;
	color: #fff;
}

.social-icons {
	display: flex;
	align-items: center;
	justify-content: center;
}

.social-login__icon {
	padding: 20px 10px;
	color: #fff;
	text-decoration: none;	
	text-shadow: 0px 0px 8px #225fa4;
}

.social-login__icon:hover {
	transform: scale(1.5);	
}

@media only screen and (max-width: 600px) {
    .container {
        display: flex;
        justify-content: center; /* Center horizontally */
        align-items: center; /* Center vertically */
        min-height: 100vh; /* Ensure the container fills the viewport height */
    }

    .screen {
        width: 90vw; /* Makes the screen width 90% of the viewport width */
        height: 80vh; /* Makes the screen height 80% of the viewport height */
        max-width: 400px; /* Optional: set a max width to prevent it from being too wide */
        max-height: 600px; /* Optional: set a max height to prevent it from being too tall */
    }

    .login {
        width: 80vw; /* Adjusts the login container width */
        padding-top: 20%; /* Adjusts the padding-top for better vertical alignment */
        max-width: 350px; /* Optional: set a max width for readability */
    }

    .login__input {
        width: 85%; /* Adjusts input width for mobile */
    }

    .social-login {
        height: 100px; /* Adjusts the social login container height */
        width: 100px; /* Adjusts the social login container width */
        bottom: 10px; /* Provides some padding from the bottom */
        right: 10px; /* Provides some padding from the right */
    }
}



:root {
  /* Modern, saturated hues (Material palette) */
  --toast-info-bg:    #1976D2; /* Blue 700 */
  --toast-success-bg: #388E3C; /* Green 700 */
  --toast-warning-bg: #FBC02D; /* Yellow 700 */
  --toast-error-bg:   #D32F2F; /* Red 700 */
  --toast-text-on-warning: #000000; /* dark text for yellow */
}

.toast {
  /* default to "success" green */
  background-color: var(--toast-success-bg);
}

/* Apply them once—remove any duplicate rules */
.toast-info    { background-color: var(--toast-info-bg)    !important; }
.toast-success { background-color: var(--toast-success-bg) !important; }
.toast-warning {
  background-color: var(--toast-warning-bg) !important;
  color: var(--toast-text-on-warning)       !important;
}
.toast-error   { background-color: var(--toast-error-bg)   !important; }


/* position toasts in the top-right corner */
.toast-container {
  position: fixed;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 10000;
}

/* base toast style */
.toast {
  display: flex;
  align-items: center;
  max-width: 300px;
  padding: 0.75rem 1rem;
  border-radius: 0.375rem;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
  color: #fff;
  opacity: 0;
  transform: translateX(100%);
  animation: slideIn 0.4s forwards, fadeOut 0.4s forwards 4.6s;
  position: relative;
}

/* category colors via variables */
.toast-info {
  background-color: var(--toast-info-bg);
}
.toast-success {
  background-color: var(--toast-success-bg);
}
.toast-warning {
  background-color: var(--toast-warning-bg);
  color: var(--toast-text-on-warning);
}
.toast-error {
  background-color: var(--toast-error-bg);
}

/* the “×” button */
.toast-close {
  background: none;
  border: none;
  font-size: 1.2rem;
  line-height: 1;
  color: inherit;
  padding: 0;
  margin-left: 0.5rem;
  cursor: pointer;
}

/* slide in from right */
@keyframes slideIn {
  to { opacity: 1; transform: translateX(0); }
}

/* fade out at the end */
@keyframes fadeOut {
  to { opacity: 0; }
}
