/*
Theme Name: Falcon Heavy I
Author: Tuvedlacom
Description: Thème personnalisé
Version: 1.0
Text Domain: tuvedlacom
Domain Path: /languages
*/

/****************************
		GENERAL 
****************************/
html{ overflow: auto; position: relative; }
html, body{ 
	-webkit-overflow-scrolling: touch;
}
body{ 
    height: 100%!important;
    padding-top: 50px;
}
a {  }
a:hover { text-decoration: underline; }
* { font-size:  medium; box-sizing: border-box; }
p { font-size: medium; margin: 0.2em 0; }
p > * { font-size: inherit; }
@media screen and (max-width: 720px){ .center{ text-align: left!important; } }
img { max-width: 100%; }
img.alignright { float: right; margin-left: 10px; }
img.alignleft { float: left; margin-right: 10px; }
.bold { font-weight: bold; }
.js-link{ text-decoration: none; }
.js-link:hover{ cursor: pointer; text-decoration: underline; }
@media screen and (min-width: 1201px){ .container.full { max-width: inherit; width: 100%; }  }
@media screen and (min-width: 1201px){ .container.extralarge { max-width: 80rem; width: 100%; }  }
@media screen and (min-width: 1201px){ .container.large { max-width: 80rem; }  }
@media screen and (max-width: 1200px){ .container {	width: 100%; max-width: none;}  }
a[href^="tel"] { color:inherit; text-decoration:none; }
/***************************
		Icons
***************************/

@font-face {
  font-family: "falconheavy";
  src:url("includes/icons/falconheavy.eot");
  src:url("includes/icons/falconheavy.eot?#iefix") format("embedded-opentype"),
    url("includes/icons/falconheavy.woff") format("woff"),
    url("includes/icons/falconheavy.ttf") format("truetype"),
    url("includes/icons/falconheavy.svg#falconheavy") format("svg");
  font-weight: normal;
  font-style: normal;

}

[data-icon]:before {
  font-family: "falconheavy" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "falconheavy" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-mail:before{content:"\61"}.icon-calendar:before{content:"\62"}.icon-search:before{content:"\63"}.icon-right-open-big:before{content:"\64"}.icon-play-circle:before{content:"\65"}.icon-facebook:before{content:"\66"}.icon-google-plus:before{content:"\67"}.icon-thumbs-up:before{content:"\68"}.icon-tripadvisor:before{content:"\69"}.icon-book-open:before{content:"\6a"}.icon-map:before{content:"\6b"}.icon-file:before{content:"\6c"}.icon-tag:before{content:"\6d"}.icon-mobile:before{content:"\6e"}.icon-location:before{content:"\6f"}.icon-angle-up:before{content:"\70"}.icon-cog:before{content:"\71"}.icon-angle-down:before{content:"\72"}.icon-list-ol:before{content:"\73"}.icon-x:before{content:"\74"}.icon-checklist:before{content:"\75"}.icon-paper-plane:before{content:"\76"}.icon-hand-o-up:before{content:"\77"}.icon-rocket:before{content:"\78"}.icon-home:before{content:"\79"}.icon-comment:before{content:"\41"}.icon-quote-left:before{content:"\7a"}.icon-quote-right:before{content:"\42"}.icon-bed:before{content:"\43"}.icon-user-outline:before{content:"\45"}.icon-measure:before{content:"\44"}.icon-info-circled:before{content:"\46"}.icon-burst:before{content:"\47"}.icon-arrows-expand:before{content:"\48"}.icon-users:before{content:"\49"}.icon-water:before{content:"\4a"}.icon-television-tv:before{content:"\4d"}.icon-flame:before{content:"\4b"}.icon-zoover:before{content:"\4c"}.icon-c2b:before{content:"\4e"}.icon-caret-right:before{content:"\4f"}.icon-twitter:before{content:"\50"}.icon-pinterest:before{content:"\51"}.icon-insta:before{content:"\52"}.icon-times:before{content:"\53"}.icon-accessoires-bb:before{content:"\54"}.icon-bouilloire:before{content:"\57"}.icon-barbecue:before{content:"\58"}.icon-animalautorise:before{content:"\59"}.icon-cafetiere:before{content:"\32"}.icon-lavabo:before{content:"\35"}.icon-hotte:before{content:"\36"}.icon-handicap:before{content:"\37"}.icon-frigo:before{content:"\38"}.icon-forfaitmenage:before{content:"\39"}.icon-evier:before{content:"\21"}.icon-espresso:before{content:"\22"}.icon-dryer:before{content:"\23"}.icon-douche:before{content:"\24"}.icon-coussins-confort:before{content:"\25"}.icon-canape:before{content:"\27"}.icon-litssimples:before{content:"\28"}.icon-litssup:before{content:"\29"}.icon-maison-metres-carres:before{content:"\2b"}.icon-micro-ondes:before{content:"\2c"}.icon-mobilhome:before{content:"\2d"}.icon-nombres-chambres:before{content:"\2e"}.icon-nombres-personnes:before{content:"\2f"}.icon-oven:before{content:"\3a"}.icon-packhoteliercomplet:before{content:"\3b"}.icon-packlingecuisine:before{content:"\3c"}.icon-packlingetoilette:before{content:"\3d"}.icon-penderie:before{content:"\3e"}.icon-vaisselle:before{content:"\3f"}.icon-vacuum:before{content:"\40"}.icon-toast:before{content:"\5d"}.icon-tables-chaises:before{content:"\5e"}.icon-salledebains:before{content:"\60"}.icon-plaques:before{content:"\5c"}.icon-placard:before{content:"\e000"}.icon-washer:before{content:"\e001"}.icon-wifi:before{content:"\e002"}.icon-linkedin:before{content:"\52"}.icon-angle-right:before{content:"\55"}.icon-angle-left:before{content:"\56"}.icon-anwb:before{content:"\5a"}.icon-ancv:before{content:"\30"}.icon-alloc-familiales:before{content:"\31"}.icon-adac:before{content:"\33"}.icon-acsi:before{content:"\34"}.icon-clefverte:before{content:"\26"}.icon-camping-qualite:before{content:"\2a"}.icon-handicap-1:before{content:"\5f"}.icon-ffcc:before{content:"\7b"}.icon-regionaquitaine:before{content:"\7c"}.icon-qualite-tourisme:before{content:"\7d"}.icon-pontarcardeche:before{content:"\7e"}.icon-loireavelo:before{content:"\e003"}
/******************************
        SCROLLBAR
******************************/
.object-fit body:not(.mobile)::-webkit-scrollbar {
    width: 10px;
    background-color: #F5F5F5;
} 
.object-fit body:not(.mobile)::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
}
.object-fit body:not(.mobile)::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    background-color: #F5F5F5;
}

/******************************
		BACK TO TOP
******************************/
#top{ 
	position: absolute; 
	top: 0;
	left: 0;
}
#back-to-top {
	position:  fixed;
	right: 2.5rem;
    bottom: 1rem;
	background:  rgba(255,255,255,0.7);
	width: 3rem;
	height: 3rem;
	text-align:  center;
	line-height: 3rem;
	padding-top: 5px;
	font-weight: bold;
	cursor: pointer;
	z-index: 999999999;
	transition: 0.2s ease-out;
}
#back-to-top i{ font-size: x-large; }
#back-to-top:hover { 
    background:  rgba(255,255,255,0.5); 
    text-decoration: none;
}
/********************************
	Horizontal scroll mobile
********************************/

