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

body{
	font-family: 'Poppins', sans-serif;
	overflow: hidden;
}
header {
	display: none;
}

#img-portalfox{
	margin-top: 450px;
  margin-right: 200px;
	width: 300px;
	position: absolute;
}
.title {
	font-size: 1.5rem!important;
}

.wave{
	position: fixed;
	bottom: 0;
	left: 0;
	height: 100%;
	z-index: -1;
}

.container{
	width: 100vw;
	height: 100vh;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap :7rem;
	padding: 0 2rem;
}

.img{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.login-content{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-align: center;
}

form{
	width: 360px;
}

.login-content img{
  height: 100px;
}

.login-content h2{
	margin: 15px 0;
	color: #333;
	text-transform: uppercase;
	font-size: 2.9rem;
}

.login-content .input-div{
	position: relative;
	display: grid;
	grid-template-columns: 7% 93%;
	margin: 25px 0;
	padding: 5px 0;
	border-bottom: 2px solid #d9d9d9;
}

.login-content .input-div.one{
	margin-top: 0;
}
.i{
	color: #d9d9d9;
	display: flex;
	justify-content: center;
	align-items: center;
}

.i i{
	transition: .3s;
}

.input-div > div{
  position: relative;
	height: 45px;
}
.input-div > div > h5{
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	color: #999;
	font-size: 18px;
	transition: .3s;
}

.input-div:before, .input-div:after{
	content: '';
	position: absolute;
	bottom: -2px;
	width: 0%;
	height: 2px;
	background-color: #38d39f;
	transition: .4s;
}

.input-div:before{
	right: 50%;
}

.input-div:after{
	left: 50%;
}

.input-div.focus:before, .input-div.focus:after{
	width: 50%;
}

.input-div.focus > div > h5{
	top: -5px;
	font-size: 15px;
}


.input-div.focus > .i > i{
	color: #38d39f;
}

._field-wrapper input{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%!important;
	height: 100%!important;
	border: none!important;
	outline: none;
	background: none;
	padding: 0.5rem 0.7rem;
	font-size: 1.2rem;
	color: #555;
	font-family: 'poppins', sans-serif;
}

.input-div.pass{
	margin-bottom: 4px;
}

a{
	display: block;
	text-align: right;
	text-decoration: none;
	color: #999;
	font-size: 0.9rem;
	transition: .3s;
}

a:hover{
	color: #38d39f;
}

.btn{
	display: block;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	outline: none;
	border: none;
	background-image: linear-gradient(to right, #32be8f, #38d39f, #32be8f);
	background-size: 200%;
	font-size: 1.2rem;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	margin: 1rem 0;
	cursor: pointer;
	transition: .5s;
}
.btn:hover{
	background-position: right;
}



/* overlay de loading */
#loading-overlay {
  display: none;             /* começa escondido */
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(255,255,255,0.8);
  z-index: 9999;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* simples spinner */
#loading-overlay .spinner {
  width: 50px; height: 50px;
  border: 5px solid #ccc;
  border-top-color: #0a2342;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem;
}

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

#loading-overlay p {
  font-size: 1.25rem;
  color: #0a2342;
}




@media (max-width: 400px) {
	header{
		width: 100%;
		background-color: #000;
		display: block;
		height: 55px;
		text-align: center;
	}
	header img {
		max-width: 190px;
		height: auto;
	}
	.container{
		width: 100%;
		height: 100vh;
		margin-top: -150px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}
	.login-content{
		width: 300px;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}
	
	.wave {
		height: 540px;
		display: none;
	}
	#img-portalfox {
		display: none;
	}

}

@media (min-width: 401px) and (max-width: 500px) {
	header{
		width: 100%;
		background-color: #000;
		display: block;
		height: 70px;
		text-align: center;
	}
	header img {
		max-width: 250px;
		height: auto;
	}

	.container{
		width: 100%;
		height: 100vh;
		margin-top: -190px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}
	.login-content{
		width: 350px;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.wave {
		height: 540px;
		display: none;
	}
	#img-portalfox {
		display: none;
	}
}







