/*
Theme Name: Daad Gathering 2026
Theme URI: https://daad.hu
Author: Mnemotechnika Ltd.
Author URI: https://mnemotechnika.hu
Description: Daad Gathering 2026 Wordpress Theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: ajax, responsive, wordpress
*/


@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Bebas+Neue&display=swap');

* {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: inherit;
	font-weight: inherit;
	font-family: inherit;
	font: inherit;
	text-align: inherit;
	text-transform: inherit;
	vertical-align: inherit;
	list-style-type: none;
	outline: none;
	text-decoration: none;
	border-collapse: collapse;
	border: none;
	border-color: transparent;
	color: inherit;
	line-height: inherit;
	background-repeat: no-repeat;
	position: relative;
}

:root {
	--main-color:#e2edbb;
	--address-bar-height: 0px;
	--vh: 1vh;
}

::-webkit-scrollbar {
	width: calc( 0.4vh + 0.2vw );
	height: calc( 0.4vh + 0.2vw );
	background: transparent;
}
::-webkit-scrollbar-track {
	background: transparent;
}
::-webkit-scrollbar-thumb {
	background: var(--main-color);
	border-radius: 0px;
}
::-webkit-scrollbar-thumb:hover {
	background: var(--main-color);
}

html {
	text-align: center;
	font-family: "Bebas Neue", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: calc( 2vh + 1vw );
	text-transform: uppercase;
	color: var(--main-color);;
	overflow-y: overlay;
	scroll-behavior: smooth;
	vertical-align: baseline;
	overflow: hidden;
	background-color: var(--main-color);
	height: 100%;
}

html.night {
	background-color: black;
}


body {
	min-height: 100svh;      /* mobilon stabilabb, mint vh */
  	display: flex;
  	flex-direction: column;
  	margin: 0;
}

body > svg {
    height: 0;
	width: 0;
	display: block;
}

#fx {
	position: fixed;
  	top:0;
  	left: 0;
  	right: 0;
  	bottom: 0;
	width: 100vw;
	height: 100vh;
	will-change: transform, opacity;
  	transform: translateZ(0);     /* saját kompozit réteg */
  	backface-visibility: hidden;
  	contain: paint;               /* csak a canvas-t fesse */
}
#osc {
	mix-blend-mode: multiply;
}

#content,
#carousel,
#pass-content,
#menu-content,
#timeline-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	min-height: 100vh;
	visibility: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	z-index: 1;
}
#menu-content {
	width: calc( 100% );
	min-height: calc( 100vh );
	visibility: hidden;
}
#timeline-content {
	display: none;
}
#menu-content.open,
#carousel.open,
#content.open,
.blend-overlay.open {
	visibility: visible;
	overflow-y: auto;
}
#timeline-content.open,
#menu-content.open {
	display: flex;
}

#pass-button,
#menu-button,
#dtg-button,
#timeline-button {

	position: fixed;
	top: 0;
	display: block;

	z-index: 2;
	word-spacing: calc( -0.6vh - 0.3vw );
	font-family: 'Barlow', sans-serif;
	font-size: calc( 1.2vh + 0.6vw );
	line-height: calc( 1.2vh + 0.6vw );
	text-orientation: upright;
	writing-mode: vertical-lr;
	letter-spacing: calc( -0.4vh - 0.2vw );
	transition: transform 0.5s linear;
}


.full {
	opacity: 0;
	fill: var(--main-color);
	stroke: none;
}
.menu-corner {
	fill:none;
	stroke:var(--main-color);
	stroke-width:calc( 0.8vh + 0.4vw );
	stroke-miterlimit:10;
}
.menu-typo {
	stroke: none;
	fill: var(--main-color);
	stroke-opacity: 0;
}
.menu-x-right {
	opacity: 0;
	fill:none;
	stroke:var(--main-color);
	stroke-width:calc( 0.8vh + 0.4vw );
	stroke-miterlimit:10;
}
.menu-x-left {
	opacity: 0;
	fill:none;
	stroke:var(--main-color);
	stroke-width:calc( 0.8vh + 0.4vw );
	stroke-miterlimit:10;
}



.corners {
	display: block;
	width: calc(6vh + 3vw);
	fill: var(--main-color);
}
#pass-button {
	left: 0;
	transform: rotate(0deg);
}
#pass-button svg {
	height: calc(20vh + 10vw);
}

