/*-----------------*/
/* LOADER */
/*-----------------*/
#loader-wrapper {
    background-color: #433d37;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image: url(../images/home-bg1.jpg);
}
#loader-wrapper:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: rgba(0, 0, 0, 0.6);
    z-index: -1;
}

.loaded #loader-wrapper {
	visibility: hidden;
	-webkit-transform: translateY(-100%);  /* Chrome, Opera 15+, Safari 3.1+ */
	-ms-transform: translateY(-100%);  /* IE 9 */
	transform: translateY(-100%);  /* Firefox 16+, IE 10+, Opera */
	-webkit-transition: all 0.3s 1s ease-out;
	transition: all 0.3s 1s ease-out;
}

/***************************************************
 * Generated by SVG Artista on 2/27/2023, 2:09:39 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-1 {
  -webkit-animation: animate-svg-fill-1 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0s both;
          animation: animate-svg-fill-1 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0s both;
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(171, 215, 19);
  }
}

@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(171, 215, 19);
  }
}

.svg-elem-2 {
  -webkit-animation: animate-svg-fill-2 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.1s both;
          animation: animate-svg-fill-2 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.1s both;
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(173, 215, 28);
  }
}

@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(173, 215, 28);
  }
}

.svg-elem-3 {
  -webkit-animation: animate-svg-fill-3 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.2s both;
          animation: animate-svg-fill-3 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.2s both;
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(171, 215, 19);
  }
}

@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(171, 215, 19);
  }
}

.svg-elem-4 {
  -webkit-animation: animate-svg-fill-4 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.30000000000000004s both;
          animation: animate-svg-fill-4 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.30000000000000004s both;
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-5 {
  -webkit-animation: animate-svg-fill-5 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.4s both;
          animation: animate-svg-fill-5 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.4s both;
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(173, 215, 28);
  }
}

@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(173, 215, 28);
  }
}

.svg-elem-6 {
  -webkit-animation: animate-svg-fill-6 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.5s both;
          animation: animate-svg-fill-6 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.5s both;
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-7 {
  -webkit-animation: animate-svg-fill-7 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.6000000000000001s both;
          animation: animate-svg-fill-7 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.6000000000000001s both;
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-8 {
  -webkit-animation: animate-svg-fill-8 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.7000000000000001s both;
          animation: animate-svg-fill-8 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.7000000000000001s both;
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-9 {
  -webkit-animation: animate-svg-fill-9 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.8s both;
          animation: animate-svg-fill-9 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.8s both;
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-10 {
  -webkit-animation: animate-svg-fill-10 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.9s both;
          animation: animate-svg-fill-10 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.9s both;
}

@-webkit-keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-11 {
  -webkit-animation: animate-svg-fill-11 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1s both;
          animation: animate-svg-fill-11 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1s both;
}

@-webkit-keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-12 {
  -webkit-animation: animate-svg-fill-12 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.1s both;
          animation: animate-svg-fill-12 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.1s both;
}

@-webkit-keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-13 {
  -webkit-animation: animate-svg-fill-13 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.2000000000000002s both;
          animation: animate-svg-fill-13 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.2000000000000002s both;
}

@-webkit-keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-14 {
  -webkit-animation: animate-svg-fill-14 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.3s both;
          animation: animate-svg-fill-14 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.3s both;
}

@-webkit-keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-15 {
  -webkit-animation: animate-svg-fill-15 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.4000000000000001s both;
          animation: animate-svg-fill-15 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.4000000000000001s both;
}

@-webkit-keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-16 {
  -webkit-animation: animate-svg-fill-16 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.5s both;
          animation: animate-svg-fill-16 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.5s both;
}

@-webkit-keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-17 {
  -webkit-animation: animate-svg-fill-17 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.6s both;
          animation: animate-svg-fill-17 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.6s both;
}

@-webkit-keyframes animate-svg-fill-18 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-18 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-18 {
  -webkit-animation: animate-svg-fill-18 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.7000000000000002s both;
          animation: animate-svg-fill-18 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.7000000000000002s both;
}

@-webkit-keyframes animate-svg-fill-19 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

@keyframes animate-svg-fill-19 {
  0% {
    fill: transparent;
  }

  100% {
    fill: rgb(233, 213, 58);
  }
}

.svg-elem-19 {
  -webkit-animation: animate-svg-fill-19 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.8s both;
          animation: animate-svg-fill-19 0.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 1.8s both;
}
/*-----------------*/
/* ELEMENTS */
/*-----------------*/
.separator {
	margin: 30px 0;
	position: relative;
}
.separator span{
	position: relative;
	width: 200px;
	height: 1px;
	background-color: var(--primary-color);
	display: block;
}
.separator span:before,
.separator span:after{
	content: "";
	width: 50px;
	position: absolute;
	height: 1px;
	background-color: var(--primary-color);
}
.separator span:before{top: -5px;}
.separator span:after{
	bottom: -5px;
}

