@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');

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

body {
   font-family: 'PT Sans', sans-serif;
   overflow: hidden;
}

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

.login-content {
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   width: 100%;
   height: 90vh;
}

.login-content form {
   width: 30% !important;
   height: auto;
   padding: 30px 50px;
   background: #fff;
   border-color: rgb(4, 204, 249) !important;
   border-radius: 2rem;
   box-shadow: 0px 10px 15px -3px rgba(3, 22, 78, 0.569);
}

.img img {
   width: 200px;
}

img.profileCarto {
   margin-bottom: 30px;
   width: 300px;
   max-width: -webkit-fill-available;
}

form {
   width: 360px;
}

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

.login-content .input-div.one {
   margin-top: 0;
}

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

.i i {
   transition: 0.3s;
}

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

.input-div>div>h5 {
   position: absolute;
   left: 10px;
   top: 50%;
   transform: translateY(-50%);
   color: var(--gris);
   font-size: 18px;
   transition: 0.3s;
   font-weight: 600;
   letter-spacing: .5px;
}

.input-div:before,
.input-div:after {
   content: "";
   position: absolute;
   bottom: -2px;
   width: 0%;
   height: 2px;
   background-color: var(--azul);
   transition: 0.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;
   font-weight: 600;
}

.input-div.focus>.i>i {
   color: var(--azul);
}

.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: 1.2rem;
   color: #555;
}

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

a {
   display: block;
   text-align: right;
   text-decoration: none;
   color: var(--gris);
   font-size: 0.9rem;
   transition: 0.3s;
   font-weight: 600;
   font-style: italic;
}

a:hover {
   color: var(--azul);
}

.btn {
   display: block;
   width: 100%;
   height: 50px;
   border-radius: 30px 10px;
   outline: none;
   border: none;
   background-image: linear-gradient(to right, #04ccf9, #04ccf964, #04ccf9);
   background-size: 200%;
   font-size: 1.2rem;
   color: var(--blanco);
   text-transform: uppercase;
   margin: 1rem 0;
   cursor: pointer;
   transition: 0.5s;
   font-weight: 600;
}

.btn:hover {
   background-position: right;
   border-radius: 10px 30px;
   color: var(--blanco);
}

.version {
   font-size: .8rem;
   font-style: italic;
   font-weight: 600;
}

@media screen and (max-width: 1200px) {
   .login-content form {
      width: 40% !important;
   }
}

@media screen and (max-width: 800px) {
   .login-content form {
      width: 60% !important;
   }
}

@media screen and (max-width: 500px) {
   .login-content form {
      width: 85% !important;
   }
}

@media screen and (max-width: 100px) {
   .login-content form {
      width: 65% !important;
   }
}

@media screen and (max-width: 1000px) {
   .login-content h5 {
      font-size: 2.4rem;
      box-shadow: #8b8b8b;
      margin: 2px 0;
   }

   .img img {
      width: 400px;
   }
}

@media screen and (max-width: 900px) {
   .login-content {
      grid-template-columns: 1fr;
   }

   .img {
      display: none;
   }

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

@media only screen and (max-width: 1400px) {
   .img img {
      width: 500px !important;
   }
}

@media only screen and (min-width: 1400px) {
   .img img {
      width: 700px !important;
   }
}