/*Elements*/
html, body {
	height: 100%;
	overflow-y: hidden;
	overflow-x: hidden;
	width: 100%;
	background: #101727;
}

h1{
	font-weight: 600;
	color: #FFFFFF;
	font-size: 36px;
}

h5 {
	color: #FFFFFF;
}

p {
	color: #FFFFFF;
}

/* Forms */
.form-control, .form-control:focus {
	color: #FFFFFF;
	font-size: 20px;
	text-align: center;
	border: none;
}

.auth-sub-heading {
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

.aligned-form-row{
	justify-content: center;
	width: 100%;
}

.centered-form{
	display: flex;
	flex-direction: column;
	align-items: center;
}

.forgot-link-container{
	text-align:center;
	font-size: 20px;
	margin-top: 5px;
	padding: 0 14px;
}

.auth-welcome-message {
	text-align: center;
	font-size: 20px;
	margin-bottom: 20px;
}

.login-button-row {
	margin: 0;
}

.forgot-link-container a {
	color: #27B9F8;
}

/* CSS for feature boxes */
.feature-boxes {
	position: absolute;
    display: flex;
    justify-content: center; /* Center the feature boxes horizontally */
    align-items: flex-start; /* Align the feature boxes at the top of the container */
    height: 100%; /* Ensure the container takes up the full height */
    width: 120%; /* Make the feature boxes layer wider than its parent */
    top: 0;
    left: 50%; /* Adjust as needed */
    transform: translateX(-50%); /* Center the layer horizontally */
    overflow-x: hidden; /* Hide horizontal overflow */
	z-index: 2;
}

.feature-box-container {
    display: flex;
    flex-wrap: wrap; /* Allow the feature boxes to wrap into multiple rows */
    gap: 10px; /* Add some space between the feature boxes */
	width: 100%;
	align-items: center;
}


.hidden-feature-boxes .svg-container {
	position: absolute;
}

.feature-boxes {
	z-index: 2;
}

.feature-boxes .svg-container {
	cursor: pointer;
	pointer-events: all;
}

/* Base layer */
.base-layer {
	position: relative;
	background-color: #101727;
	width: 100%;
	height: 100vh; /* Ensure the div takes up the full viewport height */
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	z-index: 1;
}


/* Header */
.auth-header {
	display: flex;
	padding: 0 20px 12px 20px;
	height: 104px;
	color: #757575;
	z-index: 3;
}

.main-content {
	flex-grow: 2;
	background: linear-gradient(180deg, #101727 0%, #101727 67.73%, rgba(16, 23, 39, 0) 100%);
	z-index: 3;
	pointer-events: all;
}

.auth-content {
	z-index: 3;
}

.base-layer {
	z-index: 1;
	position: absolute;
	width: 100%; /* Adjust as needed */
	height: 100%; /* Adjust as needed */
	top: 0;
	left: 0;
	z-index: 1
}

#main-content{
	display: flex;
	flex-direction: column;
}

.feature-icon-selected {
	cursor: pointer;
}

.selected-feature {
	display: flex;
	z-index: 3;
	cursor: pointer !important;
	pointer-events: all !important;
}

.vertically-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.feature-component {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: 24px 0px 0px 0px;
	border: 1px 0px 0px 0px;
	opacity: 0px;
}

.modal-content {
	background-color: #101727;
	border-radius: 24px;
}

.modal-header, .modal-footer {
	border: none;
}

.modal-backdrop {
    display: none !important;
}

#feature-modal {
    display: flex;
    justify-content: center;
	padding: 0;
	border-radius: 24px;
}

#feature-modal .modal-content {
	background-color: #101727;
	padding: 0;
	margin: 0;
	border: 1px solid #4E5672;
	border-radius: 24px;
}

#feature-modal .modal-body {
	background-color: #101727;
	gap: 0px;
	opacity: 0px;
	padding: 0;
	margin: 0;
	height: 100px;
	border-radius: 24px;
}




/* Flex container */
.flex-row {
    display: flex;
    flex-direction: row;
}

/* Left column for SVG */
.svg-column {
    align-items: flex-start; /* Align content at the start */
    padding-right: 20px; /* Adjust spacing between columns */
}

/* Right column for text */
.text-column {
    flex: 1; /* Take up all available space */
    padding-left: 0; /* Adjust spacing between columns */
	padding-top: 10px;
}

/* Modal title */
.modal-title {
    font-size: 1.25rem; /* Adjust title font size */
    margin-bottom: 0; /* Add some space below title */
}

/* Modal text */
.modal-text {
    font-size: 1rem; /* Adjust text font size */
}





/*Logo and Header*/
.logo {
	width: 40px;
}

.logo-title{
	font-weight: 400;
}

.news-placeholder {
	text-align: right;
	font-size: 10px;
	padding-top: 10px;
}

.logo-container{
	display: flex;
	align-items: end;
}

