﻿@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Thin.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Thin-Italic.woff2") format("woff2"), url("/fonts/Moderat-Thin-Italic.woff") format("woff");
	font-weight: 300;
	font-style: italic;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Regular-Italic.woff2") format("woff2"), url("/fonts/Moderat-Regular-Italic.woff") format("woff");
	font-weight: 400;
	font-style: italic;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Medium.woff2") format("woff2"), url("/fonts/Moderat-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Medium-Italic.woff2") format("woff2"), url("/fonts/Moderat-Medium-Italic.woff") format("woff");
	font-weight: 500;
	font-style: italic;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Bold-Italic.woff2") format("woff2"), url("/fonts/Moderat-Bold-Italic.woff") format("woff");
	font-weight: 700;
	font-style: italic;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Black.woff2") format("woff2");
	font-weight: 900;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat";
	src: url("/fonts/Moderat-Bold-Italic.woff2") format("woff2");
	font-weight: 900;
	font-style: italic;
	font-display: swap
}

@font-face {
	font-family: "Moderat Condensed";
	src: url("/fonts/Moderat-Condensed-Regular.woff2") format("woff2"), url("/fonts/Moderat-Condensed-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat Condensed";
	src: url("/fonts/Moderat-Condensed-Regular-Italic.woff2") format("woff2"), url("/fonts/Moderat-Condensed-Regular-Italic.woff") format("woff");
	font-weight: 400;
	font-style: italic;
	font-display: swap
}

@font-face {
	font-family: "Moderat Condensed";
	src: url("/fonts/Moderat-Condensed-Medium.woff2") format("woff2"), url("/fonts/Moderat-Condensed-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat Condensed";
	src: url("/fonts/Moderat-Condensed-Medium-Italic.woff2") format("woff2");
	font-weight: 500;
	font-style: italic;
	font-display: swap
}

@font-face {
	font-family: "Moderat Condensed";
	src: url("/fonts/Moderat-Condensed-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Moderat Condensed";
	src: url("/fonts/Moderat-Condensed-Bold-Italic.woff2") format("woff2"), url("/fonts/Moderat-Condensed-Bold-Italic.woff") format("woff");
	font-weight: 700;
	font-style: italic;
	font-display: swap
}

*, *:after, *:before {
	box-sizing: border-box
}

h1, h2, h3, h4, h5, h6, p {
	margin: 0
}

body {
	max-width: 1200px;
	margin: 0 auto;
	font-family: "Moderat";
	padding: 1.5em 5% 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background-color: #f2f5f9;
	color: #383a85;
	background-repeat: no-repeat;
	background-position-x: center;
	background-size: 100%
}

@media screen and (max-width: 750px) {
	body {
		max-width: 95vw;
		background-size: auto
	}
}

main {
	flex: 1
}

.wrapper {
	width: min(1200px, 100vw);
	padding-inline: 5%;
	margin-inline: auto
}

img {
	display: block;
	max-width: 100%
}

svg {
	display: block
}

a {
	text-decoration: none
}

hr {
	border: .2px solid rgba(85, 85, 85, .2)
}

p {
	line-height: 1.4em
}

.text-white {
	color: #fff
}

.text-green {
	color: #0cd59e
}

.text-blue-300 {
	color: #1b23b0
}

.text-grey-500 {
	color: #67698e
}

.text-yellow-500 {
	color: #ffbf42
}

.text-black {
	color: #383a85
}

.font-condensed {
	font-family: "Moderat Condensed"
}

.font-weight-300 {
	font-weight: 300
}

.font-weight-400 {
	font-weight: normal
}

.font-weight-900 {
	font-weight: 900
}

.bold {
	font-weight: bold
}

.semi-bold {
	font-weight: 500
}

.uppercase {
	text-transform: uppercase
}

.underline {
	text-decoration: underline
}

.text-align-center {
	text-align: center
}

@media screen and (max-width: 750px) {
	.text-align-center-phone {
		text-align: center
	}
}

.text-align-right {
	text-align: right
}

.text-small {
	font-size: .9rem
}

.text-xsmall {
	font-size: .75rem
}

.text-xxsmall {
	font-size: .5rem
}

@media screen and (max-width: 750px) {
	.text-small-phone {
		font-size: .9rem
	}
}

.text-xxlarge {
	font-size: 3rem
}

.text-xmlarge {
	font-size: 2.5rem
}

.text-xlarge {
	font-size: 2rem
}

.text-mlarge {
	font-size: 1.6rem
}

.text-large {
	font-size: 1.2rem
}

.mrtop-½ {
	margin-top: .5em
}

.mrtop-1 {
	margin-top: 1em
}

.mrtop-2 {
	margin-top: 2em
}

.mrtop-3 {
	margin-top: 3em
}

.mrtop-4 {
	margin-top: 4em
}

.mrtop-5 {
	margin-top: 5em
}

.mrbottom-½ {
	margin-bottom: .5em
}

.mrbottom-1 {
	margin-bottom: 1em
}

.mrbottom-2 {
	margin-bottom: 2em
}

.mrbottom-3 {
	margin-bottom: 3em
}

.mrleft-1 {
	margin-left: 1em
}

.mrleft-2 {
	margin-left: 2em
}

.padding-bottom-½ {
	padding-bottom: .5em
}

.padding-1 {
	padding: 1em
}

.border-none, input[type=text].border-none {
	border: 0
}

.border-bottom-blue {
	border: 0;
	border-bottom: 1px solid #1b23b0
}

.flex {
	display: flex
}

.flex-block-phone {
	display: flex
}

@media screen and (max-width: 750px) {
	.flex-block-phone {
		display: block
	}
}

.flex1 {
	flex: 1
}

.flex2 {
	flex: 2
}

.flex3 {
	flex: 3
}

.align-center {
	align-items: center
}

.align-end {
	align-items: end
}

.align-first-baseline {
	align-items: first baseline
}

.align-last-baseline {
	align-items: last baseline
}

.justify-center {
	justify-content: center
}

.space-between {
	justify-content: space-between
}

.gap-½ {
	gap: .5em
}

.gap-1 {
	gap: 1em
}

.gap-2 {
	gap: 2em
}

.gap-3 {
	gap: 3em
}

.gap-4 {
	gap: 4em
}

.gap-5 {
	gap: 5em
}

.inline {
	display: inline
}

.block {
	display: block
}

.full-width {
	width: 100%
}

* .centered-block {
	margin-left: auto;
	margin-right: auto
}

.width-fit-content {
	width: fit-content !important
}

.bg-blue-800 {
	background-color: #9ca1dc
}

.bg-blue-700 {
	background-color: #6065c8
}

.bg-blue-600 {
	background-color: #494fc0
}

.bg-green-500 {
	background-color: #0cd59e !important
}

@media screen and (max-width: 750px) {
	.no-phone {
		display: none
	}
}

@media screen and (min-width: 750px) {
	.no-desktop {
		display: none
	}
}

[role=button] {
	cursor: pointer
}

div.check-list img {
	width: .9em;
	align-self: baseline
}

summary {
	display: block;
	cursor: pointer
}

summary::-webkit-details-marker {
	display: none
}

header {
	display: flex;
	align-items: first baseline;
	justify-content: space-between
}

@media screen and (max-width: 750px) {
	header h1 {
		font-size: 1.5rem
	}
}

header .animated-menu {
	cursor: pointer;
	position: relative
}

@media screen and (max-width: 750px) {
	header .animated-menu > :first-child {
		font-size: .9rem
	}
}

@media screen and (max-width: 750px) {
	header .animated-menu > :first-child .flag {
		display: none
	}
}

header .animated-menu .flag img {
	width: 1.5em;
	height: .8em;
	display: inline-block
}

header .animated-menu > :first-child:after {
	content: "";
	display: block;
	width: .5em;
	height: .5em;
	background: url("/img/tool-arrow-down-white.svg") no-repeat center/contain
}

header .animated-menu.open > :first-child:after {
	transform: rotate(180deg)
}

header .animated-menu.open > .animated-sub-menu {
	max-height: 14rem;
	opacity: 1;
	padding: 1em;
	z-index: 2
}

header .animated-sub-menu {
	background: #fff;
	padding: 0;
	font-size: .9em;
	font-weight: 300;
	position: absolute;
	top: 2em;
	width: max-content;
	left: 50%;
	transform: translateX(-50%);
	max-height: 0;
	opacity: 1;
	overflow: hidden;
	transition: all .1s;
	border-radius: 1em
}

header .animated-sub-menu:before {
	content: "";
	position: absolute;
	top: -0.7em;
	left: 50%;
	display: block;
	width: 1em;
	height: 1em;
	background: url("/img/tool-arrow-down-white.svg") no-repeat center/contain;
	transform: translateX(-50%) rotate(180deg)
}

header .animated-sub-menu > div {
	margin: .75em 0
}

body:not(.home) header [data-role=account-handling] {
	display: none
}

header.header-account {
	position: relative;
	margin-top: 2em
}

header.header-account nav {
	gap: 2.7em;
	position: relative;
	top: -1rem;
	color: #fff
}

@media screen and (max-width: 750px) {
	header.header-account nav {
		gap: .7em;
		top: 0
	}
}

header.header-account .links-menu-wrapper {
	display: flex;
	gap: 2.7em
}

@media screen and (max-width: 750px) {
	header.header-account .links-menu-wrapper {
		display: none
	}
}

@media screen and (max-width: 750px) {
	header.header-account .links-menu-wrapper.active {
		position: absolute;
		display: block;
		top: 4em;
		width: 280px;
		right: 0;
		background-color: #e2e4f4;
		padding: 2em;
		border-radius: .5em
	}

	header.header-account .links-menu-wrapper.active a {
		color: #1b23b0
	}
}

header.header-account a {
	display: block;
	color: inherit;
	font-size: .9rem;
	font-weight: 500
}

@media screen and (max-width: 750px) {
	.btn-menu-wrapper button.btn-blue {
		padding: 1em 1.2em;
		border-radius: 2em
	}
}

.btn-menu-wrapper .connexion-menu {
	display: none;
	width: 220px;
	position: absolute;
	padding: 1em;
	border-radius: .5em;
	color: #383a85;
	background-color: #e2e4f4;
	transform: translateX(-30px);
	top: 65px
}

@media screen and (max-width: 750px) {
	.btn-menu-wrapper .connexion-menu {
		right: -25px
	}
}

.btn-menu-wrapper .connexion-menu::before {
	content: "";
	position: absolute;
	top: -20px;
	left: 0;
	background: url(/img/img-blue-triangle-01.svg) no-repeat bottom center/14%;
	height: 2em;
	width: 100%
}

@media screen and (max-width: 750px) {
	.btn-menu-wrapper .connexion-menu::before {
		width: 3em;
		left: auto;
		right: 0;
		background-size: 70%
	}
}

.btn-menu-wrapper .connexion-menu.active {
	display: block
}

.btn-menu-wrapper .connexion-menu a {
	color: inherit;
	font-size: inherit
}

footer {
	padding: 1rem 0;
	font-size: .75rem;
	font-weight: 500
}

footer a {
	display: inline-block;
	padding-right: .5em;
	border-right: 1px solid rgba(0, 0, 0, .2);
	margin-right: .5em;
	color: inherit
}

footer a:last-of-type {
	border-right: none
}

@media screen and (max-width: 750px) {
	footer nav {
		text-align: center;
		font-size: .7rem;
		line-height: 2em
	}
}

@media screen and (max-width: 750px) {
	footer .copyright {
		text-align: center;
		margin-top: 1em
	}
}

footer.home-footer {
	padding-top: 5em;
	padding-bottom: 2em
}

@media screen and (max-width: 750px) {
	footer.home-footer {
		text-align: center;
		padding-top: 3em
	}
}

@media screen and (max-width: 750px) {
	footer.home-footer .footer-links {
		margin-top: 1em;
		line-height: 1.8em
	}
}

@media screen and (max-width: 750px) {
	footer.home-footer .footer-links a {
		border: none;
		display: block
	}
}

@media screen and (max-width: 750px) {
	footer.home-footer .footer-contact {
		margin-top: .5em
	}
}

body.home:not(.home-short) footer {
	background-color: #f2f5f9
}

.language-choice-wrapper {
	border: 1px solid #cccdd9;
	padding: .2em .7em;
	border-radius: 2em;
	margin-right: 1em;
	font-size: .9em;
	background-color: #fff;
	width: 150px
}

@media screen and (max-width: 750px) {
	.language-choice-wrapper {
		margin: 1em auto;
		width: 180px;
		font-size: 1rem;
		padding: .5em
	}
}

@media screen and (max-width: 750px) {
	.language-choice-wrapper .selected-value::after {
		position: absolute;
		right: 0
	}
}

.language-choice-wrapper .options-list {
	width: 100%
}

.pseudo-select {
	cursor: pointer;
	position: relative
}

.pseudo-select .selected-value {
	display: flex;
	align-items: center;
	padding-left: .5em;
	gap: .25em
}

.pseudo-select .selected-value::after {
	content: "";
	width: 1.5rem;
	height: 1rem;
	background: url("/img/tool-arrow-down.svg") no-repeat center;
	display: block;
	position: absolute;
	right: 0;
	top: 10%;
	line-height: 0;
	padding-right: 1.5em
}

.pseudo-select .options-list {
	max-height: 0;
	overflow: hidden;
	position: absolute;
	top: 120%;
	opacity: 0;
	transition: all .2s;
	width: max-content;
	z-index: 6
}

.pseudo-select.active .options-list {
	background: #f2f5f9;
	opacity: 1;
	max-height: 500px
}

.pseudo-select.options-on-top .options-list {
	top: initial;
	bottom: 120%
}

.pseudo-select .option {
	padding: .5em;
	display: flex;
	align-items: center;
	gap: .25em
}

.pseudo-select .option:hover {
	background-color: #6065c8;
	color: #fff
}

body.standard {
	background-image: url("/img/bg-standard.svg");
	background-position-y: top
}

@media screen and (max-width: 1200px) {
	body.standard {
		background-image: url("/img/bg-standard-mobile.svg")
	}
}

@media screen and (max-width: 750px) {
	body.standard {
		background-image: url("/img/bg-standard-mobile.svg")
	}
}

body.standard-v2 {
	max-width: none;
	padding: 0;
	padding-top: 1.5em;
	background: url("/img/bg-home-desktop.webp") no-repeat center top/100% 100vh
}

@media screen and (max-width: 1200px) {
	body.standard-v2 {
		background-size: 1200px 90vh
	}
}

@media screen and (max-width: 750px) {
	body.standard-v2 {
		background: url("/img/bg-standard-mobile.svg") no-repeat center top/100vw 680px;
		display: block
	}
}

.center-card {
	max-width: min(800px,100% -2rem);
	margin: 5vw auto 3vw;
	background-color: #fff;
	padding: 2em 3em;
	border-radius: .5em;
	border: 1px solid #1b23b0
}

@media screen and (max-width: 750px) {
	.center-card {
		padding: 1em;
		margin: 3em 0 0 0
	}
}

.center-card h2 {
	font-size: 2rem;
	text-wrap: balance;
}

@media screen and (max-width: 750px) {
	.center-card h2 {
		font-size: 1.3rem
	}
}

.center-card form {
	margin: 2rem auto 1rem auto
}

.center-card input[type=checkbox] {
	position: relative;
	top: -0.5em
}

.center-card button[type=submit] {
	padding-left: 2.5em;
	padding-right: 2.5em
}

.center-card.center-card-pass-payment {
	max-width: min(850px,100% - 2rem);
	padding: 2em 3em .5em;
	margin-top: 2vw
}

@media screen and (max-width: 750px) {
	.center-card.center-card-pass-payment {
		margin-inline: .5em;
		margin-top: 3em;
		padding: 1em;
		max-width: none
	}
}

.main {
	display: flex;
	gap: 2em;
	margin: 2em 0;
	align-items: flex-start
}

@media screen and (max-width: 750px) {
	.main {
		display: block;
		margin: 2em 0
	}
}

.sidebar-contact {
	background-color: #e2e4f4;
	max-width: 255px;
	padding: 1em;
	border: 1px solid #1b23b0;
	border-radius: .5em
}

@media screen and (max-width: 750px) {
	.sidebar-contact {
		max-width: 100%;
		margin: 2em 0
	}
}

.sidebar-contact h3 {
	font-size: 1.6em
}

.sidebar-contact hr {
	margin: 1em 0
}

.sidebar-contact .call-center {
	display: flex;
	align-items: center;
	margin: 2em 0 1em 0;
	gap: .5em;
	border: solid 2px #1b23b0;
	width: fit-content;
	padding: .5em 1em;
	border-radius: 1.5em;
	background-image: linear-gradient(to bottom, white, #E2E4F4)
}

@media screen and (max-width: 750px) {
	.sidebar-contact .call-center {
		margin: 1em 0
	}
}

.sidebar-contact .call-center img {
	width: 20px
}

.modal {
	display: none;
	position: fixed;
	inset: 0;
	background-color: rgba(51, 51, 51, .8);
	justify-content: center;
	align-items: center;
	padding: 1em;
	z-index: 3
}

@media screen and (max-width: 750px) {
	.modal {
		position: absolute;
		bottom: unset
	}
}

.modal .center-card {
	width: fit-content;
	position: relative
}

@media screen and (max-width: 750px) {
	.modal .center-card {
		width: 100%;
		margin-top: .25em
	}
}

@media screen and (max-width: 750px) {
	.modal .center-card h2 {
		font-size: 1.5rem;
		margin-top: 1em
	}
}

.modal .btn-close-modal {
	padding: 0;
	position: absolute;
	top: 0;
	right: 1rem;
	font-size: 2rem;
	background-color: rgba(0, 0, 0, 0);
	font-weight: 400
}

.choose-pass-cta {
	position: relative;
	padding: 1.75em 1em .75em;
	font-size: 1.2rem;
	color: #1b23b0;
	background-color: #e2e4f4;
	border-radius: .5em;
	margin-inline: 2rem
}

@media screen and (max-width: 750px) {
	.choose-pass-cta {
		margin-inline: 0;
		padding: 1em;
		font-size: 1.4rem
	}
}

.choose-pass-cta h2 {
	font-size: inherit;
	font-weight: 900
}

.choose-pass-cta .position-found {
	position: relative;
	width: fit-content;
	margin: .35em auto;
	background: #fff;
	border: .2px solid #1b23b0;
	padding: .25em 1.5em;
	border-radius: 2em;
	font-weight: 700
}

@media screen and (max-width: 750px) {
	.choose-pass-cta .position-found {
		margin: .5em auto
	}
}

.choose-pass-cta .position-found img {
	position: absolute;
	width: 1.75em;
	left: -0.25em;
	top: -25%
}

@media screen and (max-width: 750px) {
	.choose-pass-cta .position-found img {
		left: -0.4em
	}
}

.choose-pass-cta .phone-number-reminder {
	font-size: .85em
}

.specification-card {
	padding: 1em .5em;
	border: .2px solid #9ca1dc;
	border-radius: 1em;
	background-color: #fff
}

.specification-card .card-img {
	width: 100px;
	margin: 0 auto
}

body.tunnel {
	background-image: url("/img/bg-tunnel.svg");
	display: flex;
	justify-content: center;
	align-content: center
}

@media screen and (max-width: 750px) {
	body.tunnel {
		background-image: url("/img/bg-tunnel-mobile.svg")
	}
}

body.tunnel .center-card {
	background-color: rgba(0, 0, 0, 0);
	border: 0;
	margin: 1em auto
}

body.tunnel .center-card img {
	margin: 0 auto;
	max-width: 230px
}

:is(body.tunnel-1,body.tunnel-2) .center-card {
	max-width: 400px
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-1,body.tunnel-2) .center-card .secondary-text {
		max-width: 250px;
		margin-right: auto;
		margin-left: auto
	}
}

:is(body.tunnel-3,body.tunnel-4) .center-card {
	max-width: 330px
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-3,body.tunnel-4) .center-card {
		max-width: none;
		margin: 0 .5em;
		padding: 0
	}
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-3,body.tunnel-4) .center-card .main-text {
		max-width: 240px;
		margin-right: auto;
		margin-left: auto
	}
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-3,body.tunnel-4) .center-card img {
		max-width: 200px
	}
}

