@font-face{
	font-family:'Roboto';
	font-style:normal;
	font-weight:900;
    src:url(../fonts/Roboto-Black.ttf);
}

@font-face{
	font-family:'Roboto';
	font-style:normal;
	font-weight:400;
    src:url(../fonts/Roboto-Regular.ttf);
}

@font-face{
	font-family:'Roboto';
	font-style:normal;
	font-weight:300;
    src:url(../fonts/Roboto-Light.ttf);
}

@font-face{
	font-family:'Roboto';
	font-style:normal;
	font-weight:100;
    src:url(../fonts/Roboto-Thin.ttf);
}

:root{
	--hue:330;
	--background-color-nav:hsla(var(--hue), 100%, 0%, 0.4);
	--text-color:hsla(var(--hue), 100%, 100%, 1);
	--accent-color:hsla(var(--hue), 100%, 50%, 1);
	--accent-hover-color:hsla(var(--hue), 100%, 50%, 1);
	--logo-color:hsla(var(--hue), 100%, 50%, 1);
}

*,
::after,
::before{
	margin:0;
	padding:0;
	outline:0;
	box-sizing:inherit;
	text-decoration:none;
}

html{
	box-sizing:border-box;
	font-family:Roboto;
}

img{
	display:block;
}

nav{
	z-index:2;
}

nav svg{
	height:100%;
	padding:0.5rem;
}

.nav-landscape{
	display:flex;
	height:5rem;
	align-items:center;
	font-weight:700;
	font-size:1.5rem;
	
	position:fixed;
	top:0;
	left:0;
	right:0;
}

.nav-landscape.scrolled{
	background-color:hsl(330, 100%, 50%);
	height:3rem;
}

.nav-landscape a{
	padding-inline:1rem;
	color:rgb(255,255,255);
	line-height:3rem;
	height:100%;
}

.nav-landscape:not(.scrolled) a{
	text-shadow:0 0 8px	rgb(0, 0, 0, 0.5);
	line-height:5rem;
}

.nav-landscape:not(.scrolled) a:hover{
	color:hsl(330, 100%, 50%);
	text-shadow:0 0 8px	rgb(0, 0, 0, 1);
}

nav:not(.scrolled) a:hover .fill{
	fill:hsl(330, 100%, 50%);
}

.nav-landscape:not(.scrolled) a:hover svg{
	filter:drop-shadow(0px 0px 8px rgb(0, 0, 0, 1));
}

.nav-landscape.scrolled a:hover{
	background-color:hsl(330, 100%, 40%);
}



.nav-portrait{
	display:flex;
	flex-direction:column;
	height:5rem;
	font-weight:700;
	font-size:1.5rem;
	
	position:fixed;
	top:0;
	left:0;
	right:0;
}

.nav-portrait-header{
	display:flex;
}

.nav-portrait label{
	margin-left:auto;
	width:5rem;
	height:5rem;
	display:grid;
	place-items:center;
}

.nav-portrait input{
	display:none;
}

.nav-portrait.scrolled{
	background-color:hsl(330, 100%, 50%);
}

.nav-portrait.scrolled label{
	height:3rem;
}

.nav-portrait svg{
	height:100%;
	padding:0.5rem;
}

.nav-portrait i{
	margin-left:auto;
	width:100%;
	height:100%;
	display:grid;
	place-items:center;
	color:rgb(255, 255, 255);
}

.nav-portrait i:hover{
	color:hsl(330, 100%, 50%);
}

.nav-portrait.scrolled i:hover,
.nav-portrait:has(:checked) i:hover{
	color:rgb(255, 255, 255);
	background-color:hsl(330, 100%, 40%);
}

.nav-portrait:has(:checked){
	background-color:hsl(330, 100%, 50%);
}

.nav-landscape svg .fill{
	fill:rgb(255,255,255);
}

.nav-portrait a{
	padding-inline:1rem;
	color:rgb(255,255,255);
	line-height:3rem;
	height:100%;
	text-align:center;
}

