html, body {
	color: black;
	--color-1: #2efc2b;
	--color-2: #8aff00;
	--color-3: #878d97;
	--color-4: #a5aab1;
	--color-5: #2c2f39;
	--color-6: #8b8873;
	scroll-padding-top: env(safe-area-inset-top, 0px);
}

:root {
	box-sizing: border-box;
	padding-top: env(safe-area-inset-top, 0px);
	padding-bottom: env(safe-area-inset-bottom, 0px);
}	

body, html {
	background-color: var(--color-3);
	font-family: 'Google Sans', sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

h1, h2, h3, h4, h5 {
	color: black;
	font-weight: 900;
}

a, a:visited {
	color: var(--color-1);
}

a:hover {
	color: var(--color-2);
}

em {
	color: var(--color-1);
	font-style: normal;
}

/* Header */
header {
	height: 120px;
	padding-top: 20px;
	position: fixed;
	background-color: rgba(0, 0, 0, 0);
	backdrop-filter: blur(0px);
	transition: all 250ms linear;
}

header #bunkl-logo {
	height: 70px;
	transition: height 250ms linear;
}

header.shrink {
	height: 60px;
	padding-top: 10px;
	background-color: rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(15px);
}

header.shrink #bunkl-logo {
	height: 35px;
}

/* splash */
#splash:after {
	content: '';
	display: block;
	width: 100%;
	height: 20%;
	position: absolute;
	bottom: 0;
	background: linear-gradient(to bottom,	rgba(0, 0, 0, 0) 0%, rgba(135, 141, 161, 1) 95%);
}

#splash a {
	display: block;
	width: 80px;
	height: 80px;
	position: absolute;
	left: calc(50% - 40px);
	top: calc(50% - 40px);
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: var(--color-1) url('../img/icon-play-video.png') no-repeat 30px center;
	transition: all 250ms linear;
}

#splash a:hover {
	background-color: var(--color-2);
	-webkit-box-shadow: 0 0 20px 0 var(--color-1);
	box-shadow: 0 0 20px 0 var(--color-1);
}

#splash a:before {
	content: '';
	display: block;
	width: 200%;
	height: 200%;
	position: absolute;
	left: -50%;
	top: -50%;
	-webkit-box-shadow:inset 0 0 20px 25px var(--color-1);
	box-shadow:inset 0 0 20px 25px var(--color-1);
	-webkit-border-radius: 50%;
	border-radius: 50%;
	opacity: 0;
	transition: all 250ms linear;
}

#splash a:hover:before {
	width: 100%;
	height: 100%;
	left: 0%;
	top: 0%;
	opacity: 1;
}

/* Introduction */
#most-logo {
	overflow: hidden;
	background-color: black;
	-webkit-dista-image: url('../img/mask-logo-most-range.png');
  mask-image: url('../img/mask-logo-most-range.png');
  mask-repeat: no-repeat;
  mask-size: cover;
	--amplitude: 30px;
}

#most-logo::before {
	content: '';
	position: absolute;
	inset: calc(var(--amplitude) * -1);
	background: url('../img/circular-gradient.png') no-repeat center center ;
	background-size: 50%;
	transform: translate3d(var(--tx, 0px), var(--ty, 0px), 0);
	will-change: transform;
	z-index: 0;
}

/* Le contenu de la div reste au-dessus du fond */
#most-logo > * {
	position: relative;
	z-index: 1;
}

#upline {
	color: black;
	line-height: 30px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 2px;
	display: grid;
	grid-template-columns: 0fr;
	align-items: center;
	box-sizing: border-box;
	height: 40px;
	width: fit-content;
	padding: 0 15px;
	margin-left: auto;
	margin-right: auto;
	background: #a5aab1;
	border: 5px solid #000;
	-webkit-border-radius: 40px;
	border-radius: 40px;
	opacity: 0;
	position: relative;
	top: -20px;
	z-index: 999;
}

#upline span {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	opacity: 0;
}

#upline.in-view {
	opacity: 1;
	grid-template-columns: 1fr;
	transition:
		opacity 0.4s ease 0s,
		grid-template-columns 0.8s ease-in-out 0.4s;
}

#upline.in-view span {
	opacity: 1;
	transition: opacity 0.5s ease 1.2s;
}

#advantages {
	background: var(--color-4) url('../img/background-grid.png') repeat-x center top;
	overflow: hidden;
	position: relative;
}

#ruler {
	position: absolute;
	top: 0;
	left: 0;
	width: 65px;
	height: 1515px;
	background: url('../img/background-ruler.png') no-repeat center top;
	will-change: transform;
}

/* Carousel */
.carousel-item .icon-plus {
	display: block;
	position: relative;	
}

.carousel-item .icon-plus::after {
	content: '';
	display: block;
	width: 2rem;
	max-width: 2rem;
	height: 2rem;
	max-height: 2rem;
	overflow: hidden;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: var(--color-1) url('../img/icon-plus.png') no-repeat center center;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	transition: all 250ms linear;
}