@media screen and (max-width: 750px) {
	body.tunnel-5 .center-card {
		max-width: none;
		margin: 0 .5em;
		padding: 0
	}
}

@media screen and (max-width: 750px) {
	body.tunnel-5 .center-card .btn-main {
		padding-right: 3em;
		padding-left: 3em
	}
}

body.tunnel-5 .center-card img {
	max-width: 200px
}

@media screen and (max-width: 750px) {
	body.tunnel-5 .center-card img {
		max-width: 180px
	}
}

:is(body.tunnel-6,body.tunnel-7) .center-card {
	max-width: 560px
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-6,body.tunnel-7) .center-card {
		max-width: none;
		margin: 0 .5em;
		padding: 0
	}
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-6,body.tunnel-7) .center-card .main-text {
		max-width: 270px;
		margin-right: auto;
		margin-left: auto
	}
}

:is(body.tunnel-6,body.tunnel-7) .center-card .btn-main {
	width: fit-content
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-6,body.tunnel-7) .center-card .btn-main {
		padding-right: 3em;
		padding-left: 3em
	}
}

:is(body.tunnel-6,body.tunnel-7) .center-card img {
	max-width: 200px
}

@media screen and (max-width: 750px) {
	:is(body.tunnel-6,body.tunnel-7) .center-card img {
		max-width: 180px
	}
}

