/*
Theme Name: So DIVI Child
Template: Divi
Version: 1.0
Description: Divi-So_childtheme
Author: Sophie Coutou
Author URI: https://www.so-portfolio.fr/
*/


/**************************************************************/
/*************************** CSS RESET ************************/
/**************************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	overflow-x: hidden;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/******************************/
/********** FONTS *****/
/******************************/
@font-face {
    font-family: 'roseberry';
    src: url('assets/fonts/roseberry.woff2') format('woff2'),
         url('assets/fonts/roseberry.woff') format('woff');
    font-weight: 400;
    font-style: normal;

}
/******************************/
/********** Variables CSS *****/
/******************************/
:root {
	--bleufonce: #2f2b5c;
	--bleu: #2E94CB;
	--bleuclair: #EAF7FE;
	--white: #FFFFFF;
	--black :#000;
	--roseberry:'roseberry';
	--poppins:'Poppins', sans-serif;
	--tilt:'Tilt Warp', cursive;
	--lora:'Lora', serif;

}
/****************************************************************/
/*************************** DIVI INIT **************************/
/****************************************************************/

html {
  font-size: 62.5%;
  margin: 0;
  padding: 0;
  width: 100%;
}
body {
    margin: 0;
    padding: 0;
    width: 100%;
	font-size: 1.7rem!important;
	font-family: var(--poppins)!important;
	color: var(--bleufonce)!important;
	background-color: var(--bleuclair)!important;
}
*,*::before,*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
#main-content .container:before {
    display: none;
}
#main-content {
	overflow: hidden;
	background-color: transparent;
}
#page-container{
	padding-top: 0!important;
}
/******************************/
/********** GENERAL *****/
/******************************/
h1,h2, h3, h4, h5, h6 {
	margin: 1rem 0;
	color: var(--bleufonce);
}
h4, h6 {
	font-family: var(--poppins)!important;
}
h2 {
	font-family: var(--lora)!important;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-color: var(--bleu);
}
h3, h5,.cmplz-document h2{
	font-family: var(--poppins)!important;
}
h1, h5, h6{
	text-transform: uppercase;
}
h1 {
	font-family: var(--poppins)!important;
	font-weight: 400;
	font-size:7rem!important;
    line-height: 72px;
    color: var(--white);
    text-align: center;
    margin: auto;
}
h1 span{
    position: relative;
    display: inline-block;
}
h1 span:last-child::after {
	content: '';
	display: block;
    width: 100%;
    height: 3px;
	background: var(--bleu);
	position: absolute;
	top: 100%;
	left: 0;
}
h2{
	font-size: 3.5rem!important;
    font-weight: 400;
	line-height:38px;
	position: relative;
	z-index: 10;
}

