@import url('variables.css');
@import url('fonts.css');

.modal {
    background: var(--app-background) !important;
    display: flex !important;
    align-items: center;
    overflow-y: auto;
}

.hide {
	display: none;
	visibility: collapse;
}

.form-control {
	height: 3rem !important;
	border-radius: 0.5rem;
	border: 0.077rem solid var(--bs-gray);
}

.form-group label {
	padding: 0 0 0 0.25rem;
	margin: 0 0 0.75rem 0;
}

.overlay {
	background: rgba(255, 255, 255, 0.8);
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 1000;
	top: 0px;
	left: 0px;
	justify-content: center;
	align-items: center;
	display: none;
}

.captcha-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.spinner-area {
	display: flex;
	justify-content: center;
}

.spinner {
	animation: spin-anim 1s linear infinite;
	animation-timing-function: ease;
	opacity: 1;
	height: 6rem;
	width: 6rem;
}

@keyframes spin-anim {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.modal-header {
	font-family: 'RobotoBold';
	padding: 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 3rem;
	color: #091E42;
	border-bottom: none;
	margin: 0;
}

.modal-subheader {
	font-family: 'RobotoBold';
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--bs-blue);
	margin-top: 1.5rem;
}

.sign-in-message {
	display: inline-block;
	margin-top: 1rem;
	font-family: 'Roboto';
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5rem;
}

.error-page-message {
	margin-top: 1rem;
	font-family: 'Roboto';
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 2rem;
}

.sign-in-message-bold {
	font-family: 'Roboto';
	font-size: 1rem;
	font-weight: 700;
}

.forgotten-message-bold {
	font-family: 'RobotoBold';
	font-size: 1rem;
	font-weight: 700;
	color: var(--bs-blue);
}

.modal-body {
	padding: 0;
	margin-top: 1.5rem;
}

.first-field {
	margin: 0.5rem 0 1rem 0;
}

.label-container {
	display: flex;
	justify-content: space-between;
}

label {
	font-family: 'Roboto';
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #091E42;
}

.eye {
	position: relative;
	top: 2.5rem;
	right: 2rem;
	cursor: pointer;
	filter: invert(95%) sepia(1%) saturate(5721%) hue-rotate(183deg)
		brightness(82%) contrast(84%);
}

svg path {
	fill: #B3BAC5;
}

input {
	height: 3rem;
	border-radius: 0.5rem !important;
}

.resubmission {
	text-align: center;
	margin-top: 1rem;
}

.resubmission-button {
	font-family: 'Roboto';
	font-size: 1rem;
	font-weight: 500;
	color: #0065FF;
}

.error-message {
	font-family: 'Roboto';
	padding: 1rem;
	height: 3.5rem;
	margin: 0 auto;
	text-align: center;
	color: #333842;
	background-color: #FFEBE5;
	border-color: #FFEBE5;
	font-size: 1rem;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
}

.danger-icon {
	max-width: 1.25rem;
	max-height: 1.25rem;
	filter: invert(26%) sepia(84%) saturate(4032%) hue-rotate(3deg)
		brightness(103%) contrast(105%);
	margin-right: 0.625rem;
}

.error-message-area {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

.forgot-password {
	text-align: left;
	margin-top: 0.813rem;
}

.forgot-password-button {
	font-family: 'Roboto';
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--bs-red);
}

.forgot-password-button:HOVER, .forgot-password-button:ACTIVE,
	.forgot-password-button:VISITED {
	color: var(--bs-red);
}

.btn {
	padding: 0 !important;
}

.button-area {
	text-align: center;
	padding: 0;
	border-top: none;
	margin-top: 2rem;
}

.button-area-login {
	text-align: center;
	padding: 0;
	border-top: none;
	margin-top: 1.65rem;
}

.next-button {
	font-family: 'RobotoBold';
	font-weight: 700;
	width: 100%;
	line-height: 3.063rem;
	background: var(--btn-color);
	border-collapse: collapse;
	border-radius: 0.5rem !important;
	padding: 0;
	font-size: 1rem;
	border-collapse: collapse;
}

.next-button:HOVER, .next-button:ACTIVE, .next-button:VISITED {
	background: var(--btn-color);
}

.next-button:disabled, .next-button[disabled] {
	background: var(--btn-color);
}

