@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

@font-face {
	font-family: "Industry Inc Base";
	src: url("../fonts/IndustryInc-Base.woff2") format("woff2"),
		url("../fonts/IndustryInc-Base.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Eurostile";
	src: url("../fonts/EurostileRegular.woff2") format("woff2"),
		url("../fonts/EurostileRegular.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
:root {
	--padding: 3rem;
	--padding2x: calc(var(--padding) * 2);
	--blue: #0000ff;
	--white: #fff;
	--gold: #f9b300;
	--black: #000;
	--font-size: 24px;
	--min-width: 240px;
	--max-width: 720px;

	@media screen and (max-width: 768px) {
		--padding: 2rem;
		--font-size: 18px;
	}
}

* {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*::-webkit-scrollbar {
	width: 10px;
}
*::-webkit-scrollbar-track {
	background: transparent;
}
*::-webkit-scrollbar-thumb {
	background-color: var(--blue);
}

body {
	font-size: var(--font-size);
	font-family: "Inter", sans-serif;
	background-color: var(--black);
	color: var(--white);
	overflow-x: hidden;
}

h1,
h2,
h3 {
	font-weight: bold;
	font-family: "Inter", sans-serif;
	margin: 0 0 1rem 0;
	padding: 0;
	text-wrap: balance;
	text-transform: uppercase;
}

p {
	text-wrap: balance;
	min-width: var(--min-width);
	max-width: var(--max-width);
	font-size: clamp(14px, 3.5vw, 20px);
	line-height: clamp(22px, 3.5vw, 32px);
	font-weight: bold;
	margin: 0 auto;
	max-width: 80%;

	&:last-child {
		margin-bottom: 0;
	}

	&.strong {
		font-weight: bold;
		font-size: clamp(14px, 4vw, 26px);
		line-height: clamp(24px, 4vw, 36px);
		text-transform: uppercase;
		font-family: "Industry Inc Base", sans-serif;

		&.mini {
			font-size: 16px;
			font-weight: bold;
			letter-spacing: 3px;
		}
	}
}
img {
	display: block;
}

iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.mobile {
	display: none;

	@media screen and (max-width: 768px) {
		display: block;
	}
}
.desktop {
	@media screen and (max-width: 768px) {
		display: none;
	}
}

.bg-blue {
	background-color: var(--blue);
}

.container {
	max-width: 1200px;
	margin: 0 auto;
}

.flex {
	display: flex;
	flex-wrap: wrap;
	gap: var(--padding);

	&.no-gap {
		gap: 0;
	}

	> div {
		flex: 1;

		&.flex-2_3 {
			flex: 2;
		}
	}

	@media screen and (max-width: 768px) {
		flex-direction: column;

		div {
			/* width: 100%; */
		}
	}
}

.fade-in {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fluid {
	width: 100%;
	height: auto;
}

.v-center {
	align-items: center;
}
.h-center {
	justify-content: center;
	text-align: center;
}
.h-right {
	justify-content: flex-end;
}

.mb-3 {
	margin-bottom: 3rem;
}

.white{
	color: var(--white);
}

header {
	padding: calc(var(--padding) * 0.5) var(--padding);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow-x: hidden;
	background-color: var(--blue);
	a {
		img {
			display: block;
		}
	}

	nav {
		display: flex;
		flex-wrap: wrap;
		gap: var(--padding);
		align-items: center;
		a {
			color: var(--white);
			text-decoration: none;
			margin-left: 1rem;
			font-family: "Industry Inc Base", sans-serif;
			font-size: 20px;

			img {
				height: 1.5rem;
			}

			&:hover,
			&:active,
			&:focus {
				color: var(--black);
			}
		}

		&.social {
			gap: 1rem;
		}
	}

	&.open {
		position: fixed;
		flex-direction: column;
		width: 100%;
		height: 100%;
		justify-content: space-between;
		z-index: 2000;
		/* animation: fadeIn 0.2s ease-in-out; */

		&::before {
			content: "";
			position: fixed;
			left: 0;
			top: 0;
			width: 100vw;
			height: 100vh;
			background-color: var(--blue);
			z-index: 1000;
		}

		a {
			position: relative;
			z-index: 1001;
		}

		.menu-toggle {
			hr {
				&:first-child {
					transform: rotate(45deg) translate(0.25rem, 0.25rem);
				}
				&:last-child {
					transform: rotate(-45deg);
				}
			}
		}

		nav {
			&.menu {
				z-index: 1001;
				display: flex;
				flex-direction: column;
			}
			&.social {
				margin-bottom: 3rem;
				z-index: 1001;
				display: flex;
				flex-direction: row;
				justify-content: center;
			}
		}
	}

	@media screen and (max-width: 768px) {
		position: absolute;
		z-index: 1001;
		width: 100%;
		overflow: hidden;

		.menu-toggle {
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			position: fixed !important;
			z-index: 1001;
			right: 0;
			top: 0;
			padding: 2rem;
			hr {
				margin: 0.1rem;
				width: 1.5rem;
				border: 1px solid var(--white);
				transition: transform 0.3s ease, opacity 0.3s ease;
				transform-origin: center;
			}
		}

		nav {
			display: none;
		}
	}
}

section {
	position: relative;
	text-align: center;
	overflow-x: hidden;
	padding: var(--padding);

	&.zeropadding {
		padding: 0;
	}

	&.z-top {
		z-index: 100;
	}

	&.events {

		padding-left: 0rem;
		padding-right: 1rem;

		.event-days {
			display: flex;
			flex-direction: column;
			justify-content: center;
			gap: var(--padding);
			max-width: var(--max-width);
			margin: var(--padding) auto;
		}

		.day {
			display: flex;
			align-items: center;
			gap: var(--padding);
			color: inherit;
			text-decoration: none;
			

			> div {
				h2 {
					font-weight: bold;
					padding: 0;
					margin: 0;
					text-transform: uppercase;
					color: #015aab;
					font-weight: 900;
				}

				strong {
					display: block;
					font-size: 3rem;
					line-height: 2.5rem;
					font-weight: 900;
				}
				&:first-child {
					text-transform: uppercase;
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					gap: 0rem;
					font-weight: 900;
					font-size: 0.8rem;
					min-width: 90px;
				}
				&:nth-child(2) {
					width: 100%;
					text-align: left;
				}
				&:last-child {
					/* opacity: 0.5; */
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					gap: 0.5rem;
					text-transform: uppercase;
					font-size: 0.6rem;
					font-weight: bold;
					color: var(--gold);
				}

				&.next {
					&:last-child {
						opacity: 1;
					}
				}
			}

			@media screen and (max-width: 768px) {
				gap: 0.5rem;
				>div{

					h2{
						/* font-size: 1rem; */
					}
					strong{
						font-size: 2rem;
					}
					&:first-child{
						min-width: 75px;
						font-size: 0.5rem;
					}

					&:last-child{
						min-width: 80px;
					}
				}
			}
		}
	}

	&.video {
		padding-bottom: 0;
		article {
			max-width: var(--max-width);
			margin: 0 auto;
		}
		.video-container {
			position: relative;
			width: calc(100% + 4rem);
			padding-bottom: 56.25%;
			height: 0;
			margin-top: 2rem;
			margin-left: -2rem;
			margin-right: -2rem;
			overflow: hidden;
		}
	}

	&.merch {
		padding-top: var(--padding2x);
		padding-bottom: var(--padding2x);

		article {
			max-width: var(--max-width);
			margin: 0 auto;

			img {
				margin: 2rem 0;
			}
		}

		.other-merch{
			display: flex;
			gap: var(--padding);
			justify-content: center;

			>div{
				flex: 1;
				display: flex;
				justify-content: center;
				align-items: center;
				img{
					width: 100%;
					height: auto;
				}
			}
		}

		.btn {
			background-color: var(--white);
			display: inline-block;
			color: var(--blue);
			text-decoration: none;
			padding: 0.5rem 1rem;
			font-weight: bold;
			font-size: 1.5rem;
			line-height: 1.5rem;
		}
		.social-links {
			margin-top: var(--padding);
			display: flex;
			flex-wrap: wrap;
			gap: var(--padding);
			justify-content: center;
		}
	}

	&.limited_edition {
		.limited-cans {
			display: grid;
			grid-template-columns: 1fr 1fr 1fr;
			margin-bottom: var(--padding);

			>div{
				text-align: center;
				position: relative !important;

				img{
					margin: 0 auto;

				}

				&.can-logo-mobile{
					display: none;
				}
			}
		}
	
		.can-logo,
		.can-logo-mobile{
			img{
				width: 100%;
			}
		}

		.first-can{
			img{
				width: 100%;
			}
		}
		.second-can{
			img{
				width: 90%;
			}
		}

		@media screen and (max-width: 768px) {
			.limited-cans{
				grid-template-columns: 1fr;
				gap: 3rem;
				>div{
					&.can-logo-mobile{
						display: block;
					}
					&.can-logo{
						display: none;
					}
				}
			}
			.can-logo,
			.can-logo-mobile{
				img{
					width: 80%;
				}
			}
			.first-can{
				img{
					margin-left: -10% !important;
					margin-top: -20% !important;
					width: 60%;
				}
			}
			.second-can{
				img{
					width: 60%;
					margin-right: -10% !important;
					margin-top: -30% !important;
				}
			}
		}
	}

	&.photos {
		padding-top: 2rem;

		.gallery {
			margin: 0 auto;
			max-width: var(--max-width);
			display: flex;
			gap: 5px;
			flex-wrap: nowrap;
			padding-top: 1rem;

			> * {
				flex: 1;
				min-width: 0;
				width: calc(25% - var(--padding) * 0.75);

				img {
					width: 100%;
					height: 100%;
					aspect-ratio: 1;
					object-fit: cover;
					display: block;
				}

				&:nth-child(4) {
					&::before {
						pointer-events: none;
						content: "+7";
						font-size: 2rem !important;
						line-height: 2rem !important;
						position: absolute;
						display: flex;
						justify-content: center;
						align-items: center;
						top: 10%;
						left: 10%;
						width: 80%;
						height: 80%;
						background-color: var(--blue);
						border-radius: 100%;
					}
				}
			}

			> *:nth-child(n + 5) {
				display: none;
			}
		}
	}

	&.images_galaxy {
		display: flex;
		position: relative;
		z-index: 0;
		justify-content: center;
		padding-top: 1rem;
		height: auto;

		article {
			position: relative;
			max-width: var(--max-width);
			margin: 0 auto;
			display: grid;
			grid-template-columns: 1fr 1fr 1fr;
			gap: 0;


			@media screen and (max-width: 768px) {
				grid-template-columns: 1fr 1fr;
				padding: 0 10px;
				width: 100%;
				gap: 2rem;
			}

			> div {
				position: relative;
				overflow: visible;
				z-index: 1;

				span {
					position: absolute;

					&.clicherik {
						z-index: 10;
						left: 0;
						margin-top: -15%;
					}
					&.max {
						top: 0;
						right: 0;
						margin-right: -15%;
					}
				}

				img {
					width: 100%;
					height: auto;
					display: block;
				}

				@media screen and (min-width: 768px) {
					&.i1 {
						grid-column: 1;
						grid-row: 1;
						z-index: 2;
						img{
							margin-top: 20px;
							margin-right: -5%;
						}
					}
					
					&.i2 {
						grid-column: 2;
						grid-row: 1;
						z-index: 1;
						img{
							margin-top: -10%;
							margin-left: -5%;
						}
					}

					&.i3 {
						grid-column: 3;
						grid-row: 1;
						z-index: 2;
						img{
							margin-top: 10%;
							margin-left: -5%;
						}
					}

					&.counter {
						grid-column: 1 / span 2;
						grid-row: 2;
						z-index: 2;
						margin-top: 10%;
						display: none;
					}

					&.i4 {
						grid-column: 3;
						grid-row: 2;
						aspect-ratio: 16/9;
						z-index: 5;
						img,
						iframe{
							margin-top: -5%;
							margin-left: -10%;
						}
					}

					&.i5 {
						grid-column: 1 / span 2;
						grid-row: 3;
						z-index: 2;
						img{
							margin-top: -5%;
						}
						span {
							width: 80%;
						}
					}

					&.i6 {
						grid-column: 3;
						grid-row: 3;
						z-index: 1;
						img{
							margin-top: 25%;
							margin-left: -10%;
						}
					}

					&.i7 {
						grid-column: 1;
						grid-row: 4;
						z-index: 1;
						img{
							margin-top: -5%;
							margin-left: 30%;
							margin-right: 30%;
						}
					}

					&.i8 {
						grid-column: 2;
						grid-row: 4;
						z-index: 1;
						img{
							margin-top: 25%;
							margin-left: 0%;
							margin-right: 50%;
						}
					}

					&.i9 {
						grid-column: 3;
						grid-row: 4;
						z-index: 1;
						img{
							margin-top: 25%;
							margin-left: 0%;
							margin-right: 50%;
						}
					}
				}

				@media screen and (max-width: 768px) {
					&.i1 {
						grid-column: 1;
						grid-row: 1;
						img{
							margin-top: 25%;
							width: 120%;
						}
					}

					&.i2 {
						grid-column: 2;
						grid-row: 1;
						z-index: -1;
						img{
							margin-top: -10%;
							width: 120%;
						}
					}

					&.counter {
						display: none;
					}

					&.i3 {
						grid-column: 2;
						grid-row: 3;
						img{
							margin-top: 10%;
							margin-left: -30%;
							margin-right: -10%;
							width: 130%;
						}
					}

					&.i4 {
						grid-column: 1;
						grid-row: 3;
						
						iframe{
							margin-top: 60%;
							width: 140%;
							height: auto;
						}
					}

					&.i5 {
						grid-column: 1 / span 2;
						grid-row: 4;

						span {
							width: 80%;
							img{
								margin-top: -5%;
							}
						}
					}

					&.i6 {
						grid-column: 2;
						grid-row: 5;
						img{
							margin-top: 25%;
							margin-left: -10%;
						}
					}

					&.i7 {
						grid-column: 1;
						grid-row: 6;
						img{
							margin-top: -55%;
							margin-left: 10%;
							margin-right: 10%;
							width: 120%;
						}
					}

					&.i8 {
						grid-column: 2;
						grid-row: 6;
						img{
							margin-top: 45%;
							margin-left: 25%;
							width: 70%;
						}
					}
				}
			}
		}
	}

	&.tooted {
		.products {
			text-align: left;
			padding: var(--padding);

			@media screen and (max-width: 768px) {
				padding: 0;
			}

			.container {
				display: grid;
				grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
				gap: calc(0.5 * var(--padding));

				@media screen and (max-width: 768px) {
					display: flex;
					overflow-x: auto;
					scroll-snap-type: x mandatory;
					-webkit-overflow-scrolling: touch;
					padding-bottom: 1rem;
					gap: 1rem;
					
					&::-webkit-scrollbar {
						height: 4px;
					}
					
					&::-webkit-scrollbar-track {
						background: rgba(255, 255, 255, 0.1);
						border-radius: 2px;
					}
					
					&::-webkit-scrollbar-thumb {
						background: var(--blue);
						border-radius: 2px;
					}

					article {
						flex: 0 0 260px;
						scroll-snap-align: start;
					}
				}

				article {
					display: flex;
					flex-direction: column;
					justify-content: space-between;
					padding: calc(0.5 * var(--padding));
					background-color: #f0f0f0;
					h2 {
						color: var(--gold);
						font-size: 2rem;
						line-height: 2rem;
						strong {
							display: block;
							color: #000;
							font-weight: normal;
						}
					}
					p {
						font-size: 1rem;
						margin-bottom: 0;
						color: var(--black);
						line-height: 1.5rem !important;
						font-weight: normal;
					}
					div {
						text-align: center;
						padding: 1rem 0;
						img {
							margin: 0 auto;
							max-width: 50%;
						}
					}
				}
			}
		}
	}
}

footer {
	padding: var(--padding);

	.strong {
		line-height: 1.5em;
	}

	div {
		@media screen and (max-width: 768px) {
			img {
				margin: 0 auto;
			}
		}
	}

	nav {
		display: flex;
		flex-wrap: wrap;
		gap: var(--padding);
		align-items: center;
		a {
			color: var(--white);
			text-decoration: none;
			margin-left: 1rem;
			font-family: "Industry Inc Base", sans-serif;
			font-size: 20px;

			img {
				height: 1.5rem;
			}

			&:hover,
			&:active,
			&:focus {
				color: var(--black);
			}
		}

		&.social {
			gap: 1rem;
		}
	}

	@media screen and (max-width: 768px) {
		text-align: center;
		p {
			width: 100%;
		}

		nav {
			&.menu {
				display: flex;
				flex-direction: column;
			}
			&.social {
				margin-top: calc(2 * var(--padding));
			}
		}
	}
}

/* Animations */

.chlager-splat {
	position: relative;
	display: block;
	overflow: visible;
	height: 1;
	z-index: 10;
	/* max-width: 768px; */
	margin: 0 auto;

	div {
		position: relative;
		overflow-x: hidden;

		img {
			position: absolute;
			width: 150%;
		}
	}

	&.under-top {
		z-index: -1;
	}

	/* @media screen and (min-width: 768px) {
		div {
			overflow-x: visible !important;
		}
	} */
}
