/* =============================================
   1) RESET GENERAL
   ============================================= */
   * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  /* =============================================
     2) ESTILOS GLOBALES
     ============================================= */
  html, body {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: white; /* Ajusta según tu preferencia */
  }
  
  /* =============================================
     3) HEADER Y NAVEGACIÓN
     ============================================= */
  header {
    width: 100%;
    /* 
       Si quieres que el header se mantenga fijo al hacer scroll:
       position: sticky;
       top: 0;
       z-index: 999;
    */
  }
  
  /* General Header */
nav {
  background: #131c46;
  display: flex;
  top: 0;
  padding-left: auto;
  width: 100%;
  justify-content:space-around;
  align-items: center;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px,
      rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
  z-index: 2;
}

nav .logo {
  display: flex;
  align-items: center;
}

nav .logo img {
  height: 165px;
  width: auto;
  margin-right: 10px;
}

nav .spam{
  color: white;
}


nav ul {
  list-style: none;
  display: flex;
}

nav ul li {
  margin-left: 1.5rem;
}

nav ul li a {
  text-decoration: none;
  color: #fff;
  font-size: 95%;
  font-weight: 400;
  padding: 4px 8px;
}



/* Dropdown Button */
.dropbtn {
  background-color: #ffffff00;
  color: #fff;
  padding: 16px;
  font-size: 16px;
  border: none;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background: #131c46;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

/* Links inside the dropdown */
.dropdown-content a {
  color: #fff;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
  background-color: #fff;
  color: #131c46;
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
  background-color: #ffffff00;
}

@media (max-width: 768px) {
  .menu-icon {
      display: block;
  }

  /* Ocultar los links normales */
  .nav-links {
      display: none;
  }
}


.menubar {
  position: absolute;
  top: 0;
  left: -60%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 60%;
  height: 100vh;
  padding: 20% 0;
  background: #131c46;
  transition: all 0.5s ease-in;
  z-index: 1;
}


.menubar ul li a:hover {
  background-color: #ffffff;
}

@media screen and (max-width: 790px) {
  .hamburger {
      display: block;
  }

  nav ul {
      display: none;
  }
}
  
  /* =============================================
     4) CONTENEDOR PRINCIPAL (SECCIONES)
     ============================================= */
  /* 📌 Contenedor Principal */
.container {
  display: flex;
  width: 100%;
  max-width: 1400px; /* Limita el ancho del contenido */
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
}

/* 📌 Sección Izquierda (Imagen) */
.left-section {
  width: 50%;
  height: 100vh;
  background: url("/assets/Presidente-vertical-2.png") no-repeat center center;
  background-size: contain; /* Evita que se recorte */
  background-position: center;
  background-color: white;
  min-height: 600px; /* Evita que desaparezca en pantallas grandes */
}

/* 📌 Sección Derecha (Texto) */
.right-section {
  width: 50%;
  padding: 5vw;
  text-align: justify;
  max-width: 700px; /* Evita que el texto se expanda demasiado */
}

/* 🔹 Ajustes para Tablets (1024px - 1479px) */
@media (max-width: 1479px) {
  .container {
    flex-direction: column;
    align-items: center;
  }

  .left-section {
    width: 100%;
    height: auto;
    min-height: 500px; /* Mantiene la imagen visible */
  }

  .right-section {
    width: 90%;
    text-align: justify;
    padding: 4vw;
  }
}

/* 🔹 Ajustes para Móviles (hasta 1024px) */
@media (max-width: 1024px) {
  .left-section {
    width: 100%;
    height: 50vh;
    min-height: 400px; /* Evita que desaparezca */
    background-size: contain;
  }

  .right-section {
    width: 95%;
    padding: 6vw;
    text-align: center;
    max-width: none; /* Permite que el texto se ajuste */
  }
}

/* 🔹 Ajustes para Móviles Pequeños (hasta 768px) */
@media (max-width: 768px) {
  .left-section {
    height: 40vh;
    min-height: 350px;
  }

  .right-section {
    padding: 8vw;
  }

  .right-section h2 {
    font-size: 1.6rem;
  }

  .right-section h3 {
    font-size: 1rem;
  }

  .right-section p {
    font-size: 0.9rem;
    line-height: 1.4;
  }
}

  /* =============================================
     5) CLASES DE ANIMACIÓN CON KEYFRAMES
     ============================================= */
  /* Elementos a animar */
  .anim-left, .anim-right {
    opacity: 0; /* Inician ocultos */
  }
  
  /* Keyframes para deslizar desde la izquierda */
  @keyframes slideFromLeft {
    from {
      transform: translateX(-50px);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  
  /* Keyframes para deslizar desde la derecha */
  @keyframes slideFromRight {
    from {
      transform: translateX(50px);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
  
  /* Cuando se añade .show, se dispara la animación */
  .anim-left.show {
    animation: slideFromLeft 1s forwards;
  }
  .anim-right.show {
    animation: slideFromRight 1s forwards;
  }
  
  /* =============================================
     6) RESPONSIVE DESIGN
     ============================================= */
  /* Tablets */
  @media (max-width: 1024px) {
    .container {
      flex-direction: column;
      height: auto;
    }
    .left-section {
      width: 100%;
      height: 50vh;
    }
    .right-section {
      width: 100%;
      padding: 6vw;
      text-align: center;
    }
    .right-section p {
      text-align: justify;
    }
    .right-section::before {
      display: none;
    }
  }
  
  /* Móviles */
  @media (max-width: 768px) {
    .right-section {
      padding: 8vw;
    }
    .right-section h2 {
      font-size: 2rem;
    }
    .right-section h3 {
      font-size: 1.4rem;
    }
    .right-section p {
      font-size: 1rem;
      line-height: 1.5;
    }
  }
  
  /* =============================================
     7) FOOTER
     ============================================= */
  .footer {
    background-color: #131c46;
    color: #fff;
    padding: 40px 20px;
  }
  
  .footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
  }
  
  .footer-logo {
    height: 200px;
    width: auto;
  }
 
  .social{
    margin-top: 10px;
    height: 30px;
  }
  
  .footer-bottom {
    text-align: center;
    margin-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding-top: 10px;
  }
  

  /* Menu */
#menuglobal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-image: url(assets/purificacion.JPG);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #183889;
  color: #fff !important;
  width: 100%;
  min-height: 100vh;
  z-index: 8888;
}

.globalmenu_telemergencia {
  position: absolute;
  top: 25px;
  right: 100px;
  width: 400px;
  height: 96px;
  border: 1px solid white;
}

.ico_emergencia {
  width: 38px;
  height: 38px;
  background-image: url(../images/icons/icon_telefono.png);
  background-position: center;
  background-size: 90%;
  background-repeat: no-repeat;
}

.globalmenu_telemergencia div {
  text-align: left;
  padding-left: 5px;
  padding-right: 5px;
  float: left;
  border: 1px solid white;
}

.globalmenu_telemergencia div h3 {
  font-size: 10pt;
  color: #fff;
}

.globalmenu_btn_close {
  position: absolute;
  top: 25px;
  right: 75px;
  width: 48px;
  height: 48px;
  background-image: url(assets/ico_menu_btn_close.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 94%;
  cursor: pointer;
  border-bottom: 4px solid transparent;
  z-index: 99;
}

.globalmenu_btn_close:hover {
  border-bottom: 4px solid #3B8DD1;
}

#menuglobal-scrollarea {
  position: relative;
  width: 100% !important;
  height: 100vh !important;
  overflow: auto;
}

#menuglobal-cont {
  position: relative;
  width: 70% !important;
  height: auto;
  padding-right: 17px;
  margin: auto !important;
  padding-top: 90px;
}

.menuglobal-contlst {
  width: 100%;
  height: auto;
}

.menuglobal-listas {
  position: relative;
  height: auto;
  padding-top: 25px !important;
}

.menuglobal-listas-small {
  width: 50%;
  min-height: 20vh;
}

.menuglobal-listas-large {
  width: 100%;
  min-height: 20vh;
}

.menuglobal-lista {
  float: left;
}

.menuglobal-lista hr {
  width: 90%;
  height: 2px;
  border: none;
  background-color: #fff;
  margin-top: 8px;
}

.menuglobal-lista a {
  color: #fff !important;
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 100%;
  background-repeat: no-repeat;
  transition: .6s;
  padding-left: 2px;
  padding-right: 2px;
  text-shadow: 1px 1px 1px #000;
}

.menuglobal-lista a:hover {
  background-size: 100% 100%;
  color: black !important;
  text-shadow: none;
}

.menulst-dos {
  width: 50%;
}

.menulst-dos div {
  width: 50%;
  float: left;
}

.menulst-uno {
  width: 100%;
}

.menulst-uno div {
  width: 50%;
  float: left;
}

.menuglobal-lista h2 {
  font-size: 24pt;
  color: #fff !important;
}

.menuglobal-lista ul {
  list-style: none;
  padding-left: 33px;
}

.menuglobal-lista ul li {
  font-size: 14pt;
  font-weight: 400;
  word-spacing: 1px;
  padding-top: 8px !important;
  cursor: pointer;
}

#menuglobal-info {
  width: 50%;
  height: auto;
  min-height: 20vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

#menuglobal-info div {
  text-align: center;
}

#menuglobal-info div h3 {
  font-size: 11pt;
  font-weight: 400;
  color: #fff !important;
}

