/* Root */
:root {
  /* Base Colors */
  --banregio-black: #111111;
  --banregio-gray_dark: #4A4A4A;
  --banregio-gray_light: #999999;
  --banregio-white: #ffffff;

  /* Orange Colors */
  --banregio-orange: #ff6900;
  --banregio-orange_neon: #ff4d00;
  --banregio-orange_salmon: #f26c66;
  --banregio-orange_melon: #ffcfb6;

  /* Secondary Colors */
  --banregio-green_forest: #465A58;
  --banregio-brown_ocher: #a88456;
  --banregio-green_olive: #a9ac90;
  --banregio-white_off: #F4F5EB;
  --banregio-green_sage: #cad6c5;
  --banregio-blue_seafoam: #D6E6E2;

  /* Tertiary Colors */
  --banregio-blue_aqua: #29bcbc;
  --banregio-blue_digital: #2559d6;
  --banregio-blue_deep: #202e59;
  --banregio-yellow_neon: #e5ff00;

  /* Unique App Colors (Renamed to General) */
  --banregio-orange_2: #f26900;
  --banregio-orange_3: #ffb045;
  --banregio-orange_4: #ffcf9f;
  --banregio-brown_ocher_light: #a99a6d;
  --banregio-blue_mint: #8ff0ff;

  /* App Base (Non-duplicated) */
  --banregio-gray_medium: #7f7f7f;

  /* Secondary (App) */
  --banregio-red_1: #e45959;
  --banregio-red_2: #ff2a2a;
  --banregio-green_1: #83d773;
  --banregio-green_2: #96f059;
  --banregio-blue_1: #5789ff;
  --banregio-blue_2: #80bfff;
  --banregio-yellow_1: #ffdb4f;
  --banregio-yellow_2: #fffb00;
  --banregio-purple_1: #b362ff;
  --banregio-purple_2: #d29eff;
  /* Disabled */
  --banregio-blue_misty: #c3cfe3;
}

/* FONT */
@font-face {  
  font-family: "circular";
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.eot");
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.eot?#iefix") format("embedded-opentype"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.woff2") format("woff2"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "circular-bold";
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.eot");
  src: url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.eot?#iefix") format("embedded-opentype"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.woff2") format("woff2"), url("https://portalbanregio.s3.amazonaws.com/assets/naranja/css/lineto-circular-pro-bold.woff") format("woff");
  font-weight: 600;
  font-style: bold;
}

/* Body set */
body {
  min-height: 100vh;
  background-repeat: no-repeat;
  position: relative;

  text-rendering: optimizeLegibility;
  font-family: 'circular', sans-serif;
  font-size: 16px;
  line-height: 1.2 !important;
  color: var(--banregio-gray_dark);
}

/* Text Color Classes */

/* Base Colors */
.text-banregio-black {
  color: var(--banregio-black);
}
.text-banregio-gray_dark {
  color: var(--banregio-gray_dark);
}
.text-banregio-gray_light {
  color: var(--banregio-gray_light);
}
.text-banregio-white {
  color: var(--banregio-white);
}

/* Orange Colors */
.text-banregio-orange {
  color: var(--banregio-orange);
}
.text-banregio-orange_neon {
  color: var(--banregio-orange_neon);
}
.text-banregio-salmon {
  color: var(--banregio-salmon);
}
.text-banregio-melon {
  color: var(--banregio-melon);
}

/* Secondary Colors */
.text-banregio-green_forest {
  color: var(--banregio-green_forest);
}
.text-banregio-brown_ocher {
  color: var(--banregio-brown_ocher);
}
.text-banregio-green_olive {
  color: var(--banregio-green_olive);
}
.text-banregio-white_off {
  color: var(--banregio-white_off);
}
.text-banregio-green_sage {
  color: var(--banregio-green_sage);
}
.text-banregio-blue_seafoam {
  color: var(--banregio-blue_seafoam);
}

/* Tertiary Colors */
.text-banregio-blue_aqua {
  color: var(--banregio-blue_aqua);
}
.text-banregio-blue_digital {
  color: var(--banregio-blue_digital);
}
.text-banregio-blue_deep {
  color: var(--banregio-blue_deep);
}
.text-banregio-yellow_neon {
  color: var(--banregio-yellow_neon);
}

/* Unique Colors (Previously App Colors) */
.text-banregio-orange_2 {
  color: var(--banregio-orange_2);
}
.text-banregio-orange_3 {
  color: var(--banregio-orange_3);
}
.text-banregio-orange_4 {
  color: var(--banregio-orange_4);
}
.text-banregio-brown_ocher_light {
  color: var(--banregio-brown_ocher_light);
}
.text-banregio-blue_mint {
  color: var(--banregio-blue_mint);
}
.text-banregio-gray_medium {
  color: var(--banregio-gray_medium);
}

