@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Michroma&family=Roboto:wght@300;400;700&display=swap');

:root {
	--roboto: "Roboto", sans-serif; /* light : 300, regular : 400, bold : 700 */
	--michro: "Michroma", sans-serif; /* regular : 400 */
	--bleu: #416478;
	--LH: 22pt;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: auto;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	font-family: var(--roboto);
	font-size: 12pt;
	line-height: var(--LH);
	font-weight: 300;
}

/*
 * GLOBAL
 */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--michro);
	font-weight: 400;
	padding: 0;
	margin: 0;
	margin-bottom: 40px !important;
}

main h1, main h2 {
	font-size: 18pt;
	line-height: 38pt;
	/*color: var(--bleu);*/
}

.bordered {
	border-left: 3px solid var(--bleu);
	padding-left: 20px;
}

main p + h2 {
	margin-top: 40px;
}

main p, footer p, main ul li {
	line-height: var(--LH);
}

main p, main ul {
	margin: 0;
}

main ul {
	padding: 0;
	list-style: none;
}

.classic li::before {
	content: 'double_arrow';
	font-family: 'Material Icons';
	color: var(--bleu);
	margin-right: 10px;
	vertical-align: middle;
}

.pictos {
	background: rgba(0, 0, 0, .1);
	padding: 20px;
}

.pictos li {
	line-height: 30pt;
}

.pictos li span {
	vertical-align: text-bottom;
	color: var(--bleu);
	margin-right: 10px;
}

p + ul, ul + p, ul + h2 {
	margin-top: 40px;
}

main p strong, ul li strong, footer strong {
	font-weight: 700;
	color: var(--bleu);
}

footer strong {
	color: #FFF;
}

main p a, main ul li a, label a {
	color: var(--bleu);
}

.black p a {
	color: #FFF;
}

main p a:hover, main ul li a:hover, main p a:focus, main ul li a:focus, label a:hover, label a:focus {
	color: #000;
}

.black p a:hover, .black p a:focus, .black p a:hover strong, .black p a:focus strong {
	color: var(--bleu);
}

.content {
	width: 100%;
	padding: 40px;
	position: relative;
}

.cta {
	display: flex;
	width: auto;
	max-width: 220px;
	height: 50px;
	padding-left: 20px;
	padding-right: 20px;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all .4s ease;
}

p + .cta {
	margin-top: 40px;
}

.cta.center {
	margin: auto;
	margin-top: 40px;
}

.gray {
	background: rgba(0, 0, 0, .1);
}

.blue {
	background: var(--bleu);
}

.blue .cta, .black .cta {
	border: 1px solid #FFF;
	color: #FFF;
}

.blue .cta:hover, .blue .cta:focus, .black .cta:hover, .black .cta:focus {
	background: #FFF;
	color: #000;
}

.blue .cta:hover, .blue .cta:focus {
	color: var(--bleu);
}

.gray .cta {
	background: #000;
	color: #FFF;
}

.gray .cta:hover, .gray .cta:focus {
	background: var(--bleu);
}

.black {
	background: #000;
}

.black h2, .black p, .black strong, .blue h2, .blue p, .blue p strong {
	color: #FFF;
}

.black p {
	font-weight: 300;
}

.center {
	text-align: center;
}

.wrapper {
	display: flex;
	justify-content: center;
	gap: 40px;
	align-items: flex-start;
	flex-wrap: wrap;
}

/*
 * WHATSAPP
 */
/*.css-1e4o0x8 {
	position: fixed !important;
	bottom: 40px !important;
	width: 60px !important;
	height: 60px !important;
	border-radius: 50% !important;
	right: 40px !important;
	left: auto !important;
	z-index: 500 !important;
}

.css-k1n0i3 {
	display: none;
}*/

/*
 * HEADER + TOP BAR
 */
header {
	height: 100vh;
}

