@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap");

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "Poppins", sans-serif;
}

body {
	min-height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/BG-LOGIN-EREKON.jpg) no-repeat;
	background-size: contain;
	background-position: center;
	background-color: #000;
}

.box {
	position: relative;
	width: 380px;
	height: 450px;
	background: #1c1c1c;
	border-radius: 8px;
	overflow: hidden;
}

.box::before {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 380px;
	height: 420px;
	background: linear-gradient(
		0deg,
		transparent,
		transparent,
		#eb0029,
		#eb0029,
		#eb0029
	);
	z-index: 1;
	transform-origin: bottom right;
	animation: animate 6s linear infinite;
}

.box::after {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 380px;
	height: 420px;
	background: linear-gradient(
		0deg,
		transparent,
		transparent,
		#0082c6,
		#0082c6,
		#0082c6
	);
	z-index: 1;
	transform-origin: bottom right;
	animation: animate 6s linear infinite;
	animation-delay: -3s;
}

.borderLine {
	position: absolute;
	top: 0;
	inset: 0;
}

.borderLine::before {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 380px;
	height: 420px;
	background: linear-gradient(
		0deg,
		transparent,
		transparent,
		#00a859,
		#00a859,
		#00a859
	);
	z-index: 1;
	transform-origin: bottom right;
	animation: animate 6s linear infinite;
	animation-delay: -1.5s;
}

.borderLine::after {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 380px;
	height: 420px;
	background: linear-gradient(
		0deg,
		transparent,
		transparent,
		#ffff00,
		#ffff00,
		#ffff00
	);
	z-index: 1;
	transform-origin: bottom right;
	animation: animate 6s linear infinite;
	animation-delay: -4.5s;
}

@keyframes animate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* FORM PENUTUP */
.box form {
	position: absolute;
	inset: 4px;
	background: #222;
	padding: 50px 40px;
	border-radius: 8px;
	z-index: 2;
	display: flex;
	flex-direction: column;
}

.box form h2 {
	position: relative;
	color: #fff;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.1em;
	margin-top: -3%;
}

.box form .inputBox {
	position: relative;
	width: 300px;
	margin-top: 15px;
}

.box form .inputBox input {
	position: relative;
	width: 100%;
	padding: 20px 10px 10px;
	background: transparent;
	outline: none;
	border: none;
	box-shadow: none;
	color: #ffffff;
	font-size: 1em;
	letter-spacing: 0.05em;
	transition: 0.5s;
	z-index: 10;
}

.box form .inputBox span {
	position: absolute;
	left: 0;
	padding: 20px 10px 10px;
	pointer-events: none;
	color: #8f8f8f;
	font-size: 1em;
	letter-spacing: 0.05em;
	transition: 0.5s;
}

.box form .inputBox input:valid ~ span,
.box form .inputBox input:focus ~ span {
	color: #fff;
	font-size: 0.75em;
	transform: translateY(-34px);
}

.box form .inputBox i {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: #8a0000;
	border-radius: 4px;
	overflow: hidden;
	transition: 0.5s;
	pointer-events: none;
}

.box form .inputBox input:valid ~ i,
.box form .inputBox input:focus ~ i {
	height: 44px;
}

.selectBox {
	position: relative;
	width: 300px;
	margin-top: 20px;
}

.selectBox select {
	width: 100%;
	padding: 10px;
	background: #1c1c1c;
	color: #ffffff;
	border: none;
	border-radius: 5px;
	font-size: 1em;
	outline: none;
	appearance: none;
	transition: all 0.3s ease;
}

.selectBox i {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: #8a0000;
	border-radius: 4px;
	overflow: hidden;
	transition: 0.5s;
	pointer-events: none;
}

.selectBox select:hover {
	background-color: #8a0000;
}

.selectBox::after {
	content: "\25BC";
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	color: #8a0000;
	font-size: 1em;
	pointer-events: none;
}

.selectBox select:focus {
	border: 2px solid #8a0000;
}

.selectBox select:focus-visible {
	outline: none;
}

.box form .links {
	display: flex;
	justify-content: space-between;
}

.box form .links a {
	margin: 10px 0;
	font-size: 0.75em;
	color: #8f8f8f;
	text-decoration: none;
}

.box form .links a:hover,
.box form .links a:nth-child(2) {
	color: #fff;
}

.submit-btn {
	background: #8a0000;
	color: white;
	height: 50px;
	border: none;
	outline: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.submit-btn:hover {
	background: #a00000;
	transform: translateY(-2px);
}

.btn.btn-primary3 {
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.5);
	color: #8a0000;
	width: 150px;
	height: 50px;
	vertical-align: middle;
	text-align: center;
	font-size: 100px;
	padding: 10px;
	border-radius: 5px;
}

.btn.btn-primary3:hover {
	border-color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 768px) {
	body {
		background: url(../img/BG-LOGIN-EREKON-750x1334px.jpg) no-repeat center
			center;
		background-size: cover;
	}
}

@media (min-width: 769px) and (max-width: 1200px) {
	body {
		background: url(../img/BG-LOGIN-EREKON-1200x1920px.jpg) no-repeat center
			center;
		background-size: cover;
	}
}

@media (min-width: 1920px) {
	body {
		background-image: url("asset/img/BG-LOGIN-EREKON.jpg");
		background-size: auto;
		background-position: center;
		background-color: #fff;
	}
}
