/*
Theme Name: Oshin Child
Description: Oshin Child Theme
Author: Brand Exponents
Template: oshin
Version: 1.2
*/

@import url("../oshin/style.css");

.header-widgets { right: -4px; }
.style2 #header-controls-right { right: 28px; }

#mobile-menu ul.sub-menu { margin-top: 1em; padding: 0; }
ul#mobile-menu ul.sub-menu a { max-width: 79%; }
ul#mobile-menu ul.sub-menu .mobile-sub-menu-controller { line-height: inherit; }
ul#mobile-menu .home-icon a { width: 100%; }

.header-cart-controls a.button,
.header-cart-controls .tds-form.one-button .button,
.header-cart-controls a.button,
.header-cart-controls .tds-form.one-button .button { padding: 0 16px; }

.header-cart-controls .buttons,
.header-cart-controls .buttons { float: left }

.header-cart-controls .tds-form.one-button,
.header-cart-controls .tds-form.one-button { float: right; margin-top: 10px; }

.woocommerce-message { font-size: 1.1em; font-weight: bold; }

.woocommerce ul.products li.product .product-meta-data h2,
.woocommerce-page ul.products li.product .product-meta-data h2,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product h2 {
    color: #222;
    display: inline-block;
    font: 400 13px "Montserrat", "Open Sans", "Arial", sans-serif;
    letter-spacing: 2px;
    padding: 0;
    text-transform: uppercase;
}

/*.product .price {
    text-align: left !important;
}*/

.product .quote-form {
    bottom: 7px;
    left: 320px !important;
    margin-bottom: 39px;
    position: absolute;
    width: 200px;
}
.product .quote-form button.wdm_enquiry {
    padding: 0 20px;
}


.woocommerce div.product div.woocommerce-product-gallery__image:first-child,
.woocommerce #content div.product div.woocommerce-product-gallery__image:first-child,
.woocommerce-page div.product div.woocommerce-product-gallery__image:first-child,
.woocommerce-page #content div.product div.woocommerce-product-gallery__image:first-child {
    margin-bottom: 1em;
}
.woocommerce div.product div.woocommerce-product-gallery__image a,
.woocommerce #content div.product div.woocommerce-product-gallery__image a,
.woocommerce-page div.product div.woocommerce-product-gallery__image a,
.woocommerce-page #content div.product div.woocommerce-product-gallery__image a {
    float: left;
    width: 16%;
    margin-right: 5%;
    margin-bottom: 5%;
}
.woocommerce div.product div.woocommerce-product-gallery__image:first-child a,
.woocommerce #content div.product div.woocommerce-product-gallery__image:first-child a,
.woocommerce-page div.product div.woocommerce-product-gallery__image:first-child a,
.woocommerce-page #content div.product div.woocommerce-product-gallery__image:first-child a {
    float: none;
    width: inherit;
    margin-right: inherit;
    margin-bottom: inherit;
}
.woocommerce div.product div.woocommerce-product-gallery__image:last-child a,
.woocommerce #content div.product div.woocommerce-product-gallery__image:last-child a,
.woocommerce-page div.product div.woocommerce-product-gallery__image:last-child a,
.woocommerce-page #content div.product div.woocommerce-product-gallery__image:last-child a {
    margin-right: 0;
}
.woocommerce div.product div.woocommerce-product-gallery__image img,
.woocommerce #content div.product div.woocommerce-product-gallery__image img,
.woocommerce-page div.product div.woocommerce-product-gallery__image img,
.woocommerce-page #content div.product div.woocommerce-product-gallery__image img {
    height: 55px;
}
.woocommerce div.product div.woocommerce-product-gallery__image:first-child img,
.woocommerce #content div.product div.woocommerce-product-gallery__image:first-child img,
.woocommerce-page div.product div.woocommerce-product-gallery__image:first-child img,
.woocommerce-page #content div.product div.woocommerce-product-gallery__image:first-child img {
    height: auto;
}

.product .summary .woocommerce {
    float: left !important;
    /*width: 48% !important;*/
    margin-right: 15px;
}
.woocommerce .summary ul.products li.product .product-thumbnail-image-wrap,
.woocommerce-page .summary ul.products li.product .product-thumbnail-image-wrap {
    float: left;
    width: 35px;
}
.woocommerce .summary ul.products li.product .product-meta-data,
.woocommerce-page .summary ul.products li.product .product-meta-data {
    text-align: left;
    padding: 0 10px 0 45px;
}
.woocommerce .summary ul.products li.product .product-meta-data h2,
.woocommerce-page .summary ul.products li.product .product-meta-data h2,
.woocommerce .summary ul.products li.product h2,
.woocommerce-page .summary ul.products li.product h2 {
    margin: 9px 0 0 0;
}
/*.woocommerce ul.products li.product .product-meta-data .price,
.woocommerce-page ul.products li.product .product-meta-data .price {
    display: none;
}*/
.woocommerce .summary ul.products li.product,
.woocommerce-page .summary ul.products li.product {
    width: 100%;
}

#tds-environment-status-bar {
    display: none;
    background-color: #F2E074; height: 4px; left: 0; position: fixed; top: 0; width: 100%; z-index: 100000;
}
#tds-environment-status-bar.dev {
    background-color: #6EC3F6;
}

#header-top-bar-left ul ,
#header-top-bar-right ul ,
#header-controls-left ul {
    display: inline-block;
}

@media screen and (max-width: 980px)
{
    body > #wdm-cart-count { right: 45px !important; }
    .style2 #header-controls-right { right: 13px; }

    .promo-zone .promo-content { display: none; }
}

