
body {
  background: #2a2a2a !important;  
color: #f4f4f4; /* Texto blanco para contraste */
font-family: "Open Sans", sans-serif;
}

a {
color: #fcffff; /* Enlaces en color  */
}

a:hover, a:active, a:focus {
color: #191f1d; /* Enlaces en hover se oscurecen un poco */
outline: none;
text-decoration: none;
}

p {
padding: 0;
margin: 0 0 30px 0;
}

h1, h2, h3, h4, h5, h6 {
font-family: "Poppins", sans-serif;
font-weight: 400;
margin: 0 0 20px 0;
padding: 0;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
padding: 10px 0;
  height: auto; 
  min-height: 92px; 
position: fixed;
left: 0;
top: 0;
right: 0;
transition: all 0.5s;
z-index: 997;

}

#header #logo {
float: left;
}

#header #logo h1 {
font-size: 36px;
margin: 0;
padding: 6px 0;
line-height: 1;
font-family: "Poppins", sans-serif;
font-weight: 700;
letter-spacing: 3px;
text-transform: uppercase;
}

#header #logo h1 a, #header #logo h1 a:hover {
color: #fff; /* Enlace de logo en blanco */
}

#header #logo img {
padding: 0;
margin: 0;
max-height: 80px; 
  width: auto;
}
@media (max-width: 768px) {
  #header #logo img {
    max-height: 60px;
  }
}



#header.header-fixed {
background: rgba(52, 59, 64, 0.9);
padding: 20px 0;
height: 72px;
transition: all 0.5s;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
  width: 100%;
  height: 100vh;
  background: url(../img/imagen-central.png) top center no-repeat;
  background-size: cover;
  background-attachment: scroll; 
  position: relative;
}


@media (min-width: 768px) {
  #hero {
    background-attachment: fixed;
  }
}


@media (max-width: 768px) {
  #hero {
    height: 35vh; /* Ajusta la imagen */
  }
}

#hero:before {
content: "";
background: rgba(0, 0, 0, 0.6);
position: absolute;
bottom: 0;
top: 0;
left: 0;
right: 0;
}

#hero .hero-container {
position: absolute;
bottom: 0;
top: 0;
left: 0;
right: 0;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
}
.language-selector select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: transparent;
  color: #fff; /* Igual que los demás enlaces */
  border: none;
  padding: 0 8px 10px 8px; /* Igual que .nav-menu a */
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 13px;
  cursor: pointer;
  outline: none;
}


.language-selector select option {
  background: rgba(52, 59, 64, 0.9); /* Fondo del desplegable */
  color: #000000;
}

/* Opcional: animación tipo subrayado al pasar el mouse, como los otros */
.language-selector select:hover {
  border-bottom: 2px solid #b69a1b;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/

.nav-menu, .nav-menu * {
margin: 0;
padding: 0;
list-style: none;
}

.nav-menu ul {
position: absolute;
display: none;
top: 100%;
left: 0;
z-index: 99;
}

.nav-menu li {
position: relative;
white-space: nowrap;
}

.nav-menu > li {
float: left;
}

.nav-menu li:hover > ul,
.nav-menu li.sfHover > ul {
display: block;
}

.nav-menu ul ul {
top: 0;
left: 100%;
}

.nav-menu ul li {
min-width: 180px;
}

/* Nav Menu Arrows */
.sf-arrows .sf-with-ul {
padding-right: 30px;
}

.sf-arrows .sf-with-ul:after {
content: "\f107";
position: absolute;
right: 15px;
font-family: FontAwesome;
font-style: normal;
font-weight: normal;
}

.sf-arrows ul .sf-with-ul:after {
content: "\f105";
}

/* Nav Menu Container */
#nav-menu-container {
float: right;
margin: 0;
}

@media (max-width: 768px) {
  #nav-menu-container {
    display: none !important;
  }
}


.nav-menu a {
padding: 0 8px 10px 8px;
text-decoration: none;
display: inline-block;
color: #fff; /* Enlaces blancos */
font-family: "Poppins", sans-serif;
font-weight: 400;
text-transform: uppercase;
font-size: 13px;
outline: none;
}

.nav-menu > li {
margin-left: 10px;
}

