/* BASE */
:root {
  font-size: 16px;
}
* {
	box-sizing: border-box;
}
html,
body {
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "Poppins", sans-serif;
	  font-weight: 400;
	  font-style: normal;
	font-size: clamp(0.875rem, 1vw + 0.5rem, 1rem);
	line-height: 1.3;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	-webkit-overflow-scrolling: touch;
	color: rgba(41, 41, 41, 1);
	min-height: 100vh;
	background-image: url("../../assets/img/bg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: center; 
}
h1,
h2,
h3 {
	line-height: 1.4;
}
h1 {
	font-size: 1rem;
	font-weight: 200;
}
h2 {
	font-size: 2.62rem;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
}
h2.xl {
	font-size: 4.24rem;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
}
h2.xxl {
	font-size: 6.85rem;
	font-weight: 900;
	text-transform: uppercase;
	line-height: .85;
}
dt span {
	font-size: 2.06rem;
	font-weight: 300;
	opacity: 1;
	line-height: .85;
}
h3 {
	font-size: 1.62rem;
	font-weight: 500;
	text-indent: 1rem;
}
i {
	font-size: 0.7rem;
	opacity: .75;
}
i::before {
	content: '*';
	margin-right: .25rem;
}


p {
	font-size: 1rem;
	font-weight: 400;
	text-transform: none;
	text-indent: 1.5rem;
	margin-top: 1rem;
}
p:last-child {
	margin-bottom: 0;
}
p::first-letter, h3::first-letter {
	text-transform: uppercase;
}
a {
	cursor: pointer;
	font-size: 1rem;
	color: rgba(255, 94, 0, 1);
}
a:hover {
	cursor: pointer;
	font-size: 1rem;
	color: rgba(125, 49, 175, 1);
}
button {
	font-size: 1rem;
	font-weight: 600;
	background: rgba(255, 94, 0, 1);
	color: #fff;
	cursor: pointer;
	border-radius: 5px;
	display: inline-flex;
	width: fit-content;
	justify-self: start;
	align-self: start;
	padding: .3rem .6rem;
	z-index: 20
}
button:hover{
	font-size: 1rem;
	font-weight: 600;
	background: rgba(127, 85, 61, 1);
	color: #fff;
	cursor: pointer;
	border-radius: 5px;
	display: inline-flex;
	width: fit-content;
	justify-self: start;
	align-self: start;
	padding: .3rem .6rem;
	z-index: 20
}
/* grilla */

section {
	width: 100vw;
	max-width: 2560px;
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	background-image: url("../../assets/img/bg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: 10;
	position: relative;
}
section.sticky{
	position:sticky !important;
	top:0;
	z-index:1;
}
section.sticky.is-active{
	z-index:10;
}

section>article {
	position: relative;
	display: block;
	background: none;
}

.bg {
	background-image:
		linear-gradient(90deg,
			#00d1e0 0%,
			#00d1e0 35%,
			#fff 35%,
			#fff 100%),
		url("../../assets/img/bg.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-blend-mode: multiply;
}

.bgdeg,
.bgpic,
.bgmix {
	position: relative;
	isolation: isolate;
}

.bgdeg>*,
.bgpic>*,
.bgmix>* {
	position: relative;
	z-index: 1;
}

.bgdeg::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background: radial-gradient(circle at 0% 0%,
			rgba(34, 34, 34, 1) 0%,
			rgba(221, 255, 0, 1) 55%,
			rgba(0, 209, 224, 1) 100%);
	mix-blend-mode: soft-light;
}

.bgpic::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background-image: url("../../assets/img/mont.webp");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 50% auto;
	mix-blend-mode: multiply;
	opacity: .75;
}

.bgmix::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background: radial-gradient(circle at 0% 0%,
			rgba(221, 255, 0, .65) 0%,
			rgba(34, 34, 34, .75) 55%,
			rgba(0, 209, 224, 1) 100%);
	mix-blend-mode: soft-light;
}

.bgmix::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background-image: url("../../assets/img/mont.webp");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 61% auto;
	mix-blend-mode: multiply;
	opacity: .75;
}

/*txt*/
.artxt {
	position: relative;
	width: 100%;
	padding: 0;
	--lines: 6;
	--lh: 1.4;
	--max-height: 12;
}