@media screen and (max-width: 768px)
{
    .woocommerce table.shop_table th,
    .woocommerce-page table.shop_table th { font-size: 85%; padding: 10px 5px !important; width: inherit; }
    .woocommerce table.shop_table th.product-name,
    .woocommerce-page table.shop_table th.product-name{ width: 42%; }
}

@media screen and (max-width: 480px)
{
    .promo-zone .promo-title { font-size: 16px; padding-left: 115px; }
    .promo-zone .promo-thumb { top: 15px; width: 100px !important; }
    .master-slider .promo-zone  img { max-width: 100%; }
    .content-slide-content H4 { top: 112px !important; width: 50% !important; }

    form.cart { padding-bottom: 65px; }
    form.cart + #quote-form { bottom: 14px; left: 65px !important; }
}

@media screen and (max-width: 360px)
{
    body > #wdm-cart-count { right: 43px !important; }
    #header-controls-right .header-cart-controls { margin-right: 14px !important; }
    #header-controls-right .header-search-controls { position: relative; right: -20px; }
    .header-widgets { margin-right: 15px; }
    .search-box-wrapper.style2-header-search-widget .searchform .s { font-size: 30px; }
}

/* ======================
      Reservation Bar
   ====================== */

/*.datepicker-container {
    font-size: 12px;
    line-height: 30px;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    width: 210px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: #fff;
    direction: ltr !important;
    touch-action: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

.datepicker-container:before, .datepicker-container:after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    content: ' ';
    border: 5px solid transparent;
}

.datepicker-dropdown {
    position: absolute;
    z-index: 1;
    box-sizing: content-box;
    border: 1px solid #ccc;
    box-shadow: 0 3px 6px #ccc;
}

.datepicker-inline {
    position: static;
}

.datepicker-top-left:before, .datepicker-top-left:after,
.datepicker-top-right:before,
.datepicker-top-right:after {
    top: -5px;
    left: 10px;
    border-top: 0;
}

.datepicker-top-left:before,
.datepicker-top-right:before {
    border-bottom-color: #FFF;
}

.datepicker-top-left:after,
.datepicker-top-right:after {
    top: -4px;
    border-bottom-color: #fff;
}

.datepicker-bottom-left,
.datepicker-bottom-right {
    border-bottom-color: #d2af59;
}

.datepicker-bottom-left:before, .datepicker-bottom-left:after,
.datepicker-bottom-right:before,
.datepicker-bottom-right:after {
    bottom: -5px;
    left: 10px;
    border-bottom: 0;
}

.datepicker-bottom-left:before,
.datepicker-bottom-right:before {
    border-top-color: #d2af59;
}

.datepicker-bottom-left:after,
.datepicker-bottom-right:after {
    bottom: -4px;
    border-top-color: #fff;
}

.datepicker-top-right:before, .datepicker-top-right:after,
.datepicker-bottom-right:before,
.datepicker-bottom-right:after {
    right: 10px;
    left: auto;
}

.datepicker-panel > ul:before,
.datepicker-panel > ul:after {
    display: table;
    content: ' ';
}

.datepicker-panel > ul:after {
    clear: both;
}

.datepicker-panel > ul {
    width: 102%;
    margin: 0;
    padding: 0;
}

.datepicker-panel > ul > li {
    float: left;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    cursor: pointer;
    text-align: center;
    background-color: #fff;
}

.datepicker-panel > ul > li:hover {
    background-color: #f8f3e5;
}

.datepicker-panel > ul > li.muted, .datepicker-panel > ul > li.muted:hover {
    color: #999;
}

.datepicker-panel > ul > li.highlighted {
    background-color: #f8f3e5;
}

.datepicker-panel > ul > li.highlighted:hover {
    background-color: #f3e9d1;
}

.datepicker-panel > ul > li.picked, .datepicker-panel > ul > li.picked:hover {
    color: #d2af59;
}

.datepicker-panel > ul > li.disabled, .datepicker-panel > ul > li.disabled:hover {
    cursor: default;
    color: #ccc;
    background-color: #fff;
}

.datepicker-panel > ul > li.disabled.highlighted, .datepicker-panel > ul > li.disabled:hover.highlighted {
    background-color: #f8f3e5;
}

.datepicker-panel > ul > li[data-view='years prev'], .datepicker-panel > ul > li[data-view='year prev'], .datepicker-panel > ul > li[data-view='month prev'], .datepicker-panel > ul > li[data-view='years next'], .datepicker-panel > ul > li[data-view='year next'], .datepicker-panel > ul > li[data-view='month next'], .datepicker-panel > ul > li[data-view='next'] {
    font-size: 18px;
}

.datepicker-panel > ul > li[data-view='years current'], .datepicker-panel > ul > li[data-view='year current'], .datepicker-panel > ul > li[data-view='month current'] {
    width: 150px;
}

.datepicker-panel > ul[data-view='years'] > li, .datepicker-panel > ul[data-view='months'] > li {
    line-height: 52.5px;
    width: 52.5px;
    height: 52.5px;
}

.datepicker-panel > ul[data-view='week'] > li,
.datepicker-panel > ul[data-view='week'] > li:hover {
    cursor: default;
    background-color: #fff;
}

.datepicker-hide {
    display: none;
}*/

.reservation-bar form {
    display: -webkit-box;
    display: flex;
    max-width: 1160px;
    margin: 0 auto;
    width: 100%;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    align-items: center;
}

.reservation-bar form div {
    margin-right: 15px;
}

.reservation-bar form div.form-group.little-group {
    -webkit-box-flex: 1;
    flex: 1 0 110px;
}

.reservation-bar form div.form-group div {
    margin-right: 0;
}

.reservation-bar button {
    background: none;
}

.reservation-bar form input {
    margin-bottom: 0;
    text-indent: 0;
}
.reservation-bar form select {
    height: 41px;
    padding-right: 20px;
}
.reservation-bar button {
    padding: 12px 15px;
    margin: 16px 0 0;
}