#topBar {
	width: 100%;
	height: 100px;
	background: #000;/*linear-gradient(45deg, #000, var(--bleu));*/
	position: relative;
	z-index: 1000;
}

#topBar .content {
	padding: 0;
	padding-left: 10px;
	padding-right: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#topBar .content > a:first-child {
	border: 0;
	text-decoration: none;
	width: 280px;
	display: flex;
	align-items: center;
	height: 100px;
	justify-content: center;
	gap: 5px;
	flex-direction: column;
}

#topBar .logo {
	padding-left: 80px;
	background: url("images/logo_header.webp") left no-repeat;
	background-size: 80px 80px;
}

#topBar .logo span {
	display: block;
	margin: 0;
	color: #FFF;
}

#topBar .logo span:first-of-type {
	font-family: var(--michro);
	font-size: 9pt;
	line-height: 15pt;
}

#topBar .logo span:last-of-type {
	letter-spacing: 1px;
	font-size: 9pt;
	line-height: 14pt;
	font-weight: 300;
}

#boutonMenu, #close {
	color: #FFF;
	cursor: pointer;
	width: 40px;
	height: 40px;
	font-size: 20pt;
	display: flex;
	align-items: center;
	justify-content: center;
}
/*
 * MENU MOBILE
 */
#close {
	position: absolute;
	top: 29px;
	right: 23px;
	justify-content: flex-end;
}

nav {
	width: 80%;
	max-width: 400px;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 2000;
	background: rgba(0, 0, 0, .92);
	backdrop-filter: blur(4px);
	display: none;
}

nav ul {
	margin: 0;
	margin-top: 100px;
	padding: 0;
	list-style: none;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-left: 50px;
	justify-content: flex-start;
	overflow-y: auto;
}

nav ul li {
	width: 100%;
	height: 100px;
}

nav ul li a {
	height: 100%;
	display: flex;
	align-items: center;
	padding-left: 40px;
	text-decoration: none;
	color: #FFF;
	font-weight: 300;
	border-left: 3px solid rgba(255, 255, 255, .15);
	transition: all .4s ease;
}

nav ul li a:hover, nav ul li a:focus, nav ul li a.actif {
	border-color: var(--bleu);
}

/*
 * BACKGROUND
 */
#background {
	width: 100%;
	height: 100vh;
	position: relative;
	top: -100px;
	left: 0;
	z-index: 1;
}

#background .content {
	display: flex;
	padding-top: 100px;
	height: 100%;
	flex-direction: column;
	justify-content: center;
}

#background h1 {
	color: #FFF;
	font-size: 24pt;
	line-height: 44pt;
	width: 100%;
	max-width: 500px;
	text-shadow: 0 2px 3px rgba(0, 0, 0, .4);
}

#background .cta {
	color: #000;
	background: #FFF;
	/*border: 1px solid #000;*/
}

#background .cta:hover, #background .cta:focus {
	background: #000;
	color: #FFF;
}

#background.accueil {
	background: url("images/van_port3.webp") bottom no-repeat;
	background-size: cover;
	background-position: 70%;
	/*background-position: -1050px; MOBILE */
}

#background.accueil::before, #background.services::before, #background.resa::before, #background.legal::before {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .2);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#background.services {
	background: url("images/services_van.webp") center no-repeat;
	background-size: cover;
}

#background.gamme {
	background: url("images/gamme-vehicules.webp") center no-repeat;
	background-size: cover;
}

#background.resa {
	background: url("images/reservation.webp") center no-repeat;
	background-size: cover;
}

#background.alpes {
	background: url("images/alpes-stations-ski.webp") bottom no-repeat;
	background-size: cover;
}

#background.contact {
	background: url("images/contact.webp") center no-repeat;
	background-size: cover;
}

#background.erreur {
	background: url("images/route.webp") bottom no-repeat;
	background-size: cover;
}

#background.legal {
	background: url("images/legal.webp") bottom no-repeat;
	background-size: cover;
}

