:root {
  --color-principal: #336699;
  --color-principal-transparente: #336699cc;
  --color-secundario: #1a3d6d;
  --color-secundario-transparente: #1a3d6dcc;
  --color-terciario: #99ccff;
  --color-terciario-transparente: #99ccffbb;
  --color-blanco: #ffffff;
  --color-blanco-transparente: #ffffffcc;
  --color-negro: #000000;
  --color-gris-claro: #cccccc;
  --color-gris-medio: #4d4d4d;
  --color-gris-oscuro: #333333;
  --color-alternativo: #ff6600;
  --filtro-color-principal: invert(37%) sepia(7%) saturate(4572%)
    hue-rotate(169deg) brightness(93%) contrast(83%);
  --filtro-color-terciario: invert(69%) sepia(52%) saturate(532%)
    hue-rotate(185deg) brightness(104%) contrast(101%);
  --filtro-color-blanco: invert(1);
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #fdb316;
  --bs-btn-border-color: #fdb316;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #d60074;
  --bs-btn-hover-border-color: #d60074;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ebca5f;
  --bs-btn-active-border-color: #ebca5f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #fdb316;
  --bs-btn-disabled-border-color: #fdb316;
}
.navbar-dark,
.navbar[data-bs-theme="dark"] {
  --bs-navbar-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-hover-color: rgba(255, 255, 255, 1);
}
html {
  scroll-behavior: smooth;
}
body {
  width: 100%;
  max-width: 1920px;
  overflow-x: hidden;
  margin: auto;
}
header {
  position: fixed;
  width: 100vw;
  max-width: 1920px;
  top: 0;
}
main {
  overflow: hidden;
}
.pretty-wrap {
  text-wrap: pretty;
}
.fondo-color-principal {
  background-color: var(--color-principal);
}
.fondo-color-principal-transparente {
  background-color: var(--color-principal-transparente);
}
.fondo-color-secundario {
  background-color: var(--color-secundario);
}
.fondo-color-terciario {
  background-color: var(--color-terciario);
}
.fondo-terciario-transparente {
  background-color: var(--color-terciario-transparente);
}
.fondo-color-gris-claro {
  background-color: var(--color-gris-claro);
}
.fondo-color-blanco {
  background-color: var(--color-blanco);
}
.fondo-transparente {
  background-color: transparent;
}
.color-principal {
  color: var(--color-principal);
}
.color-secundario {
  color: var(--color-secundario);
}
.color-terciario {
  color: var(--color-terciario);
}
.color-blanco {
  color: var(--color-blanco);
}
.color-alternativo {
  color: var(--color-alternativo);
}
.color-azul-marino {
  color: #000090;
}
.color-gris-claro {
  color: var(--color-gris-claro);
}
.color-gris-medio {
  color: var(--color-gris-medio);
}
.color-gris-oscuro {
  color: var(--color-gris-oscuro);
}
.color-transparente {
  color: transparent;
}
.filtro-color-principal {
  filter: var(--filtro-color-principal);
}
.filtro-color-terciario {
  filter: var(--filtro-color-terciario);
}
.borde-color-terciario {
  border: 2px solid var(--color-terciario);
}
.fs-0 {
  font-size: 5rem;
}
.cursor-pointer {
  cursor: pointer;
}
.object-position-top {
  object-position: top;
}
.fondo-color-watsapp {
  background-color: #43c152;
}
.rounded-full {
  border-radius: 100%;
}
#main-content {
  visibility: hidden;
}
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.icono-tarjeta {
  height: 40px;
  filter: invert(1);
}
.icono-whatsapp {
  height: 40px;
  width: 40px;
  object-fit: contain;
  filter: invert(1);
}
.boton-gris {
  color: var(--color-negro);
  border-color: var(--color-gris-claro);
  background-color: var(--color-gris-claro);
}
.boton-gris:hover {
  background-color: var(--color-principal);
  border-color: var(--color-gris-claro);
}
.boton-terciario {
  color: var(--color-secundario);
  border-color: var(--color-terciario);
  background-color: var(--color-terciario);
}
.boton-terciario:hover {
  background-color: var(--color-principal);
  border-color: var(--color-terciario);
}
.boton-principal-transparente {
  background-color: var(--color-principal-transparente);
}
.boton-principal-transparente:hover {
  background-color: var(--color-principal);
}
.mt-header {
  margin-top: 200px;
}
/* Scroll Header */
.img-header {
  height: 56px;
}
.separador-header {
  color: transparent;
}
@media screen and (max-width: 1400px) {
  .navbar-collapse {
    background-color: var(--color-principal);
    border-radius: 5px;
  }
}
.header-scrolled {
  background-color: var(--color-blanco);
}
.dropdown-menu-nav {
  background-color: var(--color-principal-transparente);
  border: 2px transparent;
}
.dropdown-menu-nav .dropdown-item {
  color: var(--bs-navbar-color);
}
.dropdown-item:hover {
  background-color: var(--color-secundario);
  color: var(--color-blanco);
}
@media screen and (min-width: 1400px) {
  .dropdown-menu {
    background-color: var(--color-principal);
  }
}
.header-scrolled .color-texto-prenav {
  color: var(--color-principal);
}
.header-scrolled .boton-principal-transparente {
  background-color: transparent;
}
.header-scrolled .navbar-nav .nav-link.show {
  color: var(--color-principal);
}
.header-scrolled .dropdown-menu {
  border: 2px solid var(--color-principal-transparente);
  background-color: white;
}
.header-scrolled .dropdown-menu-nav .dropdown-item {
  color: var(--color-principal-transparente);
}
.header-scrolled .dropdown-item:hover {
  background-color: transparent;
  color: var(--color-principal);
}
.header-scrolled .enlace-header {
  color: var(--color-principal) !important;
}
.header-scrolled .separador-header {
  color: var(--color-principal);
}
.header-scrolled .navegacion-header {
  background-color: transparent;
}
.header-scrolled .texto-logo-header {
  color: var(--color-principal);
}
.header-scrolled .navbar-toggler-icon {
  filter: invert(1);
}
.header-scrolled .navbar-collapse {
  background-color: var(--color-blanco);
}
.header-scrolled .nav-link {
  color: var(--color-principal-transparente);
}
.header-scrolled .nav-link:hover {
  color: var(--color-principal);
}
.header-scrolled .nav-link.active {
  color: var(--color-principal);
}
/**/
.espaciado-nav {
  padding-inline: 5px;
}
@media screen and (max-width: 1530px) {
  .espaciado-nav {
    padding-inline: 0px;
  }
}
@media screen and (max-width: 1530px) {
  .enlace-nav {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}
.navbar-toggler {
  border: none;
}
.navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}
@media (min-width: 1400px) {
  .dropdown:hover .dropdown-menu {
    display: block;
  }
  .dropdown-menu {
    margin-top: 0;
  }
}
.padding-header {
  padding-top: 157px;
}
.padding-abajo-tarjetas {
  padding-bottom: 150px;
}
.fondo-imagen {
  min-height: 80vh;
}
.fondo-imagen-peque {
  min-height: 60vh;
}
.contenedor-fondo-imagen {
  min-height: calc(80vh - 246px);
}
.contenedor-fondo-imagen-peque {
  min-height: calc(60vh - 246px);
}
.img-fondo {
  z-index: -20;
  object-position: top;
}
.img-parallax {
  max-width: 100%;
  z-index: -30;
}
.filtro-azul {
  z-index: -10;
  background-color: var(--color-secundario-transparente);
}
.margin-arriba-tarjetas {
  position: relative;
  top: -120px;
  margin-bottom: -120px;
}
.tarjeta-desplazada {
  top: -20px;
  height: 60px;
  width: 60px;
}
.padding-tarjeta-desplazada {
  padding-top: 40px;
}
.tamano-icono {
  height: 80px;
}
.fs-0 {
  font-size: 5rem;
}