.title.tac .separator span:before, 
.title.tac .separator span:after{
	left: 50%;
	margin-left: -25px;
}

.title.tac .separator{margin: 30px auto 60px;}
.title.tac .separator span{
	 left: 50%;
	 margin-left: -100px;
}

#fixed-button{
    position: fixed;
    top: 50%;
    z-index: 11;
    right: 0;
    transform: translateY(-50%);
   
    display: flex;
    flex-direction: column;
    align-items: end;
}
#fixed-button a{box-shadow: 0 2px 24px -2px rgba(0, 0, 0, .14);}

#fixed-button .button-item span{
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    font-family: var(--font-bold);
    letter-spacing: 2px;
    padding: 10px 20px;
    height: 100%;
    margin: 0;
    bottom: 0;
    width: auto;
    position: absolute;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    visibility: hidden;
    opacity: 0;
    z-index: 99;
    pointer-events: none;
    right: 100%;
    background: #191e2d;
    color: var(--white);
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    justify-content: center;
    animation: blink 0.5s infinite alternate;
}
@keyframes blink {
  0%{
    background-color: red;
  }
  100% {
    background-color: #c80a18;
  }
}

.resa-button{
  font-size: 14px;
  background: red;
    transition: background-color 0.5s ease;
    animation: blink 0.5s infinite alternate;
}
.resa-button small{
	display: block;
	letter-spacing: 0.6px;
	font-size: 14px;
	padding-top: 1px;
	font-family: var(--font-title);
	font-weight: bold;
}
#fixed-button .button-item a small{
    letter-spacing: 0.6px;
    font-size: 14px;
    padding-top: 1px;
    font-family: var(--font-title);
    font-weight: bold;
}
#fixed-button .button-item a:before{
    display: block;
    transition: all 0.3s ease;
    --size: 60px;
    width: var(--size);
    height: var(--size);
    position: relative;
    background-color: #a61919;
    margin-bottom: 1px;
    background-size: 20px;
    background-position: center;
    background-repeat: no-repeat;
}
#fixed-button .button-item a.contact-item:before{background-image: url('../images/icons/mail-white.svg');}
#fixed-button .button-item a.calendar-item:before{background-image: url('../images/icons/calendar-white.svg');}

#fixed-button .button-item a:hover:before{padding-right: 8px;}
#fixed-button .button-item a:hover span{
    visibility: visible;
    opacity: 1;
    transition-delay: .1s;
    transform: none;
}

/*-----------------*/
/* HEADER */
/*-----------------*/
#autotraduction{margin-right: 20px;}
#header-coordonnees .flex > div font{display: contents;}
#info-toogle_menu{
    display: flex;
    align-items: center;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}
#header-left{
    width: 100%;
    background: var(--primary-color);
}
#headerButton, #header-left, #logo{z-index: 10001;}

#info-toogle_menu:before {display: none;}

#info-toogle_name {
    text-transform: uppercase;
    font-size: 12px;
    color: var(--white);
    letter-spacing: 1px;
    position: relative;
    top: -8px;
    font-family: var(--font-bold);
}

#info-toogle_name span {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.6em);
  animation: letterIn 0.4s ease forwards;
  animation-delay: var(--delay);
}

@keyframes letterIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#info-toogle_inner {
    justify-content: center;
   
    display: flex;
    flex-direction: column;
    align-items: center;
    width: var(--size);
    height: var(--size);
    --size: 60px;
}

#info-toogle_name .menu {
  transform: translateY(0);
  opacity: 1;
}

#info-toogle_name .close {
  transform: translateY(100%);
  opacity: 0;
}

/* quand le menu est ouvert */
body.is-toggle_menu-open #info-toogle_name .menu {
  transform: translateY(-100%);
  opacity: 0;
}

body.is-toggle_menu-open #info-toogle_name .close {
  transform: translateY(0);
  opacity: 1;
}

#info-toogle_menu .line {
    width: 24px;
    height: 1.5px;
    background: var(--white);
    position: relative;
    left: -1px;
    transition: transform .3s ease, -webkit-transform .3s ease;
    top: -10px;
}
#info-toogle_menu .line:nth-child(2) {
    top: -4px;
    left: -6px;
}

#info-toogle_menu .line:nth-child(3) {
    top: 5px;
    left: 6px;
}