@media only screen and (min-width: 320px) and (max-width: 810px) {
    .reservation-bar {
        position: relative;
    }
}

@media only screen and (max-width: 1160px) {
    .reservation-bar form {
        flex-wrap: wrap;
        -webkit-box-pack: center;
        justify-content: center;
        margin-left: 8px;
    }
    .reservation-bar form div.form-group {
        -webkit-box-flex: 1;
        flex: 1 0 160px;
    }
    .reservation-bar form select {
        width: 100%;
    }
    .reservation-bar form button  {
        margin-left: -8px;
    }
}

.reservation-bar form select::-ms-expand {
    display: none;
}

.share_buttons {
    float: left;
    clear: both;
}

/* MODIF KIFF #######################################################
################################################################## */
.js-replace-img{

  background-repeat: no-repeat;
  background-size: cover;

}

.js-replace-img img{

  display: none;

}

.fix-wrapper{

  position: fixed;
  right: 0;
  top: 50%;

  transform: rotateY(-50%);

  z-index: 9999;

}

@media only screen and (max-width: 767px) {
    .fix-wrapper {
        top: 20%;
    }
}

.fix-wrapper a.reservation{

  display: inline-block;
  position: relative;

  background: #fff;

  text-transform: uppercase;
  font-weight: bold;
  font-size: 12px;
  color: #000;

  padding: 15px 10px 15px 50px;

  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);

  transform: rotate(90deg) translateY(-80%);

}

.fix-wrapper a.reservation::before{
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    top: -5px;
    left: 5px;
    background: #fff url(img/goutte-single.svg) no-repeat center/contain;
    -webkit-transform: rotate(-90deg) translateX(-50%);
    -moz-transform: rotate(-90deg) translateX(-50%);
    -ms-transform: rotate(-90deg) translateX(-50%);
    -o-transform: rotate(-90deg) translateX(-50%);
    transform: rotate(-90deg) translateX(-50%);
}

h2.title-custom{

  font-size: 30px;
  line-height: 35px;
  color: #b6a756;
  text-transform: uppercase;
  font-family: 'Cinzel', serif;
  font-weight: normal;

}

h2.center{

  text-align: center;

}

h2.deco, h2.deco-reservation{

  position: relative;
  padding-top: 75px;


}

h2.deco-reservation{

  margin-top: 50px;

}

h2.deco::before{

  content: '';
  background: url(img/wave-multiple.png) no-repeat center/contain;

  position: absolute;
  top: 0;
  left: 50%;

  width: 75px;
  height: 50px;

  transform: translateX(-50%);

}

h2.deco-reservation::before{

  content: '';
  background: url(img/goutte.svg) no-repeat center/contain;

  position: absolute;
  top: 0;
  left: 50%;

  width: 75px;
  height: 50px;

  transform: translateX(-50%);

}

/* HEADER #########################################################*/
#header #header-wrap, #header .topbar-menu-container, #header #topbar-menu{

  line-height: 0px !important;
  top: 0;

}

.style1 #navigation, .style3 #navigation, .style4 #navigation, .style5 #navigation, #header-controls-left, #header-controls-right, #header-wrap, .mobile-nav-controller-wrap, #left-header-mobile .header-cart-controls, .style6 #navigation-left-side, .style6 #navigation-right-side {
    line-height: 0px !important;
}

/* SOCIALS + LANGUES */
#header #header-top-bar{

  top: 20px !important;
  z-index: 9999;

}

#header .top-bar-widgets{

  margin-left: 0;

}

#header #header-controls-left{

  top: 50px;
  left: 15px;

}

@media only screen and (max-width: 767px) {

  #header #header-top-bar{

    top: 0px !important;
    z-index: 9999;

  }

  #header #header-controls-left{

    display: block !important;
    top: 0px;
    left: 15px;

  }

  #header #header-controls-right {

    right: 30px !important;

  }

}

@media only screen and (max-width: 998px) {

  #header #header-controls-right .header-code-widgets{

    display: none;

  }

  #header #header-controls-right .header-widgets{

    top: 60px !important;

  }

}

#navigation .sub-menu{

  background: #1b2936 !important;
  color: #fff !important;

}

#navigation #menu .mega .sub-menu .highlight .sf-with-ul{

  color: #fff !important;

}

/* LOGO */
.logo a{

  margin: 20px 0;

}

.logo a img {
	max-height: 100px;
  width: auto;
  margin-top: 0 !important;
}

/* ADRESS + CART + SEARCH */
#header #header-controls-right{

  right: 20px;

}

#header #header-controls-right .header-code-widgets{

  top: 20px;

}

#header #header-controls-right .header-widgets{

  top: 35px;

}

#header #header-controls-right .header-cart-controls, #header #header-controls-right .header-search-controls{

  line-height: 0;

}

/* NAVIGATION */
#header #header-wrap, #header span.header-border {

  border-bottom: none;

}

/* TEMPLATE HOMEPAGE #########################################################*/

/* TEMPLATE SOURCE #########################################################*/
.bloc-homepage-source{

  background: #fdf8f2;

}

.bloc-homepage-bar{

  background: #fff;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
  -moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);

  padding: 50px;

  transform: translateY(-50%);

}

.bloc-homepage-source .reservation-bar form label, .reservation-bar form label {
  display: block;
  font-weight: bold;
  margin-bottom: 10px;
  color: #202525;
}

.bloc-homepage-source .reservation-bar button, .reservation-bar button {
    border: 2px solid #b5a351;
    font-weight: bold;
    font-size: 14px;
    color: #1d262d;
    letter-spacing: 1px;
    text-align: center;
    padding: 10px 15px;
    margin-top: 30px;
    white-space: nowrap;
}