body.tunnel-7 .center-card {
	max-width: 600px
}

button, .btn {
	border: none;
	background-color: #d3d3d3;
	cursor: pointer;
	padding: 1em 1.5em;
	border-radius: 1.5em;
	font-family: "Moderat";
	font-size: 1rem;
	font-weight: bold;
	display: block;
	box-sizing: border-box
}

@media screen and (max-width: 750px) {
	button, .btn {
		padding: .7em 1.3em
	}
}

button.extra-padding, .btn.extra-padding {
	padding: 1em 3em
}

button.btn-main, a.btn-main {
	text-align: center;
	color: #fff;
	background-color: #0cd59e;
	text-transform: uppercase;
	font-size: .85rem;
	margin-inline: auto
}

@media screen and (max-width: 750px) {
	button.btn-main, a.btn-main {
		font-size: 1rem;
		width: 100%
	}
}

button.btn-main.bg-blue-800, a.btn-main.bg-blue-800 {
	background-color: #9ca1dc
}

.btn.btn-main-not-rounded {
	border-radius: .5rem;
	box-shadow: 0 5px 20px -5px #9ca1dc;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	min-width: 35ch
}

@media screen and (max-width: 750px) {
	.btn.btn-main-not-rounded {
		width: 100%;
		min-width: 0
	}
}