#info-toogle_menu .line:nth-child(4) {
    top: 11px;
    left: 2px;
}

#info-toogle_menu:hover .line:nth-child(1) {transform: translateX(3px);}
#info-toogle_menu:hover .line:nth-child(2) { transform: translateX(13px);}
#info-toogle_menu:hover .line:nth-child(3) {transform: translateX(-13px);}
#info-toogle_menu:hover .line:nth-child(4) {transform: translateX(-3px);}

.is-toggle_menu-open #header #info-toogle_menu .line {
    width: 30px;
}

.is-toggle_menu-open #header #info-toogle_menu .line:nth-child(1) {
    transform: rotate(-45deg);
    left: 0px;
    top: 3px;
}

.is-toggle_menu-open #header #info-toogle_menu .line:nth-child(3) {
    transform: rotate(45deg);
    left: 0px;
    top: 2px;
}

.is-toggle_menu-open #header #info-toogle_menu .line:nth-child(4),
.is-toggle_menu-open #header #info-toogle_menu .line:nth-child(2) {display: none;}


#header-nav{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10000;
	opacity: 0;
	height: 100vh;
	width: 100%;
	background: var(--white);
	transition: all .8s cubic-bezier(0, 0, 0.2, 1);
	clip-path: inset(0 0 0 0);
	-webkit-clip-path: inset(0 0 0 0);
	pointer-events: none;
}
body.is-toggle_menu-open #header-nav{opacity: 1;pointer-events: all;}

#header-nav > .wrappercontent{
    height: 100%;
    padding: 100px 0;
    max-width: none;
}

#header-nav_content{
     position: relative;
     z-index: 10;
}