.bloc-homepage-source .reservation-bar button:hover, .reservation-bar button:focus, .reservation-bar button:hover {
    background: #d2af59;
    border-color: #d2af59;
    color: #000;
}

.bloc-homepage-source .reservation-bar form select, .reservation-bar form select {
    background: #f2f2f2 url(img/arrow-select.png) right center no-repeat;
    border: none;
    border: 1px solid #e6e6e6;
    width: 100%;
    display: block;
    font-size: 100%;
    color: #777475;
    height: 40px;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-left: 10px;
}

.bloc-homepage-source .reservation-bar form input, .reservation-bar form input {
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    padding: 1em;
    width: 100%;
    box-sizing: border-box;
    border-radius: 4px;
}

.bloc-homepage-source .source-wrapper {

  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;

}

.bloc-homepage-source .source-wrapper .image {

  text-align: center;

}

.bloc-homepage-source .source-wrapper .image img {

  max-height: 400px;

}

.bloc-homepage-source .source-wrapper header{

  margin-bottom: 40px !important;

}

.bloc-homepage-source .source-wrapper header h2{

  color: #ae9c48;
  font-weight: normal;
  text-transform: none;
  font-size: 30px;

  font-weight: 200 !important;

}

.bloc-homepage-source .source-wrapper .text .content{

  font-family: 'Cinzel', serif;
  text-transform: uppercase;
  font-size: 20px;
  line-height: 40px;
  font-weight: 100;
  display: flex;
  flex-direction: column;
  justify-content: center;

}

@media only screen and (max-width: 767px) {

  .bloc-homepage-bar{

    transform: translateY(0%);

  }

  .bloc-homepage-source .source-wrapper header h2{

    font-size: 25px;
    line-height: 28px;

  }

  .bloc-homepage-source .source-wrapper .text .content{

    font-size: 15px;
    line-height: 18px;
    padding-bottom: 20px;

  }

}

/* BLOCK PROMOTIONS HOMEPAGE #################################################*/
.bloc-homepage-promotions{

  margin-top: 25px;
  margin-bottom: 100px;

}

.slider {
    width: 100%;
    height: 450px;
    position: relative;
}

#gallery {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #f5f4f2;
}

#gallery ul {
    font-size: 0;
    white-space: nowrap;
    position: absolute;
    top: 0;
    left: -50%;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    color: #2D3035;
}

#gallery li {
    width: 50%;
    height: 100%;
    white-space: normal;
    display: inline-flex;
}

#gallery h3 {
    font: 28px "Montserrat","Open Sans","Arial",sans-serif !important;
    font-weight: normal !important;
    text-transform: none !important;
    line-height: 30px;
    color: #202525;
    margin: 0 auto;
    padding: 0 45px;
    margin-bottom: 30px !important;

}

#gallery li p {
    color: #746b64;
    font-size: 18px;
    text-transform: uppercase;
    text-align: center;

    margin: 0 auto;
    padding: 0 45px;
    margin-bottom: 30px;
}

.slider button {
    color: #b4a355;
    font-size: 18px;
    width: 44px;
    height: 44px;
    background: #fff;
    border: none;
    padding: 0;
}

.try {
    width: 100%;
    height: 44px;
    position: absolute;
    top: 50%;

    transform: translateY(-50%);
}

.try button {
    position: absolute;
    margin: 0;
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
    font-size: 30px;
}

.try button:last-child {
    right: 0;
}

#gallery .text_box a {
    margin: 0 auto;
    font-size: 18px;
    border: 2px solid #b4a355;
    padding: 0;
    font-family: 'Cinzel', serif;
    text-transform: uppercase;
    color: black;
    display: block;
    height: 56px;
    width: 160px;
    line-height: 56px;
    background: white;

    transition:  all .25s ease;
}

#gallery .text_box a:hover {
    background: #b4a355;
    color: #fff;

    transition:  all .25s ease;
}

.hide {
    display: none;
}

.img_box {
    background-position: center;
    background-size: cover;
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.text_box {
    width: 50%;
    font-size: 16px;
    position: relative;
}

.center_box {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width:900px) {
    #gallery ul {
        width: 100%;
        margin: 0 auto;
        position: relative;
        left: 0;
    }
    #gallery li {
        width: 100%;
    }


}


@media only screen and (max-width: 767px) {

  .slider{

    height: auto;

  }

  #gallery ul {
      width: 100%;
      margin: 0 auto;
      position: relative;
      left: 0;
  }

  #gallery li {
      flex-direction: column;
  }

  .img_box {
      width: 100%;
      height: 100%;
      min-height: 250px;
  }

  .img_box img {
      max-width: 100%;
      width: 100%;
  }

  .text_box {
      width: 80%;
      margin: 0 auto;
      margin-top: 50px;
  }

  .center_box {

       position: relative;
       left: 0;
       top: 0;
       transform: translate(0%,0%);
  }

  #gallery .text_box a {
    margin-bottom: 40px;
  }

}

@media (max-width:400px) {
    .text_box{
        width: 100%;
        margin: 0;
        margin-top: 40px;
    }

}
/* TEMPLATE INFORMATIONS #####################################################*/
.bloc-homepage-informations{

}

.bloc-homepage-informations article{

  position: relative;
  margin-bottom: 25px;
  margin-left: 2%;

}

.bloc-homepage-informations article:nth-child(4){

  margin-left: 0;

}

.bloc-homepage-informations article figcaption{

  background: url('img/circle.svg') no-repeat center/contain;

  position: absolute;
  top: 50%;
  left: 50%;

  width: 150px;
  height: 150px;

  padding: 15px;

  display: flex;
  flex-direction: row;

  align-items: center;
  justify-content: center;

  transform: scale(1) translate(-50%,-50%);
  transition:  all .5s ease;

}

