@import url('https://fonts.googleapis.com/css?family=Roboto+Slab:300,400,700|Roboto:300,400,700&display=swap');
@font-face {
  font-family: 'gobCL';
  font-style: normal;
  src: url("font/gobCL_Regular.0257bb4b62d5.otf");
}

:root {
  --primary-color: #0f69b4;
  --secondary-color: #eb3c46;
  --background-color: #fff;
  --text-color: #575757;
  --error-message: #575757;
  --border-color: #264b7f;
  --success-color: #007d57;
  --error-color: #e22c2c;
  --warning-color: #f56b0f;
  --link-color: #0f69c4;
  --dark-blue-color: #092039;
  --background: #000000;
  --gob-response-error-bg: #e22c2c;
  --gob-response-success-bg: #04a398;
  --gob-response-warning-bg: #f87800;
  --img-aplus-bg: #FFFFFF;
  --img-contraste-bg: #FFFFFF;
  --img-amin-bg: #FFFFFF;
  --border-fr-grey: #373737;
  --group-label: #4d4d4d;
  --gob-btn-primary: #0062cc;
  --gob-btn-border: #005cbf;
  --gob-message-response: #00ada2;
  --gob-message-response-div: #001c41;
  --btn-toggle-password-bg: #0362cc;
  --banner-login: #DFF4FF;
  --paragraph-color: #575757;
  --header-text-color: #575757;
  --list-text-color: #575757;
}

.error-message {
    /* Default style */
    color: --error-message; /* Or your default error color */
}

.error-message.accessibility-mode {
    color: white;
}

html {
  font-size: 16px;
}

