@charset "UTF-8";
/* CSS Document */

* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}

body {
	width: auto;
}

.col-100-s {
	width:100%;
}
.col-90-s {
	width:90%;
}
.col-80-s {
	width:80%;
}
.col-70-s {
	width:70%;
}
.col-60-s {
	width:60%;
}
.col-50-s {
	width:50%;
}
.col-40-s {
	width:40%;
}
.col-30-s {
	width:30%;
}
.col-20-s {
	width:20%;
}
.col-10-s {
	width:10%;
}

.col-33-s {
	width:33%;
}
.col-66-s {
	width:66%;
}

.col-25-s {
	width:25%;
}
.col-75-s {
	width:75%;
}




img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
iframe,
object,
embed,
video {
	max-width: 100%;
}

img {
	height: auto;
}

textarea,
table,
td,
th,
code,
pre,
samp {
	-webkit-hyphens: auto; /* césure propre */
	-moz-hyphens: auto;
	hyphens: auto;
	word-wrap: break-word; /* passage à la ligne forcé */
}

.hide-s {
	display:none;
}
.show-s {
	display:block !important;
}

.page,
.page.l,
.page.m,
.page.s,
.page.xs,
.page.xxs,
.page.xxxs {
    width:100%;
    padding-left: 30px;
    padding-right: 30px;
}

.left,
.right {
	float:none;
}


.parallax-container {
	height: auto;
    min-height: 250px;
}

.parallax img {
	height: 100% !important;
    width: auto !important;
    max-width: unset;
    min-width: unset;
}

/*
header,
header.strip {
	position: relative;
}

header .wrapper-menu {
    flex-wrap: wrap;
    flex-direction: row;
}


header .wrapper-logo {
	text-align: center;
	padding-bottom: 20px;
}
header .wrapper-logo a {
	display: inline-block;
	margin-left: 0;
	margin-right: 0;
	position: relative;
	width: 180px !important;
}

header .wrapper-nav {
	padding:0;
	text-align: left;
}
header.scroll .wrapper-nav {
	position: fixed;
	top: 0;
	z-index: 999;
	left: 0;
	width: 100%;
	padding-bottom: 0;
}
header .wrapper-nav nav {
	display: none;
}

header .wrapper-nav nav ul li {
	display: block;
	text-align: left;
}
header .wrapper-nav nav ul li a {
	display: block;
	padding: 10px;
	border-bottom: solid 1px rgba(0,0,0,0.1);
}

header .wrapper-nav #sticky {
	display: block;
	background-color: rgb(31,31,31);
	color: #FFF;
	padding: 10px;
	text-align: left;
	margin-bottom: 5px;
	cursor: pointer;
}
header .wrapper-nav #sticky img {
	display: inline-block;
	height: 20px;
	width: auto;
	vertical-align: middle;
	margin-right: 10px;
}
header .wrapper-nav #sticky span {
	display: inline-block;
	font-family: Lato;
	font-size: 16px;
	font-weight: 600;
	line-height: normal;
	vertical-align: middle;
}

header .wrapper-menu .menu a .libelle {
    display: none;
}
*/


body > section {
    margin-top: 0;
}
body.light > section {
    margin-top: 0;
}

footer {
    text-align: center;
}
footer .wrapper-cols {
    row-gap: 15px;
}
footer .credits {
    padding-left: 30px;
    padding-right: 30px;
}
footer h4 {
    font-size: 16px;
}
footer .wrapper-logo {
    height: auto;
}


.padd-v-l,
.padd-v-xl {
	padding-top: 50px;
	padding-bottom: 50px;
}

.padd-l-s,
.padd-l-m {
	padding-left: 0;
}

.padd-r-s,
.padd-r-m {
	padding-right: 0;
}

.padd-t-xl {
	padding-top: 50px;
}
.padd-t-l {
	padding-top: 50px;
}
.padd-b-l {
	padding-bottom: 50px;
}
.padd-b-xl {
	padding-bottom: 50px;
}

