/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
  font-family: Arial, sans-serif;
}

/* Header */
header {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #333;
  color: white;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 10px 20px;
  z-index: 1000;
}

body {
  font-family: 'Roboto', sans-serif;
  background-color: #f9f9f9;
}

h2 {
  font-weight: 700;
  font-size: 2.5rem;
}

.about-section p {
  font-size: 1.3rem;
  line-height: 1.8;
  color: #333;
}

header {
  background-color: #f9f9f9;
  padding: 5px 8px 0px 8px;
  border-bottom: 1px solid #e0e0e0; /* Línea sutil en la parte inferior */
}

.header-container {
  display: flex;
  width: 100%;
  justify-content: inherit;
  align-items: flex-start;
  margin: 0 auto;
}

header .logo {
  height: 50px;
}

header .menu {
  list-style: none;
  display: flex;
  gap: 15px;
}

header .menu li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}

header .menu li a:hover {
  color: #ff5722;
}

.text-container {
  flex: 1;
  min-width: 280px;
  max-width: 583px;
  margin-right: 86px;
}

.menu li a {
  background-color: #ff5c00;  /* naranja vibrante */
  color: white !important;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  margin-left: 10px;
  transition: background-color 0.3s ease;
}

.footer-column.logo img {
  max-width: 90px;
  height: auto;
  filter: grayscale(100%) brightness(0.7);
}

.bodymap main, .bodywho main {
  margin: 60px 0px 0 0;
  width: 100%;
}

.bodymap main {
  height: calc(100vh - 133px);
}

.bodywho main {
  height: calc(100vh - 316px);
}

gmp-map {
  height: 100%;
}

#map .gm-style-iw {
  max-height: 500px;
}

/* Footer */
.footer {
  background-color: #1e2938;
  padding: 10px 10px;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 100%;
  gap: 10px;
  padding: 0 40px;
}

.footer-column {
  flex: 1;
  min-width: 120px;
  text-align: left;
}

.footer-column logo {
  font-size: 14px;
  line-height: 1.5;
  margin-right: 20px;
}

.footer-column.description p {
  font-size: 14px;
  line-height: 1.5;
  margin-right: 20px;
}

.footer-column.links ul {
  list-style: none;
  padding: 0;
}

.footer-column.links li {
  margin-bottom: 10px;
}

.footer-column.links a {
  text-decoration: none;
  color: #fff;
  font-size: 14px;
  transition: color 0.3s;
}

.footer-column.links a:hover {
  color: #ff5722;
}

.footer-column.social-media p {
  font-size: 14px;
  margin-bottom: 10px;
}

.footer-links-icons {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}

.footer-links-icons ul {
  list-style: none;
  display: flex;
  gap: 15px;
  padding: 0;
  margin: 0;
}

