img{max-width:100%;}
*{word-wrap:break-word;}
body{font-family: 'helvetica_now_displayregular';font-size: 24px;text-align: center;letter-spacing:1.02px;background-color: #000;line-height:110%;}
.text_abstract{overflow:hidden;width:130px;height:20px;word-wrap:break-word;text-size-adjust:100%;white-space:nowrap;text-overflow:ellipsis;}
.helvetica_now_regular {font-family: 'helvetica_now_displayregular';}
.helvetica_now_bold {font-family: 'helvetica_now_displaybold';}
.helvetica_now_medium {font-family: 'helvetica_now_displaymedium';}
.helvetica_now_xbold {font-family: 'helvetica_now_displayxbold';}

.filter {
	/* -webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px); */
	/* background-color: rgba(70, 70, 70, 0.6); */
}
.filter:hover {
	background-color: rgba(70, 70, 70, 0.9);
}
.h1{font-size: 118px;font-family: 'helvetica_now_displayxbold';letter-spacing: -2.95px;line-height: 80%;margin-bottom:0;}
.h2{font-size: 80px;font-family: 'helvetica_now_displaybold';line-height:100%;margin-bottom:0;}
.fs-4 {font-size: 4px;letter-spacing: 0.42px;line-height: 117%;}
.fs-6 {font-size: 6px;letter-spacing: 0.42px;line-height: 117%;}
.fs-8 {font-size: 8px;letter-spacing: 0.42px;line-height: 117%;}
.fs-10 {font-size: 10px !important;letter-spacing: 0.42px;line-height: 117%;}
.fs-12 {font-size: 12px;letter-spacing: 0.42px;line-height: 117%;}
.fs-14 {font-size: 14px;letter-spacing: 0.42px;line-height: 117%;}
.fs-18 {font-size: 18px;letter-spacing: 0.54px;line-height: 107%;}
.fs-24 {font-size: 24px;line-height: 110%;}
.fs-34 {font-size: 34px;}
.fs-37 {font-size: 37px;}
.fs-57 {font-size: 57px;line-height: 80%;letter-spacing: -1.425px;}
.fs-80 {font-size: 80px;line-height: 80%;letter-spacing: -2.5px;}
.fs-118 {font-size: 118px; line-height: 80%; letter-spacing: -2.5px;}
.fs-365{font-size: 19.0104vw;letter-spacing: -9px;line-height: 80%;}
.fs-463{font-size: 24.1146vw;letter-spacing: -12px;line-height: 80%;}
.fs-643{font-size: 33.4896vw;letter-spacing: -16px;line-height: 80%;}
.lh-100{line-height:100%;}
.lh-130{line-height:130%;}
.text-danger{color:#ff0000 !important;}
.text-danger2{color:#f11111 !important;}
.text-white{color:#CBCBCB !important;}
.border-danger2{border-color: #f11111 !important;}
.line-through{text-decoration-line: line-through;}
.py-40{padding-top: 40px;padding-bottom: 40px;}
.py-35{padding-top: 35px;padding-bottom: 35px;}
.big-letter{width: 110%;left: -5%;position:relative;top:40px;margin-top: -40px;}
.degradado{
	width: 469px;
	height: 190px;
	display: block;
	margin-top: -2px;
	z-index: 1;
}
.degradado-end{
	position: absolute;
	right: 0;
}
.degradado-start{
	position: absolute;
	left: 0;
	transform: rotate(180deg);
}
.space{
	display: block;
	height: 100px;
}
/* Header */
#mainHeader .navbar {
	width: 100%;
	transition: all 0.8s ease;
	margin: 0 auto;
}

#mainHeader.shrink .navbar {
	width: 50%; 
	border-radius: 50px;
	top:1%;
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	background-color: rgba(70, 70, 70, 0.6);
}

/* bullets en el header */
body {
margin: 0;
/*font-family: sans-serif;*/
scroll-behavior: smooth;
	width:100%;
	height:100%;
	overflow-x:hidden;
	background:#000;
}
/* 
.page-section {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
font-size: 2rem;
} */

/* Colores de prueba */
#section1 { background: #f9f9f9; }
#section2 { background: #dfe6e9; }
#section3 { background: #ffeaa7; }

/* Wrapper para tooltip (no toca el pseudo del bullet) */
.bullet-wrap {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
}

/* Tooltip*/
.bullet-wrap:not(:has(.bullet.active)):hover::before {
content: attr(data-title);
position: absolute;
top: 120%; 
left: 50%;
transform: translateX(-50%);
background: #000;
color: #fff;
font-size: 0.75rem;
padding: 4px 6px;
border-radius: 4px;
white-space: nowrap;
opacity: 0;
animation: fadeIn 0.15s forwards;
pointer-events: none;
}


.bullet-wrap:not(:has(.bullet.active)):hover::after {
content: "";
position: absolute;
top: 110%;
left: 50%;
transform: translateX(-50%);
border-width: 5px;
border-style: solid;
border-color: #000 transparent transparent transparent;
opacity: 0;
animation: fadeIn 0.15s forwards;
pointer-events: none;
}

@keyframes fadeIn { to { opacity: 1; } }

/* Bullet */
.bullet {
width: 14px;
height: 14px;
background: #bbb;
border-radius: 50%;
transition: width 0.3s ease, height 0.3s ease, background 0.3s ease;
position: relative;
overflow: hidden;
cursor: pointer;
--progress: 0%;
}

/* Activo como barra */
.bullet.active {
width: 60px;
height: 6px;
border-radius: 3px;
background: #ddd;
--progress: 0%;
}

/* Progreso: permanece en ::after del BULLET (no se pisa en hover) */
.bullet.active::after {
content: "";
position: absolute;
top: 0; left: 0;
height: 100%;
width: var(--progress, 0%);
background: #000;
transition: width 0.1s linear;
}

.bullet-menu {
display: flex;
align-items: center;
gap: 20px;
}

.bullet-current-title, .menu-right-text {
font-size: 0.9rem;
font-weight: 600;
color: #fff; /* se adapta al navbar oscuro */
min-width: auto;
text-align: right;
}

/* efecto texto */
.containerText {
overflow: hidden;
width: fit-content;
padding: 10px;
}

.reveal-on-scroll {
color: #ff0000;
opacity: 0;
filter: blur(6px);
clip-path: circle(0 100% 0 0);
transition: opacity 0.3s ease;
}
.reveal-on-scroll.active {
animation: revealText 2s ease forwards;
}
@keyframes revealText {
	0% {
		clip-path: circle(0 100% 0 0); /* totalmente oculto desde la derecha */
		opacity: 0;
		filter: blur(6px);
	}

	100% {
		clip-path: circle(0 0 0 0); /* todo visible */
		opacity: 1;
		filter: blur(0);
	}
}

.mapa{
	position: absolute;
    z-index: 1000;
    top: 50px;
	left: 50px;
}

.slideshow-wrapper::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("/images/assets/mapa/mapa_back.png") no-repeat top left;
	pointer-events: none; /* Permite hacer clic en los elementos debajo del overlay */
	z-index: 1; /* Asegura que el overlay esté por encima del contenido */
}

.bg-danger2{background-color:#f11111 !important;}

.wrapperbox {
  height: 20%;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.carousel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 20%;
  margin: 0;
  padding: 0;
  position: relative;
  flex-shrink: 0;
  color: black;
  font-size: 21px;
  cursor: pointer;
  flex-direction: column;
}

.wrapperbox img{
	cursor:default;
	width: 100%;
	padding: 0% 5% 0% 5%;
}

 .wrapperbox .box img:first-child {
  /* padding: 10%; */
  position: relative;
} 
.gallery-3 .wrapperbox .box img{
	border-radius: 25px;
}
 
#section5, #section8, #section11 {
  position: relative;
}

#section5 img, #section8 img,#section11 img, #section16 img {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 2;
}

#section5 .big-letter, #section8 .big-letter, #section11 .big-letter  {
  position: relative;
  z-index: 1;
}

/* .gallery-1,.gallery-2,.gallery-3,.gallery-4,.gallery-5,.gallery-6{
	padding-left: 0px;
	padding-right: 0px;
} */