@charset "UTF-8";
/*! 
Theme Name: roots
Theme URI: http://merina.fr
Author: Andry Proust
Author URI: http://merina.fr
Description: Wordpress minimal theme for make Website
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, white, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-background, custom-menu, editor-style, featured-images, flexible-header, full-width-template, rtl-language-support, theme-options, translation-ready
Text Domain: roots
*/
/*
* www.KNACSS.com V4.4.3 @author: Raphael Goetter, Alsacreations
* Licence WTFPL http://www.wtfpl.net/
*/
/* Icon Font
   ======================================================================*/
@font-face {
  font-family: "entypo";
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url("assets/font/entypo.eot");
  src: url("assets/font/entypo.eot?#iefix") format("eot"), url("assets/font/entypo.woff") format("woff"), url("assets/font/entypo.ttf") format("truetype"), url("assets/font/entypo.svg#entypo") format("svg");
}
[class*=entypo-]:before {
  font-family: "entypo", sans-serif;
}

@font-face {
  font-family: "Contralto Small";
  src: url("assets/font/ContraltoSmall-Regular.eot");
  src: url("assets/font/ContraltoSmall-Regular.eot?#iefix") format("embedded-opentype"), url("assets/font/ContraltoSmall-Regular.woff2") format("woff2"), url("assets/font/ContraltoSmall-Regular.woff") format("woff"), url("assets/font/ContraltoSmall-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/font/Montserrat-Bold.eot");
  src: url("assets/font/Montserrat-Bold.eot?#iefix") format("embedded-opentype"), url("assets/font/Montserrat-Bold.woff2") format("woff2"), url("assets/font/Montserrat-Bold.woff") format("woff"), url("assets/font/Montserrat-Bold.ttf") format("truetype"), url("assets/font/Montserrat-Bold.svg#Montserrat-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/font/Montserrat-BoldItalic.eot");
  src: url("assets/font/Montserrat-BoldItalic.eot?#iefix") format("embedded-opentype"), url("assets/font/Montserrat-BoldItalic.woff2") format("woff2"), url("assets/font/Montserrat-BoldItalic.woff") format("woff"), url("assets/font/Montserrat-BoldItalic.ttf") format("truetype"), url("assets/font/Montserrat-BoldItalic.svg#Montserrat-BoldItalic") format("svg");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/font/Montserrat-Italic.eot");
  src: url("assets/font/Montserrat-Italic.eot?#iefix") format("embedded-opentype"), url("assets/font/Montserrat-Italic.woff2") format("woff2"), url("assets/font/Montserrat-Italic.woff") format("woff"), url("assets/font/Montserrat-Italic.ttf") format("truetype"), url("assets/font/Montserrat-Italic.svg#Montserrat-Italic") format("svg");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/font/Montserrat-Light.eot");
  src: url("assets/font/Montserrat-Light.eot?#iefix") format("embedded-opentype"), url("assets/font/Montserrat-Light.woff2") format("woff2"), url("assets/font/Montserrat-Light.woff") format("woff"), url("assets/font/Montserrat-Light.ttf") format("truetype"), url("assets/font/Montserrat-Light.svg#Montserrat-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/font/Montserrat-LightItalic.eot");
  src: url("assets/font/Montserrat-LightItalic.eot?#iefix") format("embedded-opentype"), url("assets/font/Montserrat-LightItalic.woff2") format("woff2"), url("assets/font/Montserrat-LightItalic.woff") format("woff"), url("assets/font/Montserrat-LightItalic.ttf") format("truetype"), url("assets/font/Montserrat-LightItalic.svg#Montserrat-LightItalic") format("svg");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/font/Montserrat-Regular.eot");
  src: url("assets/font/Montserrat-Regular.eot?#iefix") format("embedded-opentype"), url("assets/font/Montserrat-Regular.woff2") format("woff2"), url("assets/font/Montserrat-Regular.woff") format("woff"), url("assets/font/Montserrat-Regular.ttf") format("truetype"), url("assets/font/Montserrat-Regular.svg#Montserrat-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Beloved Script";
  src: url("assets/font/BelovedScript.eot");
  src: url("assets/font/BelovedScript.eot?#iefix") format("embedded-opentype"), url("assets/font/BelovedScript.woff2") format("woff2"), url("assets/font/BelovedScript.woff") format("woff"), url("assets/font/BelovedScript.ttf") format("truetype"), url("assets/font/BelovedScript.svg#BelovedScript") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.headwhite {
  color: #fff !important;
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* ------------------------------- */
/* == soft reset                 */
/* ----------------------------- */
/* switching to border-box model for all elements */
html {
  box-sizing: border-box;
}

* {
  box-sizing: inherit;
}

ul,
ol {
  padding-left: 0;
}

img {
  vertical-align: middle;
}

/* height auto only for non SVG images */
img:not([src$=".svg"]) {
  height: auto;
}

blockquote,
figure {
  margin-left: 0;
  margin-right: 0;
}

/* ----------------------------- */
/* == typography                 */
/* ----------------------------- */
html {
  /* set base font-size to equiv "10px", which is adapted to rem unit */
  font-size: 62.5%;
  /* IE9-IE11 math fixing. See http://bit.ly/1g4X0bX */
  /* thanks to @guardian, @victorbritopro and @eQRoeil */
  font-size: 0.625em;
}

body {
  font-size: 16px;
  background-color: #fff;
  color: #2A3233;
  font-family: "Montserrat", sans-serif;
  line-height: 2;
  font-weight: 400;
}

a {
  color: #4B929D;
  transition: all 0.2s ease-in;
}
a:hover, a:focus, a:active {
  color: #3B737B;
}

/* font-sizing for content */
.wp-block-image,
p,
.p-like,
ul,
ol,
dl,
blockquote,
pre,
td,
th,
label,
textarea,
caption,
details,
figure {
  margin-top: 0;
  margin-bottom: 1.5em;
  line-height: 2;
}

h1,
.h1-like {
  font-size: 48px;
}

h2,
.h2-like {
  font-size: 32px;
}

h3,
.h3-like {
  font-size: 28px;
}

h4,
.h4-like {
  font-size: 24px;
}

h5,
.h5-like {
  font-size: 22px;
}

h6,
.h6-like {
  font-size: 20px;
}

h1,
h2,
h3,
h4 {
  line-height: 1.4;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Contralto Small", serif;
  font-weight: 400;
  margin: 3.5rem auto 2rem;
  color: #4a6566;
  text-transform: uppercase;
}

/* alternate font-sizing */
.smaller {
  font-size: 0.6em;
}

.small {
  font-size: 0.8em;
}

.big {
  font-size: 1.2em;
}

.bigger {
  font-size: 1.5em;
}

.biggest {
  font-size: 2em;
}

code,
pre,
samp,
kbd {
  /* IE fix */
  white-space: pre-line;
  white-space: pre-wrap;
  font-family: consolas, courier, monospace;
  line-height: normal;
}

pre {
  padding: 2em;
  border: 1px solid #B3B3B3;
  text-align: left;
}

em,
.italic,
address,
cite,
i,
var {
  font-style: italic;
}

b,
strong {
  font-weight: 600;
}

/* ----------------------------- */
/* == browsers consistency       */
/* ----------------------------- */
/* avoid top margins on first content element */
p:first-child,
.p-like:first-child,
ul:first-child,
ol:first-child,
dl:first-child,
blockquote:first-child,
pre:first-child,
h1:first-child,
.h1-like:first-child,
h2:first-child,
.h2-like:first-child,
h3:first-child,
.h3-like:first-child,
h4:first-child,
.h4-like:first-child,
h5:first-child,
.h5-like:first-child,
h6:first-child,
.h6-like:first-child {
  margin-top: 0;
}

/* avoid margins on nested elements */
li p,
li .p-like,
li ul,
li ol {
  margin-top: 0;
  margin-bottom: 0;
}

/* max values */
img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
video,
svg {
  max-width: 100%;
}

/* margin-bottom on tables */
table {
  margin-bottom: 0;
}

/* ----------------------------- */
/* ==layout and modules          */
/* ----------------------------- */
/* module, gains superpower "BFC" Block Formating Context */
.mod,
.bfc {
  overflow: hidden;
}

/* blocks that needs to be placed under floats */
.clear,
.line,
.row {
  clear: both;
}

/* blocks that must contain floats */
.clearfix::after,
.line::after {
  content: "";
  display: table;
  clear: both;
  border-collapse: collapse;
}

/* simple blocks alignment */
.left {
  margin-right: auto;
}

.right {
  margin-left: auto;
}

.center {
  margin-left: auto;
  margin-right: auto;
}

/* text and contents alignment */
.txtleft {
  text-align: left;
}

.txtright {
  text-align: right;
}

.txtcenter {
  text-align: center;
}

/* floating elements */
.fl {
  float: left;
}

img.fl {
  margin-right: 1rem;
}

.fr {
  float: right;
}

img.fr {
  margin-left: 1rem;
}

img.fl,
img.fr {
  margin-bottom: 0.5rem;
}

/* table layout */
.row {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.row > *,
.col {
  display: table-cell;
  vertical-align: top;
}

/* no table-cell for script tag when body is a .row */
body > script {
  display: none !important;
}

/* inline-block */
.inbl {
  display: inline-block;
  vertical-align: top;
}

/* flexbox layout
http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html
*/
[class*=flex-container] {
  display: flex;
  flex-wrap: wrap;
}

.flex-container-h {
  flex-direction: row;
}

.flex-container-v {
  flex-direction: column;
}

.flex-item-fluid {
  flex: 1;
}

.flex-item-first {
  order: -1;
}

.flex-item-medium {
  order: 0;
}

.flex-item-last {
  order: 1;
}

.flex-item-center {
  margin: auto;
}

/*--- Custom ----*/
.flex-container-header {
  flex-direction: row;
  justify-content: space-between;
  align-items: start;
  align-self: stretch;
}

@media screen and (max-width: 1124px) {
  .flex-container-header {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (max-width: 1180px) {
  .flex-container-header {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.flex-container-center {
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.flex-container-c {
  align-items: center;
  justify-content: space-between;
}

.flex-container-s {
  align-items: start;
  justify-content: space-between;
}

.flex-container-mobile {
  flex-direction: row;
}

@media screen and (max-width: 768px) {
  .flex-container-mobile {
    flex-direction: column;
  }
}
/* ----------------------------- */
/* ==tables                      */
/* ----------------------------- */
table,
.table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  vertical-align: top;
  border: 1px solid #d4d4d4;
}

.table {
  display: table;
}

#recaptcha_table,
table.table-auto {
  table-layout: auto;
}

td,
th {
  vertical-align: top;
  min-width: 2rem;
  cursor: default;
  padding: 1em 1em;
  border: 1px #d4d4d4 solid;
  text-align: left;
}

tbody {
  background-color: #E0E0E0;
}

th {
  background-color: #4B929D;
  color: #fff;
}

/* ----------------------------- */
/* ==forms                       */
/* ----------------------------- */
/* thanks to HTML5boilerplate,
* github.com/nathansmith/formalize and www.sitepen.com
*/
/* buttons */
.btn {
  display: inline-block;
}

/* forms items */
form,
fieldset {
  border: none;
}

input,
button,
select,
label,
.btn {
  vertical-align: middle;
  font-family: inherit;
  font-size: inherit;
}

button,
input,
optgroup,
select,
textarea {
  color: #2A3233;
}

label {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  margin-bottom: 0;
}

legend {
  border: 0;
  white-space: normal;
}

textarea {
  min-height: 5em;
  vertical-align: top;
  font-family: inherit;
  font-size: inherit;
  resize: vertical;
}

select {
  -webkit-appearance: menulist-button;
}

/* if select styling bugs on WebKit */
/* select { -webkit-appearance: none; } */
/* 'x' appears on right of search input when text is entered. This removes it */
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

::-webkit-input-placeholder {
  color: #777;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #777;
}

.btn:focus,
input[type=button]:focus,
button:focus {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* unstyled forms */
button.unstyled,
input[type=button].unstyled,
input[type=submit].unstyled,
input[type=reset].unstyled {
  padding: 0;
  border: none;
  line-height: 1;
  text-align: left;
  background: none;
  border-radius: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button.unstyled:focus,
input[type=button].unstyled:focus,
input[type=submit].unstyled:focus,
input[type=reset].unstyled:focus {
  box-shadow: none;
  outline: none;
}

/* Input + textarea
------------------------------------------*/
textarea,
input[type=email],
input[type=tel],
input[type=text] {
  padding: 0.5em 1em;
  border: none;
  background: #EBEBEB;
  border: #E0E0E0 1px solid;
  /*box-shadow: inset 0 1px 1px rgba(0,0,0,0.1);*/
  border-radius: 1px;
  transition: all 0.2s ease-in;
}
textarea:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=text]:focus {
  outline: none;
  border: #4a6566 1px solid;
  box-shadow: 0 0 5px #4a6566;
}

/* Buttons 
------------------------------------------*/
.button,
button,
input[type=button],
input[type=reset],
input[type=submit],
input[type=submit].has-icon {
  line-height: 2;
  font-weight: 400;
  display: inline-block;
  padding: 7px 50px;
  border: none;
  color: #fff;
  background: #4a6566;
  cursor: pointer;
  border: 1px solid #4a6566;
  border-radius: 50px;
  transition: all 0.2s ease-in;
  letter-spacing: 1px;
}

.button:hover,
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover,
input[type=submit].has-icon:hover {
  line-height: 2;
  display: inline-block;
  padding: 7px 50px;
  border: none;
  text-decoration: none;
  outline: 0;
  color: #fff;
  background: #2B5359;
  border: 1px solid #2B5359;
  border-radius: 50px;
  cursor: pointer;
}

.button,
button,
input[type=button]:focus,
input[type=reset]:focus,
input[type=submit]:focus {
  outline: 0;
}

.button_white {
  font-weight: 400;
  padding: 5px 30px;
  border: none;
  color: #fff;
  background: none;
  cursor: pointer;
  border: 1px solid #fff;
  transition: all 0.2s ease-in;
  letter-spacing: 1px;
  border-radius: 25px;
}
.button_white:hover {
  background: #509AA6;
  color: #fff;
  border: 1px solid #509AA6;
}

.button_gold {
  font-weight: 400;
  padding: 5px 30px;
  border: none;
  color: #fff;
  background: #2B5359;
  cursor: pointer;
  border: 1px solid #4a6566;
  transition: all 0.2s ease-in;
  letter-spacing: 1px;
  border-radius: 25px;
}
.button_gold:hover {
  background: #4a6566;
  color: #fff;
  border: 1px solid #2B5359;
}

/* ---------------------------------- */
/* ==state helpers                    */
/* ---------------------------------- */
/* invisible for all */
.is-hidden,
[hidden] {
  display: none;
}

/* hidden but not for an assistive technology like a screen reader, Yahoo! method */
.visually-hidden {
  position: absolute !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

.is-disabled,
[disabled] {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
  filter: grayscale(1);
}

ul.is-unstyled,
ul.unstyled {
  list-style: none;
  padding-left: 0;
}

/* ---------------------------------- */
/* ==visual helpers                   */
/* .. use them with parcimony !       */
/* ---------------------------------- */
/* blocks widths (percentage and pixels) */
.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w33 {
  width: 33.3333%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w66 {
  width: 66.6666%;
}

.w70 {
  width: 70%;
}

.w75 {
  width: 75%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

.w50p {
  width: 50px;
}

.w100p {
  width: 100px;
}

.w150p {
  width: 150px;
}

.w200p {
  width: 200px;
}

.w300p {
  width: 300px;
}

.w400p {
  width: 400px;
}

.w500p {
  width: 500px;
}

.w600p {
  width: 600px;
}

.w700p {
  width: 700px;
}

.w800p {
  width: 800px;
}

.w960p {
  width: 960px;
}

.mw960p {
  max-width: 960px;
}

.w1140p {
  width: 1140px;
}

.mw1140p {
  max-width: 1140px;
}

.wauto {
  width: auto;
}

/* spacing helpers
p,m = padding,margin
a,t,r,b,l = all,top,right,bottom,left
s,m,l,n = small, medium, large, none
*/
.man,
.ma0 {
  margin: 0;
}

.pan,
.pa0 {
  padding: 0;
}

.mas {
  margin: 1rem;
}

.mam {
  margin: 2rem;
}

.mal {
  margin: 4rem;
}

.pas {
  padding: 1rem;
}

.pam {
  padding: 2rem;
}

.pal {
  padding: 4rem;
}

.mtn,
.mt0 {
  margin-top: 0;
}

.mts {
  margin-top: 1rem;
}

.mtm {
  margin-top: 2rem;
}

.mtl {
  margin-top: 4rem;
}

.mrn,
.mr0 {
  margin-right: 0;
}

.mrs {
  margin-right: 1rem;
}

.mrm {
  margin-right: 2rem;
}

.mrl {
  margin-right: 4rem;
}

.mbn,
.mb0 {
  margin-bottom: 0;
}

.mbs {
  margin-bottom: 1rem;
}

.mbm {
  margin-bottom: 2rem;
}

.mbl {
  margin-bottom: 4rem;
}

.mln,
.ml0 {
  margin-left: 0;
}

.mls {
  margin-left: 1rem;
}

.mlm {
  margin-left: 2rem;
}

.mll {
  margin-left: 4rem;
}

.mauto {
  margin: auto;
}

.mtauto {
  margin-top: auto;
}

.mrauto {
  margin-right: auto;
}

.mbauto {
  margin-bottom: auto;
}

.mlauto {
  margin-left: auto;
}

.ptn,
.pt0 {
  padding-top: 0;
}

.pts {
  padding-top: 1rem;
}

.ptm {
  padding-top: 2rem;
}

.ptl {
  padding-top: 4rem;
}

.prn,
.pr0 {
  padding-right: 0;
}

.prs {
  padding-right: 1rem;
}

.prm {
  padding-right: 2rem;
}

.prl {
  padding-right: 4rem;
}

.pbn,
.pb0 {
  padding-bottom: 0;
}

.pbs {
  padding-bottom: 1rem;
}

.pbm {
  padding-bottom: 2rem;
}

.pbl {
  padding-bottom: 4rem;
}

.pln,
.pl0 {
  padding-left: 0;
}

.pls {
  padding-left: 1rem;
}

.plm {
  padding-left: 2rem;
}

.pll {
  padding-left: 4rem;
}

/* ----------------------------- */
/* ==desktop and HD devices      */
/* ----------------------------- */
@media (min-width: 961px) {
  /* rules for big resources and big screens like: background-images, font-faces, etc. */
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  /* style adjustments for high density devices */
}
/* ---------------------------------- */
/* ==Responsive large                 */
/* ---------------------------------- */
@media (min-width: 961px) {
  /* layouts for large screens */
  .large-hidden {
    display: none !important;
  }
  .large-visible {
    display: block !important;
  }
  .large-no-float {
    float: none;
  }
  .large-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  .large-row {
    display: table;
    table-layout: fixed;
    width: 100% !important;
  }
  .large-col {
    display: table-cell;
    vertical-align: top;
  }
  /* widths for large screens */
  .large-w25 {
    width: 25% !important;
  }
  .large-w33 {
    width: 33.3333% !important;
  }
  .large-w50 {
    width: 50% !important;
  }
  .large-w66 {
    width: 66.6666% !important;
  }
  .large-w75 {
    width: 75% !important;
  }
  .large-w100,
  .large-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for large screens */
  .large-man,
  .large-ma0 {
    margin: 0 !important;
  }
}
/* ---------------------------------- */
/* ==Responsive medium                */
/* ---------------------------------- */
@media (min-width: 641px) and (max-width: 960px) {
  /* layouts for medium screens */
  .medium-hidden {
    display: none !important;
  }
  .medium-visible {
    display: block !important;
  }
  .medium-no-float {
    float: none;
  }
  .medium-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  .medium-row {
    display: table;
    table-layout: fixed;
    width: 100% !important;
  }
  .medium-col {
    display: table-cell;
    vertical-align: top;
  }
  /* widths for medium screens */
  .medium-w25 {
    width: 25% !important;
  }
  .medium-w33 {
    width: 33.3333% !important;
  }
  .medium-w50 {
    width: 50% !important;
  }
  .medium-w66 {
    width: 66.6666% !important;
  }
  .medium-w75 {
    width: 75% !important;
  }
  .medium-w100,
  .medium-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for medium screens */
  .medium-man,
  .medium-ma0 {
    margin: 0 !important;
  }
}
/* ---------------------------------- */
/* ==Responsive small                 */
/* ---------------------------------- */
@media (min-width: 321px) and (max-width: 640px) {
  /* quick reset in small resolution and less */
  .w600p,
  .w700p,
  .w800p,
  .w960p,
  .mw960p {
    width: auto;
    float: none;
  }
  /* layouts for small screens */
  .small-hidden {
    display: none !important;
  }
  .small-visible {
    display: block !important;
  }
  .small-no-float {
    float: none;
  }
  .small-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  .small-row {
    display: table !important;
    table-layout: fixed !important;
    width: 100% !important;
  }
  .small-col {
    display: table-cell !important;
    vertical-align: top !important;
  }
  /* widths for small screens */
  .small-w25 {
    width: 25% !important;
  }
  .small-w33 {
    width: 33.3333% !important;
  }
  .small-w50 {
    width: 50% !important;
  }
  .small-w66 {
    width: 66.6666% !important;
  }
  .small-w75 {
    width: 75% !important;
  }
  .small-w100,
  .small-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for small screens */
  .small-man,
  .small-ma0 {
    margin: 0 !important;
  }
  .small-pan,
  .small-pa0 {
    padding: 0 !important;
  }
}
/* ---------------------------------- */
/* ==Responsive tiny                  */
/* ---------------------------------- */
@media (max-width: 320px) {
  /* quick small resolution reset */
  .mod,
  .col,
  fieldset {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  .flex-container {
    flex-direction: column;
  }
  .w300p,
  .w400p,
  .w500p {
    width: auto;
    float: none;
  }
  .row {
    display: block !important;
    width: 100% !important;
  }
  /* layouts for tiny screens */
  .tiny-hidden {
    display: none !important;
  }
  .tiny-visible {
    display: block !important;
  }
  .tiny-no-float {
    float: none;
  }
  .tiny-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  .tiny-row {
    display: table !important;
    table-layout: fixed !important;
    width: 100% !important;
  }
  .tiny-col {
    display: table-cell !important;
    vertical-align: top !important;
  }
  th,
  td {
    display: block;
    width: auto;
    text-align: left;
  }
  thead {
    display: none;
  }
  /* widths for tiny screens */
  .tiny-w25 {
    width: 25% !important;
  }
  .tiny-w33 {
    width: 33.3333% !important;
  }
  .tiny-w50 {
    width: 50% !important;
  }
  .tiny-w66 {
    width: 66.6666% !important;
  }
  .tiny-w75 {
    width: 75% !important;
  }
  .tiny-w100,
  .tiny-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for tiny screens */
  .tiny-man,
  .tiny-ma0 {
    margin: 0 !important;
  }
  .tiny-pan,
  .tiny-pa0 {
    padding: 0 !important;
  }
}
/* quick print reset */
@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  body {
    width: auto;
    margin: auto;
    font-family: serif;
    font-size: 12pt;
  }
  p,
  .p-like,
  h1,
  .h1-like,
  h2,
  .h2-like,
  h3,
  .h3-like,
  h4,
  .h4-like,
  h5,
  .h5-like,
  h6,
  .h6-like,
  blockquote,
  ul,
  ol {
    color: #000;
    margin: auto;
  }
  .print {
    display: block;
  }
  .no-print {
    display: none;
  }
  /* no orphans, no widows */
  p,
  .p-like,
  blockquote {
    orphans: 3;
    widows: 3;
  }
  /* no breaks inside these elements */
  blockquote,
  ul,
  ol {
    page-break-inside: avoid;
  }
  /* page break before main headers
  h1,
  .h1-like {
    page-break-before: always;
  }
  */
  /* no breaks after these elements */
  h1,
  .h1-like,
  h2,
  .h2-like,
  h3,
  .h3-like,
  caption {
    page-break-after: avoid;
  }
  a {
    color: #000;
  }
  /* displaying URLs
  a[href]::after {
    content: " (" attr(href) ")";
  }
  */
  a[href^="javascript:"]::after,
  a[href^="#"]::after {
    content: "";
  }
}
/* ----------------------------- */
/* ==misc rules                  */
/* ----------------------------- */
/* styling skip links */
.skip {
  position: absolute;
  z-index: 600;
  top: -1000px;
  left: -1000px;
  height: 1px;
  width: 1px;
  text-align: left;
  overflow: hidden;
  padding: 0.5em;
  background: #fff;
}

a.skip:active,
a.skip:focus,
a.skip:hover {
  left: 10px;
  top: 0;
  width: auto;
  height: auto;
  overflow: visible;
}

@media (max-width: 640px) {
  /* you shall not pass */
  div,
  textarea,
  table,
  td,
  th,
  code,
  pre,
  samp {
    word-wrap: normal;
    -webkit-hyphens: none;
            hyphens: none;
  }
  a {
    word-break: normal;
  }
}
@media (max-width: 640px) {
  .no-wrapping {
    word-wrap: normal;
    -webkit-hyphens: none;
            hyphens: none;
  }
}
/* Google Gmap3 bug fix on images */
.gm-style img {
  height: 100%;
}

:not(.gm-style) img {
  height: auto;
}

.gm-style img,
.gmnoscreen img,
.gmnoprint img {
  max-width: none !important;
}

/* max values */
iframe,
img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
video {
  max-width: 100%;
}

/* ----------------------------- */
/* ==minor stylings              */
/* ----------------------------- */
/* styling elements */
code, kbd, mark {
  border-radius: 2px;
}

kbd {
  padding: 0 2px;
  border: 1px solid #999;
}

code {
  padding: 2px 4px;
  background: rgba(0, 0, 0, 0.04);
  color: #b11;
}

pre code {
  padding: 0;
  background: none;
  color: inherit;
  border-radius: 0;
}

mark {
  padding: 2px 4px;
}

sup,
sub {
  vertical-align: 0;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

blockquote > footer {
  margin-top: 0.75em;
  font-size: 0.9em;
  color: rgba(0, 0, 0, 0.7);
}

blockquote > footer::before {
  content: "— ";
}

q {
  font-style: normal;
}

q,
.q {
  quotes: "“ " " ”";
}

q:lang(fr),
.q:lang(fr) {
  quotes: "« " " »";
}

caption {
  padding: 1rem;
  color: #555;
  font-style: italic;
}

/* ----------------------------- */
/* ===== Wordpress & My design */
/* ----------------------------- */
/*  Gut Blocks 
/* -------------------------------------------------------------------------- */
/* Helpers ------------------------------ */
.wp-block-heading {
  text-transform: uppercase;
}

/* Block Colors ------------------------------ */
.has-text-color a {
  color: inherit;
}

/* CUSTOM COLORS */
:root .has-accent-color {
  color: #509AA6;
}

:root .has-accent-background-color {
  background-color: #509AA6;
  color: #fff;
}

:root .has-primary-color {
  color: #2F2F35;
}

:root .has-primary-background-color {
  background-color: #2F2F35;
  color: #fff;
}

:root .has-secondary-color {
  color: #B3B3B3;
}

:root .has-secondary-background-color {
  background-color: #A8A8A8;
  color: #fff;
}

:root .has-subtle-background-color {
  color: #B3B3B3;
}

:root .has-subtle-background-background-color {
  background-color: #B3B3B3;
  color: #2F2F35;
}

:root .has-background-color {
  color: #B3B3B3;
}

:root .has-background-background-color {
  background-color: #B3B3B3;
  color: #2F2F35;
}

.has-blanc-color {
  color: #fff;
}

.has-blanc-background-color {
  background: #fff;
}

.wp-block-button__link.has-blanc-background-color {
  border: 1px solid #2A3233;
  color: #2A3233;
}
.wp-block-button__link.has-blanc-background-color:hover {
  background: #4a6566;
  color: #fff !important;
}

.has-gris-color {
  color: #EBEBEB;
}

.has-gris-background-color {
  background: #EBEBEB;
}

.has-color-1-color {
  color: #509AA6;
}

.has-color-1-background-color {
  background: #509AA6;
}

.has-color-2-color {
  color: #4B929D;
}

.has-color-2-background-color {
  background: #4B929D;
}

.has-color-3-color {
  color: #3B737B;
}

.has-color-3-background-color {
  background: #3B737B;
}

.has-color-4-color {
  color: #2B5359;
}

.has-color-4-background-color {
  background: #2B5359;
}

.has-color-5-color {
  color: #1B3337;
}

.has-color-5-background-color {
  background: #1B3337;
}

.has-color-6-color {
  color: #424F51;
}

.has-color-6-background-color {
  background: #424F51;
}

.has-noir-color {
  color: #000000;
}

.has-noir-background-color {
  background: #000000;
}

/* Block Typography Classes ------------------ */
.has-text-align-left {
  /*rtl:ignore*/
  text-align: left;
}

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

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

.has-drop-cap:not(:focus)::first-letter {
  color: #2A3233;
  font-family: "Contralto Small", serif !important;
  font-size: 48px;
  font-weight: normal;
  margin: 6px 10px 0 0;
  text-transform: uppercase;
  line-height: 1;
}

.has-drop-cap:not(:focus)::first-letter::after {
  content: "";
  display: table;
  clear: both;
}

.has-drop-cap:not(:focus)::after {
  padding: 0;
}

/* Block Font Families ----------------------- */
.has-drop-cap:not(:focus)::first-letter,
.entry-content .wp-block-archives,
.entry-content .wp-block-categories,
.entry-content .wp-block-cover-image,
.entry-content .wp-block-latest-comments,
.entry-content .wp-block-latest-posts,
.entry-content .wp-block-pullquote,
.entry-content .wp-block-quote.is-large,
.entry-content .wp-block-quote.is-style-large {
  font-family: "Montserrat", sans-serif;
}

@supports (font-variation-settings: normal) {
  .has-drop-cap:not(:focus)::first-letter,
  .entry-content .wp-block-archives,
  .entry-content .wp-block-categories,
  .entry-content .wp-block-latest-posts,
  .entry-content .wp-block-latest-comments,
  .entry-content .wp-block-cover-image p,
  .entry-content .wp-block-pullquote {
    font-family: "Montserrat", sans-serif;
  }
}
/* Block Font Sizes -------------------------- */
.has-small-font-size {
  font-size: 12px !important;
}

.has-small-plus-font-size {
  font-size: 14px !important;
}

.has-regular-font-size {
  font-size: 16px !important;
}

.has-medium-font-size {
  font-size: 18px !important;
}

.has-medium-plus-font-size {
  font-size: 20px !important;
}

.has-large-font-size {
  font-size: 22px !important;
}

.has-larger-font-size {
  font-size: 24px !important;
}

.has-larger-plus-font-size {
  font-size: 28px !important;
}

.has-big-font-size {
  font-size: 32px !important;
}

.has-big-one-size {
  font-size: 40px !important;
}

.has-big-plus-font-size {
  font-size: 48px !important;
}

/* Block: Base Margins ----------------------- */
*[class*=_inner-container] > *:first-child {
  margin-top: 0;
}

*[class*=_inner-container] > *:last-child {
  margin-bottom: 0;
}

.wp-block-archives:not(.alignwide):not(.alignfull),
.wp-block-categories:not(.alignwide):not(.alignfull),
.wp-block-code,
.wp-block-columns:not(.alignwide):not(.alignfull),
.wp-block-cover:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
.wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
.wp-block-gallery:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
.wp-block-group:not(.has-background):not(.alignwide):not(.alignfull),
.wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter),
.wp-block-latest-comments:not(.aligncenter):not(.alignleft):not(.alignright),
.wp-block-latest-posts:not(.aligncenter):not(.alignleft):not(.alignright),
.wp-block-media-text:not(.alignwide):not(.alignfull),
.wp-block-preformatted,
.wp-block-pullquote:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright),
.wp-block-quote,
.wp-block-quote.is-large,
.wp-block-quote.is-style-large,
.wp-block-verse,
.wp-block-video:not(.alignwide):not(.alignfull) {
  margin-bottom: 3rem;
  margin-top: 3rem;
}

.wp-block-categories,
.wp-block-latest-posts {
  margin-top: 0 !important;
}

/* Block: Shared Nesting Alignment Resets ---- */
[class*=__inner-container] .wp-block-group:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright),
[class*=__inner-container] .wp-block-cover:not(.alignfull):not(.alignwide):not(.alignleft):not(.alignright) {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
}

/* Block: Shared Widget Styles --------------- */
.wp-block-archives,
.wp-block-categories,
.wp-block-latest-posts,
.wp-block-latest-comments {
  list-style: none;
  margin-left: 0;
}

.wp-block-archives ul,
.wp-block-categories ul,
.wp-block-latest-posts ul,
.wp-block-latest-comments ul {
  list-style: none;
}

.entry-content .wp-block-archives > li,
.entry-content .wp-block-categories > li,
.entry-content .wp-block-latest-posts > li,
.entry-content .wp-block-latest-comment > li {
  margin-left: 0;
}

.entry-content .wp-block-archives > li:last-child,
.entry-content .wp-block-categories > li:last-child,
.entry-content .wp-block-latest-posts > li:last-child,
.entry-content .wp-block-latest-comment > li:last-child {
  margin-bottom: 0;
}

.entry-content .wp-block-archives *,
.entry-content .wp-block-categories *,
.entry-content .wp-block-latest-posts *,
.entry-content .wp-block-latest-comments * {
  font-family: inherit;
}

.entry-content .wp-block-archives li,
.entry-content .wp-block-categories li,
.entry-content .wp-block-latest-posts li {
  color: #2A3233;
}

.wp-block-archives a,
.wp-block-categories a,
.wp-block-latest-posts a,
.wp-block-latest-comments a {
  font-weight: 400;
  text-decoration: none;
}

.wp-block-archives a:hover,
.wp-block-categories a:hover,
.wp-block-latest-posts a:hover,
.wp-block-latest-comments a:hover,
.wp-block-archives a:focus,
.wp-block-categories a:focus,
.wp-block-latest-posts a:focus,
.wp-block-latest-comments a:focus {
  text-decoration: underline;
}

.wp-block-latest-posts a,
.wp-block-latest-comments__comment-meta {
  font-weight: 400;
}

.wp-block-latest-comments__comment-date,
.wp-block-latest-posts__post-date {
  color: #2A3233;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: normal;
  margin-top: 0.15em;
}

/* Block: Shared Media Styles ---------------- */
.wp-block-embed figcaption,
.wp-block-image figcaption {
  color: #2A3233;
  font-size: 14px;
  margin-bottom: 0;
  margin-top: 5px;
}

/* Block: Audio ------------------------------ */
.wp-block-audio audio {
  width: 100%;
}

.wp-block-audio figcaption {
  color: #2A3233;
  font-size: 14px;
  margin-bottom: 0;
  margin-top: 5px;
}

/* Block: Button ----------------------------- */
.wp-block-button {
  margin: 3rem 0;
}

.wp-block-button.is-style-outline {
  color: #2A3233;
}

.is-style-outline .wp-block-button__link:not(.has-text-color) {
  color: inherit;
}

.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  border: 1px solid #2A3233;
  color: #2A3233;
}
.is-style-outline > .wp-block-button__link:hover,
.wp-block-button__link.is-style-outline:hover {
  background: #2A3233;
  color: #fff;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  padding: 10px 30px;
  border: 1px solid;
}

.wp-block-button__link {
  border-radius: 0;
  line-height: 2;
  color: #fff;
  background-color: #4a6566;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  font-weight: 300;
  padding: 10px 30px;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  transition: all 0.2s ease-in;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 50px;
}
.wp-block-button__link:hover {
  background-color: #2B5359;
  color: #fff;
}

.white-button__link {
  color: #fff;
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  padding: 6px 30px;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  transition: all 0.2s ease-in;
}
.white-button__link:hover {
  background-color: #4a6566;
  border: 1px solid #4a6566;
  color: #fff;
}

/* Block: Columns ---------------------------- */
.wp-block-columns.alignfull,
.alignfull:not(.has-background) .wp-block-columns {
  /*
  padding-left: 2rem;
  padding-right: 2rem;
  */
}

.wp-block-column {
  /*margin-bottom: 3.2rem;*/
}

.wp-block-column > *:first-child {
  margin-top: 0;
}

.wp-block-column > *:last-child {
  margin-bottom: 0;
}

/* Block: Cover ------------------------------ */
.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
  width: calc(100% - 4rem);
  padding: 2rem 0;
}

.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover-image .wp-block-cover-text,
.wp-block-cover-image h2,
.wp-block-cover .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text,
.wp-block-cover h2 {
  max-width: 100%;
  padding: 0;
}

.wp-block-cover-image h2,
.wp-block-cover h2 {
  font-size: 32px;
}

/* Block: Embed ------------------------------ */
/* Block: File ------------------------------- */
.wp-block-file {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.wp-block-file a:not(.wp-block-file__button) {
  font-weight: 400;
  text-decoration: none;
}

.wp-block-file a:not(.wp-block-file__button):not(:last-child) {
  margin-right: 1rem;
}

.wp-block-file a:not(.wp-block-file__button):focus,
.wp-block-file a:not(.wp-block-file__button):hover {
  text-decoration: underline;
}

.wp-block-file .wp-block-file__button {
  font-size: 16px;
  padding: 3px 30px;
  letter-spacing: 1px;
  border-radius: 0;
  background: #4a6566;
}
.wp-block-file .wp-block-file__button:hover {
  color: #fff;
  background: #2B5359;
}

.wp-block-file a.wp-block-file__button:visited {
  opacity: 1;
}

.wp-block-file a.wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:hover {
  opacity: 1;
  text-decoration: none;
}

/* Block: Gallery ---------------------------- */
.wp-block-gallery ul {
  list-style: none;
  margin: 0 0 -1.6rem 0;
}

figure.wp-block-gallery.alignnone,
figure.wp-block-gallery.aligncenter {
  margin-bottom: 3rem;
  margin-top: 3rem;
}

figure.wp-block-gallery.alignleft {
  margin: 0.3rem 2rem 2rem 0;
}

figure.wp-block-gallery.alignright {
  margin: 0.3rem 0 2rem 2rem;
}

figure.wp-block-gallery.alignwide {
  margin-bottom: 4rem;
  margin-top: 4rem;
}

figure.wp-block-gallery.alignfull {
  margin-bottom: 5rem;
  margin-top: 5rem;
}

figure.wp-block-image img {
  border-radius: 10px;
}

/* Block: Group ------------------------------ */
.wp-block-group.has-background {
  padding: 32px;
  margin-bottom: 0;
  margin-top: 0;
}

.wp-block-group__inner-container {
  margin: 0 auto;
}

.wp-block-group__inner-container,
.entry-content .wp-block-group p {
  max-width: 100%;
}

.alignfull:not(.has-background) > .wp-block-group__inner-container > p:not(.has-background-color) {
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Block: Image ------------------------------ */
.wp-block-image .alignleft {
  margin: 1em 1.5em 1em 0;
}

.wp-block-image .alignright {
  margin: 1em 0 1em 1.5em;
}

/* Block: Media And Text --------------------- */
.wp-block-media-text .wp-block-media-text__content {
  /*padding: 3rem 2rem;*/
}

.wp-block-media-text .wp-block-media-text__content p {
  max-width: none;
}

.wp-block-media-text__content > *:first-child {
  margin-top: 0;
}

.wp-block-media-text__content > *:last-child {
  margin-bottom: 0;
}

/* Block: Pullquote -------------------------- */
/* STYLE: DEFAULT */
.wp-block-pullquote {
  padding: 0;
  position: relative;
}

.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright {
  max-width: calc(100% - 4rem);
}

.wp-block-pullquote::before {
  background: #fff;
  border-radius: 50%;
  color: #509AA6;
  content: "”";
  display: block;
  font-size: 6.2rem;
  font-weight: 400;
  margin: 0 auto 1.5rem auto;
  text-align: center;
  height: 4.4rem;
  width: 4.4rem;
  line-height: 1.25;
}

.reduced-spacing .wp-block-pullquote::before {
  border: 0.1rem solid currentColor;
  font-size: 5.9rem;
}

.wp-block-pullquote blockquote {
  border: none;
  margin: 0;
  padding: 0;
}

.wp-block-pullquote blockquote p {
  font-family: inherit;
  font-size: 22px;
  font-weight: 600;
  max-width: 100%;
}

.wp-block-pullquote p:last-of-type {
  margin-bottom: 0;
}

.wp-block-pullquote cite {
  color: #2A3233;
  font-size: 14px;
  margin-top: 5px;
  font-style: normal;
}

.wp-block-pullquote.alignleft p,
.wp-block-pullquote.alignright p {
  font-size: 22px;
}

.wp-block-pullquote.alignleft {
  text-align: left;
  padding-left: 1.5em;
}

.wp-block-pullquote.alignright {
  text-align: right;
  padding-right: 1.5em;
}

@media screen and (max-width: 960px) {
  .wp-block-pullquote.alignleft {
    padding-left: 0;
  }
  .wp-block-pullquote.alignright {
    padding-right: 0;
  }
}
.wp-block-pullquote.alignleft::before {
  margin-left: 0;
}

.wp-block-pullquote.alignright::before {
  margin-right: 0;
}

/* STYLE: SOLID BACKGROUND COLOR */
.wp-block-pullquote.is-style-solid-color blockquote p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 22px;
}

.wp-block-pullquote.is-style-solid-color {
  padding: 3rem 2rem;
}

.wp-block-pullquote.is-style-solid-color::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

.wp-block-pullquote.is-style-solid-color.alignleft::before,
.wp-block-pullquote.is-style-solid-color.alignright::before {
  transform: translateY(-50%);
}

.wp-block-pullquote.is-style-solid-color.alignleft::before {
  left: 2rem;
}

.wp-block-pullquote.is-style-solid-color.alignright::before {
  left: auto;
  right: 2rem;
}

.wp-block-pullquote.is-style-solid-color blockquote {
  max-width: 100%;
  text-align: inherit;
}

.wp-block-pullquote.is-style-solid-color cite {
  color: inherit;
}

/* Block: Separator  ------------------------- */
hr {
  display: block;
  clear: both;
  height: 1px;
  margin: 3rem auto;
  padding: 0;
  border: 0;
  color: #B3B3B3;
  background-color: #B3B3B3;
}

hr.wp-block-separator.is-style-default {
  display: block;
  clear: both;
  height: 1px;
  margin: 3rem auto;
  padding: 0;
  border: 0;
  color: #B3B3B3;
  background-color: #B3B3B3;
}

hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  max-width: 100%;
}

/* STYLE: WIDE */
.wp-block-separator.is-style-wide {
  max-width: calc(100vw - 0px);
  position: relative;
  width: 100%;
}

.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots) {
  height: 1px;
}

hr.wp-block-separator:not(.is-style-dots)::before,
hr.wp-block-separator:not(.is-style-dots)::after {
  display: block;
  clear: both;
  height: 1px;
  margin: 3rem auto;
  padding: 0;
  border: 0;
  color: #B3B3B3;
  background-color: #B3B3B3;
}

/* STYLE: DOTS */
.wp-block-separator.is-style-dots::before {
  background: none;
  color: inherit;
  font-size: 3.2rem;
  font-weight: 700;
  height: auto;
  letter-spacing: 1em;
  padding-left: 1em;
  position: static;
  transform: none;
  width: auto;
}

.wp-block-separator.is-style-dots::after {
  content: none;
}

/* Block: Search ----------------------------- */
.wp-block-search .wp-block-search__input {
  width: auto;
}

/* Block: Table ------------------------------ */
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: #BDBDBD;
}

figure.wp-block-table.is-style-stripes {
  border-bottom: none;
}

.wp-block-table.is-style-stripes table {
  border-collapse: collapse;
  border: none;
}
.wp-block-table.is-style-stripes table td,
.wp-block-table.is-style-stripes table th {
  border: none;
  border-color: transparent;
}

.wp-block-table thead {
  border-bottom: none;
}

.wp-block-table table thead tr {
  background: #fff;
}

.wp-block-table td,
.wp-block-table th {
  border: 1px solid;
  padding: 1em 0.5em;
  border-color: #B3B3B3;
}

.wp-block-table th {
  font-weight: 300;
}

@media screen and (max-width: 980px) {
  .wp-block-table {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 640px) {
  .wp-block-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .wp-block-table table {
    min-width: 800px;
  }
}
/* Block: Quote ------------------------------ */
blockquote {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  position: relative;
  font-style: normal;
  font-weight: 600;
  margin-bottom: 1em;
  border-left: 4px solid #4B929D;
}
blockquote p {
  font-size: 16px;
  line-height: 1.8;
}

.wp-block-quote {
  padding-left: 20px;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  position: relative;
  font-style: normal;
  font-weight: 600;
  color: #2A3233;
  border-radius: 0;
  margin-top: 30px;
  margin-bottom: 30px !important;
  line-height: 1.8;
  border-left: 4px solid #4B929D;
}

.wp-block-quote p {
  text-align: inherit;
  margin-bottom: 10px;
}

.wp-block-quote cite {
  font-family: "Montserrat", sans-serif;
  text-align: inherit;
  font-size: 14px;
  font-style: normal;
  font-weight: normal;
}

.wp-block-quote[style="text-align:center"] {
  border-width: 0;
  padding: 0;
}

.wp-block-quote[style="text-align:right"] {
  /*rtl:begin:ignore*/
  border-width: 0 0.2rem 0 0;
  padding: 0 2rem 0 0;
  /*rtl:end:ignore*/
}

@media screen and (max-width: 820px) {
  .wp-block-quote {
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* STYLE: LARGE */
.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
  border: none;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 0;
}

.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
  font-family: "Beloved Script", serif;
  font-size: 18px;
  font-style: normal;
  line-height: 2;
}

.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
  font-size: 14px;
  text-align: inherit;
}

/* Block: Widget Latest Comments ------------- */
.entry-content .wp-block-latest-comments li {
  margin: 2rem 0;
}

.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,
.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta {
  margin-left: 5.5rem;
}

.entry-content .wp-block-latest-comments a {
  text-decoration: none;
}

.entry-content .wp-block-latest-comments a:hover,
.entry-content .wp-block-latest-comments a:focus {
  text-decoration: underline;
}

.wp-block-latest-comments__comment {
  font-size: inherit;
}

.wp-block-latest-comments__comment-date {
  margin-top: 0.4em;
}

.wp-block-latest-comments__comment-excerpt p {
  font-size: 0.7em;
  margin: 0.9rem 0 2rem 0;
}

/* Block: Widget Latest Posts ---------------- */
.wp-block-latest-posts.is-grid li {
  border-top: 1px solid #B3B3B3;
  margin-top: 2rem;
  padding-top: 1rem;
}

.wp-block-latest-posts.has-dates {
  list-style: none;
}

.wp-block-latest-posts.has-dates:not(.is-grid) li {
  margin-top: 1.5rem;
}

.wp-block-latest-posts.has-dates:not(.is-grid) li:first-child {
  margin-top: 0;
}

/* -------------------------------------------------------------------------- */
/*  11. Entry Content
/* -------------------------------------------------------------------------- */
.entry-content {
  line-height: 2;
}

.entry-content > * {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.25em;
  position: relative;
  z-index: 2;
}

.entry-content > *:first-child {
  margin-top: 0;
}

.entry-content > *:last-child {
  margin-bottom: 0;
}

.read-more-button-wrap {
  margin-top: 1em;
  text-align: center;
}

.entry-content a:hover,
.entry-content a:focus {
  text-decoration: none;
}

.entry-content li img {
  display: inline-block;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 3.5rem auto 2rem;
}

.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
  margin-bottom: 1rem;
}

.entry-content hr {
  margin: 4rem auto;
}

.post-inner .entry-content > .wp-block-cover.alignwide:first-child,
.post-inner .entry-content > .wp-block-cover.alignfull:first-child {
  margin-top: 0;
}

/* Font Families ----------------------------- */
.entry-content {
  font-family: "Montserrat", sans-serif;
  letter-spacing: normal;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content address,
.entry-content .wp-caption-text {
  font-family: "Contralto Small", serif;
}

/* Alignment Classes ------------------------- */
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide):not(.max-width768):not(.max-width640):not(.is-style-largeur-960):not(.mw860) {
  max-width: 1100px;
}

[class*=__inner-container] > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
  max-width: 1100px;
  width: 100%;
}

.alignnone,
.aligncenter,
.alignleft,
.alignright,
.alignwide {
  margin-top: 1em;
  margin-right: auto;
  margin-bottom: 1em;
  margin-left: auto;
}

[class*=__inner-container] > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
  margin-left: auto;
  margin-right: auto;
}

/* Full */
.alignfull {
  margin-top: 4rem;
  margin-right: auto;
  margin-bottom: 4rem;
  margin-left: auto;
  max-width: 100vw;
  position: relative;
  width: 100%;
}

[class*=__inner-container] > .alignfull {
  max-width: 100%;
}

/* Wide */
.alignwide {
  max-width: 1600px;
  position: relative;
  /*width: calc(100% - 4rem);*/
}

.alignfull {
  width: 100%;
}

.alignwide {
  margin-left: auto;
  margin-right: auto;
  width: 80%;
  max-width: 1600px;
}

[class*=__inner-container] > .alignwide {
  width: 100%;
}

/* Center */
.aligncenter,
.aligncenter img {
  margin-left: auto;
  margin-right: auto;
}

/* Left and right */
/*
.alignleft,
.alignright {
    max-width: 50%;
}
*/
.alignleft {
  /*rtl:ignore*/
  float: left;
  margin: 1em 1.5em 1em 0;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  margin: 1em 0 1em 1.5em;
}

[class*=wp-block].alignfull:not(.has-background) [class*=__inner-container] > .alignleft,
[class*=wp-block].alignfull:not(.has-background) [class*=__inner-container] > p .alignleft,
[class*=wp-block].alignfull:not(.has-background) [class*=__inner-container] > .wp-block-image .alignleft {
  /*rtl:ignore*/
  margin-left: 2rem;
}

[class*=wp-block].alignfull:not(.has-background) [class*=__inner-container] > .alignright,
[class*=wp-block].alignfull:not(.has-background) [class*=__inner-container] > p .alignright,
[class*=wp-block].alignfull:not(.has-background) [class*=__inner-container] > .wp-block-image .alignright {
  /*rtl:ignore*/
  margin-right: 2rem;
}

/* Entry Media ------------------------------- */
.alignfull > figcaption,
.alignfull > .wp-caption-text {
  margin-left: auto;
  margin-right: auto;
  max-width: 58rem;
  width: calc(100% - 4rem);
  text-align: center;
}

/* ------------------------------------------ 
  HELPER
-------------------------------------------*/
.mb10 {
  margin-bottom: 10px;
}

.mt10 {
  margin-top: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mb32 {
  margin-bottom: 32px !important;
}

.z100 {
  position: relative;
  z-index: 100;
}

.txt_right {
  text-align: right;
}

.fsi {
  font-style: italic;
}

.tac {
  text-align: center;
}

.last0 *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 1100px) {
  .center1080 {
    text-align: center;
  }
}
.frontNone {
  display: none;
}

.ombre-bot {
  height: 200px;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0, transparent 100%);
  position: absolute;
  z-index: 50;
}

.ombre-bot2 {
  height: 360px;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0, transparent 100%);
  position: absolute;
  z-index: 50;
}

.relative {
  position: relative;
}

.mgtn0 {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.max-width768 {
  max-width: 860px !important;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 860px) {
  .max-width768 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.max-width640 {
  max-width: 640px !important;
  margin-left: auto;
  margin-right: auto;
}

.clearfixe::after {
  content: "";
  display: table;
  clear: both;
  border-collapse: collapse;
}

.has-beloved-script-font-family {
  line-height: 1.5;
}

.is-style-largeur-960 {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

/* Optionnel : adapter la largeur sur mobile */
@media (max-width: 960px) {
  .is-style-largeur-960 {
    padding: 0 20px;
  }
}
/* ------------------------------------------
  Structure des blocks ACF : Width 
-------------------------------------------*/
.wp-block[data-type="acf/h1header"],
.wp-block[data-type="acf/lien-4-blocs-accueil"],
.wp-block[data-type="acf/lire-la-suite"],
.wp-block[data-type="acf/colonne-lien"],
.wp-block[data-type="acf/accordeon"],
.wp-block[data-type="acf/h1custom"],
.wp-block[data-type="acf/image-text"],
.wp-block[data-type="acf/lien-accueil"],
.wp-block[data-type="acf/video-custom"],
.wp-block[data-type="acf/a-propos"],
.wp-block[data-type="acf/a-propos2"],
.wp-block[data-type="acf/section-icone"],
.wp-block[data-type="acf/titre-img"],
.wp-block[data-type="acf/slick4"],
.wp-block[data-type="acf/slick3"],
.wp-block[data-type="acf/slick2"],
.wp-block[data-type="acf/slick"],
.wp-block[data-type="acf/diaporama-full-screen"],
.wp-block[data-type="acf/diaporama-full-screen-titre"],
.wp-block[data-type="acf/faqblock"],
.wp-block[data-type="acf/cta"],
.wp-block[data-type="acf/cta2"],
.wp-block[data-type="acf/carte"] {
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
}

.wp-block[data-type="acf/horizon"],
.wp-block[data-type="acf/formulaire-contact"] {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* Block Name: Titre H1 customisé
------------------------------------------*/
.entry-header {
  position: relative;
  width: 100%;
  background-repeat: no-repeat;
  margin-top: 0;
  margin-bottom: 80px;
}

div.entry-title,
h1.entry-title {
  font-size: 48px;
  font-family: "Contralto Small", serif;
  font-weight: normal;
  margin-top: 0;
  text-align: center;
  color: #4a6566;
  position: relative;
  text-transform: uppercase;
}

.h1_sub_title {
  max-width: 640px;
  margin: 30px auto 0 auto;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  font-weight: 300;
  color: #4a6566;
  line-height: 2;
  text-transform: uppercase;
  text-align: center;
}

.arrow_space {
  background: url("assets/img/arrow_space.svg") no-repeat center center;
  width: 93px;
  height: 13px;
  margin: 20px auto 0 auto;
}

.kustom {
  position: relative;
  display: inline-block;
}

.kustom:before {
  position: absolute;
  content: "";
  width: 40px;
  border-top: 1px solid #4B929D;
  bottom: 50%;
  left: -70px;
}

.kustom:after {
  position: absolute;
  content: "";
  width: 40px;
  border-top: 1px solid #4B929D;
  bottom: 50%;
  right: -70px;
}

.h2custom {
  text-align: center;
  color: #4a6566;
}

.h2_head_title {
  font-family: "Contralto Small", serif;
  font-size: 32px;
  font-weight: normal;
  margin-top: 0;
  text-align: center;
  color: #4a6566;
  position: relative;
  text-transform: uppercase;
}

.h2_head_title_sub {
  max-width: 640px;
  margin: 20px auto 0 auto;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  font-weight: 300;
  color: #3B737B;
  line-height: 2;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  h1.entry-title {
    font-size: 34px;
  }
}
.letiret {
  position: relative !important;
}

.letiret:after {
  position: absolute;
  content: "";
  width: 30px;
  border-top: 2px solid #4B929D;
  bottom: -16px;
  left: 50%;
  margin-left: -15px;
}

.letiret2 {
  position: relative !important;
}

.letiret4 {
  position: relative !important;
}

.tiret {
  width: 0;
  height: 4px;
  margin: 0 auto 60px auto;
  background: #509AA6;
}

/* Block Name: Titre H1 avec image
------------------------------------------*/
.h1_bg {
  position: relative;
  background: #4B929D url(assets/img/bg.webp);
  height: 500px;
  width: 100%;
  margin: 0 auto 60px 0;
  background-position: 50% 50%;
  background-size: cover;
  z-index: 1;
}
.h1_bg:before {
  position: absolute;
  bottom: 0;
  z-index: 600;
  content: "";
  width: 100%;
  height: 150px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0, transparent 100%);
}
.h1_bg .entry-header {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 4rem;
  padding-top: 0px;
}
.h1_bg .entry-header .h1_sub_title,
.h1_bg .entry-header .entry-title {
  color: #fff;
}
.h1_bg .entry-header h1 {
  margin-bottom: 0;
  position: absolute;
  z-index: 700;
  bottom: 80px;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.8);
  /*background: url(assets/img/feuille1.svg) 50% 100% no-repeat;*/
}

/* Block Name: Titre H1 customisé avec image
------------------------------------------*/
.bghead {
  position: relative;
  background: #4B929D;
  height: 100vh;
  /*width: calc(100% - 80px) !important;*/
  width: 100%;
  /*margin: 0 40px;*/
  margin: 0 auto 60px 0;
  background-position: 50% 50%;
  background-size: cover;
  z-index: 1;
}
.bghead:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background-color: transparent;
  opacity: 0.9;
}
.bghead .entry-header {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 4rem;
  padding-top: 0px;
}
.bghead .entry-header .h1_sub_title,
.bghead .entry-header .entry-title {
  color: #fff;
}
.bghead .entry-header h1 {
  margin-bottom: 0;
  position: absolute;
  bottom: 80px;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.8);
  z-index: 100;
  /*background: url(assets/img/feuille1.svg) 50% 100% no-repeat;*/
}

.mgb3em {
  margin-bottom: 3em;
}

/* Block Name: Carte
------------------------------------------*/
.carte {
  background-color: #424F51;
  position: relative;
  width: 100%;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-right: auto;
  margin-left: auto;
  line-height: 1;
}

.page-template-page-localisation .carte {
  background: none;
  position: relative;
  width: 100%;
  margin-top: 0 !important;
  margin-bottom: 80px !important;
  line-height: 1;
}

.carte_grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.map {
  position: relative;
  display: grid;
  align-items: center;
}

.carte_txt {
  line-height: 2;
  padding: 0 0 0 40px;
  color: #fff;
}
.carte_txt .gps {
  color: #fff;
}
.carte_txt h2 {
  text-transform: uppercase;
  color: #fff !important;
  margin-top: 0;
  margin-bottom: 40px;
}
.carte_txt .entypo-location:before {
  margin-right: 8px;
}

.carte_txt_child {
  border: 1px solid #B3B3B3;
  padding: 40px 40px;
}

.slick-lien_white {
  background: #fff;
  border-radius: 50px;
  font-size: 14px;
  position: relative;
  text-transform: uppercase;
  padding: 10px 30px;
  font-weight: 400;
  letter-spacing: 1px;
  color: #2A3233;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  transition: all 0.2s ease-in;
  margin-top: 16px;
}
.slick-lien_white:hover {
  background: #2A3233;
  color: #fff;
}

@media screen and (max-width: 1280px) {
  .carte_txt .slick-lien_white {
    margin-left: 20px;
  }
  .gps {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 810px) {
  .carte_grid {
    grid-template-columns: 1fr;
  }
  .carte_txt {
    padding: 40px 0;
  }
}
@media screen and (max-width: 480px) {
  .carte_txt {
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .carte_txt_child {
    border: 1px solid #B3B3B3;
    padding: 10px 10px;
  }
}
@media screen and (max-width: 960px) {
  .carte {
    position: relative;
    width: calc(100% - 0px);
  }
}
/* Block Name: Carousel
------------------------------------------*/
.comments_wrap .slick-list {
  width: calc(100% - 220px);
  margin: 0 110px !important;
}

@media screen and (max-width: 480px) {
  .comments_wrap .slick-list {
    width: calc(100% - 160px);
    margin: 0 80px !important;
  }
}
.comments_wrap {
  padding: 40px 0;
  margin-top: 0;
  margin-bottom: 0;
}

.comments-slide {
  max-width: 1124px;
  margin: 0 auto;
}

.the_comment {
  padding: 0 0;
  text-align: center;
}

.the_content {
  margin-bottom: 30px;
}

.the_author {
  font-size: 12px;
}

.the_date {
  font-size: 12px;
  text-transform: uppercase;
}

/* Block Name: Carousel 2 (non utilisé)
------------------------------------------*/
button.slick-prev,
button.slick-next {
  border-radius: 0px !important;
}
button.slick-prev:hover,
button.slick-next:hover {
  border-radius: 0px !important;
}

.items_slick {
  max-width: 880px;
  margin: 100px auto;
}
.items_slick .slick-prev {
  left: -60px;
}
.items_slick .slick-next {
  right: -60px;
}

.items_img {
  width: 176px;
  text-align: center !important;
}
.items_img img {
  /*filter: grayscale(1); */
  margin: 0 auto;
  max-width: 176px !important;
}

@media screen and (max-width: 768px) {
  .items_slick {
    max-width: 768px;
    margin: 80px auto;
  }
  .items_img {
    width: 150px;
  }
  .items_img img {
    margin: 0 auto;
    max-width: 150px !important;
  }
}
@media screen and (max-width: 640px) {
  .items_slick {
    max-width: 640px;
    margin: 60px auto;
  }
  .items_img {
    width: 120px;
  }
  .items_img img {
    margin: 0 auto;
    max-width: 120px !important;
  }
}
@media screen and (max-width: 480px) {
  .items_img {
    width: 90px;
  }
  .items_img img {
    margin: 0 auto;
    max-width: 90px !important;
  }
}
@media screen and (max-width: 360px) {
  .items_img {
    width: 80px;
  }
  .items_img img {
    margin: 0 auto;
    max-width: 80px !important;
  }
}
/* Block Name: Formulaire de Contact
------------------------------------------*/
.mw860 {
  max-width: 860px;
  margin: 0 auto;
}

.white {
  color: #fff;
}

.uppercase {
  text-transform: uppercase;
}

.p_contact {
  position: relative;
  padding: 0 0 0 0;
  color: #2A3233;
  width: 100% !important;
  background-size: cover;
  background-position: 50% 50%;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/*
  .p_contact:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: vars.$color;
    opacity: 1; }
*/
.contact {
  background: #fff;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 10;
  max-width: 640px;
  padding: 20px 2em 10px 2em;
  margin: 0 auto;
  border-radius: 10px;
}
.contact label {
  color: #2A3233;
}

.kontakt {
  background: #fff;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 10;
  max-width: 860px;
  margin: 0 auto;
  padding: 2em;
}

.h-tiret {
  color: #2A3233;
  margin-top: 0 !important;
}

.t_contact {
  margin: 0 auto;
}

.flexform {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-column-gap: 40px;
  row-gap: 40px;
}
.flexform .flexform-first {
  width: 100%;
}
.flexform .flexform-last {
  position: relative;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
}

@media screen and (max-width: 1000px) {
  .flexform-1 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 1020px) {
  .flexform .flexform-first {
    max-width: 100%;
    text-align: left;
    margin: 0 auto;
  }
  .flexform .flexform-last {
    max-width: 100%;
  }
}
.flex-contact {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex-contact > div.flex-contact_child {
  flex-basis: 48.5%;
}

@media screen and (max-width: 768px) {
  .flexform {
    grid-template-columns: 1fr;
  }
  .contact {
    padding: 20px;
  }
  .flex-contact > div.flex-contact_child {
    flex-basis: 100%;
  }
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 textarea {
  width: 100%;
}

::-moz-placeholder {
  font-size: 14px;
  text-transform: uppercase;
}

::placeholder {
  font-size: 14px;
  text-transform: uppercase;
}

.wpcf7-form label {
  margin-bottom: 0;
  /*text-indent: -99999px;*/
  width: 100%;
}

.wpcf7-form p {
  margin-bottom: 0;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 0 !important;
}
.wpcf7-list-item label {
  margin-bottom: 2px !important;
}

.screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0;
}

.wpcf7-mail-sent-ng,
.wpcf7-validation-errors {
  padding: 0.5em 1.5em;
  color: #fff;
  background: red;
  margin-top: 1.5em;
}

.wpcf7-not-valid-tip {
  font-size: 14px;
  color: red;
}

.wpcf7-mail-sent-ok {
  padding: 0.5em 1em;
  color: #fff;
  background: green;
  margin-top: 1.5em;
}

.wpcf7-textarea {
  width: 100%;
  height: 180px;
  margin-bottom: 0;
}

input[type=submit].wpcf7-submit {
  display: block;
  line-height: 2;
  background: #4a6566;
  margin: 1em auto;
  font-weight: 400;
  padding: 5px 30px 5px 30px;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s ease-in;
  border-radius: 50px;
  text-transform: uppercase;
  font-weight: 600;
  border: 1px solid #4a6566;
  letter-spacing: 1px;
}
input[type=submit].wpcf7-submit:hover {
  background: #2B5359;
  border: 1px solid #2B5359;
  color: #fff;
}

@media screen and (max-width: 768px) {
  input[type=submit].wpcf7-submit {
    margin: 1em auto 0 auto;
    display: block;
  }
}
.wpcf7-form label {
  margin-bottom: 1em;
  max-width: 100%;
}

.wpcf7-form p {
  margin-bottom: 0;
}

.wpcf7-list-item-label {
  padding-left: 2px;
}

.screen-reader-response {
  padding-bottom: 1em;
  color: #fff;
}

.wpcf7-validation-errors {
  padding: 0.5em 1em;
  color: #fff;
  background: red;
}

.wpcf7-mail-sent-ok {
  padding: 0.5em 1em;
  color: #fff;
  background: green;
}

#coord {
  padding-top: 0;
  margin-bottom: 50px;
  color: #2A3233;
  padding: 12px;
  text-align: center;
}
#coord * {
  color: #2A3233;
}
#coord a {
  color: #2A3233;
}
#coord .social-r a {
  font-size: 18px;
  margin: 0 7px;
  color: #509AA6;
  transition: all 0.2s ease-in;
}
#coord .social-r a:hover {
  color: #2B5359;
}