li.liico a{
  background-color: #ff5722;
  padding: 14px 28px;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 25px;
  color: white!important;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

li.liico a:hover{
  background-color: #ff56225d;
}

.footer-links-icons .icons {
  display: flex;
  gap: 15px;
}

.footer-links-icons .icons .aico {
  color: white!important;
  font-size: 1.1rem;
}


/* Redes sociales con Font Awesome */
.footer-column.social-media .icons {
  display: flex;
  gap: 15px; /* Espaciado entre los íconos */
}

.footer-column.social-media .social-icon {
  color: #fff;
  font-size: 24px; /* Tamaño del ícono */
  text-decoration: none;
  transition: transform 0.3s, color 0.3s;
}

.footer-column.social-media .social-icon:hover {
  color: #ff5722; /* Color de hover */
  transform: scale(1.2); /* Efecto de zoom */
}

.footer-column.social-media .icons a {
  margin-right: 10px;
  display: inline-block;
}

.footer-column.social-media .icons img {
  width: 30px;
  height: 30px;
  transition: transform 0.3s;
}

.footer-column.social-media .icons img:hover {
  transform: scale(1.1);
}

.marker-info-win {
  display: block;
  border: 1.5px rgba(54, 82, 155, 0.63);
  border-radius: 11px;
  width: 97%;
  border-style: dashed;
  padding: 4px 8px;
  margin: 0 16px auto 0px;
  line-height: 1.65;
}

.marker-info-win:hover {
  cursor:pointer;
  background-color: #eeeeee;
}

.marker-inner-win, .alink {
  font-size: 17px;
  margin-bottom: 8px;
}

.marker-info-win a:focus, .marker-info-win a:hover {
  text-decoration: none;
  outline: none;
}

.gm-style-iw.gm-style-iw-c {
  max-height: 450px!important;
}

.gm-style img {
  max-width: 274px;
}


/*********************************************************************** */

.preload-frame {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.container-preload {
  text-align: center;
  padding: 40px;
  margin-top: -40px;
}

.container-preload .welcome {
  font-weight: 700;
  font-size: large;
}

.container-preload .logo {
  margin-bottom: 20px;
}

.container-preload h1 {
    font-size: 36px;
    color: #333;
}

.container-preload h1 span {
    color: #f15a29;
}

.container-preload p {
    font-size: 14px;
    color: #666;
    margin: 20px 0;
}

.container-preload .btn {
    background-color: #333;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 20px;
    text-decoration: none;
    font-size: 14px;
    display: inline-block;
    margin-top: 20px;
}

.container-preload .btn:hover {
    background-color: #555;
}

/* **********************************************************/


/* Logo */
.logo img {
  height: 40px; /* Ajusta el tamaño del logo */
}

.nav-original {
  margin-top: 13px;
}

/* Navegación */
.nav-original ul {
  display: flex;
  list-style: none;
  gap: 20px;
}

.nav-original ul li a {
  text-decoration: none;
  color: #333;
  font-size: 11px;
  font-weight: 500;
  transition: color 0.3s;
}

.nav-original ul li a:hover {
  color: #ff5722; /* Cambia el color al pasar el mouse */
}

.navbar {
  margin-bottom: 0px;
  border-radius: 0px;
}

/* Barra de búsqueda */
.search {
  position: relative;
  display: flex;
  align-items: center;
}

.search input {
  padding: 8px 15px;
  border: 1px solid #ccc;
  border-radius: 20px;
  font-size: 14px;
  width: 200px;
  transition: border-color 0.3s;
}

.search input:disabled{
  background-color: #D9D9D9;
}

.search input:focus {
  outline: none;
  border-color: #ff5722;
}

.search i {
  position: absolute;
  right: 10px;
  color: #aaa;
  font-size: 14px;
  pointer-events: none;
  margin: auto;
  padding: 12px 0 0 0;
}

.about-section {
  display: flex;
  min-height: calc(100vh - 316px);
  flex-direction: column;
  align-items: center;
  padding: 2rem 2rem 5rem 2rem;
  background-color: #f9f9f9;
}

.quienes-somos-content {
  display: flex;
  justify-content: space-between;
  max-width: 1900px;
  margin-bottom: 2rem;
  overflow: hidden;
  gap: 40px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.galeria-equipo .thumbs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px;
}

.galeria-equipo .thumbs img {
  height: 136px;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.3s;
}

.galeria-equipo .thumbs img:hover {
  transform: scale(1.05);
}

.galeria-equipo {
  flex: 1;
  min-width: 280px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}

.text-container h2 {
  font-size: 3.8rem;
  margin-bottom: 1rem;
}

.text-container p {
  font-size: 1.5rem;
  color: #555;
  margin-bottom: 1.5rem;
}



.view-map {
  padding: 1.2rem 4rem;
  background-color: #1c2732;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  border-radius: 21px;
  margin: 4px 0;
  display: inline-block;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.view-map:hover {
  color: whitesmoke;
  text-decoration: none;
  background-color: #e9571c;
}

.image-container {
  max-width: 100%;
}

.image-container img {
  max-width: 500px;  /* Ajusta el ancho de las imágenes */
  max-height: 300px; /* Ajusta la altura de las imágenes */
  object-fit: cover; /* Para mantener la proporción sin deformar */
}

.carousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0px 40px;
  border-radius: 10px;
}

.carousel-container .asociated-inmos {
  font-weight: 700;
  font-size: large;
}

.carousel {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 2000px;
  font-family: system-ui;
  font-weight: 600;
  text-transform: uppercase;
}

.carousel-item {
  min-width: 115px;
  margin: 0px 10px;
  text-align: center;
}

.carousel-item img {
  width: 100px;
  height: auto;
}

.carousel-item p {
  margin: 10px 0 0;
  color: #333;
  font-size: xx-small;
  font-weight: 700;
}

.carousel-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #f9f9f9;
  color: #000;
  border: none;
  padding: 10px;
  cursor: pointer;
}

.carousel-button.prev {
  left: 0;
  z-index: 50;
  font-size: 42px;
}

.carousel-button.next {
  right: 0;
  z-index: 50;
  font-size: 42px;
}

.text-align-custom {
  text-align: left;
}

.quienes-somos, .map-button {
  padding: 10px 5px;
  border-radius: 6px;
}

.quienes-somos:hover, .map-button:hover {
  text-decoration: none;
  background-color: #e9561c85;
}

.nav-original ul li a:hover {
  color: white;
}

@media (max-width: 576px) {
  footer.footer {
    height: 35px;
    padding: 0px;
  }
  .footer-container {
    height: 35px;
  }
  .quienes-somos-content {
    flex-direction: row;
    /* display: inline-block; */
  }
  .galeria-equipo {
    width: 100%;
    padding: 0 10px;
  }

  .galeria-equipo .thumbs img {
  height: auto;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.3s;
  width: 100%;
  }

  .about-section .text-container {
    max-width: 100%;
  }
  .image-container {
    text-align: center;
  }
  .text-align-custom {
    text-align: center;
  }
  .view-map {
    padding: 0.6rem 1.4rem;
    margin: 5px 0 15px 0;
  }
  .bodymap main, .bodywho main {
    height: calc(100vh);
  }
}


/* Pequeño (teléfonos grandes) */
@media (min-width: 0px) and (max-width: 900px) {
  footer.footer {
    display: none;
    height: 51px;
    padding: 5px;
  }
  .footer-container {
    height: 200px;
  }
  .navbar {
    border-radius: 0px;
  }
  .footer-column {
    min-width: 200px;
  }
  header {
    padding: 10px 10px 0 10px;
  }
  .form-check-label.typecheckbox {
    font-size: x-small;
    line-height: 1px;
    padding: 0 10px;
  }
  .quienes-somos-content {
    flex-direction: row;
    /* display: inline-block; */
  }
  .galeria-equipo {
    width: 100%;
    padding: 0 10px;
  }

  .galeria-equipo .thumbs img {
    height: auto;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.3s;
    width: 100%;
  }
  .about-section .text-container {
    max-width: 100%;
  }
  .image-container {
    text-align: center;
  }
  .text-align-custom {
    text-align: center;
  }
  .view-map {
    padding: 0.6rem 1.4rem;
    margin: 5px 0 15px 0;
  }
  .navbar-nav>li .dropdown {
    float: left;
    height: 38px;
  }
  .navbar-nav>li>a {
    padding-top: 0!important; 
    padding-bottom: 0!important; 
  }
  .nav.navbar-nav .dropdown-menu{
    overflow-y: auto;
    max-height: 250px;
  }
  .dropdown-menu>li>a {
    padding: 0px 10px !important;
  }
  .filters.map-filters-container {
    font-size: xx-small;
  }
  .bodymap main, .bodywho main {
    height: calc(100vh);
  }
}

@media (max-width: 767px) {
  #idcontainermenu .dropdown-menu>li>a {
    padding: 0 10px;
  }
  .quienes-somos-content {
    flex-direction: row;
    /* display: inline-block; */
  }
  .galeria-equipo {
    width: 100%;
    padding: 0 10px;
  }

  .galeria-equipo .thumbs img {
    height: auto;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.3s;
    width: 100%;
  }
  .about-section .text-container {
    max-width: 100%;
  }
  .image-container {
    text-align: center;
  }
  .text-align-custom {
    text-align: center;
  }
  .view-map {
    padding: 0.6rem 1.4rem;
    margin: 5px 0 15px 0;
  }
  .bodymap main, .bodywho main {
    height: calc(100vh);
  }
}

