@import url('https://fonts.googleapis.com/css2?family=Merriweather&family=Montserrat&family=Sacramento&family=Satisfy&display=swap');

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: 'Montserrat', sans-serif;
}

section {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 100vh;
   background: url('https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&q=60&w=500&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8YWxnb3JpdGhtfGVufDB8fDB8fHww') no-repeat;
   background-size: cover;
   background-position: center;
   animation: animateBg 5s linear infinite;
}

@keyframes animateBg {
   100% {
      filter: hue-rotate(360deg);
   }
}

.login-box {
   position: relative;
   width: 400px;
   height: 450px;
   border-radius: 20px;
   background: transparent;
   border: 2px solid rgba(255, 255, 255, .5);
   display: flex;
   justify-content: center;
   align-items: center;
   backdrop-filter: blur(15px);
}

h2 {
   font-size: 2em;
   color: #fff;
   text-align: center;
}

.input-box {
   position: relative;
   width: 310px;
   margin: 30px 0;
   border-bottom: 2px solid #fff;
}

.input-box label {
   position: absolute;
   top: 50%;
   left: 5px;
   transform: translateY(-50%);
   font-size: 1em;
   color: #fff;
   pointer-events: none;
}

.input-box input:focus~label,
.input-box input:valid~label {
   top: -5px;
}


.input-box input {
   width: 100%;
   height: 50px;
   background: transparent;
   border-radius: none;
   outline: none;
   font-size: 1em;
   color: #fff;
   padding: 0 35px 0 5px;
   border: none;
}

.input-box .icon {
   position: absolute;
   right: 8px;
   color: #fff;
   font-size: 1.2em;
   line-height: 57px;
}

.remember-forgot {
   margin: -15px 0 15px;
   font-size: -9em;
   color: #fff;
   display: flex;
   justify-content: space-between;
}

.remember-forgot label input {
   margin-right: 3px;
}

.remember-forgot a {
   color: #fff;
   text-decoration: none;
}

.remember-forgot a:hover {
   text-decoration: underline;
}

button {
   width: 100%;
   height: 40px;
   background: #fff;
   border: none;
   outline: none;
   border-radius: 40px;
   cursor: pointer;
   font-size: 1em;
   color: #000;
   font-weight: 500;
}

.register-link {
   font-size: .9em;
   color: #fff;
   text-align: center;
   margin: 25px 0 10px;
}

.register-link p a {
   color: #fff;
   text-decoration: none;
   font-weight: 600;
}

.register-link p a:hover {
   text-decoration: underline;
}

@media (max-width: 360px) {
   .login-box {
      width: 100%;
      height: 100vh;
      border: none;
      border-radius: 0;
   }

   .input-box {
      width: 290px;
   }
}