.news-alert-bar {
	height: 37px;
	background: linear-gradient(90deg, #1FF6D4 -0.42%, #28ABFB 99.69%);
}

.contact-details {
	margin-bottom: 0;
	white-space: nowrap;
}

.contact-details a {
	color: #FFFFFF !important;
	font-size: 16px;
	font-weight: 400;
}

/*Titles and Labels*/
.auth-heading {
	padding-bottom: 20px;
	align-items: baseline;
	text-align: center;
}

.auth-heading h1 .gradient-heading {
	background: linear-gradient(135deg, #1FFCD1, #28ABFB); /* Define the gradient colors */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

.auth-pre-heading {
	color: #4E5672;
	font-size: 16px;
	font-weight: 600;
}

.auth-sub-heading{
	color: #535353;
	text-align: center;
}

.auth-contact-details p {
	margin-bottom: 0;
}

.form-label, .centered-form-label{
	font-size: 1.1em;
	color: #353535;
}

.centered-form-label{
	text-align: right;
}

/*Form Components*/
.comments-box{
	resize: none;
}

input.form-control {
	height: 65px;
	font-weight: 600;
	background: linear-gradient(#181E2F, #2A2C3B);
	z-index: 1;
}

input.form-control:focus {
	background: linear-gradient(#181E2F, #2A2C3B);
	box-shadow: none;
	outline: none;
}

input.form-control, 
.input-wrapper {
	position: relative;
	border-radius: 12px;
}

.input-wrapper::before {
	position: absolute;
	content: "";
	inset: -1px -1px -1px -1px;
	border-radius: 12px;
	background: #4E5672;
	z-index: -1;
}

.input-wrapper::after {
	position: absolute;
	content: "";
	inset: -1px -1px -1px -1px;
	border-radius: 12px;
	background: linear-gradient(135deg, #1FFCD1, #28ABFB);
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: -1;
}

.input-wrapper:focus-within::after {
	opacity: 1;
	transition: opacity 0.3s ease;
}

.input-wrapper:focus-within::before {
	background: linear-gradient(135deg, #1FFCD1, #28ABFB);
}

/*Return Arrow*/
.return-arrow {
	position: relative;
	cursor: pointer;
}

#header-title {
	cursor: pointer;
	margin-bottom: 0;
}

/* Primary Button Override */
.btn-primary{
	background: #28ABFB;
	color:#FFF;
	font-weight: 600;
	font-size: 20px;
	transition: color, 0.2s, background-color, 0.2s;
	width: Hug (120px)px;
	height: Hug (36px)px;
	top: 20px;
	left: 33px;
	padding: 6px 20px 6px 20px;
	gap: 10px;
	border-radius: 5px;
	border: none;
	box-shadow: none;
	opacity: 0px;	
}

.btn-primary:hover, .btn-primary.focus, .btn-primary:focus{
	background: #6AC7FF;
	border: none;
	box-shadow: none;
}

.btn-primary.disabled,.btn-primary:disabled{
	color:#00A4EB;
	background-color:#FFF;
	border-color:#00A4EB;
}
.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{
	color:#FFF;
	background-color:#00A4EB;
	border-color:#005980;
}

/* Secondary Button Override */
.btn-secondary{
	color: #28ABFB;
	background: none;
	border: none;
	text-align: center;
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	transition: color, 0.2s, background-color, 0.2s;
	width: Hug (173px)px;
	height: Hug (24px)px;
	top: 74px;
	left: 20px;
	gap: 3px;
	opacity: 0px;
}

.btn-secondary:hover, .btn-secondary.focus, .btn-secondary:focus{
	background: none;
	border: none;
}

.auth-header {
	background: #161D2E;
	color: #FFFFFF;
}

#help_block {
	color: #FF1741;
}

/*MEDIA QUERIES*/
@media only screen and (max-width: 768px) {
	.centered-form-label {
		text-align: left;
	}

	.feature-box-container {
        max-width: calc(100% - 30px);
    }

	h1 {
        font-size: 32px;
    }

	h3:not(h3#header-title),
	.form-control,
	.form-control:focus {
		font-size: 16px;
	}
	
	.forgot-link-container,
	.auth-contact-details {
		font-size: 15px;
	}

	p,
	.contact-details a,
	.auth-pre-heading {
		font-size: 14px;
	}

	.news-alert-bar {
		display: none;
	}

	.modal-text {
		font-size: 14px;
	}

	.modal-title {
		font-size: 16px;

	}
}

@media only screen and (min-width: 768px) {
	.col-md-4 {
		display: flex;
		align-items: start;
		-ms-flex: 0 0 756px;
    	flex: 0 0 756px;
    	max-width: 756px;
	}

	#login_form {
		margin-top: 20px;
	}
}

@media only screen and (max-height: 775px) {
	.auth-header {
		height: 56px;
	}
}