* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
:root{
	--gap:2rem;
	--padding:1rem;
	--bg:#111111;
	--bg-2:#210432;
	--bg-nav:#16161733;		
	--ral-pink:#d72d6d;
	--ral-blue:#3b83bd;
	--white:#ffffff;
	--black:#000000;
	--pink:#ff006b;
	--yellow:#ffe14b;
	--orange:#ffa712;
	--orange2:#ff9004;
	--purple:#7e0283;
	--purple2:#c959dd;
	--purple3:#7d0384;
	--green:#00ff00;
	--blue:#0894ff;
	--red:#ff0000;
	--red2:#ff2e54;
	--navyBlue:#210432;
	--light-natural:#ffe14b;
	--nav-height: 85px;
	--border-radius:max(3vw, 2em);
}
::selection {
  background-color: #fff;
  color: var(--bg);
}
:focus-visible{
	border:none;
	outline:none;
}
@font-face {
	font-family: 'roc-grotesk';
	src: url('fonts/roc-grotesk-variable.woff2') format('woff2'),
		url('fonts/roc-grotesk-variable.woff') format('woff');
	font-style: normal;
	font-display: block;
	font-family: "roc-grotesk-variable", sans-serif;
}


html {
	font-size: clamp(1rem, 1.5vw + 0.5rem, 1.5rem);
}
html, body {
	background: hsl(from var(--bg-2) h s l / 1);
	color: #fff;
	font-family: 'roc-grotesk';
	font-weight: 300;
	font-stretch: 100%;
	line-height: 1.5;
	scroll-behavior: smooth;
}

img, video {
	max-width: 100%;
	height: auto;
	display: block;
	pointer-events:none;
	user-select: none;
}
button, a, div, nav{
	user-select: none;
	position:relative;
	z-index:0;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	
}
input, button, select, textarea {
	font: inherit;
}
button {
	cursor: pointer;
}
header, nav, main, section, article, aside, footer {
	display: block;
	cursor: default;
}
section{
	position:relative;
	padding:0 var(--gap);
	margin:calc(var(--gap) * 2) auto;
	scroll-margin-top: var(--nav-height);
}
section[data-settings][data-settings*='no-padding']{
	padding:0;
}
main{
	position:relative;
	z-index:1;
	overflow-x: hidden;
}
@media (orientation: portrait) {
	:root{
		--gap:1.5ch;
	}
	.scroll-block{
		overflow-y: hidden;
	}
	.scroll-block main, .scroll-block footer{
		pointer-events:none;
	}
}



/* custom */

.print-info{
	position:relative;
	display:flex;
	flex-direction:column;
	padding:5vw;
	gap: var(--gap);
	user-select: auto !important;
}
.print-info section{
	position:relative;
	display:block;
	font-family: 'roc-grotesk';
	font-variation-settings: "wght" 400, "wdth" 100;
	border: 1px solid white;
	border-radius: var(--border-radius);
	box-shadow: inset 0 0 3px 3px hsl(from var(--yellow) h s l / .5), 0 0 3px 3px hsl(from var(--yellow) h s l / .5);
	background-color: var(--bg);
	padding: var(--gap);
	text-align: justify;
	overflow-x: hidden;	
	user-select: auto !important;
}
.print-info:after{
	bottom:0 !important;
}
.print-info section br{
	margin-bottom:1em;
}

/* custom title */

