body {
	font-family: "Space Grotesk", sans-serif;
	color: #091e42;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Syne", sans-serif;
}

.nav-link {
	font-size: 1.1rem;;
}
.nav-link, table * {
	font-family: "Inter", sans-serif;
}

.ibm-plex-mono-thin {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 100;
	font-style: normal;
}
.ibm-plex-mono-extralight {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 200;
	font-style: normal;
}
.ibm-plex-mono-light {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 300;
	font-style: normal;
}
.ibm-plex-mono-regular {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 400;
	font-style: normal;
}
.ibm-plex-mono-medium {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 500;
	font-style: normal;
}
.ibm-plex-mono-semibold {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 600;
	font-style: normal;
}
.ibm-plex-mono-bold {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 700;
	font-style: normal;
}
.ibm-plex-mono-thin-italic {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 100;
	font-style: italic;
}
.ibm-plex-mono-extralight-italic {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 200;
	font-style: italic;
}
.ibm-plex-mono-light-italic {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 300;
	font-style: italic;
}
.ibm-plex-mono-regular-italic {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 400;
	font-style: italic;
}
.ibm-plex-mono-medium-italic {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 500;
	font-style: italic;
}
.ibm-plex-mono-semibold-italic {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 600;
	font-style: italic;
}
.ibm-plex-mono-bold-italic {
	font-family: "IBM Plex Mono", monospace;
	font-weight: 700;
	font-style: italic;
}

/*******/
/*
.container {
	max-width: 960px;
	max-width: 1080px;
}
*/

.col-25 {
	width: 20% !important;
}

.icon-link > .bi {
	width: .75em;
	height: .75em;
}

/*
 * Custom translucent site header
*/

.site-header {
	background-color: rgba(0, 0, 0, .85);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
}
.site-header a {
	color: #8e8e8e;
	transition: color .15s ease-in-out;
}
.site-header a:hover {
	color: #fff;
	text-decoration: none;
}

/*
 * Extra utilities
*/
.flex-equal > * {
	flex: 1;
}
.bd-placeholder-img{
	font-size:1.125rem;
	text-anchor:middle;
	-webkit-user-select:none;
	-moz-user-select:none;
	user-select:none
}
.b-example-divider{
	width:100%;
	height:3rem;
	background-color:#0000001a;
	border:solid rgba(0,0,0,.15);
	border-width:1px 0;
	box-shadow:inset 0 .5em 1.5em #0000001a,inset 0 .125em .5em #00000026
}
.b-example-vr{
	flex-shrink:0;
	width:1.5rem;
	height:100vh
}
.bi{
	vertical-align:-.125em;
	fill:currentColor
}
.nav-scroller{
	position:relative;
	z-index:2;
	height:2.75rem;
	overflow-y:hidden
}
.nav-scroller .nav{
	display:flex;
	flex-wrap:nowrap;
	padding-bottom:1rem;
	margin-top:-1px;
	overflow-x:auto;
	text-align:center;
	white-space:nowrap;
	-webkit-overflow-scrolling:touch
}
.btn-bd-primary{
	--bd-violet-bg: #712cf9;
	--bd-violet-rgb: 112.520718, 44.062154, 249.437846;
	--bs-btn-font-weight: 600;
	--bs-btn-color: var(--bs-white);
	--bs-btn-bg: var(--bd-violet-bg);
	--bs-btn-border-color: var(--bd-violet-bg);
	--bs-btn-hover-color: var(--bs-white);
	--bs-btn-hover-bg: #6528e0;
	--bs-btn-hover-border-color: #6528e0;
	--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
	--bs-btn-active-color: var(--bs-btn-hover-color);
	--bs-btn-active-bg: #5a23c8;
	--bs-btn-active-border-color: #5a23c8
}
.bd-mode-toggle{
	z-index:1500
}
.bd-mode-toggle .bi{
	width:1em;
	height:1em
}
.bd-mode-toggle .dropdown-menu .active .bi{
	display:block!important
}