main {
  flex: 1;
}
body {
  font-family: 'Roboto';
  background-color: var(--background-color);
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.minsvg li {
  float: right;
}
.leftsvg li {
  float: left;
}

.textUnderInputs {
  text-align: center;
}

fieldset {
  border: 0;
  color: var(--border-color);
  text-align: center;
}
.headerloginCU .barra {
  width: 167px;
}
.headerloginCU h3 {
  font-family: 'gobCl';
  font-size: 1.44rem;
  font-weight: bold;
  line-height: 28px;
  color: var(--text-color);
  margin-top: 9px;
  width: 134px;
}
.headerloginCU .franja {
  width: 131px;
  height: 16px;
}
.headerloginCU .franja .franjaazul {
  background-color: var(--primary-color);
  height: 16px;
  width: 37%;
  display: block;
  float: left;
}
.headerloginCU .franja .franjaroja {
  background-color: var(--secondary-color);
  height: 16px;
  width: 63%;
  display: block;
  float: left;
}
.mainloginCU {
  /* padding: 1rem 0; */
  padding-top: 1rem;
}
.mainloginCU .header-form {
  margin-bottom: 0.5rem;
  padding: 0 1.5rem;
}
.mainloginCU .franja {
  width: 168px;
  height: 8px;
  margin-left: 0.6rem;
}
.mainloginCU .franja .franjaazul {
  background-color: var(--primary-color);
  height: 8px;
  width: 37%;
  display: block;
  float: left;
}
.mainloginCU .franja .franjaroja {
  background-color: var(--secondary-color);
  height: 8px;
  width: 63%;
  display: block;
  float: left;
}
.mainloginCU .header-form-title {
  text-align: center;
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}
a.text-reset {
  text-align-last: center;
  color: var(--text-color);
}
a.text-reset {
  text-align-last: center;
  color: var(--text-color);
}
.mainloginCU .header-form-title h2 {
  font-family: 'Roboto Slab';
  color: var(--text-color);
  font-weight: bold;
  font-size: 1.95rem;
  margin-bottom: 0;
}
.mainloginCU .header-form-title p {
  font-size: 1.25rem;
  margin: 0;
}
.border-fr-grey {
  border: 1px solid var(--border-fr-grey);
  padding: 0;
}
.border-fr-grey .btn-m,
.border-fr-grey .btn-m:hover {
  padding: 0.8rem 5.5rem;
}
.border-fr-grey .form-buttom {
  text-align: right;
  padding: 0.5rem 0 1rem 0;
}
.border-fr-grey .form-buttom .gob-btn-primary {
  padding: 0.8rem 5.5rem;
}
.goblogin {
  /* padding: 2rem 4rem; */
  padding: 1.5rem 1.5rem;
  min-height: auto;
}
input[type='text'],
input[type='password'],
input[type='email'],
select {
  height: auto !important;
  min-height: 48px !important;
  border: 1px solid var(--border-fr-grey);
  border-radius: 0;
  font-size: 1.125rem !important;
  line-height: 21px !important;
  box-shadow: none;
  background-color: var(--background-color);
}
/* Fondo negro y texto blanco para inputs al escribir en modo contraste */
/* Usa variables para asegurar consistencia del negro en alto contraste */
.contrast-typing {
  background-color: var(--contrast-input-bg, #000000) !important;
  color: var(--contrast-input-fg, #ffffff) !important;
  caret-color: var(--contrast-input-fg, #ffffff) !important;
}

/* Invertir colores de botones/íconos específicos en alto contraste */
[data-contrast="on"] #toggle-contrast,
[data-contrast="on"] #aminblocked,
[data-contrast="on"] #increase-font-button,
[data-contrast="on"] #decrease-font-button,
[data-contrast="on"] #reset-font-button,
[data-contrast="on"] #amaxblocked,
[data-contrast="on"] img[role="button"],
[data-contrast="on"] .img-aplus,
[data-contrast="on"] .img-contraste,
[data-contrast="on"] .img-amin {
  filter: invert(1) hue-rotate(180deg);
}
.group-label {
  position: relative;
  margin-bottom: 0.5rem;
  min-height: 80px;
}
.group-label .gob-cancel,
.group-label .gob--lbl-error,
.group-label .gob-check {
  display: none;
}
.group-label label {
  color: var(--group-label);
  font-size: 1.125rem;
  font-weight: normal;
  position: absolute;
  background-color: var(--background-color);
  pointer-events: none;
  left: 8px;
  top: 10px;
  transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -webkit-transition: 0.2s ease all;
}
.group-label input:focus ~ label,
.group-label input:valid ~ label {
  color: var(--border-color);
  top: -12px !important;
  font-size: 0.8rem !important;
}
.group-label input:focus {
  border: 1px solid var(--link-color) !important;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.form-control:focus {
  color: #495057;
  background-color: #fff;
  outline: 0;
  box-shadow: 0 0 0 .2rem #ffbe5c !important;
}

img[role="button"]:not([aria-disabled="true"]):focus,
.img-contraste:not([aria-disabled="true"]):focus,
.img-aplus:not([aria-disabled="true"]):focus,
.img-amin:not([aria-disabled="true"]):focus {
  outline: 0;
  box-shadow: 0 0 0 .2rem #ffbe5c !important;
}
img[role="button"]:not([aria-disabled="true"]):hover,
.img-contraste:not([aria-disabled="true"]):hover,
.img-aplus:not([aria-disabled="true"]):hover,
.img-amin:not([aria-disabled="true"]):hover {
  outline: 0;
  box-shadow: 0 0 0 .2rem #ffbe5c !important;
}

a:not([aria-disabled="true"]):focus,
a:not([aria-disabled="true"]):hover,
a.recovery:not([aria-disabled="true"]):focus,
a.recovery:not([aria-disabled="true"]):hover,
button:not([disabled]):focus,
button:not([disabled]):hover,
.gob-btn-primary:not([disabled]):not([aria-disabled="true"]):focus,
.gob-btn-primary:not([disabled]):not([aria-disabled="true"]):hover,
#login-submit:not([disabled]):not([aria-disabled="true"]):focus,
#login-submit:not([disabled]):not([aria-disabled="true"]):hover {
  outline: 4px solid #ffbe5c !important;
}
/* Elementos deshabilitados: sin foco visible ni interacción */
button[disabled],
[aria-disabled="true"] {
  outline: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
  cursor: not-allowed;
}
.group-label span {
  position: absolute;
  font-size: 0.8rem;
}
.group-label i {
  position: absolute;
  right: 10px;
  top: 10px;
}
.control-error .gob--lbl-error {
  display: block;
  color: var(--gob-response-error-bg);
}
.control-error input {
  border: 1px solid var(--gob-response-error-bg) !important;
}
.control-error input:valid ~ label {
  color: var(--gob-response-error-bg);
}
.control-error .gob-cancel {
  display: block;
  color: var(--gob-response-error-bg);
}
.control-error .gob-check {
  display: none;
}
.control-success .gob--lbl-success {
  color: var(--sucess-color);
}
.control-success input {
  border: 1px solid var(--sucess-color) !important;
}
.control-success input:valid ~ label {
  color: var(--sucess-color);
}
.control-success .gob-check {
  display: block;
  color: var(--sucess-color);
}
.control-success .gob-cancel {
  display: none;
}
.gob-btn-primary {
  color: var(--background-color);
  background-color: var(--gob-btn-primary);
  border: 1px solid var(--gob-btn-border);
  font-family: 'Roboto';
  font-size: 1.25rem;
  text-decoration: underline;
  padding: 0.5rem 2rem;
}
.foofr {
  padding: 0.5rem 0 1.5rem 0;
  text-decoration-color: var(--text-color);
  text-align-last: center;
}
.foofr a {
  text-decoration: underline !important;
  text-decoration-color: var(--text-color);
  color: var(--text-color);
}
.gob-mesage-response {
  margin: 1rem 0;
}
.gob-mesage-response div {
  display: flex;
  font-size: 1rem;
  padding: 0 4rem;
  color: var(--gob-message-response-div);
  min-height: 87px;
}
.gob-mesage-response div i {
  font-size: 1.5rem;
  margin: auto 0;
  margin-left: 1rem;
}
.gob-mesage-response div span {
  margin: auto 10px;
}
.gob-mesage-response .gob-response-error {
  background-color: rgba(226, 44, 44, 0.14);
}
.gob-mesage-response .gob-response-error i {
  color: var(--gob-response-error-bg);
}
.gob-mesage-response .gob-response-success {
  background: rgba(4, 163, 152, 0.14);
}
.gob-mesage-response .gob-response-success i {
  color: var(--gob-message-response)
}
.gob-mesage-response .gob-response-warning {
  background-color: rgba(248, 120, 0, 0.14);
}
.gob-mesage-response .gob-response-warning i {
  color: var(--warning-color);
}
a {
  color: var(--link-color);
  text-decoration: underline;
}
.img-logo-cu {
  margin-left: 0.9rem;;
  margin-top: 0px;
  cursor: pointer;
}

.img-aplus {

/* Boton Accesibilidad */


position: absolute;
width: 38px;
height: 38px;
left: 86%;
top: 21px;
cursor: pointer;

/* Gob/Color/Blanco/Base */

background: var(--img-aplus-bg);

}

.img-contraste {

/* Boton Accesibilidad */


position: absolute;
width: 38px;
height: 38px;
left: 70%;
top: 21px;
cursor: pointer;

/* Gob/Color/Blanco/Base */

background: var(--img-contraste-bg);

}

.img-amin {

/* Boton Accesibilidad */


position: absolute;
width: 38px;
height: 38px;
left: 78%;
top: 21px;
cursor: pointer;

/* Gob/Color/Blanco/Base */

background: var(--img-amin-bg);
}


.bg-dark-blue {
  background-color: var(--dark-blue-color);
}

.main-body {
  margin: 7% auto 0 auto;
  min-height: calc(100vh - 21%);
}

/* desktop 1920 */
@media (min-width: 2160px) and (max-width: 5000px) {
  .main-body {
    margin: 15% auto 0 auto;
    min-height: calc(100vh - 21%);
  }
}

/* desktop 1920 */
@media (min-width: 1920px) and (max-width: 2000px) {
  .main-body {
    margin: 7% auto 0 auto;

    min-height: calc(100vh - 21%);
  }

}

/* desktop 1920 */
@media (min-width: 1440px) and (max-width: 1800px) {
  .main-body {
    margin: 3% auto 0 auto;
    min-height: calc(100vh - 40%);
    padding-top: 2rem;
  }
  .goblogin {
    /* padding: 2rem 4rem; */
    padding: 0.5rem 2rem;
    max-height: auto;
  }

  .mainloginCU .header-form {
    margin-bottom: 0rem;
    padding: 0 1.5rem;
  }

}

/* desktop 1920 */
@media (min-width: 600px) and (max-width: 1376px) {
  .main-body {
    margin: 3% auto 0 auto;
    min-height: calc(100vh - 40%);
  }
  .goblogin {
    /* padding: 2rem 4rem; */
    padding: 0.5rem 2rem;
    max-height: auto;
  }

  .mainloginCU .header-form {
    margin-bottom: 0rem;
    padding: 0 1.5rem;
  }


}


@media (min-width: 320px) and (max-width: 480px) {
  .img-logo-cu {
    margin-left: 0.3rem;;
    margin-top: 0px;
    cursor: pointer;
  }
  .mainloginCU {
    padding: 0;
  }

  .main-body {
    margin: 0% auto 0 auto;
    min-height: calc(100vh - 40%);
  }
  .mainloginCU .header-form-title {
    margin-top: 0rem;
  }
  .mainloginCU .border-fr-grey {
    border: none;
  }
  .mainloginCU .border-fr-grey .btn-m,
  .mainloginCU .border-fr-grey .btn-m:hover {
    width: 100%;
  }
  .mainloginCU .border-fr-grey .goblogin {
    padding: 1rem;
  }
  .mainloginCU .border-fr-grey .goblogin .gob-btn-primary {
    width: 100%;
  }
  .goblogin {
    min-height: calc(100vh - 255px);
  }
  .mainloginCU .header-form {
    margin-bottom: 0.5rem;
    padding: 0 1rem;
  }
  .mainloginCU .franja {
    margin-left: 0rem;
  }
  .mainloginCU .foofr {
    padding: 0.5rem 2rem 0 0;
  }
  .mainloginCU .foofr a:first-child {
    display: block;
    text-align: right;
    padding-bottom: 1rem;
  }
  .gob-mesage-response div {
    padding: 0 1rem;
  }


  .img-aplus {

    /* Boton Accesibilidad */


    position: absolute;
    width: 38px;
    height: 38px;
    left: 86%;
    top: 3%;

    /* Gob/Color/Blanco/Base */

    background: var(--img-aplus-bg);

    }

    .img-contraste {

    /* Boton Accesibilidad */


    position: absolute;
    width: 38px;
    height: 38px;
    left: 60%;
    top: 3%;


    /* Gob/Color/Blanco/Base */

    background: var(--img-contraste-bg);

    }

    .img-amin {

    /* Boton Accesibilidad */

    position: absolute;
    width: 38px;
    height: 38px;
    left: 73%;
    top: 3%;

    /* Gob/Color/Blanco/Base */

    background: var(--img-amin-bg);
    }
}

footer{
  width: 100%;
  bottom: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  padding: .5rem 0 1rem;
  margin-top: 1rem;
}
footer > .container{
  display: flex;
  justify-content: space-between;
}

footer > .container > div{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

footer > .container > div > *:last-child{
  /* margin-top: 1rem; */
  margin-bottom: .5rem;
}

footer > .container > div > *:first-child{
  margin-top: .5rem;
}
footer .gobDigital img{
  width: auto;
  height: 100%;
  max-height: 45px;
}
footer .srCivil img{
  width: 88%;
  height: 100%;
  max-height: 90px;
  margin-bottom: .5rem;
}
footer .disclaimer{
  text-align: center;
  padding: 0 16px;
  margin-top: 15px;
  margin-left: 13.3333333%;
}

@media (max-width: 660px) {
  footer > .container{
    flex-direction: column;
  }

  footer > .container > div{
    flex-direction: column;
    align-items: center;
  }

  footer span, footer a{
    width: 100%;
  }

  .disclaimer{
    order: 0;
    margin-top: 1rem;
  }
}

.input-group {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
}

.input-group .form-control {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0;
    border-right: none;
}

.input-group-append {
    display: flex;
    margin-left: -1px;
}

.btn-toggle-password {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 48px;
    height: 48px;
    background-color: var(--btn-toggle-password-bg);
    border: 1px solid var(--btn-toggle-password-bg);
    color: white;
    cursor: pointer;
    position: relative;
}

.btn-toggle-password i {
    font-size: 24px;
    position: absolute;
    left: 43%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
}

/* Adjust existing styles */
.group-label .gob-cancel,
.group-label .gob-check {
    right: 60px;
}

.group-label .input-group {
    z-index: 2;
    position: relative;
}

.group-label label {
    z-index: 1;
}

.btn-toggle-password {
    z-index: 3;
}
.row-login-banner{
  margin-right: -24px;
  margin-left: -24px;
}
.login-banner{
  background-color: var(--banner-login);
  padding-left: 16px;
  padding-right: 16px;
}
p {
  color: var(--text-color);
}

h5 {
  color: var(--text-color);
}

.mainloginCU .header-form-title p {
  color: var(--text-color);
  font-size: 1.25rem;
  margin: 0;
}

.goblogin p {
  color: var(--text-color);
}

a {
  color: var(--link-color);
}

li {
    color: var(--list-text-color);
}

.font-medium li {
    color: var(--list-text-color);
}