.bloc-homepage-informations article img{

  opacity: 1;
  transition:  all .5s ease;

}

.bloc-homepage-informations article a:hover img{

  opacity: 0.5;
  transition:  all .5s ease;

}


.bloc-homepage-informations article figcaption h3{

  color: #828081;
  font-size: 18px;
  line-height: 20px;
  text-transform: uppercase;
  text-align: center;

  width: 150px;


}

/* BLOCK RESERVATION HOMEPAGE ################################################*/
.block{

  background: #fdf8f2;;
  padding: 50px 0;

}
.block.white{

  background: #fff;

}
.block .title {
    margin: 0;
    color: #2D3035;
    text-align: center;
    background-position: top center;
    padding-top: 50px;
    line-height: 24px;
    margin-bottom: 10px !important;
}

.block .title a{
    color: #2D3035;
}

.item_01 {
    background: url('img/online.png') no-repeat;
    background-size: 30px;
    background-position: center top;
}

.item_02 {
    background: url('img/tel.png') no-repeat;
    background-size: 30px;
}

.item_03 {
    background: url('img/letter.png') no-repeat;
    background-size: 30px;
}

.block .subtitle {
    color: #746b64;
    text-align: center;
}

.block .tab_menu {
    margin: 0;
    padding: 0;
    display: flex;
}

.block .tab_menu-el {
    background-color: #f9f9f9;
    margin: 0;
    padding: 0;
    list-style: none;
}

.block .tab_menu-el:nth-child(1) a {
    background: url('img/online.png') no-repeat;
    background-position: 20px;
    background-size: 15px;
    padding-left: 60px;
}

.block .tab_menu-el:nth-child(2) a {
    background: url('img/tel.png') no-repeat;
    background-position: 20px;
    background-size: 15px;
    padding-left: 60px;
}

.block .tab_menu-el:nth-child(3) a {
    background: url('img/letter.png') no-repeat;
    background-position: 25px;
    background-size: 15px;
    padding-left: 60px;
}

.block .tab_menu-el:nth-child(2) {
    border-right: 1px solid #eeeded;
    border-left: 1px solid #eeeded;
}

.block .tab {
    display: none;
    background: #fff;
    padding: 30px;
    padding-bottom: 3%;
    z-index: 11;
    position: relative;
    box-shadow: 0px -1px 0px #fff, 0px 11px 20px #f3f3f3;
}

.block .tab.active {
    display: block;
}

.block .tab_menu-el_link {
    font-weight: normal;
    color: #9a938e;
    display: block;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-right: 60px;
}

.block .tab_menu li a {
    position: relative;
}

.block .tab_menu li a.active {
    font-weight: bold;
    background-color: #fff;
    box-shadow: 0px 0px 20px #f3f3f3;
    z-index: 10;
}

@media (max-width: 998px) {
    .block .tab_menu-el_link {
        padding: 0;
        padding-top: 25px;
        padding-bottom: 25px;
        padding-right: 23px;
    }
}

@media (max-width: 859px) {
    .block .title{

      font-size: 18px;
      padding: 0;
      background: none;
      line-height: 100%;
      margin-bottom: 20px !important;

    }
    .block .tab_menu {
        margin: 0;
        display: flex;
    }

    .block .tab_menu-el {
        width: 100%;
    }

    .block .tab_menu-el:nth-child(1) a {
        padding: 0;
        text-indent: -9999px;
        width: 100%;
        padding: 40px 0;
        background-size: 30px;
        background-position: center center;
    }

    .block .tab_menu-el:nth-child(2) a {
        padding: 0;
        text-indent: -9999px;
        width: 100%;
        padding: 40px 0;
        background-size: 30px;
        background-position: center center;
    }

    .block .tab_menu-el:nth-child(3) a {
        padding: 0;
        text-indent: -9999px;
        width: 100%;
        padding: 40px 0;
        background-size: 30px;
        background-position: center center;
    }
}

@media (max-width: 500px) {

  .title.item_02 a, .title.item_03 a{

    display: block;

  }

}





/* BLOCK NEWSLETTER HOMEPAGE #################################################*/
.newsletter {
    background: url(img/wave.png) no-repeat;
    padding-top: 50px;
    margin-top: 100px !important;
}

.contain {
    font-size: 14px;
    color: #746b64;
    margin: 0 auto;
}

.contain_text {
    margin-bottom: 27px;
    line-height: 1.4;
}

.contain_text span {
    font-weight: bold;
}

.newsletter .contain_text span {
    font-weight: bold;
    font-size: 28px;
    display: block;
}

.contain_form #mc_embed_signup_scroll{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.contain_form .indicates-required{

    display: none;

}

.contain_form .mc-field-group{

    margin-right: 10px;

}

.contain_form .mc-field-group:last-child{

    margin-right: 0px;

}

.contain_form input[type=text], .contain_form input[type=email], .contain_form select {
    height: 60px;
    border: 1px solid #b4a355;
    padding: 0;
    margin-right: 20px;
    margin-bottom: 20px;
    padding-left: .8%;
}

.contain_form input::placeholder, .contain_form select  {
    font-size: 14px;
    color: #7a7a7a;
    opacity: 1;
}

.contain_form input[type=submit] {
    height: 62px;
    width: 62px;
    margin-right: 0;
    padding-left: 0;
    border: 1px solid #b4a355;
    background: url(img/check.png) no-repeat;
    background-position: center center;
    box-shadow: 0;
    text-indent: -9999px;
}


@media (max-width: 1227px) {
    .contain_form input {
        width: 15%;
    }

    .partenariat{
        width: 90%;
    }

    .partenariat_contain{
        width: 20%;
    }

}