/*****/
.table th {
	font-weight: 600;
	font-size: 0.8125rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	vertical-align: middle;
	color: #6c757d;
}
thead tr {
	line-height: 2rem;;
}
tbody tr {
	line-height: 3rem;;
}

.table td {
	font-size: 0.8rem;
	vertical-align: middle;
	font-weight: bold;
}
table hr {
	border-top: 1px solid #dee2e6;
}

h1 {
	font-weight: 600;
	font-size: 1.75rem;
}

.player-avatar {
	width: 32px;
	height: 32px;
	/*border-radius: 50%;
	background-color: #e9ecef;*/
}

.form-select {
	min-width: 200px;
}

.table th {
	font-weight: 500;
	color: #6c757d;
}

.table td {
	vertical-align: middle;
}

.text-danger {
	color: #dc3545 !important;
}

.btn-success {
	background-color: #2E856E;
	border-color: #2E856E;
}

.btn-success:hover {
	background-color: #246B58;
	border-color: #246B58;
}

#leaderboard td:first-child,
#leaderboard th:first-child {
	padding-left: 1rem;
	padding-right: 1rem;
	max-width: 40px;
	text-align: center;
}

/* Add these styles to create the vertical separator */
#leaderboard th:nth-child(4),
#leaderboard td:nth-child(4) {
	border-right: 1px solid #dee2e6;
}
#scores th:nth-child(4),
#scores td:nth-child(4) {
	border-right: 1px solid #dee2e6;
}
/* New separator between NOV and AVG columns */
#leaderboard th:nth-child(11),
#leaderboard td:nth-child(11) {
	border-right: 1px solid #dee2e6;
}
#scores th:nth-child(2),
#scores td:nth-child(2), 
#scores th:nth-child(7),
#scores td:nth-child(7) {
	border-right: 1px solid #dee2e6;
}
#scores th:nth-child(3),
#scores td:nth-child(3) {
	padding-left: 2rem;
}

/******/
.accordion-button:not(.collapsed) {
	background:transparent;
}

.gallery-item {
	float:left;
}

/***/
hr {
	border-top: 3px solid #000;
	opacity: 1;
}
.div-overlay {
	position: relative;
	overflow: hidden;
}
.div-overlay::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #011019;
	opacity: .1;
	pointer-events: none;
	mix-blend-mode: dark;
}

/*
 HERO HEADER
*/
.wrapper {
	padding-inline: 2rem;
	max-width: 1440px;
	width: 100%;
	margin-inline: auto;
}

[data-text-anim] {
	visibility: hidden;
}

.duplicate-char {
	position: absolute;
	inset: 0;
	transform: translateY(100%);
}
.preloader-mask, 
.preloader-progress-bar,
.preloader-bg {
	position: fixed;
	top: 0;
	left: 0;
	height: 100svh;
	width: 100%;
	pointer-events: none;
}
.preloader-mask {
	z-index: 100;
	background-color:rgba(0, 0, 0, 0.1);
	mask: linear-gradient(white, white), url('mask.svg?cb=927') center/50% no-repeat;
	mask-composite: subtract; 
}
.preloader-progress-bar {
	width: 100%;
	height: 100%;
	z-index: 100;
	background-color: #ffffff;
}
.preloader-bg {
	background-color:rgba(255, 255, 255, 0.9);
	transform-origin: left;
	transform: scaleX(0.1);
}
.preloader-logo {
	display: flex;
	width: 100%;
	height: 100%;
	
	p {
		margin: auto;
		text-align: center;
		mix-blend-mode: difference;
		font-size: 4rem;
		color: #fff;
		font-weight: 500;
		line-height: 100%;
	}
}

