html,
body {
  padding: 0;
  margin: 0;
  font-family: "Cairo", sans-serif !important;
  background-color: white !important;
}

main {
  min-height: 100vh;
}

label {
  color: black !important;
}

.bg-black {
  background-color: black !important;
}

.navbar-container {
  width: 80%;
  display: flex;
  flex-direction: row;
  margin: 0px 20px;
  margin: auto;
}

.nav-color-block {
  height: 15px;
  width: 100%;
  background: linear-gradient(62deg, rgb(95, 183, 150) 0%, rgba(157, 196, 130, 1) 10%, rgba(255, 203, 0, 1) 50%, rgba(231, 65, 51, 1) 100%);
}

nav {
  box-shadow: 0px 2px 2px grey;
  background: grey;
}

.img-nav{
  max-height: 60px;
}

header #button-menu {
  font-size: 30px;
  color: #fff;
  cursor: pointer;
}

.navegacion {
  position: absolute;
  top: 100%;
  left: 0;
  width: 0%;
  height: 100vh;
  background: rgb(140, 193, 235);
  background: linear-gradient(90deg, rgba(22, 54, 105, 1) 0%, rgba(140, 193, 235, 1) 100%);
}

.navegacion ul {
  width: 220px;
  height: 100%;
  /* de la barra del costado del menu que se despliega */
  list-style: none;
  position: absolute;
  top: 0;
  padding-left: 0px;
  left: -320px;
  transition: left .1s;
}

