*{
 margin:0;
 padding:0; 
}

.btn_wsp
{
  position: fixed;
  width: 55px;
  height: 55px;
  line-height: 55px;
  bottom: 30px;
  right: 30px;
  background: #0df053;
  color: white;
  border-radius: 50px;
  text-align: center;
  font-size: 30px;
  box-shadow: 0px 1px 10px rgba(0,0,0,0.3);
  z-index: 100;
}
.btn_wsp:hover
{
 text-decoration: none;
 color:#0df053;
 background: white;
}
.main_login
{
 display: block;
 float: left;   
 width:100vw;
 height:100vh;
 overflow-x: hidden;
 background: #F5F5F5;
}
.main_login a#btn_bus_vol
{
 margin-right: 5%;
 margin-top: 2%;
 width: 90%;
 height: auto;
 font-size: 12px;
 text-align: right !important;
 justify-content: right;
} 
.cuerpo
{
 display: block;
 float: left;
 margin-left: 35%;
 margin-top: 0.5%; 
 width: 30%;
 height: 54%;
 border-radius: 5px;
 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
 background: white;
}
.cuerpo p#titulolog
{
 display: block;
 float: left;
 margin-left: 0.5%;
 margin-top: 3%;
 padding-left: 5px;
 width: 99%;
 height: 20px;
 font-weight: 600;
 font-size: 12px;
 font-family: "Open Sans", sans-serif;
 font-optical-sizing: auto;
 text-align: center;
 color:black;
}
.cuerpo .formulario-grupo 
{
  margin-top: 20px;
  margin-bottom: 15px; /* Espacio entre cada par de label/input */
  margin-left: 20%;
  display: block;
  width: 60%;
  /* padding-left: 20%; */
  padding-top: 20px;
  text-align: center;
}
.cuerpo .formulario-grupo label 
{
  display: block; /* Hace que la etiqueta ocupe todo el ancho y pase a la línea siguiente */
  margin-bottom: 5px; /* Espacio entre la etiqueta y el input */
  margin-top: 5%;
  font-weight: 600; /* Opcional: hace la etiqueta más visible */
  font-family: "Montserrat", sans-serif;
  font-size: 9pt;
  color: black;
}
.cuerpo .formulario-grupo input 
{
  width: 100%; /* Asegura que el input ocupe todo el ancho disponible */
  padding: 8px; /* Espacio interno en el input */
  box-sizing: border-box; /* Incluye padding y border en el ancho total */
  font-size: 9pt;
  text-align: center;
}
.logboto
{
 display: flex;
 justify-content: center; /* Centra horizontalmente */
 align-items: center; /* Centra verticalmente */
 width: 100%;
 height: auto;
 /* background: lightgoldenrodyellow;   */
}
.logboto a#btn_men_acez
{
 float: right;
 margin-top: 20px;
 width: 110px;
 font-weight: 400;
 color:black;
}
.otros
{
 display: flex;
 justify-content: center; /* Centra horizontalmente */
 align-items: center; /* Centra verticalmente */
 width: 100%;
 height: auto;
}
.otros a#btn_men_canz
{
 display: block;
 float: left; 
 margin-top: 10px;
 margin-left: 5%;
 margin-right: 5px;
 font-weight: 400;
 width: 50%;
 text-decoration: none;
 text-align: center;
 color:black;
} 
.recupera
{
 display: flex;
 justify-content: center; /* Centra horizontalmente */
 align-items: center; /* Centra verticalmente */
 width: 100%;
 height: auto;
}
.recupera a#btn_regquiero
{
 float: right; 
 margin-top: 10px;
 font-weight: 400;
 width: 60%;
 text-decoration: none;
 text-align: center;
 color:black;
}

@media only screen and (min-device-width : 320px) and (max-device-width : 480px)
{
 .btn_wsp
 {
  bottom: 20px;
  right: 10px;
 }
 .main_login a#btn_bus_vol
 {
  margin-right: 0.5%;
  margin-top: 2%;
  width: 99%;
 } 
 .cuerpo
 {
  margin-left: 0.5%;
  margin-top: 1%; 
  width: 99%;
  height: calc(40%);
 }
 
}