a.menu-button {
	display: flex;
	color: #fff;
	text-decoration: none;
	align-items: center;
	gap: 6px;
	padding: 4px 4px 4px 16px;
	border-radius: 46px;
	border: none;
	outline: none;
	background: #120e0078;
	
	span.btn-icon {
		width: 34px;
		height: 34px;
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
	}
}
.header {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: calc(100svh - 400px);
	z-index: 10;
	background: linear-gradient(180deg, #1c2125 0%,rgba(28, 33, 37, 0) 100%);
}
.header .wrapper {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	align-items: start;
	gap: 24px;
	width: 100%;
	margin-top: 24px;
	margin-inline: auto;
}
.logo {
	margin-right: auto;
}
.tagline {
	font-weight: 700;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
	justify-content: center;
	p {
		max-width: 430px;
	}
	.divider {
		width: 1px;
		height: 40px;
		background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
	}
}
.menu-button {
	margin-left: auto;
}
.hero-section {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: relative;
	height: calc(100svh - 90px);
	height: calc(100svh - 0px);
	overflow: hidden;
}
.hero-img {
	position: absolute;
	inset: 0;
	z-index: -10;
	img {
		will-change: transform;
		transform: scale(1.1);
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
.hero-content {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding-bottom: 20px;
}
.content-main {
	.sub-title {
		max-width: 240px;
		color: #FFF;
		font-size: 22px;
		font-weight: 700;
		line-height: 130%;
		letter-spacing: -0.66px;
	}
	h1 {
		margin-left: -12px;
		/*text-shadow: 0 4px 53.1px rgba(38, 35, 35, 0.26);*/
		font-size: clamp(4rem, 12.752vw + 2.21rem, 13.688rem);
		font-weight: 600;
		line-height: 90%; /* 197.1px */
		letter-spacing: -8.76px;
		background: linear-gradient(180deg, #FFF 17.73%, #F7CFB4 92.44%);
		background-clip: text;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
}
.header-char {
	background: linear-gradient(180deg,rgb(207, 218, 235) 17.73%, #a6bee4 92.44%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.content-cta {
	position: relative;
	max-width: 280px;
	border-radius: 12px;
	background: linear-gradient(180deg, #FFE5CF 0%, rgba(255, 191, 136, 0.90) 100%);
	box-shadow: 0 4px 54px 0 #2B1D10;
	overflow: hidden;
	.cta-marquee {
		background: #231A13;
		display: flex;
		gap: 8px;
		color: #FFCBA8;
		font-size: 20px;
		font-weight: 600;
		letter-spacing: -0.6px;
		/*margin-top: 10px;*/
	}
	.marquee-group {
		align-items: center;
		white-space: nowrap;
		width: max-content;
		display: flex;
		gap: 8px;
		padding-block: 10px;
		animation: scroll 20s linear infinite;
	}
	.img-wrapper {
		margin: 10px;
		img { 
			width: 100%;
			height: 100%;
			object-fit: cover;
			border-radius: 10px;
		}
	}
	.register-button {
		position: absolute;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		width: max-content;
		background: #FF983F;
	}
}

@keyframes scroll {
	to {
		transform: translateX(calc(-100% - 8px));
	}
}

/*
	END HERO HEADER
*/

/*
	ARCH
*/
.spacer {
	width: 100%;
	height: 30vh;
}
.arch {
	display: flex;
	gap: 60px;
	justify-content: space-between;
	/*max-width: 1100px;*/
	margin-inline: auto;
}
.arch__left {
	display: flex;
	flex-direction: column;
	min-width: 300px;
	.arch__info {
		max-width: 356px;
		max-width: 500px;
		height: 100vh;
		display: grid;
		place-items: center;
		h2.header-arch {
			font-family: Outfit;
			font-size: 42px;
			font-weight: 800;
			letter-spacing: -0.84px;
		}
		p.desc {
			color: rgba(18, 18, 18, 0.8);
			font-size: 18px;
			font-size: 1.2rem;
			letter-spacing: -0.54px;
			margin-block: 6px 28px;
			line-height: normal;
			line-height: 1.3;
		}
		a.link {
			text-decoration: none;
			padding: 16px 18px;
			color: inherit;
			border-radius: 40px;
			display: flex;
			gap: 4px;
			width: fit-content;
			align-items: center;
			display: none;
		}
	}
}
.arch__right {
	flex-shrink: 1;
	height: 100vh;
	width: 100%;
	max-width: 540px;
	max-width: 60%;
	position: relative;
	display: flex;
	flex-direction: column;
	.img-wrapper {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		height: 600px;
		width: 100%;
		overflow: hidden;
		img {
			/* border: 1px solid red; */
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
		}
	}
}

/*
	VENUES
*/

.sticky-element {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
.track {
	width: fit-content;
	flex: 0 0 auto;
}
.track-flex {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 85vh;
	margin-inline: 50vw;
}
.panel-wide {
	position: relative;
	width: 40vw;
	height: 60%;
	overflow: hidden;
	flex: 0 0 auto;
	background: white;
}
.panel-wide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.half-height .track-flex {
	gap: 2rem;
}

/*
	SUPER SECTION
*/
.super-section section {
	width: 100%;
	height: 100%;
	position: relative;
}
.super-section section:nth-of-type(odd) {
	background-color: #fc0;
}
.super-section section:nth-of-type(even) {
	background-color: #0cf;
}
.super-section section.horizontal {
	overflow-x: hidden;
}
.super-section section.horizontal .pin-wrap,
.super-section section.horizontal .animation-wrap {
	display: flex;
	position: relative;
	z-index: 1;  
	height: 100vh;
}
.super-section section.horizontal .item {
	position: relative;
	padding: 150px 80px;
	flex: 0 0 500px;
	height: calc(100vh - 300px);
	display: flex;
	align-items: center;
	line-height: 1.7;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	border-right: 1px solid rgba(0, 0, 0, 0.06);
	background-color: transparent;
}
.super-section section.horizontal .item:before {
	position: absolute;
	font-size: 100px;
	opacity: .13;
	font-weight: bold;    
	z-index: -1;
	-webkit-transform: translate(-30px, -50px);
	transform: translate(-30px, -50px);
	line-height: 1;
}
.super-section section.horizontal .animation-wrap.to-right {
	counter-reset: item;
	float: left;
}
.super-section  section.horizontal .animation-wrap.to-left {
	counter-reset: item 11;
	float: right; 
}
.super-section section.horizontal .animation-wrap.to-right .item:before {
	counter-increment: item;
	content: counter(item);
}
.super-section section.horizontal .animation-wrap.to-left .item:before {
	counter-increment: item -1;
	content: counter(item);
}
.super-section section.horizontal .animation-wrap .item:nth-child(2n+2) {
	align-items: flex-start;
}
.super-section section.horizontal .animation-wrap .item:nth-child(4n+4) {
	align-items: flex-end;
}

/*******/

:root {
	--set-margin: calc((100vw - 62.5rem) / 2);
	--set-width: auto;
	--set-gap: 2rem;
}

.sticky-element {
	overflow: hidden;
}
.track {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: fit-content;
	height: 100vh;
	flex: 0 0 auto;
}
.track-flex {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 65vh;
	margin-inline: var(--set-margin);
}
.panel-wide {
	position: relative;
	width: 100vw;
	height: 100%;
	overflow: hidden;
	flex: 0 0 auto;
}
.panel-wide span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	font-size: 3rem;
	font-weight: 700;
	/*mix-blend-mode: difference;*/
	text-transform: uppercase;
	color: #fff;
}
.panel-wide video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	mix-blend-mode: overlay;
}
.panel-wide img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.panel-wide::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(3, 51, 29,0.4); /* Verde con opacidad */
	pointer-events: none;
	border-radius: 0.375rem; /* igual que .rounded de Bootstrap */
	mix-blend-mode: plus-lighter;
}
.half-height .track-flex {
	gap: var(--set-gap);
}
.progress--bar-wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
	position: absolute;
	bottom: 2rem;
}
.progress--bar {
	width: 100%;
	max-width: 62.5rem;
	height: 2px;
	border-radius: 1px;
	background: #2f2f2f;
}
.progress--bar-total {
	width: 0%;
	height: 100%;
	background: red;
	border-radius: 2px;
}
.elements {
	width: 62.5rem;
	display: flex;
	justify-content: center;
	gap: 0.25rem;
	position: absolute;
	bottom: 2.5rem;
	margin: 0 auto;
	left: 50%;
	transform: translateX(-50%);
}
.elements .thumbs {
	position: relative;
	width: calc(62.5vw / 5);
	background: #2f2f2f;
	flex: 1;
	text-align: center;
	isolation: isolate;
	padding: 0.25rem;
	cursor: pointer;
}
.elements .visible {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 0;
	background: red;
}
.lottie {
	width: 300px;
	height: 300px;
	position: absolute;
	top: 20%;
	top: 20%;
	right: 10%;
	opacity: 0;
	z-index: 100;
}

/* from home*/
#HeroCarouselBootstrap {
	height: 100svh;
	min-height: 350px;
	overflow: hidden;
	position: relative;
	background: #000;
}
#HeroCarouselBootstrap .carousel-item {
	height: 100svh;
	min-height: 350px;
	position: relative;
	overflow: hidden; /* Importante para enmascarar el efecto interno */
	background: none !important; /* deshabilitar background image directo */
}
/* Estilos necesarios para el efecto fade */
#HeroCarouselBootstrap.carousel-fade .carousel-item {
	opacity: 0;
	transition-property: opacity;
	transition-duration: 1.5s;
	transition-timing-function: ease-in-out;
	transform: none;
}
#HeroCarouselBootstrap.carousel-fade .carousel-item.active,
#HeroCarouselBootstrap.carousel-fade .carousel-item-next.carousel-item-start,
#HeroCarouselBootstrap.carousel-fade .carousel-item-prev.carousel-item-end {
	opacity: 1;
}
#HeroCarouselBootstrap.carousel-fade .active.carousel-item-start,
#HeroCarouselBootstrap.carousel-fade .active.carousel-item-end {
	opacity: 0;
}
#HeroCarouselBootstrap .kenburns-bg {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background-size: cover;
	background-position: center;
	z-index: 0;
	animation: kenburns 18s ease-in-out both;
	/* Dura más que el intervalo para evitar saltos */
	will-change: transform;
}
#HeroCarouselBootstrap .carousel-item.active .kenburns-bg,
#HeroCarouselBootstrap .carousel-item.carousel-item-next .kenburns-bg,
#HeroCarouselBootstrap .carousel-item.carousel-item-prev .kenburns-bg {
	animation-play-state: running;
}
@keyframes kenburns {
	0% {
		transform: scale(1) translateY(0px);
	}
	100% {
		transform: scale(1.15) translateY(-20px);
	}
}
@keyframes kenburns-reverse {
	0% {
		transform: scale(1.15) translateY(px);
	}
	100% {
		transform: scale(1.08) translateY(-12px);
	}
}
#HeroCarouselBootstrap .hero-carousel-overlay {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(10,24,44,0.5) 60%, rgba(0,0,0,0.73) 100%);
	z-index: 1;
}
#HeroCarouselBootstrap .hero-carousel-text {
	position: absolute;
	z-index: 2;
	width: 50%;
	text-align: center;
	top: 35%;
	left: 50%;
	transform: translate(-50%, -20%);
}
#HeroCarouselBootstrap .hero-carousel-text h1 {
	font-size: 4vw;
	font-weight: bold;
	color: #fff;
	margin: 0;
	user-select: none;
	/*text-shadow: 0 2px 16px rgba(0,0,0,0.45);*/
}
.carousel-indicators button {
	width:20px !important;
	height:20px !important;
	border-radius:50%;
	background-color:#fff;
	border:1px solid #fff;
	opacity:1;
	transition:all 0.3s ease;
	&:hover {
		background-color:#000;
	}
}