.password-created-button {
	font-family: 'RobotoBold';
	font-weight: 700;
	width: 100%;
	line-height: 3.063rem;
	background: var(--btn-color);
	border-collapse: collapse;
	border-radius: 0.5rem !important;
	padding: 0;
	font-size: 1rem;
}

.password-created-button:HOVER, .password-created-button:ACTIVE,
	.password-created-button:VISITED {
	background: var(--btn-color);
}

.logo-container {
	margin-top: 2.5rem;
	text-align: center;
}

.easy-auth {
	max-width: 15.75rem;
}

.password-created {
	max-width: 20rem;
}

@media only screen and (min-width: 600px) {
    .modal-dialog {
        max-width: 30rem;
    }
    .modal-content {
        padding: 2.5rem;
        gap: 0;
        width: 30rem;
        background: var(--bs-white);
        box-shadow: 0.125rem 0.125rem 0.625rem var(--modal-content-box-shadow);
        border-radius: 0.25rem;
    }
}

@media only screen and (max-width: 600px) {
    .modal-dialog {
        max-width: 100%;
    }
    .modal-content {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 2.5rem;
        gap: 0;
        width: 100%;
        background: var(--bs-white);
        border-collapse: collapse !important;
        border: 0 !important;
        border-radius: 0 !important;
        overflow-y: auto;
    }
}