.tamano-icono {
  height: 80px;
}

@media screen and (max-width: 1200px) {
  .fs-0 {
    font-size: 4rem;
  }
  .tamano-icono {
    height: 70px;
  }
}

@media screen and (max-width: 992px) {
  .fs-0 {
    font-size: 3rem;
  }
  .tamano-icono {
    height: 60px;
  }
}

@media screen and (max-width: 768px) {
  .fs-0 {
    font-size: 2.5rem;
  }
  .tamano-icono {
    height: 50px;
  }
}

@media screen and (max-width: 576px) {
  .fs-0 {
    font-size: 2rem;
  }
  .tamano-icono {
    height: 40px;
  }
}
.link-blanco {
  transition: color 0.2s;
}
.link-blanco:hover {
  color: var(--color-gris-claro);
}
.separador-icono-mas {
  background-image: url("../img/mas-gris.svg");
  background-size: 20px;
  background-repeat: repeat;
  height: 80px;
}
.tarjeta-azul-claro {
  transition: color 0.5s, background-color 0.5s;
}
.tarjeta-azul-claro:hover {
  color: var(--color-blanco);
  background-color: var(--color-principal);
}
.overlay {
  background-color: var(--color-blanco-transparente);
}
.gradient-overlay {
  background: linear-gradient(to right, white 25%, rgba(255, 255, 255, 0.7));
  pointer-events: none;
}
.seccion-parallax {
  min-height: 60vh;
}
.list-group-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.list-group-item a {
  text-decoration: none;
  color: inherit;
  flex-grow: 1;
}
.badge {
  cursor: pointer;
}
.elemento-listado-ordenado {
  transition: background-color 0.5s ease-out;
}
.elemento-listado-ordenado:hover {
  background-color: var(--color-gris-claro);
}
.altura-contenido-listado {
  height: 56px;
}
.zona-numeros-listado {
  transition: background-color 0.5s ease-out, color 0.5s ease-out;
}
.elemento-listado-ordenado:hover .zona-numeros-listado {
  background-color: var(--color-principal);
  color: var(--color-blanco);
}
.elemento-enlace-interes:hover .filtro-color-principal {
  filter: var(--filtro-color-blanco);
}
.elemento-enlace-interes:hover .flecha-enlace-interes {
  filter: var(--filtro-color-principal);
}
.list-group {
  counter-reset: item;
  list-style-type: none;
}
.imagen-tarjeta-servicios {
  max-height: 300px;
}
.separador-corto {
  height: 4px;
  width: 40px;
  opacity: 1;
}
.separador-largo {
  height: 4px;
  width: 100%;
  opacity: 1;
}
.tamano-icono-footer {
  height: 25px;
}
.enlace-footer-claro,
.enlace-footer {
  transition: color 0.2s ease-out;
}
.enlace-footer:hover {
  color: var(--color-terciario) !important;
}
.enlace-footer-claro:hover {
  color: var(--color-secundario) !important;
}
.tamano-icono-urgencias {
  width: 40px;
  height: 40px;
}
.altura-titulo-tarjeta {
  min-height: 68px;
}
.altura-uniforme {
  min-height: 310px;
}
@media screen and (max-width: 1400px) {
  .altura-uniforme {
    min-height: 330px;
  }
}
/* Index */
.altura-icono-index {
  height: 44px;
}
/* Europa */
.fondo-europa {
  padding: 30px 0px;
  background-color: #0c0b02;
}
.logo-banner-europa {
  height: 100px;
  max-width: 100%;
  object-fit: contain;
}
/* Animaciones desde diferentes direcciones */
.slide-in-left {
  transform: translateX(-200px);
  opacity: 0;
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.slide-in-left.visible {
  transform: translateX(0);
  opacity: 1;
}

.slide-in-right {
  transform: translateX(200px);
  opacity: 0;
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.slide-in-right.visible {
  transform: translateX(0);
  opacity: 1;
}

.slide-in-top {
  transform: translateY(-200px);
  opacity: 0;
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.slide-in-top.visible {
  transform: translateY(0);
  opacity: 1;
}

.slide-in-bottom {
  transform: translateY(200px);
  opacity: 0;
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.slide-in-bottom.visible {
  transform: translateY(0);
  opacity: 1;
}

/* Animación de opacidad */
.fade-in {
  opacity: 0;
  transition: opacity 1s ease-out;
}

.fade-in.visible {
  opacity: 1;
}
.retrasar-transicion {
  transition-delay: 0.8s;
}