.m-heroFull__scroll svg {
	position: absolute;
	top: calc(100vh - 12rem);
	left: 50%;
	width: 4.8rem;
	height: 7.2rem;
	transform: translateX(-50%);
	z-index:1000;
}
c animation {
	stroke-dashoffset: -153.262px;
}
.m-heroFull__scroll line {
	stroke-dasharray: 100;
	animation: c 2.5s infinite ease-out;
}
@keyframes c {
	0% {
		stroke-dashoffset: 0
	}
	50% {
		stroke-dashoffset: -100
	}
	to {
		stroke-dashoffset: -200
	}
}

.desc-text-hero {
	z-index: 2;
	padding: 15% 10% 4rem;
	opacity: 0;
	min-height:calc(100vh - 108px);
	background: #e9f0f6;
}
.desc-text-hero h2 {
	font-family: "Syne", sans-serif;
	font-weight: 700;
	font-size: clamp(3rem, 10vw, 2rem);
	color:#081d59;
}
.desc-img-hero {
	position:relative;
	z-index:2;
	opacity:0;
	height:calc(100vh - 108px);
}
/*
.overflow-hidden {
	overflow: hidden;
}*/
	
/* Hero Section - Lipton Style */
.mid-hero {
	height: calc(100svh - 108px);
	display: grid;
	grid-template-columns: 2fr 3fr;
	align-items: center;
	background: var(--cream);
	background: #e9f0f6;
	position: relative;
	overflow: hidden;
	/*padding: 8rem 5% 4rem;*/
}
/*
.mid-hero::before {
	content: '';
	position: absolute;
	top: -20%;
	right: -10%;
	width: 800px;
	height: 800px;
	background: radial-gradient(circle, rgba(255, 193, 7, 0.15), transparent);
	border-radius: 50%;
	animation: float 20s ease-in-out infinite;
}
@keyframes float {
	0%, 100% { transform: translate(0, 0) rotate(0deg); }
	50% { transform: translate(-30px, 30px) rotate(5deg); }
}*/
.mid-hero-content {
	z-index: 2;
	padding: 8rem 14% 4rem;
	opacity:0;
}
.animate-in-left {
	animation: slideInLeft 1s ease-out;
	opacity:1;
}
@keyframes slideInLeft {
	from {
		opacity: 0;
		transform: translateX(-50px);
	}
	to {
		opacity: 1 !important;
		transform: translateX(0);
	}
}
.mid-hero-tag {
	display: inline-block;
	/*background: var(--verde);*/
	color: var(--verde);
	padding: 0.6rem 1.5rem;
	border-radius: 50px;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 2rem;
}
.mid-hero-title {
	/*font-family: 'Bebas Neue', sans-serif;*/
	font-family: "Syne", sans-serif;
	font-size: clamp(4rem, 10vw, 8rem);
	line-height: 0.95;
	color: var(--verde);
	margin-bottom: 2rem;
	color:#000;
	color:#081d59;
}
.mid-hero-title span {
	color: var(--gold);
	/*font-style: italic;*/
}
.mid-hero-text {
	font-size: 1.3rem;
	line-height: 1.6;
	margin-bottom: 3rem;
	max-width: 500px;
	color: var(--black);
	opacity: 0.85;
}
.mid-hero-image {
	position: relative;
	z-index: 2;
	opacity:0;
}
.animate-in-right {
	animation: slideInRight 1s ease-out;
	opacity:1;
}
@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translateX(50px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
.mid-hero-img {
	width: 100%;
	height: 100vh;
	background: url('https://res.cloudinary.com/dwpfsbie8/image/upload/w_1920/3-IMG_3306_hyqjdq.jpg');
	background-size: cover;
	background-position: center;
	/*border-radius: 300px 300px 0 0;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
	animation: imageFloat 6s ease-in-out infinite;
	*/
}
@keyframes imageFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-20px); }
}
.smooth-wrapper {
	height: 100%;
	overflow: hidden;
}
.smooth-content {
	position: relative;
	min-height: 100vh;
}
.gallery {
	column-count: 4;
	column-gap: 15px;
	column-gap:0;
	padding: 0 20px 100px;
	padding:0;
	max-width: 1400px;
	max-width: none;
	margin: 0 auto;
}
.item {
	/*display: inline-block;*/
	margin-bottom: 15px;
	margin: 0;
	width: 100%;
	overflow: hidden;
	background: #222;
	transition: transform 0.3s ease;
}
.item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: auto;
}
.item.t_square-thumb img {
	aspect-ratio: 1 / 1;
}
.item.t_horiz-thumb img {
	aspect-ratio: 16 / 9;
}
.item.t_vert-thumb img {
	aspect-ratio: 3 / 4;
}
.item:hover {
	transform: scale(1.05);
	z-index: 2;
}
.scroll-arrow-anim {
	animation: arrowUpDown 1.4s ease-in-out infinite;
}
@keyframes arrowUpDown {
	0%   { transform: translateY(0); }
	50%  { transform: translateY(-7.5px); }
	100% { transform: translateY(0); }
}
.aspect-img-header {
	aspect-ratio: 16 / 7;
}
@keyframes marquee-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
.marquee-wrapper {
	position: relative;
	width: 100%;
}
.marquee {
	will-change: transform;
	min-width: 200%;
}

