body {
	max-height: 100vh;
	max-width: 100vw;
	height: 100%;
	margin: 0;
	padding: 0;

	overflow: hidden;

	background-image: url("../images/top_banner_space_full.webp");
	background-repeat: no-repeat;
	background-size: cover;
}

.container {
	-webkit-box-shadow: rgba(0, 212, 255) 0px 0px 50px -15px;
	box-shadow: rgba(0, 212, 255) 0px 0px 50px -15px;

	.form-wrap {
		height: 100%;
	}
}

.container-table {
	width: 100%;
	height: 100%;
}

.container {
	border: white solid 0.2rem;
	border-radius: 2rem;
	width: 40vw;
	height: 90vh;
	margin: 5vh auto !important;
	backdrop-filter: blur(7px);

	.choose-row {
		.auth-wrap {
			padding: 2vh;
			border-right: 0.1rem white solid;
			border-radius: 2rem 0rem 0rem 0rem;
			justify-content: center;
		}

		.sign-up-wrap {
			padding: 2vh;
			border-left: 0.1rem white solid;
			border-radius: 0rem 2rem 0rem 0rem;
			justify-content: center;
		}
	}

	.btn-container {
		justify-content: center;
	}
}

.row.auth,
.row.sign-up {
	height: 80vh;
	justify-content: center;
	align-items: center;
	border-top: 0.2rem solid #fff;
	overflow: scroll;
	-ms-overflow-style: none;

	&::-webkit-scrollbar {
		width: 0;
	}

	.auth-card,
	.sign-up-card {
		margin: 0 auto;
		padding: 0 !important;
		align-self: center;
	}
}

.error {
	font-size: 0.7rem !important;
	text-align: left;
	padding: 0 2%;
	margin: 0;
	border-left: 0.1rem var(--red-600) solid;
	color: white;
}

.logo {
	height: 50px;
	width: 50px;
}

ul.errorlist {
	padding: 5px;
	list-style-type: none;
	color: white;
	background-color: var(--color-violet-pastel-darker);
	border: var(--color-blue-pastel-darker) solid 0.2rem;
}

.input-container {
	margin: auto;
	padding: 2%;
	background: linear-gradient(14deg, var(--purple-400) 0%, var(--indigo-500) 66%, var(--deep-purple-300) 100%),
		radial-gradient(circle, var(--deep-purple-400) 0%, var(--purple-400) 65%, var(--indigo-400) 100%);
	border: 0.1rem white solid;
	border-radius: 1rem;
	max-width: min-content;
	/* width: fit-content; */
}

.input-wrap {
	width: auto;
	margin: 0 auto 0.5rem auto;
	/* margin-bottom: .5rem; */
}

.input-group {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding-left: 0;

	.input {
		margin-top: 2rem;
		font-size: 1rem;
		display: block;
		border: none;
		border-bottom: 0.1rem white solid;
		background: transparent;
		color: white;
	}

	.input:hover ~ label {
		color: var(--amber-400);
	}

	.input:focus {
		outline: none;
	}

	.input.valid {
		border-left: 0.1rem var(--green-600) solid;
	}

	.input.invalid {
		border-left: 0.1rem var(--red-600) solid;
	}

	label {
		width: max-content;
		color: white;
		font-weight: normal;
		position: absolute;
		pointer-events: none;
		left: 5px;
		top: -5px;
		transition: 0.2s ease all;
		-moz-transition: 0.2s ease all;
		-webkit-transition: 0.2s ease all;
	}

	.input:focus {
		caret-color: var(--amber-a400);
		border: none;
		transition: 0.2s ease all;
		-moz-transition: 0.2s ease all;
		-webkit-transition: 0.2s ease all;

		~ label {
			top: -0.4rem;
			font-size: 1rem;
			color: var(--amber-a400);
		}
	}

	.bar {
		display: contents;
		position: absolute;
		bottom: 0.3rem;
		/* width: 200px; */
	}

	.bar:before,
	.bar:after {
		content: "";
		height: 2px;
		width: 0;
		bottom: 0.4rem;
		position: absolute;
		background: var(--amber-400);
		transition: 0.2s ease all;
		-moz-transition: 0.2s ease all;
		-webkit-transition: 0.2s ease all;
	}

	.bar:before {
		left: 50%;
		margin-top: 2rem;
	}

	.bar:after {
		right: 50%;
		margin-top: 2rem;
	}

	.input:focus ~ .bar:before,
	.input:focus ~ .bar:after {
		width: 50%;
	}

	.highlight {
		position: absolute;
		height: 60%;
		width: 100px;
		top: 25%;
		left: 0;
		pointer-events: none;
		opacity: 0.5;
	}

	.input:focus ~ .highlight {
		animation: inputHighlighter 0.3s ease;
	}

	@keyframes inputHighlighter {
		from {
			background: #5264ae;
		}

		to {
			width: 0;
			background: transparent;
		}
	}
}

