@font-face {
    font-family: 'beyond-infinity';
    src: url('../fonts/beyond-infinity.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
*{
    margin:0;
    padding: 0;
}

body {
    color: #000;
    font-family:  'Quicksand', sans-serif;
    font-size: 1em;
    text-align: justify;
}

a:hover{
    cursor: pointer;
}

.row {
    max-width: 70rem;
}

.column, .columns{
    padding-left: .7rem;
    padding-right: .7rem;
}

#preloader {
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:#fff; /* change if the mask should have another color then white */
    z-index:999999; /* makes sure it stays on top */
	opacity : 1;
}


#status {
    width:300px;
    height:300px;
    position:absolute;
    left:50%; /* centers the loading animation horizontally one the screen */
    top:50%; /* centers the loading animation vertically one the screen */
    /*background-image:url(../images/status.gif); /* path to your loading animation */
    background-repeat:no-repeat;
    background-position:center;
    margin:-150px 0 0 -150px; /* is width and height divided by two */
}

#scroll_down{
	position: fixed;
	display: block;
	bottom: 0;
	left: 50%;
	margin-left: -11.4px;
	z-index: 100000;
	margin-bottom: 10px;
}

img{
    width: 100%;
}

p{
    line-height: 1.4;
}

a{
    text-decoration: none;
}

.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
}

.margin_0{
    margin: 0 !important;
}

.padding_0{
    padding: 0 !important;
}

.padding_20{
    padding: 20px !important;
}

.padding_10{
    padding: 10px !important;
}

.padding_50{
    padding: 50px !important;
}

.padding_5{
    padding: 5px !important;
}

.padding_b_5{
    padding-bottom: 5px !important;
}

.padding_b_15{
    padding-bottom: 15px !important;
}

.padding_b_20{
    padding-bottom: 20px !important;
}

.padding_b_50{
    padding-bottom: 50px !important;
}

.padding_l_0{
    padding-left: 0 !important;
}

.padding_r_0{
    padding-right: 0 !important;
}

.padding_r_10{
    padding-right: 10px !important;
}

.padding_b_0{
    padding-bottom: 0 !important;
}

.pm_0{
    padding: 0 !important;
    margin: 0 !important;
}

.margin_l_0{
    margin-left: 0 !important;
}

.margin_b_10{
    margin-bottom: 10px !important;
}

.margin_b_15{
    margin-bottom: 15px !important;
}

.margin_b_20{
    margin-bottom: 20px !important;
}

.margin_b_30{
    margin-bottom: 30px !important;
}

.margin_b_40{
    margin-bottom: 40px !important;
}

.margin_b_50{
    margin-bottom: 50px !important;
}

.margin_b_80{
    margin-bottom: 80px !important;
}

.margin_t_50{
    margin-top: 50px !important;
}

.margin_t_10{
    margin-top: 10px !important;
}

.margin_t_15{
    margin-top: 15px !important;
}

.margin_t_20{
    margin-top: 20px !important;
}

.margin_t_30{
    margin-top: 30px !important;
}

.margin_dg_10pc{
    margin-left: 10%;
    margin-right: 10%;
}

.margin_r_0{
    margin-right: 0 !important;
}

.border{
    border: 2px solid #F1F1F1;
}

a{
    color: #215670;
}

a:focus,
a:hover{
    color: #94c2dc;
}

.btn,
a.btn2:hover,
#filtres input[type="radio"]:checked + label{
    background: #94c2dc;
    color: #333;
    padding: 10px 25px;
    font-weight: bold;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 1rem;
}

.btn:hover,
.btn2,
.btn3{
    background: #215670;
    color: white;
}

.btn3:hover{
    background: white;
    color: #215670;
}

.uppercase{
    text-transform: uppercase;
}

.bold{
    font-weight: bold;
}

.relative{
    position: relative;
}

.row_100{
    margin: 0;
    max-width: 100%;
}

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

.row .row_100{
    margin: 0;
}

form input,
form select,
form textarea{
    box-shadow: none !important;
    border: 1px solid #333 !important;
}