/********** CUSTOM STYLES **********/
html {
	overflow-x: hidden;
}
body.modal-open {
	padding-right: 0 !important;
	overflow: inherit; /* Optional: if you want the body to scroll */
}
#gallery .item {
	cursor: zoom-in;
}
.carousel-item {
	max-width: 100vw;
}
.modal-backdrop {
	transition: backdrop-filter 0.2s cubic-bezier(0.4,0,0.2,1), opacity 0.2s cubic-bezier(0.4,0,0.2,1);
	opacity: 1 !important;
	background-color: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(0px);
}
.modal-backdrop.show {
	/* When the modal appears, animate the blur in */
	backdrop-filter: blur(5px);
	opacity: 1 !important;
	background-color: rgba(0, 0, 0, 0.5);
	transition: backdrop-filter 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.4s cubic-bezier(0.4,0,0.2,1);
	/* You may adjust cubic-bezier and duration for desired effect */
}
.marqueex {
	width: 100%;
	grid-column-gap: 1rem;
	display: flex;
	overflow: hidden;
}
.marquee-content {
	min-width: 100%;
	grid-column-gap: 1rem;
	flex: none;
	justify-content: space-around;
	display: flex;
}
.text-block {
	color: #fff;
	text-transform: uppercase;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Oxygen, Fira Sans, Droid Sans, sans-serif;
	font-size: 1.75rem;
	line-height: 1;
}
@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - 1rem));
	}
}
.scroll {
	animation: scroll 10s linear infinite;
}
.reverse {
	animation-direction: reverse;
}
.marquee-image {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}
/* Sponsors Section */
.sponsors {
	background: var(--grey);
	padding: 6rem 5%;
}
.sponsors-header {
	text-align: center;
	margin-bottom: 4rem;
}
.sponsors-title {
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(2.5rem, 5vw, 4rem);
	color: var(--verde);
}
.sponsors-grid {
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1.5rem;
	justify-items: center;
	align-items: center;
}
.sponsors-grid-center {
	justify-items: center;
}
.sponsor-item {
	background: var(--white);
	/*padding: 2rem;*/
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100px;
	transition: all 0.3s;
	margin: 0 auto;
}
.sponsor-item:hover {
	transform: translateY(-5px);
}
.sponsor-item img {
	max-width: 100%;
	max-height: 150px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}
