*,
*:before,
*:after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	font-size: 62.5%;
	height: 100%;
	overflow: hidden;
}

@media (max-width: 768px) {

	html,
	body {
		font-size: 50%;
	}
}

svg {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	overflow: visible;
}

.svg-icon {
	cursor: pointer;
}

.svg-icon path {
	stroke: rgba(255, 255, 255, 0.9);
	fill: none;
	stroke-width: 1;
}

input,
button {
	outline: none;
	border: none;
}

.mit-logo {
	background-image: url("../../assets/images/michu-it_logo_weiss.png");
	width: 104px;
	height: 60px;
	background-size: contain;
	margin-top: 30px;
	background-repeat: no-repeat;
}

.container {
	position: relative;
	height: 100%;
	background-image: url("../../assets/images/MITbg.jpg");
	background-size: cover;
	overflow: auto;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
}

.row {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -15rem;
	margin-top: -26.5rem;
	width: 30rem;
	height: 53rem;
	overflow: hidden;
}

.login {
	position: relative;
	height: 100%;
	background: -webkit-linear-gradient(top, rgba(113, 113, 113, 0.8) 0%, rgba(0, 0, 0, 0.6) 100%);
	background: linear-gradient(to bottom, rgb(96 121 148 / 80%) 0%, rgb(2 24 47 / 65%) 100%);
	-webkit-transition: opacity 0.1s, -webkit-transform 0.3s cubic-bezier(0.17, -0.65, 0.665, 1.25);
	transition: opacity 0.1s, -webkit-transform 0.3s cubic-bezier(0.17, -0.65, 0.665, 1.25);
	transition: opacity 0.1s, transform 0.3s cubic-bezier(0.17, -0.65, 0.665, 1.25);
	transition: opacity 0.1s, transform 0.3s cubic-bezier(0.17, -0.65, 0.665, 1.25), -webkit-transform 0.3s cubic-bezier(0.17, -0.65, 0.665, 1.25);
	-webkit-transform: scale(1);
	transform: scale(1);
}

.login.inactive {
	opacity: 0;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.login__lock {
	position: absolute;
	/*top: 8rem;*/
	left: 10rem;
	width: 14rem;
	height: 2.8rem;
	font-size: 128px;

}

@media screen and (min-width: 769px) {
	.login__lock {
		font-size: 152px;
	}
}

.login__check {
	position: absolute;
	top: 16rem;
	left: 13.5rem;
	width: 14rem;
	height: 2.8rem;
	background: #fff;
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.login__check:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 2.8rem;
	height: 5.2rem;
	background: #fff;
	box-shadow: inset -0.2rem -2rem 2rem rgba(0, 0, 0, 0.2);
}

.login__form {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 50%;
	padding: 1.5rem 2.5rem;
	text-align: center;
}

.login__row {
	height: 5rem;
	padding-top: 1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.login__icon {
	margin-bottom: -0.4rem;
	margin-right: 0.5rem;
}

.login__icon.name path {
	stroke-dasharray: 73.50196075439453;
	stroke-dashoffset: 73.50196075439453;
	-webkit-animation: animatePath 2s 0.5s forwards;
	animation: animatePath 2s 0.5s forwards;
}

.login__icon.pass path {
	stroke-dasharray: 92.10662841796875;
	stroke-dashoffset: 92.10662841796875;
	-webkit-animation: animatePath 2s 0.5s forwards;
	animation: animatePath 2s 0.5s forwards;
}

.login__input {
	display: inline-block;
	width: 22rem;
	height: 100%;
	padding-left: 1.5rem;
	font-size: 1.5rem;
	background: transparent;
	color: #FDFCFD;
}

.login__submit {
	position: relative;
	width: 100%;
	height: 4rem;
	margin: 5rem 0 2.2rem;
	color: rgba(255, 255, 255, 0.8);
	background: #383838;
	font-size: 1.5rem;
	border-radius: 3rem;
	cursor: pointer;
	overflow: hidden;
	-webkit-transition: width 0.3s 0.15s, font-size 0.1s 0.15s;
	transition: width 0.3s 0.15s, font-size 0.1s 0.15s;
}

.login__submit:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -1.5rem;
	margin-top: -1.5rem;
	width: 3rem;
	height: 3rem;
	border: 2px dotted #fff;
	border-radius: 50%;
	border-left: none;
	border-bottom: none;
	-webkit-transition: opacity 0.1s 0.4s;
	transition: opacity 0.1s 0.4s;
	opacity: 0;
}

.login__submit.processing {
	width: 4rem;
	font-size: 0;
}

.login__submit.processing:after {
	opacity: 1;
	-webkit-animation: rotate 0.5s 0.4s infinite linear;
	animation: rotate 0.5s 0.4s infinite linear;
}

.login__submit.success {
	-webkit-transition: opacity 0.1s 0.3s, background-color 0.1s 0.3s, -webkit-transform 0.3s 0.1s ease-out;
	transition: opacity 0.1s 0.3s, background-color 0.1s 0.3s, -webkit-transform 0.3s 0.1s ease-out;
	transition: transform 0.3s 0.1s ease-out, opacity 0.1s 0.3s, background-color 0.1s 0.3s;
	transition: transform 0.3s 0.1s ease-out, opacity 0.1s 0.3s, background-color 0.1s 0.3s, -webkit-transform 0.3s 0.1s ease-out;
	-webkit-transform: scale(30);
	transform: scale(30);
	opacity: 0.9;
}

.login__submit.success:after {
	-webkit-transition: opacity 0.1s 0s;
	transition: opacity 0.1s 0s;
	opacity: 0;
	-webkit-animation: none;
	animation: none;
}

.login__signup {
	font-size: 1.2rem;
	color: #ABA8AE;
}

.login__signup a {
	color: #fff;
	cursor: pointer;
}

.ripple {
	position: absolute;
	width: 15rem;
	height: 15rem;
	margin-left: -7.5rem;
	margin-top: -7.5rem;
	background: rgba(0, 0, 0, 0.4);
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-animation: animRipple 0.4s;
	animation: animRipple 0.4s;
	border-radius: 50%;
}

@-webkit-keyframes animRipple {
	to {
		-webkit-transform: scale(3.5);
		transform: scale(3.5);
		opacity: 0;
	}
}

@keyframes animRipple {
	to {
		-webkit-transform: scale(3.5);
		transform: scale(3.5);
		opacity: 0;
	}
}

@-webkit-keyframes rotate {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes rotate {
	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-webkit-keyframes animatePath {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes animatePath {
	to {
		stroke-dashoffset: 0;
	}
}