.coord_child {
  padding: 0 2em;
}

.foot-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.auth {
  font-weight: 400;
}

.entypo-location:before,
.entypo-mobile:before,
.entypo-phone:before,
.entypo-mail:before {
  margin-right: 5px;
}

.font-complementaire {
  font-family: "Montserrat", sans-serif;
}

.font-complementaire_i {
  font-family: "Montserrat", sans-serif;
  font-style: italic;
}

.caseachocher {
  display: flex;
  gap: 5px;
  flex-direction: column;
}

.lesdates p {
  display: flex;
  gap: 5px;
  flex-direction: row;
}

.info_form {
  font-size: 14px;
  font-style: italic;
}

.f13 {
  font-size: 14px;
}

.fwbold {
  text-transform: uppercase;
  display: inline-block;
  font-weight: 600;
  position: relative;
  margin-top: 20px;
  margin-bottom: 2px;
  color: #4B929D;
  /*
  &:before {
      float: left;
      content: " ";
      margin-right: 16px;
      margin-top: 5px;
      width: 28px;
      height: 15px;
     background: url(assets/img/puce_faq.png) no-repeat;
  }
     */
}

/*  Block Name: Demande de devis
------------------------------------------*/
.wpcf7-form .devis {
  max-width: 768px;
  margin: 0 auto;
}
.wpcf7-form .devis #message {
  margin-bottom: 1em;
}
.wpcf7-form .devis label input[type=checkbox] {
  vertical-align: baseline;
  margin-right: 10px;
}
.wpcf7-form .devis label {
  margin-bottom: 0;
  max-width: 100%;
}
.wpcf7-form .devis .mbb {
  margin-bottom: 2em;
}

