@charset "utf-8";
*
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "Instrument Sans", sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-overflow-scrolling: touch;
	-moz-font-smoothing:antialiased;
	font-smoothing:antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body 
{
    font-family: "Instrument Sans", sans-serif;
    font-weight: 400;
    color: #000000;
    line-height: auto;
    background-color: #ffffff;
    margin: 0;
	overflow-x: hidden;
}
html
{
	scroll-behavior: smooth;
	overflow-x: hidden;
}
.carousel-control-next, .carousel-control-prev
{
    width: 13%;
}
.desktop
{
	display:block;
}
.mobile
{
	display:none;
}
@media (max-width: 768px) 
{
	.mobile
	{
		display:block;
	}
	.desktop
	{
		display:none;
	}
}
/********************************/
/************ FOOTER ************/
/********************************/
.footerlegal
{
	font-family: 'Instrument Sans', sans-serif;
    font-weight: 400;
	font-size:12px;
	color:#ffffff;
}
.footertxt
{
	font-family: 'Instrument Sans', sans-serif;
    font-weight: 400;
	font-size:12px;
	color:#ffffff;
}
.fixed-bottom
{
	position:relative!important;
}
.footertxtalineado
{
	line-height:24px;
}
.footertitulo
{
	font-family: 'Instrument Sans', sans-serif;
    font-weight: 600;
	font-size:16px;
	color:#ffffff;
}
.footer a {
  text-decoration: none !important;
  color:#ffffff;
}
/******************************/
/************ MENU ************/
/******************************/
.navbar
{
	font-family: 'Montserrat', sans-serif;
    font-weight: 400;
	font-size:14px;
	color:#000000;
}
#offcanvasMenu
{
	font-family: 'Montserrat', sans-serif;
    font-weight: 400;
	font-size:14px;
	color:#000000;
}
.offcanvas-start {
  width: 270px;
}
.submenu {
  padding-left: 1.5rem;
  display: none;
}
.submenu.show {
  display: block;
}
.dropdown-arrow 
{
	font-size: 0.75em;
	margin-left: 4px;
}
/* Centrado de logo y botón en mobile */
@media (max-width: 991.98px) {
  .offcanvas-start {
    width: 70vw !important;
  }
  .offcanvas-body {
    padding-top: 0px;
  }
  .navbar .navbar-brand {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  .mobile-menu-btn {
    position: relative;
    margin-left: -25px;
    border: none;
    outline: none;
  }
  .desktop-menu-wrapper {
    display: none !important;
  }

  /* Solo bold para items activos, sin línea */
  .navbar-nav .nav-item .nav-link.active, .navbar-nav .nav-item.active {
    font-weight: 700 !important;
  }

  /* Eliminamos cualquier línea roja debajo */
  /*
  .navbar-nav .nav-link.active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    background-color: #e31837;
  }
  */
}
@media (min-width: 992px)
{
  .mobile-menu-btn {
	display: none !important;
  }
  .desktop-menu-wrapper {
	flex: 1;
	display: flex !important;
	justify-content: center;
  }
  .navbar-nav {
	gap: 1rem;
  }
  .navbar .nav-link {
	position: relative;
	font-weight: 400;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 3px !important;
	margin-right: 3px !important;
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  }
  .navbar .nav-link::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%) scaleX(0);
	transform-origin: center;
	width: 100%;
	height: 3px;
	background-color: #e31837;
	transition: transform 0.3s ease;
  }
  /* Mostrar línea roja en hover directamente sobre el <a> */
  .navbar .nav-link:hover::after {
	transform: translateX(-50%) scaleX(1);
  }
  /* Si no está activo, font-weight normal en hover */
  .navbar .nav-item:not(.active):hover > .nav-link {
	font-weight: 400;
  }
  /* Si está activo: font-weight bold */
  .navbar .nav-item.active > .nav-link {
	font-weight: 700;
  }
	/* Dropdown personalizado */
	.has-custom-dropdown {
	  position: relative;
	}	
	.dropdown-toggle-custom {
	  cursor: pointer;
	}	
	/* Menú desplegable */
	.custom-dropdown-menu {
	  display: none;
	  position: absolute;
	  top: 100%;
	  left: 0;
	  background-color: #fff;
	  border-radius: 0px;
	  z-index: 1000;
	  min-width: 160px;
	  list-style: none;
	  padding-left:20px;
	  padding-right:20px;
	  padding-top:16px;
	  width: max-content;
	  white-space: nowrap;
	}	
	/* Hover o clase abierta: mostrar menú */
	.has-custom-dropdown:hover .custom-dropdown-menu,
	.has-custom-dropdown.open .custom-dropdown-menu {
	  display: block;
	}	
	/* Ítems del dropdown */
	.custom-dropdown-item {
	  position: relative;
	  display: inline-block;
	  font-weight: 400;
	  color: #000;
	  text-decoration: none;
	  transition: all 0.3s ease;
	  padding: 8px 0;
	}	
	/* Línea base oculta */
	.custom-dropdown-item::after {
	  content: "";
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  width: 100%;
	  height: 3px;
	  background-color: #e31837;
	  transform: scaleX(0);
	  transform-origin: left;
	  transition: transform 0.3s ease;
	}		
	.custom-dropdown-item:hover::after,
	.custom-dropdown-item.active:hover::after {
	  transform: scaleX(1);
	}	
	.custom-dropdown-item.active {
	  font-weight: 700;
	}
}
@media (min-width: 992px) AND (max-width: 1130px)
{
	.navbar
	{
		font-size:11px;
	}
	.custom-dropdown-menu
	{	
	  min-width: 130px;
	  padding-left:18px;
	  padding-right:18px;
	  padding-top:14px;
	}	
}