.input-wrap.captcha iframe {
	width: 100% !important;
	height: auto !important;
}

.row.homepage-link {
	position: absolute;
	bottom: 0px;
	width: 100%;
	margin: auto;
	text-align: center;
}

.tab-default {
	display: flex;
	position: relative;
	z-index: 1;
	overflow: hidden;

	/* padding:  0.375rem 0.75rem; */
	/* width: max-content; */

	color: white;
	/* background-color: var(--purple-800); */
	/* border: var(--purple-200) solid 0.1rem; */
	/* border-radius: 0.3rem; */

	font-size: calc(0.2rem + 1vw);
	font-weight: 500;
	text-shadow: 0.1rem 0.1rem 0.2rem var(--deep-purple-900);

	transition: color 0.5s;
}

.tab-default:before {
	content: "";
	position: absolute;
	z-index: -1;
	height: 20rem;
	width: 40rem;

	background: var(--indigo-500);
	border-radius: 50%;
}

.tab-default:hover {
	border-color: var(--amber-600);
	text-shadow: 0.1rem 0.1rem 0.2rem var(--purple-600);
}

.tab-default:before {
	top: 100%;
	left: 100%;
	transition: all 0.9s;
}

.tab-default:hover:before,
.tab-default.active:before {
	top: -10rem;
	left: -10rem;
}

.form {
	position: relative;
	display: block;
	padding: 1vh 1vw;
	/* max-width: 350px; */
	/* background: linear-gradient(14deg, var(--purple-400) 0%, 
                                var(--indigo-500) 66%,
                                var(--deep-purple-300) 100%), 
                radial-gradient(circle, 
                                var(--deep-purple-400) 0%,
                                var(--purple-400) 65%, 
                                var(--indigo-400) 100%); */
	/* -webkit-box-shadow: rgba(0,212,255) 0px 0px 50px -15px;
    box-shadow: rgba(0,212,255) 0px 0px 50px -15px; */
	overflow: hidden;
	z-index: +1;
}

/*------input and submit section-------*/

.input-container {
	position: relative;
}

.input-container input,
.form button {
	outline: none;
	border: 2px solid #ffffff;
	margin: 8px 0;
	/* font-family: monospace; */
}