body.is-toggle_menu-open   #header-nav_content{ pointer-events: all;}
#header-nav_content .navigtoogle{
    transform: translateX(-70px);
    opacity: 0;
    transition: opacity .7s cubic-bezier(0.26, 0.12, 0.3, 0.98), transform 1s cubic-bezier(0.26, 0.12, 0.3, 0.98);
}
body.is-toggle_menu-open #header-nav_content .navigtoogle{
    transform: translateX(0);
    opacity: 1;
}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(1){transition-delay: calc(0.0833333333s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(2){transition-delay: calc(0.1666666667s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(3){transition-delay: calc(0.25s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(4){transition-delay: calc(0.3333333333s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(5){transition-delay: calc(0.4166666667s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(6){transition-delay: calc(0.5s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(7){transition-delay: calc(0.5833333333s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(8){transition-delay: calc(0.6666666667s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(9){transition-delay: calc(0.75s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(10){transition-delay: calc(0.8333333333s + .1s);}

#header-nav_content .navigtoogle,
#header-social{
    transform: translateX(-70px);
    opacity: 0;
    transition: opacity .7s cubic-bezier(0.26, 0.12, 0.3, 0.98), transform 1s cubic-bezier(0.26, 0.12, 0.3, 0.98);
}
body.is-toggle_menu-open #header-nav_content .navigtoogle,
body.is-toggle_menu-open #header-social{
    transform: translateX(0);
    opacity: 1;
}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(1){transition-delay: calc(0.0833333333s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(2){transition-delay: calc(0.1666666667s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(3){transition-delay: calc(0.25s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(4){transition-delay: calc(0.3333333333s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(5){transition-delay: calc(0.4166666667s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(6){transition-delay: calc(0.5s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(7){transition-delay: calc(0.5833333333s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(8){transition-delay: calc(0.6666666667s + .1s);}
body.is-toggle_menu-open #header-nav_content .navigtoogle:nth-child(9){transition-delay: calc(0.75s + .1s);}
body.is-toggle_menu-open #header-social{transition-delay: calc(0.8333333333s + .1s);}

#header-nav_img{
    position: fixed;
    top: 100px;
    height: calc(100vh - 100px * 2);
    z-index: 0;
    display: inline-block;
}

#header-nav_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}
#header-nav_img img.active {opacity: 1;}
#header-social{margin-top: 10px;padding-left: 20px;}
#header-social .label{
    text-transform: uppercase;
    margin-right: 10px;
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 14px;
    color: var(--title-color);
    -webkit-font-smoothing: auto;
}

#header-coordonnees{
	position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
	padding: 10px 0;
}


/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
#navprimary .navigtoogle.secondary-nav .navdown{display:block!important;}
#navprimary .navigtoogle.secondary-nav .navdown .navdownwrapper{display: flex;}
#navprimary .navigtoogle.secondary-nav .naviglink{
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1px;
    flex-basis: auto;
}


.navigmenu .naviglink span:before {
   content: '';
   background-color: var(--primary-color);
   width: 0%;
   position: absolute;
   left: 0;
   bottom: 3px;
   z-index: -1;
	height: 20px;
   transition: width 0.5s ease-out;
   opacity: 0.2;
}
.navigmenu .naviglink.lvl-1 span:before{
    height: 10px;
    bottom: 4px;
}



#navprimary .navigmenu .active .naviglink span:before,
#navprimary .navigmenu .naviglink:hover span:before {
	width: 100%;
	
}

/*-----------------*/
/* SOCIAL */
/*-----------------*/
.sociblock:not(#headerHome-social .sociblock) .share-buttons a {
    --size: 35px;
    width: var(--size);
    height: var(--size);
    align-items: center;
    justify-content: center;
    margin: 0 3px;
}

.sociblock:not(#headerHome-social .sociblock) .share-buttons a:before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    border-radius: 100px;
    transition: all ease 250ms;
    border: solid 1px #737373;
}

.sociblock:not(#headerHome-social .sociblock) .share-buttons a:hover:before {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.sociblock:not(#headerHome-social .sociblock) .share-buttons a svg {--size: 15px;}
.sociblock:not(#headerHome-social .sociblock) .share-buttons a:hover svg {fill: var(--white);}

/*-----------------*/
/* VIDEO - HEADERHOME */
/*-----------------*/
#headerHome-accroche {animation: focus-in-contract 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 3.5s both;text-transform: uppercase;}

#headerHome-accroche p {animation: text-blur-out 1.2s cubic-bezier(0.55, 0.085, 0.68, 0.53) 8s both;}


@keyframes focus-in-contract {
  0% { letter-spacing: 1em; filter: blur(12px); opacity: 0; }
  100% { filter: blur(0); opacity: 1; }
}

@keyframes text-blur-out {
  0% { filter: blur(0); }
  100% { filter: blur(12px); opacity: 0; }
}

#video {
    position: relative;
    background: transparent;
    height: 100%;
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
}
#video .overlay,
#videoPrestations .overlay{
	z-index: 1;
    background: linear-gradient(rgb(0 0 0 / 80%) 3%, transparent 80%, rgb(0 0 0 / 80%));
}
.flexible {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: 1;
    top: 0;
    left: 0;
}

#video:after {
    content: "";
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
	 background-image: url(../videos/homeVideo.jpg);
}

#videoPrestations {
    height: 60vh;
    min-height: 450px;
}

/*-----------------*/
/* GALLERY HOME */
/*-----------------*/

/*-----------------*/
/* PRODUITS HOME */
/*-----------------*/

/*-----------------*/
/* CONTENT */
/*-----------------*/
.introBanner{
	height: 700px;
	padding: 0;
	max-width: 90%;
	overflow: hidden;
	margin: 0;
}
.introBanner .wp-block-cover__image-background {will-change: transform, clip-path;}
.introBanner.introBanner_right{margin-left: auto;}
.home #content .introBanner{
    left: -30px;
    position: relative;
}
.home #content .introBanner .blocthumb{
    height: 100%;
}
/*-----------------*/
/* SERVICES */
/*-----------------*/
#services-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px 80px 50px 0;
}

#services-content .service_img { display: none; }

#services-content .bloc_services:not(:last-child){ margin-bottom: 40px;}

#services-content .service_text .gotolink{margin-top: 30px;}

#services-content .service_title {
    opacity: 0.4;
    cursor: pointer;
    transition: opacity 0.3s ease; /* Transition douce */
    margin-bottom: 20px;
}

#services-content .bloc_services.is-active .service_title {opacity: 1;}

#services-content .service_title h2 {
    font-size: 40px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0; 
}

#services-img_wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    height: 100%;
    min-height: 640px;
}

#services-img_wrapper img {
    position: absolute;
    top: 0;
    left: 0;
}

/*-----------------*/
/* FORMULES */
/*-----------------*/
#formules  .widget_formules > *{
	break-inside: avoid;
	margin-bottom: 70px;
}
#formules .bloc_formules{padding: 0;position: static;}
#formules .widget_formules{margin: 0;column-count: 3;column-gap: 70px;}

#formules .formules-img{height: 360px;}
#formules .bloc_formules:nth-of-type(2) .formules-img,
#formules .bloc_formules:nth-of-type(5) .formules-img{height:530px;}

#formules .formules-img img{height: 100%;}
#formules .formules-title{
    text-align: center;
    margin-top: 30px;
}
#formules .formules-tarifs{
    color: var(--title-color);
}
#formules .formules-tarifs strong{color: var(--primary-color);font-size: 20px;}
#formules .formules-title h3{
    font-size: 25px;
    margin: 0;
}
#formules #introformules{margin-top: 80px;}

#formules .formules-link{
    display: block;
    background: none;
    border: none;
    transition: none;
    overflow: hidden;
    position: relative;
}

#formules .formules-label{
	position: absolute;
	transform: rotate(-180deg);
	background: var(--primary-color);
	padding: 30px 20px;
	color: var(--white);
	text-transform: uppercase;
	font-family: var(--font-bold);
	letter-spacing: 1px;
	font-size: 12px;
	writing-mode: vertical-lr;
	top: 15%;
	left: -50px;
	transition: 0.4s;
}
#formules .formules-link:hover .formules-label{left: 0}
#formules .innermodal-formules {
    background-color: var(--white);
    height: 80vh;
    max-width: 90%;
    min-height: 420px;
    width: 100%;
    position: relative;
}
#formules .formules-modaltitle {
    margin: 0 0 50px;
}
#formules .formules-button {
    border-top: solid 1px rgb(0 0 0 / 10%);
    margin-top: 50px;
    padding-top: 30px;
}
#formules .formules-button .flex{
    gap: 10px;
}
#formules .formules-button p {margin-bottom: 20px;}

#formules .formules-gallery {
    background-color: var(--black);
    overflow: hidden;
}
#formules .formules-gallery .gutbloc-slidegalerie{height: 100%}
#formules .formules-gallery  .wp-block-lazyblock-slider-de-galerie{
	margin: 0;
	height: 100%;
}
#formules .formules-gallery  .cksliderwrap{
    padding: 0;
    height: 100%;
}
#formules .formules .formules-gallery .gallery .gallery-item {
    min-width: 100%;
    height: auto;
}
#formules .formules-modal{text-align: inherit;z-index: 999999;}
#formules .formules-gallery .ckslidercontrols > div {
   top: 50%;
	transform: translateY(-50%);
	background-color: rgb(0 0 0 / 60%);
	background-size: 15px;
	border-radius: 100px;
	--size: 50px;
}
#formules .formules-gallery .ckslidercontrols .prev{left: 10px;}
#formules .formules-gallery .ckslidercontrols .next{right: 10px;}
#formules .ckctrldiv{display: none;}

#formules .gallery-item a{
    background: none;
    border: none;
}
#formules .gallery-item a img{z-index: 0;}
.gallery .gallery-item a:not(.button):after{
    z-index: 1;
}
#formules .closemodal{
    width: auto !important;
    z-index: 3;
}
#formules .formules-body{overflow: scroll;}
#formules .formules-infos {
    align-items: center;
    max-width: 650px;
    margin: 0;
    flex-wrap: wrap;
    background: var(--light-color);
}
#formules .formules-infos li{
    position: relative;
    padding: 20px 20px 20px 70px;
    text-align: left;
    width: 50%;
    flex: 1 1 50%;
}
#formules .formules-infos li:nth-child(2), .formules-infos li:first-child {border-bottom: 1px solid rgb(0 0 0 / 10%);}
#formules .formules-infos li:nth-child(odd) {border-right: 1px solid rgb(0 0 0 / 10%);}