.scroll-x-title{ display: none; }
@media screen and (max-width: 720px){
	.scroll-x-mobile {
		position: relative;
		height: auto;
	    overflow-x: scroll;
	    white-space: nowrap;
	    overflow-y: hidden;
        -ms-overflow-style: none;
        margin:0;
        line-height: 0;
	}
    .scroll-x-mobile [class^=col] {
        width: 250px!important;
        display: inline-block!important;
        float: none!important;
        margin-bottom: 0!important;
    }
	.scroll-x-title {
        display: block;
        margin: 0 2%;
        font-size: x-small;
        font-weight: bold;
        text-transform: uppercase;
        text-align: left;
        white-space: nowrap;
    }

    .scroll-x-title i{
        display: inline-block;
        height: 22px;
        vertical-align: middle;
        position: relative;
        margin-left: 0.5rem;
        -webkit-animation: bounce 2s infinite ease-in-out;
        -moz-animation: bounce 2s infinite ease-in-out;
        -ms-animation: bounce 2s infinite ease-in-out;
        -o-animation: bounce 2s infinite ease-in-out;
        animation: bounce 2s infinite ease-in-out;
    }
}

@-webkit-keyframes bounce {
    0%, 20%, 60%, 100%  { 
        -webkit-transform: translateX(0); 
        -moz-transform: translateX(0); 
        -ms-transform: translateX(0); 
        -o-transform: translateX(0); 
        -webkit-transform: translateX(0); 
        transform: translateX(0); 
    }
    40%  { 
        -webkit-transform: translateX(-10px); 
        -moz-transform: translateX(-10px); 
        -ms-transform: translateX(-10px); 
        -o-transform: translateX(-10px); 
        -webkit-transform: translateX(-10px); 
        transform: translateX(-10px); 
    }
    80% { 
        -webkit-transform: translateX(-5px); 
        -moz-transform: translateX(-5px); 
        -ms-transform: translateX(-5px); 
        -o-transform: translateX(-5px); 
        -webkit-transform: translateX(-5px); 
        transform: translateX(-5px); 
    }
}
@keyframes bounce {
    0%, 20%, 60%, 100%  { 
        -webkit-transform: translateX(0); 
        -moz-transform: translateX(0); 
        -ms-transform: translateX(0); 
        -o-transform: translateX(0); 
        -webkit-transform: translateX(0); 
        transform: translateX(0); 
    }
    40%  { 
        -webkit-transform: translateX(-10px); 
        -moz-transform: translateX(-10px); 
        -ms-transform: translateX(-10px); 
        -o-transform: translateX(-10px); 
        -webkit-transform: translateX(-10px); 
        transform: translateX(-10px); 
    }
    80% { 
        -webkit-transform: translateX(-5px); 
        -moz-transform: translateX(-5px); 
        -ms-transform: translateX(-5px); 
        -o-transform: translateX(-5px); 
        -webkit-transform: translateX(-5px); 
        transform: translateX(-5px); 
    }
}

/*********************
		Header
*********************/

#header {
    background-
    z-index: 999;
    position: fixed;
    width: 100%;
    top: 0px;
    padding: 0 1rem;
    z-index: 999;
}
.customize-support:not(.hide-adminbar) #header { top: 32px!important; }
.customize-support.hide-adminbar{ margin-top: -32px; }
.customize-support.hide-adminbar #wpadminbar{ display: none!important; }
.customize-support.hide-adminbar #header { top: 0; }


/* Menu Desktop */

@media screen and (min-width: 800px){
	#header .menu {
	    padding:  0;
	    margin:  0;
	    list-style: none;
	    text-align:  center;
	}
    

	#header .menu > li { 
        display:  inline-block; 
        position: relative;
    }
	#header .menu > li:hover { 
		position: relative;
		z-index: 2;
	}
    #header .menu > li:not(:first-of-type) > a::before {
        content: "";
        position: absolute;
        top: 10%;
        left: 0;
        width: 1px;
        height: 80%;
        background: #fff;
        transition: 0.2s ease-in-out;
        display: block;
    }
	#header .menu > li > a {
        color: #fff;
        font-size: large;
        padding: 0 10px;
        line-height: 50px;
        display: block;
        text-decoration: none;
        position: relative;
        transition: 0.2s ease-in-out;
    }

	#header .menu > li > a:hover,
	#header .menu > li:hover > a{ text-decoration: none; }

	#header .sub-menu { display: none; }

	#header .menu > li:hover .sub-menu { display: block!important; }

	#header .menu > li .sub-menu {
	    position:  absolute;
	    text-align: left;
	    list-style:  none;
	    padding: 0;
	    background: #fff;
	    z-index: 2;
	    min-width: 160px;
	}

	#header .menu > li .sub-menu > li > a {
	    padding: 3px 10px;
	    display: block;        
	    font-size:  small;
	    transition:0.2s ease-in-out;
        text-decoration: none;
	}

	#header .menu > li .sub-menu > li:last-of-type > a { border-bottom:none; }

	#header .menu > li .sub-menu > li > a:hover {
	    color:#fff;
	    text-decoration:none
	}
}

@media screen and (max-width: 1000px){ #header .menu{ text-align: right; } }
@media screen and (max-width: 1300px) and (min-width: 1101px){ #header .menu > li > a { padding: 0px 15px; } }
@media screen and (max-width: 1150px) and (min-width: 801px){
	#header { padding: 0 .5rem; }
	#contact-top { left: .5rem; }
    #header .menu > li > a {
	    padding: 0px 10px;
	    font-size: x-small!important;
	    font-weight: bold;
	}
    #header .menu > li > a::before {
        height: 70%!important;
        top: 15%!important;
    }
    .falconheavy-switcher { left: 110px; }
}

/* Flags */

.falconheavy-switcher{
    max-height: 24px;
    width: 40px;
    overflow: hidden;
    position:  absolute;
    padding: 0;
    right: 1rem;
    z-index: 4;
    top: 13px;
}
@media screen and (max-width: 1000px){ 
    .falconheavy-switcher{ 
        right: inherit; 
        left: 120px; 
    } 
}

.falconheavy-switcher:after {
    content: "\72";
    color: #fff;
    left: 25px;
    font-family: "falconheavy" !important;
    top: 0;
    position: absolute;
    line-height: 105px;
}

.falconheavy-switcher ul {
    padding: 0;
    margin: 0;
}

.falconheavy-switcher-item { display: block!important; }


.falconheavy-flag {
    width: auto;
    height: auto;
}

.falconheavy-switcher:hover { max-height:  inherit; }

.falconheavy-switcher-item:not(:first-of-type) img:hover{
    -webkit-transform: scale(0.9) rotate(5deg);
    -moz-transform: scale(0.9) rotate(5deg);
    -ms-transform: scale(0.9) rotate(5deg);
    -o-transform: scale(0.9) rotate(5deg);
        transform: scale(0.9) rotate(5deg);
    cursor: pointer;
}

.wpml-ls-current-language a:hover{ cursor:default!important; }

/* Responsive nav */
input#burger, .book-resp, .tel-resp{
    display: none;
}

@media screen and (min-width: 800px){
    #nav-wrap label { display: none; }
}