.custom-title{
	display:flex;
	width:100%;
	height:fit-content;	
	line-height:1.1;
	text-shadow: none;
	font-size:1em;
	margin: 0 auto;
	padding-bottom:1.5em;
	text-align:center;
	font-weight:700;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.custom-title[data-start]:before, .custom-title[data-end]:after{
	display:inline-flex;
	width:fit-content;
	color:transparent;
	font-size:2em;
}	
.custom-title[data-start]:before{
	content:attr(data-start);
	margin-right:.3ch;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke: .02em hsl(from var(--white) h s calc(l - 20) / 1);
	order:-2;
}
.custom-title[data-end]:after{
	content:attr(data-end);

	background:linear-gradient(97deg, hsl(from var(--purple) h s l / 1) 0, hsl(from var(--pink) h s l / 1) 50%, hsl(from var(--orange) h s l / 1));
	background-clip: text;
	order:-1;
}
.custom-title span{	
	flex-basis: 100%;
	color: hsl(from var(--bg-2) h s calc(l + 15) / 1);
}
.custom-title[data-start]:hover:before, .custom-title:has( + :hover):before, section:has(.custom-title):hover .custom-title:before{
	-webkit-text-fill-color: hsl(from var(--white) h s calc(l - 20) / 1);
}


/* button 3D */
.button-3d-container[data-settings*="center"]{
	margin:auto;
}
.button-3d-container{
	perspective: 100rem;
	transform-style:preserve-3d;
	perspective-origin: 75rem -100rem;
	display: flex;
	width: fit-content;
	height: fit-content;
	cursor:pointer;
	padding:0 .6em .8em .8em;
	font-size:1em;
	margin-bottom:.75em !important;
}
.button-3d{
	width:fit-content;
	height:auto;
	background:#222;
	transform: rotateX(90deg);
	transform-style:preserve-3d;
	display:flex;
	justify-content: center;
	align-items: center;
	font-weight:bold;
	color:hsl(from var(--color) h s l / .4);
	text-shadow:0 0 .75em hsl(from var(--color) h s l / .1),
	0 0 1em hsl(from var(--color) h s l / .2),
	0 0 1.25em hsl(from var(--color) h s l / .3),
	0 0 1.5em hsl(from var(--color) h s l / .4);
	line-height:1;
	padding:.5em 2ch;
}
.button-3d:before, .button-3d:after{
	content:'';
	position:absolute;
	width:100%;
	height:.75em;
	top:calc(100% - 1px);
	left:0;
	transform-style:preserve-3d;
	background:linear-gradient(rgba(21,21,25,1), hsl(from var(--color) h s l / .4));
	transform: rotateX(-90deg);
	transform-origin: top;
	z-index: -1;
}
.button-3d:after{
	display: flex;
	right: 0;
	left: unset;
	justify-self: end;
	width:2em;
	transform-origin: top right;
	transform: rotateZ(-90deg) rotateX(-90deg) translateX(100%);
}
.button-3d span{
	position:absolute;
	inset:0;
	transform:translateZ(-1.25em);
	filter: blur(10px);
	box-shadow:0 0 .5em hsl(from var(--color) h s l / .02),
	0 0 .75em hsl(from var(--color) h s l / .04),
	0 0 1em hsl(from var(--color) h s l / .06);
	background:hsl(from var(--color) h s l / .15);
	pointer-events:none;
	z-index: -2;
}
.button-3d-container:hover .button-3d{
	color:hsl(from var(--color) h s l / 1);
	text-shadow:0 0 .75em hsl(from var(--color) h s l / .25),
	0 0 1em hsl(from var(--color) h s l / .5),
	0 0 1.25em hsl(from var(--color) h s l / .75),
	0 0 1.5em hsl(from var(--color) h s l / 1);
	animation:btn-float 6s ease-in-out infinite;
}
.button-3d-container:hover .button-3d:before, .button-3d-container:hover .button-3d:after{
	background:linear-gradient(rgba(21,21,25,1), hsl(from var(--color) h s l / 1));
}
.button-3d-container:hover .button-3d span{
	box-shadow:0 0 .5em hsl(from var(--color) h s l / .3),
	0 0 .75em hsl(from var(--color) h s l / .2),
	0 0 1em hsl(from var(--color) h s l / .15);
	background:hsl(from var(--color) h s l / .3);
}
.button-3d-container:is(:active) .button-3d{
	top:.25em;
}
.button-3d-container:is(:active) .button-3d span{
	transform: translateZ(-1em);
	box-shadow:0 0 .5em hsl(from var(--color) h s l / .5),
	0 0 .75em hsl(from var(--color) h s l / .4),
	0 0 1em hsl(from var(--color) h s l / .3);
	background:hsl(from var(--color) h s l / .5);
}

/* custom button */
.custom-btn{
	--tmp-color: var(--white);
	--tmp-color-2: var(--bg-2);
	--tmp-color-3: var(--bg-2);
	--tmp-color-4: hsl(from var(--white) h s calc(l - 20) / 1);
	--tmp-opacity-1: 1;
	--tmp-opacity-2: 1;
	display:flex;	
	align-items: center;
	padding: .5em;
	font-size: .9em;
	border-radius: var(--border-radius);
	gap: 1ch;
	line-height:1.1;
	height:fit-content;
	width:fit-content;
	box-shadow:inset 0 0 .75em hsl(from var(--tmp-color-2) h s calc(l - 2) / var(--tmp-opacity-1)), 0 0 .75em hsl(from var(--tmp-color-2) h s calc(l + 10) / var(--tmp-opacity-2));
	cursor:pointer;
	transition:.3s background;
	background: repeating-conic-gradient(hsl(from var(--tmp-color) h s l / 0) 0 25%, transparent 0 50%) 50% / .5em .5em;
	color:var(--tmp-color-4);
	border: unset;
}
.custom-btn[data-settings][data-settings*='center']{
	align-self: center;
	margin: auto;
}
.custom-btn:hover{
	background: repeating-conic-gradient(hsl(from var(--tmp-color) h s l / .75) 0 25%, transparent 0 50%) 50% / .5em .5em;
}
.custom-btn:hover:before{
	box-shadow: 0 .5em .5em hsl(from var(--tmp-color-3) h s calc(l - 2) / 1);
}
.custom-btn:hover:before,.custom-btn:hover:after{
	transform:translateY(-10%);
	transition: .3s transform;
}
.custom-btn:is(:active){
	background: repeating-conic-gradient(hsl(from var(--tmp-color) h s l / .75) 0 25%, transparent 0 50%) 50% / .51em .51em;
}
.custom-btn[data-title]:before{
	content:attr(data-title);
	display: flex;
	width: 100%;
	height: auto;
	align-items: center;
	background: hsl(from var(--tmp-color-2) h s calc(l + 3) / 1);
	padding: .5em 2ch;
	border-radius: calc(var(--border-radius) * 2/3);
	border-radius: inherit;
	text-align: center;
}
.custom-btn.navigation-button:before{
	padding-right:calc(2em + 2ch);
}
.custom-btn[data-settings][data-settings*='dark']{
	box-shadow:inset 0 0 .75em hsl(from var(--tmp-color-2) h s calc(l + 20) / var(--tmp-opacity-1)), 0 0 .75em hsl(from var(--tmp-color-2) h s calc(l - 6) / var(--tmp-opacity-2));
}
.custom-btn[data-settings][data-settings*='dark']:before{
	background: hsl(from var(--tmp-color-2) h s calc(l - 2) / 1);
}


header{
	position: fixed;
	top: 0;
	width: 100%;
	z-index:1000;
	background:var(--bg-nav);
}
.navbar{
	display: flex;
	justify-content: center;
	backdrop-filter: blur(10px);
	width:100%;
	height:var(--nav-height);
	color:hsl(from var(--white) h s calc(l - 20) / 1);
	z-index:10;

}
.navbar-container{
	position:relative;
	display:grid;
	grid-template-columns: auto 1fr;
	gap:var(--gap);
	align-items: center;
	padding:0 var(--gap) ;
	height:100%;
	width: 100%;
}
.navbar-container:before{bottom:0 !important;}
.navbar-container .navbar-column{
	display: flex;
	gap: var(--gap);
	justify-content: end;
	align-items: center;
	text-transform: uppercase;
	font-size:15px;
	line-height: 1;
	height: 100%;
	font-weight:600;
}
.navbar-container .navbar-column a{
	cursor:pointer;
}
.navbar-container .navbar-column:nth-of-type(2) a:last-of-type{
	font-size:1.15em;
	--tmp-color-2: #cccccc;
	--tmp-color-4: hsl(from var(--bg-2) h s l / 1);
	--tmp-opacity-1: .5;
	--tmp-opacity-2: .25;
}
.navbar-container .navbar-logo{
	display: block;
	width: auto;
	height:27px;
}
.navbar-container .navbar-column:nth-of-type(2) .navbar-btn:hover{
	color:hsl(from var(--pink) h s l / 1);
}
.navbar-container .navbar-btn{
	white-space: nowrap;
}
.navbar-burger-container{
	display: flex;
	flex-direction: column;
	position: fixed;
	height: 100vh;
	top: 0;
	right: 0;
	width:fit-content;
	transition:transform .3s, visibility 0s linear 0.3s;
	padding:var(--nav-height) var(--gap);
	box-shadow: 0 -.25em .5em .25em hsl(from var(--bg-2) h s calc(l - 4) / 1);
	background: hsl(from var(--bg-2) h s l / .95);
	color:hsl(from var(--white) h s calc(l - 20) / 1);
	font-size:2em;
	overflow-y:auto;
	transform:translateX(100%);
	pointer-events:none;
	visibility:hidden;	
}






.burger-button {
  --s: 3em;
  --c: hsl(from var(--white) h s calc(l - 20) / 1);
  position: relative;

  height: var(--s);
  width: var(--s);
  aspect-ratio: 1;
  border: none;
  padding: 0;
  box-sizing: content-box;
  --_g1: linear-gradient(var(--c) 20%,#0000 0 80%,var(--c) 0) 
         no-repeat content-box border-box;
  --_g2: radial-gradient(circle closest-side at 50% 12.5%,var(--c) 95%,#0000) 
         repeat-y content-box border-box;
  background: 
    var(--_g2) left  var(--_p,0px) top,
    var(--_g1) left  calc(var(--s)/10 + var(--_p,0px)) top,
    var(--_g2) right var(--_p,0px) top,
    var(--_g1) right calc(var(--s)/10 + var(--_p,0px)) top;
  background-size: 
    20% 80%,
    40% 100%;
  cursor: pointer;
  transition: 
    background-position .3s var(--_s,.3s), 
    clip-path 0s var(--_s,.6s);
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}

.burger-button:before,
.burger-button:after {
  content:"";
  position: absolute;
  border-radius: calc(var(--s) * 3);
  inset: 40% 0;
  background: var(--c);
  transition: transform .3s calc(.3s - var(--_s,.3s));
}
.burger-button:checked {
  --_p: calc(-1*var(--s));
  --_s: 0s;
}
.burger-button:checked:before {
  transform: rotate(45deg);
}
.burger-button:checked:after {
  transform: rotate(-45deg);
}
.navbar-column:nth-of-type(3){
	display:none;
}

@media (orientation: portrait) {
	.navbar-column:nth-of-type(2){
		display:none;
	}
	.navbar-column:nth-of-type(3){
		display:flex;
	}

	.navbar-burger-container:not([inert]){
		transform:translateX(0);
		visibility:visible;
		pointer-events:auto;
		transition:transform .3s, visibility 0s;
	}
}
@media (max-width: 960px) {
	.navbar-container .navbar-column:nth-of-type(2) .navbar-btn:nth-of-type(3){
		display:none;
	}
}
@media (max-width: 800px) {
	.navbar-container .navbar-column:nth-of-type(2) .navbar-btn:nth-of-type(1){
		display:none;
	}
}


/* baner */

.video-banner {
	position: relative;
	width: 100%;
	overflow: hidden;
	z-index: 0;
	height:100dvh;
	align-content: end;
	margin:0;
	padding:0;
}

.video-banner-container{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 100vh;
	z-index: 0;
	inset:0;
	pointer-events: none;
}


.video-banner iframe {
	position: absolute;
	width: auto;
	height: 110%;
	pointer-events: none;
	aspect-ratio: 16/9;
	opacity: 1;
	user-select: none;
	transition: opacity .8s ease-in-out;
}

.video-banner:not([data-show="true"]) {
	background-image:url('/images/fastrack_logo_white.svg');
	background-color:black;
	background-repeat: no-repeat;
	background-size: 75% 100%;
	background-position: center;
}
.video-banner:not([data-show="true"]) iframe {
	opacity:0;
}
.video-banner:after{
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(transparent 85%,var(--bg-2));
	pointer-events:none;
}
.video-banner .custom-btn{
	position: absolute;
	bottom: 10%;
	margin: auto;
	left: 0;
	right: 0;
	font-size:1.5em;
	backdrop-filter: blur(3px);
	--tmp-color-2: #cccccc;
	--tmp-color-4: hsl(from var(--bg-2) h s l / 1);
	--tmp-opacity-1: .4;
	--tmp-opacity-2: .2;
}

@media (min-aspect-ratio: 16/9) {
	.video-banner iframe {
		width: 100%;
		height: 200%;
	}
}
@media (min-aspect-ratio: 16/9) and (min-width: 1921px) {
	.video-banner{
		max-width:unset;
	}
}



/* track */
.offer{
	padding:0;
}
.about-container{
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap: var(--gap);
	justify-content: center;
	align-items: center;
	padding:0 var(--gap);
}
.about-text{
	font-size:.8em;
	color:hsl(from var(--white) h s calc(l - 20) / 1);
	white-space:pre-line;
}

.about-track{
	position:relative;
	display:block;
	width: 100%;
	height: 100%;
	perspective: 100rem;
	align-content: center;
	pointer-events:none;
}
.about-track object{
	width: 100%;
	height: auto;
	transform: rotateX(30deg) rotateY(0deg) rotateZ(10deg) scale(1);
	transform-style: preserve-3d;
	transform-origin: center;
	filter: drop-shadow(.25rem .5rem 0 hsl(from var(--purple3) h s l / 1)) drop-shadow(.05rem .05rem 0 hsl(from var(--pink) h s l / 1));
}
@media (orientation: portrait) {
	.about-container{
		grid-template-columns:repeat(1, 1fr);
		padding:var(--gap) 0;
	}
	.about-text{
		padding: var(--gap);
	}
}


/* offer  */
.offer-cointaner{
	--tmp-color:var(--light-natural);
	--tmp-height:0;
	--tmp-padding:2rem;
	display:grid;
	width:100%;
	grid-template-columns:1fr 6fr 1fr 6fr 1fr 6fr 1fr 6fr 1fr;
	gap:0;
	padding-top:var(--tmp-padding);
	z-index:0;
	transform-style: preserve-3d;
	background:linear-gradient(transparent calc(100% - var(--tmp-padding) + 1rem),hsl(from var(--bg-2) h s calc(l - 4) / 1) calc(100% - var(--tmp-padding)	+ 1rem), hsl(from var(--bg-2) h s l / 1));
	height:fit-content;
	overflow:hidden;
}
.offer-cointaner[data-color="red"]{--tmp-color:var(--red);}
.offer-cointaner[data-color="orange"]{--tmp-color:var(--orange);}
.offer-cointaner[data-color="green"]{--tmp-color:var(--green);}
.offer-cointaner[data-color="pink"]{--tmp-color:var(--pink);}

.offer-cointaner:after{
	content:'';
	--tmp-width:calc(100%/30);
	position:absolute;
	pointer-events:none;
	z-index:10;
	background:linear-gradient(90deg,hsl(from var(--bg-2) h s l / 1),transparent var(--tmp-width), transparent calc(100% - var(--tmp-width)), hsl(from var(--bg-2) h s l / 1));
	inset:0;
}


.offer-cointaner .offer-column{
	--clip:polygon(10% 2rem, 90% 2rem, 100% 100%, 0% 100%);
	--bg-color:hsl(from var(--bg-2) h s l / 1);
	display:flex;
	flex-direction:column;
	gap:5% ;
	width:100%;
	height:100%;
	align-items: center;
	z-index: 0;
	bottom: calc(var(--tmp-padding) - 1rem);
}

.offer-cointaner .trapezoid:before{
	content:'';
	height:100%;
	top:0;
	position: absolute;
	z-index: -1;
	pointer-events: none;
	background:linear-gradient(var(--bg-color) 50%,hsl(from var(--bg-2) h s calc(l - 2) / 1));
}
.offer-cointaner .offer-column .offer-column-border{
	--bg-color: hsl(from var(--tmp-color-border) h s l / .5);
	display: flex;
	position: absolute;
	width: calc(100% + .2rem);
	height: calc(100% + .05rem);
	bottom: .1rem;
	justify-content: center;
	pointer-events: none;
	z-index: -2;
	filter: blur(1px);
	transition:opacity .3s ease-in-out;
}
.offer-cointaner .offer-column[data-color="red"] {--tmp-color-border:var(--red);}
.offer-cointaner .offer-column[data-color="orange"] {--tmp-color-border:var(--orange);}
.offer-cointaner .offer-column[data-color="green"] {--tmp-color-border:var(--green);}
.offer-cointaner .offer-column[data-color="pink"] {--tmp-color-border:var(--pink);}

.offer-cointaner .offer-column.hovered{
	cursor:pointer;
}
.offer-cointaner .offer-column.hovered > .offer-column-bg{
	opacity:.5;
}
.offer-cointaner .offer-column.hovered > .offer-column-border{
	--bg-color: hsl(from var(--tmp-color-border) h s l / 1);
}
.offer-cointaner .trapezoid:before{
	width: 100%;
	height: 100%;
	border-radius: 20% 20% 10% 10% / 100% 100% 10% 10%;
}
.offer-cointaner .offer-column object{
	max-width:100%;
	max-height:100%;
	width:100%;
	height:auto;
	aspect-ratio:2;
	pointer-events:none;
	padding: 5% 10% 0 10%;
}



.offer-cointaner .offer-column .offer-description{
	display: flex;
	flex-wrap: wrap;
	gap:.25rem 0;
	width:100%;
	padding: 0 1ch calc(5% + 1rem) 1ch;
	line-height:1;
	justify-content: center;
	text-align: center;
	opacity:.5;
	text-shadow: 0 0 0 white;
	font-size:.8rem;
	transition:opacity .3s ease-in-out, text-shadow .3s ease-in-out;
}
.offer-cointaner .offer-column .offer-description:before{
	content:attr(data-title);
	font-size:1.75rem;
	order:-2;
}
.offer-cointaner .offer-column .offer-description[data-title2]:after{
	content:attr(data-title2);
	font-size:1.5rem;
	align-self: end;
	margin-left:.5ch;
	order:-1;
}
.offer-cointaner .offer-column .offer-description:before, .offer-cointaner .offer-column .offer-description:after{
	font-weight:700;
}
.offer-cointaner .offer-column.hovered .offer-description{
	opacity:1;
	text-shadow: 0 0 .6rem white;
}
.offer-cointaner .offer-column .offer-description span{
	width:100%;
}






.offer-shadow{
	width:calc(100% + 2rem);
	height:75%;
	left: -1rem;
	bottom: calc(var(--tmp-padding) - 1rem);
	align-self: end;
	opacity:.5;
	background-image: linear-gradient(0deg, hsl(from var(--tmp-color) h s l / 0.2) 30%, transparent);
	backface-visibility: visible;
	transform: perspective(38rem) rotateX(-95deg) rotateY(0deg) rotateZ(0deg);
	transform-origin: 50% 100%;
	transform-style: preserve-3d;
	transform-box: fill-box;
	z-index:1;
	clip-path: polygon(0% 0%, 100% 0%,80% 70%, 80% 85%, 90% 100%, 10% 100%, 20% 85%, 20% 70%);
}






.offer-cointaner .offer-backlight {
	position: absolute;
	left: calc(var(--tmp-height) * -1);
	bottom: calc(var(--tmp-padding) - 1rem);
	right: auto;
	width:	calc(100% + calc(var(--tmp-height) * 2));
	height: calc(var(--tmp-height) - 1rem);
	margin-right: auto;
	margin-left: auto;
	background-image: radial-gradient(circle closest-corner at center bottom, hsl(from var(--tmp-color) h s l / 0.6), hsl(from var(--tmp-color) h s l / 0) 100%);
	background-repeat: no-repeat;
	background-size:calc(calc(var(--tmp-height) - 1rem) * 2);
	background-position-x: 50%;
	opacity: 1;
	z-index: -1;
	transition: background-position-x .1s ease-in-out;
	pointer-events: none;
}

@media (orientation: landscape) {
	.offer-shadow:nth-of-type(5){
		display:none;
	}	
	.offer-cointaner .offer-backlight:nth-of-type(12) {
		display:none;
	}
}
@media (orientation: portrait) {
	.offer-cointaner{
		grid-template-columns:1fr 6fr 1fr 6fr 1fr;
		gap: 2rem 0;
	}
	.offer-shadow{
		transform-origin: 50% 100% !important;
	}
	.offer-cointaner .offer-backlight {
		height: calc(var(--tmp-height) + 1rem - 1px);
		background-position-x: 50% !important;
	}
	.offer-cointaner .offer-backlight:nth-of-type(12) {
		display: unset;
		top: 0;
	}
}

/* price list */
.pricelist-container{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	width:100%;
	gap:var(--gap);
}


.pricelist-container .pricelist-item{
	display:flex;
	flex: 0 1 calc(100% / 3 - var(--gap) * 2/3);
	box-shadow: inset .5rem .5rem .5rem hsl(from var(--bg-2) h s calc(l - 2) / 1),
				inset -.5rem -.5rem .5rem hsl(from var(--bg-2) h s calc(l - 2) / 1),
				.25rem .25rem .75rem .15rem hsl(from var(--bg-2) h s calc(l + 6) / 1),
				-.25rem -.25rem .75rem .15rem hsl(from var(--bg-2) h s calc(l + 6) / 1);
	border-radius:var(--border-radius);
	padding:.7em;
	cursor:pointer;
	background: repeating-conic-gradient(hsl(from var(--tmp-color) h s l / 0) 0 25%, transparent 0 50%) 50% / 1em 1em;
	transition:background .3s;
}

.pricelist-container .pricelist-item .pricelist-item-inner{
	display:flex;
	flex-direction:column;
	width:100%;
	gap: .5em;
	flex-wrap: wrap;
	background:hsl(from var(--bg-2) h s calc(l + 3) / 1);
	border:.01em solid hsl(from var(--bg-2) h s calc(l - 2) / 1);
	border-radius: calc(var(--border-radius) * 2/3);
	box-shadow:0 1em 3em hsl(from var(--bg-2) h s calc(l - 4) / 1);
	transition:.3s all;
	pointer-events:none;	
	padding:.75em;
}
.pricelist-container .pricelist-item:hover .pricelist-item-inner {
	transform:translateY(-2em);
	box-shadow:0 2em 4em hsl(from var(--bg-2) h s calc(l - 10) / 1);
}
.pricelist-container .pricelist-item:hover {
	background: repeating-conic-gradient(hsl(from var(--tmp-color) h s l / .75) 0 25%, transparent 0 50%) 50% / 1em 1em;
}
.pricelist-item-description{
	display:flex;
	flex-direction:column;
	gap:.5em;
	align-items: center;
	order:1;
}
.pricelist-item-description img{
	width:100%;
}
.pricelist-item-description div{
	display: flex;
	flex-direction: column;
	font-size:.6em;
	line-height:1.1;
	gap:.5em;
	color:hsl(from var(--white) h s calc(l - 40) / 1);
	text-align: center;
}
.pricelist-item-description div[data-title]:before{
	content:attr(data-title);
	font-size:2em;
	
	font-weight:700;
	color:hsl(from var(--white) h s calc(l - 20) / 1);
}
.pricelist-item-price-list{
	font-size:.8em;
	color:hsl(from var(--white) h s calc(l - 20) / 1);
	order:2;
}

.pricelist-item-price-list .pricelist-item-price{
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: .5ch;
	white-space: wrap;
	width: 100%;
	text-align: left;
	align-items: center;
	border-bottom: 1px solid hsl(from var(--bg-2) h s calc(l + 10) / 1);
}
.pricelist-item-price-list .pricelist-item-price:last-child{
	border-bottom: none;
}
.pricelist-item-price-list .pricelist-item-price[data-title]:before{
	content:attr(data-title);	
}
.pricelist-item-price-list .pricelist-item-price[data-currency]:after{
	content:attr(data-currency);	
}
.pricelist-item-annotation{
	order:3;
	text-align:center;
	font-size:.8em;
	line-height:1.1;
	color:hsl(from var(--white) h s calc(l - 40) / 1);
}
@media (orientation: portrait) {
	.pricelist-container{
		gap:calc(var(--gap) * 3) var(--gap);
	}
	.pricelist-container .pricelist-item{
		  flex: 0 1 calc(100% / 2 - var(--gap) * 1/2);
		  flex: 0 1 100%;
	}
	.pricelist-container .pricelist-item {
		background: repeating-conic-gradient(hsl(from var(--tmp-color) h s l / .75) 0 25%, transparent 0 50%) 50% / 1em 1em;
		padding:1em;
	}
	.pricelist-container .pricelist-item:hover .pricelist-item-inner {
		transform:unset;
		box-shadow:0 1em 3em hsl(from var(--bg-2) h s calc(l - 4) / 1);
	}
}

/* aditional info */
.additional-info-container .additional-info{
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	width:100%;
}
.additional-info-container .additional-info > div{
	display:flex;
	flex-direction:column;
	width:100%;
	padding:var(--border-radius);
	justify-content: center;
	align-items: center;
	gap:1em;
	white-space: pre-line;
}
.additional-info-container .additional-info > div[data-settings][data-settings *= 'align-left']{
	align-items: start;
}
.additional-info-container .additional-info > div[data-settings][data-settings *= 'padding-1']{
	padding:1rem;
}
.additional-info-container .additional-info > div[data-settings][data-settings *= 'padding-0']{
	padding:.1rem;
}
.additional-info-container .additional-info > div[data-settings][data-settings *= 'shadow-inset']:after{
	content: '';
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	box-shadow: inset 0 0 1rem 1rem hsl(from var(--bg-2) h s calc(l - 2) / 1);
	border-radius: var(--border-radius);
	pointer-events:none;
}


.additional-info-container .additional-info span{
	font-size:1.75em;
	line-height:1.1;
	font-weight: 700;
	white-space: pre-line;
	align-self: start;
}
.additional-info-container .additional-info b{
	display: contents;
	font-weight:500;
}
.additional-info-container .additional-info > img{
	width:100%;
}
.additional-info-container .additional-info > div:nth-of-type(1) > img{
	width:80%;
	filter:drop-shadow(0 .3rem .3rem hsl(from var(--bg-2) h s calc(l - 10) / 1));
}
.additional-info-container .additional-info > div:nth-of-type(5) > img{
	width:60%;
}
.additional-info-container .additional-info > div:nth-of-type(8){
	aspect-ratio:5/4;
	justify-content: end;
	align-self: center;
}
.additional-info-container .additional-info > div:nth-of-type(8) > img:nth-of-type(1) ~ img{
	position:absolute;
	width:30%;
	filter:drop-shadow(0 0 .3rem hsl(from var(--white) h s l / .15));
}
.additional-info-container .additional-info > div:nth-of-type(8) > img:nth-of-type(1){
	width:40%;
	filter:drop-shadow(0 .3rem .3rem hsl(from var(--bg-2) h s calc(l - 10) / .5));
}
.additional-info-container .additional-info > div:nth-of-type(8) > img:nth-of-type(2){transform:translate(10%, -120%) rotate(-10deg);width:45% !important;z-index:5;}
.additional-info-container .additional-info > div:nth-of-type(8) > img:nth-of-type(3){transform:translate(60%, -150%) rotate(-45deg);z-index:2;}
.additional-info-container .additional-info > div:nth-of-type(8) > img:nth-of-type(4){transform:translate(-45%, -130%) rotate(15deg);z-index:1;}
.additional-info-container .additional-info > div:nth-of-type(8) > img:nth-of-type(5){transform:translate(40%, -260%) rotate(-35deg);width:35% !important;z-index:4;}
.additional-info-container .additional-info > div:nth-of-type(8) > img:nth-of-type(6){transform:translate(-60%, -260%) rotate(50deg);width:30% !important; z-index:3;}

.additional-info-container .additional-info > div:nth-of-type(4n + 2),
.additional-info-container .additional-info > div:nth-of-type(4n + 3){
	background:hsl(from var(--bg-2) h s calc(l - 2) / 1);
	box-shadow: 0 0 1rem .5rem hsl(from var(--bg-2) h s calc(l + 4) / 1);
	color:hsl(from var(--white) h s calc(l - 20) / 1);
}

.additional-info-container .additional-info > div:nth-of-type(1){z-index:8;order:1;}
.additional-info-container .additional-info > div:nth-of-type(2){z-index:7;order:2;}
.additional-info-container .additional-info > div:nth-of-type(3){z-index:6;order:3;}
.additional-info-container .additional-info > div:nth-of-type(4){z-index:5;order:4;}
.additional-info-container .additional-info > div:nth-of-type(5){z-index:4;order:5;}
.additional-info-container .additional-info > div:nth-of-type(6){z-index:3;order:6;}
.additional-info-container .additional-info > div:nth-of-type(7){z-index:2;order:7;}
.additional-info-container .additional-info > div:nth-of-type(8){z-index:1;order:8;}



.additional-info-container .additional-info > div:not(:nth-of-type(2)):not(:last-of-type):nth-of-type(4n + 2){
	border-radius: 0 var(--border-radius) var(--border-radius) 0;
}
.additional-info-container .additional-info > div:not(:first-of-type):not(:nth-last-of-type(2)):nth-of-type(4n + 3){
	border-radius: var(--border-radius) 0 0 var(--border-radius);
}
.additional-info-container .additional-info > div:nth-of-type(2){
	border-radius: var(--border-radius) var(--border-radius) var(--border-radius) 0;
}
.additional-info-container .additional-info > div:nth-last-of-type(2){
	border-radius: var(--border-radius) 0 var(--border-radius) var(--border-radius);
}

.additional-info-container .additional-info > div:not(:first-of-type):not(:last-of-type):nth-of-type(4n + 2):before{
	content:'';
	--tmp-position1-1:top;
	--tmp-position1-2:left;
	--tmp-position2-1:bottom;
	--tmp-position2-2:right;
	bottom: calc(var(--border-radius) * -1);
	left:  calc(var(--border-radius) * -1);
}
.additional-info-container .additional-info > div:not(:first-of-type):not(:nth-last-of-type(2)):nth-of-type(4n + 3):before{
	content:'';
	--tmp-position1-1:top;
	--tmp-position1-2:right;
	--tmp-position2-1:bottom;
	--tmp-position2-2:left;
	bottom: calc(var(--border-radius) * -1);
	right:  calc(var(--border-radius) * -1);
}
.additional-info-container .additional-info > div:not(:first-of-type):not(:last-of-type):nth-of-type(4n + 2):before,
.additional-info-container .additional-info > div:not(:first-of-type):not(:nth-last-of-type(2)):nth-of-type(4n + 3):before{
	position:absolute;
	display:block;
	height:calc(var(--border-radius) * 2);
	width:calc(var(--border-radius) * 2);
	background:radial-gradient(circle at var(--tmp-position1-1) var(--tmp-position1-2), transparent var(--border-radius), hsl(from var(--bg-2) h s calc(l - 2) / 1) var(--border-radius) 50%, transparent 60%),radial-gradient(circle at var(--tmp-position2-1) var(--tmp-position2-2), transparent var(--border-radius), hsl(from var(--bg-2) h s calc(l - 2) / 1) var(--border-radius) 50%, transparent 60%);
	pointer-events:none;
}
.drop-shadow{
	filter: drop-shadow(0 0 2rem hsl(from var(--bg-2) h s calc(l + 10) / 1));
}

@media (orientation: portrait) {
	.additional-info-container .additional-info{
		grid-template-columns:repeat(1, 1fr);
	}
	.additional-info-container .additional-info > div:nth-of-type(1){z-index:8;order:1;}
	.additional-info-container .additional-info > div:nth-of-type(2){z-index:7;order:2;}
	.additional-info-container .additional-info > div:nth-of-type(4){z-index:6;order:3;}
	.additional-info-container .additional-info > div:nth-of-type(3){z-index:5;order:4;}
	.additional-info-container .additional-info > div:nth-of-type(5){z-index:4;order:5;}
	.additional-info-container .additional-info > div:nth-of-type(6){z-index:3;order:6;}
	.additional-info-container .additional-info > div:nth-of-type(8){z-index:2;order:7;}
	.additional-info-container .additional-info > div:nth-of-type(7){z-index:1;order:8;}
	.additional-info-container .additional-info > div{
		border-radius: var(--border-radius) !important;
	}
	.additional-info-container .additional-info > div:before{
		display:none !important;
	}
}

/* asphalt */
.asfalt-bg{
	background:url('/images/asfalt_bg.webp');
	background-size: 15.25rem;
	width:100%;
	height:fit-content;
	overflow:hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction:column;
	gap:1rem;
	padding: 7.5rem 0 !important;
}
.asfalt-bg:before{
	content:'';
	display:block;	
	position:absolute;
	border-left:1.5rem solid white;
	border-right:1.5rem solid white;
	inset:0 3.5rem;
	outline:1.5rem solid #3cc8ff;
	outline-offset: .75rem;
	mix-blend-mode: overlay;
}
.asfalt-bg img{
	display:block;
	width:calc(100% - 11.5rem);
	mix-blend-mode: plus-lighter;
}
.asfalt-bg:after{
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(var(--bg-2),transparent 15%,transparent 85%,var(--bg-2));
}

@media (orientation: portrait) {
	.asfalt-bg{
		background-size: 20rem;
	}
}

/* navigation + map */
.navigation-button[data-type='1']:after{background: url('/images/Apple_Maps_icon.png') center center / auto 100% no-repeat;}
.navigation-button[data-type='2']:after{background: url('/images/Google_Maps_icon.svg') center center / auto 100% no-repeat;}
.navigation-button:after{
	content:'';
	position:absolute;
	right:2ch;
	display:block;
	height:calc(100% - 1.5em);
	width:auto;
	aspect-ratio:1;
}



.geo-localisation{
	width: 100%;
	height:100%;
	border-radius:var(--border-radius);
}
@media (orientation: portrait) {
	.geo-localisation {
		aspect-ratio:1;
	}
}

.map-popup-fastrack{
  filter: none !important;
}

/* Usuwa tło, cień, obramowanie i marginesy */
.gm-style-iw {
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: none !important;
  max-width: unset !important;
}

/* Opcjonalnie: usuwa strzałkę wskaźnika */
.gm-style-iw::after,
.gm-style-iw::before {
  display: none !important;
}

/* Resetuje kontener okna */
.gm-style .gm-style-iw-d {
  overflow: visible !important;
  padding: 0 !important;
}

/* Usuwa białe tło i obramowania całego kontenera */
.gm-style .gm-style-iw-c {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* (Opcjonalnie) ukryj przycisk zamykania */
.gm-ui-hover-effect {
  display: none !important;
}

.gm-bundled-control .gmnoprint {
  transform: scale(0.75); /* zwiększ rozmiar przycisków */
}

/* faq */
.faq-container{
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
.faq{
	display:grid;
	grid-template-rows:auto 0fr;
	transition: all .3s ease-in-out;
	background: hsl(from var(--bg-2) h s calc(l - 2) / 1);
	color: hsl(from var(--white) h s calc(l - 20) / 1);
	box-shadow: 0 0 1rem .5rem hsl(from var(--bg-2) h s calc(l + 4) / 1);
	border-radius:var(--border-radius);
	padding:.75em;
	counter-increment: question-number;
}
.faq-question:before{
	content: counter(question-number)". ";
}
.faq-question{
	font-size: 1.1em;
	line-height: 1.1;
	font-weight: 600;
	transition: all .3s ease-in-out;
	padding-left:1ch;
	transform:translateX(0);
}
.faq-question input{display:none;}
.faq:has(input:checked){
	grid-template-rows:auto 1fr;
}
.faq:not(:has(input:checked)) {
	cursor:pointer;
}
.faq:not(:has(input:checked)):hover {
	background: hsl(from var(--bg-2) h s l / 1);
}
.faq:not(:has(input:checked)):hover .faq-question {
	transform:translateX(.5rem);
}
.faq-answer{
	overflow:hidden;
	font-size: .9em;
}
.faq-answer-inner{
	margin-top:.5em;
	padding:.5em 2ch;
	background: hsl(from var(--bg-2) h s l / 1);
	border-radius:var(--border-radius);
	box-shadow: inset 0 0 .5em .5em hsl(from var(--bg-2) h s calc(l + 4) / 1);
}
/* newsletter */
.info-container{
	position: absolute;
	border-radius:var(--border-radius);
	transform:translate(-50%, -50%);
	left: 50%;
	width:75%;
	height:auto;
	padding:.75rem;
	background:hsl(from var(--bg-2) h s l / 1);
	z-index:1;
	overflow:hidden;
}
.info-container:before{
	content:'';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: calc(50%);
	box-shadow: inset 0 0 1rem .5rem hsl(from var(--bg-2) h s calc(l + 3) / 1),  0 0 1rem .5rem hsl(from var(--bg-2) h s calc(l + 3) / 1);
}
.info{
	display:flex;
	width:100%;
	flex-direction:column;
	justify-content: center;
	align-items: center;
	aspect-ratio: 5.76;
	background:url('/images/newsletter_bg.webp');
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
	transition:background-size .2s ease-in-out;
	border-radius:calc(var(--border-radius) * 2/3);
	cursor:pointer;
	box-shadow:  0 -.25rem .5rem .25rem hsl(from var(--bg-2) h s calc(l + 4) / 1);
}
.info:hover{
	background-size: 110% 110%;
}
.info span{
	display:flex;
	flex-direction:column;
	color: hsl(from var(--white) h s calc(l - 20) / 1);
	text-align: center;
}
.info span[data-title]:before{
	content:attr(data-title);
	font-weight:700;
	font-size:1.5em;
}

@media (orientation: portrait) {
	.info span{
		font-size:.6em;
	}
}


.popup-container{
	display:none;
	width:100%;
	height:100vh;
	z-index:10000;
	position:fixed;
	-webkit-backdrop-filter: blur(10px) brightness(110%);
	backdrop-filter: blur(10px) brightness(110%);
	top:0;
	left:0;
	justify-content: center;
	align-items: center;
}
.popup-container[show]{
	display:flex;
}
.popup-container .popup{
	display:grid;
	grid-template-columns:1fr auto;
	gap:1rem;
	position:relative;
	background:hsl(from var(--bg-2) h s l / 1);
	min-height: 20%;
	max-height: 80%;
	min-width: 30%;
	max-width: 90%;
	border-radius:var(--border-radius);
	padding:1.5rem;
	overflow-y: auto;
	justify-content: space-between;
	box-shadow:inset 0 0 .5rem .5rem hsl(from var(--bg-2) h s calc(l + 4) / 1),0 0 1rem .5rem hsl(from var(--bg-2) h s calc(l + 8) / 1);
}
.popup-container .popup[data-title]:before{
	content:attr(data-title);
	align-self: center;
	font-weight:700;
	font-size:1.25em;
}
.popup-container .popup .popup-close{
	display:flex;
	position: relative;
	height: 2em;
	width: auto;
	aspect-ratio:1;
	border-radius:50%;
	outline:unset;
	border:unset;
	background:transparent;
	color:white;
	justify-content: center;
	align-items: center;
	align-self: end;
	line-height:1;
	transition:all .3s;
	box-shadow: inset 0 0 .5rem .5rem hsl(from var(--bg-2) h s calc(l + 8) / 1),0 0 1rem 1rem hsl(from var(--bg-2) h s calc(l + 2) / 1);
}
.popup-container .popup .popup-close:after{
	content:'✕';
}
.popup-container .popup .popup-close:hover:after{
	font-size:1.2em;
}
.popup-container .popup .popup-close:hover{
	background: hsl(from var(--bg-2) h s calc(l + 8) / 1);
}


.popup-container .popup .custom-title{
	grid-column: 1 / -1;
}
.popup-container .popup form{
	grid-column: 1 / -1;
}
/* form */
.custom-form{
	display:grid;
	grid-template-columns:1fr;
	gap:.75rem;
	width: 100%;
	justify-items: center;
	padding: 0 3ch;
}
.custom-form[data-settings][data-settings*="center"]{
	justify-items: center;
}
.custom-form[data-settings][data-settings*="full-width"] input:is([type="text"], [type="password"], [type="email"]),
.custom-form[data-settings][data-settings*="full-width"] textarea, .custom-form[data-settings][data-settings*="full-width"] label{
	width:100%;
}
.custom-form[data-result]:after{
	content:attr(data-result);
}
.custom-form[data-status="202"]:after{color:hsl(from var(--green) h s calc(l - 20) / 1);}
.custom-form:not([data-status="202"]):after{color:hsl(from var(--red) h s calc(l - 10) / 1);}
.custom-form label{
	display: flex;
	flex-direction: column;
	position:relative;
	width: fit-content;
	height: fit-content;
	justify-content: center;
	/*align-items: center;*/
	gap: 1ch;
}
.custom-form label input:is([type="text"], [type="password"], [type="email"]),.custom-form label textarea{
	background:hsl(from var(--bg-2) h s l / 1);
	border:unset;
	outline:unset;
	border-radius:var(--border-radius);
	box-shadow: inset 0 0 .5rem .5rem hsl(from var(--bg-2) h s calc(l + 8) / 1),0 0 .5rem .5rem hsl(from var(--bg-2) h s calc(l + 2) / 1);
	color:hsl(from var(--white) h s calc(l - 20) / 1);
	padding: .75rem 2ch;
	line-height: 1;
	width: 100%;
}
.custom-form label[placeholder]:before{
	content:attr(placeholder);
	position:relative;
	width:fit-content;
	height:fit-content;
	line-height:1;
	color:hsl(from var(--white) h s calc(l - 20) / 1);
	pointer-events:none;
	padding:0 2ch;
	border-radius:1em;
	white-space: nowrap;
	box-shadow:0 0 .1rem .1rem hsl(from var(--bg-2) h s calc(l + 8) / 0);
	top: 2.5em;
	left: -2ch;
	margin-top: -1em;
	width: 100%;
	text-align: center;
}
.custom-form label[placeholder]:has(input:is([type="text"], [type="password"], [type="email"]):not(:placeholder-shown)):before,
.custom-form label[placeholder]:has(textarea:not(:placeholder-shown)):before{
	background:hsl(from var(--bg-2) h s l / 1);
	box-shadow:0 0 .1rem .1rem hsl(from var(--bg-2) h s calc(l + 8) / 1);
	font-size:.6em;
	left:calc(var(--border-radius) + 1ch);
	top: 1.5em;
	width: fit-content;
}
.custom-form label:after{
	font-family: "Font Awesome 5 Free";
	font-weight:bold;
	pointer-events:none;
	position:absolute;
	right:-2ch;
	margin-top:.6em;
}
.custom-form label:has(input:is([type="text"], [type="password"], [type="email"]):not(:placeholder-shown):focus:invalid):after,
.custom-form label:has(textarea:not(:placeholder-shown):focus:invalid):after{
	content:'\f110';
	color:hsl(from var(--white) h s calc(l - 20) / 1);
	animation: spin 1.2s linear infinite;
}
@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.custom-form label:has(input:is([type="text"], [type="password"], [type="email"]):not(:placeholder-shown):valid):after,
.custom-form label:has(textarea:not(:placeholder-shown):valid):after{
	content:'\f00c';
	color:hsl(from var(--green) h s calc(l - 20) / 1);
}
.custom-form label:has(input:is([type="text"], [type="password"], [type="email"]):not(:placeholder-shown):invalid):after,
.custom-form label:has(textarea:not(:placeholder-shown):invalid):after,
.custom-form label:has(select:not(:placeholder-shown):invalid):after{
	content:'\58';
	color:hsl(from var(--red) h s calc(l - 10) / 1);
}
.custom-form label:has(input:is([type="text"], [type="password"], [type="email"]):required:placeholder-shown):after,
.custom-form label:has(textarea:required:placeholder-shown):after,
.custom-form label:has(select:required:placeholder-shown):after{
	content:'✱';
	color:hsl(from var(--red) h s calc(l - 10) / 1);
}
.custom-form select:invalid{
	background:color:hsl(from var(--red) h s calc(l - 10) / 1);;
	color: color:hsl(from var(--red) h s calc(l + 10) / 1);;
}
.custom-form textarea{
	overflow: auto;
	resize: vertical;
	min-height: 8em;
}
.custom-form label:has(input:read-only){
	cursor:not-allowed;
}
.custom-form label select, .custom-form label input:read-only{
	pointer-events:none;
}








.custom-checkbox{
	display: block;
	height: 0;
	width: 0;
	opacity: 0;
	margin: 0;
	border: none !important;
}
.custom-checkbox + label{
	display: flex;
	cursor: pointer;
	text-align: justify;
	font-size: .8em;
	align-items: center;
	line-height: 1.2;
	flex-direction:row;
}
.custom-checkbox + label a {
	display:contents;
	color:white;
	margin: 0 auto;
	font-style: italic;
	text-decoration: none;
	font-weight:bold;
}
.custom-checkbox + label a:hover{
	color:currentColor;
}
.custom-checkbox + label[for="acceptAll"]{
	font-weight:bold;
}
.custom-checkbox + label:not(:last-child) {
	margin-bottom: .8em;
}
.custom-checkbox + label:before{
	content: '';
	display: inline-flex;
	border: 1px solid hsl(from var(--bg-2) h s calc(l + 15) / 1);
	height: 1.5em;
	width: auto;
	aspect-ratio: 1;
	position: relative;
	margin-right: .5vw;
	justify-content: center;
	align-items: center;
	line-height: 1;
	color:green;
	font-weight:normal;
	align-self: flex-start;
	border-radius: .5em;
	background:hsl(from var(--bg-2) h s calc(l + 4) / 1);
}
.custom-checkbox:required:not(:checked) + label:before {
	border: 1px solid red;
	animation: pulsing 0.8s ease-out infinite;
}
.custom-checkbox:checked + label::before {
	content: '✔';
}
.custom-checkbox:not(:checked) + label:hover:before{
	content: '✔';
	color: #fff3;
}

/* footer */
footer{
	position:relative;
	padding:var(--gap);
	background:hsl(from var(--bg-2) h s l / 1);
	color: hsl(from var(--white) h s calc(l - 40) / 1);
	margin:3rem auto 0;
}
footer .footer-container{
	position:relative;
	display:grid;
	grid-template-columns: repeat(4,1fr);
	gap:0 var(--gap);
	width:100%;
	height:auto;
	background:hsl(from var(--bg-2) h s calc(l - 2) / 1);
	box-shadow: 0 0 1rem .5rem hsl(from var(--bg-2) h s calc(l + 3) / 1);
	padding:8rem var(--gap)  var(--gap)  var(--gap) ;
	border-radius:var(--border-radius);
	font-size:.7em;
}
footer .footer-container .footer-column{
	position:relative;
	display:flex;
	gap:var(--padding);
	flex-direction: column;
}
footer .footer-container .footer-column:first-of-type{
	justify-content: center;
	gap:calc(var(--padding) / 2);
}
footer .footer-container .footer-payment-methods{
	position: relative;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	align-items: center;
	justify-items: center;
	gap: var(--padding);
	width: 100%;
	opacity: .5;
}
.socials {
	display:flex;
	flex-direction: row !important;
	gap:calc(var(--gap) / 4);
	justify-content: left;
}
.socials a{
	display:flex;	
	background:hsl(from var(--bg-2) h s calc(l) / 1);
	box-shadow: inset 0 0 .2em .2em hsl(from var(--bg-2) h s calc(l + 4) / 1);
	border-radius:50%;
	aspect-ratio:1;
	height: 100%;
	width:auto;
	line-height:1;
	font-family: "Font Awesome 6 Brands";
	justify-content: center;
	align-items: center;
	padding:.5em;
}
.socials a:hover, footer .footer-column a:hover{
	color:hsl(from var(--pink) h s l / 1);
}
.socials a.icon-youtube:before{content:'\f167';}
.socials a.icon-instagram:before{content:'\f16d';}
.socials a.icon-tiktok:before{content:'\e07b';}
.socials a.icon-facebook:before{content:'\f39e';}
.socials a.icon-x:before{content:'\e61b';}

footer .footer-container .footer-column:not(:first-of-type) div{
	display:flex;
	flex-direction:column;
}
footer .footer-container .footer-column:not(:first-of-type) div[data-title]:before{
	content:attr(data-title);
	display:block;
	text-transform:uppercase;
	color: hsl(from var(--white) h s calc(l - 20) / 1);
}
footer .copyright{
	position:relative;
	display:flex;
	grid-column: 1 / -1;
	font-size:.8em;
	font-weight:250;
	justify-self: right;
	align-items: center;
	height:auto;
	width: fit-content;
	background: hsl(from var(--bg-2) h s l / 1);
	padding:.5em 2ch;
	border-radius:var(--border-radius);
	box-shadow: inset 0 0 .5em .5em hsl(from var(--bg-2) h s calc(l + 4) / 1);
	color: hsl(from var(--white) h s calc(l - 20) / 1);
}
@media (orientation: portrait) {
	footer .footer-container{
		grid-template-columns: 1fr;
		gap: var(--gap) 0;
		font-size: 1em;
		padding: 5rem var(--gap) var(--gap) var(--gap);
	}
	footer .copyright{
		margin: auto;
	}
}

/* ultra wide */
@media (orientation: portrait) {
	section{
		margin: calc(var(--gap) * 6) auto;
	}
}
@media (min-aspect-ratio: 16/9) and (min-width: 1921px) {
	html{
		font-size: clamp(1rem, 1.5rem + 0.5rem, 1.75rem);
	}
	section, footer, .navbar-container{
		max-width: max(1920px, calc(((100% - 1920px) / 3) + 1920px));
	}
	.asfalt-bg:after{
		background:linear-gradient(var(--bg-2),transparent 15%,transparent 85%,var(--bg-2)),linear-gradient(90deg,hsl(from var(--bg-2) h s l / 1),transparent 2%, transparent 98%, hsl(from var(--bg-2) h s l / 1));
	}
}

@media (min-aspect-ratio: 32/9) and (min-width: 1921px) {
	html{
		font-size: clamp(1rem, 1.5rem + 0.5rem, 2.25rem);
	}
}