body, html {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    font-family: "Graphik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-optical-sizing: auto;
    font-style: normal;
    color: #343a40;
    line-height: 1.15;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 3rem;
    font-family: inherit;
    font-weight: 100;
    line-height: 1.21;
    color: inherit !important;
}
p {
    line-height: 1.5;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url("../fonts/HelveticaNeue-Light.woff2") format("woff2"),url("../fonts/HelveticaNeue-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: 'Roboto';
    src: url("../fonts/Roboto-Regular.woff2") format("woff2"),url("../fonts/Roboto-Regular.woff") format("woff");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: 'Haas Grot Disp 45';
    src: url("../fonts/HaasGrotDisp-45Light.woff2") format("woff2"),url("../fonts/HaasGrotDisp-45Light.woff") format("woff");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url("../fonts/HelveticaNeue-Bold.woff2") format("woff2"),url("../fonts/HelveticaNeue-Bold.woff") format("woff");
    font-weight: bold;
    font-style: normal
}

@font-face {
    font-family: 'Graphik';
    src: url("../fonts/Graphik-Light.eot");
    src: url("../fonts/Graphik-Light.eot?#iefix") format("embedded-opentype"),url("../fonts/Graphik-Light.woff2") format("woff2"),url("../fonts/Graphik-Light.woff") format("woff"),url("../fonts/Graphik-Light.ttf") format("truetype"),url("../fonts/Graphik-Light.svg#Graphik-Light") format("svg");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: 'Graphik';
    src: url("../fonts/Graphik-Regular.eot");
    src: url("../fonts/Graphik-Regular.eot?#iefix") format("embedded-opentype"),url("../fonts/Graphik-Regular.woff2") format("woff2"),url("../fonts/Graphik-Regular.woff") format("woff"),url("../fonts/Graphik-Regular.ttf") format("truetype"),url("../fonts/Graphik-Regular.svg#Graphik-Regular") format("svg");
    font-weight: normal;
    font-style: normal
}

@font-face {
    font-family: 'Graphik';
    src: url("../fonts/Graphik-Medium.eot");
    src: url("../fonts/Graphik-Medium.eot?#iefix") format("embedded-opentype"),url("../fonts/Graphik-Medium.woff2") format("woff2"),url("../fonts/Graphik-Medium.woff") format("woff"),url("../fonts/Graphik-Medium.ttf") format("truetype"),url("../fonts/Graphik-Medium.svg#Graphik-Medium") format("svg");
    font-weight: 500;
    font-style: normal
}

/* Contenedor principal que crece y empuja el footer hacia el fondo */
.main-content {
    flex: 1;
}
/* Footer pegado al final de la página */
.footer {
    background-color: #333; /* Color de fondo */
    color: #ffffff;
    width: 100%;
    padding: 20px 50px;
    text-align: center;
}
/* Configuración de la navbar con color de fondo */
.navbar {
    background-color: #00AEEF; /* Cambia este color al que prefieras */
    color: #fff; /* Color de texto */
    transition: top 0.4s ease-in-out; 
    position: fixed;
    width: 100%;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    padding: 1rem; /* Espaciado interno */
}

/* Estilos para ocultar la navbar al hacer scroll */
.hidden-nav {
    top: -100px; /* Ajusta según la altura de tu navbar */
}

/* Estilos principales del consentimiento de cookies */
.cookie-consent {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #555;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    padding: 20px;
}

.cookie-consent-banner {
    margin: 0 auto;
}

.popup-content h2 {
    font-size: 1.5em;
    margin-bottom: 10px;
    color: #fff;
}

.popup-content p {
    color: #fff;
}

.cookie-categories {
    margin-top: 15px;
}

.cookie-category {
    margin-bottom: 10px;
}

.cookie-category input[type="checkbox"] {
    margin-right: 8px;
}

.cookie-category label {
    font-weight: bold;
    color: #fff;
}

.cookie-category-description {
    margin-left: 28px;
    font-size: 0.9em;
    color: #fff;
}

/* Botones del banner de cookies */
.cookie-consent-buttons {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.cookie-consent-buttons .btn {
    padding: 8px 16px;
    font-size: 0.9em;
}

.btn-get-started {
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 8px 40px;
  margin: 30px 0 0 0;
  border-radius: 8px;
  transition: 0.5s;
  text-decoration: none;
  border: 2px solid #fff;
  text-transform: uppercase;
}

.btn-get-started:hover {
    background-color: #00AEEF;
}
.btn-primary {
    background-color: #00AEEF !important;
    color: #fff;
    border: none;
}

.btn-secondary {
    background-color: #6c757d;
    color: #fff;
    border: none;
}

.btn-link {
    color: #ffffff;
    background: none;
    border: none;
    cursor: pointer;
}
.btn-link {
    margin: 0 5px;
    text-decoration: none;
    color: #ffffff; /* Color por defecto de los enlaces */
}

.btn-link.active {
    font-weight: bold; /* Resaltar el idioma activo */
    color: #ffffff;
}
.nav-link{
    color: #ffffff !important;
}

.hidden {
    transform: translateY(100%); 
}
.show {
    transform: translateY(0);
}
.image-overlay {
  position: relative;
  display: inline-block; /* Asegura que se ajuste al tamaño de la imagen */
}

.image {
  display: block;
  width: 100%; /* Ajusta según tus necesidades */
  height: auto;
}

.image-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 255, 0.2)); /* Gradiente */
  pointer-events: none; /* Permite que la imagen sea interactuable */
}
.logo {
  height: 50px
}
.carousel-item {
    /*position: relative;
    display: flex;*/
    justify-content: center;
    align-items: center;
    height: 100vh; /* Asegura que el carrusel ocupe toda la altura de la ventana */
}

.carousel-caption.centered-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0 !important;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    max-width: 80%; /* Limita el ancho del caption */
}

.image-overlay {
    position: relative;
    width: 100%;
    height: 100%; /* Asegura que la imagen ocupe toda la altura del carrusel */
    overflow: hidden;
}

.image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ajusta la imagen para cubrir el contenedor sin deformarse */
}

.parallax-section {
        position: relative;
        overflow: hidden;
        height: 500px; /* Altura de la sección parallax */
        color: white; /* Color del texto */
    }

    .parallax-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-attachment: fixed; /* Esto crea el efecto parallax */
        background-position: center;
        z-index: 1;
        filter: brightness(0.5); /* Opacidad para el fondo */
    }
.container-parallax {
        position: relative;
        z-index: 2; /* Asegura que el contenido se superponga al fondo */
        padding: 150px 0; /* Espaciado interno para el contenido */
    }
/* Aumentar el tamaño de los íconos */
.icon-large {
    font-size: 4rem !important; /* Puedes ajustar el tamaño según tus necesidades */
    padding: 4rem 2rem;
    width: 100%;
    color: #fff !important; 
    background-color: #00AEEF;
}

/* Espaciado alrededor de los íconos */
.icon-spacing {
    margin-right: 0.5rem; /* Espaciado a la derecha del ícono */
}

.service-item {
            text-align: center;
        }
.service-item h3 {
  margin-bottom: 1rem;
  min-height: 70px;

}
.card-body {
  min-height: 300px;
}
.mb-5 {
    margin-bottom: 5rem !important;
}
.mt-5 {
    margin-top: 5rem !important;
}