@media screen and (max-width: 800px){
    #header{
        top: 0;
        left:  0;
        width: 100%;
        z-index: 9999;
        display: block!important;
        height: 50px;
    }

    #nav-container::before {
	    content: "";
	    position: fixed;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 50px;
	    background: #004343;
	    z-index: 2;
	}

    #nav-wrap input + label{
        position: fixed;
        top: 15px;
        right: 15px;
        height: 20px;
        width: 2rem;
        z-index: 5;
    }

    #nav-wrap input + label span{
        position: absolute;
        width: 100%;
        height: 3px;
        top: 50%;
        margin-top: -1px;
        left: 0;
        display: block;
        background: #fff;
        transition: .5s;
    }

    #nav-wrap input + label span:first-child{
        top: 3px;
    }

    #nav-wrap input + label span:last-child{
        top: 17px;
    }

    #nav-wrap label:hover{
        cursor: pointer;
    }

    #nav-wrap input:checked + label span{
        opacity: 0;
        top: 50%;
    }

    #nav-wrap input:checked + label span:first-child{
        opacity: 1;
        -webkit-transform: rotate(405deg);
        -moz-transform: rotate(405deg);
        -ms-transform: rotate(405deg);
        -o-transform: rotate(405deg);
        transform: rotate(405deg);
    }

    #nav-wrap input:checked + label span:last-child{
        opacity: 1;
        -webkit-transform: rotate(-405deg);
        -moz-transform: rotate(-405deg);
        -ms-transform: rotate(-405deg);
        -o-transform: rotate(-405deg);
        transform: rotate(-405deg);
    }

    #nav-wrap input ~ #nav-container{
        top: 0;
        left: 0;
        width: 100%;
        position: relative;
        height: 50px;
        z-index: 3;
        transition: .2s;
        transition-delay: .2s;
        overflow: hidden;
    }

    #nav-wrap input ~ #nav-container > ul{
        max-width: 22rem;
        text-align: left;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%,-50%);
        -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
        -o-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
        margin: 0;
        list-style: none;
        padding: 0;
        width: 90%;
    }

    #nav-wrap input ~ #nav-container > ul > li{
        opacity: 0;
        transition-delay: 0s;
        padding: 10px 0 !important;
        margin:10px 0!important;
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,0.6);
        cursor: pointer !important;
        display: block;
        position: relative;
    }

    .menu-item-has-children:after {
        content: "\72";
        color: #fff;
        right: 0;
        font-size: large;
        font-family: "falconheavy" !important;
        top: 0;
        line-height: 120px;
        height: 20px;
        position: absolute;
        display: block;
        z-index: -1;
    }

     .menu-item-has-children:hover::after {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
            transform: rotate(180deg);
    }

    #nav-wrap input ~ #nav-container > ul > li > a{
        padding: 0!important;
    }
    #nav-wrap input ~ #nav-container > ul ul{
        position: relative;
        width: 100%;
        padding-top: 0;
        height:  0;
        opacity: 0;
        overflow: hidden;
        transition:all .2s ease-in-out .2s;
    }
    #nav-wrap input ~ #nav-container > ul ul > li > a{
        font-size: 12px !important;
        text-transform: uppercase;
        margin: 0 !important;
        color:#fff;
        display: block;
        position: relative;
        line-height: 2!important;
    }
    #nav-wrap input ~ #nav-container > ul ul > li {
        margin: 5px 0 !important;
        display: block;
        position: relative;
    }

    #nav-wrap a, #nav-wrap a *{
        text-decoration: none;
        line-height: 1!important;
    }
    #nav-wrap input ~ #nav-container > ul > li > a{
        text-transform: uppercase;
        display: block;
        font-size: large;
        font-weight: bold;
        color: #fff!important;
        letter-spacing: 0.1rem;
        border-right: 0!important;
        border-bottom: 0 !important;
    }

    #nav-wrap input:checked ~ #nav-container{
        height: 100%;
        transition-delay: 0s;
        position: fixed;
    }

    #nav-wrap input:checked ~ #nav-container > ul > li{
        opacity: 1;
        transition-delay: .2s;
        position: relative;
    }
    
    #nav-wrap .sub-menu li{ 
        display: block;
        float: none; 
    }
    #nav-wrap .sub-menu li a{
        width: auto;
        min-width: 100px;
        padding: 0 20px;
    }
    #nav-wrap .menu-item-has-children:hover .sub-menu {
        height: 100%!important;
        padding-top: 10px!important;
        overflow: visible!important;
        opacity: 1!important;
    }
}

@media screen and (max-width: 500px){
	#nav-wrap input ~ #nav-container > ul > li { margin: .25rem!important; }
	#nav-wrap input ~ #nav-container > ul > li > a { font-size: small; }
}

/* contact top */

#contact-top {
    position:  absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
        transform: translateY(-50%);
    left: 1rem;
    z-index: 4;
}

@media screen and (min-width: 1301px){

    #tel-top {
        display:  inline-block;
        vertical-align:  middle;
        color:  #fff;
        font-size:  small;
        padding: 5px 10px;
        transition: 0.2s ease-in-out;
        width:  auto!important;
        height: auto!important;
        line-height: inherit!important;
        border: none!important;
    }

    #tel-top i { display: none; }

    #tel-top span {
        color:  #fff;
        line-height:  1;
        font-size:  small;
    }
}
@media screen and (max-width: 1300px){
    #tel-top:not(:hover){ background-color: transparent!important; }
    #tel-top span{ display: none;  }
    #tel-top i {
    	display: block!important;
	    line-height: 32px!important;
	    display: block;
	    padding-top: 0!important;
	    padding-left: 0!important;
	    padding-right: 1px;
	}
}

#contact-top a, #contact-top .js-link {
    width: 29px;
    display: inline-block;
    height: 28px;
    vertical-align:  middle;
    border:  1px solid #fff;
    text-align:  center;
    text-decoration: none;
    line-height: 32px;
    position: relative;
    transition: 0.2s ease-in-out;
}

#contact-top a i, #contact-top .js-link i {
    color: #fff;
    font-size: large;
    line-height: 28px;
    transition: 0.2s ease-in-out;
    width: 29px;
    height: 28px;
    padding-top: 3px;
    padding-left: 1px;
}

#contact-top a:hover, #contact-top .js-link:hover{
	color:#fff;
	text-decoration: none;
}

#contact-top a:hover *, #contact-top .js-link:hover *{ color:#fff; }


/* header img */

#header-banner { 
	position: relative; 
	overflow: hidden;
    display: block;
    width: 100%;
}

.no-object-fit body:not(.home) #header-banner { max-height: 400px!important; }


#header-banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.13);
    z-index: 1;
}

#header-logo {
    position: absolute;
    top: 1rem;
    left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
        transform: translateX(-50%);
    z-index: 3;
    text-align: center;
}
@media screen and (max-width: 1000px){ #header-logo { max-width: 150px!important; } }
@media screen and (max-width: 720px){ #header-logo {top:.25rem!important; } }


#header-img {
    display:  block;
    object-fit:  cover;
    width: 100%;
    position:  relative;
    z-index: -1;
    height: 500px;
    overflow: hidden;
}

body:not(.home) #header-img{ height: 350px; }

.no-object-fit #header-banner #header-img { 
    height: auto; 
    width: auto;
    min-width: 100%;
    min-height: 100%;
}