/* Status Colors */
.text-banregio-red_1 {
  color: var(--banregio-red_1);
}
.text-banregio-red_2 {
  color: var(--banregio-red_2);
}
.text-banregio-green_1 {
  color: var(--banregio-green_1);
}
.text-banregio-green_2 {
  color: var(--banregio-green_2);
}
.text-banregio-blue_1 {
  color: var(--banregio-blue_1);
}
.text-banregio-blue_2 {
  color: var(--banregio-blue_2);
}
.text-banregio-yellow_1 {
  color: var(--banregio-yellow_1);
}
.text-banregio-yellow_2 {
  color: var(--banregio-yellow_2);
}
.text-banregio-purple_1 {
  color: var(--banregio-purple_1);
}
.text-banregio-purple_2 {
  color: var(--banregio-purple_2);
}

/* Background Color Classes */

/* Base Colors */
.bg-banregio-black {
  background-color: var(--banregio-black);
}
.bg-banregio-gray_dark {
  background-color: var(--banregio-gray_dark);
}
.bg-banregio-gray_light {
  background-color: var(--banregio-gray_light);
}
.bg-banregio-white {
  background-color: var(--banregio-white);
}

/* Orange Colors */
.bg-banregio-orange {
  background-color: var(--banregio-orange);
}
.bg-banregio-orange_neon {
  background-color: var(--banregio-orange_neon);
}
.bg-banregio-orange_salmon {
  background-color: var(--banregio-orange_salmon);
}
.bg-banregio-orange_melon {
  background-color: var(--banregio-orange_melon);
}

/* Secondary Colors */
.bg-banregio-green_forest {
  background-color: var(--banregio-green_forest);
  color: var(--banregio-white_off);
}
.bg-banregio-brown_ocher {
  background-color: var(--banregio-brown_ocher);
}
.bg-banregio-green_olive {
  background-color: var(--banregio-green_olive);
}
.bg-banregio-white_off {
  background-color: var(--banregio-white_off);
}
.bg-banregio-green_sage {
  background-color: var(--banregio-green_sage);
}
.bg-banregio-blue_seafoam {
  background-color: var(--banregio-blue_seafoam);
}

/* Tertiary Colors */
.bg-banregio-blue_aqua {
  background-color: var(--banregio-aqua);
}
.bg-banregio-blue_digital {
  background-color: var(--banregio-blue_digital);
}
.bg-banregio-blue_deep {
  background-color: var(--banregio-blue_deep);
}
.bg-banregio-yellow_neon {
  background-color: var(--banregio-yellow_neon);
}

/* Unique Colors (Previously App Colors) */
.bg-banregio-orange_2 {
  background-color: var(--banregio-orange_2);
}
.bg-banregio-orange_3 {
  background-color: var(--banregio-orange_3);
}
.bg-banregio-orange_4 {
  background-color: var(--banregio-orange_4);
}
.bg-banregio-brown_ocher_light {
  background-color: var(--banregio-brown_ocher_light);
}
.bg-banregio-blue_mint {
  background-color: var(--banregio-mint);
}
.bg-banregio-gray_medium {
  background-color: var(--banregio-gray_medium);
}

/* Status Colors */
.bg-banregio-red_1 {
  background-color: var(--banregio-red_1);
}
.bg-banregio-red_2 {
  background-color: var(--banregio-red_2);
}
.bg-banregio-green_1 {
  background-color: var(--banregio-green_1);
}
.bg-banregio-green_2 {
  background-color: var(--banregio-green_2);
}
.bg-banregio-blue_1 {
  background-color: var(--banregio-blue_1);
}
.bg-banregio-blue_2 {
  background-color: var(--banregio-blue_2);
}
.bg-banregio-yellow_1 {
  background-color: var(--banregio-yellow_1);
}
.bg-banregio-yellow_2 {
  background-color: var(--banregio-yellow_2);
}
.bg-banregio-purple_1 {
  background-color: var(--banregio-purple_1);
}
.bg-banregio-purple_2 {
  background-color: var(--banregio-purple_2);
}
/* Button */
.button {
  padding-inline: 1.5rem;
  padding-block: 1rem;
  border-radius: 4rem;
  font-size: 1rem;
  width: fit-content;
  min-width: 152px;
  text-align: center;
}
.button-small {
  padding-inline: 2rem;
  padding-block: .2rem;
  min-width: unset;
  border-radius: 4rem;
  font-size: 1rem;
  width: fit-content;
  text-align: center;
}

/* Text Styles */
.text-heading-display {
  font-size: clamp(8rem, 9vw, 9rem);
}
h1:not(.text-heading-display), .text-heading {
  font-size: clamp(4rem, 6vw, 6rem);
  line-height: 1.1;
  font-family: 'circular-bold', sans-serif;
}
h2:not(.text-heading-display), .text-subheading {
  font-size: clamp(1.15rem, 10vw, 2rem);
  font-weight: 500;
}
.text-body {
  font-size: 1rem;
}
.text-caption {
  font-size: .8rem;
  line-height: 1.6;
  font-weight: 100;
  text-rendering: geometricPrecision;
}