#pass-button.open {
	transform: rotate(0deg);
}
#menu-button {
	right: 0;
	transform: rotate(180deg);
}
#menu-button.open {
	transform: rotate(90deg) !important;
}

#menu-button .full {
	animation: fadeIn 0.5s linear;
	animation-fill-mode: forwards;
}
#menu-button.open .full {
	animation: none;
	opacity: 0;
}
#menu-button .menu-x-left,
#menu-button .menu-x-right {
	animation: none;
	opacity: 0;
}
#menu-button.open .menu-x-left,
#menu-button.open .menu-x-right {
	animation: fadeIn 0.5s linear;
	animation-fill-mode: forwards;
}



#dtg-button {
	bottom: 0;
	top: auto;
	right: 0;
	transform: rotate(180deg);
}
#dtg-button.open {
	transform: rotate(0deg);
}
#timeline-button {
	left: 0;
	top: auto;
	bottom: 0;
	transform: rotate(0deg);
}
#timeline-button.open {
	transform: rotate(180deg);
}


#menu-button.open .menu,
#pass-button.open .pass,
#timeline-button.open .timeline,
#menu-button .close,
#pass-button .close,
#timeline-button .close {
	display: none;
}
#menu-button.open .close, 
#pass-button.open .close,
#timeline-button.open .close {
	display: initial;
}
#reg,
.cut,
.line {
	width: calc( 4vh + 2vw );
	fill: black;
}
.cut {
	height: calc( 2vh + 1vw );
}
html.night #reg,
html.night .cut,
html.night .line {
	fill:  var(--main-color);
}


#list,
#category {
	font-size: calc( 6vh + 3vw );
	line-height: calc( 5vh + 2.5vw );
	padding-inline: calc(6vw + 3vw);
	text-align: center;
	margin-bottom: auto;
    margin-top: auto;
}

.separator {
	display: inline-flex;
	width: calc( 1.6vh + 0.8vw );
	vertical-align: middle;
	height: calc( 1.6vh + 0.8vw );
}

#list a,
#category a {
	display: inline-flex;
	margin: 0 calc( -1vh - 0.5vw );
	padding:  calc( 2vh + 1vw );
	padding-top: calc( 1.6vh + 0.8vw );
	padding-bottom: calc( 0.8vh + 0.4vw );
}