.artxt hr {
	margin: 1rem 0;
	display: block;
}

.artxt .colapse {
	position: relative;
	overflow: hidden;
	max-height: calc(var(--lines) * var(--lh) * 1rem);
	transition: max-height 1s ease;
	padding: 0;
	margin: 0;
}

.artxt .colapse.expanded {
	max-height: calc(var(--max-height) * var(--lh) * 1rem);
	overflow-y: auto;
	scrollbar-width: none;
}

.artxt .colapse.expanded::-webkit-scrollbar {
	display: none;
}

.artxt .colapse-toggle {
	cursor: pointer;
	color: rgba(0, 209, 224, 1);
	display: none;
	width: 100%;
	font-size: 2rem;
	margin: 0;
}

.artxt .colapse-toggle::before {
	font-family: "icomoon";
	content: "\e900";
}

.artxt .colapse-toggle.is-expanded::before {
	content: "\e903";
}

.artxt .colapse {
	position: relative;
}

.artxt .colapse::after {
	content: "----------- / -----------";
	position: absolute;
	left: 0;
	right: 0;
	bottom: .35rem;

	display: block;
	text-align: center;
	line-height: 1;
	font-size: .9rem;

	opacity: 0;
	transform: translateY(6px);
	transition: opacity .25s ease, transform .25s ease;
	pointer-events: none;
}

.artxt .colapse.expanded.at-end::after {
	opacity: .7;
	transform: translateY(0);
}

/* media */
figure {
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	aspect-ratio: 2 / 1;
	padding: 0;
}
figure figcaption {
	position: absolute;
	bottom: .5%;
	left: 1%;
	font-size: .7rem;
	font-style: italic;
	z-index: 2;
	color: rgba(255,255,255,.6);
}
figure figcaption::before {
	content: '*';
	margin-right: .25rem;
}
figure img.responsive-img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}
video.responsive-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	aspect-ratio: 16 / 9;
}

