/* @import url('https://fonts.google.com/specimen/Muli?selection.family=Muli'); */

:root{
    --ff-body: 'Muli', Regular , sans-serif;
    --fw-body: 300;
    --fw-bold: 800;
    --bg-main: #fff;
    --bg-left: #A9C5BA;
    --bg-card: #ffffff;
    --color-main-login: #38d39f;
    --color-font-custom: #333333;
}

* {
    margin: 0;
    padding: 0;
    outline: 0;
    box-sizing: border-box;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
}

html, body  {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    height: 100%;
    max-width: 100%;
    min-width: 100%;
    margin: 0;
    padding: 0;
    outline: 0;
    background: var(--bg-main);
    /* border-top: 5px solid #435757; */
    font-family: var(--ff-body);
    font-weight: var(--fw-body);
    font-size: 1.25rem;
}

.container{
    width: 80vw;
	height: 80vh;
	margin: 10vh auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
	background: var(--bg-card);
	border-radius: 15px;
    overflow: hidden;
    box-shadow:
        -8px -4px 8px 0px #ffffff,
        8px 4px 12px 0px #d1d9e6,
        4px 4px 4px 0px #d1d9e6 inset,
        -4px -4px 4px 0px #ffffff inset;
}

.login-content{
	display: flex;
    flex-direction: column;
	align-items: center;
	text-align: center;
}

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

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

.login{
    margin-top: 15%;
    font-family: var(--font-login);
}

.login form{
	width: 360px;
}

.login .title {
    text-align: end;
    margin-top: 1vh;
}

.login .welc {
    opacity: 0.8;
    margin-top: 5vh;
    margin-bottom: 5vh;
    color: var(--color-font-custom);
}

.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;
}

.login .i{
	color: var(--color-font-custom);
	display: flex;
	justify-content: center;
	align-items: center;
}

.login .i i{
	transition: .3s;
}

.input-div > .div{
    position: relative;
	height: 45px;
}

.div > h5{
	position: absolute;
	left: 10px;
    margin-bottom: 18vh;
	transform: translateY(-50%);
	color: var(--color-font-custom);
	font-size: 18px;
	transition: .3s;
}

.input-div:before, .input-div:after{
	content: '';
	position: absolute;
	bottom: -2px;
	width: 0%;
	height: 2px;
	background-color: var(--color-main-login);
	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: var(--color-main-login);
}

.input-div > .div > input{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: none;
	outline: none;
	background: none;
	padding: 0.5rem 0.7rem;
	font-size: 0.8rem;
	color: var(--color-font-custom);
	font-family: 'poppins', sans-serif;
}

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

.login form a{
	display: block;
	text-align: right;
	text-decoration: none;
	color: var(--color-font-custom);
	font-size: 0.9rem;
	transition: .3s;
}

.login 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);
    text-align: center;
	background-size: 200%;
	font-size: 1.2rem;
    color: #fff;
	font-family: 'Poppins', sans-serif;
	text-transform: uppercase;
	margin: 1rem 0;
	cursor: pointer;
	transition: .5s;
}

.btnG{
	display: block;
	width: 100%;
	height: 50px;
	border-radius: 25px;
	outline: none;
    font-size: 1.2rem;
    border: 2px solid var(--color-main-login);
	color: #000;
	font-family: 'Poppins', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    list-style: none;
    text-align: center;
    padding-top: 10px;
	margin: 1rem 0;
	cursor: pointer;
    transition: .5s;
    box-shadow:
        -8px -4px 8px 0px #ffffff,
        8px 4px 12px 0px #d1d9e6,
        4px 4px 4px 0px #d1d9e6 inset,
        -4px -4px 4px 0px #ffffff inset;
}

.btn:hover{
	background-position: right;
}

.create a {
    text-decoration: none;
    list-style: none;
    color: var(--color-main-login);
}

.bottom-form {
    width: 360px;
}

.bottom-form h6 a {
	text-decoration: none;
    list-style: none;
	color: var(--color-main-login);	
	margin-bottom: 5%;
}

.form.success input {
	border-color: #2ecc71;
}

.form.error input {
	border-color: #e74c3c;
}

.form i {
	visibility: hidden;
	position: absolute;
	top: 40px;
	right: 10px;
}

.form.success i.fa-check-circle {
	color: #2ecc71;
	visibility: visible;
}

.forml.error i.fa-exclamation-circle {
	color: #e74c3c;
	visibility: visible;
}