@media screen and (max-width: 720px){
    .no-object-fit #header-banner{ height: 300px; }
    #header-img {
        position: absolute;
        top: 50%;
        left:  50%;
        width:  100%;
        height: 100%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    html.no-object-fit #header-img{
        width: auto;
        height: auto;
        min-width: 100%;
        max-width: none;
        min-height: 100%;
    }

    #header-logo {
        max-width: inherit;
        width: auto;
    }

    #header-logo img {
        height: 80px;
        max-width: none;
    }
}


/* Slider home */
.slide {
  position: relative;
  width: 100%;
  height: 500px;
}

.slide ul{ margin:0; }

.slide ul li {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  list-style: none;
  z-index: 1;
}
.slide ul li:first-of-type { z-index: 1; }
.slide ul li { z-index: 0; }

#slider-home ul li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.13);
}

.slide .dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  width: 100%;
  z-index: 3;
  text-align: center;
}

.slide .dots li {
  display: inline-block;
  margin: 0 10px;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
  opacity: 0.4;
    cursor: pointer;
    transition: background .5s, opacity .5s;
  list-style: none;
}

.slide .dots li.active {
  background: #fff;
    opacity: 1;
}

.slide .arrow {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background .5s, opacity .5s;
}

.slide .arrow .arrow-left,
.slide .arrow .arrow-right {
  position: absolute;
  top: 50%;
  margin-top: -25px;
  display: block;
  width: 50px;
  height: 50px;
  cursor: pointer;
  opacity: 1;
    transition: background .5s, opacity .5s;
}
.slide .arrow .arrow-right { right: 0; }
.slide .arrow  .arrow-left:hover,
.slide .arrow  .arrow-right:hover {
  opacity: 1;
  text-decoration: none;
}

a.arrow-left::before,
a.arrow-right::before {
    font-size: 80px;
    color: #fff;
    text-decoration: none;
    position: absolute;
    line-height: 0;
    display: block;
    left: 0;
    width: 100%;
    text-align: center;
}
a.arrow-left::before { content: "‹"; }
a.arrow-right::before { content:"›"; }
/* Slogan home */

.slogan-header {
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    top: 50%;
    font-size: 48px;
    line-height: 1;
    color: #fff;
    z-index: 2;
    display: table;
    border: 0;
    text-align: center;
    padding: 0 2rem;
}

@media screen and (max-width:720px){ .slogan-header { display: none; } }

/**************************
        Bloc Promo
**************************/

/* Promo Thelis */

#thelis-cdc {
    position: absolute;
    top: calc(50% - 32px);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
        transform: translateY(-50%);
    left: 3rem;
    width: 200px;
    z-index: 4;
}

#thelis-cdc .thr .thr-favorite-title-site { display: none; }
#thelis-cdc .thr-favorite-title-block * { color:  #fff; }
#thelis-cdc .thr-favorite-title-block {
    background: rgba(38,38,38,0.59)!important;
    padding: 0.25rem;
}
#thelis-cdc .thr-favorites-bloc.thr-favorites-block-basic { border: none; }
#thelis-cdc .thr.thr-favorites {
    margin:  0;
    background: transparent;
}
#thelis-cdc span.thr-title-favorites.ng-binding {
    font-size: small!important;
    line-height: 1;
    text-transform: uppercase;
}
#thelis-cdc i.thr-icon-heart-light { line-height: 0.5; }
#thelis-cdc .thr-favorite-title-site.ng-binding * { line-height: 1; }
#thelis-cdc .thr-period.ng-binding {
    line-height: 1;
    font-size: x-small!important;
    display: inline-block;
    padding: .25rem;
    float: left;
}

#thelis-cdc .thr-favorite-title-category.ng-binding {
    height: auto;
    font-size: x-small;
    line-height: 1;
    padding: .5rem;
}

#thelis-cdc .thr-price-infos.thr-price-promoted {
    padding:  0;
    position: relative;
    line-height: 1;
    text-align: right;
}
#thelis-cdc .thr-price-infos.thr-price-promoted * {
    line-height: 1;
    font-size: small;
    display: inline-block;
}
#thelis-cdc .thr-favorites-price-bloc {
    height: auto;
    overflow: auto;
}
#thelis-cdc .thr-padding-favorites { padding: 0; }
#thelis-cdc .thr-favorite-resa.ng-scope { background: rgba(38,38,38,0.59)!important; }
#thelis-cdc .container-carousel { background: transparent; }
#thelis-cdc span.libelle.ng-binding {
    color: #fff;
    line-height: 1;
}
#thelis-cdc button.btn.thr-btn.thr-btn-primary {
    background: #2596ca!important;
    border-radius: 0!important;
    line-height: 1;
    width: 100%;
    margin: 0;
}
#thelis-cdc .thr-price-nopromo.ng-binding.ng-scope { display: none; }
#thelis-cdc .thr-p100reduc.thr-tooltip-trigger.ng-scope { display: none; }
#thelis-cdc .ng-scope.ng-isolate-scope { background: rgba(38,38,38,0.59)!important; }

@media screen and (max-width: 1200px){
    #thelis-cdc {
        left: -150px;
        transition:  0.2s ease-in-out;
        transform: none;
        top: 2rem;
        width: 150px;
    }
    #thelis-cdc .thr-favorite-title-block{ line-height: 1; }

    #thelis-cdc:hover { left:0; }
    #thelis-cdc i.thr-icon-heart-light {
        left: 100%;
        position: absolute;
        padding: 10px;
        background: #2596ca;
        top: 0;
        transition: 0.2s ease-in-out;
    }
    #thelis-cdc:hover i.thr-icon-heart-light {
        margin-left:  -50px;
        opacity: 0;
    }
    #thelis-cdc i.thr-icon-heart-light::before{
        -webkit-animation: beat .5s infinite alternate;
        -moz-animation: beat .5s infinite alternate;
        -ms-animation: beat .5s infinite alternate;
        -o-animation: beat .5s infinite alternate;
        animation: beat .5s infinite alternate;
        -webkit-transform-origin: center;
        -moz-transform-origin: center;
        -o-transform-origin: center;
        -ms-transform-origin: center;
        transform-origin: center;
        display: block;
    }


    @keyframes "beat" {
     to {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -o-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
     }

    }

    @-moz-keyframes beat {
     to {
       -moz-transform: scale(1.2);
       transform: scale(1.2);
     }

    }

    @-webkit-keyframes "beat" {
     to {
       -webkit-transform: scale(1.2);
       transform: scale(1.2);
     }

    }

    @-ms-keyframes "beat" {
     to {
       -ms-transform: scale(1.2);
       transform: scale(1.2);
     }

    }

    @-o-keyframes "beat" {
     to {
       -o-transform: scale(1.2);
       transform: scale(1.2);
     }

    }
    #thelis-cdc .thr-favorite-title-site.ng-binding,
    #thelis-cdc .ng-scope.ng-isolate-scope { display: none; }

    #thelis-cdc .thr-favorite-description.ng-binding.ng-scope {
        position:  absolute;
        bottom:  0;
        z-index: 2;
        background: rgba(255,255,255,0.8);
        line-height:  1;
        text-transform:  uppercase;
        padding:  5px;
        font-size: x-small;
    }

    #thelis-cdc .thr-favorites-first-block { position: relative; }

    #thelis-cdc .thr-period.ng-binding {
        float: left;
        font-size: x-small!important;
        padding: 2px;
    }

    #thelis-cdc button.btn.thr-btn.thr-btn-primary {
        width:  100%;
        line-height: 0;
        margin: 0;
        display: block;
    }

    #thelis-cdc span.libelle.ng-binding  { font-size:  small; } 
}
#thelis-cdc span.thr-title-favorites.ng-binding {
    color: #ffffff!important;
}

