@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=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/bgr_kantti.jpg), linear-gradient(#25429B8f, #00B0958f);
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    background-blend-mode: luminosity;
	transform: translate3d(0,0,0);
}

.ls-container.blend:before {
    background : rgba(0,0,0,.3);
    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: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	z-index: 1;
}

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

.parallaxContainer:before {
	content: "";
	width: 7ch;
	height: 0.5ch;
	left: 50%;
	top: 1ch;
	transform: translate3d(-50%, 0, 0) scaleY(0.2) scaleX(0.5);
	background: #000;
	box-shadow: 0 0 100px 100px #000, inset 0 0 100px #000;
	border-radius: 100%;
	position: absolute;
	opacity: 0.3;
}
.ls-container H1.breakword {
	color: rgba(232,232,232);
	font-size: 10rem;
	margin: 0;
	position: absolute;
	transform-origin: top left;
	transform: translate3d(-50%, -50%, 0);
	white-space: nowrap;
	text-shadow: #000 -10px -10px 0,
	#000 -9px -9px 0,
	#000 -8px -8px 0,
	#000 -7px -7px 0,
	#000 -6px -6px 0,
	#000 -5px -5px 0,
	#000 -4px -4px 0,
	#000 -3px -3px 0,
	#000 -2px -2px 0,
	#000 -1px -1px 0;
	transition: text-shadow 300ms, color 300ms;
	animation : glitch 15s infinite;
	font-family: 'Roboto';
	font-weight: 900;
}



.ls-container H1:hover {
	color: #000;
	text-shadow: #fff 10px 10px 0,
	#fff 9px 9px 0,
	#fff 8px 8px 0,
	#fff 7px 7px 0,
	#fff 6px 6px 0,
	#fff 5px 5px 0,
	#fff 4px 4px 0,
	#fff 3px 3px 0,
	#fff 2px 2px 0,
	#fff 1px 1px 0;
}


.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%;
	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: 'Roboto';
	font-weight: 600;
	letter-spacing: 0.02rem;
}

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: 'Helvetica';
	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: 'Roboto';
}

h4 {
	text-transform: uppercase;
	font-weight: 700;
	font-family: 'Roboto';
	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% {filter: blur(0);}
	7% {filter: blur(2px);}
	10% {filter: blur(0);}
	27% {filter: blur(0);}
	30% {filter: blur(3px);}
	35% {filter: blur(0);}
	52% {filter: blur(0);}
	55% {filter: blur(1px);}
	50% {filter: blur(0);}
	72% {filter: blur(0);}
	75% {filter: blur(4px);}
	80% {filter: blur(0);}
	100% {filter: blur(0);}
  }


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

.grid-container .grid-cell {
}

.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;
}