@charset "utf-8";
/* CSS Document */

/* ----- UNIVERSEL ----- */
*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	scroll-behavior: smooth;
	
	font-family: "Geologica", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 200; /* 100 - 900 */
  	font-style: normal;
  	font-variation-settings:
    "slnt" 0, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
	transition: all 0.3s ease-in-out;
}	

/* ----- GOOGLE FONT ----- */

.orbitron-light {
  font-family: "Orbitron", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400; /*400-900*/
  font-style: normal; /*italic*/
}

.orbitron-med {
  font-family: "Orbitron", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600; /*400-900*/
  font-style: normal; /*italic*/
}

.orbitron-bold {
  font-family: "Orbitron", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800; /*400-900*/
  font-style: normal; /*italic*/
}

.thin {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 150;
  font-style: normal;
}


/* ----- BODY ----- */
body {
	background-color: rgba(87, 124, 179, 1);
	overflow-x: hidden; 
	min-width: 0; 
}

img, video, iframe, embed {
  max-width: 100%;
}

.content, .grid-4, .grid-3, .grid-2, .wrapper, .wrapper-fix {
  min-width: 0;
}

/* ----- TEXT ----- */

a {
	text-decoration: inherit;
	color: inherit;
	transition: all 0.2s ease;
	font-weight:inherit;
}

h1 ,
.large-txt{
	font-size: 50px;
	gap: 20px;
}

h2 {
	font-weight: 400;
	color: rgba(87, 124, 179, 1); /*- OCEAN -*/
	font-size: 2em;
}


h3 {
	font-weight: 100;
	font-size: 2em;
	
}

article:hover h3 {
	font-weight: 100; /* 100 - 900 */
  	font-style: normal;
  	font-variation-settings:
    "slnt" -12, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
}


p{
	font-weight: 100;
	color: inherit;
	font-size: 1em;
	text-align: justify;
	word-break: keep-all;
	line-height: 2em;
}


.CTAbtn {
	padding: 20px 40px;
	color: white;
	font-weight: 400;
	font-size: 1.5em;
	text-shadow: -2px -2px 10px rgba(147,188,252,1.00) ,1px -1px 20px rgba(87, 124, 179, 0.5), 0 0 30px rgba(87, 124, 179, 0.5); /*- OCEAN -*/ 
	background-color: rgba(176, 207, 255, 1); /*- CIEL -*/
	border-radius: 10px;
	cursor: pointer;
}

.CTAbtn:hover {
	background-color: rgba(161,198,255,1.00); /*- CIEL -*/
	box-shadow: inset 20px 20px 30px -20px  rgba(87, 124, 179, 0.4) ,
    	inset -10px -10px 20px -10px rgba(255,255,255,.40),
		inset -2px -2px 0px 0px rgba(176, 207, 255, 1); /*- CIEL -*/
	font-variation-settings:
    "slnt" -12, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
}

.CTAbtn:active {
	background-color: rgba(139,184,253,1.00); /*- CIEL -*/
	box-shadow: inset 40px 40px 40px -40px  rgba(87, 124, 179, 0.5) ,
    	inset -20px -20px 40px -20px rgba(255,255,255,.40),
		inset -2px -2px 0px 0px rgba(176, 207, 255, 1); /*- CIEL -*/
}

.SUBbtn:hover .text {
	font-variation-settings:
    "slnt" -12, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
}

.SUBbtn {
	padding: 20px 40px;
	font-size: 1.5em;
	color: white;
	font-weight: 400;
	text-shadow:
		1px 1px 20px rgba(0,10,26,0.50),
		0 0 30px rgba(0,10,26,0.50); /*- OCEAN -*/ 
	background-color: rgba(87, 124, 179, 1); /*- OCEAN -*/
	border-radius: 10px;
	cursor: pointer;
}

.SUBbtn:hover {
	font-variation-settings:
    "slnt" -12, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
	background-color: rgba(87, 124, 179, 1); /*- OCEAN -*/
	box-shadow: inset 20px 20px 30px -20px  rgba(0,10,26,0.50) ,
    	inset -10px -10px 20px -10px rgba(255,255,255,0.4),
		inset -2px -2px 0px 0px rgba(87, 124, 179, 1); /*- OCEAN -*/
}

.SUBbtn:active {
	background-color: rgba(71,109,167,1.00); /*- OCEAN -*/
	box-shadow: inset 40px 40px 40px -40px  rgba(0,10,26,0.50) ,
    	inset -20px -20px 40px -20px rgba(255,255,255,0.4),
		inset -2px -2px 0px 0px rgba(71,109,167,1.00); /*- OCEAN -*/
}

input,
textarea {
	padding: 0.5em 1em;
	width: 100%;
	color: black;
	background-color: rgba(176, 207, 255, 1); /*- CIEL -*/
	border-radius: 10px;
	cursor: pointer;
}