.navegacion .menu li.title-menu {
  /*padding: 5px;*/
  background: #ffcb00;
  /*  #3476C6;*/
  color: black;
  text-align: center;
  font-size: 22px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

.navegacion li {
  float: none;
}

.navegacion .menu a {
  display: block;
  /*padding: 13px;*/
  border: 1px solid #0000000e;
  /*font-size: 13px;*/
  /*font-weight: 200;*/
  text-decoration: none;
  color: black;
  background-color: white;
}

.navegacion .menu a:hover {
  background: linear-gradient(62deg, rgba(255, 203, 0, 1) 90%, rgba(231, 65, 51, 1) 100%);
  color: black;
}

.navegacion .menu li span.icon-menu {
  margin-right: 12px;
}

/* Submenu ============*/

.navegacion .submenu li.title-menu {
  background: #ffcb00;
  color: black;
}

.navegacion .submenu li.go-back {
  padding: 10px 20px;
  color: black;
  font-size: 18px;
  cursor: pointer;
  background: #ffcb00;
}

.navegacion .submenu li.go-back::before {
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\f0d9';
  margin-right: 10px;
}

.subtitulo{
  width: 120%; 
  height: 4px; 
  background-color: #A5D6A7; 
  margin-top: 2px;
}

.cartel {
  background-color: #F8C750;
  border: none;
  color: white;
  padding: 2px 2px;
  font-size: 12px;
}

.separetor {
  height: 5px;
  background: linear-gradient(62deg, rgba(0, 169, 201, 1) 0%, rgba(157, 196, 130, 1) 25%, rgba(255, 203, 0, 1) 50%, rgba(231, 65, 51, 1) 100%);
  width: 45%;
  margin: 15px auto;
}

.imprimir-exito-dia-hora {
  background-color: #9DC482;
  color: white;
  padding: 10px;
  border-radius: 10px;
  font-size: 16px;
}

.boton-descargar-turno {
  background-color: #9DC482;
  color: black;
  transition: all 0.5s ease;
  border: 1px solid rgb(120, 150, 99);
}

.boton-descargar-turno:hover {
  background-color: #678154;
  color: white;
}


.titulo-datos-personales {
  border-radius: 10px 10px 0 0;
  margin-bottom: 5px;
}

.green {
  background-color: rgb(226, 232, 168);
}

.flecha-volver-turnos {
  background: rgb(157, 196, 130);
  font-size: 20px;
  color: white;
  transition: all 0.5s ease;
}

.flecha-volver-turnos:hover {
  color: white;
  background: rgb(108, 134, 89);
}

.boton-confirmar-turno {
  background-color: rgb(157, 196, 130);
  color: black;
  transition: all 0.5s ease;
  border: 1px solid rgb(120, 150, 99);
}

.boton-confirmar-turno:hover {
  background-color: rgb(120, 150, 99);
  color: white;
}

.boton-cancelar-turno {
  background-color: rgb(226, 226, 228);
  color: black;
  transition: all 0.5s ease;
}

.boton-cancelar-turno:hover {
  background-color: rgb(171, 171, 172);
  color: black;
}

.title-menu,
.go-back {
  background: #ffcb00;
}

.btn-ingresa {
  width: 70px;
  height: 25px;
  border: 1px solid rgb(255, 255, 255);
  border-radius: 20px;
  background: rgb(0, 145, 255);
  background: -moz-linear-gradient(157deg, rgb(107, 198, 224) 0%, rgb(78, 181, 209) 65%, rgb(62, 154, 196) 100%);
  background: -webkit-linear-gradient(157deg, rgb(107, 198, 224) 0%, rgb(78, 181, 209) 65%, rgb(62, 154, 196) 100%);
  background: linear-gradient(157deg, rgb(107, 198, 224) 0%, rgb(78, 181, 209) 65%, rgb(62, 154, 196) 100%);
  color: rgb(255, 255, 255);
  box-shadow: 3px 3px rgba(0, 0, 0, 0.15);
}

.boton2 {
  background: #92c7eb;
  background-image: url('http://res.freestockphotos.biz/pictures/15/15107-illustration-of-a-red-close-button-pv.png');
  background-size: cover;
  background-position: center;
  display: inline-block;
  border: none;
  padding: 20px;
  width: 40px;
  border-radius: 900px;
  height: 40px;
  transition: all 0.5s;
  cursor: pointer;
}

.boton2:hover {
  width: 75px;
  height: 75px;
}

.boton3 {
  min-width: 130px;
  height: 40px;
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  border-radius: 5px;
  border: none;
  background-size: 120% auto;
  background-image: linear-gradient(315deg, #000428 0%, #004e92 75%);
}

.boton3:hover {
  background-position: right center;
}

.boton3:active {
  top: 2px;
}

.boton4 {
  min-width: 130px;
  height: 40px;
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  border-radius: 5px;
  border: none;
  background: #3a86ff;
  box-shadow: 0 5px #4433ff;
}

.boton4:hover {
  box-shadow: 0 3px #4433ff;
  top: 1px;
}

.boton4:active {
  box-shadow: 0 0 #4433ff;
  top: 5px;
}

.boton5 {
  min-width: 130px;
  height: 40px;
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border-radius: 5px;
  border: none;
  background-color: #3a86ff
}

.boton5:hover {
  border-radius: 5px;
  padding-right: 24px;
  padding-left: 8px;
}

.boton5:hover:after {
  opacity: 1;
  right: 10px;
}

.boton5:after {
  content: "\00BB";
  position: absolute;
  opacity: 0;
  font-size: 20px;
  line-height: 40px;
  top: 0;
  right: -20px;
  transition: 0.4s;
}

.boton6 {
  min-width: 130px;
  height: 40px;
  color: #fff;
  padding: 5px 10px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  border-radius: 5px;
  z-index: 0;
  background: #fff;
  overflow: hidden;
  border: 2px solid #57cc99;
  color: #57cc99;
}

.boton6:hover {
  color: #fff;
}

.boton6:hover:after {
  height: 100%;
}

.boton6:after {
  content: "";
  position: absolute;
  z-index: -1;
  transition: all 0.3s ease;
  left: 0;
  bottom: 0;
  height: 0;
  width: 100%;
  background: #57cc99;
}

.label-titulo {
  font-size: 25px;
  color: white;
  text-align: center;
}

.container-nav {
  width: 95%;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
}

.navbar-brand {
  text-align: end;
}

.pagination {
  justify-content: center;
}

.spam-radio {
  font-size: 10px;
}

.btn-continua::before {
  content: "Continua";
}

.btn-seleciona::before {
  content: "Selecciona";
}

.th-nro-inmueble::before {
  content: "Nro. Inmueble";
}

.div-prioridad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
}

.div-prioridad h6 {
  text-align: center;
  grid-column: 1/4;
}

.label-prioridades {
  text-align: center;
  width: 70%;
}

.label-mail {
  grid-column: 1/4;
}

/*estilos grilla*/
.titulo-grilla {
  background-color: #9DC482;
  padding: 5px;
  border-radius: 10px;
  margin-bottom: 20px;
}

.container-grilla-turnos {
  overflow-x: auto;
}

.grilla-turnos {
  max-width: 50%;
  margin: auto;
}

.btn-turno-disponible {
  background-color: #9DC482 !important;
  transition: all 0.4s ease-in-out;
}

.btn-turno-disponible:hover {
  background-color: #6d885a;
  color: white !important;
}

.btn-turno-ocupado {
  background-color: #E74133;
  transition: all 0.4s ease-in-out;
}

.btn-turno-ocupado:hover {
  background-color: #a52e23;
}

/*fin estilos grilla*/

/* ESTILOS PARA TURNOS TOTEM*/
.form-turno-container {
  display: flex;
  flex-direction: column;
  width: 60%;
  margin: auto;
  align-items: center;

  & h1 {
    margin: 40px 0px;
    font-size: 75px;
    text-align: center;
  }
}

.boton-tramite {
  width: 100%;
  height: 100px;
  margin: 10px 0px;
  border: 0px;
  background: rgb(0, 169, 201);
  background: linear-gradient(62deg, rgba(0, 169, 201, 0.70) 0%, rgba(157, 196, 130, 0.70) 25%, rgba(255, 203, 0, 0.70) 50%, rgba(231, 65, 51, 0.70) 100%);
  border-radius: 10px;
  transition: 0.3s;
  padding: 0px !important;
  font-weight: bold;
}

.boton-tramite:hover {
  background: linear-gradient(62deg, rgba(0, 169, 201, 1) 0%, rgba(157, 196, 130, 1) 25%, rgba(255, 203, 0, 1) 50%, rgba(231, 65, 51, 1) 100%);
  height: 130px;
  width: 110%;
}

.boton-totem {
  font-size: 45px;
  color: white;
  text-shadow: 3px 3px 5px black;
  display: block;
  width: 100%;
  height: 100%;
  line-height: 100px;
  margin: auto;
  text-decoration: none;
  transition: 0.3s;
}

.boton-totem:hover {
  color: white;
  line-height: 130px;
  font-size: 55px;
}

.cursor-pointer {
  cursor: pointer !important;
}

.hover-link:hover u {
  color: #ffffff;
  /* Opcional: cambia el color al pasar el mouse para dar feedback */
  transition: color 0.3s ease;
}


/* FIN ESTILOS TURNOS TOTEM*/

.footer-principal {
  width: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  position: sticky;
  bottom: 0;
  margin: auto;
  background: rgb(0, 169, 201);
  background: linear-gradient(62deg, rgba(0, 169, 201, 1) 0%, rgba(157, 196, 130, 1) 25%, rgba(255, 203, 0, 1) 50%, rgba(231, 65, 51, 1) 100%);
}

.imagen-escudo {
  height: 60px;
}

.imagen-zarate {
  width: 50px;
}

.imagen-te-escucha {
  height: 60px;
}

.contenedor_logotipos {
  box-sizing: content-box;
  width: 100%;
  height: 100px;
  padding: 5px 0px;
  background-color: #706f6f;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;

  .texto-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;

    p {
      color: rgb(255, 204, 0);
      font-size: 18px;
      text-wrap: wrap;

      u {
        overflow-wrap: break-word;
        /* Rompe la palabra si no cabe */
        word-break: break-all;
        /* Fuerza el quiebre en cualquier carácter */
      }
    }
  }
}