#formules .formules-infos li strong {
    display: block;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    color: var(--tertiary-color);
}
#formules .formules-infos li:before {
    --size: 25px;
    content: "";
    display: block;
    width: var(--size);
    height: var(--size);
    left: 30px;
    background-position: center;
    background-size: contain;
    background-position: left center;
    position: absolute;
    background-repeat: no-repeat;
    top: 50%;
    margin-top: -10px;
}

#formules .formules-infos img {width: 16px}

#formules .formules-infos .superficie:before {
    background-image: url(../images/icons/area.svg);
    margin-top: -8px
}

#formules .formules-infos .capacite:before {background-image: url(../images/icons/bed.svg)}
#formules .formules-infos .wifi:before {background-image: url(../images/icons/wifi.svg)}

#formules .formules-infos .balcon:before,
#formules .formules-infos .terrasse:before{background-image: url(../images/icons/eyes.svg)}

/*-----------------*/
/* ACTU */
/*-----------------*/
#listarticles{
	column-count: 3;
    column-gap: 30px;
}
#listarticles .listedarticle{break-inside: avoid;}

#news .ckslidercontrols :is(.next, .prev){
	background: none!important;
	--size: 80px;
	height: auto;
	bottom: -100px;
	bottom: 0;
	transition: .5s;
	border: none!important;
	top: auto;
	transform: none;
}
#news .ckslidercontrols :is(.next, .prev) svg{
	display: block;
    transition: .5s;
}
#news .ckslidercontrols .prev{left: 0;}
#news .ckslidercontrols .prev svg .ckslider-svg-wrap{transform: translateY(353px);}
#news .ckslidercontrols .next svg .ckslider-svg-wrap{
	transform: translateY(353px) rotateY(180deg);
    transform-origin: 80px 0px 0px;
}
#news .ckslidercontrols :is(.next, .prev) svg .ckslider-svg-circle-wrap{
	transition: .5s;
    transform-origin: -20px 40px;
    opacity: 1;
}
#news .ckslidercontrols :is(.next, .prev) svg circle {
    transition: .5s;
    fill: none;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    opacity: 1;
    transform-origin: 0px 0px 0px;
    fill: var(--primary-color);
}
#news .ckslidercontrols :is(.next, .prev) .ckslider-svg-arrow {
    transition: .5s;
    fill: var(--white);
    transform: rotateY(180deg) translate(-57px, 32.2px) scale(2.95);
}
#news .ckslidercontrols :is(.next, .prev) .ckslider-svg-line {
    transition: .5s;
    stroke: var(--white);
    stroke-width: 4px;
    transform: translate(50px, 42px);
}