@media (max-width: 1196px) {

    .contain_form {
        display: flex;
        flex-direction: column;
        width: 80%;
        margin: 0 auto;
    }

    .contain_form input {
        width: 80%;
        margin: 0 auto;
        margin-bottom: 20px;
    }

    .contain_form input:last-child {
        margin: 0 auto;
    }

}

@media (max-width:600px) {

    .newsletter {
        background-position: top;
    }

    .contain_form {
        display: flex;
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }

    .contain_form #mc_embed_signup_scroll{
        flex-wrap: wrap;
    }

    .contain_form .mc-field-group{

        width: 100%;
        margin: 0 0 15px 0;

    }

    .contain_form .clear{

      width: 100%;
      text-align: center;

    }

    .contain_text {
        text-align: center;
    }

    .contain_form input {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 20px;
    }

    .contain_form input:last-child {
        margin: 0 auto;
    }
}

/*Section Newsletter Fin*/

/*Section Partenariat*/

.partenariat {
   position: relative;
    padding-top: 50px;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 3%;
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}

.partenariat span.heart {
    content: "";
    background: url(img/heart.png) no-repeat;
    background-size: contain;

    position: absolute;
    top: 0;
    left: 0;

    width: 40px;
    height: 40px;

    transition:  all .5s ease;

}

.partenariat span.heart:hover{
    background: url(img/heart-full.png) no-repeat;
    background-size: contain;
    transition:  all .5s ease;

}

.partenariat_contain {
    margin-left: 20px;
    color: #746b64;
    margin-top: 25px;
    width: 59%;
}

.partenariat_contain h4 {
    font-size: 30px;
    margin: 10px 0 5px 0;
    color: #b4a355;
    font-family: 'Cinzel', serif;
}

.partenariat_contain p {
    margin-top: 0;
    font-size: 14px;
    width: 100%;
    background: -webkit-linear-gradient(#746b64, #eee);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.partenariat_contain a {
    font-family: 'Cinzel', serif;
    text-transform: uppercase;
    color: black;
    display: block;
    height: 56px;
    width: 160px;
    line-height: 56px;
    background: white;
    font-size: 18px;
    border: 2px solid #b4a355;
    text-align: center;
    transition:  all .5s ease;
}

.partenariat_contain a:hover {
    color: white;
    background: #b4a355;
    transition:  all .5s ease;
}

.img-prop {
    width: 30%;
    min-height: 250px;
    margin-top: 25px;

    background-size: cover;
    background-position: center;
}

@media (max-width:1159px) {
    .partenariat {
        justify-content: center;
    }

    .partenariat_contain {
        width: 54%;
    }
}

@media (max-width:934px) {
    .partenariat_contain {
        width: 403px;
    }
}

@media (max-width: 762px) {
    .partenariat {
        background-position: top
    }

    .img-prop {
        width: 100%;
    }
}

@media (max-width:472px) {
    .partenariat {
        width: 80%;
    }

    .partenariat_contain {
        margin-left: 0;
    }
}

@media (max-width:521px) {
    .partenariat{
        position: relative;
    }
    .partenariat img{
        position: absolute;
        left: 0;
        top: 80px;
        width: 100%;
        height:auto;
    }

    .partenariat_contain{
       margin-top: 20px;
    }
}

/* BLOCK FOOTER  #############################################################*/
.footer-center-area .socials{

  margin: 0;
  padding: 0;
  text-align: right;

}

.footer-center-area .socials li{

  margin: 0 20px 0 0;
  padding: 0;

  display: inline-table;
  list-style: none;

}

.footer-center-area .socials li:last-child{

  margin: 0;

}

.footer-center-area .socials li a{

  text-decoration: none !important;

}

#bottom-widgets{

  background:#1b2936 !important;
  border-top: 5px solid #b4a854;

  color: #fff;

  padding-top: 100px;
  padding-bottom: 20px;

}

#bottom-widgets .widget_nav_menu ul li.menu-item-has-children>a{

  font-size: 18px;
  font-family: 'Cinzel', serif;
  color: #fff;
  text-transform: uppercase;

}

#bottom-widgets .widget_nav_menu ul li .sub-menu li{

  border: none;

}

#bottom-widgets .widget_nav_menu ul li .sub-menu li a{

  color: #fff;
  font-size: 16px;

  display: inline-block;
  padding-left: 10px;

}

#bottom-widgets .widget_nav_menu ul li .sub-menu li a:before{

  content: '-';
  color: #fff;

}

#footer{

  background:#1b2936 !important;

  color: #fff;

}

#footer #footer-wrap{

  border-top: 1px solid #8d9ba6;
  color: #fff !important;

}

#footer #footer-wrap a{

  display: inline-block;

  color: #fff !important;
  text-decoration: underline;

  padding-bottom: 3px;

}

#footer-wrap .footer-right-area{

  position: relative;

  margin: 20px 0;

}

@media (max-width:800px) {

  footer#bottom-widgets ul li{

    background: none;
    border-left: none !important;

  }

  footer#bottom-widgets ul li a{

    color: #fff !important;

  }

}

/* NEWS */
#blog-content .pagination_parent{

  width: 100%;
  text-align: center;

}

#blog-content .be-wrap{

  margin-top: 35px;
  background-image: url(img/waves.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 80px;
  padding-top: 80px !important;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 100px;

}

.single-post #content{

  margin-top: 35px;
  background-image: url(img/waves.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 80px;
  padding-top: 80px !important;

}

.bg-sec {
    background-image: url(img/bg_sec1.png);
    background-size: cover;
    width: 48%;
    background-repeat: no-repeat;
    margin-bottom: 50px;
    display: flex;
    flex-direction: column;
}