@media screen and (max-width: 800px) {
  .wpcf7-form .devis {
    padding: 0 30px;
  }
}
/*  Block Name: Slick Slider (image à gauche) + (image à droite)
------------------------------------------*/
.color_white {
  color: #fff;
}

.slickSlide-reverse,
.slickSlide {
  position: relative;
  max-width: 1600px;
  display: flex;
  align-items: center;
  gap: 80px;
  margin: 100px auto;
}

@media screen and (max-width: 1600px) {
  .slickSlide-reverse,
  .slickSlide {
    padding: 0 20px;
  }
}
.slickSlide-reverse img {
  border-radius: 10px;
}

.slickSlide img {
  border-radius: 10px;
}

.h_right {
  position: relative;
  z-index: 5000;
  color: #2A3233;
  margin-bottom: 10px;
}

.h_left {
  position: relative;
  z-index: 5000;
  color: #2A3233;
  margin-bottom: 10px;
}

@media screen and (max-width: 1280px) {
  .mob_tac {
    text-align: center;
  }
  .h_left {
    margin-right: auto;
    margin-left: auto;
  }
  .h_right {
    margin-right: auto;
    margin-left: auto;
  }
  .slickTxt2 .txtright {
    -moz-text-align-last: center;
         text-align-last: center;
  }
  .slickTxt2 .oky {
    margin-left: 20px;
  }
  .slickTxt .oky {
    margin-left: 20px;
  }
}
.slickSlide-reverse2,
.slickSlide2 {
  position: relative;
  max-width: 100%;
  margin: 60px auto 60px auto;
  padding: 0 0 0 0;
  display: flex;
  align-items: center;
  gap: 80px;
}

.slickSlide-reverse2 img {
  border-radius: 0px 5px 5px 0px;
}

.slickSlide2 img {
  border-radius: 5px 0px 0px 5px;
}

.page-template-page-tourisme.slickSlide-reverse2 img {
  border-radius: 5px;
}

.page-template-page-tourisme .slickSlide2 img {
  border-radius: 5px;
}

.single-item .slick-prev,
.single-item2 .slick-prev {
  left: inherit;
  right: 50px;
  top: inherit;
  bottom: -26px;
}
.single-item .slick-prev:before,
.single-item2 .slick-prev:before {
  content: "\e761";
  display: block;
  background: rgba(255, 255, 255, 0.8);
}
.single-item .slick-next,
.single-item2 .slick-next {
  right: 0;
  top: inherit;
  bottom: -26px;
}
.single-item .slick-next:before,
.single-item2 .slick-next:before {
  content: "\e762";
  display: block;
  background: rgba(255, 255, 255, 0.8);
}

.plein-ecran {
  position: absolute;
  z-index: 1000;
  top: 30px;
  left: 30px;
  background: none;
  padding: 2px 10px;
  color: #fff;
  border: 1px solid #fff;
  font-size: 14px;
}
.plein-ecran:before {
  margin-right: 10px;
}
.plein-ecran:hover {
  color: #fff;
  border: 1px solid #509AA6;
  background: #509AA6;
}

.plein-ecran2 {
  position: absolute;
  z-index: 1000;
  top: 30px;
  right: 30px;
  background: none;
  padding: 2px 10px;
  color: #fff;
  border: 1px solid #fff;
  font-size: 14px;
}
.plein-ecran2:before {
  margin-right: 10px;
}
.plein-ecran2:hover {
  color: #fff;
  border: 1px solid #509AA6;
  background: #509AA6;
}