.nav-portrait a.link-hideable{
	background-color:hsl(330, 100%, 50%);
	display:none;
}

.nav-portrait:has(:checked) a.link-hideable{
	display:revert;
}

.nav-portrait.scrolled a.link-hideable:hover,
.nav-portrait:has(:checked) a.link-hideable:hover{
	background-color:hsl(330, 100%, 40%);
}


.nav-portrait.scrolled{
	height:3rem;
}






.player{
	--y:1rem;
	--x:calc(-100% - 1rem - 2px);
	z-index:1;
	position:fixed;
	left:0;
	top:4rem;
	display:flex;
	background-color:white;
	border:1px solid var(--accent-color);
	height:3rem;
	align-items:center;
	gap:0.5rem;
	padding-inline:0.5rem;
	border-radius:1.5rem;
	transform:translate(var(--x), var(--y));
	transition:transform 250ms;
}

.player.scrolled{
	--y:0;
}

.player.playing{
	--x:1rem;
}

.player i{
	width:2rem;
	height:2rem;
	border:1px solid var(--accent-color);
	border-radius:1rem;
	display:grid;
	place-items:center;
}

.player-text-group-1{
	display:flex;
	flex-direction:column;
	min-width:220px;
}












.hero{
	height:100vh;
	position:relative;
}

.hero-video{
	position:absolute;
	inset:0;
}

.hero-box{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	align-items:center;
}

.hero-box img{
	margin-top:10%;
	max-width:50vw;
	max-height:50vh;
	width:50%;
	height:50%;
	object-fit:contain;	
}

.hero-box svg{
	margin-top:15vh;
	max-width:50vw;
	max-height:50vh;
	min-width:350px;
	width:50%;
	height:50%;
	color:rgb(255,255,255);
}

.hero-box p{
	color:rgb(255,255,255);
	font-weight:700;
}

.hero-box-date{
	font-size:3rem;
}

.hero-box-addr{
	font-size:2rem;
}

.hero-video video{
	width:100%;
	height:100%;
	object-fit:cover;	
}

section{
	max-width:100vw;
}

.article{
	padding:10vw;
	padding-top:0;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10vw;
}

.article-target{
	height:0px;
	grid-column:1/3;
	position:relative;
	top:calc(-3rem + 1px);
}

.article:nth-child(even of .article){
	background-color:black;
}

.article:nth-child(even of .article) .article-text{
	color:white;
	grid-column:1/2;
	grid-row:2/3;
}

.article:nth-child(odd of .article) .article-text{
	color:black;
	grid-column:2/3;
	grid-row:2/3;
}

.article:nth-child(even of .article) .article-image{
	grid-column:2/3;
	grid-row:2/3;
}

.article:nth-child(odd of .article) .article-image{
	grid-column:1/2;
	grid-row:2/3;
}

.article:nth-child(even of .article) .button-cta{
	background-color:black;
	color:white;
}

.article:nth-child(odd of .article) .button-cta{
	background-color:white;
	color:black;
}

.article:nth-child(odd of .article) .sponsor-white{
	display:none;
}

.article:nth-child(even of .article) .sponsor-black{
	display:none;
}

.article-text{
	display:flex;
	flex-direction:column;
	gap:2rem;
	justify-content:center;
}

.article-text p,
.article-text blockquote{
	line-height:1.5em;
}

.article-text blockquote{
	border-radius:1rem;
	padding:1rem;
	margin:-1rem;
	border:1px solid rgb(128,128,128);
}

.article-text p span{
	color:var(--accent-color);
}

.article-text h2{
	font-weight:100;
	font-size:2rem;
}

.article-text span a{
	color:inherit;
}

.article h3+p{
	margin-top:-2rem;
}

.article p+ul{
	margin-top:-2rem;
}
.article ul{
	margin-left:2rem;
}

.line{
	width:200px;
	height:4px;
	background-color:var(--accent-color);
}

.article-image img{
	width:100%;
	max-height:60vh;
	aspect-ratio:1;
	object-fit:cover;
	border-radius:1rem;
}