#news .ckslidercontrols .prev:hover svg{transform: translate(-16px);}
#news .ckslidercontrols .next:hover svg{transform: translate(16px);}

#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-circle-wrap {transform: scale(1.1);}
#news .ckslidercontrols :is(.next, .prev):hover circle {
    stroke-dasharray: 4px;
    stroke-dashoffset: 4px;
    opacity: 1;
}
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-arrow {transform: rotateY(180deg) translate(-40px, 33.1px) scale(2.75);}
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-line {transform: translate(35px, 42px) scaleX(0.4);}

#news .ckslidercontrols :is(.next, .prev):hover svg circle,
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-line{stroke: var(--secondary-color);}
#news .ckslidercontrols :is(.next, .prev):hover .ckslider-svg-arrow{fill: var(--secondary-color);}

.title_link_slider, .title_content {
    background-repeat: no-repeat;
    background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
    transition: .4s cubic-bezier(.215,.61,.355,1);
    background-size: 0 100%;
}
.title_slider:hover :is(.title_link_slider, .title_content) {background-size: 100% 100%;}

#choixActuSlider{
	align-items: center;
	height: 350px;
}
#choixActu {
	z-index: 10;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	width: 50%;
	right: 20px;
}
#choixActu .linkActu{
	position: relative;
	cursor: pointer;
	padding: 10px;
	min-width: 33.33333%;
	max-width: 33.33333%;
}

.subtitleActu{
	
	overflow: hidden;
	height: 300px;
	transition: 250ms all ease-in-out;
}
.subtitleActu_img{
	height: 100%;
	border-radius: 10px;
	border: solid 2px transparent;
	overflow: hidden;
	background: var(--white);
}
.subtitleActu_img img{transition: transform 1s cubic-bezier(.215,.61,.355,1);}
.subtitleActu_img:before{
	 z-index: 1;
	 background: linear-gradient(to top, rgb(0 0 0 / 70%) 0%, rgba(0, 0, 0, 0) 100%);
}
.linkActu:hover .subtitleActu_img img{transform: scale(1.1);}

#choixActu .subtitleActu .subtitleActu_content{
	z-index: 1;
	transition: 500ms ease all;
	color: var(--white);
	font-size: 16px;
	line-height: 1.3;
	display: inline-block;
	font-family: var(--font-bold);
	display: block;
	font-weight: bold;
	z-index: 1;
	--dist: 15px;
	bottom: var(--dist);
	left: var(--dist);
	right: var(--dist);
}

#choixActu .linkActu.active .subtitleActu{height: 350px;}
#choixActu .linkActu.active .subtitleActu_img{border-color: solid 2px white;}

#news .wrapper_slider{
	padding: 0;
	min-width: auto!important;
	max-width: none;
}

#news .content_slider {
    position: absolute;
    color: var(--white);
    z-index: 2;
    max-width: 670px;
    width: 40%;
    padding: 30px;
    transition: 500ms ease all;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

#news .thumbnail_slider {
    position: relative;
    height: 800px;
    z-index: 1;
    transition: 250ms all ease-in-out;
    display: block;
    width: 100%;
}
#news .thumbnail_slider:before{
    z-index: 0;
    background: linear-gradient(to right, rgb(0 0 0 / 70%) 0%, rgba(0, 0, 0, 0) 100%);
}



.title_link_slider{
	color: var(--white);
	text-shadow: 0px 0px 4px #000000;
}