/*
.slickSlide-reverse:has(+ .slickSlide) {
    padding-bottom: 0px;
}
.slickSlide:has(+ .slickSlide-reverse) {
    padding-bottom: 0px;
}
*/
.parent {
  position: relative;
  z-index: 1;
  width: 50%;
}

.parent2 {
  position: relative;
  z-index: 1;
  width: 50%;
}

.parent3 {
  position: relative;
  z-index: 1;
  width: 50%;
}

.parent4 {
  position: relative;
  z-index: 1;
  width: 50%;
}

@media screen and (max-width: 1280px) {
  .parent,
  .parent2,
  .parent3,
  .parent4 {
    width: 100%;
  }
  .parent {
    margin-right: 0;
  }
  .parent2 {
    margin-left: 0;
  }
  .parent3 {
    margin-right: 0;
  }
  .parent4 {
    margin-left: 0;
  }
}
.single-item {
  background: none;
  padding-bottom: 0 !important;
  width: 100%;
}

.single-item2 {
  background: none;
  padding-bottom: 0 !important;
  width: 100%;
}

.slickTxt {
  position: relative;
  z-index: 10;
  width: 50%;
  padding: 0 40px 0 0;
  text-align: left;
}
.slickTxt .relative *:last-child {
  margin-bottom: 10px;
}
.slickTxt h2 {
  text-align: left;
  margin-top: 0;
  margin-bottom: 40px;
}

.slickTxt2 {
  color: #2A3233;
  position: relative;
  z-index: 10;
  width: 50%;
  padding: 0 0 0 40px;
  text-align: right;
}
.slickTxt2 .relative *:last-child {
  margin-bottom: 10px;
}
.slickTxt2 h2 {
  text-align: right;
  margin-top: 0;
  margin-bottom: 40px;
}

.slick_tarif {
  position: relative;
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 20px;
}
.slick_tarif .spanny {
  position: relative;
  z-index: 100;
  display: inline-block;
}
.slick_tarif .spannyGrey {
  position: relative;
  z-index: 100;
  background: #4B929D;
  display: inline-block;
  padding-right: 40px;
}

.slick_tarif2 {
  position: relative;
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 20px;
}
.slick_tarif2 .spanny2 {
  position: relative;
  z-index: 100;
  display: inline-block;
}
.slick_tarif2 .spannyGrey2 {
  position: relative;
  z-index: 100;
  background: #4B929D;
  display: inline-block;
  padding-left: 40px;
}

@media screen and (max-width: 1280px) {
  .slick_tarif,
  .slick_tarif2 {
    margin: 0 20px;
  }
  .slick_tarif2 .spannyGrey2 {
    padding-left: 0;
    padding-right: 40px;
  }
  .slick_tarif2:before {
    left: 0;
  }
}
.flexlien_end {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
}

.flexlien_start {
  display: flex;
  justify-content: flex-start;
  gap: 20px;
}

@media screen and (max-width: 1280px) {
  .flexlien_start {
    justify-content: center;
  }
  .flexlien_end {
    justify-content: center;
  }
}
@media screen and (max-width: 810px) {
  .lien_center {
    display: flex;
    justify-content: center;
  }
}
.slick-lien {
  background: #4a6566;
  border-radius: 50px;
  font-size: 14px;
  position: relative;
  text-transform: uppercase;
  padding: 10px 30px;
  font-weight: 400;
  letter-spacing: 1px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  transition: all 0.2s ease-in;
  margin-top: 16px;
}
.slick-lien:hover {
  background: #2B5359;
  color: #fff;
}

.slick-lien_dark {
  background: #4a6566;
  border-radius: 50px;
  font-size: 14px;
  position: relative;
  text-transform: uppercase;
  padding: 10px 30px;
  font-weight: 400;
  letter-spacing: 1px;
  color: #fff;
  border-bottom: 1px solid #2A3233;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  transition: all 0.2s ease-in;
  margin-top: 16px;
}
.slick-lien_dark:hover {
  background: #2B5359;
  color: #fff;
}

@media screen and (max-width: 1280px) {
  .slick-lien_dark {
    margin-left: 20px;
    margin-right: 20px;
  }
}
.bg_color,
.bg_color2 {
  position: relative;
}

.leslide {
  position: relative;
  z-index: 999;
  align-items: center;
}

.slider_img {
  position: relative;
  z-index: 999;
  height: auto;
}
.slider_img img {
  height: 100% !important;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 1280px) {
  .slickSlide-reverse2,
  .slickSlide2,
  .slickSlide-reverse,
  .slickSlide {
    gap: 10px;
    margin: 0 auto 60px auto;
  }
}
@media screen and (max-width: 1280px) {
  .slickSlide-reverse2,
  .slickSlide-reverse {
    flex-direction: column-reverse;
  }
  .slickSlide-reverse2 .txtleft, .slickSlide-reverse2 .txtright,
  .slickSlide-reverse .txtleft,
  .slickSlide-reverse .txtright {
    text-align: center;
  }
  .slickSlide2,
  .slickSlide {
    flex-direction: column;
  }
  .slickSlide2 .txtleft, .slickSlide2 .txtright,
  .slickSlide .txtleft,
  .slickSlide .txtright {
    text-align: center;
  }
  .single-item2,
  .single-item {
    width: 100%;
  }
  .slickTxt2,
  .slickTxt {
    width: 100%;
    padding: 20px 0 2em 0;
    text-align: left;
  }
  .slickTxt2 h2,
  .slickTxt h2 {
    text-align: center;
  }
}
/*--------- Modal -------*/
.poco {
  text-align: center;
}

.popContent {
  display: none;
}

.popop {
  display: inline-block;
  border: 1px solid #1B3337;
  color: #1B3337;
  padding: 2px 30px;
  margin-bottom: 30px;
}
.popop:hover {
  border: 1px solid #2B5359;
  color: #fff;
  background: #2B5359;
}
.popop:visited:hover {
  border: 1px solid #2B5359;
  color: #fff;
  background: #2B5359;
}
.popop:focus {
  border: 1px solid #2B5359;
  color: #2B5359;
  background: none;
}
.popop:before {
  margin-right: 10px;
}

/*  Block Name: Grand Slider
------------------------------------------*/
.parent-slide {
  max-width: 1280px;
  margin-top: 0;
  margin-bottom: 0;
}
.parent-slide .slick-prev {
  left: inherit;
  right: 50px;
  top: inherit;
  bottom: -25px;
}
.parent-slide .slick-prev:before {
  content: "\e761";
  display: block;
  background: rgba(255, 255, 255, 0.8);
}
.parent-slide .slick-next {
  right: 0;
  top: inherit;
  bottom: -25px;
}
.parent-slide .slick-next:before {
  content: "\e762";
  display: block;
  background: rgba(255, 255, 255, 0.8);
}

.contenu-slide {
  position: relative;
  margin: 0 auto;
  max-width: 1280px;
}

.grand_slider {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.txt_grand_slider {
  font-size: 16px;
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  padding: 10px 20px;
  bottom: 30px;
  left: 30px;
}

.slider_head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
}
.slider_head h2 {
  margin: 30px 0 30px 0;
  display: inline-block;
}

.trait {
  width: 40px;
  border-top: 1px solid #4a6566;
  height: 1px;
}

.fz16 {
  font-size: 16px;
}

.griddy_room {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  margin: 60px auto 30px auto;
}