/* Promo thème option */
#bloc-promo {
    position:  absolute;
    top: 10rem;
    right: 0;
    z-index:  4;
    width: 250px;
    overflow: hidden;
}

#promo-wrap{  
    white-space: nowrap;
    overflow: hidden;
    padding: 0;
    margin:0;
    list-style: none;
}

.promo {
    display:  inline-block;
    width: 250px;
    white-space: normal;
    vertical-align: top;
}

#titre-bloc-promo {
    padding: .15rem 1rem;
    color:  #fff;
    text-transform:  uppercase;
    font-weight:  bold;
    font-size: small;
}

#titre-bloc-promo i {
    color: #fff;
    font-size: large;
    position: absolute;
    padding-left: 10px;
}

.promo .titre {
    color: #fff;
    text-transform: uppercase;
    font-size: large;
    font-weight: bold;
    padding: .25rem 1rem 0;
}

.promo .content {
    color:  #fff;
    font-size: small;
    padding:  0 1rem 1rem;
}

#nav-promo {
    position:  absolute;
    top: -5px;
    right: 1rem;
}

#nav-promo span {
    color:  #fff;
    font-weight:  bold;
    font-size: x-large;
    margin: 0 2px;
    display:  inline-block;
    vertical-align:  middle;
    cursor: pointer;
}

@media screen and (max-width: 1000px){
    #bloc-promo {
        -webkit-transform: rotate(-90deg);
        -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
        -o-transform: rotate(-90deg);
        transform: rotate(-90deg);
        transform-origin: top right;
        right: 25px;
        width: 200px;
        transition:  0.2s ease-in-out;
        top: .5rem;
    }

    #promo-wrap li{ width: 200px; }

    #titre-bloc-promo::before {
        content: "<";
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
        display:  inline-block;
        vertical-align:  middle;
        margin-right:  10px;
    }

    #nav-promo { opacity:  0; }

    #bloc-promo:hover {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        right:  0;
    }

    #bloc-promo:hover #nav-promo { opacity:  1; }

    #bloc-promo:hover #titre-bloc-promo::before {
        opacity: 0;
        margin-right: 0;
    }
    #bloc-promo:hover #titre-bloc-promo i{
        left: 0;
        padding-left: 5px;
    }
}


/*************************
    Open Dates
**************************/
@media screen and (min-width: 721px){
    #open-dates {
        position: absolute;
        bottom: 65px;
        right: 0;
        z-index: 4;
        padding: .5rem 1rem;
        text-align: center;
        border-radius: 20px 0 0 0;
        overflow: hidden;
        color: #fff;
    }

    #open-dates::before {
	    content: "\62";
	    font-family: "falconheavy" !important;
	    position: absolute;
	    z-index: 1;
	    line-height: 375px;
	    color: #fff;
	    opacity: 0.2;
	    display: block;
	    font-size: 60px;
	    height: 60px;
	    top: 50%;
	    left: 50%;
	    -webkit-transform: translate(-50%,-50%) rotate(15deg);
	    -moz-transform: translate(-50%,-50%) rotate(15deg);
	    -ms-transform: translate(-50%,-50%) rotate(15deg);
	    -o-transform: translate(-50%,-50%) rotate(15deg);
	    transform: translate(-50%,-50%) rotate(15deg);
	}

	#open-dates span{ 
		font-size:large; 
		margin: 0 5px;
		font-weight:bold;
		color: #fff;
	}
}

@media screen and (max-width: 720px){
    #open-dates {
        color: #fff;
        text-align: center;
        font-size: x-small;
        z-index: 2;
        position: absolute;
        line-height: 1!important;
        display: block;
        bottom: 0;
        padding: .5rem .25rem;
        width: 100%;
        text-transform: uppercase;
    }

    #open-dates span {
        color: #fff;
        margin-left: 3px;
        display:  inline-block;
        line-height: 1;
        font-size: small;
        font-weight: bold;
    }
}
/************************
		Bloc resa
************************/

#bloc-resa {
    background: #efefef;
    border-top: 2px solid #fff;
    padding: 1rem 0;
    position: relative;
    z-index: 2;
}
.no-object-fit body:not(.home) #bloc-resa{
	position: absolute;
	bottom: 0;
	width: 100%;
}
#titre-resa-mobile{ display: none; }
@media screen and (max-width: 720px){
    #bloc-resa {
        padding:  0;
        background:  transparent!important;
        margin-bottom:  3rem;
        left:  50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
            transform: translateX(-50%);
        border: none;
        text-align: center;
        width: 80%;
        position: absolute;
        top: 10% !important;
        max-width: 280px;
        margin-top: 5.5rem;
    }
    #bloc-resa form {
        display:  block;
        line-height: 0;
    }
    #select-type{
        width: 100%!important;
        display: block!important;
        margin: .25rem 0!important;
        height: 30px;
        position: relative;
    }
    #bloc-resa .input-date, #submit-resa, .btn-cart  {
        display: inline-block!important;
        width: calc(50% - 3px)!important;
        min-width: 0;
        margin: 0!important;
        height: 30px;
        position: relative;
    }
    #titre-resa-mobile {
	    display: block;
	    color: #fff;
	    text-align: center;
	    font-size: large;
	    line-height: 1;
	    text-transform: uppercase;
	    margin-bottom: .25rem;
	}
    #submit-resa input, a.btn-cart {
        padding: 0 .5rem!important;
        line-height: 30px;
    }
    #submit-resa i { display: none!important; }
}
@media screen and (min-width: 721px){
    #bloc-resa form {
        display: table;
        margin: 0 auto;
        border-collapse:  separate;
        border-spacing: .5rem 0;
        width: 100%;
        max-width: 900px;
    }
	#bloc-resa .input-date, #bloc-resa #select-type, #bloc-resa #submit-resa, #bloc-resa .btn-cart {
	    display: table-cell;
	    min-width: 150px;
	    line-height: 30px;
	    padding: 0 .5rem;
	    position: relative;
	}
}

.input-date:hover, .input-date *:hover{ cursor: pointer; }

.input-date input{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	clip-path: inset(0 30px 0 0);
	border:none;
	z-index: 2;
	color:#fff;
	position: absolute;
    left: 0;
    top: 0;
    height: 30px;
    width: calc(100% + 30px);
    padding:0 .5rem;
	background: transparent;
}

.input-date i, #select-type i {
    position: absolute;
    right: 10px;
    top: 0;
    color: #fff;
    line-height: 35px;
    display: block;
    z-index: 1;
}

.input-date input::-webkit-inner-spin-button, /* Removes arrows */
.input-date input::-webkit-clear-button { /* Removes blue cross */
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0;
    display: none;
}

.input-date input[type=date]::-webkit-calendar-picker-indicator {
    background: transparent!important;
    position: absolute;
    width: 100%;
    height: 100%;
    color:transparent;
}

#type {
    z-index: 2;
    color:  #fff;
    background: transparent;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 30px;
    padding:0 .5rem;
    cursor: pointer;
    border:  none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select::-ms-expand { display: none; }

#type option { color: #fff; }

#submit-resa {
    position: relative;
    transition: 0.2s ease-in-out;
}

