/*GLOBAL======================================================================================*/
  body {
    background: var(--backgroundBody);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
  }

  input { padding: 10px; }

  input.search, input.datepicker, input.cliente,
  input.celular, input.email, input.password,
  input.hashtag {
    background-position: 5px 45%;
    background-repeat: no-repeat;
    background-size: 20px;
    padding-left: 30px;
  }

  input.search { background-image: url("../images/iconos/buscar.png"); }
  input.datepicker { background-image: url("../images/iconos/calendario.png"); }
  input.cliente { background-image: url("../images/iconos/cliente.png"); }
  input.celular { background-image: url("../images/iconos/celular.png"); }
  input.email { background-image: url("../images/iconos/correo.png"); }
  input.password { background-image: url("../images/iconos/password.png"); }
  input.hashtag { background-image: url("../images/iconos/hashtag.png"); }

  select {
    background: transparent;
    background-image: url(../images/flecha.png);
    background-position: 98%;
    background-repeat: no-repeat;
    background-size: 20px;
    border: var(--bordeSelect);
    border-radius: 15px;
    color: var(--colorLetraSelect);
    cursor: pointer;
    margin-bottom: 10px;
    overflow: auto;
    padding: 10px;
    scrollbar-color: var(--backgroundScrollPrincipal) var(--backgroundScrollSecundario);
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
  }

  option { color: var(--colorLetraOption); }

  select::-webkit-scrollbar {
    width: 12px;
    background: transparent;
  }

  select::-webkit-scrollbar-track {
    background: var(--backgroundScrollSecundario);
    border-radius: 5px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.9);
  }

  select::-webkit-scrollbar-thumb {
    background: var(--backgroundScrollPrincipal);
    border-radius: 5px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.9);
  }

  select::-webkit-scrollbar-corner { display: none; }
/*============================================================================================*/

/*CUERPO PRINCIPAL============================================================================*/
  .cuerpoPrincipal {
    /*height: calc(100vh - 250px);*//*ESTO ES PARA PONER UN FOOTER DE 60px*/
    max-height: calc(100vh - 100px);
    margin-top: 80px;
    overflow: auto;
    padding: 10px 100px;
    position: static;
    scrollbar-color: var(--backgroundScrollPrincipal) var(--backgroundScrollSecundario);
    /*top: 80px;*/
    width: calc(100% - 200px);
  }

  .cuerpoPrincipal::-webkit-scrollbar {
    width: 12px;
    background: transparent;
  }

  .cuerpoPrincipal::-webkit-scrollbar-track {
    background: var(--backgroundScrollSecundario);
    border-radius: 5px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.9);
  }

  .cuerpoPrincipal::-webkit-scrollbar-thumb {
    background: var(--backgroundScrollPrincipal);
    border-radius: 5px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.9);
  }

  .cuerpoPrincipal::-webkit-scrollbar-corner { display: none; }
/*============================================================================================*/

/*LOGIN=======================================================================================*/
  div.login {
  	align-items: center;
    background: var(--backgroundLogin);
    border-radius: 15px;
    color: var(--colorLetraLogin);
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    padding: 20px;
    width: 40%;
  }

  div.login p {
    font-weight: 600;
    margin-bottom: 30px;
  }

  div.login div.iconoLogin {
    align-items: center;
    background: var(--backgroundLoginIcono);
    border-radius: 50%;
    display: flex;
    height: 50px;
    justify-content: center;
    margin-bottom: 20px;
    margin-top: -10px;
    width: 50px;
  }

  div.login div.iconoLogin img { width: 40px; }

  div.login input {
    background-color: var(--backgroundInput);
    border: var(--bordeInput);
    border-radius: 7px;
    color: var(--colorLetraInput);
    font-size: 18px;
    margin-bottom: 20px;
    width: 90%;
  }

  div.login button {
    background: var(--backgroundLoginButton);
    border: none;
    border-radius: 10px;
    color: var(--colorLetraLoginButton);
    cursor: pointer;
    font-weight: 600;
    margin-bottom: 20px;
    padding: 10px;
  }

  div.login button:hover { background: var(--backgroundLoginButtonHover); }

  div.login a {
    color: var(--colorLetraLogin);
    cursor: pointer;
    font-size: 12px;
    margin-bottom: 20px;
    text-align: center;
    text-decoration: underline;
  }

  div.login a:hover { color: var(--colorLetraLoginHover); }
/*============================================================================================*/