#menuglobal-info div h3 a {
  color: #fff;
  background-image: linear-gradient(#8574a5, #1000e9);
  background-size: 0 100%;
  background-repeat: no-repeat;
  transition: .4s;
  padding-left: 2px;
  padding-right: 2px;
}

#menuglobal-info div h3 a:hover {
  background-size: 100% 100%;
  color: black !important;
}

#menuglobal-info div img {
  width: 340px;
}

.menuglobal-cont-div {
  float: left;
}

#menuglobal-destacadas {
  width: 100%;
  min-height: 34vh;
  height: auto;
}

#menuglobal-destacadas hr {
  width: 95%;
  height: 2px;
  border: none;
  background-color: #fff;
  margin-bottom: 25px;
}

.destacadaGroup {
  width: auto;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 4px;
  float: left;
}

.destacadaGroup h2 {
  color: #fff;
  font-size: 18pt !important;
  margin-bottom: 12px;
}

.group-cuatro {
  width: 30%;
  max-width: 30%;
}

.group-tres {
  width: 40%;
  max-width: 40%;
}

.group-dos {
  width: 30%;
}

.group-border {
  border-right: 1px solid #c1c1c1;
}

.menuglobal-destacada {
  width: 150px;
  height: 112px;
  text-align: center;
  padding: 10px;
  cursor: pointer;
  float: left;
}