.bg-sec:nth-child(2) {
    background-image: url(img/bg_sec2.png);
}

.bg-sec .js-replace-img {
    width: 100%;
    height: 300px;
}

.bg-sec .js-replace-img img {
    width: 100%;
    height: 100%;
}

.bg-sec .content {
    background: white;
    margin: 10px 10px 10px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 10px;
    height: 100%;

}

.bg-sec .content_text {
    text-align: center;
    font-family: sans-serif;
    padding: 10px;
}

.bg-sec .content_text .title {
    font-size: 30px;
    margin: 0;
    font-weight: 300;
    color: #1a2935;
    padding-top: 20px;
    line-height: 30px;
}

.bg-sec .content_text p {
    text-transform: uppercase;
    width: 63%;
    margin: 0 auto;
    padding: 30px 0;
    line-height: 1.4;
    color: #1a2935;
    text-align: left !important;
}

.bg-sec .content_text a {
    border: 2px solid #b5a353;
    font-family: serif;
    padding: 5px;
    display: block;
    width: 50%;
    margin: 0 auto;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.bg_foot {
    background: #fdf9f2;
    background-image: url(img/bg_sec3.png);
    height: 500px;
    background-size: 26%;
    background-position: bottom left 15%;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: top;
    font-family: 'Cinzel', serif;
}

.bg_foot .bg_foot-content {
    width: 50%;
    margin: 0 auto;
    margin-top: 30px;
    text-align: center;
}

.bg_foot .bg_foot-content h4 {
    color: #b5a454;
    font-size: 30px;
    text-transform: uppercase;
    font-weight: 200;
    margin-bottom: 30px;
}

.bg_foot .bg_foot-content p {
    font-family: sans-serif;
    width: 45%;
    line-height: 30px;
    font-size: 20px;
    margin: 0 auto;
    text-transform: uppercase;
    font-weight: 300;
    color: #1a2935;
    text-align: center;
}

.bg_foot .bg_foot-content .inline {
    display: flex;
    margin-top: 35px;
    padding: 0;
    justify-content: center;
}

.bg_foot .bg_foot-content .inline li {
    font-size: 50px;
    margin-right: 20px;
    color: #b5a353;
    list-style: none;
}

.bg_foot .bg_foot-content .inline li:last-child {
    margin: 0;
}

@media (max-width: 1024px) {
    .bg-sec {
        flex-direction: column;
    }

    .bg-sec .js-replace-img {
        width: 100%;
        min-height: 200px;
    }

    .bg-sec .content {
        width: 96%;
        margin: 2%;
    }

    .bg_foot {
        background-position: bottom center;
        padding-bottom: 250px;
        background-size: 280px;
    }

    .bg_foot p {
        width: 60%;
    }
}

@media (max-width: 600px) {

.bg-sec{
  width: 100%;
}

}

@media (max-width: 585px) {

    .bg_foot {
        background-size: 260px;
        background-position: center bottom;
    }

    .bg_foot-content h4 {
        font-size: 27px;
    }

    .bg_foot .bg_foot-content p {
        width: 100%;
        font-size: 18px;
    }
}

@media (max-width: 525px) {
    .content_text .title {
        font-size: 23px;
    }

    .content_text p {
        padding: 20px 0;
        width: 80%;
        font-size: 14px;
    }
}

/* Template réservation */
.template-reservation{

  transform: translateY(0) !important;
  margin-top: 60px !important;
  margin-bottom: 60px !important;

}

.reservation__intro {
  background-image: url(img/waves.png);
  background-position: top center;
  background-repeat: no-repeat;
  padding-top: 80px;
  margin-top: 60px !important; }
  .reservation__intro p {
    color: #b4a355;
    font-size: 20px;
    line-height: 100%;
    font-family: 'Cinzel', serif;
    text-align: center !important;
  }

.reservation__info {
  background-image: url(img/drops.png);
  background-position: top center;
  background-repeat: no-repeat;
  padding-top: 120px;
  margin-top: 80px;
  color: #958a81; }
  .reservation__info--list {
    line-height: 30px;
    padding-left: 16px; }
    .reservation__info--list__el {
      margin-bottom: 20px;
      line-height: 25px; }
  .reservation__info strong {
    text-transform: uppercase;
    font-size: 22px; }
    .reservation__info strong span {
      color: #cec2b9; }

.block__img {
  width: 100%; }
  .block__img--list {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin-top: 130px;
    margin-bottom: 0; }
    .block__img--list__el {
      margin: 0;
      width: 25%;
    }
    .block__img--list__el img {
      width: 100%; }

.margin {
  margin: 30px 0; }

.no-margin {
  margin: 0; }

@media (max-width: 800px) {
  .block__img--list {
    margin-top: 50px;
    flex-direction: column;
    justify-content: flex-start;
    flex-direction: column;
    font-size: 0; } }

    .block__img--list__el {
      margin: 0;
      width: 25%;
    }

@media (max-width: 700px) {
  .block__img--list__el {
    margin: 0;
    width: 100%;
  }
  .container {
    max-width: 1920px;
    width: 80%; }
  .reservation__intro p {
    font-size: 30px; } }

    @media (max-width: 400px) {
      .block__img--list__el {
        margin: 0;
        width: 100%;
      }
    }

#cookie-law-info-bar{
    z-index: 999999 !important;
}

.cli_settings_button {
    cursor: pointer;
}





/* ------------------- */
/* --- 2025 UPDATE --- */
/* ------------------- */

/* Page Jobs - Job Cards Wrapper */
body:not(.tatsu-frame) .grid-of-rows .tatsu-section-pad {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
  grid-auto-rows: 1fr;
  gap: 2rem;
  max-width: 1160px;
  margin: 0 auto;
}
body:not(.tatsu-frame) .grid-of-rows .tatsu-section-pad:before {
  display: none;
}

/* Page Jobs - Job Cards */
body:not(.tatsu-frame) .grid-of-rows .tatsu-section-pad .tatsu-row-wrap {
  width: fit-content;
}

/* Page Jobs - Job Cards - Image */
body:not(.tatsu-frame) .grid-of-rows .tatsu-section-pad .tatsu-row-wrap .tatsu-module img {
  width: 100%;
}





/* ------------------ */
/* --- 2026 FIXES --- */
/* ------------------ */

#navigation .sub-menu a:hover {
  left: 0;
  padding-left: 27px;
  padding-right: 13px;
}








/* ------------------- */
/* --- XPLAN FIXES --- */
/* ------------------- */

/* Prevent the bottom bar containing the navigation buttons from being hidden behind the footer */
body:has(.xplan-reservation) #main-wrapper #content {
  position: relative;
  z-index: 10;
}