#submit-resa input {
    width:  100%;
    text-align:  left;
    border:  none;
    z-index: 2;
    color: #fff;
    text-transform:  uppercase;
    font-weight:  bold;
    font-size: smaller;
    cursor: pointer;
    background: transparent;
    position: relative;
    padding: 0;
}

#submit-resa i {
    position: absolute;
    right: 5px;
    display: block;
    top: 0;
    line-height: 38px;
    height: 38px;
    font-size: x-large;
    color: #fff;
    transition: 0.2s ease-in-out;
}

#submit-resa:hover i{
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
        transform: scale(1.2);
}

@media screen and (max-width: 800px) and (min-width: 720px){
	#submit-resa i {
	    right: 5px;
	    font-size: large;
	}
}


/* Thelis resa */ 

.btn-cart {
    text-decoration: none;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    font-size: small;
    transition: 0.2s ease-in-out;
}

.btn-cart:hover { 
    text-decoration: none;
    color:#fff!important;
}


/*************************
	YOAST
*************************/


.yoast_bread {
    padding: .5rem;
    border-bottom: 1px solid;
    text-align: right;
}

.yoast_bread * { font-size: small; }


/*************************
	Sections
*************************/

/* Global */

section{ padding: 2rem 0; }

.no_padding_top{ padding-top:0!important; }
.no_padding_bottom{ padding-bottom:0!important; }

/* Titre section */

.section-title{ font-size: xx-large; margin: 0 2%; font-weight: normal; }
h1, h2, h3{ font-size: x-large; margin: 0; }

@media screen and (max-width: 720px){
    .section-title {  font-size: x-large; }
    h1, h2, h3 { font-size: large; }
}
/* Inline titre */

.inline-title {
    display: block;
    font-size: large;
    text-transform: uppercase;
    font-weight: bold;
}

/* Bloc text */

.bloc-text { margin: 0 2%; }

/* Citation */

.citation {
    position: relative;
    display: block;
    padding: 0.5rem 0;
    font-size: large;
    text-transform: uppercase;
}

.citation::before {
    content: "\42";
    font-family: falconheavy;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%) rotate(15deg);
    -moz-transform: translate(-50%,-50%) rotate(15deg);
    -ms-transform: translate(-50%,-50%) rotate(15deg);
    -o-transform: translate(-50%,-50%) rotate(15deg);
    transform: translate(-50%,-50%) rotate(15deg);
    font-size: 60px;
    height: 70px;
    z-index: -1;
    opacity: 0.1;
    line-height: 390px;
}

/* Img full */

.object-fit .img-full {
    width: 100%;
    max-height: 350px;
    object-fit:  cover;
    object-position: center center;
    line-height: 0;
    display: block;
}

.no-object-fit .img-full{ width: 100%; }

/* Section list pages */

.list-pages {
    padding:  0;
    margin: 0;
}

.list-pages.list-of-2 {
    max-width: 35rem;
    margin: 0 auto;
}

.list-pages.list-of-1 {
    max-width: 20rem;
    margin: 0 auto;
}

.cta {
    margin: 0.5%!important;
    width: 24%;
    list-style: none; 
}

.list-of-7 .cta:nth-last-of-type(1), 
.list-of-7 .cta:nth-last-of-type(2), 
.list-of-7 .cta:nth-last-of-type(3) { width: 32.333%; }
.list-of-5 .cta{ width: 19%; }
.list-of-3 .cta{ width: 32.333%; }
.list-of-2 .cta{ width: 49%; }
.list-of-1 .cta{ width: 99%; }

.cta a{ 
    text-decoration: none; 
    display: block;
    position: relative;
    overflow: hidden;
}

.cta-img {
    position: relative;
    line-height: 0;
    overflow: hidden;
}

.cta-img::before {
    content: "";
    position:  absolute;
    top: 0;
    left:  0;
    opacity: 0;
    width:  100%;
    height:  100%;
    display:  block;
    z-index: 2;
    transition:  0.2s ease-in-out;
}

.cta:hover .cta-img::before{ opacity: 0.7; }

.cta-img > img {
    transition:  0.2s ease-in-out;
    z-index: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
        transform: scale(1);
    width: 100%;
}

.cta:hover .cta-img > img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
        transform: scale(1.2);
}

.cta-img > span {
    z-index: 3;
    position:  absolute;
    top: 50%;
    left:  50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    color: #fff;
    text-transform:  uppercase;
    display:  table;
    width: 100%;
    text-align: center;
    line-height: 1;
    font-size: small;
    transition:  0.2s ease-in-out;
    opacity: 0;
}

.cta-img > span::after {
    text-transform: none;
    content: "\64";
    font-family: falconheavy;
    display: inline-block;
    vertical-align: baseline;
    font-size: x-small;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 100%;
    text-align: center;
    color: initial;
    line-height: 72px;
    font-weight: bold;
    margin-left: 0;
    transition: 0.2s ease-in-out;
}

.cta:hover .cta-img > span{ opacity: 1; }

.cta:hover .cta-img > span::after { margin-left: .5rem; }


.cta-descr {
    text-align: center;
    padding: .25rem;
    margin-top: .5rem;
    transition: 0.2s ease-in-out;
}
.bggrey .cta-descr{ background:#fff; }

.cta-descr .cta-title{
    text-transform: uppercase;
    font-size: small;
}

.cta-subtitle {
    line-height: 0.8;
    font-size: small;
}

.cta-descr > .cta-resume {
    font-size: x-small;
    display: block;
    text-transform: none;
    line-height: 1;
}

.cta:hover .cta-descr *{ color:#fff; }

.prix-appel {
    position: absolute;
    top: 1rem;
    right: 0;
    color: #fff;
    font-size: x-small;
    line-height: 1;
    text-align: center;
    padding: .25rem .5rem;
    z-index: 3;
    transition: 0.2s ease-in-out;
}

.prix-appel > span {
    display: block;
    color: #fff;
    line-height: 1;
    font-size: large;
}

.cta:hover .prix-appel{ right: -100%; }


/* Accordeon slider */

@media screen and (min-width: 720px){
    .flexbox-slider {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: 350px;
        visibility: hidden;
    }
    .flexbox-slider .flexbox-slide {
        -webkit-transition-property: all;
            transition-property: all;
        -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
        -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
        -webkit-transition-delay: 0s;
            transition-delay: 0s;
        width: 20%;
        height: 100%;
        position: relative;
        overflow: hidden;
        cursor: pointer;
        visibility: visible;
        border-right: 5px solid #fff;
        max-width: 90%;
    }
    .flexbox-slider.slides-1 .flexbox-slide { width: 100%; }
    .flexbox-slider.slides-2 .flexbox-slide { width: 50%; }
    .flexbox-slider.slides-3 .flexbox-slide { width: 33.3333%; }
    .flexbox-slider.slides-4 .flexbox-slide { width: 25%; }
    .flexbox-slider .flexbox-slide:last-of-type{ border-right: none; }
    .flexbox-slider .flexbox-slide:after {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.6);
        z-index: 2;
        opacity: 0;
    }
    .flexbox-slider .flexbox-slide img {
        position: absolute;
        top: 50%;
        left: 50%;
        height: auto;
        width: auto;
        max-width: none;
        min-width: 100%;
        min-height: 100%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
        z-index: 1;
    }
    html:not(.no-object-fit) .flexbox-slider .flexbox-slide img { object-fit: cover; }
    html.no-object-fit .flexbox-slider .flexbox-slide img { max-width: none!important; height:auto!important; }

    .flexbox-slider:not(.slides-1):hover .flexbox-slide:hover {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        width: 50%;
    }
}
@media screen and (max-width: 720px){
    .flexbox-slider{ height:auto!important; }
    .scroll-x-mobile .flexbox-slide{
        display: inline-block;
        height: 175px;
        vertical-align: top;
        position: relative;
    }
    .scroll-x-mobile .flexbox-slide img{
        height: 100%;
        max-width: none;
    }
    .slider-container .scroll-x-title { margin-top: 1rem; }
}


/* Bloc de texte + image */

.flex-row {
    display: flex;
    flex-wrap: wrap;
}
.v-align { align-items: center; }

.reverse-row { flex-direction: row-reverse; }

img.full {
    max-width: none;
    width: 100%;
}

/* Map */

#map-row > .col-6 {
	margin: 0 .5%;
	width: 49%;
}