input:hover,
textarea:hover {
	background-color: rgba(161,198,255,1.00); /*- CIEL -*/
	box-shadow: inset 20px 20px 30px -20px  rgba(87, 124, 179, 0.4) ,
    	inset -10px -10px 20px -10px rgba(255,255,255,.40),
		inset -2px -2px 0px 0px rgba(176, 207, 255, 1); /*- CIEL -*/
}

input:focus,
textarea:focus{
	background-color: rgba(139,184,253,1.00); /*- CIEL -*/
	box-shadow: inset 40px 40px 40px -40px  rgba(87, 124, 179, 0.5) ,
    	inset -20px -20px 40px -20px rgba(255,255,255,.40),
		inset -2px -2px 0px 0px rgba(176, 207, 255, 1); /*- CIEL -*/
}

button,
input,
textarea {
	border: none;
	outline: none;
	font-size: 1em;
}

label{
	font-weight: 400;
	color: rgba(87, 124, 179, 1); /*- OCEAN -*/
	font-size: 1.2em;
}

input:hover + label,
textarea:hover + label{
	font-variation-settings:
    "slnt" -12, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
}

input:focus + label,
textarea:focus + label{
	font-variation-settings:
    "slnt" -12, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
}




/* ----- GENERAL ----- */


.sable-txt{
	color: rgba(179, 154, 105, 1); /*- SABLE-SOMBRE -*/
}

.creme-txt{
	color: rgba(255, 237, 201, 1); /*-  CREME -*/
}

.papaye-txt{
	color: rgba(255, 229, 176, 1); /*- PAPAYE -*/
}

.ocean-txt{
	color: rgba(87, 124, 179, 1); /*- OCEAN -*/
}

.ciel-txt{
	color: rgba(176, 207, 255, 1); /*- CIEL -*/
}

.blanc-txt{
	color: white; /*- BLANC -*/
}


section {
	/*background-color: white;*/
	width: 100%;
	padding: 60px 0px;
	
}

/*THEME SOMBRE*/
section.dark{ 
	color: white;
	overflow: hidden;
}

/*THEME CLAIRE*/
section.light{
	color: black;
	background-color: white;
	text-shadow: -2px -2px 10px white ,-1px -1px 20px white, 0 0 30px white ;
}


section:first-child{
	margin-top: 40px;
	padding: 0 0;
	margin-bottom: 0;
}

/* WRAPPER FIX */
.round{
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
}

.wrapper-fix {
	overflow: hidden;
	height: 100%;
	width: 100%;
}

.wrapper-L {
	overflow: hidden;
	height: 100%;
	width: 100%;
	border-radius: 0 10px 10px 0;
}


.wrapper-R{
	overflow: hidden;
	height: 100%;
	width: 100%;
	border-radius: 10px 0 0 1px;
}

.wrapper-fix div.img,
.wrapper-R div.img,
.wrapper-L div.img {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	
	height: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
	cursor: pointer;
	transform: scale(1.05)
}

.wrapper-fix:hover div.img,
.wrapper-R:hover div.img,
.wrapper-L:hover div.img{
	transform: scale(1.1);
	filter: blur(2px) brightness(60%);
}


.wrapper {
  position: relative;
  overflow: hidden;
  height: 50vh; /* ou la hauteur que tu veux */
  width: 100%;
}

.wrapper .img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 1.5s ease-in-out , 
	  filter 0.3s ease,
	  transform 0.3s ease;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  z-index: 1;
}

.wrapper .img.active {
  opacity: 1;
  z-index: 2;
}

.wrapper:hover div.img {
	transform: scale(1.1);
	filter: blur(2px) brightness(60%);
}

article {
	/*border: 1px solid blue;*/
	gap: 10px;
	padding: 40px;
}

.grid-4 article img{
	max-width: 100%;
	height: auto;
	padding: 20px
}


.morph{
	border-radius: 10px;
	background-color: rgba(239,234,228,0.0);
}

.morph:hover img {
	transform: scale(0.98);
	filter: brightness(95%);
}

.morph:active img {
	transform: scale(0.96);
	filter: brightness(90%);
}

.morph:hover {
	background-color: rgba(239,234,228,0.30);
	box-shadow: inset 20px 20px 30px -20px  rgba(0, 0, 0, 0.1) ,
    	inset -10px -10px 20px -10px rgba(255,255,255,1.00),
		inset -2px -2px 0px 0px rgba(239,234,228,1.00);
	cursor: pointer;
}

.morph:active {
	background-color: rgba(239,234,228,0.60);
	box-shadow: inset 40px 40px 40px -40px  rgba(0, 0, 0, 0.1) ,
    	inset -20px -20px 40px -20px rgba(255,255,255,1.00),
		inset -2px -2px 0px 0px rgba(239,234,228,1.00);
}