@media (min-width: 1200px) {
  #idcontainermenu {
    width: 1219px;
  }
  .navbar {
    border-radius: 0px;
  }
}

/* Mediano (tabletas verticales) */
@media (min-width: 769px) and (max-width: 992px) {
  footer.footer {
    height: 60px;
    padding: 0px;
  }
  .navbar {
    border-radius: 0px;
  }
  .footer-column {
    min-width: 200px;
  }
  .nav.navbar-nav .dropdown-menu{
    overflow-y: auto;
    max-height: 250px;
  }
  .bodymap main, .bodywho main {
    height: calc(100vh);
  }
}

/* Grande (tabletas horizontales o escritorio pequeño) */
@media (min-width: 993px) and (max-width: 1200px) {
  footer.footer {
    height: 60px;
    padding: 0px;
  }
  .footer-container {
    /* height: 200px; */
  }
  .navbar {
    border-radius: 0px;
  }
  #map {
    width: 100%;
    padding: 112px 0 20px 0;
  }
  .bodymap main, .bodywho main {
    margin: 60px 0px 0 0;
    height: calc(100vh - 120px);
    width: 100%;
  }
}

#idnavbarmenu {
  margin-bottom: 0px;
}

.menubar {
  margin: 0 -20px;
}

#navbar input{
  color:#1e2938;
}

.marker-info-win {
  display: block;
  border: 1.5px rgba(54, 82, 155, 0.63);
  border-radius: 11px;
  width: 97%;
  border-style: dashed;
  padding: 4px 8px;
  margin: 0 16px auto 0px;
  line-height: 1.65;
}

.marker-info-win:hover {
  cursor:pointer;
  background-color: #eeeeee;
}

.marker-inner-win, .alink {
/* text-decoration: none; */
font-size: 17px;
/* padding: 7px; */
margin-bottom: 8px;
}


.marker-inner-win.maxResults {
  padding: 0px;
  text-align: center;
  color: #242424;
  font-weight: 500;
}

.imagen_inmos {
  border: 1px double #e7e7e7;
  border-radius: 12px;
  clear: both;
  margin-top: 4px;
  width: 100%;
  /* max-height: 171px; */
}

#map-canvas div{
line-height:1.35;
overflow:hidden;
white-space:nowrap;
}

.typeOfIn {
  display: inline-block;
}

.labelRadiosOp {
display: inline-block;
color: white;
}

#lightbox {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

#lightbox img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 12px;
}