form input::placeholder,
form select::placeholder,
form textarea::placeholder{
    color: black;
}

input{
    padding: 0 0.5rem !important;
}

.separation{
    display: inline-block;
    width: 90px;
    height: 5px;
    background: #215670;
}

/* MENU */
.js-off-canvas-exit{
    z-index: 10000;
}

#menu{
    z-index: 999;
    padding: 0;
}

#logo{
    width: 100%;
    max-width: 200px;
    height: auto;
    padding: 50px 10px;
    box-shadow: 1px 1px 12px rgba(51, 51, 51, .2);
    position: absolute;
    top: -50px;
    z-index: 999999;
    background: white;
    
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.is-stuck #logo{
    max-width: 130px;
    height: auto;
    background: rgba(255, 255, 255, 1);
}

.sticky{
    z-index: 2;
}

.title-bar{
    background: #215670 !important;
    border-bottom: 1px solid rgba(103, 113, 107, 1);
    z-index: 999;
    background: transparent;
}

.title-bar .menu li a{
    color: white;
    font-size: 1rem;
}

.top-bar-title{
    margin-right: 0;
}

.menu .active a,
.menu a:hover{
    color: #94c2dc !important;
    background: none;
}

.langue.menu a:hover{
    text-decoration: none;
}

#offCanvas{
    padding: 15px 0;
}

#offCanvas .langue.menu li{
    display: inline-block !important;
    float: left;
}

.menu li a{
    padding: 1.2rem .8rem !important;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a{
    padding-right: 1rem;
}

.fa-bars{
    color: white;
    font-size: 1.5rem;
}

.dropdown.menu>li.is-dropdown-submenu-parent>a:after,
.dropdown.menu>li.is-dropdown-submenu-parent>a:hover:after{
    border: none;
    content: "";
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub{
    left: 0;
    right: auto;
}

.is-dropdown-submenu{
    background: #215670;
    padding: 0;
}

.is-dropdown-submenu li{
    padding: 0 !important;
}

.sticky .is-dropdown-submenu li a,
.sticky li.active .is-dropdown-submenu li a{
    color: white;
    width: 100%;
    font-size: 1rem;
    padding: .7rem 1rem !important;
}

.sticky .is-dropdown-submenu li.current-menu-item a,
.sticky li.active .is-dropdown-submenu li.current-menu-item a{
    color: #333;
    background: rgba(126, 189, 156, 1);
}

.is-dropdown-submenu li a,
.is-dropdown-submenu li > .is-dropdown-submenu li a{
    border: none !important;
}

.sticky .is-dropdown-submenu li a:hover,
.sticky li.active .is-dropdown-submenu li a:hover{
    border: none;
    background: rgba(255, 255, 255, 1);
    color: #215670 !important;
}

.off-canvas.position-left,
.off-canvas.position-right{
    background: #215670;
    height: 100%;
    box-shadow: none;
}

.left-submenu.move-right.submenu.is-drilldown-submenu{
    margin-left: 0;
}

.is-drilldown li{
    padding: 0;
    margin-left: 10px;
    text-transform: uppercase;
}

.is-drilldown li a, .is-drilldown-submenu li a{
    color: white;
    border: none;
}

.is-drilldown li a::after{
    border-color: transparent transparent transparent white;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{
    border-color: transparent transparent transparent white;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:hover::after{
    border-color: transparent transparent transparent rgba(126, 189, 156, 1);
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{
    border-color: transparent white transparent transparent;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:hover::after{
    border-color: transparent rgba(126, 189, 156, 1) transparent transparent;
}

.is-drilldown li a:hover, .is-drilldown-submenu li a:hover{
    color: rgba(126, 189, 156, 1);
}

.is-drilldown-submenu{
    height: 100%;
    background: #215670;
}

.is-drilldown a:hover {
    border: none;
}

.is-drilldown-submenu li a::before{
    border-color:  transparent white transparent transparent;
}

input, select, textarea{
    border-radius: 0px !important;
}

.scrollToTop, #share_btn{
	width:40px; 
	height:40px; 
	text-align:center; 
	background: #94c2dc;
	font-weight: bold;
	color: white;
	text-decoration: none;
	position:fixed;
	bottom:30px;
	right:10px;
	display:none;
    font-size: 1.5em;
    z-index: 999;
    border: 1px solid white;
    opacity: 1 !important;
}
.scrollToTop:hover,
#share_btn:hover{
	text-decoration:none;
    background: #215670;
    color: white;
}

#share_btn{
    bottom: 80px;
    display: block;
}


/* POP UP */
#fond_partage{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .6);
    z-index: 9999;
    display: none;
}

#partage{
    position: fixed;
    top: 20%;
    width: 600px;
    left: 50%;
    margin-left: -300px;
    background: white;
    z-index: 99999;
    display: none;
}

#partage .titre{
    background: #215670;
    color: white;
    font-size: 1.4rem;
    padding: 10px 20px;
}