.article .logo{
	color:var(--accent-color);
}

.article-audio{
	grid-column:1/3;
	grid-row:3/4;
	display:grid;
	grid-template-columns:64px 1fr;
	grid-template-rows:64px;
	gap:1rem;
}

.article:nth-child(even of .article) .article-audio i{
	background-color:var(--accent-color);
	color:black;
}

.article:nth-child(odd of .article) .article-audio i{
	background-color:var(--accent-color);
	color:white;
}

.article-audio i{
	width:64px;
	height:64px;
	border-radius:32px;
	font-size:1.5rem;
	display:grid;
	place-items:center;
}

.article-audio canvas{
	width:100%;
	height:100%;
}

.button-cta-large{
	padding-inline:2rem;
	margin-top:1rem;
	border-radius:1.6rem;
	height:3.2rem;
	border:1px solid var(--accent-color);
	background-color:white;
	color:black;
	display:flex;
	gap:0.5em;
	font-size:1.25rem;
	align-items:center;
	transition:background-color 250ms, color 250ms;
}

.button-cta-large:hover{
	background-color:var(--accent-color);
	color:white;
}

.button-cta{
	width:max-content;
	padding:0.5rem 1rem;
	border-radius:1.1rem;
	height:2.2rem;
	border:1px solid var(--accent-color);
	
	display:flex;
	gap:0.5em;
	align-items:center;
	transition:background-color 250ms, color 250ms;
}

.article .button-cta:hover{
	background-color:var(--accent-color);
	color:white;
}

.sponsor-container .sponsors{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:1rem;
}

.sponsor{
	border:1px solid var(--accent-color);
	border-radius:1rem;
	padding:1rem;
}

.sponsor img{
	object-fit:contain;
}



.article:nth-child(2n of .article).full-image .article-image,
.article:nth-child(2n+1 of .article).full-image .article-image{
	grid-column:1/3;
}

.article:nth-child(2n of .article).full-image .article-image img,
.article:nth-child(2n+1 of .article).full-image .article-image img{
	object-fit:contain;
}






#scroll-to-top{
	width:3rem;
	height:3rem;
	border-radius:1.5rem;
	
	position:fixed;
	bottom:1rem;
	right:1rem;
	background-color:white;
	border:1px solid var(--accent-color);
	
	font-size:1.25rem;
	
	opacity:0;
	pointer-events:none;
	transition:opacity 250ms;
}

#scroll-to-top.scrolled{
	opacity:1;
	pointer-events:auto;
}


/*
 *     #######                                  
 *     #        ####   ####  ##### ###### ##### 
 *     #       #    # #    #   #   #      #    #
 *     #####   #    # #    #   #   #####  #    #
 *     #       #    # #    #   #   #      ##### 
 *     #       #    # #    #   #   #      #   # 
 *     #        ####   ####    #   ###### #    #
 *                                              
 *    
 *    Footer
*/

footer{
	display:flex;
	padding:8rem;
	gap:8rem;
	width:100%;
	background-color:var(--accent-color);
	color:white;
	margin-top:auto;
}

footer a{
	color:white;
	display:flex;
	gap:0.5em;
	align-items:center;
}

.footer-left{
	width:100%;
	color:white;
	display:flex;
	flex-direction:column;
	gap:1rem;
	justify-content:center;
}

.logo-footer{
	height:12rem;
}




.footer-center{
	width:100%;
	display:flex;
	justify-content:center;
}

.footer-right{
	display:flex;
	gap:1rem;
	place-self:center;
	width:100%;
	justify-content:center;
}

.social-media{
	width:50px;
	aspect-ratio:1/1;
	border-radius:15px;
	position:relative;
	z-index:0;
	background-color:rgba(0,0,0,1);
	transition:background-color 200ms;
	box-shadow:2px 2px 8px 0px rgba(0,0,0,0.5);
}

.social-media img{
	display:block;
	width:100%;
	height:100%;
	pointer-events:none;
}