button.btn-blue, a.btn-blue {
	background-color: #494fc0;
	color: rgba(255, 255, 255, .8);
	font-size: .9rem;
	font-weight: 500;
	padding: 1rem 2em
}

input, label {
	display: block;
	min-width: 0
}

input:focus {
	outline: none
}

input[type=text] {
	padding: .2em .5em;
	border: .5px solid #cccdd9
}

input[type=text].no-padding-left {
	padding-left: 0
}

input[type=text].large-padding {
	padding: .8em
}

::placeholder, .placeholder {
	color: #9ca1dc;
	font-family: "Moderat";
	font-size: .85rem
}

input.placeholder-bold::placeholder {
	font-weight: bold;
	color: #cccdd9
}

input[type=radio] {
	display: grid;
	place-content: center
}

input[type=radio]::before {
	content: "";
	width: 1em;
	height: 1em;
	border-radius: 50%;
	transform: scale(0);
	box-shadow: inset 1em 1em #0cd59e
}

input[type=radio]:checked::before {
	transform: scale(0.6)
}

textarea {
	box-sizing: border-box;
	resize: none
}

form.locate-phone {
	max-width: 450px
}

@media screen and (max-width: 1200px) {
	form.locate-phone {
		margin-inline: auto
	}
}

@media screen and (max-width: 750px) {
	form.locate-phone p {
		font-size: 1rem;
		text-align: center
	}
}

form.locate-phone input {
	padding: 1em 0;
	font-family: inherit;
	font-size: 1em;
	min-width: 0
}

form.locate-phone input::placeholder {
	font-size: 1rem;
	color: #9ca1dc
}

form.locate-phone .phone-choice-wrapper {
	display: flex;
	gap: 1em;
	background-color: #fff;
	align-items: center;
	margin-top: 1em;
	padding-left: 1em;
	border: 3px solid #6065c8;
	border-radius: 2em
}

form.locate-phone .phone-choice-wrapper .pseudo-select {
	flex-shrink: 0
}

form.locate-phone .phone-choice-wrapper .selected-value-wrapper {
	padding-right: .5em;
	border-right: .5px solid #9ca1dc
}

form.locate-phone .phone-choice-wrapper .selected-value img {
	width: 1.5em
}