form{
	width: 100%;
	padding-right: 40px;
	gap: 20px;
}

form div {
	width: 100%;
	gap: 10px;
}

.disabled {
	filter: opacity(0.6);
}

.icon {
	height: 40px;
	width: auto;
}


/* ----- ORGANISATEUR ----- */

.separator{
	width: 60%;
	height: 2px;
	background-color: rgba(176, 207, 255, 1); /*- CIEL -*/
}

.separator-L{
	margin: 0 auto;
	width: 80%;
	height: 2px;
	background-color: rgba(176, 207, 255, 1); /*- CIEL -*/
}

.content {
	width: 1400px;
	margin: 0 auto;
	padding: 20px 0;
	gap: 60px;
}

.centered-up-V{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-align: center;
	flex-direction: column;
	flex-wrap: wrap;
}

.centered-mid-V{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	flex-wrap: wrap;
}

.left-up-V{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	flex-direction: column;
	flex-wrap: wrap;
}

.left-mid-V{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	flex-direction: column;
	flex-wrap: wrap;
}

.full-mid-H{
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: inherit;
	flex-direction: row;
	flex-wrap: wrap;
}

.center-down-H{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	text-align: inherit;
	flex-direction: row;
	flex-wrap: wrap;
}

.center-mid-H{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: inherit;
	flex-direction: row;
	flex-wrap: wrap;
}

.center-down-H img,
.center-mid-H img,
.full-mid-H img {
	display: flex;
}

.revers-LV{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	flex-direction: column-reverse;
	flex-wrap: wrap;
}

.revers-RV{
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	text-align: left;
	flex-direction: column-reverse;
	flex-wrap: wrap;
}

.grid-4{
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-auto-rows: auto;
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
	grid-gap: 60px;
	padding: 0 0;
	/*border: 1px solid red;*/
}

.grid-3{
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr 1fr ;
	grid-auto-rows: auto;
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
	padding: 0 0;
	/*border: 1px solid green;*/
}

.grid-3  p{
	text-align: justify;
	padding: 0 30px 0px 30px;
	word-break: keep-all;
	line-height: 2em;
}



.grid-2{
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: auto;
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
	padding: 0 0;
	/*border: 1px solid red;*/
}

.grid-2-L{
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 700px 700px 1fr;
	grid-auto-rows: auto;
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
	padding: 0 0;
	/*border: 1px solid red;*/
}

.span-2-H{
	grid-column: auto / span 2;
	/*border: 1px solid red;*/
}

.span-1-H{
	grid-column: auto / span 1;
	/*border: 1px solid pink;*/
}

.ratio {
	height: auto;
	aspect-ratio: 16 / 8 ;
}

.gap {
	gap: 40px;
}

.margin-V{
	margin: 0 20px;
}

/* ----- NAVIGATION ----- */

nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
	font-size: 20px;
	gap:20px;
	letter-spacing: inherit;
	
	width: 1600px;
	height: 50px;
	color: white;
	
}

#logo {
	height: 70px;
	transition: height 0.2s ease;
}

.header.sticky #logo {
	height: 40px;
}

nav a:hover {
	font-weight: 200; /* 100 - 900 */
  	font-style: normal;
  	font-variation-settings:
    "slnt" -12, /* -12 - 0*/
    "CRSV" 0, /* 0 - 1*/
    "SHRP" 0; /* 0 - 100 */
}

ul {
	list-style: none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 40px;
}

li {
	font-weight: 100;
	text-transform: capitalize;
	padding: 5px 0px;
	box-shadow: 0px 0px 0 0px rgba(255, 229, 176, 0);
	/*border: 1px solid green;*/
}

li:hover {
	box-shadow: 0px 1px 0 0 rgba(255, 229, 176, 1)/*- PAPAYE -*/;
}

li.active {
	font-weight: 300;
	box-shadow: 0px 2px 0 0 rgba(255, 237, 201, 1) /*-  CREME -*/;
}

/* ----- HEADER ----- */

.header {
	display: flex;
	align-items: center;
	justify-content: center;
	
	position: sticky; 
	top: 0; /* def sticky */
	
	height: 50px;
	width: 100%;
	background-color: rgba(87, 124, 179, 1); /* ocean */
	z-index: 10; /* index-max */
	
	margin-top: 10px; /* décalage initiale */
	padding: auto;
	transition: all 0.2s ease-in-out;
}

/* ----- HERO ----- */

.hero .wrapper{
	height: 50vh;
	/*border: 1px solid green;*/
}

/* ----- SECTION X ----- */

/* ----- SECTION Y ----- */

/* ----- SECTION Z ----- */

/* ----- FORMULAIRE ----- */

/* ----- ANIMATION ----- */

/* ----- FOOTER ----- */