#background.parallax, .parallax {
	background-attachment: fixed;
}

/*
 * MAIN
 */
.valeur {
	width: 100%;
	max-width: 370px;
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.valeur span {
	color: var(--bleu);
	font-size: 30px;
	width: 50px;
}

.valeur h3 {
	color: #FFF;
	font-size: 14pt;
	line-height: 26pt;
	margin-bottom: 20px !important;
}

/*
 * ILLUSTRATIONS
 */
.wrapper.illustration {
	width: 100%;
	padding-bottom: 40px;
}

.wrapper.illustration .image {
	width: 100%;
	height: 500px;
	display: flex;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	position: relative;
}

.wrapper.illustration .image img {
	height: 100%;
	width: auto;
}

.wrapper.illustration .text {
	width: 100%;
	padding-left: 40px;
	padding-right: 40px;
}

.wrapper.illustration.voitures .image {
	height: auto;
}

.wrapper.illustration.voitures img {
	width: 100%;
	height: auto;
}

.ctas {
	display: flex;
	gap: 40px;
	justify-content: center;
}

.wrapper.illustration .text .ctas {
	margin-top: 40px;
}

.wrapper.illustration .text .ctas .cta {
	background: #000;
	color: #FFF;
}

.wrapper.illustration .text .ctas .cta:hover, .wrapper.illustration .text .ctas .cta:focus {
	background: var(--bleu);
}

/*
 * SERVICES
 */
.wrapper.services {
	justify-content: center;
}

.service {
	width: 100%;
	max-width: 370px;
	transition: all .4s ease;
}

.service .thumb {
	width: 100%;
	height: 200px;
	background: rgba(0, 0, 0, .1);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 20px;
}

.service .thumb img {
	height: auto;
	width: 100%;
	min-height: 100%;
}

.service h2 {
	color: var(--bleu);
	font-size: 14pt;
	line-height: 26pt;
	text-align: center;
	margin-bottom: 20px;
	padding-left: 20px;
	padding-right: 20px;
}

.service p {
	text-align: center;
	padding: 20px;
	padding-top: 0;
}

.service:hover, .service:focus {
	background: rgba(0, 0, 0, .1);
}

/*
 * CONTACT & RÉSERVATION (FORMULAIRES)
 */
form {
	display: flex;
	gap: 25px;
	width: 100%;
	flex-wrap: wrap;
	margin: auto;
	margin-top: 20px;
}

form * {
	outline: 0;
}

input:not([type="checkbox"]), textarea, select {
	width: 100%;
	height: 50px;
	font-family: var(--roboto);
	font-size: 11pt;
	font-weight: 300;
	color: #000;
	border: 0;
	border-bottom: 3px solid rgba(0, 0, 0, .1);
	transition: all .4s ease;
}

textarea {
	height: 160px;
}

select, input[type="date"] {
	cursor: pointer;
}

select option {
	font-weight: 300;
}

input:not([type="checkbox"]):hover, textarea:hover, input:not([type="checkbox"]):focus, textarea:focus, select:hover, select:focus {
	border-color: var(--bleu);
}

#boutonForm {
	width: 100%;
	text-align: center;
}

#boutonForm strong {
	color: var(--bleu);
}

label {
	width: 100%;
	line-height: var(--LH);
}

input[type="submit"] {
	margin: auto;
	cursor: pointer;
	width: 160px;
	background: #000;
	color: #FFF;
	font-size: 12pt;
}

input[type="submit"]:hover, input[type="submit"]:focus {
	background: var(--bleu);
}

/*
 * FOOTER
 */
footer {
	background: #000;
	color: #FFF;
}

footer p, footer a {
	color: #FFF;
	line-height: var(--LH);
	margin: 0;
	font-weight: 300;
}

footer a {
	text-decoration: none;
	line-height: 30pt !important;
}

footer a:hover, footer a:focus {
	color: var(--bleu);
	text-decoration: underline;
}