#gmaps{
	height: 350px;
    height: 100%;
    width: 100%;
}

#map-list {
    margin: 0;
    padding: 0;
}

.list-of-6 #map-list .cta { width: 32.333%; }

@media screen and (max-width: 1200px){
	#map-list .cta-descr {
	    font-size: x-small;
	    font-weight: bold;
	}
}
@media screen and (max-width: 720px){
	#map-list.scroll-x-mobile [class^=col] { width: 150px!important; }
    #map-row > .col-6 { width: 99%; }
    #gmaps{ height: 350px; }
    .list-of-3 .cta { width: 32.33%!important; }
    .list-of-2 .cta { width: 49%!important; }
    .list-of-2 .cta { width: 99%!important; }
    .list-of-3 .scroll-x-title { display: none; }
    .list-of-2 .scroll-x-title { display: none; }
    .list-of-1 .scroll-x-title { display: none; }
}
@media screen and (max-width: 450px){
 .list-of-3 .scroll-x-title { display: block!important; }
 .list-of-3 .cta { width: 150px!important; }
}
.list-of-5 #map-list .cta { width: 32.333%; }
.list-of-5 #map-list .cta:nth-last-of-type(1), 
.list-of-5 #map-list .cta:nth-last-of-type(2) { width: 49%; }

/* WPCF7 */

.wpcf7-text, .wpcf7-textarea, .wpcf7-captchar {
    border: none !important;
    margin:5px 0;
    width: 100% !important;
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    border-radius: 0 !important;
    -moz-box-sizing: border-box;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.wpcf7-submit {
    color:#fff!important;
    margin: 0!important;
    cursor: pointer;
    font-weight: bold!important;
    font-size: medium;
    display: block;
    padding: 6px 20px;
    border-radius: 0;
    background: #a0bd43;
    letter-spacing: 2px;
    text-transform: uppercase;
    width: 100%;
    font-size: small;
    border: 2px solid;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

@media screen and (max-width: 720px){
	#map-row.contact-row {
	    display: block;
	    width: 100%;
	    flex-wrap: inherit;
	}

	#map-row.contact-row > .col-6 {
	    width: 100%;
	    max-width: 450px;
	    display:  block;
	    margin: 0 auto;
	    float: none;
	}

	#map-row.contact-row #gmaps { height: 200px; }
}


/************************
        BLOG
*************************/
#section-single .section-title { margin: 0; }
#sidebar { padding: 1rem; }
#sidebar .widget:not(:last-of-type) {  margin-bottom: 1rem; }
#sidebar ul {
    margin: 0;
    padding-left: 2rem;
}
#sidebar .inline-title { font-size:  smaller; }
#sidebar a { font-size: small; }

.single-meta {
    margin: 2rem 0;
    text-align: right;
}

.single-meta, .single-meta * {
    font-size: small;
    font-style: italic;
}



/****************************
        SOCIAL SHARE
*****************************/
.social-share{
    display: table;
    margin:1rem auto 0;
}

#social-share-fixed i.icon-x { display: none; }

.social-share > a {
    display: inline-block;
    float:  left;
    margin: .10rem;
}

.social-share > a {
    width: 35px;
    height:  35px;
    display:  block;
    text-align: center;
    line-height:  35px;
    text-decoration:  none;
    position: relative;
}

.social-share > #share-facebook { background: #3b5998; } 
.social-share > #share-gplus { background: #d34836; } 
.social-share > #share-twitter { background: #00aced; } 
.social-share > #share-linkedin { background: #007bb6; }
.social-share > #share-pinterest { background: #C92228; } 

.social-share > a > i {
    color: #fff;
    font-size: large;
    display:inline-block;
    width: 35px;
    height:  35px;
    line-height:35px;
    padding-top:3px;
    transition: 0.2s ease-in-out;
}


.social-share > a:hover > i {
	-webkit-transform: scale(1.3) rotate(360deg);
	-moz-transform: scale(1.3) rotate(360deg);
	-ms-transform: scale(1.3) rotate(360deg);
	-o-transform: scale(1.3) rotate(360deg);
        transform: scale(1.3) rotate(360deg);
}

@media screen and (min-width: 721px){
	#social-share-fixed {
	    position:  fixed;
	    z-index:  999999;
	    top: 50%;
	    left:  0;
	    -webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
	        transform: translateY(-50%);
	    transition: 0.2s ease-in-out;
	}

	#social-share-fixed i.icon-x {
	    position: absolute;
	    font-size: small;
	    top: 0;
	    right: 0;
	    color: #fff;
	    line-height: 1;
	    -webkit-transform: translate(50%, -50%);
	    -moz-transform: translate(50%, -50%);
	    -ms-transform: translate(50%, -50%);
	    -o-transform: translate(50%, -50%);
	    transform: translate(50%, -50%);
	    z-index: 2;
	    text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
	    opacity: 0;
	    display: block;
	    line-height: 110px;
	    display: block;
	    transition: 0.2s ease-in-out;
	}

	#social-share-fixed:hover i.icon-x{ opacity: 0.8; }

	#social-share-fixed i.icon-x:hover{
		cursor: pointer;
	    opacity: 1;
	}
	#social-share-fixed a {
	    display: block;
	    float: none;
	    margin: 0;
	}
}

#social-share-single{
    display: table;
    margin-left:auto;
    margin-top: .5rem;
}

/****************************
       Labels
*****************************/

#section-labels {
    padding: 2rem 0;
    text-align: center;
}

.label-link {
    display:  inline-block;
    height:  65px;
    line-height: 65px;
}

.label-link i {
    display:  inline-block;
    width:  65px;
    height:  65px;
    line-height:  80px;
    font-size: 50px;
    transition: 0.2s ease-in-out;
}
.label-link img {
    display:  inline-block;
    line-height:  80px;
    font-size: 50px;
    transition: 0.2s ease-in-out;
}
.label-link:hover i, .label-link:hover img{
    transform: scale(1.2);
}

/****************************
        FOOTER
*****************************/

/* Section social & avis */

#section-social { 
    padding:  2rem 0; 
    position: relative;
}

@media screen and (max-width: 720px){
    #section-social { text-align: center; }
    #social-box, #avis-box {
        float:  none!important;
        width:  auto;
        display: inline-block;
        margin:10px;
    }
}

#social-box { text-align: right; }

