@import "_variables.css";
@import "header.css";

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Jost:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:wght@400;700;900&display=swap');
*, *::before, *::after {
	box-sizing: border-box;
}

HTML {
	margin: 0;
}

BODY {
	margin: 0;
	font-family: 'open sans';
	background: var(--color-black);
	color: var(--color-white);
	width : 100%;
	max-width: 100vw;
	overflow-x: hidden;
	position: relative;
}


.ls-container {
	width: 100vw;
	height: 80vh;
	position: relative;
	overflow: hidden;
	user-select: none;
}

.ls-container IMG {
	pointer-events: none;
	transform: translate3d(0,0,0);

}

.ls-container.blend:after {
	content: "";
	font-size: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	background: url(../images/klimpper.webp), linear-gradient(128deg, rgba(25, 66, 155, 0.82) 0%, rgba(0, 176, 149, 0.78) 55%, rgba(9, 24, 43, 0.88) 100%);
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
	background-blend-mode: luminosity, multiply;
	transform: translate3d(0,0,0);
	filter: saturate(1.08) contrast(1.04) blur(4px);
}

.ls-container.blend:before {
	background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.45) 65%, rgba(0,0,0,0.7) 100%);
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    transition: 300ms ease-in-out;
	z-index: 2;
	transform: translate3d(0,0,0);

}

.ls-container VIDEO,
.ls-container IMG{
	position: absolute;
	top: 25%;
	left: 50%;
	height: 50%;
	z-index: 2;
	transform: translate3d(-50%, -25%, 0);
	filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8));
	-webkit-filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8));
	animation: glitch 12s steps(1, end) infinite reverse, heroQuickZoom 12s linear infinite reverse;
	will-change: filter, transform;
}

@keyframes heroQuickZoom {
	0%, 12%, 28%, 44%, 68%, 100% {
		transform: translate3d(-50%, -25%, 0) scale(1);
	}
	12%{
		transform: translate3d(-50%, -25%, 0) scale(1);

	}
	12.5% {
		transform: translate3d(-50%, -25%, 0) scale(1.1) rotate(3deg);
	}
	13% {
		transform: translate3d(-50%, -25%, 0) scale(1);
	}
}

.parallaxContainer {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
	z-index: 3;
	font-size: 10rem;
}

.ls-container H2 {
	font-size: 1.5rem;
	text-shadow: -1px -1px #000;
}

.ls-container .button-container {
	color: var(--color-white);
	font-size: 3rem;
	margin: 0;
	position: absolute;
	transform-origin: top left;
	transform: translate3d(-50%, -50%, 0);
	z-index: 3;
	bottom: 0%;
	left:50%;
	width: 100%;
	padding: 0 20px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}


.gridcontainer {
	transform: translate3d(0,0,0);
	display: grid;
	width: 100vw;
	grid-template-columns: repeat(var(--grid-column-count), var(--grid-column-width));
	grid-auto-columns: var(--grid-column-width);
	grid-template-rows: repeat(var(--grid-row-count), var(--grid-row-height));
	grid-auto-rows: var(--grid-row-height);
	z-index: 3;
}

.gridcontainer > DIV {
	position: relative;
	overflow: auto;
}

.span-two {
	grid-column: span var(--grid-col-span-two);
}

.span-row-two {
	grid-row: span var(--grid-row-span-two);
}

H2 {
	margin: 0 0 1rem;
	letter-spacing: -0.05rem;
	font-family: 'Jost', 'Roboto', sans-serif;
	font-weight: 600;
	letter-spacing: 0.02rem;
	text-transform: uppercase;
}

P {
	font-weight: 100;
	line-height: 1.4rem;
}


.fullsize-imagebgr-container {
	position: relative; 
	width: 100%; 
	height: 75vh; 
	overflow: hidden; 
	clip-path: rect();
	}

.fullsize-imagebgr {
	background-size: cover;
	background-position: center center;
	width: 100%;
	height: 120%;
	top: -10%;
	position: absolute;
	will-change: transform;
	}

.fullsize-imagebgr img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: none;
	object-position: center center;
	z-index: 1;
}
	
