/* VARIABLES */

:root {

	/* Spacer */
	--spacer: 15px;

	/* Typography */
	--extralarge: 8vw; 
	--large: 5.2vw; /* 75px */
	--medium: 2.76vw; /* 40px */
	--small: 0.83vw; /* 12px */

	/* Font */
	--display: 'rhymes-display-light', 'Times New Roman', Times, serif;
	--text: 'rhymes-text-medium', 'Times New Roman', Times, serif;

	/* Colors */
	--black: #000000;
	--white: #FFFFFF;
	
}

/* RESET */

* {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	vertical-align: baseline;
	box-sizing: border-box;
}

/* SCROLLBAR */

*::-webkit-scrollbar { 
	display: none; 
} 

/* SELECTION */

::selection {
	background-color: var(--black);
	color: var(--white);
}

/* BOOTSTRAP */

.row {
	margin-left: calc(var(--spacer) * -1);
	margin-right: calc(var(--spacer) * -1);
}

.col-12 {
	padding-left: var(--spacer);
	padding-right: var(--spacer);
}

/* WEBFONTS */

@font-face {
    font-family: 'rhymes-display-light';
    src: url('../fonts/rhymes-display-light.otf') format('opentype');
}

@font-face {
    font-family: 'rhymes-text-medium';
    src: url('../fonts/rhymes-text-medium.otf') format('opentype');
	font-style: italic;
}

/* PAGE TRANSITION 

body:not(.page-home) .site-content {
	opacity: 0 !important;
	transition: opacity 0.5s linear;
}

body.website-loaded:not(.page-home) .site-content {
	opacity: 1 !important;
}

body.website-loaded.fade-out:not(.page-home) .site-content {
	opacity: 0 !important;
}

*/

/* GLOBAL */

body {
    -webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
	line-height: 1.1;
}

p {
	font-family: var(--text);
	font-size: var(--small);
	color: var(--black);
}

a {
	font-family: var(--text);
	font-size: var(--small);
	text-decoration: none;
	color: var(--black);
}

/* LOADER */

.loader {
	backdrop-filter: blur(50px);
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100dvh;
	z-index: 2;
	/* display: none; */
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 1;
	pointer-events: none;
	transition: backdrop-filter 2s linear;
}

.loader p {
	font-size: var(--extralarge);
	margin-bottom: 0px;
	text-align: center;
	text-transform: uppercase;
	font-family: var(--display);
	color: var(--white);
	line-height: 1;
}

.loader.existing {
	display: flex;
}

.loader.hidden {
	backdrop-filter: blur(0px);
	/* opacity: 0;
	filter: blur(50px); */
	pointer-events: none;
}

/* HEADER */

.site-header {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 5;
}

.site-header-inner {
	position: relative;
	padding: var(--spacer);
	display: flex;
	justify-content: space-between;
}

.site-header .logo {
	width: 33.333vw;
    padding-right: calc(var(--spacer)* 2);
	position: relative;
	z-index: 1;
}

.site-header .logo p {
	transition: color 0.25s linear;
}

.site-header .menu {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 0;
	display: flex;
	justify-content: center;
	padding: var(--spacer);
}

.site-header .menu a {
	text-transform: uppercase;
	margin: 0px calc(var(--spacer) / 3);
	transition: color 0.25s linear;
	opacity: 1;
	transition: opacity 0.25s linear;
}

.site-header .menu a:hover {
	opacity: 0.3;
}

.site-header .links {
	position: relative;
	z-index: 1;
	display: flex;
}

.site-header .links a {
	text-transform: uppercase;
	margin-left: calc(var(--spacer) / 3);
	transition: color 0.25s linear;
	position: relative;
    right: 0px;
    top: 0px;
	opacity: 1;
	transition: opacity 0.25s linear;
}

.site-header .links a:hover {
	opacity: 0.3;
}

.menu-toggle {
	display: none;
}

.mobile-navigation {
	display: none;
}

/* HOMEPAGE */

.page-home .site-content {
	opacity: 0;
}