.footer-base {
  margin-top: 20px;
}

.copyright {
  width: 100%;
  display: block;
  text-align: center;
  height: 28px;
  background: linear-gradient(62deg,
      rgba(0, 169, 201, 1) 0%,
      rgba(157, 196, 130, 1) 25%,
      rgba(255, 203, 0, 1) 50%,
      rgba(231, 65, 51, 1) 100%);
  p {
    margin: 0px !important;
  }
}

.copyright-text{
  font-size: 14px;
  color: black;
  font-weight: bolder;
}

.footer-img {
  max-height: 60px;
}

.imagen-acompania-texto {
  height: 30px;
}

.boton-verde {
  border: 1px solid rgb(159, 197, 130);
  transition: all 0.9s ease;
  margin: 5px;
  border-radius: 5px;
  font-weight: bold;
}

.boton-verde:hover,
.boton-verde:focus {
  background-color: rgb(159, 197, 130);
}

.boton-rojo {
  background-color: rgb(232, 65, 51);
  margin: 5px;
  border-radius: 5px;
  font-weight: bold;
}

.swal2-confirm:focus {
  background-color: rgb(131, 173, 99);
}

.swal2-confirm:hover {
  background-color: rgb(122, 151, 100);
}

.swal2-icon {
  border-color: rgb(159, 197, 130) !important;
  color: rgb(159, 197, 130) !important;
}