footer .content{
  min-height:auto;
}

footer div.grid-3 > div{
	height: 100%;
	width:  100%;
	gap: 20px;
}

footer div.grid-3 > div:nth-of-type(3n+1){
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	text-align: left;
	flex-direction: column;
	flex-wrap: wrap;
}

footer div.grid-3 > div:nth-of-type(3n+2){
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	flex-direction: column;
	flex-wrap: wrap;
}

footer div.grid-3 > div:nth-of-type(3n){
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	text-align:right;
	flex-direction: column;
	flex-wrap: wrap;
}

footer a:hover{
	font-weight: 400;
}



/* ----- BREAK NAV ----- */

@media (max-width: 1600px){
	nav {
		width: 95%;
	}
}

/* ----- TABLETTE ----- */


@media (max-width: 1400px){
	
	/* ----- ORGANISATEUR ----- */

	.content {
		width: 95%;
	}


	.grid-4{
		grid-template-columns: 1fr 1fr;
		/*border: 1px solid red;*/
	}

	.grid-3{
		grid-template-columns: 1fr 1fr 1fr ;
		/*border: 1px solid green;*/
	}

	.grid-2{
		grid-template-columns: 1fr 1fr;
		/*border: 1px solid red;*/
	}

	.grid-2-L{
		grid-template-columns: 1fr 47.5% 47.5% 1fr;
		/*border: 1px solid red;*/
	}

	.span-2-H{
		grid-column: auto / span 2;
		/*border: 1px solid red;*/
	}

	.span-1-H{
		grid-column: auto / span 1;
		/*border: 1px solid pink;*/
	}

	.ratio {
		height: auto;
		aspect-ratio: 16 / 8 ;
	}

	.gap {
		gap: 40px;
	}

	.margin-V{
		margin: 0 20px;
	}
	
	/* ----- NAVIGATION ----- */

	nav {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		flex-wrap: wrap;
		font-size: 1.5em;
		gap:60px;

		width: 100%;
		height: auto;
		padding: 20px;

	}

	#logo {
		height: 100px;
	}

	.header.sticky #logo {
		height: 40px;
	}

	ul {
		width: 95%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 40px;
		padding: 10px;
	}
	
	
	
	/* ----- HEADER ----- */

	.header {
		display: flex;
		align-items: center;
		justify-content: center;

		position: sticky; 
		top: -100px; /* def sticky */

		height: 160px;
		width: 100%;

		margin-top: 60px; /* décalage initiale */
	}
	
	
	
}




/* ----- TELEPHONE ----- */

@media (max-width: 900px){
	
	/* ----- ORGANISATEUR ----- */

	.content {
		width: 95%;
	}


	.grid-4{
		width: 80%;
		grid-template-columns: 1fr;
		/*border: 1px solid red;*/
	}

	.grid-3{
		grid-template-columns: 1fr ;
		grid-gap: 20px;
		/*border: 1px solid green;*/
	}

	.grid-2{
		grid-template-columns: 1fr;
		/*border: 1px solid red;*/
	}

	.grid-2-L{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
		margin:  0 0 0 20px;
		gap:40px;
		/*border: 1px solid red;*/
	}

	.span-2-H{
		grid-column: auto / span 1;
		/*border: 1px solid red;*/
	}

	.span-1-H{
		grid-column: auto / span 1;
		/*border: 1px solid pink;*/
	}

	.ratio {
		height: auto;
		aspect-ratio: 16 / 8 ;
	}

	.gap {
		gap: 40px;
	}

	.margin-V{
		margin: 0 20px;
	}
	
	iframe {
		min-height: 600px;
	}
	/* ----- NAVIGATION ----- */
	
	.header {
		position: sticky;
		top: 0;
		transition: top 0.3s ease-in-out;
		height: auto;
	}

	.header.scroll-down {
		top: -400px; /* descend à mi-hauteur */
	}

	.header.scroll-up {
		top: -200px;
	}
	
	
	ul {
		width: 95%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 40px;
		padding: 10px;
	}
	
	#logo {
		height: 150px;
	}

	.header.sticky #logo {
		height: 150px;
	}
	
	
	/* ----- FOOTER ----- */

	footer div.grid-3 > div{
		gap: 20px;
		padding: 20px 0;
		height: auto;
		width:  100%;
	}

	footer div.grid-3 > div:nth-of-type(3n+1){
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: center;
		flex-direction: column;
		flex-wrap: wrap;
	}

	footer div.grid-3 > div:nth-of-type(3n+2){
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: center;
		flex-direction: column;
		flex-wrap: wrap;
	}

	footer div.grid-3 > div:nth-of-type(3n){
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: center;
		flex-direction: column;
		flex-wrap: wrap;
	}

	footer a:hover{
		font-weight: 400;
	}

}