/*header*/
header.main{
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 50;
	backdrop-filter: blur(60px);
	-webkit-backdrop-filter: blur(60px);
	opacity: 1;
	pointer-events: auto;
	transition: opacity .6s ease;
 background-image:
		radial-gradient(circle at center, rgba(0, 209, 224, .75) 0%, #ffffff 70%),
		url("../../assets/img/bg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	background-position: center; 
background-blend-mode: multiply; 
	
}

header.main > img.header-bg{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	opacity: 0.5;
	width: 100%;
	height: auto;
	max-width: 100%;
	pointer-events: none;
}

/* contenedor circular */
header.main ul{
	position: absolute;
	top: 38%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 12vw;
	height: 12vw;
	padding: 2rem;
	margin: 0;
	list-style: none;
	border-radius: 50%;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	padding: 2rem;
}
header.main ul img{
width: 100%;
height: auto;
}
/* borde animado */
header.main ul::before{
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	padding: 10px;
	background: linear-gradient(90deg, #00d1e0, #d6ff5c);
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	z-index: 2;
	animation: spin 5s linear infinite;
	pointer-events: none;
}

header.main ul > *{
	position: relative;
	z-index: 3;
}

@keyframes spin{
	from{ transform: rotate(0deg); }
	to{ transform: rotate(360deg); }
}

header.compact{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 12vh;
	z-index: -2;
	opacity: 0;
	pointer-events: none;
	transition: opacity 1s ease;
}

header.compact img {
	width: 8%;
	filter: invert(1);
	position: absolute;
	top: 11%;
	right: 81%;
}

nav.header{
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: -2;
	opacity: 0;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: rgba(221, 255, 0, 1);
	background-image: url("../../assets/img/bg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
	border-radius: 10px 0 0 10px;
	transition: opacity 1s ease;
}

nav.header a{
	font-family: "icomoon";
	font-size: 1.3rem;
	padding: 1rem;
	color: #222;
	border-bottom: 1px solid rgba(0,0,0,.2);
	display: flex;
	align-items: center;
	justify-content: center;
}

nav.header a:last-child{
	border-bottom: none;
}

nav.header .icon-dots-three-horizontal{ display: inline-block; }
nav.header .icon-cross{ display: none; }

nav.header.menu-open .icon-dots-three-horizontal{ display: none; }
nav.header.menu-open .icon-cross{ display: inline-block; }
.nav-handle{
	display: none;
	color: #df0;
	font-weight: 600;
}

section.block>article:nth-child(1){
	width: 38%;
}
section.block>article:nth-child(1) dl{
	width: 62%;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	text-align: right;
}
section.block>article:nth-child(2) {
	width: 62%;
}

section.block_f>article:nth-child(1){
	width: 38%;
}
section.block_f>article:nth-child(1) dl{
	width: 62%;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	text-align: right;
	z-index: 3;
}
section.block_f>article:nth-child(1) dl dt{
	width: 200%;
	text-align: left;
}
section.block_f>article:nth-child(2) {
	width: 62%;
}

section.block_r>article:nth-child(1){
	width: 62%;
}
section.block_r>article:nth-child(2) dl{
	width: 62%;
	position: absolute;
	left: 2rem;
	top: 50%;
	transform: translateY(-50%);
	text-align: left;
}
section.block_r>article:nth-child(2) {
	width: 38%;
}
section.block_rf>article:nth-child(1){
	width: 62%;
}
section.block_rf>article:nth-child(2) dl{
	width: 62%;
	position: absolute;
	left: 2rem;
	top: 50%;
	transform: translateY(-50%);
	text-align: left;
}
section.block_rf>article:nth-child(2) dl dt{
	width: 200%;
	transform: translateX(-50%);
	text-align: right;
}
section.block_rf>article:nth-child(2) {
	width: 38%;
}

section.headline{
	padding: 9% 19%;
}
section.headline article{
	padding: 0 1rem;
}
section.headline > article:nth-child(1) {
	 width: 50%; 
	 text-align: right;
	 border-right: 1px solid rgba(34, 34, 34, .25);
 }
section.headline > article:nth-child(2) { width: 50%; }

/*slider */
:root {
	--slide-time: 6000ms;
	--img-dur: 1200ms;
	--txt-dur: 900ms;

	--img-x: 0%;
	--img-y: 0%;
	--img-blur: 30px;
	--img-opacity: 1;
	--img-scale: 1;
	--img-saturate: 0;

	--txt-x: 0%;
	--txt-y: 0%;
	--txt-blur: 0px;
	--txt-opacity: 1;
	--txt-scale: 1;
	--txt-saturate: 1;
}

section.slider {
	width: 100vw;
	height: 100vh;
	display: flex;
}

section.slider>article:nth-child(1) {
	width: 100%;
}


/* stage */

.slider-stage {
	position: relative;
	overflow: hidden;
}

.slider-track {
	width: 100%;
	height: 100%;
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}

.slide.active {
	opacity: 1;
	pointer-events: auto;
}

.slide-media {
	width: 100%;
	height: 100%;
	aspect-ratio: 5/ 1;
	position: relative;
}

.slide-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.slide-text {
	position: absolute;
	top: 62%;
	left: 62%;
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
	transition:
		opacity var(--txt-dur),
		transform var(--txt-dur),
		filter var(--txt-dur);
}

.slide.active .slide-text {
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
	color: rgba(236, 236, 236, 1)
}

.slide-media {
	opacity: 0;
	transform: scale(1.05);
	transition:
		opacity var(--img-dur),
		transform var(--img-dur);
}

.slide.active .slide-media {
	opacity: 1;
	transform: scale(1);
}


.slide-media {
	transform: translate(var(--img-x), var(--img-y)) scale(var(--img-scale));
	filter: blur(var(--img-blur)) saturate(var(--img-saturate));
	opacity: var(--img-opacity);
	transition:
		transform var(--img-dur),
		filter var(--img-dur),
		opacity var(--img-dur);
}

.slide-text {
	transform: translate(var(--txt-x), var(--txt-y)) scale(var(--txt-scale));
	filter: blur(var(--txt-blur)) saturate(var(--txt-saturate));
	opacity: var(--txt-opacity);
	transition:
		transform var(--txt-dur),
		filter var(--txt-dur),
		opacity var(--txt-dur);
}

.slide.active .slide-media {
	transform: translate(0, 0) scale(1);
	filter: blur(0) saturate(1);
	opacity: 1;
}

.slide.active .slide-text {
	transform: translate(0, 0) scale(1);
	filter: blur(0) saturate(1);
	opacity: 1;
}

.slider-control-panel {
	position: absolute;
	bottom: 5%;
	right: 5%;
	width: 6%;
	z-index: 10;

	display: flex;
	flex-direction: column;
	align-items: flex-end;
	/* alineación a la derecha */
	gap: 1rem;
}

/* timer */
.slider-timer {
	width: 100%;
	height: 4px;
	background: rgba(34, 34, 34, 1);
	overflow: hidden;
}

.slider-timer .bar {
	width: 0%;
	height: 100%;
	background: rgba(221, 255, 0, 1);
}

/* counter */
.slider-counter {
	min-width: 4ch;
	text-align: right;
	color: rgba(236, 236, 236, 1);
}

/* controls */
.slider-controls {
	display: flex;
	justify-content: flex-end;
	gap: .5rem;
}

.slider-controls a {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: rgba(236, 236, 236, 1);
}

/* play / pause */
.slider.is-play .play {
	display: none;
}

.slider.is-play .pause {
	display: inline-flex;
}

.slider.is-pause .play {
	display: inline-flex;
}

.slider.is-pause .pause {
	display: none;
}
/* break */
.break {
	width: 100vw;
	max-width: 2560px;
	height: 100vh;
	overflow: hidden;
	--break-scroll: 100vh;
}

.break-spacer {
	height: var(--break-scroll, 200vh);
}

.break>article {
	position: relative;
	width: 100%;
	height: 100%;
}

.break>article:nth-child(1) {
	width: 100%;
}

.break figure,
.break dl {
	position: absolute;
	inset: 0;
}

.break figure {
	height: 100%;
	width: 100%;
	aspect-ratio: 2/1;
	overflow: hidden;
}

.break .layer_one {
	z-index: 1;
}

.break .layer_two {
	z-index: 2;
}

.break .layer_three {
	z-index: 3;
}

.break img.responsive-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.break .layer_two {
	--x0: 0%;
	--x1: 0%;
	--y0: 0%;
	--y1: 0%;
	--scale0: 1;
	--scale1: 1;
	--blur0: 5px;
	--blur1: 0px;
	--op0: 0;
	--op1: 1;
	--sat0: 1;
	--sat1: 1;
}

.break .layer_three {
	--x0: -50%;
	--x1: -50%;
	--y0: 0%;
	--y1: -40%;
	--scale0: 1;
	--scale1: 1;
	--blur0: 0px;
	--blur1: 0px;
	--op0: 1;
	--op1: 1;
	--sat0: 1;
	--sat1: 1;

	--w0: 62%;
	--w1: 38%;
	--c0: 255, 255, 255;
	--c1: 255, 94, 0;
}

.break .layer_one,
.break .layer_two {
	pointer-events: none;
}

.break .layer_three {
	pointer-events: auto;
}

.break dl {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.break .layer_three dd {
	color: rgba(255, 255, 255, 1);
}
/* parallax */
.parallax {
  height: 100vh;
  overflow: hidden;
  --parallax-scroll: 75vh;
}

.parallax > article {
  position: relative;
  width: 100%;
  height: 100%;
}

.parallax .layer_one,
.parallax .layer_two,
.parallax .layer_three {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.parallax .layer_one   { z-index: 1; }
.parallax .layer_two   { z-index: 2; }
.parallax .layer_three { z-index: 3; }

.parallax .layer_one {
  --x0: 0%;
  --x1: 0%;
  --y0: 0%;
  --y1: 0%;
  --s0: 1;
  --s1: 1;
  --c0: 34,34,34,.5;
  --c1: 34,34,34,.5;
}

.parallax .layer_two {
 --x0: 0%;
   --x1: 5%;
   --y0: 0%;
   --y1: 0%;
   --s0: 1;
   --s1: 1;
   --c0: 34,34,34,.5;
	 --c1: 34,34,34,.5;
}

.parallax .layer_three {
 --x0: 0%;
   --x1: 10%;
   --y0: 0%;
   --y1:0%;
   --s0: 1;
   --s1: 1;
  --c0: 34,34,34,.5;
	--c1: 34,34,34,.5;
}
.parallax-spacer{ height: var(--parallax-scroll, 200vh); }
/* xscroll */
section.xscroll{
	width:100%;
	height:100vh;
	position:relative;
	overflow:hidden;
}

section.xscroll > article{
	position:relative;
	width:100%;
	height:100%;
	margin:0 auto;
}

section.xscroll > article > ul{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	width:62%;
	height:52%;
	margin:0;
	padding:0;
	list-style:none;
	overflow:hidden;
}

section.xscroll .xscroll-track{
	height:100%;
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	gap:.4rem;
	will-change:transform;
}

section.xscroll li{
	height:100%;
	flex:0 0 auto;
	position:relative;
}

section.xscroll li figure{
	height:100%;
	aspect-ratio:3/2; 
	margin:0;
	overflow:hidden;
}

section.xscroll li figure img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

section.xscroll li dl{
	position:absolute;
	top:6%;
	left:6%;
	width:60%;
	color:#fff;
	pointer-events:none;
}

section.xscroll li button{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	border:0;
	padding:.75rem 1rem;
	background:rgba(0,0,0,.6);
	color:#fff;
	cursor:pointer;
}
/* POSTER */
.poster {
	height: 100vh;
	width: 100%;
	opacity: 1
}
.poster article {
	position: relative;
	height: 100%;
	width: 100%;
}
.poster figure {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	z-index: 1;
	aspect-ratio:2/1;
}
.poster .artxt {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 38.2%;
	padding: 0 4% 0 9%;
	text-align: right;
	color: #fff;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, .5),
		rgba(0, 0, 0, 0.05)
	);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
}

/* sweep */
.sweep {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  --sweep-speed: 0.0001;
  margin-top: 0;
}

.sweep > article {
  position: relative;
  width: 100%;
  height: 100%;
}

.sweep figure.layer_one {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.sweep figure.layer_one img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: auto;
  aspect-ratio: 3 / 1; 
  min-width: 100%;
  object-fit: cover;
  object-position: left top;
  will-change: transform;
}

.sweep .layer_two {
  position: absolute;
 width: 30%;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
  z-index: 2;
}

/* launchpad */
.launchpad{
	width:100%;
	max-width:2560px;
	margin:0 auto;
	position:relative;
}
.launchpad ul{
	display:grid;
	grid-template-columns:repeat(3,1fr); 
	gap:2vw;
	width:62%;
	margin:0 auto;
	padding: 2rem 0;
	list-style:none;
	box-sizing:border-box;
}
.launchpad li{
	position:relative;
	overflow:hidden;
	cursor:pointer;
}
.launchpad li figure{
	width:100%;
	aspect-ratio:1/1; 
	position:relative;
	overflow:hidden;
}
.launchpad li figure img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transform:scale(1);
	filter:blur(0) saturate(1);
	transition:transform .6s ease, filter .6s ease;
}
.launchpad li dl{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
	color:rgba(221,255,0,1);
	pointer-events:none;
}

.launchpad li dl dt{
	transform:translateY(0) scale(1);
	opacity:1;
	transition:transform .5s ease, opacity .5s ease;
}
.launchpad li dl dd{
	margin-top:.75rem;
	transform:translateY(20px);
	opacity:0;
	transition:transform .5s ease, opacity .5s ease;
}
.launchpad li dl hr{
	width:40%;
	margin:1rem 0;
	border:0;
	height:1px;
	background:currentColor;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .5s ease;
}
/* ===== HOVER ===== */
.launchpad li:hover figure img{
	transform:scale(1.05);
	filter:blur(14px) saturate(0);
}
.launchpad li:hover dl dt{
	transform:scale(.95);
	color: rgb(236, 236, 236);
}
.launchpad li:hover dl dd{
	transform:translateY(0);
	opacity:1;
}
.launchpad li:hover dl hr{
	transform:scaleX(1);
}
/*menu*/
.menu {
	position: fixed;
	top: 0;
	left: -25%;
	width: 25%;
	height: 100vh;
	background: #dcff00;
	padding: 2rem;
	transition: left .3s ease;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 100;
}
#navmenu {
	position: fixed;
	top: 2%;
	right: 2%;
	z-index: 100;
	display: none;
}
.btn-open-menu,
.btn-close-menu {
	cursor: pointer;
	font-size: 1.5rem;
	color: #fff;
}
.menu ul {
	padding-left: 0;
}
.menu li {
	display: block;
	cursor: pointer;
	background: rgba(255,255,255,.25);
	margin-bottom: .2rem;
	padding: .3rem .5rem;
	position: relative;
}
.menu li > i {
	display: block;
	margin: .1rem 0 .5rem;
	opacity: .7;
}
.menu ul ul {
	padding-left: .5rem;
	display: none;
}
.menu ul ul ul {
	padding-left: 1rem;
}
.menu li ul li:last-child {
	margin-bottom: .5rem;
}
.menu li:has(> ul)::after {
	content: "\e901";
	font-family: "icomoon";
	position: absolute;
	right: .5rem;
	top: .4rem;
	font-size: 1rem;
	opacity: .7;
}
.menu li.open:has(> ul)::after {
	content: "\e902";
}
/*popup*/
.popup {
	position: fixed;
	top: 0;
	left: 100%;
	width: 90vw;
	height: 90vh;
	z-index: 100;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: left .3s ease;
}

.popup.is-open {
	left: 10vw;
}

body.popup-open {
	overflow: hidden;
}

.popup .close-popup {
	position: sticky;
	top: 15%;
	z-index: 10;
}

.popup::before {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	z-index: -1;
}

.popup.is-open::before {
	opacity: 1;
	pointer-events: auto;
}

#popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(0, 0, 0, .15);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
}

#popup-overlay.is-active {
	opacity: 1;
	pointer-events: auto;
}
/* CTA */
.open-cta{
	position: relative;
	z-index: 1;
}
.cta-popover{
	position: absolute;
	top: calc(100% + .5rem);
	left: 100%;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding: .75rem;
	background: rgba(127, 124, 181, 1);
	border-radius: .5rem;
	opacity: 0;
	transform: translateY(-4px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
	z-index: 20;
	display: none;
}
.cta-popover.is-open{
	opacity: 1;
	transform: translateY(-2rem);
	pointer-events: auto;
	display: block;
}
/* Pinterest*/
.pntrst{
	width: 100%;
}
.pntrst .gallery-cols{
	--cols: 4;
	--gap: 1;
	width: 62%;
	list-style: none;
	margin: 0 auto;
	padding: 3rem 1rem;
	column-count: var(--cols);
	column-gap: var(--gap);
	column-fill: balance;
}
.pntrst .gallery-cols > li{
	display: inline-block;
	width: 100%;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	background: rgb(236, 236, 236);
	margin-bottom: .5rem;
}
.pntrst figure{
	margin: 0;
}
.pntrst img{
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}
.pntrst dl{
	white-space: normal;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
	padding: 1rem 1rem 2rem;
}
.pntrst dl h2{ font-size: 1.2rem; }
.pntrst dl span{ font-size: .9rem; }

/* G. Destacada */
.dstcd{
	width: 100%;
}
.dstcd .gallery-cols{
	display: grid!important;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 3px;
	padding: 2rem 0;
	margin: 0 auto;
	list-style: none;
	grid-auto-flow: dense;
	width: 62%;
}
.dstcd .gallery-cols > li{
	display: block;
	margin: 0;
}
.dstcd figure{
	aspect-ratio: 1 / 1;
	margin: 0;
}
.dstcd img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.dstcd dl{
	display: none;
}
.dstcd .is-featured{
	grid-column: span 2;
}
.dstcd .is-featured figure{
	aspect-ratio: 2 / 1;
}
.pntrst article,
.dstcd article{
	height: 100vh;
	overflow-y: auto;
}

/* LIGHTBOX */
#lightbox{
	position: fixed;
	inset: 0;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .5s ease, visibility 0s linear .5s;
}
#lightbox.is-open{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .5s ease;
}
#lightbox .lb-backdrop{
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.86);
	opacity: 0;
	transition: opacity .5s ease;
}
#lightbox.is-open .lb-backdrop{
	opacity: 1;
}
#lightbox .lb-ui{
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 3vh 3vw;
	transform: scale(.8);
	opacity: 0;
	transition: transform .5s ease, opacity .5s ease;
}
#lightbox.is-open .lb-ui{
	transform: scale(1);
	opacity: 1;
}
#lightbox .lb-figure{
	max-width: 94vw;
	max-height: 92vh;
	display: grid;
	gap: 1rem;
	justify-items: center;
	aspect-ratio: 9 / 16;
}
#lightbox .lb-img{
	max-width: 94vw;
	max-height: 80vh;
	height: 100%;
	object-fit: cover;
	transition: opacity .5s ease;
}
#lightbox.is-switching .lb-img{
	opacity: 0;
}
#lightbox .lb-cap{
	color: #fff;
	text-align: center;
}
#lightbox .lb-counter{
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	color: #fff;
	font-size: .95rem;
	opacity: .9;
}
#lightbox .lb-btn{
	position: absolute;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: rgba(0,0,0,.35);
	color: #fff;
	display: grid;
	place-items: center;
	cursor: pointer;
}
#lightbox .lb-close{ top:1rem; right:1rem; }
#lightbox .lb-prev{ left:1rem; top:50%; transform:translateY(-50%); }
#lightbox .lb-next{ right:1rem; top:50%; transform:translateY(-50%); }
/* footer */
footer{
	width:61.8%;
	position:fixed;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	display:flex;
	flex-wrap:wrap;
	gap:3rem;
	padding:0 0 3rem;
	box-sizing:border-box;
	z-index:50;
	color: rgba(255, 255, 255, 1);
	text-shadow: 2px 2px 10px rgba(34, 34, 34, 1)
}