.wrapper-form form p {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    margin-top: 0;
    margin-bottom: 0;
}

.wrapper-form form p input[type="text"],
.wrapper-form form p textarea {
    width: 100% !important;
    margin-top: 10px;
    margin-bottom: 10px;
}


.col-100-s {
    padding-left:0;
    padding-right: 0;
}

.padd-t-z {
    padding-top: 0;
}
.padd-b-z {
    padding-bottom: 0;
}
.padd-l-z {
    padding-left: 0;
}
.padd-r-s {
    padding-right: 0;
}

.flex-row-reverse,
.flex-row {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.grecaptcha-badge {
    display: none;
}

.wrapper-articles {
    flex-direction: column;
}

.wrapper-slider .arrow-down-loop,
#slider_homepage .owl-dots,
#slider_homepage .owl-nav {
    display: none;
}
#slider_homepage .owl-item .slide.logo .legende .content p img {
    max-width: 50%;
}

#histoire .titre,
#hotels .titre {
    padding-top: 0;
}

.titre h1 {
    font-size: 25px;
}

#hotels .wrapper-hotels .hotel {
    padding-left: 0;
    padding-right: 0;
}

#hotels .wrapper-hotels .hotel article figure {
    height: 300px;
    padding-left: 20px;
    padding-right: 20px;
}
#hotels .wrapper-hotels .hotel article figure figcaption {
    padding-top: 25px;
}
#hotels .wrapper-hotels .hotel article figure figcaption h1 {
    font-size: 16px;
}

#hotels .wrapper-hotels .hotel article .links {
    flex-direction: column;
    row-gap: 7px;
}
#hotels .wrapper-hotels .hotel article .links a {
    width: 100%;
}

.content h2 {
    font-size: 25px;
}
.presentation .content h2 {
    font-size: 18px;
}

.presentation .wrapper-content {
    padding-left: 0;
}

#experience .flex-row.main,
#hotel .flex-row.main {
    row-gap: 30px;
}

#experience.alt .titre,
#experience .presentation .titre,
#hotel .presentation .titre {
    position: relative;
    padding: 0;
    padding-top: 0;
    padding-bottom: 0;
    width: 100%;
}
#experience .presentation .titre h3 br,
#hotel .presentation .titre h3 br {
    display: none;
}

.content .coquillage {
    margin-top: 10px;
    margin-bottom: 20px;
}

#hotel .texte-suite {
    padding-bottom: 80px;
}

.presentation .diapo .slide figure {
    width: 100%;
    height: 300px;
}
.presentation .content h2 {
    text-align: center;
}

.presentation .content h2::after{
    margin-left: auto;
    margin-right: auto;
}

.presentation .content .links {
    justify-content: center;
}

.presentation .arrows {
    display: none;
}

.others .titre h2::before {
    height: 100px;
    margin-bottom: 0;
}

.others .titre h2 {
    font-size: 25px;
}
.others .wrapper .item {
    padding-left: 0;
    padding-right: 0;
}

#histoire .flex-row-reverse {
    row-gap: 30px;
}
#histoire .presentation .flex-row .wrapper-content,
#histoire .flex-row-reverse .wrapper-content {
    padding-right: 0;
}

.visuel.offset img {
    top: 30px;
    right: 30px;
}

.sophie .flex-row {
    row-gap: 30px;
}

#histoire .sophie .visuel {
    margin-left: 0;
    width: 100%;
}

#histoire .presentation.alt .flex-row .wrapper-content {
    padding-left: 0;
    padding-right: 0;
}

/*
#histoire .emotions .wrapper-content {
    padding: 40px;
}

#histoire .emotions .wrapper-content .content h3 {
    font-size: 17px;
}
*/
#histoire .titre {
    padding-bottom: 0;
}

#histoire .titre .vline {
    height: 50px;
    position: relative;
}

#histoire .presentation .wrapper-visuel {
    padding-left: 40px;
}