#list a:hover,
#category a:hover{
	background:
		linear-gradient( to right, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 0 0,
		linear-gradient( to right, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 0 100%,
		linear-gradient( to left, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 100% 0,
		linear-gradient( to left, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 100% 100%,
		linear-gradient( to bottom, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 0 0,
		linear-gradient( to bottom, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 100% 0,
		linear-gradient( to top, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 0 100%,
		linear-gradient( to top, var(--main-color) calc( 0.4vh + 0.2vw ), transparent calc( 0.4vh + 0.2vw ) ) 100% 100%;
	background-repeat: no-repeat;
	background-size: calc( 1.2vh + 0.6vw ) calc( 1.2vh + 0.6vw );
}



.footer {
	align-self: center;
	margin: 0 auto;
	width: calc( 100vw - ( 6vh + 3vw ) * 2 );
	display: block;
	fill: var(--main-color);
	transform: translateY(-2px);   /* negatív margin helyett */
	height: calc( 6vh + 3vw );
	margin-bottom: calc( 6vh + 3vw );
}




.blend-overlay {
  position: absolute;
  inset: 0;
  mix-blend-mode: multiply;
  touch-action: none;
  pointer-events: none;
  user-select: none;
  z-index: 1;
  height: 100vh;
  width: 100vw;
  display: block;
  overflow: hidden;
  isolation: isolate;
  visibility: hidden;
}

/* A képeket tartalmazó track */
.overlay-track {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

/* Az egyes képcellák */
.overlay-cell {
  flex: 0 0 auto;
  height: 100%;
  width: 100vw; /* teljes szélesség */
  background-position: center;
  background-size: cover;
  position: relative;
}

#carousel .flickity-viewport {
	height: 100vh !important;
	width: 100%;
	position: absolute;
	overflow-y: auto;
}

#carousel .carousel-cell {
	min-height: 100dvh;
	width: 100vw;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.address-bar-active svg { 
	background-color: red;
}


#carousel .category {
	font-family: 'Barlow', sans-serif;
    font-size: calc(1.4vh + 0.7vw);
    line-height: calc(1.4vh + 0.7vw);
	text-align: center;
	text-transform: none;
	margin: 0 auto;
	width: calc( 100vw - ( 6vh + 3vw ) * 2 );
	font-weight: 500;
	text-transform: uppercase;
	margin-top: calc( 6vh + 3vw );
}
#carousel .carousel-cell .title,
#carousel .content .h2 {
	font-size: calc( 6vh + 3vw );
	line-height: calc( 5vh + 2.5vw );
	margin: 0 auto;
	width: calc( 100vw - ( 6vh + 3vw ) * 2 );
	margin-top: calc( 0.5vh + 0.25vw );
}

#carousel .time {
	font-family: 'Barlow', sans-serif;
    font-size: calc(1.4vh + 0.7vw);
    line-height: calc(1.4vh + 0.7vw);
	text-align: center;
	text-transform: none;
	margin: 0 auto;
	width: calc( 100vw - ( 6vh + 3vw ) * 2 );
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: calc( 1.2vh + 0.6vw );
}


#carousel .thumbnail {
    display: block;
}

#carousel .content {
	font-family: 'Barlow', sans-serif;
	font-size: calc( 1.4vh + 0.7vw );
	font-weight: 500;
	line-height: calc( 1.6vh + 0.8vw );
	text-align: center;
	text-transform: none;
	margin: 0 auto;
	width: calc( 100vw - ( 6vh + 3vw ) * 2 );
	margin-bottom: calc( 1.2vh + 0.6vw );
}
#carousel .content .ticket {
	font-size: 1.4em;
	line-height: 1em;
	position: relative;
	color: black;
	background-color: var(--main-color );
	text-align: left;
	display: block;
	text-decoration: none;
	min-height: calc( 8vh + 4vw );
	font-family: "Bebas Neue", sans-serif;
	padding: calc( 1vh + 0.5vw );
	margin-right: calc( 10vh + 5vw );
}
#carousel .content .ticket::after {
	content: "";
	position: absolute;
	top: 0px; 
	right: calc( -10vh - 5vw ); 
	bottom: 0px; 
	left: 0px; 
	background-image: url('./images/TICKET+.png'); 
	background-size: contain; 
	background-repeat: no-repeat; 
	background-position: center right; 
	z-index: -1; 
}
#carousel .content .ticket span {
	font-size: 0.8em;
	line-height: 0.8em;
}
#carousel .content span.ticket {
	color: gray;
}
#carousel .soundcloud {
	width: calc( 100% - 20px );
	opacity: 0.8;
	margin: 0 10px;
}
#carousel .content a {
	text-decoration: underline;
}
#carousel .content p {
	margin: calc( 1vh + 0.5vw ) 0;
}
#carousel .content b {
	font-weight: 700;
}
#carousel .content h2 {
	font-size: calc( 4vh + 2vw );
	line-height: calc( 4vh + 2vw );
	margin: 0 calc( ( -6vh - 3vw ) );
	width: 100vw;
	margin-top: calc( 0.5vh + 0.25vw );
}
#carousel .content strong {
}



.page {
	background: none;
	padding: calc( 3vh + 3vw );
	text-transform: none;
}

.flickity-slider {
	height: auto;
}

.flickity-prev-next-button {
	width: calc( 4vh + 2vw );
	height: calc( 4vh + 2vw );
	border-radius: 0;
	background: none;
}
.flickity-button svg {
}
.flickity-prev-next-button.next {
}
.flickity-prev-next-button.previous {
}
.flickity-button:hover {
	background: none;
}
.flickity-button:active {
}
.flickity-button:disabled {
	display: none;
}
.flickity-button-icon {
	fill: var(--main-color);
}







.player {
  display: inline-flex;
  align-items: center;
  white-space: nowrap; /* mindig egy sorban tartja */
}

.player .icon {
  width: calc(1.4vh + 0.7vw);
  height: calc(1.4vh + 0.7vw);
  flex-shrink: 0;
  fill: var(--main-color)
}