form.locate-phone .phone-choice-wrapper .selected-value::after {
	width: 1em;
	position: relative;
	top: 1px
}

form.locate-phone .phone-choice-wrapper .phone-indicator {
	color: #383a85
}

form.locate-phone .phone-choice-wrapper input {
	background-color: rgba(0, 0, 0, 0)
}

form.locate-phone .mail-input-wrapper {
	max-height: 0;
	overflow: hidden;
	transition: all .1s
}

form.locate-phone .email-input {
	width: 100%;
	margin-top: 1em;
	border: 3px solid #6065c8;
	border-radius: 2em;
	padding: 1em 1.5em
}

form.locate-phone .submit-fake {
	opacity: 1;
	transition: all .1s
}

form.locate-phone .submit-real {
	margin-top: 1em;
	display: none
}

@media screen and (max-width: 750px) {
	form.locate-phone .submit-fake {
		display: none
	}

	form.locate-phone .submit-real {
		display: flex;
		padding: 1em 0
	}
}

form:not(.locate-phone) .selected-value {
	padding-right: 1.35em
}

form:not(.locate-phone) .selected-value > img {
	width: 15px;
	height: auto
}

form.locate-phone.show-mail-input .mail-input-wrapper {
	max-height: 20em
}

form.locate-phone.show-mail-input .submit-fake {
	opacity: 0;
	cursor: default
}

form.locate-phone.show-mail-input .submit-real {
	display: flex
}

.pseudo-select.no-padding-left .selected-value {
	padding-left: 0
}

.pseudo-select.no-padding-left .options-list {
	left: -0.5em
}

.pseudo-select .selected-value, .pseudo-select .option {
	color: #6065c8;
	font-weight: bold;
	font-size: .9rem
}

body.home {
	max-width: none;
	padding: 0;
	padding-top: 1.5em;
	background: url("/img/bg-home-desktop.webp") no-repeat center top/100% 90vh
}

@media screen and (max-width: 1200px) {
	body.home {
		background-size: 1200px 90vh
	}
}

@media screen and (max-width: 750px) {
	body.home {
		background: url("/img/bg-home-mobile.webp") no-repeat center top/100vw 680px;
		display: block
	}
}

body.home h2 {
	font-size: 2.8rem;
	max-width: 700px
}

@media screen and (max-width: 750px) {
	body.home h2 {
		font-size: 1.8rem;
		margin-top: .5em;
		max-width: 320px
	}
}

body.home .jumbotron {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	margin-top: max(60px, 10vw - 100px);
	gap: 5em;
	min-height: 75vh
}

@media screen and (max-width: 1200px) {
	body.home .jumbotron {
		gap: 2em
	}
}

@media screen and (max-width: 750px) {
	body.home .jumbotron {
		grid-template-columns: 1fr;
		margin-top: 1em;
		gap: 1em
	}
}

body.home .jumbotron h1 {
	margin: 0;
	font-size: 3.9rem;
	font-weight: 900
}

@media screen and (max-width: 1200px) {
	body.home .jumbotron h1 {
		font-size: 2.8rem
	}
}

@media screen and (max-width: 750px) {
	body.home .jumbotron h1 {
		font-size: 2rem;
		margin: .7em auto;
		max-width: 320px
	}
}

body.home .jumbotron .jumbotron-img {
	margin-top: 80px;
	position: relative;
	right: -3vw
}

@media screen and (max-width: 750px) {
	body.home .jumbotron .jumbotron-img {
		max-width: 250px;
		margin: 0 auto;
		right: 0
	}
}

body.home .jumbotron .phone-location-form-wrapper {
	border-top: 1px solid rgba(255, 255, 255, .4666666667);
	border-bottom: 1px solid rgba(255, 255, 255, .4666666667);
	margin-top: calc(4vw - 2em);
	padding: 1.5em 0
}

@media screen and (max-width: 750px) {
	body.home .jumbotron .phone-location-form-wrapper {
		border: none;
		margin-top: 0;
		padding: 0
	}
}