#experiences .experiences .experience a .content {
    padding-top: 30px;
    padding-bottom: 30px;
}


.parallax-container .overlay {
    padding-left: 30px;
    padding-right: 30px;
    text-align: center;
}

.parallax-container .overlay h1 {
    font-size: 22px;
}

#experience .presentation .titre  {
    position: relative;
}

#experience.famille .presentation .intro {
    padding-bottom: 0;
}

#experience.famille .wrapper-hotels {
    
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 0;
    padding-right: 0;
}

#experience.famille .wrapper-hotels article {
    row-gap: 30px;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 30px;
    padding-right: 30px;
    background-color: var(--mauvepale);
    margin-bottom: 20px;
}

#experience.famille .wrapper-hotels article:last-of-type {
    margin-bottom: 0;
}

#experience.famille .wrapper-hotels article .titre {
    background-color: transparent;
}

#experience.famille .wrapper-hotels article .wrapper-visuel figure {
    width: 100%;
}
#experience.famille .presentation .flex-row-reverse .wrapper-content,
#experience.famille .presentation .flex-row .wrapper-content {
    padding-right: 0;
    padding-left: 0;
}

.bandeau-large {
    padding-top: 50px;
}

.bandeau-large .titre {
    margin-bottom: 20px;
}
.bandeau-large .titre h1 {
    font-size: 30px;
}

#esprit .wrapper-esprits {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
}

#esprit .wrapper-esprits .esprit .wrapper-content {
    padding: 30px;
}

/*
#esprit .emotions {
    padding-left: 0;
    padding-right: 0;
}

#esprit .emotions .content {
    padding-left: 30px;
    padding-right: 30px;
}

#esprit .emotions .content h3 {
    font-size: 17px;
}
*/

.filters {
   flex-direction: column;
   row-gap: 5px;
}

.filters a {
    width: 100%;
    text-align: center;
}

#galerie .titre {
    padding-top: 0;
    padding-bottom: 0;
}

.intro .preintro {
    padding-top: 50px;
    padding-bottom: 50px;
}

#intro .arrows {
    display: none;
}

.intro .preintro .content p {
    font-size: 16px;
}
.intro .preintro .content {
    margin-bottom: 0;
    transform: none;
}

#intro .wrapper-content {
    flex-direction: column-reverse;
}

#intro .wrapper-content .col-100-s {
    padding-top: 0;
    padding-bottom: 0;
}


#intro .wrapper-content .content {
    padding-right: 0;
}

.intro .wrapper-content .diapo .slide {
    height: 400px;
}

#famille .visuel img {
    top: 30px;
    left: 30px;
}

#famille .content {
    transform: none;
}

.intro .diapo {
    margin-bottom: 0;
}

.intro .coquillage {
    margin-top: 30px;
}

#homepage .hotels .wrapper-carousel {
    margin-left: 0;
}

#homepage .hotels .titre {
    text-align: center;
    width: 100%;
    padding: 0;
    margin: 0;
    margin-bottom: 25px;
}

#homepage #famille .wrapper-visuel {
    padding-right: 30px;
    margin-bottom: 30px;
}

#homepage .hotels {
    padding-top: 50px;
    padding-bottom: 30px;
}



.hotels .carousel .slide {
    padding-left: 30px;
    padding-right: 30px;

}

.hotels .carousel .slide a figure {
    width: 100%;
    height: 350px;
    padding-left: 15px;
    padding-right: 15px;
}
.hotels .carousel .slide a figure figcaption {
    padding-top: 25px;
}
.hotels .carousel .slide a figure figcaption h1 {
    font-size: 16px;
}
.hotels .carousel .slick-dots {
    position: relative;
    margin-top: 10px;
}

.hotels .carousel .slick-dots li.slick-active button {
    background-color: rgba(167, 145, 141,1);
}
.hotels .carousel .slick-dots li button {
    background-color: rgba(167, 145, 141,0.2);
}