footer .corp_img{
	flex:0 0 100%;
	display:block;
	max-width:100%;
	height:auto;
	cursor:pointer;
}
footer .corp_img img{
	width: 23.6%;
	filter: brightness(10);
}

footer ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:.6rem;
	flex:1 1 0;
}

footer ul h2{
	color: rgba(221, 255, 0, 1);
	font-size: 2.06rem;
}

footer ul a{
	color: rgba(255, 255, 255, 1);
	font-weight: 600
}


footer li{
	position:relative;
	padding-left:0;
	line-height:inherit;
}

footer li::before{
	content:"\e906";
	font-family:"icomoon";
	font-size:1.1rem;
	opacity:1;
	color: rgba(221, 255, 0, 1);
	margin-right: .7rem;
}

footer > i{
	flex:0 0 100%;
	margin-top:2rem;
	padding-top:1rem;
	border-top:1px solid currentColor;
	font-style:normal;
	opacity:.5;
}
/* responsive */

.footer_spacer{
	height: 50vh;
	pointer-events: none;
}


/* ------------------------- */
.spacer{
	position: relative;
	height: 35vh;
	pointer-events: none;
}
.principal_header{
	position: fixed;
	left: 0;
	bottom: 9%;
	transform-origin: top left;
	transform: rotate(-90deg);
	opacity: 1;
	z-index: 200;
	font-size: .9rem;
}