/* --- ESTILOS MENSAJE ERROR --- */
/* Asegura que los mensajes de error sean visibles y se vean bien */
.invalid-feedback {
  display: block;
  /* Importante: fuerza la visibilidad */
  width: 100%;
  margin-top: 0.25rem;
  font-size: 85%;
  color: #dc3545;
  /* Rojo típico para errores */
}

/* Opcional: Para el input que tiene el error */
.is-invalid {
  border-color: #dc3545 !important;
  /* Resalta el borde del input con error */
  padding-right: calc(1.5em + 0.75rem);
}

@media (max-width: 1090px) {
  .form-turno-container {
    width: 90%;
  }
}

@media (max-width: 768px) {
  body {
    padding: 0;
    margin: 0;
  }
  
  .navMobile {
    padding: 8px 0 0 0;
    /* position: static; */
  }

  .navbar-brand {
    grid-column: 2/3;
  }

  .ul-menu {
    text-align: center;
  }

  .navbar-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
  }

  .navbar-nav img {
    grid-column: 1/3;
  }

  .nav-link {
    grid-column: 1/2;
  }

  .mainM {
    margin-top: 80px;
    padding: 0;
  }

  .p-4 {
    padding: 0 !important;
  }

  .form-row {
    width: 95%;
    margin: auto;
    padding: 0px 30px;
  }

  .form-group img {
    width: 50%;
  }

  .font-label-alta {
    margin-bottom: 10px;
  }

  .page-link {
    padding: 10px;
  }

  .spam-radio {
    font-size: 15px;
  }

  .imagen-escudo {
    height: 40px;
  }

  .imagen-zarate {
    width: 30px;
  }

  .imagen-te-escucha {
    height: 40px;
  }

  .form-turno-container {
    width: 95%;

    a {
      font-size: 30px;
    }
  }

  .contenedor_logotipos {
    .texto-footer {
      p {
        font-size: 13px;
      }
    }
  }

  .footer-img {
    display: none;
  }
}

@media (max-width: 500px) {
  .img-nav{
    display: none;
  }

  .contenedor_logotipos {
    flex-direction: column;
  }

  .copyright {
    height: 16px;
    p {
      margin: 0px !important;
    }
  }

  .copyright-text{
    font-size: 10px;
    font-weight: normal;
  }

  .form-group img {
    width: 80%;
  }

  .form-row {
    padding: 0;
  }

  .page-link {
    padding: 5px;
  }

  .spam-radio {
    font-size: 20px;
  }

  .no-margin {
    padding: 0 !important;
  }

  .btn-continua::before {
    content: "Cont";
  }

  .btn-seleciona::before {
    content: "Selec";
  }

  .boton1 {
    width: 35px;
  }

  .th-nro-inmueble::before {
    content: "Nro. Inm";
  }

  .label-mail {
    grid-column: 1/4;
    grid-row: 3/4;
  }
}