#partage .close_partage{
    color: white;
    float: right;
    padding: 10px 20px;
}

#partage .close_partage:hover{
    color: #94c2dc;
}

#partage #share_popup{
    padding: 10px 20px 20px 20px;
}

h1, h2{
    font-family: 'Homemade Apple', cursive;
    line-height: 1.2;
}

h1{
    font-size: 2rem;
    margin-bottom: 0;
}

h1.btn{
    line-height: 1;
    padding: 10px 30px;
    font-size: 2rem;
}

h2{
    font-size: 2rem;
}

h3{
    font-size: 1.2rem;
}

.fond{
    background: #215670;
    color: white;
}

.offre .fond{
    background: #95c2dc;
    color: #333;
    padding: 20px;
    padding-bottom: 0;
    min-width: 400px;
}

.offre h3{
    font-size: 2rem;
    font-weight: bold;
}

.fond_gris{
    background: #dcdcdc;
}

.couleur{
    color: #215670;
}

.texture{
    z-index: 0;
}

.zoom:hover 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);
}

.zoom img{
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}

.relative:hover .fond{
    opacity: .4;
}

.offre .relative:hover .fond{
    opacity: 1;
}

.zoom{
    overflow: hidden;
}

.align-vertical{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

.align-horizontal{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.align-milieu{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
}

/* SLIDER */
.slider{
    z-index: 1;
    margin: 0;
    height: 100%;
    width: 100%;
}

#bx_slider{
    list-style-type: none;
    margin: 0;
}

.bx-clone{
    display: none;
}

.slider .bx-viewport{
    position: relative;
    height: auto !important;
}

.bx-wrapper{
    box-shadow: none;
    border: none;
    margin-bottom: 0;
}

.bx-wrapper img{
    display:block;
    width: 100%;
}

.slider .slider-titre {
    position: absolute;
    z-index: 9999;
    top: 40%;
    width: 100%;  
	font-size: 2em;
}

.slider .slider-titre p{
    color: rgba(255, 255, 255, 1);
    font-size: 5em;
    line-height: 1;
    font-family: 'beyond-infinity';
    text-shadow: 0px 0px 9px #333;
}

.slider .slider-titre p span{
    font-size: .2em;
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
}

.slider-titre {
    visibility:hidden;
}

.slider-titre.active-slide,
.slider-text.active-slide {
    visibility: visible;
}

.bx-wrapper .bx-prev,
.bx-wrapper .bx-next{
    background: none;
    color: rgba(255,255,255,0.8);
    font-size: 40px;
    position: absolute;
    top: 40%;
}

.bx-wrapper .bx-next{
    right: 10px;
}
.bx-wrapper .bx-prev{
    left: 10px;
}

.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-next:hover{
    color: rgba(255,255,255,1);
}

.bx-wrapper .bx-controls-direction a{
    text-indent: 0;
}


/* FIL D'ARIANE */
.breadcumbs{
    list-style-type: none;
    margin-left: 0;
    display:inline-block;
}

.breadcumbs li{
    display: inline-block;
}

.breadcumbs li:after{
    content: "/";
    color: #333;
}

.breadcumbs li a{
    margin: 0 5px;
    color: #333;
    font-size: .875rem;
}

.breadcumbs li a:hover{
    color: #94c2dc;
}

.breadcumbs li.current:after{
    content: "";
}

/* HOVER */
.ih-item.square {
    width: auto;
    height: auto;
    border: none;
    box-shadow: none; 
}

.ih-item.square.effect6 .info .titre_ihover{
    background: transparent;
    font-weight: bold;
    font-size: 1rem;
    text-align: center;
}

.ih-item.square.effect6 .info{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background: rgba(33, 86, 112, .8);
    color: white;
    
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.ih-item.square.effect6 a:hover .info{
    opacity: 1;
    
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

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


/* ACCUEIL */
.desc_home .text{
    padding: 0 30px;
    z-index: 1;
    color: white !important;
}

.desc_home .fond_gris .text{
    color: #333 !important;
}

.listing{
    z-index: 1;
    position: relative;
}

.listing .titre h2{
    margin-bottom: 0;
}

.listing .titre p{
    font-size: 1.2rem;
}

.listing .text_list{
    background: #94c2dc;
    display: block;
    color: #333;
    padding: 10px 0;
}

.listing .a:hover .text_list{
    background: #215670;
    color: white;
    
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

/* DEFAUT */

.defaut p,
.detail_listing p{
    background: #dcdcdc;
    padding: 20px;
    margin-left: -100px;
    z-index: 1;
    position: relative;
    margin-bottom: 0;
}

.defaut.lightgallery a .text{
    color: white;
    font-size: 1.5rem;
}

.defaut .owl-nav{
    position: absolute;
    width: 100%;
    top: 45px;
    margin: 0;
}

.defaut .owl-nav [class*="owl-"]{
    background: transparent;
    font-size: 3rem;
    color: rgba(255, 255, 255, .5);
    position: absolute;
    margin: 0 5px;
}

.defaut .owl-nav [class*="owl-"]:hover{
    background: transparent;
    color: rgba(255, 255, 255, 1);
}

.defaut .owl-nav .owl-prev{
    left: 10px;
}

.defaut .owl-nav .owl-next{
    right: 40px;
}

.defaut .owl-dots{
    margin-top: 10px;
}

.defaut .owl-dots .owl-dot span{
    background: #dcdcdc;
}

.defaut .owl-dots .owl-dot.active span,
.defaut .owl-dots .owl-dot:hover span{
    background: #215670;
}

/* ALTERNANCE */
.alternance .texte{
    background: #dcdcdc;
    padding: 25px 20px 20px 20px;
    z-index: 5;
    position: relative;
    margin-bottom: 0;
}

.alternance h2{
    text-align: left;
}

.alternance1 .texte{
    margin-right: -100px;
}

.alternance2 .texte{
    margin-left: -100px;
}

.alternance .texte a.btn{
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: .875rem;
}

.alternance .image .prix,
.detail_listing .prix{
    position: absolute;
    top: 20px;
    right: 40px;
    border-radius: 50%;
    height: 100px;
    width: 100px;
    padding: 25px 10px;
    background: #94c2dc;
    line-height: 1.3;
    font-size: .875rem;
}

.alternance .image .prix b,
.detail_listing .prix b{
    font-size: 1.5rem;
}

.alternance2 .image .prix{
    left: 40px;
    right: auto;
}

/* DETAIL LISTING */
.detail_listing p{
    margin-left: 0;
    margin-right: -100px;
}

.fond_detail{
    background-image: url(../images/fond.jpg);
    background-size: cover;
    padding: 1px 0;
    margin: 50px 0 30px 0;
}

.fond_detail .owl-dots .owl-dot span{
    background: white;
}

.detail_listing table tr td.fond_couleur{
    background: #94c2dc;
}

.detail_listing table tr td.fond_gris{
    background: #dcdcdc;
}

.detail_listing table tr td.fond_blanc{
    background: white;
}

#datepicker_dispo .ui-datepicker-inline{
    margin: auto;
}

/* GALERIE */
#filtres .button-group{
    display: inline-block;
}

#filtres input{
    display: none;
}

#filtres .btn{
    font-size: 1rem;
    margin-bottom: 20px;
}