.simple_btn{
	position: fixed;
	left: 0;
	top: 50%;
	transform-origin: top left;
	transform: translateY(-50%) rotate(-90deg);
	opacity: .5;
	font-size: .7rem;
	background: rgba(255, 255, 255, .3);
	padding: .2rem 1rem .5rem;
	border-radius: 0 0 10px 10px;
	z-index: 200;
	color: rgba(221, 255, 0, 1);
}

/* watermark */
.wm-wrapper {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
}
.wm-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 1;
	pointer-events: none;
	width: 100%;
	height: auto;
	object-fit: contain;
}
/* color scope */
.color-scope {
	--c-rgb: inherit;
	--c-txt: rgb(var(--c-rgb));
	--c-bg: rgba(var(--c-rgb), .75);
	--c-brd: rgb(var(--c-rgb));
}
.color-bg {
	background-color: rgba(var(--c-rgb), .75) !important;
}
.color-txt {
	color: var(--c-txt) !important;
}
.color-border {
	border-color: var(--c-brd) !important;
}
/*magnet*/
section.magnet {
	--magnet-threshold: 0.5;  
	--magnet-duration: 1000ms; 
	--magnet-ease: cubic-bezier(0.25,0.1,0.25,1);
}


.color-fixed{
	position:fixed;
	top:2rem;
	left:2rem;
	z-index:100;
	font-size:2rem;
	color:#000;
	transition: color .4s ease;
	pointer-events:none;
}

@media (min-width:1280px) and (max-width:1439px){
	:root{ font-size:13px; }
}
@media (min-width:1440px) and (max-width:1919px){
	:root{ font-size:14px; }
}
@media (min-width:1920px) and (max-width:2559px){
	:root{ font-size:16px; }
}
@media (min-width:2560px){
	:root{ font-size:18px; }
}