.page-home .site-header {
	opacity: 0;
}

.page-home .site-footer{
	opacity: 0;
}

.page-home.visible .site-content {
	opacity: 1;
}

.page-home.visible .site-header {
	opacity: 1;
}

.page-home.visible .site-footer{
	opacity: 1;
}

.page-home .site-header .logo p, .page-home .site-header .logo a {
	color: var(--white);
}

.page-home .site-header .menu a {
	color: var(--white);
}

.page-home .site-header .links a {
	color: var(--white);
}

.page-home .site-footer p {
	color: var(--white);
}

.page-home #homepage-cover {
	position: fixed;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	top: 0px;
	left: 0px;
}

.event {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	text-align: center;
  }
  
  .event.active {
	opacity: 1;
	z-index: 1;
  }
  
  .event a {
	text-decoration: none;
	color: inherit;
  }
  
  .event-status p,
  .event-title p {

  }
  
  #zones {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	width: 100%;
	height: 100%;
	z-index: 10;
  }
  
  #zones .zone {
	flex: 1;
	height: 100%;
  }

.home-background {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100dvh;
	z-index: -1;
	opacity: 0;
	transition: opacity 2s linear;
}

.home-background.visible {
	opacity: 1;
}

.home-background .background-image {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}

.home-background .background-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* filter: blur(25px); */
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s linear;
}

.home-background .background-image.visible img {
	opacity: 1;
	pointer-events: all;
}

.page-home .site-content {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100dvh;
	z-index: 0;
	overflow-y: scroll;
	scroll-snap-type: y mandatory;
	padding-top: 25dvh;
	padding-bottom: 25dvh;
}

.page-home .site-content .single-event {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100dvh;
    padding-bottom: 4dvh;
    scroll-snap-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.25s linear;
}

.page-home .site-content .single-event.active {
	opacity: 1;
}

.page-home .site-content .single-event.past-event {
	pointer-events: none;
}

.page-home .site-content .single-event a {
	display: inline-block;
}

.page-home .site-content .single-event a .event-status {
	margin-bottom: calc(var(--spacer) / 4);
}

.page-home .site-content .single-event a .event-status p {
	text-transform: uppercase;
	text-align: center;
	color: var(--white);
}

.page-home .site-content .single-event .event-title {
	display: none;
}

.page-home .site-content .single-event .event-title p {
	font-size: var(--large);
	font-family: var(--display);
	line-height: 1;
	margin-bottom: 0px;
	text-align: center;
	color: var(--white);
	text-transform: uppercase;
}

/* MANIFESTO */

.page-manifesto .site-content {
	padding: 0px var(--spacer);
	padding-top: calc(var(--spacer) * 6);
	padding-bottom: calc(var(--spacer) * 10);
}

.page-manifesto .site-content .block-title:first-of-type {
	margin-top: 0px;
}

.page-manifesto .site-content .block-title {
	margin-top: calc(var(--spacer) * 6);
	margin-bottom: calc(var(--spacer) * 1);
}

.page-manifesto .site-content .block-title p {
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 0px;
}

.page-manifesto .site-content .block-text {
	margin-bottom: calc(var(--spacer) * 3);
}

.page-manifesto .site-content .block-text p {
	font-size: var(--medium);
	margin-bottom: 0px;
	font-family: var(--display);
	line-height: 1.1;
}

.page-manifesto .site-content .block-text a {
	font-size: var(--medium);
	margin-bottom: 0px;
	font-family: var(--display);
	line-height: 1.1;
}

.page-manifesto .site-content .block-text.contact {
	display: flex;
	justify-content: center;
}

/* AGENDA */

.page-agenda .site-content {
	padding: 0px var(--spacer);
	padding-top: calc(var(--spacer) * 6);
	padding-bottom: calc(var(--spacer) * 10);
}

.page-agenda .site-content .events-group {
	/* margin-bottom: calc(var(--spacer) * 6); */
}

.page-agenda .site-content .events-group .events-group-title {
	margin-bottom: calc(var(--spacer) * 1);
}