.nav-menu > li > a:before {
content: "";
position: absolute;
width: 100%;
height: 2px;
bottom: 0;
left: 0;
background-color: #b69a1b;
visibility: hidden;
-webkit-transform: scaleX(0);
transform: scaleX(0);
-webkit-transition: all 0.3s ease-in-out 0s;
transition: all 0.3s ease-in-out 0s;
}

.nav-menu a:hover:before, .nav-menu li:hover > a:before, .nav-menu .menu-active > a:before {
visibility: visible;
-webkit-transform: scaleX(1);
transform: scaleX(1);
}

.nav-menu ul {
margin: 4px 0 0 0;
border: 1px solid #e7e7e7;
}

.nav-menu ul li {
background: #fff;
}

.nav-menu ul li:first-child {
border-top: 0;
}

.nav-menu ul li a {
padding: 10px;
color: #333;
transition: 0.3s;
display: block;
font-size: 13px;
text-transform: none;
}

.nav-menu ul li a:hover {
background:#b69a1b;
color: #fff;
}

.nav-menu ul ul {
margin: 0;
}

/* Mobile Nav Toggle */
#mobile-nav-toggle {
position: fixed;
right: 0;
top: 0;
z-index: 999;
margin: 20px 20px 0 0;
border: 0;
background: none;
font-size: 24px;
display: none;
transition: all 0.4s;
outline: none;
cursor: pointer;
}

#mobile-nav-toggle i {
color: #fff;
}

@media (max-width: 768px) {
#mobile-nav-toggle {
  display: inline;
}
}

/* Mobile Nav */
#mobile-nav {
position: fixed;
top: 0;
padding-top: 18px;
bottom: 0;
z-index: 998;
background: rgba(52, 59, 64, 0.9);
left: -260px;
width: 260px;
overflow-y: auto;
transition: 0.4s;
}

#mobile-nav ul {
padding: 0;
margin: 0;
list-style: none;
}

#mobile-nav ul li {
position: relative;
}

#mobile-nav ul li a {
color: #fff;
font-size: 16px;
overflow: hidden;
padding: 10px 22px 10px 15px;
position: relative;
text-decoration: none;
width: 100%;
display: block;
outline: none;
}

#mobile-nav ul li a:hover {
color: #fff;
}

#mobile-nav ul li li {
padding-left: 30px;
}

#mobile-nav ul .menu-has-children i {
position: absolute;
right: 0;
z-index: 99;
padding: 15px;
cursor: pointer;
color: #fff;
}

#mobile-nav ul .menu-has-children i.fa-chevron-up {
color: #2dc997;
}

#mobile-nav ul .menu-item-active {
color: #2dc997;
}

#mobile-body-overly {
width: 100%;
height: 100%;
z-index: 997;
top: 0;
left: 0;
position: fixed;
background: rgba(52, 59, 64, 0.9);
display: none;
}

/* Mobile Nav  */
body.mobile-nav-active {
overflow: hidden;
}

body.mobile-nav-active #mobile-nav {
left: 0;
}


/* Sección de encabezado --------------------------------------*/

.section-header .section-title {
  font-size: 28px; /* Reduce el tamaño de la fuente */
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  font-weight: 700;
  margin-bottom: 2px; /* Reduce el margen inferior */
}

.section-header .section-description {
  text-align: center;
  padding-bottom: 20px; /* Reduce el padding-bottom */
  color: #aaa;
}

/* Sección "About Us" --------------------------------------*/

#about {
  background: #333; /* Fondo oscuro */
  padding: 40px 0; 
}

#about .about-container .content {
  background: #333; /* Fondo oscuro */
  color: #fff; /* Color blanco para el texto */
  margin-bottom: 10px; 
}

#about .about-container .title {
  font-weight: 700;
  font-size: 28px; 
  margin-bottom: 10px; 
}

#about .about-container p {
  line-height: 22px; /* Reduce el espacio entre líneas */
  color: #ccc;
  margin-bottom: 10px; /* Reduce el margen inferior */
}

#about .about-container .background {
  display: flex;
  justify-content: center;
  align-items: center;
}

#about .about-container .background img {
  max-width: 100%; /* Asegura que la imagen se ajuste correctamente */
  height: auto;
  border-radius: 10px; /* Opcional: bordes redondeados */
  margin-bottom: 10px; /* Reducir el margen inferior de la imagen */
}