.form small {
	color: #e74c3c;
	position: absolute;
	bottom: 0;
	left: 0;
	visibility: hidden;
}

.form.error small {
	visibility: visible;
}

@media screen and (max-width: 1000px){
	form{
		width: 290px;
	}

	.login-content h2{
        font-size: 2.4rem;
        margin: 8px 0;
	}
}

@media screen and (max-width: 480px){
	.login{
        margin-top: 5%;
    }
}


.img{
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--bg-left);
}

.img img{
    display: flex;
    align-items: center;
    align-self: auto;
    padding-top: 10vh;
    width: 500px;
}

.img .texteffect {
    display: flex;
    flex-direction: row;
    width: 80%;
    margin: 8% auto ;
    text-align: center;
    align-self: center;
    align-content: center;
    height: 20%;
    color: #ffffff;
}

.container-text, .item {
    width: 500px;
    height: 100px;
    font-size: 20px;
}

.container-text {
    margin: 0 auto;
    height: 200px;
    text-align: center; 
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.item {
    position: absolute;
    top: 0;
    left: 500px;
}

.item h3{
    margin-bottom: 5%;
}

.first {
    left: 0;
    opacity: 1;
    z-index: 0;
}
  
.first { 
    animation: cycleone 20s ease-in-out infinite; 
}
  
.second { 
    animation: cycletwo 20s ease-in-out infinite; 
}
  
.third { 
    animation: cyclethree 20s ease-in-out infinite; 
}
  
.fourth { 
    animation: cyclefour 20s ease-in-out infinite; 
}
 
@keyframes cycleone {
      0% { left:    0px; opacity: 1; z-index:  0; } 
     20% { left:    0px; opacity: 1; z-index:  0; } 
     25% { left: -500px; opacity: 0; z-index:  0; }
     26% { left: -500px; opacity: 0; z-index: -1; }
     27% { left:  500px; opacity: 0; z-index: -1; }
     95% { left:  500px; opacity: 0; z-index:  0; }
    100% { left:    0px; opacity: 1; z-index:  0; }
}
 
@keyframes cycletwo {
      0% { left:  500px; opacity: 0; } 
     20% { left:  500px; opacity: 0; }
     25% { left:    0px; opacity: 1; }
     45% { left:    0px; opacity: 1; z-index:  0; } 
     50% { left: -500px; opacity: 0; z-index:  0; }
     51% { left:  500px; opacity: 0; z-index: -1; }
    100% { left:  500px; opacity: 0; z-index: -1; }
}
 
@keyframes cyclethree {
      0% { left:  500px; opacity: 0; }
     45% { left:  500px; opacity: 0; z-index: -1; }
     50% { left:    0px; opacity: 1; z-index:  0; }
     70% { left:    0px; opacity: 1; z-index:  0; }
     75% { left: -500px; opacity: 0; z-index:  0; }
     76% { left:  500px; opacity: 0; z-index: -1; }
    100% { left:  500px; opacity: 0; z-index: -1; }
}
 
@keyframes cyclefour {
      0% { left:  500px; opacity: 0; z-index: -1; }
     70% { left:  500px; opacity: 0; z-index:  0; }
     75% { left:    0px; opacity: 1; z-index:  0; }
     95% { left:    0px; opacity: 1; z-index:  0; }
    100% { left: -500px; opacity: 0; z-index:  0; }
}
  
  
@media screen and (max-width: 480px){ 
    .container-text, .item {
        width: 95%;
        height: 150px;
    }
}


@media screen and (max-width: 1050px){
	.container{
		grid-gap: 5rem;
	}
}

@media screen and (max-width: 1100px){
    .container{
        grid-template-columns: 1fr;
        height: 180vh;
	}
    
    form{
		width: 290px;
	}

	.login-content h2{
        font-size: 2.4rem;
        margin: 8px 0;
	}

	.img img{
		width: 80%;
	}
}

@media screen and (max-width: 900px){
	.container{
        grid-template-columns: 1fr;
        height: 160vh;
	}

	.login-content{
		justify-content: center;
	}
}

@media screen and (max-width: 480px){
	.container{
        display: block;
        width: 95%;
        height: 100%;
    }
    .login-content {
        margin-top: 1vh;
        height: 50%;
    }
    .login, h3, input, a{
        width: 96% !important;
    }
    .btn{
        width: 90% !important;
  }
  
}

@media screen and (max-width: 480px) {
    html, body{
         height: 200vh;
         font-size: 1rem;
    }
}

@-ms-viewport{
    width: device-width;
}