/*-----------------*/
/* SECTIONS */
/*-----------------*/
#choixSections {
    counter-reset: sections;
    display: flex;
    justify-content: center;
    position: relative
}

#choixSections:before {
    width: 80%;
    border: 1px solid var(--primary-color);
    border-bottom: none;
    border-right: none;
    top: 94px
}

#choixSections:after {
    --size: 20px;
    width: var(--size);
    height: var(--size);
    background: var(--primary-color);
    clip-path: polygon(0 0,50% 50%,100% 0,50% 50%,0 35%,50% 100%,100% 35%,50% 50%,100% 0);
    top: calc(100% + 94px);
    left: -10px
}

#choixSections .linkSections p {
    text-transform: uppercase;
    font-size: 14px;
    font-family: var(--font-bold);
    letter-spacing: 1px;
    line-height: 1.3;
    text-align: center;
    color: var(--tertiary-color);
    background: var(--background-color);
    padding: 0 30px
}

#choixSections .linkSections:not(:last-of-type) {margin-right: 30px}

#choixSections .linkSections {
    position: relative;
    cursor: pointer;
    padding: 5px 20px;
    transition: 250ms all ease-in-out;
    text-align: center
}

#choixSections .linkSections.active p {color: var(--primary-color);}

#choixSections .linkSections img {
    --size: 30px;
    width: var(--size);
    height: var(--size);
    object-fit: contain;
    filter: brightness(0) invert(1)
}

.subimageSections {
    --size: 60px;
    border-radius: 100px;
    background-color: var(--tertiary-color);
    text-align: center;
    width: var(--size);
    height: var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 20px;
    transition: 250ms all ease-in-out;
    position: relative
}

#choixSections .linkSections.active .subimageSections,
#choixSections .linkSections:hover .subimageSections {
    background-color: var(--primary-color);
    filter: drop-shadow(0 5px 0 white)
}

#choixSections .linkSections .subimageSections:before{
    counter-increment: sections;
    content: counter(sections);
    color: var(--white);
    font-size: 2em;
    font-family: var(--font-title);
    transform: scale(0);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
#choixSections .linkSections .subimageSections:after {
    content: " ";
    --size: 100%;
    width: var(--size);
    height: var(--size);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) scale(0);
    border: 1px solid var(--primary-color);
    opacity: 0;
    transition: .4s all;
    border-radius: 50%;
    border-bottom-left-radius: 3px
}

#choixSections .linkSections.active .subimageSections:after,
#choixSections .linkSections:hover .subimageSections:after {
    opacity: 1;
    transform: translateX(-50%) translateY(-50%) scale(1.15)
}
/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances-img{
	height: 60vh;
	width: 70%;
	margin: auto;
	background-image: url("../images/home-bg3.jpg");
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.nohome #reassurances{background-image: url("../images/home-bg3.jpg");}
.picto-container li p{
	font-family: var(--font-bold);
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
#reassurances .picto-container li p:after {
    content: "";
    display: block;
    vertical-align: middle;
    width: 60px;
    height: 1px;
    margin: 15px auto;
    background-color: var(--secondary-color);
    text-align: center;
}
.nohome .picto-container li p{color: var(--white);}
/*-----------------*/
/* LIENS UTILES */
/*-----------------*/
#liensUtiles{padding: 300px 0 0;}
.liensUtiles_img{height: 480px;}
.liensUtiles_img a{
	display: block;
	height: 100%;
}
.liensUtiles_content{
	position: absolute;
	bottom: 25px;
	left: 25px;
	background: var(--white);
	right: 25px;
	padding: 20px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	opacity: 0;
	transform: translateY(100%);
	transition: all .25s cubic-bezier(.3,.3,0,.8);
}

.bloc_LienUtiles:hover .liensUtiles_content{
	transform: translate(0);
	opacity: 1;
}
.btnLine {
   background: none!important;
   padding: 0!important;
   line-height: 28px;
   color: var(--title-color);
   letter-spacing: 1px;
   min-width: 90px;
}

.btnLine::after {
    content: '';
    position: absolute;
    height: 1px;
    bottom: 0px;
    left: 0;
    right: 0;
    background-color: var(--title-color);
    transform-origin: bottom left;
    transform: scaleX(1);
    transition: transform 0.3s ease-in-out;
}
.btnLine:hover::after {
    transform: scaleX(0);
    transform-origin: bottom right;
}
.liensUtiles_content h3 {
	margin: 0 15px 0 0;
	font-size: 20px;
}
.liensUtiles_content h3 a{color: var(--title-color);}


/*-----------------*/
/* PRESTATIONS - PARENT */
/*-----------------*/
.bloc_prestations{padding: 5px;}
.prestations-wrapper{position: relative;}
.prestations-img{height: 400px;}
.prestations-content{
	position: absolute;
    bottom: 25px;
    left: 25px;
    background: var(--white);
    right: 25px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.prestations-content h3{
	margin: 0 15px 0 0;
    font-size: 20px;
}
.prestations-content .liresuite{
    margin: 0;
}

/*-----------------*/
/* SHARE */
/*-----------------*/

/*-----------------*/
/* AVIS */
/*-----------------*/

#titleBP .widget_avissitesexternes{
    justify-content: center;
    margin-top: 30px!important;
}
/*-----------------*/
/* CONTACTFORM */
/*-----------------*/

/*-----------------*/
/* GALLERY HOME */
/*-----------------*/
#galleryHome{
    position: relative;
    z-index: 2;
}