@media screen and (max-width: 640px) {
  .griddy_room {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 480px) {
  .griddy_room {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 320px) {
  .griddy_room {
    grid-template-columns: 1fr;
  }
}
.listing_txt_black {
  font-size: 14px;
  color: #2A3233;
  letter-spacing: 1px;
  text-align: center;
  padding: 1em 1em;
}

.photo_plus {
  padding: 0 0 60px 0;
}

.photo_plus img {
  margin-bottom: 5px;
}

.klik2 {
  font-size: 16px;
  display: inline-block;
  margin: 0 auto 30px auto;
  cursor: pointer;
  color: #2A3233;
  text-transform: uppercase;
  background: none;
  border-radius: 50px;
  border: 1px solid #2A3233;
  padding: 5px 30px;
  font-weight: 500;
  color: #2A3233;
  letter-spacing: 1px;
}
.klik2:focus, .klik2:hover {
  background-color: #4B929D;
  border: 1px solid #4B929D;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .grand_slider {
    flex-direction: column;
  }
}
/*  Block Name: FAQ
------------------------------------------*/
.faq {
  width: 100%;
  padding: 0 0;
  margin-top: 100px;
  margin-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
}
.faq * {
  color: #2A3233;
}
.faq .acc_content a {
  color: #4B929D;
}

h2.faq-title {
  color: #4a6566;
  position: relative;
  text-align: center;
  margin-top: 0;
  margin-bottom: 40px;
  text-transform: uppercase;
}

@media screen and (max-width: 960px) {
  .faq {
    width: calc(100% - 0px);
  }
  h2.faq-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 860px) {
  .faq {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}
.toogfaq {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  padding: 0;
  list-style: none;
}

.toogfaq .acc_section {
  border: solid 1px #D4D4D4;
  /*box-shadow: 0 1px 5px 1px rgba(46, 50, 60, .09);*/
  position: relative;
  z-index: 10;
  margin-top: -2px !important;
  overflow: hidden;
  margin-bottom: 40px;
  transition: box-shadow 0.3s;
  border-radius: 10px;
}

.toogfaq .acc_section:last-child {
  margin-bottom: 0;
}

.toogfaq .acc_title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0;
}

@media screen and (max-width: 960px) {
  .faq {
    padding: 0 20px;
  }
  .toogfaq .acc_section {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 800px) {
  .acc_title {
    font-size: 1.6rem;
  }
}
.toogfaq .acc_section .acc_head {
  position: relative;
  padding: 10px 20px;
  display: block;
  cursor: pointer;
}

.toogfaq .acc_section .acc_head .acc_title:before {
  float: left;
  font-family: "entypo", sans-serif;
  font-size: 24px;
  content: "\e760";
  margin-right: 16px;
  margin-top: -8px;
}

.toogfaq .acc_section.acc_active .acc_head .acc_title:before {
  float: left;
  font-family: "entypo", sans-serif;
  content: "\e762";
  margin-right: 16px;
  margin-top: -8px;
}

.toogfaq .acc_section .acc_head:hover {
  background: none;
}

.toogfaq .acc_section .acc_head:hover > .acc_title {
  color: #4a6566;
}

.toogfaq .acc_section .acc_head .acc_title {
  margin: 5px 0;
}

.toogfaq .acc_section .acc_content {
  padding: 0 1.5em 0 1.5em;
  font-style: normal;
}
.toogfaq .acc_section .acc_content:last-child {
  margin-bottom: 0;
}

.toogfaq .acc_section.acc_active > .acc_content {
  display: block;
}

.toogfaq .acc_section.acc_active > .acc_head {
  background: none;
}

.toogfaq .acc_section.acc_active > .acc_head .acc_title {
  color: #2A3233;
}

/*  Block Name: accordeon 
------------------------------------------*/
.intro_accordeon {
  max-width: 960px;
  margin: 0 auto 40px auto;
}
.intro_accordeon > h2 {
  margin-top: 0;
}

.tooger {
  padding: 60px 30px;
  background: #4B929D;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  position: relative;
  width: 100%;
}

.toog {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  margin-top: 10px;
  margin-bottom: 20px;
}

.toog .acc_section {
  border-bottom: 1px dashed #B3B3B3;
  background: #fff;
  box-shadow: 0 1px 2px 0 rgba(46, 50, 60, 0.09);
  position: relative;
  z-index: 10;
  margin-top: -2px !important;
  overflow: hidden;
  margin-bottom: 20px;
  transition: box-shadow 0.3s;
  border: none;
}

.toog .acc_section:last-child {
  border-bottom: none;
}

.toog .acc_title {
  font-size: 26px;
  font-weight: normal;
  margin-bottom: 0;
  padding: 0;
}

@media screen and (max-width: 800px) {
  .acc_title {
    font-size: 1.6rem;
  }
}
.toog .acc_section .acc_head {
  position: relative;
  padding: 0px 30px;
  display: block;
  cursor: pointer;
}

.toog .acc_section .acc_head .acc_title:before {
  float: right;
  font-family: "entypo", sans-serif;
  font-size: 24px;
  content: "\e760";
  margin-right: 0;
  margin-top: 5px;
}

.toog .acc_section.acc_active .acc_head .acc_title:before {
  float: right;
  font-family: "entypo", sans-serif;
  content: "\e763";
  margin-right: 0;
  margin-top: 12px;
}

.toog .acc_section .acc_head:hover {
  background: none;
}

.toog .acc_section .acc_head:hover > .acc_title {
  color: #4B929D;
}

.toog .acc_section .acc_head .acc_title {
  margin: 5px 0;
}

.toog .acc_section .acc_content {
  padding: 0 30px 30px 30px;
  font-style: normal;
}
.toog .acc_section .acc_content:last-child {
  margin-bottom: 0;
}

.toog .acc_section.acc_active > .acc_content {
  display: block;
}

.toog .acc_section.acc_active > .acc_head {
  background: none;
}

.toog .acc_section.acc_active > .acc_head .acc_title {
  color: #4B929D;
}

/*  Block Name: Section icone
------------------------------------------*/
h2.icone-title {
  color: #2A3233;
  position: relative;
  text-align: center;
  margin-top: 0;
  margin-bottom: 60px;
}

.section_icone {
  position: relative;
  margin: 100px auto;
  padding: 0 0 0 0;
  color: #2A3233;
  width: 100% !important;
  background-size: cover;
  background-position: 50% 50%;
}
.section_icone .child-icone {
  position: relative;
  z-index: 10;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.section_icone .child-icone h2 {
  padding: 0;
}

.griddy_6 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

@media screen and (max-width: 960px) {
  .griddy_6 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 640px) {
  .griddy_6 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 480px) {
  .griddy_6 {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 320px) {
  .griddy_6 {
    display: grid;
    grid-template-columns: 1fr;
  }
}
.griddy_5 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.listing {
  height: 100%;
  margin-bottom: 3rem;
}

.listing_img {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon_child {
  margin: 0 auto;
  text-align: center;
}
.icon_child img {
  width: 32px;
  max-height: 40px;
}

.listing_txt {
  font-size: 14px;
  color: #2A3233;
  letter-spacing: 1px;
  text-align: center;
  padding: 1em 1em;
}

/*  Block Name: Liens chambres +  (Lien vers la chambre direct dans le tamplate)
------------------------------------------*/
.rapidlink {
  max-width: 1600px;
  margin-top: 40px;
  margin-right: auto;
  margin-bottom: 40px;
  margin-left: auto;
  position: relative;
}

@media screen and (max-width: 1600px) {
  .rapidlink {
    padding: 0 20px;
  }
}
.flex-lien-chambres {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  -moz-column-gap: 32px;
       column-gap: 32px;
  row-gap: 32px;
}

@media screen and (max-width: 860px) {
  .flex-lien-chambres {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
}
.rapidlink2 {
  max-width: 1920px;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  position: relative;
  padding: 20px 20px;
}

.flex-lien-chambres2 {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 40px;
}

@media screen and (max-width: 768px) {
  .flex-lien-chambres2 {
    row-gap: 60px;
  }
}
@media screen and (max-width: 768px) {
  .flex-lien-chambres2 {
    grid-template-columns: 1fr;
  }
  .flex-lien-chambres2 a:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 560px) {
  .flex-lien-chambres {
    grid-template-columns: 1fr;
  }
  .flex-lien-chambres a {
    margin-bottom: 20px;
  }
  .flex-lien-chambres a:last-child {
    margin-bottom: 0;
  }
  .rapidlink {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
}
.la_chambre2 {
  width: 100%;
  padding: 0;
  padding: 10px;
  margin-bottom: 0;
  margin-bottom: 40px;
}

.content_chambre {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 0;
  border-radius: 5px;
}
.content_chambre:before {
  content: "";
  position: absolute;
}
.content_chambre img {
  width: 100%;
  opacity: 1;
  transition: all 0.2s ease-in 0s;
}
.content_chambre .link_title2 {
  font-family: "Contralto Small", serif;
  position: absolute;
  font-size: 24px !important;
  font-weight: normal;
  text-align: center;
  z-index: 20;
  top: 42%;
  padding-left: 0;
  padding-right: 0;
  margin: 0 auto !important;
  color: #fff;
  line-height: 2;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
  text-transform: uppercase;
}
.content_chambre .link_title {
  font-family: "Contralto Small", serif;
  position: absolute;
  font-size: 32px !important;
  font-weight: normal;
  text-align: center;
  z-index: 20;
  top: 42%;
  padding-left: 0;
  padding-right: 0;
  margin: 0 auto !important;
  color: #fff;
  line-height: 2;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
  text-transform: uppercase;
}
.content_chambre .capacite {
  font-size: 16px;
}
.content_chambre .surface {
  font-size: 16px;
}
.content_chambre .decouvre2.entypo-right-open-mini:before {
  margin-right: 5px;
}
.content_chambre .link_title2 {
  font-family: "Contralto Small", serif;
  color: #fff;
  letter-spacing: 2px;
  margin: 0 auto;
  font-size: 36px;
  font-weight: normal;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.img_chambre {
  position: relative;
  overflow: hidden;
}
.img_chambre img {
  border-radius: 5px 0 0 5px;
}

.mgt60px {
  margin-bottom: 60px;
}

.flex-lien-chambres a {
  display: block;
  transition: box-shadow 0.3s;
  box-shadow: 0 1px 2px 0 rgba(46, 50, 60, 0.09);
  color: #2A3233;
}
.flex-lien-chambres a:hover .content_chambre .img_chambre > img {
  transform: scale(1.04);
  opacity: 0.5;
}
.flex-lien-chambres a:hover > .content_chambre:before {
  background: #4B929D;
  transition: all 0.5s ease-out;
  opacity: 0.5;
  width: 100%;
  height: 100%;
}
.flex-lien-chambres a:hover .content_chambre > .text_chambre {
  transition: all 0.25s ease-out;
}
.flex-lien-chambres a:hover .content_chambre .text_chambre .tac > .decouvre {
  background: #2B5359;
}

@media screen and (max-width: 960px) {
  .content_chambre {
    grid-template-columns: 1fr 1fr;
  }
  .content_chambre .link_title2,
  .content_chambre .link_title {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .content_chambre {
    grid-template-columns: 1fr;
  }
  .content_chambre .link_title {
    padding-left: 0;
  }
  .text_chambre {
    padding: 40px;
  }
}
@media screen and (max-width: 640px) {
  .content_chambre .text_chambre {
    gap: 1px;
  }
}
@media screen and (max-width: 562px) {
  .la_chambre {
    width: 100%;
    padding: 0;
    padding: 10px;
    margin-bottom: 0;
  }
}
.a_chambre {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.a_chambre .content_chambre {
  position: relative;
  background: #4B929D;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 0 !important;
}

a.a_chambre:hover .content_chambre > img {
  transform: scale(1.1);
  opacity: 0.13;
}

/*  Block Name: autre-hebergement
------------------------------------------*/
.autre-hebergement {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  max-width: 1180px;
  margin: 0 auto;
  gap: 60px;
}
.autre-hebergement a {
  display: inline-block;
}
.autre-hebergement img {
  border-radius: 5px;
  width: 100%;
  height: auto;
}
.autre-hebergement .link_title {
  text-align: center;
}

@media screen and (max-width: 960px) {
  .autre-hebergement {
    gap: 20px;
  }
}
@media screen and (max-width: 740px) {
  .autre-hebergement {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
  .autre-hebergement > a {
    max-width: 60%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 480px) {
  .autre-hebergement > a {
    max-width: 80%;
  }
}
/*  Block Name: Méthode de réservation
------------------------------------------*/
.section_resa {
  margin-right: auto;
  margin-left: auto;
  max-width: 960px;
  background: #fff;
}

.section_resa_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 32px;
       column-gap: 32px;
}

@media screen and (max-width: 640px) {
  .section_resa_grid {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}
@media screen and (max-width: 960px) {
  .section_resa {
    padding: 0 40px;
  }
}
.resa_list a {
  color: #FFF;
  transition: all 0.3s;
}
.resa_list a:hover {
  color: #fff;
}
.resa_list a:hover > .resa_child {
  background: #2B5359;
}

.resa_child {
  height: 100%;
  background: #4B929D;
  padding: 30px 1em;
  transition: all 0.3s;
  border-radius: 10px;
}

.resa_img {
  margin: 0 auto 1em auto;
  max-width: 50px;
  text-align: center;
}

.resa_txt {
  text-align: center;
}

/*
Block Name: A propos
------------------------------------------*/
.nous {
  position: relative;
  background: #4B929D;
  margin: 0 auto;
  padding: 2em 0 4em 0;
  color: #fff;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
  background-attachment: fixed;
}
.nous:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgb(51, 50, 56) 0%, rgb(51, 50, 56) 40%, rgba(51, 50, 56, 0.9) 100%);
  opacity: 1;
}

.zi10 {
  position: relative;
  z-index: 10;
  max-width: 768px;
  margin: 0 auto;
}

.aic {
  align-items: center;
}

.proprio img {
  border-radius: 100%;
  width: 220px;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
}

/*
Block Name: A propos 2
------------------------------------------*/
/**
 * Block Name: Intro 2 blocs
------------------------------------------*/
.introContent {
  margin-top: 0;
  margin-bottom: 0;
  padding: 60px 0;
}

.intro_2blocs {
  max-width: 960px;
  margin: 0 auto;
  align-items: center;
}
.intro_2blocs .intro_h2 {
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .intro_2blocs .intro_h2 {
    margin-bottom: 2rem;
  }
}
/**
 * Block Name: Horizon 
------------------------------------------*/
.les-horizons {
  margin-top: 80px;
  margin-bottom: 100px;
}

.flex-horizon {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.horizon_item {
  position: relative;
  overflow: hidden;
  background: #509AA6;
  margin-bottom: 0;
}
.horizon_item img {
  transition: all 0.2s ease-in 0s;
  width: 100%;
}
.horizon_item:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  transition: all 0.5s ease-in;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(255, 255, 255, 0) 100%);
  z-index: 0;
}

.horizon_txt {
  position: absolute;
  z-index: 500;
  top: 45%;
  width: 100%;
  text-align: center;
  transition: all 0.25s ease-in;
}

.horizon_title {
  margin-bottom: 0.75em;
  font-size: 22px;
  color: #fff;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.8);
}

.horizon {
  max-width: 1280px;
  margin: 0 auto;
}
.horizon a {
  display: block;
  transition: box-shadow 0.3s;
  box-shadow: 0 1px 2px 0 rgba(46, 50, 60, 0.09);
  color: #fff;
}
.horizon a:hover {
  box-shadow: 0 3px 9px 0 rgba(46, 50, 60, 0.5);
}
.horizon a:hover .horizon_item > img {
  transform: scale(1.04);
  opacity: 0.13;
}
.horizon a:hover > .horizon_item:before {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
  transition: all 0.5s ease-out;
  opacity: 0;
}
.horizon a:hover .horizon_item > .horizon_txt {
  top: 40%;
  transition: all 0.25s ease-out;
}

@media screen and (max-width: 768px) {
  .flex-horizon {
    grid-template-columns: 1fr;
    margin-left: 20px;
    margin-right: 20px;
  }
  .horizon a {
    margin-bottom: 20px;
  }
  .horizon a:last-child {
    margin-bottom: 0;
  }
}
.readMore {
  max-width: 1100px;
  margin: 0 auto;
}

.slickTxt2 .readMore,
.slickTxt .readMore {
  max-width: 1100px;
  margin: 0 0;
}

.Expand {
  display: inline-block;
  border-bottom: 1px solid #2A3233;
  color: #2A3233;
  margin-bottom: 10px;
  text-transform: uppercase;
  font-size: 14px;
}
.Expand:hover {
  border-bottom: 1px solid #4a6566;
  color: #3B737B;
}
.Expand:visited:hover {
  border-bottom: 1px solid #4a6566;
  color: #3B737B;
}
.Expand:focus {
  border-bottom: 1px solid #4a6566;
  color: #2B5359;
  background: none;
}
.Expand:before {
  margin-right: 10px;
}

@media screen and (max-width: 1280px) {
  .Expand {
    margin-left: 20px;
    margin-right: 20px;
  }
}
.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

/**
* Block Name: Specificite
------------------------------------------*/
.room-info {
  max-width: 1124px;
  margin: 0 auto;
  z-index: 200;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  color: #2A3233;
  font-size: 14px;
  text-transform: uppercase;
  padding: 10px 0 0 0;
  letter-spacing: 1px;
  font-weight: 600;
}
.room-info .info1 {
  text-align: left;
  border-right: 1px solid #000;
  line-height: 1;
}
.room-info .info2 {
  text-align: center;
  line-height: 1;
}
.room-info .info3 {
  text-align: right;
  border-left: 1px solid #000;
  line-height: 1;
}
.room-info .info_color {
  color: #000;
}

@media screen and (max-width: 1124px) {
  .room-info {
    margin-bottom: 0;
    grid-template-columns: 1fr;
    padding: 0 0;
  }
  .room-info .info1,
  .room-info .info2,
  .room-info .info3 {
    border: none;
    padding: 20px 0;
    text-align: center;
  }
}
/*  Block Name: Les Tarifs
------------------------------------------*/
.tarifs {
  max-width: 960px !important;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
}

.tarif_list {
  list-style: none;
  padding: 0;
}

.tarif_row {
  border-bottom: 1px solid #B3B3B3;
  position: relative;
  float: left;
  line-height: 1.1em;
  margin: -0.5em 0 1.6rem 0;
  width: 100%;
  text-align: left;
}

.tarif_meal span,
.tarif_price {
  background-color: #fff;
}

.tarif_meal {
  padding-right: 3em;
}

.tarif_meal span {
  margin: 0;
  position: relative;
  top: 1.6em;
  padding-right: 16px;
}

.tarif_price {
  padding: 1px 0 1px 16px;
  position: relative;
  top: 0.4em;
  left: 1px;
  float: right;
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 640px) {
  .tarifs {
    font-size: 16px;
  }
  .tarif_price {
    font-size: 16px;
  }
}
@media (max-width: 440px) {
  .tarifs {
    font-size: 14px;
  }
}
/*  Block Name: Diaporama full screen
------------------------------------------*/
.fulldiapo_h1 {
  position: absolute;
  top: 53vh;
  left: 0;
  right: 0;
  z-index: 900;
  font-size: 48px;
  font-family: "Contralto Small", serif;
  font-weight: normal;
  margin-top: 0;
  text-align: center;
  color: #fff !important;
  text-transform: uppercase;
}

@media (max-width: 810px) {
  .fulldiapo_h1 {
    top: 45vh;
  }
}
.link_rapid {
  position: absolute;
  z-index: 900;
  bottom: 200px;
  width: 70%;
  margin: 0 auto;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.link_rapid div {
  text-align: center;
}
.link_rapid div a {
  display: block;
  font-family: "Contralto Small", serif;
  font-size: 32px;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.link_rapid div a:hover {
  color: #fff;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
}
.link_rapid div:nth-child(2) a {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}

.ombre {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 1px;
  background: transparent;
}

.ombre:before {
  content: "";
  position: absolute;
  top: -340px;
  height: 340px;
  width: 100%;
  text-align: center;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
}

@media screen and (max-width: 960px) {
  .link_rapid div a {
    font-size: 20px;
  }
}
@media screen and (max-width: 640px) {
  .link_rapid {
    grid-template-columns: 1fr;
    bottom: 120px;
  }
  .link_rapid div {
    text-align: center;
  }
  .link_rapid div a {
    display: inline-block;
    margin: 5px auto;
    padding: 10px;
  }
  .link_rapid div a:hover {
    color: #4B929D;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0);
  }
  .link_rapid div:nth-child(1n) a {
    border-left: none;
    border-right: none;
  }
  .link_rapid div:nth-child(2) a {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 15px 10px;
  }
}
/* Superslides Texte h2 + p
------------------------------------------*/
.container {
  z-index: 6000;
  position: absolute;
  bottom: 140px;
  width: 80%;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  text-align: center;
}
.container .titl {
  font-family: "Contralto Small", serif;
  font-size: 48px;
  font-weight: 300;
  color: #fff;
  margin-bottom: 1em;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.8);
  text-transform: none;
  display: block;
}
.container .para {
  line-height: 1;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 300;
  text-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
  margin-bottom: 0;
  display: block;
  letter-spacing: 0;
}

@media screen and (max-width: 960px) {
  .container {
    width: 90%;
  }
  .container .titl {
    font-size: 34px;
  }
}
@media screen and (max-width: 640px) {
  .container {
    width: 90%;
  }
  .container .titl {
    font-size: 34px;
  }
}
/*---------- CUSTOM ----------*/
.full-slick {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto 80px auto;
}
.full-slick:before {
  position: absolute;
  bottom: 0;
  z-index: 600;
  content: "";
  width: 100%;
  height: 260px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0, transparent 100%);
}

.fulldiapo {
  background: #2A3233;
  position: relative;
  width: 100%;
  height: 100vh;
  /*height: calc(100vh - 40px);*/
}

.fulldiapo .slick-slide {
  margin: 0px auto;
}

.fulldiapo .slick-slide img {
  width: 100%;
  height: 100vh;
  /*height: calc(100vh - 40px);*/
  -o-object-fit: cover;
     object-fit: cover;
}

.fulldiapo .slick-slide {
  transition: all ease-in-out 0.3s;
  opacity: 0.2;
}

.fulldiapo .slick-active {
  opacity: 0.5;
}

.fulldiapo .slick-current {
  opacity: 1;
}

.fulldiapo .slick-prev:before,
.fulldiapo .slick-next:before {
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
  opacity: 0;
  color: #fff;
  transition: all 0.2s ease-in;
}

.fulldiapo:hover > .slick-prev:before,
.fulldiapo:hover > .slick-next:before {
  opacity: 1;
}

.fulldiapo .slick-prev {
  left: 30px;
}

.fulldiapo [dir=rtl] .slick-prev {
  right: 0px;
  left: auto;
}

.fulldiapo .slick-prev:before {
  content: "\e765";
}

.fulldiapo [dir=rtl] .slick-prev:before {
  content: "\e765";
}

.fulldiapo .slick-next {
  right: 30px;
}

.fulldiapo [dir=rtl] .slick-next {
  right: auto;
  left: 0px;
}

.fulldiapo .slick-next:before {
  content: "\e766";
}

.fulldiapo [dir=rtl] .slick-next:before {
  content: "\e766";
}

.fulldiapo .slick-prev:hover,
.fulldiapo .slick-prev:focus,
.fulldiapo .slick-next:hover,
.fulldiapo .slick-next:focus {
  background: none;
}

.slide-animation {
  animation: fadezoom 7s 0s forwards;
}

@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.07);
  }
}
.pattern {
  height: 1px;
  width: 100%;
  margin-bottom: 0;
}

/**
 * Block Name: Diaporama full screen avec Titre
------------------------------------------*/
.diapo_title {
  position: absolute;
  z-index: 6000;
  bottom: 0;
  width: 100%;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  padding-top: 0;
}
.diapo_title h1.entry-title {
  position: relative;
  bottom: 80px;
  z-index: 500;
  margin-top: 0;
  margin-bottom: 0;
  color: #fff;
  text-shadow: 0px 4px 15px rgba(0, 0, 0, 0.75);
}
.diapo_title h1.entry-title .h1_sub_title {
  color: #fff;
  font-size: 28px;
}

.title1 {
  text-shadow: 0px 1px 10px rgba(0, 0, 0, 0.25);
}

.diapo_sub_title {
  font-family: "Beloved Script", serif;
  font-size: 20px;
  font-weight: 200;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-top: 20px;
}

.icone_diapo {
  position: absolute;
  z-index: 6000;
  width: 100%;
  right: 0;
  left: 0;
  bottom: 10%;
  margin-right: 0;
  margin-left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0px 140px;
}

.ligne {
  height: 20px;
  width: 1px;
  border-right: 1px solid #fff;
}

.icone_diapo_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.icone_diapo_item a {
  font-weight: 300;
  font-size: 18px;
  color: #fff;
  text-transform: uppercase;
}

.a_icon {
  padding-bottom: 10px;
  transition: all 0.2s ease-in-out;
}
.a_icon:hover {
  padding-bottom: 0;
}

@media screen and (max-width: 810px) {
  .icone_diapo {
    gap: 0px 70px;
  }
}
@media screen and (max-width: 560px) {
  .icone_diapo {
    gap: 0px 30px;
    flex-direction: column;
    bottom: 18%;
  }
  .ligne {
    display: none;
  }
  .a_svg {
    display: none;
  }
  .a_icon {
    padding-bottom: 0;
    margin: 5px auto;
  }
  .icone_diapo_item {
    gap: 0;
    border-bottom: 2px solid #fff;
  }
  .icone_diapo_item:last-child {
    border-bottom: none;
  }
}
/**
 * Block Name: Vidéo 
------------------------------------------*/
.fullvideo {
  position: relative;
  /*width: 100vw;*/
  width: 100%;
  height: 100vh;
  padding: 0 0;
  margin: 0 auto 100px auto;
}
.fullvideo video {
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.fullvideo {
  clear: both;
}
.fullvideo::after, .fullvideo::before {
  content: "";
  display: table;
  clear: both;
}

.video_h1 {
  position: absolute;
  z-index: 700;
  width: 100%;
  bottom: 10%;
  display: flex;
  justify-content: center;
}
.video_h1 div.entry-title,
.video_h1 h1.entry-title {
  font-family: "Beloved Script", serif;
  font-size: 24px;
  position: absolute;
  bottom: 0;
  color: #fff;
  text-shadow: 0px 4px 15px rgba(0, 0, 0, 0.75);
  padding-bottom: 0;
  margin-bottom: 0;
}
.video_h1 div.entry-title .h1_sub_title,
.video_h1 h1.entry-title .h1_sub_title {
  color: #fff;
  text-shadow: 0px 4px 15px rgba(0, 0, 0, 0.75);
  font-size: 28px;
  font-weight: 400;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .video_h1 {
    bottom: 30%;
  }
  .video_h1 div.entry-title,
  .video_h1 h1.entry-title {
    font-size: 24px;
  }
  .video_h1 div.entry-title .h1_sub_title,
  .video_h1 h1.entry-title .h1_sub_title {
    font-size: 16px;
  }
}
.cara_diapo {
  line-height: 1;
  color: #fff;
  position: absolute;
  z-index: 700;
  width: 100%;
  bottom: 8%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0px 80px;
  text-transform: uppercase;
}

.cara_diapo_sep {
  width: 1px;
  height: 20px;
  border-left: 1px solid #fff;
}

@media screen and (max-width: 1100px) {
  .cara_diapo {
    gap: 0px 80px;
  }
}
@media screen and (max-width: 960px) {
  .cara_diapo {
    gap: 0px 30px;
  }
}
@media screen and (max-width: 810px) {
  .cara_diapo {
    flex-direction: column;
    align-items: center;
    row-gap: 10px;
    bottom: 15%;
  }
  .cara_diapo_sep {
    width: 20px;
    height: 1px;
    border-left: none;
    border-bottom: 1px solid #fff;
  }
}
/**
 * Block Name: Lien de 4 blocs accueil
------------------------------------------*/
.lien_accueil {
  margin: 100px auto;
}

.lien_accueil_grid {
  max-width: 1340px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.lien_accueil_grid .lien_img {
  margin-bottom: 30px;
}
.lien_accueil_grid .lien_img2 {
  margin-top: 30px;
}
.lien_accueil_grid h2 {
  display: inline-block;
  margin: 0;
}

.first_h2 {
  display: block;
  font-family: "Beloved Script", serif;
  font-size: 20px;
  color: #3B737B;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.second_h2 {
  display: block;
  font-family: "Contralto Small", serif;
  font-size: 24px;
  letter-spacing: 1.4px;
}

@media screen and (max-width: 1280px) {
  .lien_accueil_grid {
    max-width: 660px;
    grid-template-columns: 1fr 1fr;
    row-gap: 60px;
  }
  .lien_accueil_flex {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 640px) {
  .lien_accueil_grid {
    max-width: 320px;
    grid-template-columns: 1fr;
  }
}
/*=========================================
                PATTERNS 
========================================= */
.no-marge {
  margin-top: 0;
  margin-bottom: 0;
}

/*
Bloc : Lien de 2 blocs
------------------------------------------*/
.blocs2_link {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}

@media screen and (max-width: 640px) {
  .blocs2_link {
    grid-template-columns: 1fr;
  }
}
/*
Bloc : Lien de 3 blocs 
------------------------------------------*/
.homelink_dad3 {
  max-width: 1600px;
  padding: 0 0 0 0;
  margin: 80px auto 80px auto;
}

.blocs3_link {
  max-width: 1920px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 80px;
       column-gap: 80px;
  row-gap: 20px;
}

@media screen and (max-width: 1600px) {
  .homelink_dad3 {
    padding: 0 20px;
  }
  .blocs3_link {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 960px) {
  .blocs3_link {
    grid-template-columns: 1fr;
    row-gap: 80px;
  }
  .flex_rev {
    display: flex;
    flex-direction: column-reverse;
  }
}
/*
Bloc : Lien avec 4 images
------------------------------------------*/
.homelink_dad {
  width: calc(100% - 60px) !important;
  background: #4B929D;
  padding: 80px 20px 0 20px;
  margin: 0 auto;
}

.homelink {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 80px;
       column-gap: 80px;
  row-gap: 20px;
}

.homelink_child {
  position: relative;
}
.homelink_child a.a_img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 10;
  transition: box-shadow 0.3s;
}
.homelink_child .homelink_img {
  position: relative;
  background: #4B929D;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 0 !important;
}
.homelink_child .homelink_img:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  transition: all 0.5s ease-in;
  z-index: 10;
}
.homelink_child .homelink_img img {
  width: 100%;
  transition: all 0.2s ease-in 0s;
  box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 10px, rgba(0, 0, 0, 0.05) 0px 2px 10px;
  padding: 0;
  border-radius: 5px;
}

.homelink_child a.a_img:hover > .homelink_img img {
  transform: scale(1.1);
  opacity: 0.13;
}

.txt_link {
  position: absolute;
  font-size: 32px !important;
  font-weight: normal;
  text-align: center;
  z-index: 20;
  max-width: 480px;
  padding-left: 10px;
  padding-right: 10px;
  margin: 0 auto !important;
  color: #fff !important;
  line-height: 2;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
}

.h2link2 {
  font-size: 32px !important;
  font-weight: normal;
  text-align: center;
  position: relative;
  z-index: 20;
  padding-left: 0;
  padding-right: 0;
  margin: 0 auto 40px auto !important;
  color: #4a6566;
  text-transform: uppercase !important;
}

@media (max-width: 1320px) {
  .homelink_dad {
    padding: 20px 20px;
  }
}
@media (max-width: 960px) {
  .homelink_dad {
    width: calc(100% - 0px) !important;
  }
  .homelink {
    grid-template-columns: 1fr;
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 20px;
  }
}
@media (max-width: 960px) {
  .homelink .homelink_child:nth-child(2n) {
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 960px) {
  .entry-content .h2link {
    font-size: 20px !important;
  }
}
@media (max-width: 420px) {
  .homelink {
    grid-template-columns: 1fr;
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 40px;
  }
}
/*---- Bouton CTA ----*/
.container_resa {
  display: flex;
  justify-content: center;
  padding: 100px 0;
}

.direct_resa {
  display: inline-block;
  text-align: center;
  text-transform: uppercase;
  background: #fff;
  padding: 5px 30px 5px 30px;
  color: #2A3233;
  letter-spacing: 2px;
}
.direct_resa:hover {
  background: #2B5359;
  color: #fff;
}

/*
Image à gauche - texte à droite
------------------------------------------*/
.img-right_txt-left.alignfull,
.img-left_txt-right.alignfull {
  margin-top: 60px;
  margin-bottom: 60px;
  padding: 0 0;
}

.img-left_txt-right {
  position: relative;
  overflow: hidden;
}
.img-left_txt-right:before {
  content: "";
  position: absolute;
  top: 0;
  left: 160px;
  bottom: 0;
  right: 0;
  z-index: 0;
  /*background-color: $color; */
  opacity: 1;
}
.img-left_txt-right {
  /*
      &:after {
          content:url(assets/img/feuille2.svg); 
          position: absolute;
          top: -260px;
          bottom: 0;
          right: -200px;
          z-index: 0;
          opacity: 1;
      }
      */
}
.img-left_txt-right .txt_right {
  padding-right: 80px;
  position: relative;
  z-index: 10;
}
.img-left_txt-right .txt_right * {
  color: #2A3233;
}
.img-left_txt-right .wp-block-column .wp-block-image {
  position: relative;
  z-index: 10;
  margin-top: 0;
  margin-bottom: 0;
}

.img-right_txt-left {
  position: relative;
}
.img-right_txt-left:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 160px;
  z-index: 0;
  opacity: 1;
}
.img-right_txt-left .txt_left {
  padding-left: 80px;
  position: relative;
}
.img-right_txt-left .wp-block-column .wp-block-image {
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (max-width: 600px) {
  .img-left_txt-right .txt_right {
    padding-right: 0;
    margin-top: 3em;
  }
  .img-right_txt-left {
    flex-direction: column-reverse;
  }
  .img-right_txt-left .txt_left {
    padding-left: 0;
    margin-top: 3em;
  }
}
/*  Block Name: Recommandation
------------------------------------------*/
.reco {
  padding: 40px 0;
  padding: 40px 0;
  background: #fff;
  margin-top: 0;
}

.recommandation {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 40px;
       column-gap: 40px;
  padding-top: 20px;
}
.recommandation .item {
  background: #fff;
  padding: 15px 30px;
  line-height: 1.8;
  transition: all 0.2s ease-in;
  box-shadow: rgba(0, 0, 0, 0.02) 0 2px 3px, rgba(0, 0, 0, 0.06) 0 5px 32px;
}
.recommandation .item:hover {
  box-shadow: rgba(0, 0, 0, 0.02) 0 2px 3px, rgba(0, 0, 0, 0.06) 0 5px 32px;
}
.recommandation .otalogo {
  text-align: center;
}
.recommandation .otalogo img {
  max-width: 60px;
}
.recommandation .titre {
  text-align: center;
  font-size: 16px;
  font-weight: 600;
}
.recommandation .note {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
}
.recommandation .avisnombre {
  text-align: center;
  font-size: 14px;
}

@media screen and (max-width: 640px) {
  .recommandation {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 20px;
    row-gap: 20px;
  }
}
@media screen and (max-width: 380px) {
  .recommandation {
    grid-template-columns: repeat(1, 1fr);
  }
}
.etoile {
  text-align: center;
  margin: 20px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
}

.etoile1 {
  display: flex;
  justify-content: flex-end;
}

.etoile2 {
  display: flex;
  justify-content: flex-start;
}

/*  Block Name: Recommandation
------------------------------------------*/
.laSuite {
  max-width: 1100px;
  text-align: center;
}

/*  Block Name: Call to Action
------------------------------------------*/
.cta {
  position: relative;
  width: calc(100% - 40px);
  margin: 100px 20px;
  display: grid;
  align-items: center;
  justify-content: center;
  min-height: 470px;
  background: url(assets/img/cta_bg.webp) 50% 50% no-repeat fixed;
  background-size: cover;
  border-radius: 20px;
}
.cta:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 2;
  background: rgba(43, 83, 89, 0.92);
  border-radius: 20px;
}

.cta_child {
  padding: 40px;
  position: relative;
  z-index: 20;
  max-width: 1100px;
  display: grid;
  align-items: center;
  grid-column-gap: 60px;
  grid-template-columns: 1fr;
  color: #fff;
}

.cta_resa {
  position: relative;
  display: inline-block;
  text-transform: uppercase;
  background: #fff;
  border-radius: 50px;
  border: 1px solid #fff;
  padding: 7px 50px;
  font-weight: 500;
  color: #2A3233;
  letter-spacing: 1px;
  margin: 30px auto 30px auto;
}
.cta_resa:active, .cta_resa:focus, .cta_resa:hover {
  background: #4B929D;
  border: 1px solid #4B929D;
  color: #fff;
}

.cta_txt {
  font-family: "Contralto Small", serif;
  font-size: 32px;
  text-align: center;
}
.cta_txt > *:last-child {
  margin-bottom: 0;
}

.cta_txt2 {
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 1px;
}
.cta_txt2 > *:last-child {
  margin-bottom: 0;
}

.mcenter {
  margin: 0 auto;
}

@media screen and (max-width: 480px) {
  .cta {
    padding: 0 16px 80px 16px;
  }
  .cta_child {
    padding: 40px 10px;
  }
}
@media screen and (max-width: 480px) {
  .cta_resa {
    padding: 7px 30px;
  }
}
/*
Block Name: Partenaire
------------------------------------------*/
.section_partenaire {
  background: #EBEBEB;
  width: calc(100% - 40px);
  margin: 80px auto -40px auto;
  padding: 40px 0;
  border-radius: 10px;
}

@media screen and (max-width: 1280px) {
  .section_partenaire {
    margin: 40px auto 40px auto;
  }
}
.section_partenaire h2.partenaire-title {
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  color: #4a6566;
  margin: 0 auto 40px auto;
}

.grid_partenaire {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  align-items: flex-end;
  -moz-column-gap: 80px;
       column-gap: 80px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

.partenaire {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
}

.partenaire-content {
  font-size: 16px;
}

@media screen and (max-width: 1100px) {
  .grid_partenaire {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 640px) {
  .grid_partenaire {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
  .grid_partenaire .partenaire {
    row-gap: 16px;
  }
}
/*
Block Name: Garantie
------------------------------------------*/
.garantie {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 60px;
}

.garantie_item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.garantie_item img {
  width: 24px;
}

@media screen and (max-width: 1100px) {
  .garantie {
    grid-template-columns: 1fr;
    grid-row-gap: 30px;
  }
  .garantie_item {
    justify-content: center;
  }
}
/*  Block Name: image à gauche - texte
------------------------------------------*/
.h_or_left {
  position: relative;
  color: #4a6566;
  font-family: "Contralto Small", serif;
  font-size: 32px;
  font-weight: normal;
  text-transform: uppercase;
}

.h_or_left2 {
  position: relative;
  color: #4a6566;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 300;
}

@media screen and (max-width: 1280px) {
  .slickTxt2 .h_or_left {
    padding-left: 0px;
  }
  .slickTxt2 .h_or_left:after {
    border-top: none;
  }
}
.img_txt_two {
  margin-top: 100px !important;
  margin-bottom: 100px !important;
}

.img_cadre_two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  -moz-column-gap: 80px;
       column-gap: 80px;
  max-width: 1260px;
  margin: 0 auto;
}

.img_cadre_two .img_txt_h2 {
  margin-bottom: 40px;
}
.img_cadre_two .img_txt_h2 .txt_left {
  text-transform: uppercase;
  position: relative;
  margin-bottom: 10px;
  text-shadow: 0px 1px 8px rgba(255, 255, 255, 0.75);
}
.img_cadre_two .img_txt_h2 .h_or_right {
  text-align: right;
  color: #4a6566;
}

@media screen and (max-width: 810px) {
  .img_cadre_two .img_txt_h2 {
    margin-top: 10px;
  }
  .img_cadre_two .img_txt_h2 .txt_left {
    position: relative;
    margin-left: auto;
    margin-bottom: 10px;
  }
  .img_cadre_two .img_txt_h2 .h_or_right {
    text-align: right;
    color: #4a6566;
  }
}
.two_illu {
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 1;
}
.two_illu img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 5px;
}

.two_illu5,
.two_illu6 {
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 1;
}
.two_illu5 img,
.two_illu6 img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.btn_resa {
  position: absolute;
  bottom: 100px;
  display: inline-block;
  text-transform: uppercase;
  background: none;
  border-radius: 50px;
  border: 1px solid #fff;
  padding: 7px 50px;
  font-weight: 600;
  color: #fff;
  text-shadow: 0px 4px 14px rgba(0, 0, 0, 0.6);
  letter-spacing: 1px;
}
.btn_resa:hover {
  background: #2B5359;
  border: 1px solid #2B5359;
  color: #fff;
}

.btn_relative {
  position: relative;
  display: inline-block;
  text-transform: uppercase;
  background: none;
  border-radius: 50px;
  border: 1px solid #fff;
  padding: 7px 50px;
  font-weight: 600;
  color: #fff;
  text-shadow: 0px 4px 14px rgba(0, 0, 0, 0.6);
  letter-spacing: 1px;
}
.btn_relative:hover {
  background: #2B5359;
  border: 1px solid #2B5359;
  color: #fff;
}

.btn_relative2 {
  position: relative;
  text-transform: uppercase;
  background: #4a6566;
  border-radius: 50px;
  padding: 9px 30px;
  font-size: 14px;
  font-weight: 300;
  color: #fff;
  letter-spacing: 1px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.btn_relative2:hover {
  background: #2B5359;
  color: #fff;
}

@media screen and (max-width: 480px) {
  .btn_relative2 {
    font-size: 12px;
  }
}
.illu_image_texte6 {
  position: absolute;
  z-index: -1;
  top: -60px;
  left: -48px;
  width: 95px;
  height: 119px;
}

/*  Block Name: Texte à gauche - image
------------------------------------------*/
.h2_ti {
  position: relative;
  color: #4a6566;
  font-family: "Contralto Small", serif;
  font-size: 32px;
  font-weight: normal;
  text-transform: uppercase;
}

.h_or_right {
  position: relative;
  color: #4a6566;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
}

@media screen and (max-width: 1280px) {
  .slickTxt2 .h_or_right {
    text-align: center;
    padding-right: 0;
  }
  .slickTxt2 .h_or_right:after {
    border-top: none;
  }
}
.img_txt_one {
  padding: 70px 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.img_txt_one3 {
  margin-top: 100px !important;
  margin-bottom: 100px !important;
}

@media screen and (max-width: 810px) {
  .img_txt_one3 {
    margin-top: 60px !important;
    margin-bottom: 100px !important;
  }
}
.img_cadre {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  -moz-column-gap: 80px;
       column-gap: 80px;
  max-width: 1260px;
  margin: 0 auto;
}

.two_illu2 {
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 1;
}
.two_illu2 img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 5px;
}

.img_cadre .img_txt_h2 {
  margin-bottom: 40px;
}
.img_cadre .img_txt_h2 .txt_right {
  text-transform: uppercase;
  position: relative;
  margin-bottom: 10px;
  text-shadow: 0px 1px 8px rgba(255, 255, 255, 0.75);
}
.img_cadre .img_txt_h2 .h_or_right {
  text-align: right;
  color: #4a6566;
}

@media screen and (max-width: 960px) {
  .img_cadre_two,
  .img_cadre {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media screen and (max-width: 810px) {
  .img_cadre .img_txt_h2 {
    margin-top: 10px;
  }
  .img_cadre .img_txt_h2 .h_or_right {
    text-align: left;
  }
  .img_cadre_two,
  .img_cadre {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 40px;
  }
  .img_cadre_two .txt_right,
  .img_cadre .txt_right {
    text-align: left;
  }
  .img_cadre.inverse > *:first-child {
    order: 2;
  }
  .img_cadre.inverse > *:last-child {
    order: 1;
  }
  .two_illu5,
  .two_illu6,
  .two_illu2,
  .two_illu {
    max-width: 480px;
    margin: 0 auto;
  }
}
.lien_rapide {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  max-width: 1000px;
  margin: 100px auto;
  gap: 30px;
}

.lien_rapide_item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 10px;
  background: #4B929D;
  border-radius: 10px;
  padding: 60px 10px;
  color: #fff;
}
.lien_rapide_item:hover {
  color: #fff;
  background: #2A3233;
}
.lien_rapide_item img {
  width: 32px;
  max-height: 40px;
}

@media screen and (max-width: 1000px) {
  .lien_rapide {
    padding: 0 20px;
  }
}
@media screen and (max-width: 810px) {
  .lien_rapide {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 360px) {
  .lien_rapide {
    grid-template-columns: 1fr;
  }
}
/*  Block Name: Story
------------------------------------------*/
.story {
  position: relative;
  background-position: right;
  background-repeat: no-repeat;
  background-color: #509AA6;
  background-size: auto 100%;
  min-height: 560px;
  /*656px*/
  padding: 60px 90px;
  display: flex;
  align-items: center;
}
.story:before {
  background: rgba(40, 50, 102, 0.77);
  position: absolute;
  z-index: 10;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.story_text {
  position: relative;
  z-index: 100;
}

.color_white {
  color: #fff;
}
.color_white a {
  color: #fff;
  color: #fff;
}
.color_white p > a {
  color: #fff;
  border-bottom: 1px solid #fff;
}

.h_white_left {
  position: relative;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 300;
  text-transform: uppercase;
  padding-left: 46px;
}
.h_white_left:after {
  position: absolute;
  content: "";
  width: 30px;
  border-top: 2px solid #D8B571;
  left: 0;
  top: 48%;
}

@media screen and (max-width: 640px) {
  .story {
    padding: 30px 20px;
    min-height: 300px;
  }
}
/*  Block Name: Colonne de lien
------------------------------------------*/
.col_link {
  width: calc(100% - 60px) !important;
  max-width: 1440px !important;
  padding: 20px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.col_link_child {
  flex-grow: 1;
  width: calc(33.3333333333% - 20px);
  background: #fff;
}

@media screen and (max-width: 1124px) {
  .col_link {
    width: calc(100% - 0px) !important;
  }
  .col_link_child {
    flex-grow: 1;
    width: calc(50% - 20px);
    background: #fff;
  }
}
@media screen and (max-width: 768px) {
  .col_link_child {
    flex-grow: 1;
    width: calc(100% - 20px);
    background: #fff;
  }
}
.homelink_slider {
  max-width: 100%;
}
.homelink_slider a img {
  width: 100%;
}
.homelink_slider .slick-prev {
  left: 5px;
}
.homelink_slider .slick-next {
  right: 5px;
}
.homelink_slider .slick-next:focus,
.homelink_slider .slick-next:hover,
.homelink_slider .slick-prev:focus,
.homelink_slider .slick-prev:hover {
  color: #fff;
  outline: 0;
  background: none;
  padding: 0;
  border: none;
}
.homelink_slider .slick-next,
.homelink_slider .slick-prev {
  background: 0 0;
  border-radius: 100px;
  font-size: 0;
  line-height: 0;
  z-index: 100;
  top: 50%;
  width: 40px;
  height: 40px;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: 0;
}
.homelink_slider .slick-next:before,
.homelink_slider .slick-prev:before {
  font-family: entypo;
  font-size: 36px;
  line-height: 0.5;
  opacity: 1;
  color: #fff;
  width: 50px;
  height: 50px;
}

.col_txt_title {
  position: relative;
  font-size: 28px;
  text-align: center;
  margin-bottom: 40px !important;
}

.col_txt_title:after {
  position: absolute;
  content: "";
  width: 80px;
  border-top: 1px solid #A29D75;
  bottom: -16px;
  left: 50%;
  margin-left: -40px;
}

.col_contenue {
  padding: 0;
}

@media screen and (max-width: 1100px) {
  .col_link {
    grid-template-columns: 1fr 1fr;
  }
  .col_link .homelink_img {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 640px) {
  .col_link {
    grid-template-columns: 1fr;
  }
}
/*  Block Name: Contenu largeur mini
------------------------------------------*/
.w768 {
  max-width: 768px;
  margin: 80px auto;
}

.h2link2-mg60 {
  font-size: 28px !important;
  font-weight: normal;
  text-align: center;
  position: relative;
  z-index: 20;
  padding-left: 0;
  padding-right: 0;
  margin: 0 auto 60px auto !important;
  color: #000;
}

.h2link2-mg60:after {
  position: absolute;
  content: "";
  width: 80px;
  border-top: 1px solid #A29D75;
  bottom: -16px;
  left: 50%;
  margin-left: -40px;
}

/*  Block Name:  icône texte
------------------------------------------*/
.icon_txt {
  display: flex;
  gap: 0 20px;
}

.mw_it {
  max-width: 24px;
}

/*  Block Name: Award
------------------------------------------*/
.award {
  max-width: 780px;
  margin: 0 auto;
}

.award-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 20px;
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.award-flex-item {
  flex: 0 0 calc((100% - 60px) / 4);
  max-width: 180px;
}

.award-flex-item img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

@media screen and (max-width: 780px) {
  .award-flex-item {
    flex: 0 0 calc((100% - 40px) / 3);
    max-width: 180px;
  }
}
@media screen and (max-width: 600px) {
  .award-flex {
    padding: 0 20px;
  }
  .award-flex-item {
    flex: 0 0 calc((100% - 20px) / 2);
    max-width: 180px;
  }
}
/* Block Name: Caractéristiques 
------------------------------------------*/
/* Conteneur principal */
.room-pricing-section {
  display: flex;
  max-width: 900px;
  margin: 80px auto 120px auto;
  padding: 0 20px;
  gap: 60px;
}

/* Colonne de gauche (Équipements) */
.features-column {
  display: flex;
  width: 50%;
  flex-direction: column;
  gap: 30px;
  padding-right: 60px;
  border-right: 1px solid #b3cdd2;
  /* Ligne séparatrice bleu/gris */
  flex: 0 0 auto;
}

.feature-item {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 25px;
  font-size: 16px;
  letter-spacing: 0.3px;
}

.feature-item .icon {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #1a1a1a;
  /* Couleur des icônes SVG */
}

.feature-item .icon svg {
  width: 100%;
  height: 100%;
}

/* Colonne de droite (Tarifs) */
.pricing-column {
  display: flex;
  width: 50%;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.pricing-column h2 {
  font-family: "Contralto Small", serif;
  text-transform: uppercase;
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 35px;
  margin-left: 0;
  margin-right: 0;
  color: #4a6566;
}

.pricing-list {
  list-style-type: disc;
  padding-left: 20px;
  margin-top: 0;
  margin-bottom: 40px;
}

.pricing-list li {
  font-size: 16px;
  margin-bottom: 12px;
  letter-spacing: 0.3px;
}

.pricing-details p {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 0;
  margin-bottom: 15px;
  letter-spacing: 0.2px;
}

.pricing-button {
  display: flex;
  justify-content: left;
  margin-top: 20px;
}

/* Responsive pour les mobiles */
@media (max-width: 768px) {
  .room-pricing-section {
    flex-direction: column;
    gap: 40px;
    margin: 40px auto 40px auto;
  }
  .features-column,
  .pricing-column {
    width: 100%;
  }
  .pricing-button {
    justify-content: center;
  }
  .features-column {
    border-right: none;
    border-bottom: 1px solid #b3cdd2;
    padding-right: 0;
    padding-bottom: 40px;
  }
}
/*=========================================
                Block Name: Ligne et icône texte
========================================= */
.ligne-icon-texte {
  max-width: 860px !important;
  margin: 60px auto;
  padding: 0 20px;
}

.icon-texte-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.icon-texte-item {
  display: flex;
  align-items: center;
  gap: 30px;
}

.icon-texte-item .icon-wrapper {
  flex: 0 0 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.icon-texte-item .icon-wrapper img {
  width: 40px;
  max-width: 100%;
  height: auto;
}

.icon-texte-item .text-wrapper {
  flex: 1;
}

/*=========================================
Block Name: Icône + texte (horizontale)
========================================= */
.icon-texte-horizontale {
  max-width: 1260px;
  margin: 60px auto;
  padding: 0 20px;
}

.max-width_1260 {
  max-width: 1260px !important;
}

.max-width_1100 {
  max-width: 1100px !important;
}

.icon-horizon {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  row-gap: 40px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}

@media screen and (max-width: 1000px) {
  .icon-horizon {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 540px) {
  .icon-horizon {
    grid-template-columns: 1fr;
  }
}
.icon-texte-item2 {
  display: flex;
  align-items: center;
  gap: 20px;
}

.icon-texte-item2 .icon-wrapper {
  flex: 0 0 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.icon-texte-item2 .icon-wrapper img {
  width: 40px;
  max-width: 100%;
  height: auto;
}

.icon-texte-item2 .text-wrapper {
  flex: 1;
}

/*=========================================
                Responsive Global 
========================================= */
@media screen and (max-width: 1280px) {
  .entry-content p,
  .entry-content ul,
  .entry-content ol,
  .entry-content dl,
  .entry-content blockquote,
  .entry-content h1,
  .entry-content h2,
  .entry-content h3,
  .entry-content h4,
  .entry-content h5,
  .entry-content h6 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 640px) {
  .entry-content .wp-block-quote p {
    padding-left: 0;
    padding-right: 0;
  }
}
/*
== Icon Font         

== Reset element
== Title 
== List

== WP alignement - Clearings
---- Alignement Wp & Knacss
---- Clearings
---- Assistive text 
---- Assistive text

== Wp Layout
---- Global Container & Width structure
---- Header
---- Main content 
---- Sidebar
---- Footer

== Wp Module 
---- Cookie Bar
---- Menu
---- Breadcrumb
---- Form comment
---- isotope Livre d'or
---- Comments
---- Widget
---- Search Form
---- Pagination
---- blocks of content navigation
---- Wpml
---- Wp Gallery
---- WP image

== Gutenberg Block CSS

== Wp Template Hierarchy 
---- Archive
---- Category
---- Tag
---- Author
---- Single
---- Single-{slug}
---- Page
---- 404
---- Search

== Wp Custom Template & Custom post type
---- Page-{slug}
---- Page-{Livre}
---- Page-{Localisation}

== Media Queries
*/
/* Reset element 
   ======================================================================*/
a {
  text-decoration: none;
}

p > a {
  color: #4B929D;
  padding-bottom: 0;
  border-bottom: 1px solid #4B929D;
}

/* Title
   ======================================================================*/
h1.entry-title {
  margin-top: 0;
  color: #4a6566;
}

.page h1.entry-title {
  text-align: center;
}

.page-template-page-sidebar h1.entry-title,
.single h1.entry-title {
  text-align: left;
}

/* List
   ======================================================================*/
ul {
  list-style-position: inside;
  list-style-type: disc;
}
ul:last-child {
  margin-bottom: 0;
}

ol {
  list-style-position: inside;
  list-style-type: decimal;
}
ol:last-child {
  margin-bottom: 0;
}

/* My Helper
   ======================================================================*/
.white {
  color: #fff;
}

.none {
  display: none;
}

.f_right {
  float: right;
}

.tac {
  text-align: center;
}

.mb25 {
  margin-bottom: 25px;
}

/* WP alignement - Clearings
   ======================================================================*/
/* WP necessary class for valid Theme Check
------------------------------------------*/
/* Alignement Wp
------------------------------------------*/
.alignnone,
img.alignnone {
  clear: both;
  margin: 0em auto 0.5em auto;
}

.alignleft {
  float: left;
}

.alignright {
  float: right;
}

.wp-caption.alignleft {
  margin-top: 0.5em;
  margin-left: 0;
}

.wp-caption.alignright {
  margin-top: 0.5em;
  margin-right: 0;
}

.alignleft,
img.alignleft {
  margin: 1em 1.5em 1em 0;
}

.alignright,
img.alignright {
  margin: 1em 0 1em 1.5em;
}

.aligncenter {
  display: block;
  clear: both;
  margin-right: auto;
  margin-left: auto;
}

.aligncenter img {
  margin: 0 auto;
}

/* Clearings                  
------------------------------------------*/
.entry-content,
.comment-content {
  clear: both;
}
.entry-content::after, .entry-content::before,
.comment-content::after,
.comment-content::before {
  content: "";
  display: table;
  clear: both;
}

/* Scrool to
------------------------------------------*/
a.goto {
  text-align: center;
  z-index: 2500;
  position: absolute;
  bottom: -50px;
  width: 25px;
  right: 0;
  left: 0;
  margin: 0 auto;
  line-height: 1;
  color: #fff;
}
a.goto:focus, a.goto:active, a.goto:hover {
  text-decoration: none;
}
a.goto:hover {
  bottom: -45px;
}
a.goto:hover > svg #mouse-dot {
  fill: #509AA6;
}
a.goto:hover > svg #mouse-border {
  fill: #fff;
}
a.goto:hover > svg #mouse-stroke {
  fill: #fff;
}

.goto svg #mouse-border {
  fill: hsla(0, 0%, 82%, 0.75);
}

.goto svg #mouse-stroke {
  fill: hsla(0, 0%, 82%, 0.75);
}

.goto svg #mouse-dot {
  fill: #fff;
  animation: mouse-scroll 1.1s infinite alternate;
}

@keyframes mouse-scroll {
  0% {
    transform: translate(0);
  }
  35% {
    transform: translateY(10px);
  }
  70% {
    transform: translate(0);
  }
  to {
    transform: translate(0);
  }
}
@media screen and (max-width: 640px) {
  .gotoTiret {
    height: 10px;
    margin: 10px auto 0;
  }
}
/* Wp Layout
   ======================================================================*/
/* Global Container & Width structure
------------------------------------------*/
body {
  position: relative;
  background: #fff;
}
body:after {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  width: 558px;
  height: 100vh;
  z-index: -1;
  background-image: url("assets/img/bg01.webp");
  background-position: right;
  background-repeat: no-repeat;
  background-attachment: fixed;
  opacity: 0.7;
}

.site {
  margin: 0 auto;
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

/*--- similar style ---*/
.fullwidth,
.site-header,
.main-navigation,
.wrapper,
#colophon,
.site-info {
  max-width: 100%;
}

/*---- Site Width standard ---*/
.standard_width,
.main-navigation #nav,
.width-default {
  margin: 0 auto;
  max-width: 1280px;
}

/* Header  
------------------------------------------*/
.header_container {
  position: relative;
  z-index: 600;
  width: 100%;
  /*background: $white;*/
  padding: 0 0 0 0;
  background-position: 50% 50%;
  background-size: cover;
}

.resa_head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  z-index: 6000;
  top: 20px;
  right: 20px;
  -moz-column-gap: 15px;
       column-gap: 15px;
}

.phone_round,
.email_round {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
}

.page-template-page-galerie .header_container,
.page-template-page-photos .header_container,
.page-template-page-contact .header_container,
.page-template-page-tourisme .header_container,
.page-template-page-generique .header_container,
.page-template-page-livre .header_container,
.page-template-page-leschambres .header_container,
.page-template-page-specialaccueil .header_container,
.page-template-page-accueil .header_container,
.page-template-page-chambre .header_container,
.page-template-page-video .header_container {
  position: absolute;
  z-index: 500;
  width: 100%;
  background: transparent;
  padding: 0;
}
.page-template-page-galerie .header_container:before,
.page-template-page-photos .header_container:before,
.page-template-page-contact .header_container:before,
.page-template-page-tourisme .header_container:before,
.page-template-page-generique .header_container:before,
.page-template-page-livre .header_container:before,
.page-template-page-leschambres .header_container:before,
.page-template-page-specialaccueil .header_container:before,
.page-template-page-accueil .header_container:before,
.page-template-page-chambre .header_container:before,
.page-template-page-video .header_container:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 10;
  opacity: 0.85;
}

.site-header {
  position: relative;
  padding: 0;
  z-index: 600;
  /*background: linear-gradient(to bottom, rgba(0, 0, 0, 0.50) 0, transparent 100%);*/
  /*
  width: calc(100% - 60px) !important;  
  margin: 0 30px;
  */
  width: 100%;
  margin: 0 auto;
}
.site-header:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.33) 0, transparent 100%);
  z-index: -1;
}

.fixed_head.site-header:before {
  content: "";
  background: none;
}

.single .site-header,
.archive .site-header {
  padding-bottom: 0px;
}

.single .header_container,
.archive .header_container,
.page-template-page-plan-site .header_container,
.page-template-default .header_container {
  padding: 0 0 80px;
}
.single .site-header,
.archive .site-header,
.page-template-page-plan-site .site-header,
.page-template-default .site-header {
  background: #424F51;
  box-shadow: 0 2px 10px 2px rgba(0, 0, 0, 0.1);
}
.single .site-header:before,
.archive .site-header:before,
.page-template-page-plan-site .site-header:before,
.page-template-default .site-header:before {
  content: "";
  background: none;
}

.page-template-page-localisation .header_container {
  padding: 0 0 0;
}
.page-template-page-localisation .site-header {
  background: #424F51;
  box-shadow: 0 2px 10px 2px rgba(0, 0, 0, 0.1);
}
.page-template-page-localisation .site-header:before {
  content: "";
  background: none;
}

.logo {
  position: relative;
  z-index: 6000;
  display: flex;
  justify-content: center;
  padding: 19vh 0 40px 0;
  width: 424px;
}
.logo img {
  max-width: 424px;
}

.search .logo,
.single .logo,
.archive .logo,
.category .logo,
.page-template-page-tourisme .logo,
.page-template-page-livre .logo,
.page-template-page-galerie .logo,
.page-template-page-generique .logo {
  position: relative;
  z-index: 6000;
  display: flex;
  justify-content: center;
  padding: 5vh 0 40px 0;
  width: 280px;
}
.search .logo img,
.single .logo img,
.archive .logo img,
.category .logo img,
.page-template-page-tourisme .logo img,
.page-template-page-livre .logo img,
.page-template-page-galerie .logo img,
.page-template-page-generique .logo img {
  max-width: 280px;
}

.page-template-page-contact .logo,
.page-template-page-plan-site .logo,
.page-template-default .logo {
  position: relative;
  z-index: 6000;
  display: flex;
  justify-content: center;
  padding: 5vh 0 40px 0;
  width: 280px;
}
.page-template-page-contact .logo img,
.page-template-page-plan-site .logo img,
.page-template-default .logo img {
  max-width: 280px;
}

.page-template-page-localisation .logo {
  position: relative;
  z-index: 6000;
  display: flex;
  justify-content: center;
  padding: 4vh 0 40px 0;
  width: 200px;
}
.page-template-page-localisation .logo img {
  max-width: 200px;
}

.soc {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: calc(50% - 212px);
}
.soc > a {
  margin: 0 10px;
}
.soc a:hover > svg path {
  fill: #4B929D;
}

.lang {
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  padding: 0;
  font-weight: 400;
  color: #919191;
}

.res {
  position: relative;
  z-index: 6000;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 25px;
  width: calc(50% - 212px);
  padding: 20px 20px 0 0;
}

.res svg {
  color: #fff;
}

@media screen and (max-width: 1050px) {
  .res > * {
    display: none !important;
  }
}
@media screen and (max-width: 1050px) {
  .res {
    width: 1px;
    padding: 0;
  }
  .soc {
    width: 1px;
  }
}
.reserver {
  background: #4a6566 url("assets/img/reserver_icon.svg") no-repeat 30px center;
  position: relative;
  border-radius: 50px;
  border: 1px solid #4a6566;
  top: 0;
  right: 0;
  color: #fff;
  display: inline-flex;
  padding: 5px 30px 5px 60px;
  justify-content: flex-end;
  align-items: center;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.reserver:hover {
  border: 1px solid #2B5359;
  background: #2B5359 url("assets/img/reserver_icon.svg") no-repeat 30px center;
  color: #fff;
}

.single .reserver,
.archive .reserver,
.page-template-page-plan-site .reserver,
.page-template-default .reserver {
  border: 1px solid #fff;
  background: #fff url("assets/img/reserver_icon-black.svg") no-repeat 30px center;
  color: #2A3233;
}
.single .reserver:hover,
.archive .reserver:hover,
.page-template-page-plan-site .reserver:hover,
.page-template-default .reserver:hover {
  border: 1px solid #fff;
  background: #fff url("assets/img/reserver_icon-black.svg") no-repeat 30px center;
  color: #2A3233;
}

.fixed_head .reserver {
  background: #4a6566 url("assets/img/reserver_icon.svg") no-repeat 30px center;
  position: relative;
  border-radius: 50px;
  border: 1px solid #4a6566;
  top: 0;
  right: 0;
  color: #fff;
  display: inline-flex;
  padding: 5px 30px 5px 60px;
  justify-content: flex-end;
  align-items: center;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.fixed_head .reserver:hover {
  border: 1px solid #2B5359;
  background: #2B5359 url("assets/img/reserver_icon.svg") no-repeat 30px center;
  color: #fff;
}
.fixed_head .res svg {
  color: #2A3233;
}

@media screen and (max-width: 768px) {
  .logo img {
    max-width: 240px;
  }
}
@media screen and (max-width: 380px) {
  .logo img {
    max-width: 180px;
  }
}
h2.site-description {
  font-size: 14px;
  font-weight: normal;
}

/* Header fixed
------------------------------------------*/
.site-header .logo1 {
  display: block;
}
.site-header .logo2 {
  display: none;
}

.single-format-standard .bghead2 {
  position: relative;
  background: #4B929D;
  height: auto;
  width: 100%;
  background-position: 50% 50%;
  background-size: cover;
  z-index: 1;
}
.single-format-standard .bghead2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background-color: #4B929D;
  opacity: 0;
}

@keyframes stickAnim {
  0% {
    transform: translateY(-76px);
  }
  100% {
    transform: translateY(0);
  }
}
.fixed_head {
  position: fixed !important;
  top: 0;
  animation: stickAnim 0.5s;
  width: 100% !important;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 2px 10px 2px rgba(0, 0, 0, 0.1);
}
.fixed_head .main-navigation {
  padding-top: 0px;
}
.fixed_head .logo {
  width: 194px;
  padding: 10px 0;
}
.fixed_head .logo img {
  max-width: 100%;
}
.fixed_head .logo1 {
  display: none;
}
.fixed_head .logo2 {
  display: block;
  padding-top: 5px;
}

.page-template-page-photos .fixed_head,
.page-template-page-livre .fixed_head,
.single .fixed_head,
.archive .fixed_head,
.page-template-page-localisation .fixed_head,
.page-template-page-contact .fixed_head,
.page-template-page-plan-site .fixed_head,
.page-template-page-generique .fixed_head,
.page-template-default .fixed_head {
  background: #fff;
}

@media screen and (max-width: 1180px) {
  .fixed_head {
    position: relative !important;
  }
}
/* Réservation
------------------------------------------*/
.book-wrap {
  font-size: 16px;
  position: absolute;
  top: 25%;
  right: 10%;
  z-index: 5000;
  background: #fff;
}

.book-link {
  padding: 0.75em 1.5em;
  background: #509AA6;
  color: #fff;
}
.book-link:hover, .book-link:active, .book-link:focus {
  background: #3B737B;
  color: #FFF;
}

.book-title {
  font-size: 14px;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 0.5em;
}

.book-toogle {
  display: none;
  position: absolute;
  top: 40px;
  right: 0;
  background: #fff;
  width: 320px;
  padding: 30px;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 2px 3px, rgba(0, 0, 0, 0.06) 0px 5px 32px;
}

.book-content input[type=text] {
  font-size: 16px;
  width: 40%;
  padding: 0.5em 0;
  border: none;
  border-bottom: 1px solid #A8A8A8;
  border-radius: 0;
}
.book-content label {
  width: 100%;
}
.book-content textarea:focus,
.book-content input[type=email]:focus,
.book-content input[type=tel]:focus,
.book-content input[type=text]:focus {
  outline: none;
  box-shadow: none;
}

.book-element {
  text-align: center;
  margin-bottom: 0.5em;
}

.book-flex {
  display: flex;
  justify-content: center;
  max-width: 100%;
}

.book-submit {
  text-align: center;
  margin-top: 1.5em;
}

input[type=button].qtyplus,
input[type=button].qtyminus {
  background: none;
  width: 40px;
  padding: 0;
  border: none;
  color: #2A3233;
  font-size: 32px;
  font-weight: 600;
}
input[type=button].qtyplus:hover,
input[type=button].qtyminus:hover {
  color: #509AA6;
}

input[type=text]#nbPersons {
  text-align: center;
}

/* Main content
------------------------------------------*/
.wrapper {
  margin-bottom: 50px;
  /* Conteneur Full Width*/
}
.wrapper .site-content {
  padding: 0 0 0 0;
}
.wrapper .standard_width {
  padding: 2em 0;
}

.page-template-default .wrapper .site-content,
.page-template-page-galerie .wrapper .site-content,
.page-template-page-livre .wrapper .site-content,
.page-template-page-generique .wrapper .site-content {
  padding: 0 0 0 0;
}

/* Sidebar
------------------------------------------*/
.widget-area {
  margin-top: 30px;
}

.widget-title {
  font-family: "Contralto Small", serif;
  line-height: 1.5;
  font-size: 32px;
  margin: 0 0 0 0;
  font-weight: normal;
}

.roots {
  margin-bottom: 0;
  padding: 0 0 0 1em;
}

aside.roots:first-child {
  border: none;
}

aside.roots:last-child {
  border: none;
}

aside.roots#search-3 {
  padding: 1em;
  background: #fff;
}

aside.roots ul {
  padding-left: 0;
}

aside.roots ul li {
  display: block;
  padding: 5px 0;
}

.wp-calendar td,
.wp-calendar th {
  padding: 5px;
  min-width: 5px;
  border: none;
  border-top: 1px solid #cdcdcd;
  text-align: left;
  vertical-align: top;
  cursor: default;
}

/* Footer
------------------------------------------*/
#colophon {
  background: #424F51;
}

.footerNav {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 0 20px 0;
}
.footerNav > div > div {
  margin-bottom: 0;
}

@media screen and (max-width: 1320px) {
  .footerNav {
    padding: 40px 10px 20px 10px;
  }
  .footerNav > div > div {
    margin-bottom: 30px;
  }
  .footerNav > div > div:last-child {
    margin-bottom: 0;
  }
}
.lefooter {
  font-size: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  width: 100%;
  padding: 30px 30px;
  gap: 50px;
  color: #fff;
}
.lefooter > div {
  height: 100%;
}
.lefooter a {
  color: #fff;
}
.lefooter a:hover {
  color: #3B737B;
}
.lefooter a:before {
  margin-right: 10px;
}

.foot_head {
  display: flex;
  justify-content: end;
  align-items: center;
  font-family: "Contralto Small", serif;
  font-size: 20px;
  color: #fff;
}

.foot_adress {
  display: flex;
  justify-content: start;
  align-items: center;
}

.social_network {
  position: relative;
  margin: 25px auto 0 auto;
  display: flex;
  justify-content: flex-start;
  gap: 20px;
  margin-bottom: 60px;
}

@media screen and (max-width: 1180px) {
  .lefooter {
    grid-template-columns: 1fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
    row-gap: 0px;
  }
  .bordd {
    display: none;
    height: 1px !important;
    background: none;
  }
  .foot_head {
    justify-content: center;
  }
  .foot_adress {
    justify-content: center;
    text-align: center;
  }
  .social_network {
    margin-bottom: 0px;
    justify-content: center;
  }
}
@media screen and (max-width: 640px) {
  .lefooter {
    grid-template-columns: 1fr;
    padding: 0 30px 30px 30px;
  }
}
@media screen and (max-width: 768px) {
  .social_network {
    gap: 15px;
  }
}
@media screen and (max-width: 480px) {
  .social_network {
    gap: 10px;
  }
}
.iconSocial {
  line-height: 1;
  text-align: left;
  margin-right: 0;
  margin-top: 40px;
}
.iconSocial svg {
  fill: #fff;
  margin-right: 10px;
  max-width: 26px;
  transition: all 0.2s ease-in;
}
.iconSocial svg:hover {
  fill: #4B929D;
}

.social_network {
  /* Exemple pour passer d'un noir à un bleu spécifique */
}
.social_network img:hover {
  /* Ce filtre transforme un SVG noir vers la couleur #509AA6 */
  filter: invert(58%) sepia(13%) saturate(1478%) hue-rotate(141deg) brightness(91%) contrast(85%);
  transition: filter 0.3s ease;
}

.footer-1 ul,
#colophon ol,
#colophon ul {
  padding-left: 0;
  list-style-type: none;
}

.site-info {
  background: #fff;
  display: flex;
  justify-content: space-between;
  padding: 15px 2em 65px 2em;
  text-align: center;
  font-size: 14px;
  flex-direction: column;
  gap: 40px;
  color: #2A3233;
}
.site-info .col {
  display: flex;
  justify-content: center;
  align-self: center;
  gap: 10px;
  padding: 0 2em;
}
.site-info .col img {
  max-width: 150px;
}
.site-info a {
  color: #2A3233;
}

.guest {
  font-size: 14px;
  color: #2A3233;
}
.guest a {
  margin: 0 10px;
  color: #2A3233;
  padding-bottom: 2px;
  border-bottom: 1px solid #2A3233;
}
.guest a:hover {
  color: #2B5359;
  border-bottom: 1px solid #2B5359;
}

@media screen and (max-width: 768px) {
  .site-info {
    flex-direction: column;
  }
  .site-info .col {
    padding: 2em 0.5em;
  }
  .site-info .guest {
    text-transform: none;
    color: #2A3233;
  }
  .site-info .guest a {
    color: #2A3233;
    padding-bottom: 1px;
    border-bottom: 1px solid #2A3233;
  }
  .site-info .guest a:hover {
    color: #2B5359;
    border-bottom: 1px solid #2B5359;
  }
}
@media screen and (max-width: 640px) {
  .col {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .col > * {
    display: block;
  }
  .col .guest {
    margin-top: 1em;
  }
}
.foot {
  display: block;
  position: fixed;
  bottom: -51px;
  z-index: 500;
  width: 100%;
  background: #fff;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
  animation: botToTop 0.5s;
}

@keyframes footAnim {
  100% {
    transform: translateY(0);
  }
  0% {
    transform: translateY(38px);
  }
}
.foot.fixx {
  bottom: 0;
  position: fixed;
  transition: all 0.25s ease;
  animation: footAnim 0.5s;
}

.toolbar {
  display: block;
}

.toolbar {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  padding: 0 0;
}
.toolbar a {
  color: #2A3233;
  font-size: 16px;
}
.toolbar a img {
  height: 30px;
  width: 30px;
}
.toolbar a.icon-mail {
  text-align: center;
  padding: 0 10px;
  display: flex;
  align-items: center;
}
.toolbar a.icon-tel {
  text-align: center;
  padding: 0 10px;
  display: flex;
  align-items: center;
}
.toolbar a.lang {
  text-align: center;
  padding: 0 10px;
  text-transform: uppercase;
}
.toolbar a.footResa {
  font-size: 16px;
  font-weight: 400;
  background: #4a6566;
  border: 1px solid #4a6566;
  color: #fff;
  line-height: 2;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 25px;
  padding-right: 25px;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.toolbar a.footResa:hover {
  background: #2B5359;
  border: 1px solid #2B5359;
}

@media screen and (max-width: 1040px) {
  .toolbar a.footResa {
    display: inline-block;
  }
}
@media screen and (max-width: 768px) {
  .mbnone {
    display: none;
  }
  .toolbar a.icon-mail {
    padding: 0 10px 0 0;
  }
  .toolbar a img {
    margin-right: 0;
  }
}
@keyframes botToTop {
  0% {
    transform: translateY(56px);
  }
  100% {
    transform: translateY(0px);
  }
}
/* Wp Module
   ======================================================================*/
/* Cookie Bar
------------------------------------------*/
#cookie-bar {
  z-index: 1200;
  position: fixed;
  left: 40px;
  bottom: 37px;
  max-width: 360px;
  height: auto;
  padding: 18px;
  color: #2A3233;
  text-align: left;
  font-size: 14px;
  line-height: 2;
  background: #fff;
  transition: transform 0.3s;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
}
#cookie-bar * {
  color: #000;
}

#cookie-bar.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

#cookie-bar.fixed.bottom {
  top: auto;
  bottom: 0;
}

#cookie-bar p {
  margin: 0;
  padding: 0;
}

#cookie-bar a {
  display: inline-block;
  text-decoration: none;
}

#cookie-bar .cb-enable {
  border-radius: 25px;
  padding: 4px 1em;
  margin: 8px 18px 0 0;
  font-weight: 400;
  background: #4a6566;
  border: 1px solid #4a6566;
  color: #fff;
  letter-spacing: 1px;
  font-size: 14px;
  transition: all 0.2s ease-in;
}

#cookie-bar .cb-enable:hover {
  background: #2B5359;
  color: #FFF;
  border: 1px solid #2B5359;
}

#cookie-bar .cb-disable {
  background: #990000;
}