/* CONTACT */
.contact .infos{
    text-align: left;
    font-size: .875rem;
}
.contact .infos i{
    color: #94c2dc;
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.contact form input,
.contact form select,
.contact form textarea{
    background: rgba(255, 255, 255, .8);
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.contact form textarea:focus{
    background: rgba(255, 255, 255, 1);
}

#map_canvas{
    min-height: 400px;
}

/* FOOTER */
footer{
    background: #215670;
    padding: 50px 0;
    color: white;
}
.contact label a{
    color: #215670;
}

#logo_footer{
    max-width: 200px;
    width: auto;
}

footer .titre_footer{
    font-size: 1rem;
    margin-bottom: 10px;
    font-weight: bold;
}

footer #menu_footer{
    margin-left: 0;
}

footer #menu_footer li{
    list-style-type: none;
}

footer #menu_footer li a,
footer p{
    color: white;
    font-size: .8rem;
}

footer #menu_footer li a:hover{
    color: #94c2dc;
}

.copyright{
    color: #333;
    font-size: 0.8rem;
    padding: 10px 0;
}

.copyright p{
    margin-bottom: 0;
}

.copyright a{
    color: #333;
}

.mentions h1,
.mentions h2{
    margin-top: 20px;
    font-weight: bold;
    color: #215670;
}