body.home .section-cards {
	background: radial-gradient(#F2F5F9, rgba(255, 255, 255, 0) 60%);
	margin-top: 3em;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2em
}

@media screen and (max-width: 1200px) {
	body.home .section-cards {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (max-width: 750px) {
	body.home .section-cards {
		grid-template-columns: 1fr
	}
}

body.home .bg-waves {
	background: url("/img/bg-home-presentation.webp") no-repeat top right
}

@media screen and (max-width: 750px) {
	body.home .bg-waves {
		background: none
	}
}

body.home .bg-offer {
	background: url("/img/bg-home-offer.webp") no-repeat top center/100vw
}

@media screen and (max-width: 750px) {
	body.home .bg-offer {
		background-image: url("/img/bg-home-offer-mobile.webp")
	}
}

body.home .bg-how-does-it-work {
	background: url("/img/bg-home-how-works.webp") no-repeat bottom center/100vw
}

@media screen and (max-width: 750px) {
	body.home .bg-how-does-it-work {
		background-image: url("/img/bg-home-how-works-mobile.webp")
	}
}

body.home .bg-last-cta {
	background: url("/img/bg-home-last-cta.webp") no-repeat top center/100vw
}

@media screen and (max-width: 750px) {
	body.home .bg-last-cta {
		background-image: url("/img/bg-home-last-cta-mobile.webp")
	}
}

body.home .section-offer {
	padding-top: 10em;
	padding-bottom: 5em
}

@media screen and (max-width: 750px) {
	body.home .section-offer {
		padding-top: 3em
	}
}

body.home .section-offer .section-offer-content {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 2em;
	border: .2px solid #cccdd9;
	border-radius: 1.5em;
	margin-top: 2em;
	padding: 2em 2em 2em 3em
}

@media screen and (max-width: 750px) {
	body.home .section-offer .section-offer-content {
		grid-template-columns: 1fr;
		border: none;
		padding: 0
	}
}

body.home .section-offer .section-offer-item {
	padding-block: 1em
}

body.home .section-offer .section-offer-item:not(:last-child) {
	border-bottom: .2px solid #cccdd9
}

body.home .section-offer .section-offer-cta {
	background: linear-gradient(45deg, #1B23B0 35%, #9ca1dc 85%);
	border-radius: 1.5em;
	padding: 1.5em 1em
}

body.home .section-offer .subscription-transition {
	gap: 1em
}

@media screen and (max-width: 750px) {
	body.home .section-offer .subscription-transition {
		gap: .5em
	}
}

body.home .section-offer .no-obligation {
	background-color: #9ca1dc;
	padding: .5em;
	border-radius: .75em;
	margin-block: .75em;
	box-shadow: 0 5px 15px -10px #1b23b0
}

body.home .section-how-does-it-work {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	padding-bottom: 10em
}

@media screen and (max-width: 750px) {
	body.home .section-how-does-it-work {
		grid-template-columns: 1fr;
		padding-bottom: 3em;
		gap: 1em
	}
}

body.home .section-how-does-it-work-text-content {
	padding-left: 3em
}

@media screen and (max-width: 750px) {
	body.home .section-how-does-it-work-text-content {
		padding-left: 0
	}
}

body.home .section-faq .faq-wrapper {
	margin-inline: 3em;
	box-shadow: 0 15px 65px -50px #1b23b0
}

@media screen and (max-width: 750px) {
	body.home .section-faq .faq-wrapper {
		margin-inline: 0;
		box-shadow: none
	}
}

body.home .section-faq details {
	padding: 2em 10em 2em 2em;
	border-left: 5px solid #fff;
	transition: all .2s
}

@media screen and (max-width: 750px) {
	body.home .section-faq details {
		padding: .75em 3em .75em .5em
	}
}

body.home .section-faq details:not(:first-child) {
	border-top: .2px solid #cccdd9
}

body.home .section-faq summary {
	position: relative
}

body.home .section-faq summary::after {
	content: url("/img/details-close.svg");
	display: block;
	position: absolute;
	right: -6em;
	top: 50%;
	transform: translateY(-50%);
	width: 2em
}

@media screen and (max-width: 750px) {
	body.home .section-faq summary::after {
		right: -2.5em
	}
}

body.home .section-faq h4 {
	font-size: 1.4em
}

@media screen and (max-width: 750px) {
	body.home .section-faq h4 {
		font-size: 1.1em
	}
}

body.home .section-faq details[open] {
	border-left: 5px solid #0cd59e;
	background-color: #f2f5f9
}

body.home .section-faq details[open] h4 {
	color: #0cd59e
}

body.home .section-faq details[open] summary::after {
	content: url("/img/details-open.svg")
}

body.home .section-last-cta {
	margin-top: 5em;
	position: relative
}

body.home .section-last-cta > img {
	position: absolute;
	width: 270px;
	top: -1.5em
}

body.home .section-last-cta-content-wrapper {
	background-color: #1b23b0;
	border-radius: 2em;
	color: #fff;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2em;
	padding: 4em 3em 4em 10em
}

@media screen and (max-width: 750px) {
	body.home .section-last-cta-content-wrapper {
		grid-template-columns: 1fr;
		padding: 1em
	}
}

body.home .section-last-cta-content-wrapper > div:first-child {
	text-align: center
}

body.home .section-last-cta form.locate-phone {
	margin-top: .5em
}

body.home .section-last-cta form.locate-phone p {
	text-align: center
}

body.pass-selection {
	background-color: #f2f5f9
}

body.pass-selection .pass-choice-form {
	margin: 1rem 2rem
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-form {
		margin-inline: 0;
		margin-top: 1rem
	}
}

body.pass-selection .pass-choice-selector {
	background-color: #fff;
	border-radius: .5em;
	padding: 1em;
	transition: all .3s;
	height: 6em;
	border-bottom: .2px solid #cccdd9;
	gap: 1em
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-selector {
		gap: .5em;
		justify-content: flex-start;
		height: 5em
	}
}

body.pass-selection .pass-choice-selector .pass-choice-label {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-selector .pass-choice-label {
		align-items: first baseline
	}
}

body.pass-selection .pass-choice-selector input[type=radio] {
	accent-color: #0cd59e;
	scale: 1.5
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-selector input[type=radio] {
		scale: 1
	}
}

body.pass-selection .pass-choice-selector .pass-name {
	font-size: 1.4rem;
	font-weight: 900;
	text-transform: uppercase
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-selector .pass-name {
		font-size: 1.1rem
	}
}

body.pass-selection .pass-choice-selector .pass-location-number, body.pass-selection .pass-choice-selector .pass-notes {
	font-size: .9rem;
	color: #67698e
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-selector .pass-location-number, body.pass-selection .pass-choice-selector .pass-notes {
		font-size: .85rem
	}
}

body.pass-selection .pass-choice-selector .pass-price {
	font-size: 2.5rem;
	font-weight: 900
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-selector .pass-price {
		font-size: 1.4rem
	}
}

body.pass-selection .pass-choice-selector:hover, body.pass-selection .pass-choice-selector.selected {
	background-color: #6065c8;
	box-shadow: 250px 0 50px #1b23b0 inset;
	color: #fff
}

@media screen and (max-width: 750px) {
	body.pass-selection .pass-choice-selector:hover, body.pass-selection .pass-choice-selector.selected {
		box-shadow: 0 70px 50px #1b23b0 inset;
		color: #fff
	}
}

body.pass-selection .pass-choice-selector:hover .pass-location-number, body.pass-selection .pass-choice-selector:hover .pass-notes, body.pass-selection .pass-choice-selector.selected .pass-location-number, body.pass-selection .pass-choice-selector.selected .pass-notes {
	color: #fff
}

body.pass-selection .card-specification-wrapper {
	margin-top: 5em;
	display: flex;
	gap: 1em;
	flex-wrap: wrap;
	justify-content: center
}

@media screen and (max-width: 750px) {
	body.pass-selection .card-specification-wrapper {
		flex-direction: column;
		margin-top: 2em
	}
}

body.pass-selection .card-specification-wrapper .specification-card {
	flex: 0 0 31%
}

body.pass-selection .end-title {
	font-size: 2.5rem;
	text-align: center;
	font-weight: 500;
	margin-top: 1em;
	font-family: "Moderat Condensed"
}

body.pass-selection .subscription-terms {
	max-width: 850px;
	font-size: .6rem;
	color: #67698e;
	margin: 0 auto 3rem auto;
	text-align: justify
}

@media screen and (max-width: 750px) {
	body.pass-selection .subscription-terms {
		margin: 2rem .5rem 0
	}
}

body.payment .choose-pass-cta .special-offer {
	position: absolute;
	text-transform: uppercase;
	color: #6065c8;
	top: -1.2rem;
	background-color: #fff;
	padding: .5em 1em;
	font-size: 1.1rem;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 1em;
	font-weight: 700
}

@media screen and (max-width: 750px) {
	body.payment .choose-pass-cta .special-offer {
		font-size: .9rem;
		width: max-content;
		top: -1rem
	}
}

body.payment .form-payment {
	max-width: 500px;
	margin-top: 0
}

body.payment .form-payment .recap-payment {
	display: flex;
	font-size: 1.2rem;
	font-weight: bold;
	align-items: baseline
}

@media screen and (max-width: 750px) {
	body.payment .form-payment .recap-payment {
		font-size: 1rem
	}
}

body.payment .form-payment .recap-payment-cost {
	color: #0cd59e;
	font-size: 1.8em
}

body.payment .form-payment .recap-payment-lock-icon {
	width: .8em
}

@media screen and (max-width: 750px) {
	body.payment .form-payment .recap-payment-lock-icon {
		width: .6em
	}
}

body.payment .form-payment .credit-card-pictos img {
	height: 1rem
}

body.payment .form-payment .recap-before-validation {
	text-align: center;
	margin-top: .5em;
	font-weight: bold;
	font-size: 1.3rem
}

@media screen and (max-width: 750px) {
	body.payment .form-payment .recap-before-validation {
		font-size: 1.6rem
	}
}

body.payment .form-payment input[type=text] {
	border: 1.5px solid #1b23b0
}

body.user-account .welcome-data {
	display: flex;
	justify-content: space-between;
	margin: 1.5rem 0
}

@media screen and (max-width: 750px) {
	body.user-account .welcome-data {
		display: block
	}
}

body.user-account .welcome-data h1 {
	font-size: 2.6rem;
	font-weight: 500;
	margin-top: .75em
}

body.user-account .welcome-data .welcome {
	color: #fff
}

body.user-account .welcome-data .data {
	background-color: #fff;
	width: 480px;
	padding: 1em;
	border-radius: .5em
}

@media screen and (max-width: 750px) {
	body.user-account .welcome-data .data {
		width: 100%;
		margin-top: 2em;
		padding: .5em 1em
	}
}

body.user-account .welcome-data .data hr {
	margin: .85em 0
}

body.user-account .welcome-data .data__item {
	display: flex;
	font-size: .85rem;
	font-weight: bold
}

body.user-account .welcome-data .data__item > div:first-of-type {
	color: #1b23b0;
	flex: 0 0 120px
}

body.user-account .main {
	margin: 6em 0 3em 0
}

@media screen and (max-width: 750px) {
	body.user-account .main {
		margin: 1em 0
	}
}

body.user-account .main .options-wrapper {
	flex: 1
}

@media screen and (max-width: 750px) {
	body.user-account .main .history-wrapper {
		display: flex;
		column-gap: 1em;
		margin-bottom: 1.5em
	}
}

body.user-account .main .history-wrapper > a {
	display: block
}

@media screen and (max-width: 750px) {
	body.user-account .main .history-wrapper > a {
		flex: 1
	}
}

body.user-account .main .option {
	background-color: #fff;
	display: flex;
	align-items: center;
	padding: 2em 1.5em;
	border-radius: .5em;
	margin-bottom: 1.5em;
	gap: 1em;
	color: #1b23b0;
	border: 2px solid #fff;
	box-shadow: 0 0 15px 5px rgba(51, 51, 51, .0509803922)
}

@media screen and (max-width: 750px) {
	body.user-account .main .option {
		display: block;
		padding: 1em .5em;
		margin-bottom: 0;
		height: 100%
	}
}

body.user-account .main .option img {
	width: 30px
}

@media screen and (max-width: 750px) {
	body.user-account .main .option img {
		margin: 0 auto
	}
}

body.user-account .main .option h4 {
	font-size: 1.3rem
}

@media screen and (max-width: 750px) {
	body.user-account .main .option h4 {
		font-size: 1.15rem;
		text-align: center;
		margin-top: 1em
	}
}

body.user-account .main .option span {
	padding: .5em 1.5em;
	display: block
}

@media screen and (max-width: 750px) {
	body.user-account .main .option span {
		display: none
	}
}

body.user-account .main .option__highlighted {
	background-color: #0cd59e;
	border-color: #0cd59e
}

@media screen and (max-width: 750px) {
	body.user-account .main .option__highlighted {
		display: flex;
		padding: 2em;
		gap: 2em
	}
}

@media screen and (max-width: 750px) {
	body.user-account .main .option__highlighted h4 {
		margin-top: 0;
		text-align: left
	}
}

body.user-account .main .option__highlighted span.btn-blue {
	background-color: #1b23b0;
	color: #fff;
	border-radius: 1.5em
}

body.user-account .main .option:hover {
	border: 2px solid #0cd59e
}

body.user-account .main .option:hover span.underline-on-hover {
	text-decoration: underline
}

body.user-account .header-card {
	margin-top: 1rem
}

body.user-account .header-card h2 {
	text-align: center;
	color: #fff;
	font-size: 2.5rem;
	margin-top: .5em
}

@media screen and (max-width: 750px) {
	body.user-account .header-card h2 {
		font-size: 1.8rem;
		font-weight: normal;
		margin-top: 1em
	}
}

body.user-account .header-card__content {
	background: #fff;
	border-radius: .5em;
	max-width: 600px;
	margin: 1em auto;
	padding: 1em 2em
}

@media screen and (max-width: 750px) {
	body.user-account .header-card__content {
		padding: 1em
	}
}

body.user-account .header-card__localization {
	padding: 2em 3em
}

@media screen and (max-width: 750px) {
	body.user-account .header-card__localization {
		padding: 1em
	}
}

body.user-account .header-card__localization .text-small {
	font-size: .85rem
}

body.user-account .header-card__grid {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	row-gap: .5em
}

@media screen and (max-width: 750px) {
	body.user-account .header-card__grid {
		grid-template-columns: repeat(3, auto)
	}
}

body.user-account .header-card__grid hr {
	grid-column: 1/span 3;
	width: 100%
}

body.user-account .header-card__header {
	color: #1b23b0;
	font-size: .9em;
	font-weight: bold
}

body.user-account .header-card__data {
	font-size: .8em;
	font-weight: 500
}

body.user-account .localization-form {
	max-width: 350px;
	margin: 0 auto
}

body.user-account #anonymous-switch-svg {
	position: relative;
	cursor: pointer;
	width: 30px
}

body.user-account #anonymous-switch-svg rect {
	fill: #9ca1dc
}

body.user-account #anonymous-switch-svg circle {
	transition: all .3s;
	cx: 8px;
	fill: #cccdd9;
	stroke: #9ca1dc;
	filter: drop-shadow(0 0 1px rgba(51, 51, 51, 0.6666666667))
}

body.user-account #anonymous-switch-svg.active rect {
	fill: #23a186
}