#cookie-bar .cb-disable:hover {
  background: #bb0000;
}

#cookie-bar .cb-policy {
  color: #000;
  margin: 0;
  padding: 0.5em 0em;
  text-decoration: underline;
  background: transparent;
}

#cookie-bar .cb-policy:hover {
  background: transparent;
}

/* Fil d'ariane
------------------------------------------*/
.breadcrumbs {
  text-align: center;
  padding: 16px 1em;
  font-size: 12px;
}
.breadcrumbs a {
  color: #2A3233;
  padding-bottom: 1px;
  border-bottom: 1px solid #000;
}
.breadcrumbs a:hover {
  color: #509AA6;
  border-bottom: 1px solid #509AA6;
}

/* Tabs
------------------------------------------*/
ul.tabs_nav {
  margin: 0;
  padding: 0;
  float: left;
  list-style: none;
  height: 32px;
  border-bottom: 1px solid #B3B3B3;
  border-left: 1px solid #B3B3B3;
  width: 100%;
}

ul.tabs_nav li {
  float: left;
  margin: 0;
  cursor: pointer;
  padding: 0px 21px;
  height: 32px;
  line-height: 31px;
  border: 1px solid #B3B3B3;
  border-left: none;
  font-weight: bold;
  background: #BDBDBD;
  overflow: hidden;
  position: relative;
}