/* Horizontal Scroll Image Section */
.horizontal-scroll-section {
	height: 600vh;
	/* 4x viewport height to allow for scroll through 3 images */
	position: relative;
	z-index: 1;
}
.horizontal-scroll-container {
	position: sticky;
	top: 108px;
	height: calc(100svh - 108px);
	width: 100%;
	overflow: hidden;
}
.horizontal-scroll-track {
	display: flex;
	height: 100%;
	width: 400%;
	will-change: transform;
}
.scroll-image-wrapper {
	flex: 0 0 25%;
	height: 100%;
	position: relative;
	opacity: 0.4;
	opacity: 1;
	/*transition: opacity 0.6s ease;*/
}
.scroll-image-wrapper.active {
	opacity: 1;
}
.scroll-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
thead tr {
	line-height: 1rem;
}
.table tr.fth th {
	font-weight: 800 !important;
	color: #333;
	background: #F3F4F6;
}
th.text-center.hole-number {
	width: 40px;
}
.table tr.sth th {
	font-weight: 800 !important;
	color: #333;
	background:#f0f8ff;
}
.hole-number {
	font-size: 0.75em;
	font-weight: normal;
}
#scores_single tbody tr td {
	font-weight: normal;
}
/* Cambiar flechas del accordion por signos + y - */
.accordion-button::after {
	display: none !important;
	background-image: none !important;
	content: "+" !important;
	font-size: 1.5rem;	
	width: auto;
	height: auto;
	margin-left: auto;
	transform: none !important;
}
.accordion-button:not(.collapsed)::after {
	content: "−" !important;
}
.active-tournament .accordion-button {
	background-color: rgba(33,37,41,1) !important;
	background-color: transparent !important;
}
.active-tournament {
	background:#0d6d40 !important;
}
.active-tournament span {
	color: #fff !important;
}