body.user-account #anonymous-switch-svg.active circle {
	cx: 23px;
	fill: #0cd59e;
	stroke: #23a186
}

body.user-account .mobile-sketch {
	max-width: 250px;
	margin: 1em auto
}

body.user-account .hidden-if-anonymous {
	overflow: hidden;
	transition: all .3s
}

body.user-account .hidden-if-anonymous input[type=text] {
	width: 100%;
	border: none;
	border-bottom: 2px solid #67698e;
	margin-top: .5em;
	padding: .5em .5em .5em 0
}

@media screen and (max-width: 750px) {
	body.contact h2 {
		text-align: center;
		font-size: 2.2rem
	}
}

body.contact .sidebar-contact h3 {
	font-size: 1.3rem
}

body.contact .sidebar-contact button {
	margin-inline: 0
}

@media screen and (max-width: 750px) {
	body.contact .sidebar-contact button {
		margin-top: 1em;
		margin-bottom: 0
	}
}

#contact-form {
	background-color: #fff;
	padding: 2em;
	border-radius: .5em
}

#contact-form #subject {
	padding-left: 0
}

#contact-form textarea {
	height: 125px
}

#contact-form-call {
	margin-bottom: 0
}

#contact-form-call #select-hour {
	border: none;
	justify-content: space-between
}