.copyright a:hover,
.mentions h2,
.mentions a,
.contact label a:hover{
    color: #94c2dc;
}

.mentions h1,
.sitemap h2{
    color: #333;
}

.mentions hr{
    margin-left: 0;
}

.mentions i{
    color: #333;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

.sitemap h2 i{
    color: rgba(15, 14, 14, 1);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}


/* MEDIA QUERIES */
@media screen and (min-width:0em) and (max-width:64em){
    .slider .slider-titre {
        font-size: 1em;
        top: 30%;
    }
    .menu a{
        font-size: .875rem !important;
        padding: .7rem .3rem !important;
    }
    .menu li {
        padding: 0 6px;
    }
    .top-bar-left{
        padding: 0;
    }
    #logo_footer {
        max-width: 160px;
        width: auto;
    }
    .defaut.lightgallery a .text{
        font-size: .875rem;
    }
    #logo{
        padding: 30px 10px;
        top: -40px;
    }
    .align-vertical{
        position: relative;
        top: auto;
        transform: none;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
    }
    .desc_home .text{
        padding: 20px;
    }
    .texture{
        position: absolute;
        top: 0;
    }
    .alternance{
        -webkit-align-items: normal;
        -ms-flex-align: normal;
        align-items: normal;
    }
    .offre .fond{
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        min-width: auto;
    }
}

@media only screen and (max-width: 39em){
    #logo {
        max-width: 150px;
        top: -40px;
    }
    #logo_footer{
        margin-bottom: 20px;
        text-align: center;
    }
    .scrollToTop{
        bottom: 60px !important;
    }
    #share_btn{
        bottom: 110px !important;
    }
    #partage{
        width: 250px;
        margin-left: -125px;
    }
    #partage .titre{
        font-size: 1rem;
    }
    .slider .slider-titre {
        top: 50%;
    }
    .slider .slider-titre p {
        font-size: 1.5rem;
    }
    #rudr_instafeed .column{
        padding-left: 0 !important;
        padding-right: .7rem !important;
    }
    #map_canvas {
        height: 300px !important;
    }
    .menu li a{
        padding: 10px 0 !important;
    }
    .desc_home .text{
        padding: 20px;
    }
    h1{
        /* font-size: 3rem; */
        font-size: 2rem;
    }
    h3{
        font-size: 1rem;
    }
    .texture{
        display: none;
    }
    .defaut p, .detail_listing p,
    .alternance .texte{
        margin: 0;
    }
    .alternance{
        margin-top: 0 !important;
    }
}