ul.tabs_nav li:hover {
  background: #A8A8A8;
}

ul.tabs_nav li.active {
  background: #fff;
  border-bottom: 1px solid #fff;
}

.tab_container {
  border: 1px solid #B3B3B3;
  border-top: none;
  clear: both;
  float: left;
  width: 100%;
  background: #fff;
}

.tab_content {
  padding: 20px;
  display: none;
}

#tab_parent {
  width: 100%;
  margin: 0 auto;
}

/* Loader
------------------------------------------*/
#loader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: url(assets/img/ring.svg) 50% 58% no-repeat #fff;
}

#loader_logo {
  width: 100%;
  height: 100%;
  background: url(assets/img/la-ferme-de-bouchemont_salle-reception.svg) 50% 35% no-repeat;
}

@media screen and (max-width: 640px) {
  #loader {
    background: url(assets/img/ring.svg) 50% 70% no-repeat #fff;
  }
}
/* Menu
------------------------------------------*/
.main-navigation {
  display: none;
  display: flex;
  justify-content: flex-end;
}

.main-navigation ul {
  list-style: none !important;
  list-style-type: none !important;
  text-align: center;
  padding-left: 0;
  margin-bottom: 0;
}

.main-navigation ul li {
  text-align: left;
  display: inline-block;
  position: relative;
}

.main-navigation ul li a {
  font-size: 16px;
  font-weight: 400;
  display: inline-block;
  padding: 5px 10px;
  color: #fff;
  transition: all 0.2s ease-in;
  text-transform: uppercase;
}

.main-navigation ul li.iconlink:first-child > a {
  text-indent: -9999px;
  color: transparent;
  background: url(assets/img/accueil.svg) no-repeat center 48%;
  width: 14px;
}

@media screen and (max-width: 1300px) {
  .main-navigation ul li a {
    padding: 5px 2px;
    letter-spacing: 1px;
  }
}
.main-navigation ul li ul.sub-menu a {
  padding: 0.5em 1em;
}

.main-navigation ul li.bookit a {
  background: #4B929D url(assets/img/resa.svg) 25px 50% no-repeat;
  border: 1px solid #4B929D;
  color: #fff;
  letter-spacing: 1px;
  font-weight: 700;
  padding: 0.3em 20px 0.3em 50px;
}
.main-navigation ul li.bookit a:hover {
  background: #4B929D url(assets/img/resa.svg) 25px 50% no-repeat;
  color: #fff !important;
  border: 1px solid #4B929D;
}

.main-navigation ul li a:hover {
  text-decoration: none;
  color: #4B929D !important;
}

.main-navigation ul li ul li a {
  text-shadow: none;
  text-transform: none;
}

.main-navigation ul li ul li a:hover {
  text-decoration: none;
  background: #2B5359;
  color: #fff !important;
}

/*--- Sub menu ---*/
.main-navigation li ul {
  display: none;
  z-index: 99999 !important;
  position: absolute;
  margin: 0;
  padding: 0;
  background: #3B737B;
}

.main-navigation ul ul ul {
  top: 0;
  left: 100%;
}

.main-navigation ul li:hover > ul {
  display: block;
}

.main-navigation ul li:hover > ul li,
.main-navigation ul li:hover > ul li a {
  display: block;
  z-index: 99999 !important;
  float: none;
  min-width: 220px;
  color: #fff;
}

.main-navigation .sub-menu {
  background: #509AA6;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

.main-navigation li.current_page_item ul li a {
  text-decoration: none;
  color: #fff;
  background: #509AA6;
}

.main-navigation li.current_page_item ul li a:hover {
  text-decoration: none;
  color: #fff;
  background: #2B5359;
}

.main-navigation .sub-menu:before {
  content: "";
  position: absolute;
  top: -5px;
  left: 60px;
  height: 9px;
  width: 9px;
  background-color: #509AA6;
  border-top: 1px solid #509AA6;
  border-left: 1px solid #509AA6;
  transform: rotate(45deg);
  z-index: 4;
  opacity: 1;
  transition-delay: 0.3s;
}

/*
--------------------------------------------------*/
.gridit {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.rh {
  width: 220px;
  height: 100%;
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 590px) {
  .rh .resa_menu {
    display: block;
  }
}
.main-navigation ul li.resa_menu a {
  font-size: 16px;
  font-weight: 600;
  display: inline-block;
  text-align: center;
  line-height: 2;
  background: none;
  color: #fff;
  padding: 5px 25px;
  border: 1px solid #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 50px;
}
.main-navigation ul li.resa_menu a:hover {
  color: #fff !important;
  background: #4B929D;
  border: 1px solid #4B929D;
}

@media screen and (max-width: 1280px) {
  a.resa_menu {
    margin-left: 0px;
  }
}
/* Menu fixed-----------*/
.fixed_head .main-navigation ul li a {
  font-size: 16px;
  font-weight: 400;
  display: inline-block;
  padding: 5px 10px;
  color: #2A3233;
  transition: all 0.2s ease-in;
}
.fixed_head .soc {
  padding: 8px 30px 8px 0;
}
.fixed_head .res {
  padding: 8px 20px 8px 0;
}
.fixed_head .main-navigation ul li.resa_menu a {
  font-size: 16px;
  font-weight: 600;
  display: inline-block;
  text-align: center;
  line-height: 2;
  background: #4B929D;
  color: #fff;
  padding: 5px 25px;
  border: 1px solid #4B929D;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 50px;
}
.fixed_head .main-navigation ul li.resa_menu a:hover {
  color: #fff !important;
  background: #4B929D;
  border: 1px solid #4B929D;
}

@media screen and (max-width: 1300px) {
  .fixed_head .main-navigation ul li a {
    padding: 5px 2px;
  }
}
.resa_container {
  text-align: center;
}

a.resa_menu2 {
  display: inline-block;
  text-align: center;
  line-height: 2;
  background: #4a6566 url(assets/img/resa.svg) 32px 50% no-repeat;
  color: #fff;
  padding: 5px 30px 5px 65px;
  letter-spacing: 3px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 50px;
}
a.resa_menu2:hover {
  background: #2B5359 url(assets/img/resa.svg) 32px 50% no-repeat;
}
a.resa_menu2 .resa_span {
  text-transform: uppercase;
  font-size: 14px;
}

.footmenu {
  text-transform: uppercase;
  font-weight: 400;
  padding: 1em 0.5em;
  font-size: 15px;
}
.footmenu ul {
  list-style-type: none;
  text-align: center;
}
.footmenu ul li {
  padding: 5px 0;
}
.footmenu ul a {
  color: #2A3233;
  font-weight: 600;
}

.sep {
  width: 60px;
  height: 1px;
  margin: 18px auto;
  background: #4B929D;
}

.footmenu2 {
  text-transform: uppercase;
  font-weight: 500;
  padding: 1em 0.5em;
  font-size: 14px;
}
.footmenu2 ul {
  list-style-type: none;
  text-align: center;
}
.footmenu2 ul li {
  padding: 2.5px 0;
}
.footmenu2 ul a {
  color: #919191;
}

.lelogo {
  padding: 0 2em 0 2em;
}

.sub-menu li {
  padding-left: 0;
  padding-right: 0px;
}

button.submenu-button {
  border-radius: 2px;
  position: relative;
  top: -54px;
  display: block;
  width: 32px;
  height: 32px;
  float: right;
  padding: 0;
  background: none;
  color: #fff;
  border: 1px solid #4B929D;
  background: #4B929D;
  box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px, rgba(0, 0, 0, 0.05) 0px 0.5px 1px;
}
button.submenu-button:hover {
  border: 1px solid #509AA6;
  background: #509AA6;
  color: #fff;
}

/* Burger menu 
------------------------------------------*/
/*--====== Sidebar ======--*/
#sidebar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  max-width: 360px;
  width: 80%;
  height: 100%;
  padding: 2rem;
  background-color: #fff;
  box-shadow: 0 10px 20px -4px #000;
  overflow-x: hidden;
  overflow-y: auto;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-100%);
  transition: opacity 0.3s ease, visibility 0.2s ease, transform 0.3s ease;
}

/* when the sidebar has 'show' class */
#sidebar.show {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.sidebar_content {
  padding: 0 0 20px 0;
  pointer-events: none;
  /* so that the Sidebar does not get closed while clicking on sidebar_content */
}

.sidebar_content a {
  pointer-events: all;
  /* so that all the <a> inside sidebar_content are clickable */
}

.sidebar_body {
  border-top: 1px dashed #B3B3B3;
  border-bottom: 1px dashed #B3B3B3;
}

.side_navlinks ul {
  display: grid;
  gap: 2rem;
}

.side_navlinks li a {
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.8;
}

.side_navlinks a:hover {
  opacity: 1;
}