@media (max-width: 768px) {
  
  #about .about-container .content,
  #about .about-container .background {
    order: 0;
    text-align: center; /* Centra el texto en pantallas pequeñas */
  }

  #about .about-container .title {
    padding-top: 10px; 
  }
}



/* Facts Section
--------------------------------*/
#facts {
background: #222; /* Fondo más oscuro */
padding: 80px 0 60px 0;
}

#facts .counters span {
font-size: 48px;
display: block;
color: #2dc997;
}

#facts .counters p {
padding: 0;
margin: 0 0 20px 0;
font-family: "Poppins", sans-serif;
font-size: 14px;
color: #ccc; /* Texto en gris claro */
}

/* Services Section
--------------------------------*/
#services {
background: #333; /* Fondo oscuro */
background-size: cover;
padding: 80px 0 60px 0;
}

#services .box {
padding: 50px 20px;
margin-bottom: 50px;
text-align: center;
border: 1px solid #444; 
height: 200px;
position: relative;
background: #444; 
}

#services .icon {
position: absolute;
top: -36px;
left: calc(50% - 36px);
transition: 0.2s;
border-radius: 50%;
border: 6px solid #333; 
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
width: 72px;
height: 72px;
background: #ffffff;
}

#services .icon a {
display: inline-block;
}

#services .icon i {
color: #fff;
font-size: 20px;
}

#services .box:hover .icon {
background: #ffffff; 
border: 2px solid #ffffff;
}

#services .box:hover .icon i {
color: #fff9f9;
}

#services .box:hover .icon a {
color: #ffffff;
}

#services .title {
font-weight: 700;
font-size: 18px;
margin-bottom: 15px;
text-transform: uppercase;
color: #fff; /* Título */
}

#services .title a {
color: #fff;
}

#services .description {
font-size: 14px;
line-height: 24px;
color: #ccc; /
}



/* Contact Section */
#contact {
  background: #222; /* Fondo oscuro */
  padding: 50px 0; 
}

#contact .contact-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1000px; /* Reduce el ancho máximo */
  margin: auto;
  gap: 30px; /* Espaciado entre columnas */
}

#contact .info {
  color: #ffffff;
  flex: 1;
  max-width: 40%; /* Reduce el ancho de la info */
}

#contact .info div {
  display: flex;
  align-items: center;
  margin-bottom: 15px; /* Espaciado entre elementos */
}

#contact .info i {
  font-size: 20px; /* Iconos */
  color: #ffffff;
  margin-right: 12px; /* Espaciado entre icono y texto */
}

#contact .info p {
  margin: 0;
  font-size: 15px; /* Texto del mismo tamaño que los iconos */
}

/* Social links */
#contact .social-links {
  margin-top: 15px;
  display: flex;
  gap: 5px; /* Espaciado entre iconos */
  flex-wrap: wrap; /* Permite que los iconos se ajusten si es necesario */
}

#contact .social-links a {
  font-size: 15px; /* Tamaño de icono ajustado */
  color: #fff; /* Color inicial */
  position: relative;
  text-decoration: none;
  padding-bottom: 3px; /* Espacio para la línea */
  display: flex;            /* Mostrar los iconos y texto en fila */
  align-items: center;      
  gap: 8px;                
  transition: color 0.3s;
}


#contact .social-links a::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  background: #b8a607;
  position: absolute;
  left: 50%;
  bottom: -4px;
  transition: width 0.3s ease, left 0.3s ease;
}

#contact .social-links a:hover {
  color: #b8a607;
}

#contact .social-links a:hover::after {
  width: 100%;
  left: 0;
}

/* Google Maps a la derecha */
#contact iframe {
  flex: 1;
  max-width: 55%; /* Ajustamos el ancho del mapa */
  height: 320px; /* Hacemos el mapa más compacto */
  border: none;
}

/* Responsive */
@media (max-width: 768px) {
  #contact .contact-wrapper {
    flex-direction: column;
    text-align: center;
  }

  #contact .info, 
  #contact iframe {
    max-width: 100%;
  }

  #contact .info div {
    justify-content: center;
  }
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
background: #343b40;
padding: 30px 0;
color: #fff;
font-size: 14px;
}

#footer .copyright {
text-align: center;
}

#footer .credits {
padding-top: 10px;
text-align: center;
font-size: 13px;
color: #ccc;
}