/*************************
	MEDIA QUERY
**************************/

@media (min-width: 768px) {
	.flex-md-equal > * {
		flex: 1;
	}
	.bd-placeholder-img-lg{
		font-size:3.5rem
	}
	.offcanvas-bottom {
		height: 35vh !important;
	}
	#dynamic-width-img-container {
		aspect-ratio: 16 / 8; 
		width: 80%; 
		display: block;
	}
	#main-lead {
		font-size:2.8rem;
	}
}
@media (max-width: 768px) {
	#main-lead {
		font-size:2rem;
	}
	.offcanvas-bottom {
		height: 50vh !important;
	}
	#dynamic-width-img-container {
		aspect-ratio: 4 / 3; 
		width: 100%; 
		display: block;
	}
	.horizontal-scroll-section {
		height: 800vh;
	}
	.horizontal-scroll-track {
		width: 800%;
	}
	.arch {
		flex-direction: column;
		gap: 20px;
	}
	.arch__left,
	.arch__right {
		display: contents;
	}
	.arch__right {
		height: auto;
		max-width: 100%;
	}
	.arch__right .img-wrapper {
		position: static;
		transform: none;
		height: 360px;
		width: 100%;
		margin-bottom: 20px;
	}
	.arch__left .arch__info {
		height: auto;
		padding: 20px 0;
	}
}