/* Landscape mode for mobile devices - enable scrolling */
@media only screen and (max-width: 900px) and (max-height: 600px) and (orientation: landscape) {
    .modal {
        align-items: flex-start !important;
        padding: 1rem 0;
    }
    
    .modal-dialog {
        max-width: 100%;
        margin: 0 auto;
    }
    
    .modal-content {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        max-width: 30rem;
        margin: 0 auto;
        padding: 1.5rem;
        border-radius: 0.25rem !important;
        overflow-y: visible;
    }
    
    .modal-header {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    
    .modal-subheader {
        font-size: 1.2rem;
        line-height: 1.5rem;
        margin-top: 1rem;
    }
    
    .modal-body {
        margin-top: 1rem;
    }
    
    .logo-container {
        margin-top: 1.5rem;
    }
}

@media only screen and (max-width: 320px) {
    .modal-dialog {
        max-width: 100%;
    }
    
    .modal-content {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 1.5rem;
        gap: 0;
        width: 100%;
        background: var(--bs-white);
        border-collapse: collapse !important;
        border: 0 !important;
        border-radius: 0 !important;
        overflow-y: auto;
    }

	.form-control {
	    height: 2rem !important;
	    border-radius: 0.5rem;
	    border: 0.077rem solid var(--bs-gray);
	    font-size: 0.75rem;
	}
	
	.form-group label {
	    padding: 0 0 0 0.25rem;
	    margin: 0 0 0.75rem 0;
	}
	
	.overlay {
	    background: rgba(255, 255, 255, 0.8);
	    position: fixed;
	    width: 100%;
	    height: 100%;
	    z-index: 1000;
	    top: 0px;
	    left: 0px;
	    justify-content: center;
	    align-items: center;
	    display: none;
	}
	
	.spinner-area {
	    display: flex;
	    justify-content: center;
	}
	
	.spinner {
	    animation: spin-anim 1s linear infinite;
	    animation-timing-function: ease;
	    opacity: 1;
	    height: 6rem;
	    width: 6rem;
	}
	
	@keyframes spin-anim {
	    0% {
	        transform: rotate(0deg);
	    }
	    100% {
	        transform: rotate(360deg);
	    }
	}
	
	.modal-header {
	    font-family: 'RobotoBold';
	    padding: 0;
	    font-size: 1.5rem;
	    font-weight: 700;
	    line-height: 2rem;
	    color: #091E42;
	    border-bottom: none;
	    margin: 0;
	}
	
	.modal-subheader {
	    font-family: 'RobotoBold';
	    font-weight: 700;
	    font-size: 1.2rem;
	    line-height: 1.5rem;
	    color: var(--bs-blue);
	    margin-top: 1rem;
	}
	
	.sign-in-message {
	    display: inline-block;
	    margin-top: 0.75rem;
	    font-family: 'Roboto';
	    font-weight: 400;
	    font-size: 0.75rem;
	    line-height: 1rem;
	}
	
	.error-page-message {
	    margin-top: 0.75rem;
	    font-family: 'Roboto';
	    font-weight: 400;
	    font-size: 1rem;
	    line-height: 1.5rem;
	}
	
	.sign-in-message-bold {
	    font-family: 'Roboto';
	    font-size: 0.75rem;
	    font-weight: 400;
	}
	
	.forgotten-message-bold {
	    font-family: 'RobotoBold';
	    font-size: 0.75rem;
	    font-weight: 700;
	    color: var(--bs-blue);
	}
	
	.modal-body {
	    padding: 0;
	    margin-top: 1rem;
	}
	
	.first-field {
	    margin: 0.5rem 0 0.75rem 0;
	}
	
	.label-container {
	    display: flex;
	    justify-content: space-between;
	}
	
	label {
	    font-family: 'Roboto';
	    font-size: 0.75rem;
	    font-weight: 700;
	    margin-bottom: 0.75rem;
	    color: #091E42;
	}
	
	.eye {
	    position: relative;
	    top: 2rem;
	    right: 2rem;
	    cursor: pointer;
	    filter: invert(95%) sepia(1%) saturate(5721%) hue-rotate(183deg)
	        brightness(82%) contrast(84%);
	}
	
	svg path {
	    fill: #B3BAC5;
	}
	
	input {
	    height: 2rem;
	    border-radius: 0.3rem !important;
	}
	
	.resubmission {
	    text-align: center;
	    margin-top: 0.75rem;
	}
	
	.resubmission-button {
	    font-family: 'Roboto';
	    font-size: 0.75rem;
	    font-weight: 500;
	    color: #0065FF;
	}
	
	.error-message {
	    font-family: 'Roboto';
	    padding: 1rem;
	    height: 2.5rem;
	    margin: 0 auto;
	    text-align: center;
	    color: #333842;
	    background-color: #FFEBE5;
	    border-color: #FFEBE5;
	    font-size: 0.75rem;
	    font-weight: 500;
	    display: flex;
	    justify-content: center;
	    align-content: center;
	    align-items: center;
	}
	
	.danger-icon {
	    max-width: 1.25rem;
	    max-height: 1.25rem;
	    filter: invert(26%) sepia(84%) saturate(4032%) hue-rotate(3deg)
	        brightness(103%) contrast(105%);
	    margin-right: 0.625rem;
	}
	
	.error-message-area {
	    display: flex;
	    justify-content: center;
	    margin-top: 1rem;
	}
	
	.forgot-password {
	    text-align: left;
	    margin-top: 0.75rem;
	}
	
	.forgot-password-button {
	    font-family: 'Roboto';
	    font-size: 0.65rem;
	    font-weight: 400;
	    color: var(--bs-red);
	}
	
	.forgot-password-button:HOVER, .forgot-password-button:ACTIVE,
	    .forgot-password-button:VISITED {
	    color: var(--bs-red);
	}
	
	.btn {
	    padding: 0 !important;
	}
	
	.button-area {
	    text-align: center;
	    padding: 0;
	    border-top: none;
	    margin-top: 1.5rem;
	}
	
	.button-area-login {
	    text-align: center;
	    padding: 0;
	    border-top: none;
	    margin-top: 1.25rem;
	}
	
	.next-button {
	    font-family: 'RobotoBold';
	    font-weight: 700;
	    width: 100%;
	    line-height: 2rem;
	    background: var(--btn-color);
	    border-collapse: collapse;
	    border-radius: 0.5rem !important;
	    padding: 0;
	    font-size: 0.75rem;
	    border-collapse: collapse;
	}
	
	.next-button:HOVER, .next-button:ACTIVE, .next-button:VISITED {
	    background: var(--btn-color);
	}
	
	.next-button:disabled, .next-button[disabled] {
	    background: var(--btn-color);
	}
	
	.password-created-button {
	    font-family: 'RobotoBold';
	    font-weight: 700;
	    width: 100%;
	    line-height: 2rem;
	    background: var(--btn-color);
	    border-collapse: collapse;
	    border-radius: 0.5rem !important;
	    padding: 0;
	    font-size: 0.75rem;
	}
	
	.password-created-button:HOVER, .password-created-button:ACTIVE,
	    .password-created-button:VISITED {
	    background: var(--btn-color);
	}
	
	.logo-container {
	    margin-top: 1.75rem;
	    text-align: center;
	}
	
	.easy-auth {
	    max-width: 15.75rem;
	}
	
	.password-created {
	    max-width: 20rem;
	}
}