.carousel-item .icon-plus:hover::after {
	background-color: var(--color-2);
	-webkit-box-shadow: 0 0 10px 0 var(--color-1);
	box-shadow: 0 0 10px 0 var(--color-1);
}

.learn-more {
	font-size: 0.75em;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1px;
	position: absolute;
	bottom: 2em;
	cursor: pointer;
}

#light-modes {
	position: absolute;
	bottom: 20%;
}

#light-modes div {
	display: block;
	width: 2rem;
	height: 2rem;
	border: 3px solid var(--color-3);
	-webkit-border-radius: 50%;
	border-radius: 50%;
	margin-right: 1rem;
	cursor: pointer;
	transition: all 150ms linear;
}

#light-modes div:last-child {
	margin-right: 0;
}

#light-modes div:hover {
	transform: scale(120%);
}

#light-red {
	background-color: red;
}

#light-green {
	background-color: var(--color-1);
}

#light-blue {
	background-color: blue;
}

#light-strobe {
	background-color: white;
}

#light-effects {
		transition: filter 150ms ease;
}

#light-effects.effect-red {
	filter:
		sepia(1)
		saturate(10)
		hue-rotate(320deg)
		brightness(1);
}

#light-effects.effect-green {
	filter:
		sepia(1)
		saturate(10)
		hue-rotate(60deg)
		brightness(1);
}

#light-effects.effect-blue {
	filter:
		sepia(1)
		saturate(10)
		hue-rotate(180deg)
		brightness(1);
}

#light-effects.effect-strobe {
	animation: strobe 0.25s infinite;

}

@keyframes strobe {
	0%,
	33%,
	66%,
	100% {
	  filter: brightness(1000%);
	}
	44%,
	55%,
	77%
 {
		filter: brightness(0%);
	}
}

#test-modes {
	color: var(--color-3);
	font-weight: bold;
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	bottom: 0;
}

/* Range */
#most-range {
	max-width: 1200px;
	position: relative;
	overflow: hidden;
}

#most-range img.most-model {
	left: 50%;
	transform: translateX(-50%);
}

#most-range img.most-model {
	opacity: 0;
	transition: all 250ms linear;
}

#most-range img.active {
	opacity: 1;
}

#shooting-distance {
	width: 40%;
	height: 80%;
	position: absolute;
	left: 30%;
	top: 20%;
	overflow: hidden;
	-webkit-mask-image: url('../img/mask-distance.png');
  mask-image: url('../img/mask-distance.png');
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

#shooting-distance img {
	max-height: 100%;
	position: absolute;
	left: -10%;
	bottom: 0px;
	transition: left 1.2s cubic-bezier(0.80, 0, 0.20, 1);
	will-change: left;
}

#shooter-number {
	color: var(--color-3);
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	position: absolute;
	width: 50%;
	left: 25%;
	top: 35%;
}

.most-logo {
	line-height: 30px;
	text-align: center;
	height: 40px;
	width: auto;
	padding: 0 20px;
	background-color: #8b8873;
	background-repeat: no-repeat;
	background-position: center center;
	border: 5px solid black;
	-webkit-border-radius: 20px;
	border-radius: 20px;
}

/* Call to action */
#call-to-action {
	position: relative;
	top: 50px;	
}

#instructor {
	max-width: 150px;
	position: absolute;
	bottom: 0;
}

#call-to-action em {
	position: relative;
	top: 10px;
	color: var(--color-6);
}

#call-to-action p {
	color: var(--color-3);
}

#call-to-action a {
	color: black;
	text-align: center;
	text-transform: uppercase;
	font-weight: 700;
	text-decoration: none;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--color-1);
}

#call-to-action a:hover {
	background-color: var(--color-2);
	-webkit-box-shadow: 0 0 10px 0 var(--color-1);
	box-shadow: 0 0 10px 0 var(--color-1);
}

/* All features */
#all-features {
	color: var(--color-3);
	background-color: var(--color-5);
}

#all-features h2 {
	color: var(--color-3);
}

#all-features h2 em {
	color: var(--color-6);
}

#all-features h3 {
	color: var(--color-6);
}

/* Footer */
footer {
	color: var(--color-3);
	background-color: black;
}

footer .logo {
	filter: brightness(0) saturate(100%) invert(55%) sepia(8%) saturate(456%) hue-rotate(14deg) brightness(94%) contrast(87%);
}

footer a:link, footer a:visited {
	color: var(--color-3);
	text-decoration: none;
}

footer a:hover {
	color: var(--color-1);
}

footer a:active {
	color: var(--color-2);
}


@media (max-width: 768px) {
	header {
		height: 80px;
		padding-top: 10px;
	}
	
	header #bunkl-logo {
		height: 40px;
	}

	#call-to-action {
		top: 100px;
	}
}

.dialog:not([open]) {
	display: none;
}