@media (max-width: 900px) {
	.arch {
		gap: 30px;
	}
	.gallery { column-count: 2; }
}
@media (max-width: 768px) {
	
}
@media (max-width: 560px) {
	.arch {
		gap: 12px;
	}
	.container {
		padding: 10px;
	}
	.arch__right .img-wrapper {
		border-radius: 10px;
		height: 280px;
	}
}
@media (max-width: 1200px) {
	.gallery { column-count: 3; }
}
@media (max-width: 600px) {
	.gallery { column-count: 1; }
}
@media (max-width: 576px) {
	.aspect-img-header {
		aspect-ratio: 8 / 6;
	}
	.fs-4-sm {
		font-size: 1.35rem !important;
	}
}
@media (max-width: 700px) {
	#HeroCarouselBootstrap .hero-carousel-text h1 { font-size: 9vw; }
}
@media only screen and (min-width: 1025px) {
	.m-heroFull__scroll svg {
		width: 4.8rem;
		height: 10.4rem;
		top: calc(100vh - 16rem);
	}
}
@media (max-width: 767.98px) {
	.mobile-score { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
	.score-block .row { border-bottom: 1px solid #dee2e6; text-align: center; padding: 0.25rem 0; }
	.score-block .header { font-weight: bold; display: flex; justify-content: space-between; margin-bottom: 0.5rem; }
	.score-block .badge { font-size: 0.75em; }
	.table td {
		vertical-align: middle;
		font-size: .8rem;
		font-weight: normal;
	}
	.accordion-body {
		padding: 0 !important;
	}
}