.page-agenda .site-content .events-group .events-group-title p {
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 0px;
}

.page-agenda .site-content .events-group .events-group-list {
	
}

.page-agenda .site-content .events-group .events-group-list .single-event {
	border-top: 1px solid var(--black);
	padding: var(--spacer) 0px;
	padding-bottom: calc(var(--spacer) * 1);
}

.page-agenda .site-content .events-group .events-group-list .single-event:last-child {
	border-bottom: 1px solid var(--black);
}

.page-agenda .site-content .events-group .events-group-list .single-event .title-column {
	position: relative;
}

.page-agenda .site-content .events-group .events-group-list .single-event .title-column p {
	font-size: var(--medium);
	margin-bottom: 0px;
	font-family: var(--display);
	line-height: 1.1;
}

.page-agenda .site-content .events-group .events-group-list .single-event .title-column p a {
	font-size: var(--medium);
	margin-bottom: 0px;
	font-family: var(--display);
	line-height: 1.1;
	opacity: 1;
	transition: opacity 0.25s linear;
}

.page-agenda .site-content .events-group .events-group-list .single-event .title-column p a:hover {
	opacity: 0.25;
}

.page-agenda .site-content .events-group .events-group-list .single-event .text-column {
	position: relative;
	display: flex;
	justify-content: space-between;
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus {
	display: inline-block;
    width: 3vw;
    height: 1px;
    background-color: var(--black);
    position: relative;
    margin-top: 1.4vw;
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus::after {
	content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 3vw;
    background-color: var(--black);
    transform: translate(-50%, -50%);
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .minus {
	display: none;
	width: 3vw;
	height: 1px;
	background-color: var(--black);
	margin-top: 1.4vw;
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link[aria-expanded='true'] .plus {
	display: none;
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link[aria-expanded='true'] .minus {
	display: inline-block;
}

.page-agenda .site-content .events-group .events-group-list .single-event .text-column p {
	font-size: var(--medium);
	margin-bottom: 0px;
	font-family: var(--display);
	line-height: 1.1;
}

.page-agenda .site-content .events-group .events-group-list .single-event .text-column p.type {
	position: absolute;
	top: 0px;
	right: var(--spacer);
	padding-right: 0px;
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-inner p {
	padding-top: var(--spacer);
	font-size: var(--medium);
	margin-bottom: 0px;
	font-family: var(--display);
	line-height: 1.1;
}

.event-sliders {
	position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    z-index: 10;
    height: 100dvh;
	pointer-events: none;
  }
  
  .event-slider {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
	width: 100vw;
	height: 100dvh;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  
  .event-slider.visible {
	opacity: 1;
  }
  
  .event-slider img {
	max-width: 80vw;
	max-height: 80vh;
	margin: auto;
  }

/* FOOTER */

.site-footer {
	position: fixed;
	bottom: 0px;
	left: 0px;
	width: 100vw;
	padding: var(--spacer);
	z-index: 3;
}

.site-footer p {
	margin-bottom: 0px;
	text-transform: uppercase;
	transition: color 0.25s linear;
}

/* EVENT */

.page-event .site-content {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100dvh;
	z-index: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: calc(var(--spacer) * 2.8) var(--spacer);
}

.page-event .site-content img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus-desktop {
	display: flex;
}

.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus-mobile {
	display: none;
}

.backgrohome {
	height: 100%;
    width: 100%;
}

.backgrohome img {
	height: 100%;
    width: 100%;
	object-fit: cover;
}

.mobile-event-slider {
	display: none;
}

@media only screen and (max-width: 1200px) {

	:root {

		/* Spacer */
		--spacer: 2.5vw;
	
		/* Typography */
		--extralarge: 12vw; 
		--large: 6vw; /* 75px */
		--medium: 4vw; /* 40px */
		--small: 1.5vw; /* 12px */
		
	}

	.date-column {
		margin-bottom: var(--spacer);
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .title-column {
		margin-bottom: var(--spacer);
	}

}



@media only screen and (max-width: 768px) {

	:root {

		/* Spacer */
		--spacer: 3vw;
	
		/* Typography */
		--extralarge: 12vw;
		--large: 8vw;
		--medium: 5.5vw;
		--small: 3.2vw;
		
	}

	.site-header .menu {
		display: none;
	}

	.site-header .links {
		display: none;
	}

	.mobile-navigation {
		position: fixed;
		top: 0px;
		left: 0px;
		width: 100vw;
		height: 100dvh;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		z-index: 2;
		background-color: var(--white);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.25s linear;
	}

	.mobile-navigation.visible {
		opacity: 1;
		pointer-events: all;
	}

	.mobile-navigation a {
		text-align: center;
		font-size: var(--large);
		margin-bottom: 0px;
		font-family: var(--display);
		text-transform: uppercase;
		line-height: 1;
	}

	.menu-toggle {
		position: fixed;
		top: var(--spacer);
		right: var(--spacer);
		z-index: 3;
		cursor: pointer;
		display: inline-block;
	}

	body.page-home.navigation-opened .site-header .logo p, body.page-home.navigation-opened .site-header .logo p {
		color: var(--black);
	}

	body.page-home.navigation-opened .site-header .menu a {
		color: var(--black);
	}

	body.page-home.navigation-opened .site-header .links a {
		color: var(--black);
	}

	body.page-home.navigation-opened .site-footer p {
		color: var(--black);	
	}

	.menu-toggle .menu-toggle-inner {
		position: relative;
	}

	body.page-home.navigation-opened .menu-toggle p {
		color: var(--black);
	}

	.page-home .menu-toggle p {
		color: var(--white);
	}

	.menu-toggle p {
		margin-bottom: 0px;
		text-transform: uppercase;
	}

	.menu-toggle .menu-closed {
		display: inline-block;
		position: absolute;
        top: 0px;
        right: 0px;
	}

	.menu-toggle .menu-opened {
		display: none;
		position: absolute;
		top: 0px;
		right: 0px;
	}

	body.navigation-opened .menu-toggle .menu-closed {
		display: none;
	}

	body.navigation-opened .menu-toggle .menu-opened {
		display: inline-block;
	}

	.page-agenda .site-content .events-group .events-group-list .single-event {
		padding: calc(var(--spacer) / 2) 0px;
		padding-bottom: calc(var(--spacer) * 1);
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .text-column p {
		padding-right: 0px;
	}

	.site-header .logo {
		width: calc(75vw - var(--spacer));
		padding-right: 0px;
	}

	.page-agenda {
		
	}

	.date-column {
		margin-bottom: var(--spacer);
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .title-column {
		margin-bottom: var(--spacer);
	}

	.site-header .links a {
		position: absolute;
	}

	.page-event .site-content {
		padding: calc(var(--spacer) * 3.3) var(--spacer);
	}

	.event-sliders {
		display: none;
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus-desktop {
		display: none;
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus-mobile {
		display: flex;
	}
	
	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus {
		position: absolute;
		top: 0px;
		right: var(--spacer);
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus .plus {
		width: 9vw;
		height: 1px;
		background-color: var(--black);
		position: relative;
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus .plus::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1px;
		height: 9vw;
		background-color: var(--black);
		transform: translate(-50%, -50%);
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus-minus .minus {
		width: 9vw;
		height: 1px;
		background-color: var(--black);
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-link .plus {
		margin-top: 5vw;
	}

	/* Mobile Event Sliders */
	.mobile-event-slider {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
		aspect-ratio: 1 / 1;
		margin-bottom: calc(var(--spacer) * 2);
		overflow: hidden;
	}

	.mobile-event-slider img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
		opacity: 0;
		transition: opacity 0.3s ease;
	}

	.mobile-event-slider img.active {
		opacity: 1;
	}

	.page-agenda .site-content .events-group .events-group-list .single-event .collapse-inner {
		padding-top: calc(var(--spacer) * 4);
	}

}