.diapo .slick-dots {
    position: relative;
    margin-top: 20px;
}
.diapo .slick-dots li.slick-active button {
    background-color: rgba(167, 145, 141,1);
}
.diapo .slick-dots li button {
    background-color: rgba(167, 145, 141,0.2);
}


.hotels .wrapper-carousel .arrows {
    display: none;
}

.experiences .experience .legende h2 {
    font-size: 20px;
}


#homepage .emotions {
    padding-top: 0;
    padding-bottom: 0;
}

.emotions .page {
    padding-left: 0;
    padding-right: 0;
}

.emotions .wrapper-content {
    padding: 50px 30px;
}
.emotions .wrapper-content .content h3 {
    font-size: 17px;
}

.wrapper-insta .flux {
    flex-direction: row;
    flex-wrap: wrap;
}

.wrapper-insta .flux .item figure {
    width: 130px;
    height: 130px;
}

.wrapper-newsletter .newsletter {
    row-gap: 10px;
}
.wrapper-newsletter .newsletter input[type=text],
.wrapper-newsletter .newsletter .link {
    width: 100%;
    text-align: center;
}

#slider_homepage .owl-item {
    height: 60vh;
}
.wrapper-slider {
    height: auto;
}


#slider_homepage .owl-item .slide .legende {
    padding: 30px;
}

#slider_homepage .owl-item .slide.logo .legende .content p:nth-of-type(2) {
    font-size: 18px;
}

header {
    padding-left: 30px;
    padding-right: 30px;
    position: relative;
}
header.scroll {
    box-shadow: none;
}


header .wrapper-menu {
    padding-bottom: 20px;
    flex-wrap: wrap;
}

#page-1 header .wrapper-menu {
    padding-bottom: 30px;
}


header .wrapper-menu .menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    width: 50%;
}

header .wrapper-menu .menu a .line {
    background-color: var(--noirmat) !important;
}


header .wrapper-menu .menu a .libelle {
    display: none;
}


header .wrapper-menu .wrapper-flags {
    display: block;
}

header.scroll .wrapper-menu .logo,
header .wrapper-menu .logo {
    width: 100%;
    height: auto;
    margin-bottom: 15px;
}

header.scroll .wrapper-menu .logo a,
header .wrapper-menu .logo a {
    width: 100%;
    height: auto;
    max-width: 180px;
}

header .wrapper-menu .logo a.noir {
    display: block !important;
}
header .wrapper-menu .logo a.blanc {
    display: none !important;
}

header.scroll .wrapper-menu .logo a img,
header .wrapper-menu .logo a img {
    display: block;
    width: 100%;
    height: auto;
}

header .wrapper-menu .link {
    padding-right: 20px;
    padding-left: 20px;
}

header .wrapper-menu .rightbar .flags {
    display: none;
}

body.light header .wrapper-menu .flags a,
header .wrapper-menu .flags a {
    color: var(--noirmat);
}

header .wrapper-menu .flags a,
body.light header .wrapper-menu .flags a {
    border-right-color: var(--noirmat);
}

header .wrapper-menu .flags a:hover,
body.light header .wrapper-menu .flags a:hover {
    color: var(--or);
}


header .wrapper-menu .rightbar {
    justify-content: center;
}

header .wrapper-nav {
    z-index: 4;
}


header .wrapper-nav .logo {
    display: none;
}

header .wrapper-nav .illustration {
    display: none;
}

header .wrapper-nav .wrapper-navigation {
    padding-left: 40px;
    padding-right: 40px;
}


header .wrapper-nav .overlay {
    align-items: flex-start;
    padding-top: 50px;
}

header .wrapper-nav .wrapper-buttons {
    display: block;
    position: absolute;
    z-index: 2;
    right: 10px;
    top: 10px;
}

header .wrapper-nav .wrapper-buttons a {
    cursor: pointer;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
header .wrapper-nav .wrapper-buttons a i {
    font-size: 25px;
}

#contact .bandeau-large {
    padding-top: 50px;
}