footer .content {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: space-between;
}

footer .bloc:first-of-type {
	width: 100%;
	max-width: none;
	text-align: center;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, .2);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

footer .logo {
	width: 100px;
	height: 100px;
	margin: auto;
	display: block;
	background: url("images/logo_footer.webp") center no-repeat;
}

footer .bloc:first-of-type span {
	display: block;
	font-family: var(--roboto);
	font-size: 9pt;
	letter-spacing: 1px;
	line-height: 14pt;
	font-weight: 300;
}

footer .bloc:first-of-type > span:first-of-type {
	font-family: var(--michro);
	font-size: 10pt;
	line-height: 15pt;
}

footer .bloc:first-of-type > span:last-of-type {
	margin-top: 15px;
}

footer .bloc {
	width: 100%;
	max-width: 365px;
}

footer h3 {
	/*color: var(--bleu);*/
	color: #FFF;
	font-size: 14pt;
	margin-bottom: 40px;
}

footer .content > p:last-child {
	width: 100%;
	padding-top: 40px;
	border-top: 1px solid rgba(255, 255, 255, .2);
	text-align: center;
	padding-bottom: 60px;
}

/*
 * VERSION PC
 */
@media screen and (min-width: 1200px) {
	.content {
		width: 1200px;
		margin: auto;
		padding-left: 0;
		padding-right: 0;
	}
	
	header {
		height: 650px;
	}
	
	#background {
		height: 650px;
	}
	
	#background.accueil {
		background-position: 80% bottom;
	}
	
	#background h1 {
		font-size: 30pt;
		line-height: 50pt;
	}
	
	#topBar .content {
		padding-left: 0;
		padding-right: 0;
	}
	
	#boutonMenu, #close {
		display: none;
	}
	
	nav {
		width: calc(100% - 280px);
		max-width: none;
		height: 100%;
		position: relative;
		top: auto;
		right: auto;
		background: #000;
		backdrop-filter: none;
		display: block;
	}
	
	nav ul {
		width: 100%;
		height: 100%;
		margin: 0;
		flex-wrap: nowrap;
		justify-content: flex-end;
		overflow-y: inherit;
	}
	
	nav ul li {
		height: 100%;
		width: auto;
	}
	
	nav ul li a {
		height: 100%;
		justify-content: center;
		padding-right: 40px;
		padding-bottom: 10px;
		border-bottom: 3px solid rgba(255, 255, 255, .15);
		border-left: none;
	}
	
	/*
	 * ILLUSTRATIONS
	 */
	.wrapper.illustration {
		width: 100%;
		justify-content: flex-start;
		align-items: center;
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.wrapper.illustration .image {
		--w: calc(560px + ((100% - 1200px) / 2));
		max-width: var(--w);
		left: -1px !important;
	}

	.wrapper.illustration .text {
		max-width: 600px;
		padding: 0;
	}
	
	.wrapper.illustration:nth-of-type(odd) {
		justify-content: flex-end;
	}
	
	.wrapper.illustration:nth-of-type(odd) .image {
		order: 2;
		left: auto;
	}
	
	.wrapper.illustration img {
		width: 100% !important;
		height: auto !important;
	}

	.wrapper.illustration:nth-of-type(odd) .text {
		order: 1;
	}
	
	.ctas {
		justify-content: flex-start;
	}
	
	/*
	 * CONTACT & RÉSERVATIONS (FORMULAIRES)
	 */
	form {
		max-width: 625px;
	}
	
	input, select {
		max-width: 300px;
	}
	
	/*
	 * FOOTER
	 */
	footer .content > p:last-child {
		font-size: 10pt;
		padding-bottom: 0;
	}
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
	#topBar .logo {
		background: url("images/logo_header_2x.webp") left no-repeat;
		background-size: 100px 100px;
	}
	
	footer .logo {
		background: url("images/logo_footer_2x.webp") center no-repeat;
		background-size: 100px 100px;
	}
}