/* Form Base */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background-color: rgba(0,0,0,0.5);
  pointer-events: none;
  transition: all 0.3s ease-in-out;
  z-index: 10;
}
#overlay.activate {
  opacity: 1;
  pointer-events: all;
}
.modal-custom {
  width: 100%;
  background: #fff;
  color: #000;
  border-radius: 15px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  text-align: center;
  z-index: 100;
  transition: all 0.5 ease-in-out;
}
.modal-custom.activate {
  transform: translate(-50%, -50%) scale(1);
  padding: 0px 5px 0px 5px;
}
.card-content {
  width: 100%;
  height: 100%;
  padding: 10px 0px;
  border-radius: 15px;
  position: relative;
  overflow-x: hidden;
  overflow-y: scroll;
  background-color: #fff;
  z-index: 1000;
}
@media screen and (min-width: 700px) {
  .card-content {
    max-width: 700px;
  }
  .modal-custom {
    width: 700px;
    padding: 30px 30px;
  }
}
@media screen and (max-width: 768px) {
  .modal-custom {
    width: calc(100% - 2rem);
  }
}

input.rfc {
  text-transform: uppercase;
}
input[type="text"],
input[type="name"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="search"],
input[type="url"],
input[type="color"],
select {
  border-radius: 2rem !important;
}
#formulario__base select.form-select.form-select {
  color: var(--banregio-gray_light) !important;
}
*::placeholder{
  color: var(--banregio-gray_light) !important;
}
#formulario__base .formulario__grupo-incorrecto select.form-select.form-select,
#formulario__base .formulario__grupo-correcto select.form-select.form-select {
  color: var(--banregio-black) !important;
} 


.form-btn:disabled {
  cursor: default;
  background-color: #c3cfe3;
}

.formulario__checkbox {
  accent-color: #f06c15;
}

.formulario__grupo-input {
 position: relative;
}

.formulario__label {
  display: block;
  cursor: pointer;
}

.formulario__input {
 width: 100%;
 background: #fff;
 border: 3px solid transparent;
 border-radius: 3px;
 height: 45px;
 line-height: 45px;
 padding: 0 40px 0 10px;
}

.info-icon {
  position: absolute;
  right: 10px;
  bottom: 0px;
  z-index: 2000;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  padding: 11px;
}

.info-box {
  position: relative;
  z-index: 2000;
  display: none;
  width: 200px;
  margin-top: 5px;
  font-size: 0.8rem;
  line-height: 1.4em;
  border-radius: 5px;
  background-color: rgba(0,0,0,0.8);
  color: #fff;
  content: attr(title);
}

.info-box.show {
  display: block;
}
.formulario__grupo-correcto input,
.formulario__grupo-correcto select {
  border-color: var(--banregio-green_1);
}
.formulario__grupo-incorrecto input,
.formulario__grupo-incorrecto select {
  border-color: var(--banregio-red_1);
}
.formulario__validacion-estado {
  position: absolute;
  right: 10px;
  top: 14px;
  z-index: 200;
  font-size: 16px;
  opacity: 0;
}
.formulario__validacion-estado svg {
  width: 10px;
  height: 10px;
}
select + .formulario__validacion-estado {
  right: 32px;
}
.formulario__grupo-correcto .formulario__validacion-estado {
  color: var(--banregio-green_1);
  opacity: 1;
}
.formulario__grupo-incorrecto .formulario__validacion-estado {
  color: var(--banregio-red_1);
  opacity: 1;
} 
.formulario__input-error {
  font-size: 12px;
  margin-bottom: 0;
  padding-top: 10px;
  display: none;
}
.formulario__input-error-activo {
  display: block;
}
.formulario__mensaje {
  height: 45px;
  line-height: 45px;
  background: var(--banregio-orange_neon);
  padding: 0 15px;
  border-radius: 3px;
  display: none;
}
.formulario__mensaje p b {
  font-family: 'book';
  font-size: 14px;
}
.formulario__mensaje-activo {
  display: block;
}
.formulario__mensaje-exito {
  display: none;
}
.formulario__mensaje-exito-activo {
  display: block;
}
.button:disabled {
  cursor: pointer;
}
.button.bg-banregio-green_forest {}
.button.bg-banregio-green_forest:disabled {
  color: var(--banregio-white);
  background-color: var(--banregio-blue_misty);
}
.form label {
  color:var(--banregio-black);
}
.close-modal {
  border: none;
  outline: none;
  background-color: transparent;
  color: var(--banregio-black);
  font-size: 40px;
  width: 40px;
  height: 40px;
}
.form {
  display: none;
}

.form.show {
  display: flex;
}
select.form-select {
  padding: .4rem 2rem .35rem .7rem;
}

.aviso_de_privacidad span a {
  padding-inline: .5ch;
  color: var(--banregio-orange_neon);
}



/* TERMINOS  */
#term {
  cursor: pointer;
  font-size: 16px;
  color: #fff;
}

.terms {
  background-color: var(--banregio-orange-neon);
  border-bottom: 1px solid #fff;
}

.terms-description {
  max-height: 0;
  font-size: 16px;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  transition: all 0.6s ease;
}

.terms-description.active {
  visibility: visible;
  max-height: 100%;
  opacity: 1;
  padding-top: 5px;
}

.terms-description p {
  font-family: 'book', sans-serif;
 color: var(--banregio-white);
 font-size: 13px;
}