/*INICIO======================================================================================*/
  .datosUsuario {
    align-items: center;
    display: flex;
    justify-content: end;
    margin-bottom: 10px;
  }

  .datosUsuario p {
    color: var(--colorLetraInicioDatosUsuario);
    font-size: 16px;
    font-weight: 600;
    text-align: center;
  }

  .datosUsuario p span { color: var(--colorLetraInicioDatosUsuarioBienvenido); }

  .datosUsuario div {
    border: var(--bordeInicioDatosUsuario);
    border-radius: 50%;
    color: var(--colorLetraInicioDatosUsuario);
    font-size: 20px;
    margin-left: 10px;
    padding: 5px;
  }

  .cuerpoInicio {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 33%);
  }

  .cuerpoInicio .divDatosAbonado {
    background: var(--backgroundInicioDivAbonado);
    border-radius: 25px;
    color: var(--colorLetraInicioDivAbonado);
    display: grid;
    gap: 10px;
    grid-template-columns: 100px calc(100% - 100px);
    padding: 40px 10px;
  }

  .cuerpoInicio .divDatosAbonado .servicio {
    align-items: center;
    display: flex;
    flex-direction: column;
    font-weight: 600;
    justify-content: center;
  }

  .cuerpoInicio .divDatosAbonado .servicio i {
    color: var(--colorLetraInicioIconoServicio);
    font-size: 50px;
  }

  .cuerpoInicio .divDatosAbonado .servicio p {
    margin-top: 5px;
    text-align: center;
  }

  .cuerpoInicio .divDatosAbonado .servicio .estatus {
    color: var(--colorLetraInicioDatosAbonado);
    font-weight: 600;
  }

  .cuerpoInicio .divDatosAbonado .datosAbonado {
    padding: 10px;
    /*text-align: center;*/
  }

  .cuerpoInicio .divDatosAbonado .datosAbonado .nombre {
    color: var(--colorLetraInicioDatosAbonado);
    font-size: 20px;
    font-weight: 600;
  }

  .cuerpoInicio .divDatosAbonado .datosAbonado .domicilio { margin: 10px 0; }

  .cuerpoInicio .divDatosAbonado .datosAbonado .paquete {
    color: var(--colorLetraInicioDatosAbonado);
    font-weight: 600;
  }

  .cuerpoInicio .datosFactura {
    background: var(--backgroundInicioDatosFactura);
    border-radius: 25px;
    margin-top: 20px;
    padding: 30px 10px;
    text-align: center;
  }

  .cuerpoInicio .datosFactura table { width: 100%; }

  .cuerpoInicio .datosFactura table tr.encabezados {
    color: var(--colorLetraInicioDatosFacturaEncabezados);
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 13px;
    font-weight: 600;
    padding: 10px;
    word-break: keep-all;
  }

  .cuerpoInicio .datosFactura table tr.resultados {
    color: var(--colorLetraInicioDatosFacturaResultados);
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 13px;
    font-weight: 600;
    padding: 10px;
    word-break: keep-all;
  }

  .cuerpoInicio .botonOperacion {
    border: none;
    border-radius: 15px;
    cursor: pointer;
    font-weight: 600;
    height: 85px;
    margin: 0 5px 5px 0;
    width: 85px;
  }

  .cuerpoInicio .botonOperacion.pagar { background: var(--backgroundBotonOperacionPagar); }
  .cuerpoInicio .botonOperacion.recargar { background: var(--backgroundBotonOperacionRecargar); }
  .cuerpoInicio .botonOperacion.consumos { background: var(--backgroundBotonOperacionConsumos); }

  .cuerpoInicio .botonOperacion.pagar:hover { background: var(--backgroundBotonOperacionPagarHover); }
  .cuerpoInicio .botonOperacion.recargar:hover { background: var(--backgroundBotonOperacionRecargarHover); }
  .cuerpoInicio .botonOperacion.consumos:hover { background: var(--backgroundBotonOperacionConsumosHover); }

  .cuerpoInicio .botonOperacion i { font-size: 40px; }
  .cuerpoInicio .botonOperacion p { font-size: 12px; }

  .cuerpoInicio .divContenido {
    background: var(--backgroundDivContenido);
    border: var(--bordeDivContenido);
    border-radius: 25px;
    padding: 40px 10px;
  }

  .cuerpoInicio .divContenido p.titulo {
    color: var(--colorLetraDivContenido);
    font-weight: 600;
    margin-bottom: 10px;
    text-align: center;
  }

  .cuerpoInicio .divContenido input {
    background-color: var(--backgroundInput);
    border: var(--bordeInput);
    border-radius: 15px;
    color: var(--colorLetraInput);
    font-size: 16px;
    margin-bottom: 10px;
  }

  .cuerpoInicio .divContenido input#titular { width: calc(100% - 40px); }
  .cuerpoInicio .divContenido input#nroTarjeta { width: calc(100% - 40px); }

  .cuerpoInicio .divContenido input#mesVencimiento,
  .cuerpoInicio .divContenido input#anioVencimiento,
  .cuerpoInicio .divContenido input#cvv { width: calc(31.5% - 40px); }

  .cuerpoInicio .divContenido input#anioVencimiento { margin: 0 4px; }

  .cuerpoInicio .divContenido .paquetesSlider {
    display: grid;
    gap: 5px;
    grid-template-columns: 40px auto 40px;
  }

  .cuerpoInicio .divContenido .paquetesSlider.sinSlider { display: block; }

  .cuerpoInicio .divContenido .paquetesSlider .flechaSlider {
    align-items: center;
    display: flex;
    justify-content: center;
  }

  .cuerpoInicio .divContenido .paquetesSlider .flechaSlider i {
    background: var(--backgroundInicioFlechasSlider);
    border-radius: 50%;
    color: var(--colorLetraInicioFlechasSlider);
    cursor: pointer;
    font-size: 20px;
    font-weight: 600;
    padding: 10px;
  }

  .cuerpoInicio .divContenido .paquetesSlider .flechaSlider i:hover {
    background: var(--backgroundInicioFlechasSliderHover);
    color: var(--colorLetraInicioFlechasSliderHover);
  }

  .cuerpoInicio .divContenido div.form { margin-bottom: 10px; }

  .cuerpoInicio .divContenido div.form div.encabezado {
    background: var(--backgroundInicioFormEncabezado);
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    color: var(--colorLetraInicioFormEncabezado);
    font-weight: 600;
    padding: 10px;
    text-align: center;
  }

  .cuerpoInicio .divContenido div.form div.contenido {
    background: var(--backgroundInicioFormContenido);
    color: var(--colorLetraInicioFormContenido);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    font-weight: 600;
    padding: 10px;
    text-align: center;
  }

  .cuerpoInicio .divContenido div.form div.contenido p.parrafoSeparar { margin-bottom: 10px; }

  .cuerpoInicio .divContenido div.form div.contenido #grafica { height: 150px; }

  .cuerpoInicio .divContenido p.diasPaquetes,
  .cuerpoInicio .divContenido p.etiquetaOxxo,
  .cuerpoInicio .divContenido p.etiquetaOpenPay {
    background: var(--backgroundInicioFormEtiquetas);
    color: var(--colorLetraInicioFormEtiquetas);
    font-weight: 600;
    padding: 10px;
    text-align: center;
  }

  .cuerpoInicio .divContenido img.iconoOxxo,
  .cuerpoInicio .divContenido img.iconoOPenPay {
    height: 50px;
    width: 100px;
  }

  .cuerpoInicio .divContenido canvas#codigoOxxo,
  .cuerpoInicio .divContenido canvas#codigoOpenpay {
    background: var(--backgroundCodigoBarras);
    border-radius: 15px;
    width: 100%;
  }

  .cuerpoInicio .divContenido div.paquetesRecarga {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 48%);
  }

  .cuerpoInicio .divContenido div.paquetesRecarga div {
    align-items: center;
    background: var(--backgroundInicioBotonesRecargas);
    border-radius: 15px;
    color: var(--colorLetraInicioBotonesRecargas);
    cursor: pointer;
    display: flex;
    font-weight: 600;
    justify-content: center;
    padding: 10px;
    text-align: center;
  }

  .cuerpoInicio .divContenido div.paquetesRecarga div:hover {
    background: var(--backgroundInicioBotonesRecargasHover);
    color: var(--colorLetraInicioBotonesRecargasHover);
  }

  .cuerpoInicio .divContenido .formularioCamposOcultos { display: none; }

  .cuerpoInicio .botonesPagar {
    display: flex;
    gap: 5px;
    justify-content: center;
    margin-top: 20px;
  }

  .cuerpoInicio .botonesPagar button {
    border: none;
    border-radius: 15px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    min-width: 100px;
    padding: 10px;
  }

  .cuerpoInicio .botonesPagar button.pagar {
    background: var(--backgroundBotonPagar);
    color: var(--colorLetraBotonPagar);
  }

  .cuerpoInicio .botonesPagar button.pagar:hover {
    background: var(--backgroundBotonPagarHover);
    color: var(--colorLetraBotonPagarHover);
  }

  .cuerpoInicio .botonesPagar button.cancelar {
    background: var(--backgroundBotonCancelar);
    color: var(--colorLetraBotonCancelar);
  }

  .cuerpoInicio .botonesPagar button.cancelar:hover {
    background: var(--backgroundBotonCancelarHover);
    color: var(--colorLetraBotonCancelarHover);
  }

  .cuerpoInicio .botonesPagar button.instrucciones {
    background: var(--backgroundBotonInstrucciones);
    color: var(--colorLetraBotonInstrucciones);
  }

  .cuerpoInicio .botonesPagar button.instrucciones:hover {
    background: var(--backgroundBotonInstruccionesHover);
    color: var(--colorLetraBotonInstruccionesHover);
  }
/*============================================================================================*/

/*FOOTER======================================================================================*/
  div.footer {
    font-size: 14px;
    font-weight: 600;
    text-align: center;
  }
/*============================================================================================*/

@media (max-width: 980px) {
/*GLOBAL======================================================================================*/
  body { background-size: 500% }
/*============================================================================================*/

/*CUERPO PRINCIPAL============================================================================*/
  .cuerpoPrincipal {
    padding: 20px;
    width: calc(100% - 40px);
  }
/*============================================================================================*/

/*LOGIN=======================================================================================*/
  div.login {
    align-items: center;
    margin-top: 0;
    padding: 20px 0;
    width: 100%;
  }

  div.login input { width: 80%; }
/*============================================================================================*/

/*INICIO======================================================================================*/
  .datosUsuario {
    justify-content: center;
  }

  .cuerpoInicio {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
/*============================================================================================*/
}

@media (max-width: 468px) {}