.social-media::before{
	content:'';
	position:absolute;
	inset:-1px;
	border-radius:inherit;
	opacity:0;
	z-index:-1;
	transition:opacity 200ms;
}

.sm-facebook:hover::before,
.sm-instagram:hover::before,
.sm-twitter:hover::before,
.sm-tiktok:hover::before,
.sm-snapchat:hover::before,
.sm-youtube:hover::before,
.sm-linkedin:hover::before,
.sm-spotify:hover::before{
	opacity:1;
}

.sm-facebook::before{
	background:linear-gradient(-135deg, rgba(63,117,185,1) 0%, rgba(60,67,141,1) 100%);
}

.sm-instagram::before{
	background: linear-gradient(-135deg, rgba(249,216,137,1) 0%, rgba(251,178,87,1) 21%, rgba(240,100,124,1) 38%, rgba(229,80,154,1) 52%, rgba(122,87,162,1) 74%, rgba(82,97,170,1) 100%);
}

.sm-twitter::before{
	background: linear-gradient(-135deg, rgba(0,185,224,1) 0%, rgba(49,121,189,1) 100%);
}

.sm-tiktok::before{
	background: linear-gradient(-45deg, rgba(33,33,35,1) 0%, rgba(49,121,189,1) 100%);
}

.sm-snapchat::before{
	background: linear-gradient(-135deg, rgba(230,230,68,1) 0%, rgba(251,178,87,1) 100%);
}

.sm-youtube::before{
	background: linear-gradient(-135deg, rgba(239,78,71,1) 0%, rgba(150,49,51,1) 100%);
}

.sm-linkedin::before{
	background: linear-gradient(-135deg, rgba(0,127,175,1) 0%, rgba(42,98,172,1) 100%);
}

.sm-spotify::before{
	background: linear-gradient(-135deg, rgba(0,173,100,1) 0%, rgba(0,153,92,1) 100%);
}



@media (orientation:landscape){
	.nav-portrait{
		display:none;
	}
}

@media (orientation:portrait){
	.nav-landscape,
	.player .player-btn-prev,
	.player-text-group-2{
		display:none;
	}
	
	.player{
		width:calc(100vw - 2rem);
	}
	
	.player i{
		flex-shrink:0;
	}
	
	.player-text-group-1{
		flex-grow:1;
	}
	
	.player-text-artist{
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
	}
	
	.article{
		grid-template-columns:1fr;
		gap:1rem;
		padding:1rem;
		padding-top:0;
	}
	
	.article:nth-child(even of .article) .article-target,
	.article:nth-child(odd of .article) .article-target{
		grid-column:1/2;
		grid-row:1/2;
	}
	
	.article:nth-child(even of .article) .article-text,
	.article:nth-child(odd of .article) .article-text{
		grid-column:1/2;
		grid-row:3/4;
	}

	.article:nth-child(even of .article) .article-image,
	.article:nth-child(odd of .article) .article-image{
		grid-column:1/2;
		grid-row:2/3;
	}

	.article:nth-child(even of .article) .article-audio,
	.article:nth-child(odd of .article) .article-audio{
		grid-column:1/2;
		grid-row:5/6;
	}
	
	footer{
		flex-direction:column;
		padding:1rem;
		gap:1rem;
		text-align:center;
	}
	
	.footer-left{
		align-items:center;
	}
	
	.footer-center{
		width:50vw;
		margin-inline:calc(25vw - 1rem);
	}
}

@media print{
	.nav-portrait,
	.nav-landscape,
	.button-cta,
	.button-cta-large,
	.article-audio,
	.footer-center,
	.footer-right{
		display:none;
	}
	
	.article{ 
		page-break-before:always;
		padding:none;
		margin:1cm;
	}
	
	.article:nth-child(even of .article) .article-text,
	.article:nth-child(odd of .article) .article-text{
		color:black;
	}
	
	.article:nth-child(even of .article),
	.article:nth-child(odd of .article){
		background-color:white;
	}
}