#social-box span:not(.social-link), #avis-box span:not(.social-link) {
    font-size: x-large;
    font-weight: bold;
    vertical-align: middle;
    margin-right: 12px;
}

.social-link {
    display:  inline-block;
    vertical-align:  middle;
    width: 40px;
    height: 40px;
    position: relative;
    text-align:  center;
    line-height: 40px;
    border: 1px solid;
    border-radius: 100%;
    margin: 0 3px;
    transition:  0.2s ease-in-out;
}

.social-link i {
    font-size:  x-large;
    width:  40px;
    height:  40px;
    display:  inline-block;
    line-height: 40px;
    position: relative;
    padding-top: 3px;
    padding-right: 1px;
}

.social-link img {
    position:  absolute;
    top: 50%;
    left:  50%;
    -webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    height: 28px;
    transition:  0.2s ease-in-out;
}

.social-link img.hovered { opacity: 0; }

.social-link:hover {
    -webkit-transform: rotate(360deg) scale(1.2);
	-moz-transform: rotate(360deg) scale(1.2);
	-ms-transform: rotate(360deg) scale(1.2);
	-o-transform: rotate(360deg) scale(1.2);
        transform: rotate(360deg) scale(1.2);
}

.social-link:hover img.hovered { opacity: 1; }

.social-link:hover img { opacity: 0; }

/* Section pdf */

#section-pdf {
    padding: 2rem 0;
    text-align: center;
}

@media screen and (min-width: 721px){
	#section-pdf .row {
	    display: flex;
	    flex-wrap: wrap;
	    justify-content: center;
	}
}

#section-pdf .pdf-link {
    transition: 0.2s ease-in-out;
    margin: 1rem;
    display: inline-block;
    text-decoration: none;
}

#section-pdf .pdf-link i {
    display:  inline-block;
    width: 50px;
    height:  50px;
    border: 1px solid #fff;
    color:#fff;
    border-radius: 100%;
    
    line-height: 50px;
    font-size: x-large;
    padding-top: 3px;
    vertical-align: middle;
    transition: 0.2s ease-in-out;
    margin-right: 5px;
}

#section-pdf .pdf-link-decr {
    display:  inline-block;
    vertical-align: middle;
}

#section-pdf .pdf-link-decr, .pdf-link-decr * {
    text-align:  left;
    line-height: 1;
    transition: 0.2s ease-in-out;
    color:#fff;
}

#section-pdf .pdf-link-decr span {
	text-transform:  uppercase;
	display:  block;
}

#section-pdf .pdf-link:hover { text-decoration: none; }

#section-pdf .pdf-link:hover i {
	background:#fff;
    -webkit-transform: rotate(360deg) scale(1.1);
	-moz-transform: rotate(360deg) scale(1.1);
	-ms-transform: rotate(360deg) scale(1.1);
	-o-transform: rotate(360deg) scale(1.1);
        transform: rotate(360deg) scale(1.1);
}

#section-pdf .scroll-x-title, #section-pdf .scroll-x-title i{ color: #fff; }

/* Section labels */

#label-img {
    margin: 2rem auto;
    display: block;
}

/**************************
		Footer
*************************/

footer {
    text-align: center;
    padding: 2rem 0;
}

.contact-foot {
    display:  inline-block;
    vertical-align:  top;
}

.contact-foot i {
    display:  block;
    width:  35px;
    height:  35px;
    background: #fff;
    border-radius:  100%;
    margin:  0 auto 5px;
    line-height:  35px;
    
    font-size:  x-large;
    padding-top: 4px;
    transition:  0.2s ease-in-out;
}

.contact-foot .contact-box {
    text-align:  center;
    display:  block;
}

.contact-foot .contact-box,
.contact-foot .contact-box *{ 
	color:#fff; 
	font-size:  small;
	line-height: 1;
    transition:  0.2s ease-in-out;
}

.contact-foot:hover i{ 
	-webkit-transform: rotate(360deg) scale(1.1);
	-moz-transform: rotate(360deg) scale(1.1);
	-ms-transform: rotate(360deg) scale(1.1);
	-o-transform: rotate(360deg) scale(1.1);
        transform: rotate(360deg) scale(1.1);
}

@media screen and (max-width: 720px){
	.row.microdata {
	    display: flex;
	    flex-wrap: wrap;
	    justify-content: center;
	}
	.contact-foot {
	    float: none!important;
	    width: auto;
	    margin: 0 .25rem!important;
	    flex-basis: 0;
	    flex-grow: 1;
	}
}

/* Copyrights */

#copyrights {
    text-align: center;
    padding: 0.5rem;
}

#copyrights * {
    font-size: small;
    
}

@media screen and (max-width: 720px) {
	#copyrights { padding-bottom: 4rem!important; }
}

/* Logo foot */

#logo-foot {
    margin: 0 auto;
    display: block;
}


/* RGPD */
.gdpr.gdpr-privacy-bar .gdpr-wrapper, 
.gdpr.gdpr-reconsent-bar .gdpr-wrapper {
    padding: 5px 30px;
}
div.gdpr.gdpr-privacy-bar div.gdpr-wrapper div.gdpr-content {
    padding: 0;
}
div.gdpr-wrapper .gdpr-info p, 
.gdpr-wrapper .gdpr-info .gdpr-cookies span, 
.gdpr-wrapper .gdpr-info .gdpr-cookies span a {
    font-size: small;
}
.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement,
 .gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement {
    margin: 0 10px !important;
}
.gdpr.gdpr-privacy-bar, 
.gdpr.gdpr-reconsent-bar {
    bottom: -1px;
    top: auto;
    z-index: 999999999;
    position: fixed !important;
}
.gdpr.gdpr-privacy-preferences .gdpr-wrapper form>footer input[type="submit"]:active,
.gdpr.gdpr-privacy-preferences .gdpr-wrapper form>footer input[type="submit"].focus,
.gdpr.gdpr-general-confirmation .gdpr-wrapper form>footer input[type="submit"]:active, 
.gdpr.gdpr-general-confirmation .gdpr-wrapper form>footer input[type="submit"].focus {
    vertical-align: top;
}
.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active, 
.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active {
    font-size: smaller;
}
.gdpr.gdpr-privacy-preferences .gdpr-wrapper form>footer input[type="submit"]:hover, 
.gdpr.gdpr-general-confirmation .gdpr-wrapper form>footer input[type="submit"]:hover {
    color: #fff;
    text-shadow: none;
    text-decoration: none;
}
.gdpr.gdpr-privacy-preferences .gdpr-wrapper form>footer input[type="submit"], 
.gdpr.gdpr-general-confirmation .gdpr-wrapper form>footer input[type="submit"] {
    color: #fff;
    text-shadow: none;
    text-decoration: none;
}
div.gdpr-content p a {
    font-size: inherit;
}
.gdpr.gdpr-privacy-bar .gdpr-agreement:active, 
.gdpr.gdpr-privacy-bar .gdpr-agreement:focus, 
.gdpr.gdpr-reconsent-bar .gdpr-agreement:active, 
.gdpr.gdpr-reconsent-bar .gdpr-agreement:focus{
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.1);
}
.gdpr.gdpr-privacy-bar .gdpr-agreement, 
.gdpr.gdpr-reconsent-bar .gdpr-agreement{
    color: #fff;
}

li.home-li {
    max-height: 65px;
}

li.home-li a i{
    color: white;
    font-size: large;
}

.client-top{
    display: none;
}