.cmplz-document h2:after{
	display: none;
}
.cmplz-document h2{
	margin: 3rem 0!important;
}
h3, .cmplz-document h2{
	font-size: 2rem!important;
	font-weight: 500;
	line-height: 25px;
}
h4 {
	font-size: 2.2rem!important;
	line-height: 24px;
}
h5 {
	font-size: 2rem!important;
	line-height: 22px;
	font-weight: 500;
}
h6{
	font-size: 2rem!important;
	line-height: 20px;
	font-weight: 400;
}
strong {
	font-weight: 500;
}
p {
	line-height: 25px;
    font-size: 1.7rem;
}
em {
    font-style: italic;
}
#et-main-area .et_pb_text ul li{
	list-style-type: none;
	position: relative;
	padding: 15px 25px;
	line-height: 21px;
}
#et-main-area .et_pb_text ul li:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 18px;
	width: 15px;
	height: 20px;
	border-radius: 50%;
	background-image: url('assets/images/puce');
	background-size: contain;
	background-repeat: no-repeat;
}
#et-main-area .bleu .et_pb_text ul li:before {
	background-image: url('assets/images/puce-clair');
}
/* Class DIVI */
.et_pb_section, .et_pb_row {
	padding: 20px 0!important;
	background-color: transparent;
}
.container, .et_pb_row {
    width: 70%!important;
    max-width: 70%;
    margin: auto;
}
a.et_pb_button {
	padding: 5px 30px!important;
	text-transform: uppercase;
	font-family: var(--poppins);
	font-size: 2rem;
	font-weight: 400;
	background: transparent;
	color: var(--bleufonce);
	text-align: center;
	border: 1px solid var(--bleu)!important;
	border-radius: 0!important;
}
a.et_pb_button:hover {
	padding: 5px 35px!important;
	color: var(--bleuclair);
	text-align: center;
	border: 1px solid var(--bleufonce)!important;
	background: var(--bleufonce)!important;
	border-radius: 0!important;
}
.et_pb_button:after {
	display: none;
}
.et_pb_blurb_content {
    max-width: 750px;
}
.et_pb_text a, p a {
	color: var(--bleu);
	text-decoration: underline dotted;
}
.bleu .et_pb_text a,.bleu p a {
	color: var(--bleu);
	text-decoration: underline dotted;
}
.et_pb_promo .et_pb_text a,.et_pb_promo p a {
	border-bottom: none!important;
}
.et_pb_sum {
	font-weight: 400;
}
.et_pb_pricing_table {
	padding-bottom: 0!important;
}
.et_pb_blurb p{
	font-size: 2rem;
    line-height: 24px;
}
.et_pb_scroll_top.et-pb-icon {
	background-color: transparent;
}
.et_pb_scroll_top:before {
    background: transparent;
    color: var(--bleufonce);
    font-family: 'ETmodules';
    content: "\36";
}
/*################################################*/
/*#######///// ELEMENTS SPECIFIQUES /////#########*/
/*################################################*/
/* Lignes spéciales flex */
.FlexContainer {
	display: flex!important;
	flex-flow: row wrap;
}
.ContainerFlex {
	display: flex;
	flex-flow: column;
}
.center-row, .center-row .et_pb_row {
	display: flex!important;
	flex-flow: row wrap;
	align-items: center;
}
.center-column {
	display: flex!important;
	flex-flow: column;
	align-items: center;
	justify-content: center;
}
.align-center-row {
	align-items: center;
}
.justify-center-row {
	justify-content: center;
}
.align-end-row {
	align-items: flex-end;
}
.justify-end-row {
	justify-content: end;
}
.justify-between-row {
	justify-content: space-between;
}
.justify-around-row {
	justify-content: space-around;
}
/* centre le texte dans le container*/
.center-text .et_pb_text_inner {
	text-align: center;
}
/* enlève la marge interne*/
.et_pb_section.no-padding , .no-padding {
	padding: 0!important;
}
/* enlève la marge externe*/
.no-margin {
	margin: 0!important;
}
/* bouton non cliquable */
.no-click {
	pointer-events: none;
	cursor: none;
}
/* sections en fullwidth */
.fullwidth, .et_section_specialty.fullwidth .et_pb_row{
	width: 100%!important;
	max-width: 100%;
}
/* CTA */
.et_pb_promo {
	background-color: var(--bleu);
	color: var(--bleuclair);
	width: 90%;
    padding: 45px 20px!important;
    transition: .2s ease;
}
.et_pb_promo p {
	font-size: 1.5rem!important;
	line-height: 20px;
}
.et_pb_promo h6 {
	margin: 2rem 0!important;
}
.et_pb_promo h6,.et_pb_promo .et_pb_button,.et_pb_promo a,.et_pb_promo p {
	color: var(--bleuclair)!important;
}
.et_pb_promo:hover {
	background-color: var(--bleufonce)!important;
}
.et_pb_promo:hover h6,.et_pb_promo:hover .et_pb_button,.et_pb_promo:hover a,.et_pb_promo:hover p {
	color: var(--bleuclair)!important;
}
.bleu .et_pb_promo:hover, .bleu .et_pb_promo:hover .et_pb_button {
	background-color: var(--bleuclair)!important;
	color: var(--bleufonce)!important;
}
.bleu .et_pb_promo:hover h6,.bleu .et_pb_promo:hover .et_pb_button,.bleu .et_pb_promo:hover a,.bleu .et_pb_promo:hover p {
	color: var(--bleufonce)!important;
}
/* couleur de texte sur fond bleu foncé */
.bleu{
	background-color: var(--bleufonce);
}
.bleu h2, .bleu .et_pb_text p, .bleu h3, .bleu h4,.bleu h5,.bleu h6, .bleu .et_pb_button {
	color: var(--bleuclair);
}
.bleu .et_pb_button:hover {
	border:1px solid var(--bleuclair)!important;
}
.bleu h2:after {
	background: var(--bleu);
}

/* images REMONTE */
.top {
	margin-top: -30%;
}

/* icones */
.icone {
	height: 105px;
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
}
.icone span {
	flex: 1;
}
.icone img{
	max-width: 105px!important;
	max-height: 105px!important;
	margin: 0 auto!important;
}
/*###################################*/
/*#######///// HEADER /////#########*/
/*###################################*/
/* Menu */