.input-container input {
	background-color: #fff;
	padding: 6px;
	font-size: 0.875rem;
	line-height: 1.25rem;
	width: 250px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.input-mail:focus::placeholder {
	opacity: 0;
	transition: opacity 0.9s;
}

.input-pwd:focus::placeholder {
	opacity: 0;
	transition: opacity 0.9s;
}

.submit {
	position: relative;
	display: block;
	padding: 8px;
	background-color: #c0c0c0;
	color: #ffffff;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 500;
	width: 100%;
	text-transform: uppercase;
	overflow: hidden;
}

.submit:hover {
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	border-radius: 3.9px;
	box-shadow: 4px 5px 17px -4px #ffffff;
	cursor: pointer;
}

.submit:hover::before {
	-webkit-animation: sh02 0.5s 0s linear;
	-moz-animation: sh02 0.5s 0s linear;
	animation: sh02 0.5s 0s linear;
}

.submit::before {
	content: "";
	display: block;
	width: 0px;
	height: 85%;
	position: absolute;
	top: 50%;
	left: 0%;
	opacity: 0;
	background: #fff;
	box-shadow: 0 0 50px 30px #fff;
	-webkit-transform: skewX(-20deg);
	-moz-transform: skewX(-20deg);
	-ms-transform: skewX(-20deg);
	-o-transform: skewX(-20deg);
	transform: skewX(-20deg);
}

@keyframes sh02 {
	from {
		opacity: 0;
		left: 0%;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
		left: 100%;
	}
}

/*--------signup section---------*/

.signup-link {
	color: #c0c0c0;
	font-size: 0.875rem;
	line-height: 1.25rem;
	text-align: center;
	/* font-family: monospace; */
}

.signup-link a {
	color: #fff;
	text-decoration: none;
}

.up:hover {
	text-decoration: underline;
}

/*--------header section-----------*/

.form-title {
	margin-bottom: 1vh;
	font-size: 1.25rem;
	line-height: 1.75rem;
	/* font-family: monospace; */
	font-weight: 600;
	text-align: center;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
	animation-duration: 1.5s;
	overflow: hidden;
	transition: 0.12s;
}

.form-title span {
	animation: flickering 2s linear infinite both;
}

.title-2 {
	display: block;
	margin-top: -0.5rem;
	font-size: 2.1rem;
	font-weight: 800;
	/* font-family: Arial, Helvetica, sans-serif; */
	text-align: center;
	-webkit-text-stroke: #fff 0.1rem;
	letter-spacing: 0.2rem;
	color: transparent;
	position: relative;
	text-shadow: 0px 0px 16px #cecece;
}

.title-2 span::before,
.title-2 span::after {
	content: "—";
}

@keyframes flickering {
	0%,
	100% {
		opacity: 1;
	}

	41.99% {
		opacity: 1;
	}

	42% {
		opacity: 0;
	}

	43% {
		opacity: 0;
	}

	43.01% {
		opacity: 1;
	}

	47.99% {
		opacity: 1;
	}

	48% {
		opacity: 0;
	}

	49% {
		opacity: 0;
	}

	49.01% {
		opacity: 1;
	}
}

/*---------shooting stars-----------*/
.bg-stars {
	position: absolute;
	top: 0;
	left: 0;
	width: 40vw;
	height: 80vh;
	z-index: -2;
	background-size: cover;
	animation: animateBg 50s linear infinite;
}

@keyframes animateBg {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.2);
	}
}

.star {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1), 0 0 0 8px rgba(255, 255, 255, 0.1), 0 0 20px rgba(255, 255, 255, 0.1);
	animation: animate 3s linear infinite;
}

.star::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 300px;
	height: 1px;
	background: linear-gradient(90deg, #fff, transparent);
}

@keyframes animate {
	0% {
		transform: rotate(315deg) translateX(0);
		opacity: 1;
	}

	70% {
		opacity: 1;
	}

	100% {
		transform: rotate(315deg) translateX(-100rem);
		opacity: 0;
	}
}

.star:nth-child(1) {
	top: 0;
	right: 0;
	left: initial;
	animation-delay: 0s;
	animation-duration: 2s;
}

.star:nth-child(2) {
	top: 0;
	right: 10rem;
	left: initial;
	animation-delay: 0.2s;
	animation-duration: 3s;
}

.star:nth-child(3) {
	top: 0;
	right: 20rem;
	left: initial;
	animation-delay: 2.75s;
	animation-duration: 2.75s;
}

.star:nth-child(4) {
	top: 0;
	right: -30rem;
	left: initial;
	animation-delay: 1.6s;
	animation-duration: 1.6s;
}

@media (max-width: 769px) {
	.container {
		width: 80vw;
	}

	.auth-wrap,
	.sign-up-wrap,
	.btn-container > button {
		font-size: calc(0.6rem + 1vw);
	}
}
@media (max-width: 426px) {
	.container {
		width: 90vw;
		height: 90vh;
	}

	input {
		font-size: 1.2rem;
	}

	label {
		font-size: 1.5rem;
	}
}
@media (max-width: 320px) {
	.container {
		width: 95vw;
	}
}

.hidden {
	display: block;
}