.fullsize-imagebgr:before {
	background: linear-gradient( #25429B, #00B095);
    mix-blend-mode: color;
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	transition: all 300ms ease-in-out;
	z-index: 2;
}

.fullsize-imagebgr:after {
	background : rgba(0,0,0,0.8);
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    mix-blend-mode: color;
    transition: all 300ms ease-in-out;
	z-index: 3;
}

.fullsize-imagebgr.visible:after {
	background : rgba(0,0,0,.3);
}

.content-wrapper {
	max-width: var(--content-width);
	margin: var(--content-margin-base);
	padding: var(--content-padding-base);
}

.breakword {
	position: relative;
	visibility: hidden;
	color: var(--color-white);
	font-size: var(--hero-heading-base);
	line-height: 1.3;
	text-transform: uppercase;
	display: inline-block;
	margin: 0;
}
.breakword:before,
.breakword:after {
	visibility: visible;
	content: attr(data-word);
	position: absolute;
	top: 0; right: 0;
	bottom: 0; left: 0;
	z-index: 1;
	transition: transform 0.25s ease-out;
	clip-path: polygon(100% 0%, 0% 100%, 0 0);
	will-change: transform;
	transform: translatex(-0.05em);
}

.breakword:after {
	clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
	transform: translatex(0.075em);
	}

.breakword:hover:before,
.breakword:hover:after {
    transform: translatex(0) translatez(0);
}

h1.breakword {
	font-size: var(--hero-heading-base);
	white-space: normal;
	text-align: center;
	font-family: 'Jost', 'Helvetica', sans-serif;
	margin: 0;
	line-height: 10rem;
	padding: 0;
}


.content-wrapper {
	color: var(--color-white);
	position: relative;
}

.content-wrapper:before {
	content: "";
	position: absolute;
	height: 100%;
	left: var(--content-margin-base-negative);
	right: var(--content-margin-base-negative);
	font-size: 0;
	z-index: -1;
	top: 0;
}

.content-wrapper.centered {
	text-align: center;
}

.content-wrapper.white { color: var(--color-black);}
.content-wrapper.white:before { background-color: var(--color-white);}

.content-wrapper.yellow { color: var(--color-black);}
.content-wrapper.yellow:before { background-color: var(--color-ig-yellow);}

.content-wrapper.yellow.inverted { color: var(--color-yellow);}
.content-wrapper.yellow.inverted:before { background-color: var(--color-ig-black);}

.content-wrapper.blue { color: var(--color-black);}
.content-wrapper.blue:before { background-color: var(--color-cyan);}


.content-wrapper H2,
.grid-2-cols H2 {
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: -0.1rem;
	line-height: 3.5rem;
	margin-top: 0;
}

.content-wrapper P {
	font-weight: 400;
	font-size: 1.1rem;
	line-height: 1.5rem;
}


HR {
	width: 100px;
	position: relative;
	background: var(--color-white);
	margin: 1rem auto;
}

.page-content {
	max-width: 100%;
	overflow: hidden;
}


.fullscreen {
	height: 100vh;
}

.bgr-white {
	background: var(--color-white);
	color: var(--color-black);
	padding: 10rem 20px 1rem
}

a.scroll {
	box-shadow: inset 0 0 0 1px var(--color-white-alpha);
	color: var(--color-white-alpha);
	position: relative;
	z-index: 9999;
	display: block;
	padding: 20px 40px;
	height: 60px;
	width: 100px;
	text-align: center;
}

a.scroll:hover {
	background: var(--color-white-alpha);
	box-shadow: none;
	color: var(--color-black-alpha);
}

span.arrow {
	animation: 3s arrow infinite ease-in-out;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}

span.arrow span {
	background: var(--color-white);
	display: block;
	height: 1px;
	left: -3px;
	position: absolute;
	top: 30px;
	transform: rotate(-45deg);
	transition: 0.15s ease-in-out 0.05s;
	width: 20px;
}

a.scroll:hover span.arrow span {
	background: var(--color-black);
}

span.arrow span:last-of-type {
	left: auto;
	right: -4px;
	transform: rotate(45deg);
}

a {
	color: inherit;
	text-decoration-style: wavy
	
}


h3 {
	text-transform: uppercase;
	font-weight: 900;
	font-family: 'Jost', 'Roboto', sans-serif;
}

h4 {
	text-transform: uppercase;
	font-weight: 700;
	font-family: 'Jost', 'Roboto', sans-serif;
	font-size: 0.8em;
}


.price-list-wrapper {
	display: grid; 
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 0.5rem 3rem;
}

.price-list-wrapper.inner {
	padding: 2em;
}

.price-list-wrapper .price-unit {
	display: flex; 
	justify-content: space-between;
	text-transform:uppercase;
	font-weight: 400;
	border-bottom: 1px solid var(--color-black);
	padding: 0.5rem;
	margin: 0.5rem 0;
	font-family: 'IBM Plex Mono';
	margin-left: -0.5rem;
	margin-right: -0.5rem;
	font-size: 0.9em;
}

.price-list-wrapper .price-unit DIV:last-of-type {
	font-weight: 900;
}

.price-list-wrapper h3 {
	margin-bottom: 0;
}

.open-hours-container {
	display: inline-block;
	min-width: 280px;
	width: 100%;
	max-width: 320px;
}
.open-hours {
	display: flex; 
	justify-content: space-between;
	text-transform:uppercase;
	font-weight: 400;
	border-bottom: 1px solid var(--color-black);
	padding: 0.5rem;
	margin: 0.5rem 0;
	font-family: 'IBM Plex Mono';
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}

.open-hours DIV:last-of-type {
	font-weight: 900;
}



@keyframes glitch {
	0%, 12%, 28%, 44%, 68%, 100% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(0);
	}
	12.6% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(1.4px);
	}
	13.2% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(0.2px);
	}
	28.5% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(2px);
	}
	29.2% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(0);
	}
	44.8% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(1px);
	}
	45.6% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(0);
	}
	69.2% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(2.6px);
	}
	70% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(0.3px);
	}
	70.8% {
		filter: drop-shadow(30px 10px 40px rgba(0,0,0,.8)) blur(0);
	}
  }


.grid-container {
	display: grid; 
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 0.5rem 3rem;
}

.grid-2-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: 1fr;
}

.grid-2-cols > DIV {
	aspect-ratio: 1 / 1;
}

.grid-2-cols img {
	width: 100%;
	object-fit: cover;
}

.no-padding {
	padding: 0;
}

.bgr-gray {
	background: #eee;
	color: #000;
}



@keyframes arrow {
	0%, 100% {
		top: -15px;
	}
	50% {
		top: 15px;
	}
}


@media (max-width: 640px) {
	.parallaxContainer {
		font-size: 6rem;
	}

	.ls-container H1.breakword {
		font-size: 6rem;
	}
}

@media (max-width: 1024px) {
	.grid-2-cols {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	
	.grid-2-cols > DIV:nth-of-type(2) {
		aspect-ratio: unset;
	}	

}

.mb-0 {
	margin-bottom: 0;
}

.announcement {
	background: var(--color-ig-yellow);
	color: var(--color-black);
	text-shadow: 0 0 50px var(--color-black);
	padding: var(--content-padding-base-half);
	border-radius: 4px;
}

.announcement h3:first-of-type {
	margin-top: 0;
}

.announcement:empty {
	display: none
}