#main-header {
	background-color: var(--bleufonce);
	-webkit-box-shadow: none!important;
    box-shadow: none!important;
    height: 90px;
    opacity: 0;
}
#main-header.et-fixed-header {
	-webkit-box-shadow: none!important;
    box-shadow: none!important;
}
#main-header .et_menu_container,#main-header #et-top-navigation,#main-header #top-menu-nav,#main-header #top-menu{
	height: 100%!important;
}
#main-header a{
	font-family: var(--poppins);
	font-size: 1.7rem;
	color: var(--white);
	font-weight: 400;
}
#main-header a:before {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	height: 1px;
	width: 0;
	background-color: var(--bleu);
	transition: .2s ease-in;
}
#main-header .logo_container a:before{
	display: none!important;
}
#top-menu-nav>ul>li>a:hover {
	opacity: 1;
	color: var(--bleuclair);
}
#top-menu-nav>ul>li>a:hover:before{
	width: 100%;
}
#top-menu{
	display: flex;
	flex-flow: row;
	align-items: flex-start;
	justify-content: space-between;
	padding: 20px 0;
	transition: .2s ease-in;
}
#main-header.et-fixed-header #top-menu{
	padding: 15px 0;
	align-items: center;
}
.et_header_style_split #top-menu-nav {
    display: block;
}
.et_header_style_split #et-top-navigation, .et_header_style_split .et-fixed-header #et-top-navigation {
    padding-top: 0;
}
.et_header_style_split #et-top-navigation nav>ul>li>a {
    padding: 10px!important;
}
.et_header_style_split #main-header .centered-inline-logo-wrap{
	width: 200px!important;
	height: 200px!important;
	margin: -20px 40px 0;
    padding: 10px!important;
    position: relative;
}
.et_header_style_split #main-header .centered-inline-logo-wrap .logo_container{
	position: absolute;
	top: 0;
	left: 0;
    height: 100%;
    width: 100%!important;
    transition: .2s ease;
}
.et_header_style_split #main-header.et-fixed-header .centered-inline-logo-wrap .logo_container{
	top: 50px;
}
#logo {
	opacity: 0;
    height: 90%!important;
    max-height: 90%!important;
    width: 100%!important;
    animation: none!important;
    transform: translateY(-15%);

}
.et-fixed-header #logo {
    height: 80%!important;
    max-height: 80%!important;
    width: 90%!important;
}
/* header */
#header-container{
	height: 70vh;
	overflow: hidden;
}
#header-form{
	opacity: 0;
	position: relative;
	height: 115%;
	z-index: 0;
}
#header-form:after{
	content: '';
    position: absolute;
    display: block;
    height: 135%;
    width: 108%;
    top: -50%;
    left: -4%;
    background-color: var(--bleufonce);
    border: 15px solid #ffffff;
    border-radius: 50%;
}
#site-title{
	width: 100%;
	text-align: center;
	opacity: 0;
	transform: translateY(50px);
}
/* header home */
.home #header-container{
	height: 100vh;
}
#header-home{
	position: relative;
	z-index: 1;
	top: 90px;
}
.image-home{
	margin-top: 50px;
    opacity: 0;
}
#image-1 {
    z-index: 2;
    width: 475px;
}
.home-title{
	position: relative;
	height: 25%;
    z-index: 10;
}
/* Header interne */
#header-interne{
	position: relative;
	z-index: 1;
	height: 65%;
	top: 90px;
}
/******************************/
/********** FOOTER *****/
/******************************/
#main-footer {
    background-color: transparent!important;
}
.local {
	width: 30px;
}
.adresse .et_pb_text_inner {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
}
#logo-footer {
	max-width: 200px;
}
#footer-bottom {
    padding: 5px 0;
    background-color: transparent;
}
#footer-bottom #menu-footer-menu {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
}
#footer-bottom #menu-footer-menu a{
	color: var(--bleufonce);
	font-weight: 400;
	font-size: 1.2rem;
}

/* Icones en absolute animés */
.section-icon {
	position: relative;
	padding: 0!important;
	height: 0;
}
.absolute-icon {
	position: absolute;
	top: 0;
	width: 200px;
}
#header-container .absolute-icon {
	width: 125px;
}
.left{
	left:-100px;
}
.right {
	right: -100px;
}
#icon-1{
	opacity: 0;
	left: 30%;
	top:0%;
}
#icon-2{
	opacity: 0;
	left: 55%;
	top:26%;
}
.z-index {
	z-index: 0;
}
/* cta réservation */
.reserve {
	padding: 0!important;
}
.reserve img {
	width: 100%;
	object-fit: cover;
}
.reserve .et_pb_promo_description {
    padding-bottom: 0;
}
.reserve .et_pb_button {
	border: none!important;
	width: 100%;
}
.reserve .et_pb_button:hover {
	border: none!important;
	width: 100%!important;
}
/* formulaire contact */
p[data-id='rgpd'] {
font-size: 1.3rem!important}
/******************************/
/********** MEDIA QUERIES *****/
/******************************/

