:root{
    --error:rgb(138, 32, 32);
    --azul_1: #0f1d3f;
    --azul_2: #26324d;
    --gris_claro:rgb(136, 136, 136);
}
*{
    font-family:Poppins;
    color:#0f1d3f;
}
body {
    display: grid;
    justify-items: center;
    align-items: center;  
    background: url("https://images.unsplash.com/photo-1496488541840-cb0da70e9230?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1yZWxhdGVkfDExfHx8ZW58MHx8fHx8&w=1000&q=80") no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    font-family:Poppins;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    
      
}

body::before {
    z-index: -1;
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(21, 29, 47, 0.563);
    width: 100%;
    height: 100%;
}

.fondo {

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
     /* Fondo negro semi-transparente */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}
.oculto{
    display: none !important;
}
/*?Sección de la tarjeta*/
.tarjeta{
    z-index: 2;
    width: 35vw;
    height: 90vh;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-color: white;
    border-radius: 12px;
    transition: 0.3 ease-in;
    justify-content: center;
    align-items: center;

}

/*?Sección de contenido*/

.tarjeta > .contenido{
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 95%;
    height: 95%;
    overflow: hidden;
    
}
/*?Sección de encabezado*/
.encabezado{
    height: 40%;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.encabezado .img{
    width: 50% !important;
}
/*?Sección de form*/
.contenido > #form{
    height: 80%;
    width: 80%;
}
#form .form{
    display: flex;
    flex-direction: column;
}
/**Diseño de los inputs*/
input{
    font-size:20px !important;
}
input[type="text"], input[type="password"]{
    border:solid 1px var(--gris_claro);
    background-color: white;
    height: 6vh !important;
    border-radius: 5px;
    margin-bottom: 4vh;
    transition: 0.3 ease-in;
    
}

/*?Sección del boton*/
.botones{
    display: grid;
}
.button2 {
  display: inline-block;
  transition: all 0.2s ease-in;
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: white;
  padding: 0.7em 1.7em;
  font-size: 18px;
  border-radius: 0.5em;
  background: var(--azul_1);
  border: 1px solid #636363;
  box-shadow: 6px 6px 12px #c5c5c5,
             -6px -6px 12px #ffffff;

}
.button2:active {
  color: white;
  box-shadow: inset 4px 4px 12px #c5c5c5,
             inset -4px -4px 12px var(--azul_1);
}

.button2:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scaleY(1) scaleX(1.25);
  top: 100%;
  width: 140%;
  height: 180%;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.button2:after {
  content: "";
  position: absolute;
  left: 55%;
  transform: translateX(-50%) scaleY(1) scaleX(1.45);
  top: 180%;
  width: 160%;
  height: 190%;
  background-color: rgb(35, 166, 253);
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.button2:hover {
  color: var(--azul_1);
  border: 1px solid #006e90;
}

.button2:hover:before {
  top: -35%;
  background-color: rgb(3, 93, 105);
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.button2:hover:after {
  top: -45%;
  background-color: #06b7da;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}
/*?Sección de errores*/
.errorTarjeta{
    border: solid 1px var(--error);
}
.errorText{
    color:var(--error)
}
/*?Sección del loader*/
.vistaLoader {
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    background-color: #00000082;
    z-index: 1500;
}
.loader {
    width: 5em;
    height: 5em;
    background: linear-gradient(-45deg, #0099ff 0%, #00dbde 100%);
    animation: spin 3s infinite;
}

.loader::before {
    content: "";
    z-index: -1;
    position: absolute;
    inset: 0;
    background: linear-gradient(-45deg, var(--color_azul_1) 0%, #00b5de 100%);
    transform: translate3d(0, 0, 0) scale(0.95);
    filter: blur(20px);
}
/*! Media*/
@media (max-width: 1150px) {
    /*?Sección de tarjeta*/
    .tarjeta{
        width: 80vw;
        height: 80vh;
    }
    /*?Sección del encabezado*/
    .encabezado .img{
        aspect-ratio: 3/2;
        width: 40vh !important;
        object-fit: contain;
    }
}
@media (max-width: 700px) {
    /*?Sección del encabezado*/
    .encabezado .img{
        aspect-ratio: 3/2;
        width: 60% !important;
        object-fit: contain;
    }
}

@keyframes pop {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(0.9);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes spin {
    0% {
        transform: rotate(-45deg);
    }

    50% {
        transform: rotate(-360deg);
        border-radius: 50%;
    }

    100% {
        transform: rotate(-45deg);
    }
}