/*---- Sidebar-Toggler ----*/
.sidebar_toggler {
  display: flex;
  position: fixed;
  z-index: 5000;
  top: 20px;
  left: 20px;
  width: 32px;
  height: 24px;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  overflow: hidden;
}

.sidebar_toggler span {
  background-color: #fff;
  width: 100%;
  height: 2px;
  transition: all 0.3s ease;
  pointer-events: none;
}

.sidebar_toggler span.fixed_burger {
  background-color: #2A3233;
  width: 100%;
  height: 2px;
  transition: all 0.3s ease;
  pointer-events: none;
}

.sidebar_toggler span:first-child {
  width: 100%;
}

.sidebar_toggler:hover > span:first-child {
  width: 75%;
}

.sidebar_toggler span:nth-child(2) {
  width: 75%;
}

.sidebar_toggler:hover > span:nth-child(2) {
  width: 100%;
}

.sidebar_toggler span:last-child {
  width: 100%;
}

.sidebar_toggler:hover > span:last-child {
  width: 75%;
}

/* if the sidebar has 'show' class then their adjacent-sibling (i.e., sidebar_toggler) will... */
#sidebar.show + .sidebar_toggler {
  justify-content: center;
}

#sidebar.show + .sidebar_toggler span {
  margin-top: -1.2px;
  margin-bottom: -1.2px;
}

#sidebar.show + .sidebar_toggler span:first-child {
  transform: rotate(45deg);
  background-color: #2A3233;
  width: 100%;
}

#sidebar.show + .sidebar_toggler span:nth-child(2) {
  opacity: 0;
  transform: translateX(-100%);
}

#sidebar.show + .sidebar_toggler span:last-child {
  transform: rotate(-45deg);
  background-color: #2A3233;
  width: 100%;
}

/* Scrollbar ------*/
.show::-webkit-scrollbar {
  width: 5px;
}

.show::-webkit-scrollbar-track {
  background-color: #fff;
}

.show::-webkit-scrollbar-thumb {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 100px;
}

.show {
  scrollbar-width: thin;
}

.show {
  scrollbar-color: #E0E0E0 #D4D4D4;
  scrollbar-width: thin;
}

/* Breadcrumb
------------------------------------------*/
/* Form comment
------------------------------------------*/
#comments {
  margin-top: 2em;
  padding-bottom: 0.25em;
}

.page-template-page-livre #comments {
  padding-bottom: 0;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
}

.comment-content a {
  word-wrap: break-word;
}

.comment-respond {
  background: #424F51;
  margin-top: 2em;
  padding: 2em;
  border: 1px solid #424F51;
  margin: 2em auto 0;
  color: #fff;
  border-radius: 20px;
}

.page-template-page-livre .comment-respond {
  max-width: 640px;
}

.comment-respond *:last-child {
  margin-bottom: 0;
}

.comment-form-comment textarea {
  margin-bottom: 0;
}

.comment-respond p label {
  display: block;
}

p.comment-notes {
  font-size: 14px;
}

p.form-submit {
  margin-top: 1em;
}

p.logged-in-as a {
  color: #2A3233;
}

#comment-nav-below {
  text-align: center;
  font-size: 14px;
}

#comment-nav-below .nav-previous {
  text-align: right;
}

#comment-nav-below .nav-next {
  text-align: left;
}

#comment-nav-below .nav-previous a {
  margin-right: 1em;
  border-bottom: 1px solid;
}

#comment-nav-below .nav-next a {
  margin-left: 1em;
  border-bottom: 1px solid;
}

#comments .entypo-comment:before {
  margin-right: 0.5em;
}

/* isotope Livre d'or
------------------------------------------*/
.page-template-page-livre article.comment.isotope_comment {
  width: 46%;
  margin: 2%;
  overflow: hidden;
}

.isotope_comment article.comment {
  margin: 0;
}

@media screen and (max-width: 640px) {
  .page-template-page-livre article.comment.isotope_comment {
    width: 94%;
    margin: 3%;
  }
}
/* Comments
------------------------------------------*/
ol.commentlist {
  padding-left: 0;
  list-style: none;
}

ol.children {
  padding-left: 2em;
  list-style: none;
}

.page-template-page-livre ol.children {
  padding-left: 0;
  list-style: none;
}

ol.commentlist ol.children {
  margin: 0;
  padding: 0 0 0 1em;
  list-style: none;
}

.page-template-page-livre ol.commentlist ol.children {
  margin: 0;
  padding: 0 0 0 0;
  list-style: none;
}

header.comment-author {
  display: block;
  margin-bottom: 0.5em;
}

header time {
  font-size: 12px;
}

.com_date {
  color: #2A3233;
  float: right;
  margin-top: 0.5em;
  font-size: 12px;
}

article.comment {
  margin: 1.5em 0;
  padding: 2em;
  /*border: 1px solid vars.$grey;*/
  background: #EBEBEB;
  border-radius: 20px;
}

.page-template-page-livre article.comment {
  margin: 1%;
}

.comment-content > *:last-child {
  margin-bottom: 0;
}

.avatar {
  float: left;
  height: 80px;
  margin-right: 1em;
  padding: 4px;
  max-width: 80px;
  border: 1px solid #B3B3B3;
  border-radius: 50px;
  background: #fff;
}

.comment .edit-link {
  font-size: 14px;
}

.reply {
  margin-top: 0.5em;
  text-align: right;
}

.comment-reply-link {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 2px 10px;
  text-align: center;
  font-size: 14px;
  font-style: italic;
  color: #fff;
  background: #4a6566;
}

a.comment-reply-link:hover {
  background: #2B5359;
  color: #fff;
}

/* Media                     
-------------------------*/
img.wp-smiley {
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
  border: none;
}

/* Widget
------------------------------------------*/
.widget-area aside.roots a {
  color: #2A3233;
}
.widget-area aside.roots a:hover {
  color: #3B737B;
}
.widget-area aside.roots a select {
  max-width: 100%;
}
.widget-area aside.roots .calendar_wrap table td,
.widget-area aside.roots .calendar_wrap table th {
  padding: 0.5em 0.5em;
}
.widget-area aside.roots .calendar_wrap table caption {
  margin-bottom: 0;
  padding: 0 0 1rem 0;
  text-align: left;
}

/* Search Form
------------------------------------------*/
input#s {
  border: 1px solid #B3B3B3;
}

input#searchsubmit {
  margin: 0 0 0 0;
  padding: 0.5em 1em;
  border: none;
  border-radius: 0;
  background: #4a6566 url(assets/img/search.png) center 50% no-repeat;
}

input#searchsubmit:hover {
  background-color: #2B5359;
}

/* Pagination
------------------------------------------*/
.pagination {
  width: 100%;
  margin-top: 60px;
  margin-bottom: 60px;
  margin-left: auto;
  margin-right: auto;
  text-align: center !important;
}

.page-numbers {
  display: inline-block;
  margin: 0 2px 0 0;
  padding: 8px 12px;
  border: 1px solid #2A3233;
  border-radius: 100%;
  text-decoration: none;
  line-height: 1;
  color: #fff;
  background: #2A3233;
}

.page-numbers.current {
  border: 1px solid #2A3233;
  text-decoration: none;
  color: #fff;
  background: #2A3233;
}

a.page-numbers:hover {
  border: 1px solid #4B929D;
  text-decoration: none;
  color: #fff;
  background: #4B929D;
}

/* blocks of content navigation
------------------------------------------*/
.comment-navigation,
.paging-navigation,
.post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.paging-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.paging-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

@media screen and (max-width: 1180px) {
  .separ {
    display: none;
  }
}
/* Wp Gallery
------------------------------------------*/
li.gallery-item {
  margin-top: 0;
}

.gallery {
  margin-bottom: 1.25em;
}

.gallery-item {
  margin-bottom: 0;
  display: inline-block;
  width: 100%;
  text-align: center;
  vertical-align: top;
  padding-right: 20px;
  padding-bottom: 20px;
}

.gallery-item img {
  display: block;
  width: 100%;
}

.gallery-columns-1 .gallery-item img {
  padding-right: 0;
  padding-bottom: 15px;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery {
  margin-left: 20px;
}

/* WP image
------------------------------------------*/
.entry-content img,
img[class*=align],
img[class*=wp-image-],
img[class*=attachment-],
img.size-full,
img.size-large,
.wp-post-image,
figure,
.gallery-caption,
.wp-caption {
  height: auto;
  max-width: 100%;
}

.gallery-caption,
.wp-caption-text {
  padding: 0.5em 0;
  text-align: center;
  font-size: 14px;
  font-style: italic;
}

/* Galerie photo Isotope + Wp gallery = page-galerie.php
------------------------------------------*/
.iso_galerie2 figure {
  margin-bottom: 0;
}
.iso_galerie2 figure .gallery-caption,
.iso_galerie2 figure .wp-caption-text {
  position: absolute;
  top: 15%;
  right: 0;
  left: 0;
  width: 95%;
  padding: 0.25em 0;
  border: none;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: bold;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.13);
  opacity: 0;
}

.gallery-item:hover > .gallery-caption,
.gallery-item:hover > .wp-caption-text {
  transition: all 1s;
  opacity: 1;
}

/* Galerie photo Isotope + ACF gallery = page-photos.php
------------------------------------------*/
.iso_galerie {
  width: calc(100% - 80px) !important;
  max-width: 1340px;
  margin: 40px auto 60px auto;
}

/*---- Social photo partage on lightGallery*/
.title_gallery {
  padding-left: 10%;
}
.title_gallery h3 {
  margin-bottom: 0;
  font-weight: 360;
}

.social {
  padding-right: 10%;
}
.social .entypo-facebook,
.social .entypo-twitter,
.social .entypo-pinterest {
  color: #fff;
  font-size: 24px;
  margin-left: 2rem;
}

li.li_isotope {
  list-style-type: none;
  margin: 0.5%;
  width: 24%;
  /* 32% pour 3 collones*/
  overflow: hidden;
}
li.li_isotope a.selecteur:before {
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  z-index: 1;
}
li.li_isotope .share_icon {
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  z-index: 5;
}
li.li_isotope .caption_title {
  position: absolute;
  top: auto;
  bottom: -40px;
  right: 0;
  left: 0;
  width: 100%;
  padding: 0;
  border: none;
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: bold;
  color: #fff;
  opacity: 0;
  z-index: 5;
}
li.li_isotope .caption_title:after {
  content: "";
  width: 20%;
  height: 1px;
  background: #fff;
  position: absolute;
  margin-top: 40px;
  z-index: 5;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
li.li_isotope .entypo-facebook,
li.li_isotope .entypo-twitter,
li.li_isotope .entypo-pinterest {
  color: #fff;
  font-size: 24px;
  padding: 0 10px;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}

li.li_isotope:hover > .share_icon {
  bottom: 40px;
}

li.li_isotope:hover a > .caption_title {
  bottom: 90px;
}

li.li_isotope a > .caption_title {
  transition: all 0.4s;
}

li.li_isotope a > img,
li.li_isotope > .share_icon,
li.li_isotope:hover > a.selecteur:before,
li.li_isotope:hover a > img,
li.li_isotope:hover a > .caption_title,
li.li_isotope:hover > .share_icon {
  transition: all 0.8s;
  opacity: 1;
}

li.li_isotope:hover a > img {
  transform: scale(1.13);
}

@media screen and (max-width: 600px) {
  li.li_isotope {
    margin: 0.5%;
    width: 49%;
  }
}
/*  POP UP source https://blog.site-web-creation.net/popup-onload/
------------------------------------------*/
#fond {
  background: rgba(0, 0, 0, 0.7);
  display: none;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 4000;
}

#popup {
  max-width: 560px;
  background-color: white;
  padding: 20px 20px;
  height: auto;
  z-index: 5000;
  position: absolute;
  display: none;
  top: 240px;
  right: 0px;
  left: 0;
  margin: 0 auto;
  box-shadow: 10px 10px 30px 0 rgba(0, 0, 0, 0.12);
}
#popup h1 {
  font-size: 40px;
}
#popup h2 {
  font-size: 36px;
}
#popup h3 {
  font-size: 32px;
}
#popup h4 {
  font-size: 28px;
}
#popup h5 {
  font-size: 24px;
}
#popup h6 {
  font-size: 20px;
}

#popup * {
  margin-bottom: 1em !important;
}

@media screen and (max-width: 560px) {
  #popup {
    width: 100%;
  }
}
#close {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 5px;
  right: 0px;
  color: #000;
  line-height: 30px;
  text-align: center;
  font-size: 20px;
  border-radius: 20px;
  cursor: default;
}

#close:hover {
  cursor: pointer;
}

#close svg {
  max-width: 10px;
}

#close:hover {
  color: #000;
  /*background-color:#000;*/
}

/* Modal
------------------------------------------*/
/*!
    Modaal - accessible modals - v0.4.4
    by Humaan, for all humans.
    http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
}

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out;
}

.modaal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
}

.modaal-wrapper .modaal-close {
  border: none;
  padding: 0;
  -webkit-appearance: none;
}

.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1;
}

.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}

.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}

.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}

.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}

.modaal-fullscreen .modaal-inner-wrapper {
  padding: 0;
  display: block;
  vertical-align: top;
}

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
}

.modaal-container.is_loading {
  height: 100px;
  width: 100px;
  overflow: hidden;
}

.modaal-fullscreen .modaal-container {
  max-width: none;
  height: 100%;
  overflow: auto;
}

.modaal-close {
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  background: #000;
  cursor: pointer;
  opacity: 1;
  width: 30px;
  height: 30px;
  border-radius: 0;
  transition: all 0.2s ease-in-out;
}

.modaal-close:focus,
.modaal-close:hover {
  outline: none;
  background: #4B929D;
  border-radius: 0;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
  background: #000;
}

.modaal-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.modaal-close:before,
.modaal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 5px;
  right: 14px;
  width: 2px;
  height: 20px;
  border-radius: 2px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}

.modaal-close:before {
  transform: rotate(-45deg);
}

.modaal-close:after {
  transform: rotate(45deg);
}

.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 10px;
  top: 10px;
}

.modaal-content-container {
  padding: 30px;
}

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0;
}

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent;
}

.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  transition: background 0.2s ease-in-out;
}

.modaal-confirm-btn.modaal-ok:hover {
  background: #2f2f2f;
}

.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline;
}

.modaal-confirm-btn.modaal-cancel:hover {
  text-decoration: none;
  color: #2f2f2f;
}

.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important;
}

.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent;
}

.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards;
}

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px;
}

.modaal-image .modaal-container {
  width: auto;
  max-width: 100%;
}

.modaal-gallery-wrap {
  position: relative;
  color: #fff;
}

.modaal-gallery-item {
  display: none;
}

.modaal-gallery-item img {
  display: block;
}

.modaal-gallery-item.is_active {
  display: block;
}

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff;
}

.modaal-gallery-label:focus {
  outline: none;
}

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}

.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default;
}

.modaal-gallery-control:focus,
.modaal-gallery-control:hover {
  outline: none;
  background: #fff;
}

.modaal-gallery-control:focus:before,
.modaal-gallery-control:focus:after,
.modaal-gallery-control:hover:before,
.modaal-gallery-control:hover:after {
  background: #afb7bc;
}

.modaal-gallery-control span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.modaal-gallery-control:before,
.modaal-gallery-control:after {
  display: block;
  content: " ";
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}

.modaal-gallery-control:before {
  margin: -5px 0 0;
  transform: rotate(-45deg);
}

.modaal-gallery-control:after {
  margin: 5px 0 0;
  transform: rotate(45deg);
}

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px;
}

.modaal-gallery-next-outer {
  right: 45px;
}

.modaal-gallery-prev:before,
.modaal-gallery-prev:after {
  left: 22px;
}

.modaal-gallery-prev:before {
  margin: 5px 0 0;
  transform: rotate(-45deg);
}

.modaal-gallery-prev:after {
  margin: -5px 0 0;
  transform: rotate(45deg);
}

.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px;
}

.modaal-gallery-prev-outer {
  left: 45px;
}

.modaal-video-wrap {
  margin: auto 16px;
  position: relative;
}

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%;
}

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block;
}

.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25);
}

.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute;
}

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div,
.modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div,
.modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div,
.modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px;
  }
}
@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px;
  }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7);
  }
  .modaal-gallery-control:before,
  .modaal-gallery-control:after {
    background: #fff;
  }
  .modaal-gallery-next {
    left: auto;
    right: 20px;
  }
  .modaal-gallery-prev {
    left: 20px;
    right: auto;
  }
}
@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
}
@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important;
  }
}
@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important;
  }
}
@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .modaal-instagram iframe {
    width: 600px !important;
  }
}
@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px;
  }
}
@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none;
  }
}
@keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    transform: scale(1);
  }
}
/* Wp Template Hierarchy 
   ======================================================================*/
/* Archive
------------------------------------------*/
.entry-meta .entypo-user:before,
.entry-meta .entypo-archive:before {
  margin-right: 4px;
}

.archive-header {
  margin-bottom: 40px;
}
.archive-header .taxonomy-description {
  max-width: 960px;
  margin: 0 auto;
  font-style: italic;
}

.excerpt-p p {
  margin-top: 0;
}

/* Home.php
------------------------------------------*/
/* Category
------------------------------------------*/
.wrap_grey {
  padding: 20px 0 10px 0;
  margin-bottom: 30px;
}

.blog .site-content,
.search .site-content,
.archive .site-content,
.tag .site-content,
.category .site-content {
  max-width: 1124px;
  margin: 0 auto 40px auto;
}

.single-post .site-content {
  max-width: 768px;
  margin: 0 auto 60px auto;
}

.single .header_container,
.blog .header_container,
.search .header_container,
.archive .header_container,
.tag .header_container,
.category .header_container {
  padding: 0 0 80px;
}
.single .site-header,
.blog .site-header,
.search .site-header,
.archive .site-header,
.tag .site-header,
.category .site-header {
  position: relative;
}

@media screen and (max-width: 1124px) {
  .archive .site-content {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.gridder {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-flow: row dense;
  grid-gap: 40px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.gridder .post {
  background: #fff;
  border-radius: 10px;
  border: #B3B3B3 1px solid;
}
.gridder .post .entry-header {
  padding: 20px 20px 10px;
  margin-bottom: 0px;
}
.gridder .post .excerpt-p {
  padding: 0 20px 20px;
}
.gridder .post .p_extrait {
  margin-bottom: 10px;
}
.gridder .minia img {
  width: 100%;
  border-radius: 10px 10px 0 0;
}

.h2press {
  font-size: 22px;
}

.post-lien {
  font-size: 12px;
  position: relative;
  text-transform: uppercase;
  padding: 0 0 1px 0;
  font-weight: 400;
  color: #4B929D;
  border-bottom: 1px solid #4B929D;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  transition: all 0.2s ease-in;
}
.post-lien:hover {
  border-bottom: 1px solid #4B929D;
  color: #4B929D;
}

@media screen and (max-width: 960px) {
  .gridder {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 640px) {
  .gridder {
    grid-template-columns: repeat(1, 1fr);
  }
}
/* Tag
------------------------------------------*/
/* Author
------------------------------------------*/
/* Single
------------------------------------------*/
.page-template-page-tourisme .entry-content > :not(:first-child) {
  max-width: 1280px;
}

.mt--20 {
  margin-top: -20px;
}

.blog h2.entry-title,
.search h2.entry-title,
.archive h2.entry-title,
.tag h2.entry-title,
.category h2.entry-title,
.single-post h1.entry-title {
  margin-bottom: 0;
}

.blog .entry-header,
.search .entry-header,
.archive .entry-header,
.tag .entry-header,
.category .entry-header {
  margin-bottom: 1em;
}

.single-post .entry-header {
  max-width: 960px;
  margin: 0 auto 30px auto;
}

.single-post h1.entry-title {
  font-size: 34px;
}

.single-post img {
  border-radius: 10px;
}

.entry-meta {
  margin-bottom: 0;
  font-size: 12px;
}

.datekey,
.tagkey,
.theauthor,
.cat {
  display: inline-block;
  padding-right: 0;
}

.entry-meta span.entypo-bookmarks:before {
  padding-right: 4px;
}

.page-links {
  margin-bottom: 0;
}

.archive .entry-title a {
  color: #4a6566;
}
.archive .entry-title a:hover {
  color: #3B737B;
}

@media screen and (max-width: 1280px) {
  .single .entry-header {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* Single-{slug}
------------------------------------------*/
/* Page
------------------------------------------*/
.planSite {
  max-width: 640px;
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 60px;
}
.planSite a {
  color: #2A3233;
  padding-bottom: 1px;
  border-bottom: 1px solid #2A3233;
}
.planSite a:hover {
  color: #3B737B;
  border-bottom: 1px solid #4B929D;
}
.planSite ul li ul.children {
  margin-bottom: 0;
  padding-left: 30px;
}

/* Page-{contact}
------------------------------------------*/
.img_kontact {
  margin-bottom: 30px;
}
.img_kontact img {
  border-radius: 10px;
  margin-bottom: 40px;
  width: 100%;
}

.adresse_kontact {
  margin-top: 30px;
}

/* 404
------------------------------------------*/
.erreur404 {
  text-align: center;
  font-size: 5rem;
  font-weight: 700;
}

/* Search
------------------------------------------*/
.flexsearch {
  display: flex;
}
.flexsearch #searchsubmit {
  width: 30px;
}

/* Wp Custom Template & Custom post type
   ======================================================================*/
/* Page-{slug}
------------------------------------------*/
/* Page-{Livre}
------------------------------------------*/
.avis {
  margin-top: 60px;
}

.avis .klik {
  display: inline-block;
  margin: 0 auto 1em auto;
  cursor: pointer;
  color: #2A3233;
  border-radius: 0;
  text-transform: uppercase;
  background: none;
  border-radius: 50px;
  border: 1px solid #2A3233;
  padding: 7px 50px;
  font-weight: 500;
  color: #2A3233;
  letter-spacing: 1px;
}
.avis .klik:hover {
  background-color: #2B5359;
  border: 1px solid #2B5359;
  color: #fff;
}

/* Page-{Localisation}
------------------------------------------*/
/* Media Queries
   ======================================================================*/
@media screen and (max-width: 1280px) {
  /*1280px*/
  .wrapper {
    padding: 0 0 0 0;
  }
}
@media screen and (max-width: 1210px) {
  .rhead {
    display: none;
  }
  #site-navigation2,
  #site-navigation,
  .res .lang {
    display: none;
  }
  .resa_head .lang {
    display: block;
  }
}
@media screen and (max-width: 960px) {
  /*960px*/
  .site {
    margin: 0 auto;
    max-width: 100%;
  }
  .site-header {
    position: relative;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  /*768px*/
}
@media screen and (max-width: 810px) {
  .iconSocial {
    text-align: center;
  }
}
@media screen and (max-width: 640px) {
  /*640px*/
  #destinationForm {
    padding: 1em 2em;
  }
  #destinationForm input {
    margin-right: 0;
  }
  .flexy {
    flex-flow: column;
  }
  .flexy #calculer {
    margin-top: 1em;
  }
  input#origin {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  /*480px*/
}
@media screen and (max-width: 320px) {
  /*320px*/
}
/* Réservation mobile
------------------------------------------*/
@media screen and (max-width: 810px) {
  a.resa_menu,
  .mobileNone {
    display: none;
  }
  .foot {
    display: block;
    position: fixed;
    bottom: 0;
    z-index: 500;
    width: 100%;
    background: #fff;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
    animation: none;
  }
}
.mobile-resa {
  display: none;
}
.mobile-resa .resa_menu2,
.mobile-resa .resa_menu {
  min-width: 200px;
}

@media screen and (max-width: 590px) {
  .mobile-resa {
    display: block;
  }
}
.grecaptcha-badge {
  z-index: -100 !important;
}