/*********TABLETTES ****************/

@media (max-width: 980px) {
	.et_header_style_split .et_mobile_menu {
		top: 0;
	}
	.et_header_style_split #main-header {
    	padding: 0;
	}
	.et_header_style_split #logo {
	    max-width: 25%;
	}
	.et_header_style_split #main-header .mobile_nav {
	    background-color: transparent;
	}
	.et_header_style_split .mobile_nav .select_page{
		display: none;
	}
	.et_header_style_split .et_menu_container .mobile_menu_bar {
	   top: -65px;
	}
	.mobile_menu_bar:before{
		font-size: 45px;
		color: var(--bleuclair);
	}
	.et_mobile_menu {
	    background: var(--bleuclair);
	    border-top: 3px solid var(--bleu);
	    padding: 10px 0;
	}
	.et_mobile_menu li a{
		color: var(--bleufonce)!important;
	    text-transform: uppercase!important;
	    border-bottom: 1px solid var(--bleu);
	}
	.et_mobile_menu li:last-child a{
		padding-bottom: 0!important;
	    border-bottom: none!important;
	}
	/* header home */
	.home #header-container {
	    height: 50vh;
	}
	#header-container {
	    height: 40vh;
	}
	#header-form {
	    height: 110%;
	}
	.image-home {
		margin-top: 0;
	}
	#image-1 {
		width: 350px;
	}
	#header-container .absolute-icon {
	    width: 95px;
	}
	#icon-1 {
	    left: 23%;
	    top: 5%;
	}
	#site-title {
		margin-top: 10px;
	}
	/* general */
	h1 {
    	font-size: 6rem!important;
    	line-height: 55px;
	}
	h2 {
	    font-size: 3rem!important;
	}
	h2:after {
       width: 80px;
	}
	h3, .cmplz-document h2 {
	    font-size: 2.2rem!important;
	    line-height: 23px;
	}
	h4 {
	    font-size: 2rem!important;
	    line-height: 24px;
	}
	.et_pb_blurb p {
	    font-size: 1.8rem;
	    line-height: 22px;
	}
	.et_pb_promo {
		width: 45%;
		margin: auto;
	}
	/* icones */
	.section-icon .et_pb_column {
		width: 100%!important;
	}
}
/********* SMARTPHONE ****************/
@media (max-width: 768px) {
	/* header */
	
	.home #header-container {
	    height: 55vh;
	}
	#header-form {
	    height: 105%;
	}
	#header-form:after {
	    height: 110%;
	    width: 122%;
	    top: -20%;
	    left: -10%;
	}
	.image-home {
    	height: auto;
    }
	#image-1 {
		width: 180px;
	}
   	#header-container .absolute-icon {
	    width: 50px;
	}
	/* .home-title {
		margin-top: -90%;
	} */
	#icon-1 {
	    left: 9%;
	    top: 5%;
	}
	#header-interne {
	    height: 100%;
	    top: 0;
	}
	/* general */
	body, p {
	    line-height: 20px;
	    font-size: 1.5rem;
	}
	.et_pb_section, .et_pb_row{
		padding: 15px 0!important;
	}
	.fullwidth, .et_section_specialty.fullwidth .et_pb_row {
	    width: 100%!important;
	    max-width: 100%;
	}
	.container, .et_pb_row {
	    width: 85%!important;
	    max-width: 85%;
	}
	.et_pb_column {
	    margin-bottom: 10px;
	}
	h1 {
	    font-size: 3rem!important;
	    line-height: 33px;
	}
	h2 {
	    font-size: 2.5rem!important;
	}
	h2:after {
	    width: 85px;
	    height: 6px;
	    bottom: -8px;
	    left: 0px;
	}
	h3, .cmplz-document h2 {
	    font-size: 2rem!important;
	    line-height: 20px;
	}
	h4, h5, a.et_pb_button {
	    font-size: 1.8rem!important;
	    line-height: 22px;
	}
	h6 {
	    font-size: 1.6rem!important;
	}
	.et_pb_promo {
	    width: 78%;
	    padding: 15px 10px!important;
	}
	.reserve {
		padding: 0!important;
	}
	/* icones */
	.absolute-icon {
        width: 130px;
	}
	.icone img{
		max-width: 95px!important;
		max-height: 95px!important;
		margin: 0 auto!important;
	}
	
}
@media (max-width: 480px) {
	
}
/****************/
/* KEYFRAMES */
/***************/
@keyframes slideInUp {
0% {
    -webkit-transform: translate3d(0,10%,0);
    transform: translate3d(0,10%,0);
    visibility: visible;
}
100% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
}