#contact-form .phone-choice-wrapper, #contact-form-call .phone-choice-wrapper {
	border-bottom-width: 1px;
	padding-bottom: .35em
}

#contact-form label + div img, #contact-form-call label + div img {
	width: 15px
}

@media screen and (max-width: 750px) {
	#contact-form label, #contact-form-call label {
		margin-top: 1rem
	}
}

@media screen and (max-width: 750px) {
	#contact-form .flex-block-phone.mrtop-2, #contact-form-call .flex-block-phone.mrtop-2 {
		margin-top: 0
	}
}

@media screen and (max-width: 750px) {
	#modal-rate {
		min-height: 100vh
	}
}

#rate-form {
	min-width: 300px
}

@media screen and (max-width: 750px) {
	#rate-form {
		min-width: 0
	}
}

#rate-form textarea {
	height: 65px
}

@media screen and (max-width: 750px) {
	#rate-form #rateWrapper {
		justify-content: space-between
	}
}

body.connexion h2 {
	text-align: center;
	color: #fff;
	margin: 2em auto -0.5em auto;
	padding: .75em 1em 1.25em 1em;
	background: linear-gradient(to right, #1B23B0, #9ca1dc);
	max-width: 800px;
	box-sizing: border-box;
	border-radius: .5rem;
	font-size: 2em;
	font-weight: 400
}

@media screen and (max-width: 750px) {
	body.connexion h2 {
		font-size: 1.5rem
	}
}

@media screen and (max-width: 750px) {
	body.connexion h2.extra-padding-on-phone {
		padding-left: 2em;
		padding-right: 2em
	}
}

body.connexion .center-card {
	margin-top: 0
}

@media screen and (max-width: 750px) {
	body.connexion .btn-main {
		padding-left: 1em;
		padding-right: 1em
	}
}

body.tunnel-phone-found {
	background: url("/img/bg-dark.webp") no-repeat top center/100vw 100%;
	color: #fff;
	padding: 0;
	margin: 0;
	max-width: none
}

body.tunnel-phone-found .content-wrapper {
	margin: 7em auto 0;
	width: fit-content
}

@media screen and (max-width: 750px) {
	body.tunnel-phone-found .content-wrapper {
		margin-top: 5em
	}
}

body.tunnel-phone-found h2 {
	font-size: 3em
}

@media screen and (max-width: 750px) {
	body.tunnel-phone-found h2 {
		font-size: 2em;
		text-align: center
	}
}

body.tunnel-phone-found .position-found {
	border: 1px solid #fff;
	border-radius: 1.5em;
	padding: .5em 2.5em;
	width: fit-content;
	margin: 2em auto;
	font-weight: 500;
	position: relative
}

body.tunnel-phone-found .position-found img {
	position: absolute;
	top: -15%;
	left: -1em
}

body.tunnel-phone-found .position-result {
	margin-top: 5em;
	box-shadow: 0 0 0 .5em #9ca1dc;
	border-radius: .5em;
	background-color: #fff;
	color: #383a85;
	padding: .5em 1em 1em 1em
}

@media screen and (max-width: 750px) {
	body.tunnel-phone-found .position-result {
		width: 100vw;
		border-radius: 0
	}
}

body.tunnel-phone-found .position-result-item {
	margin-inline: 1em;
	padding-block: .5em
}

body.tunnel-phone-found .position-result-item:not(:first-child) {
	border-top: 1px solid #cccdd9
}

body.tunnel-phone-found .data-locked {
	background-color: #e2e4f4;
	font-size: .9em;
	padding: .5em 1em;
	border-radius: 1em
}

body.tunnel-phone-found .data-locked img {
	width: .75em
}

body.tunnel-phone-found .found-main-image {
	max-width: 450px;
	margin-top: 5em
}

@media screen and (max-width: 750px) {
	body.tunnel-phone-found .found-main-image {
		max-width: 100%;
		margin-top: 3em
	}
}

@keyframes heartbeat {
	0%, 100% {
		transform: scale(1) rotate(0deg)
	}
	25% {
		transform: rotate(-10deg)
	}
	50% {
		transform: scale(1.15) rotate(10deg)
	}
	75% {
		transform: scale(1) rotate(-10deg)
	}
}

@keyframes background-fill {
	50%, 100% {
		background-size: 110% 550px
	}
}

.animate-heartbeat {
	animation: heartbeat 1s ease-in-out 1s infinite
}

.animate-main-button-background {
	border-radius: 2em;
	background: url("/img/important-btn-circle.svg") no-repeat center center, #e2e4f4;
	background-size: 0 0;
	animation: background-fill 3.1416s ease-in-out 0s infinite
}

/*# sourceMappingURL=styles.css.map */