#galleryHome .gallery{
    height: 34.625em;
    font-size: 1.25vw;
    overflow: hidden;
    position: relative;
}

#galleryHome .gallery .gallery-item {
    margin-bottom: 0;
    position: absolute
}
#galleryHome .gallery .gallery-item:first-of-type {
    width: 17.9375em!important;
    height: 25.25em;
    top: 3.625em;
    left: 0;
    z-index: 1
}

#galleryHome .gallery .gallery-item:nth-child(2) {
    width: 11.5625em!important;
    height: 16.25em;
    top: 7.0625em;
    left: 16.4375em;
    z-index: 6
}

#galleryHome .gallery .gallery-item:nth-child(3) {
    width: 9.8125em!important;
    height: 13.75em;
    top: 13.875em;
    left: 26.625em;
    z-index: 4
}

#galleryHome .gallery .gallery-item:nth-child(4) {
    width: 24.5625em!important;
    height: 34.625em;
    top: 0;
    left: 33.875em;
    z-index: 2
}

#galleryHome .gallery .gallery-item:nth-child(5) {
    width: 15.4375em!important;
    height: 21.75em;
    top: 8em;
    left: 55.375em;
    z-index: 5
}

#galleryHome .gallery .gallery-item:nth-child(6) {
    width: 11.4375em!important;
    height: 17.5em;
    top: 5.125em;
    left: 69.4375em;
    z-index: 3
}


/*-----------------*/
/* CTA */
/*-----------------*/
#cta{
    font-size: 15px;
    line-height: 1.6;
    background: var(--white);
    padding: 30px 15px;
    max-width: 500px;
    margin: 0 auto -20px;
    width: 95%;
    text-align: center;
    box-shadow: 0 0 20px rgb(0 0 0 / 20%);
    z-index: 3;
}
#cta .title{margin-bottom: 10px;}
#cta #cta-buttons{margin: 30px 0 14px;}
#cta .title h2{font-size: 25px;}

/*-----------------*/
/* GALLERY FOOTER */
/*-----------------*/
#galleryFooter:before{background: var(--background-color);}
#galleryFooter{padding-bottom: 1px;}
#galleryFooter .gallery{
    display: grid;
    grid-gap: 1px;
    grid-template-columns: repeat(8,1fr);
    grid-auto-rows: 240px;
    grid-auto-flow: row dense;
    padding-bottom: 1px;
    z-index: 1;
    position: relative;
}
#galleryFooter .gallery .gallery-item{
    grid-column: span 1;
    grid-row: span 1;
    width: 100%!important;
}


/*-----------------*/
/* FOOTER */
/*-----------------*/
#wrapperForm .title{margin-bottom: 30px;}
#footer{background: var(--tertiary-color);}
body.template-contact-php #footer #footerbloc:before{content: none;}
body.template-contact-php #footer #footerbloc{border-bottom: solid 1px}
body.home #footer {margin-top: 1px!important;}
body:not(.template-contact-php) #footer {margin-top: 80px;}
body:not(.template-contact-php) #footer #footerbloc {
	display: block;
	background-image: url(../images/home-bg1.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 15px;
}
#footer #footerbloc{display: block;}
#footer #footerbloc>.wrappercontent {
    align-items: center;
    justify-items: center;
    display: grid;
    grid-row-gap: 15px;
    grid-column-gap: 20px;
    transition: .6s;
    grid-template-areas: "infotelfixeFooter   infoadresseFooter    infomailFooter";
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: repeat(1,minmax(min-content,auto));
}
#footerLinks a {color: var(--white)}

.wrapperFooter {
    background: var(--white);
    box-shadow: 0px 0px 30px #1a1a2612;
    padding: 10px
}

.imgFooter {
    background: url(../images/bg-footer.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

#footer #footerbloc>.wrappercontent font{display: contents;}