/* Loaders */
#main-wrapper .xplan-reservation .loader {
  inset: 0 !important;
}

/* Modals */
body:has(.xplan-reservation) #main-wrapper .modal {
  background: #0006;
  inset: 0 !important;
}

/* Remove the modal overlay from the body, which prevents any action on the website */
body:has(.xplan-reservation) > .modal-backdrop {
  display: none;
}

/* Buttons */
#main-wrapper .xplan-reservation #dates-people input.btn,
#main-wrapper .xplan-reservation #code-form input.btn,
#main-wrapper .xplan-reservation #entry input.btn,
#main-wrapper .xplan-reservation .xplan_button_navigation input.btn,
#main-wrapper .xplan-reservation .xplan_button_navigation div.btn_send,
#main-wrapper .xplan-reservation .xplan_button_navigation button.btn,
#main-wrapper input.login.btn.xplan-login-pop,
#main-wrapper .xplan-reservation input.btn,
#main-wrapper .xplan-reservation button,
#main-wrapper input[type="button"].login.btn.xplan-login-pop,
#main-wrapper button.xplan-reservation-portal,
#main-wrapper .xplan-reservation .reservation_back a.availability.btn {
  border-width: 2px !important;
}

/* Calendar - Time choice - Wrapper */
#main-wrapper .xplan-reservation .product-options .options .row {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Calendar - Time choice - Add Button */
#main-wrapper .xplan-reservation .product-options .validate {
  width: fit-content;
}

/* Reservation Module Wrapper */
#main-wrapper .xplan-reservation .reservation {
  padding-bottom: 0;
}

/* Navigation Line | CURRENT */
#main-wrapper .xplan-reservation .thumbs .current,
#main-wrapper .xplan-reservation .thumbs .current .arrow {
  background: #d2af59;
  color: #FFF;
}

/* Navigation Line | NEXT */
#main-wrapper .xplan-reservation .thumbs .after,
#main-wrapper .xplan-reservation .thumbs .after .arrow {
  background: #FFF;
}

/* Searchbar */
#main-wrapper .xplan-reservation input.search {
  padding: 10px 0;
}

/* Select */
#main-wrapper .xplan-reservation .options select {
  height: auto;
  padding: 10px 8px;
}

/* Sidebar - Infos */
#main-wrapper .xplan-reservation .infos {
  padding-right: 0;
}

/* Sidebar - Dates */
#main-wrapper .xplan-reservation .row.date > div:first-of-type,
#main-wrapper .xplan-reservation .row.time > div:first-of-type {
  width: 50% !important;
  max-width: 100% !important;
  flex: 0 0 50%;
}

/* Sidebar - Times */
#main-wrapper .xplan-reservation .row.date > div:last-of-type,
#main-wrapper .xplan-reservation .row.time > div:last-of-type {
  width: 50% !important;
  max-width: 100% !important;
  flex: 0 0 50%;
}

/* Navigation Buttons - Wrapper */
#main-wrapper .xplan-reservation .xplan_button_navigation {
  position: relative !important;
  border: none !important;
}
#main-wrapper .xplan-reservation .xplan_button_navigation .container {
  margin: 0;
}
#main-wrapper .xplan-reservation .xplan_button_navigation .container-fluid {
  padding: 0;
}

/* Calendar */
#main-wrapper .xplan-reservation .display-calendar .table-condensed {
  width: 100%;
}

/* Calendar - Disabled dates */
#main-wrapper .xplan-reservation .display-calendar .table-condensed .disabled {
  background: #ddd;
}

/* --- Stick footer to bottom --- */

/* 1. Ensure the viewport height is captured */
:is(html, body, #main-wrapper):has(.xplan-reservation) {
  height: 100%;
  margin: 0; /* Prevents unwanted scrollbars */
}

/* 2. Set the parent to a flex column container */
body:has(.xplan-reservation) div#main {
  display: flex;
  flex-direction: column;
  min-height: 100%; /* Takes full height but allows growth if content is long */
}

/* 3. Tell the content div to fill the remaining space */
body:has(.xplan-reservation) div#content {
  flex-grow: 1;
}

/* --- Reservation Bar --- */

/* Wrapper */
.reservation-bar-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5%;
}

/* Buttons */
.reservation-bar-buttons a.btn {
  background: var(--BQ-main) !important;
  color: #FFF !important;
  border: 2px solid transparent !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 133% !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 15px 30px;
  transition: all .3s ease;
}

/* Buttons | HOVER */
.reservation-bar-buttons a.btn:hover {
  background: transparent !important;
  color: var(--BQ-main) !important;
  border-color: var(--BQ-main) !important;
}

/* --- Single Product --- */

/* Add to cart Buttons */
.single-product .cart {
  margin-bottom: 40px;
}