.menuglobal-destacada:hover {
  color: #33ccff;
}

.destacada-bg {
  margin: 0 auto;
  width: 50px;
  height: 50px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 8px;
}

.menuglobal-destacada span {
  font-size: 11pt;
}

.globalnav-vermas {
  color: #fff;
  background-size: 0%;
  background-position: center;
  background-repeat: no-repeat;
}

.globalnav-vermas span {
  transition: all 0.6s;
}

.globalnav-vermas:hover span {
  color: transparent;
  cursor: pointer;
}

.globalnav-vermas:hover {
  background-size: 26px;
}


@media only screen and (max-width: 1500px) {
  #menuglobal-cont {
      width: 90% !important;
  }
}

@media only screen and (max-width: 700px) {
  #menuglobal-cont {
      position: absolute;
      width: 98% !important;
      top: 0;
      bottom: 0;
      left: 0;
      right: -15px;
  }

  .globalmenu_btn_close {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 48px;
      height: 48px;
      background-size: cover;
      border-bottom: none;
  }

  .globalmenu_btn_close:hover {
      border-bottom: none;
  }

  .menuglobal-listas {
      width: 100%;
      height: auto;
      padding-top: 25px;
  }

  .menulst-dos {
      width: 100%;
      margin-top: 25px;
  }

  .menuglobal-lista h2 {
      font-size: 16pt;
  }

  .menuglobal-lista hr {
      width: 100%;
      margin-top: 5px;
      margin-bottom: 12px;
  }

  .menuglobal-lista ul li {
      font-size: 13pt;
  }

  #menuglobal-destacadas {
      height: auto;
      margin-top: 20px;
      margin-bottom: 25px;
  }

  .menuglobal-destacada {
      width: 33%;
      height: 98px;
      font-size: 10pt;
      padding: 5px;
  }

  .destacada-bg {
      width: 38px;
      height: 38px;
  }

  .destacadaGroup h2 {
      font-size: 16pt !important;
      margin-top: 10px;
  }

  .group-cuatro {
      width: 100%;
      max-width: 100%;
  }

  .group-tres {
      width: 100%;
      max-width: 100%;
  }

  .group-dos {
      width: 100%;
      max-width: 100%;
  }

  .group-border {
      border-right: 0px solid #c1c1c1;
  }
}

.sticky-container {
  padding: 0px;
  margin: 0px;
  position: fixed;
  right: -150px;
  top: 230px;
  width: 210px;
  z-index: 1100;
}

.sticky li {
  list-style-type: none;
  background-color: #ffffff00;
  color: transparent;
  height: 43px;
  padding: 0px;
  margin: 0px 0px 1px 0px;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  cursor: pointer;
}

.sticky li:hover {
  margin-left: -30px;
}

.sticky li img {
  float: left;
  margin: 5px 4px;
  margin-right: 5px;
}

.sticky li p {
  padding-top: 5px;
  margin: 0px;
  line-height: 16px;
  font-size: 11px;
}

.sticky li p a {
  text-decoration: none;
  color: #2C3539;
}

.sticky li p a:hover {
  text-decoration: underline;
}

