/*
    Bonjour les Arcs.
 */

.xdsoft_datetimepicker{
    box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.506);
    background: white;
    border-bottom: 1px solid #BBBBBB;
    border-left: 1px solid #BBBBBB;
    border-right: 1px solid #BBBBBB;
    border-top: 1px solid #BBBBBB;
    color: #333333;
    padding: 8px;
    padding-left: 0px;
    padding-top: 2px;
    position: absolute;
    z-index: 9999;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display:none;
}

.xdsoft_datetimepicker iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 75px;
    height: 210px;
    background: transparent;
    border:none;
}
/*For IE8 or lower*/
.xdsoft_datetimepicker button {
    border:none !important;
}
.xdsoft_noselect{
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
.xdsoft_noselect::selection { background: transparent; }
.xdsoft_noselect::-moz-selection { background: transparent; }
.xdsoft_datetimepicker.xdsoft_inline{
    display: inline-block;
    position: static;
    box-shadow: none;
}
.xdsoft_datetimepicker *{
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding:0px;
    margin:0px;
}
.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker  .xdsoft_timepicker{
    display:none;
}
.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker  .xdsoft_timepicker.active{
    display:block;
}
.xdsoft_datetimepicker .xdsoft_datepicker{
    width: 224px;
    float:left;
    margin-left:8px;
}
.xdsoft_datetimepicker  .xdsoft_timepicker{
    width: 58px;
    float:left;
    text-align:center;
    margin-left:8px;
    margin-top:0px;
}
.xdsoft_datetimepicker  .xdsoft_datepicker.active+.xdsoft_timepicker{
    margin-top:8px;
    margin-bottom:3px
}
.xdsoft_datetimepicker  .xdsoft_mounthpicker{
    position: relative;
    text-align: center;
}
.xdsoft_datetimepicker  .xdsoft_prev, .xdsoft_datetimepicker  .xdsoft_next,.xdsoft_datetimepicker  .xdsoft_today_button{
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAeCAYAAACsYQl4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozQjRCQjRGREU4MkNFMzExQjRDQkIyRDJDOTdBRUI1MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCQjg0OUYyNTZDODAxMUUzQjMwM0IwMERBNUU0ODQ5NSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCQjg0OUYyNDZDODAxMUUzQjMwM0IwMERBNUU0ODQ5NSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI5NzE3MjFBN0E2Q0UzMTFBQjJEQjgzMDk5RTNBNTdBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNCNEJCNEZERTgyQ0UzMTFCNENCQjJEMkM5N0FFQjUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+aQvATgAAAfVJREFUeNrsmr1OwzAQxzGtkPjYEAuvVGAvfQIGRKADE49gdLwDDwBiZ2RhQUKwICQkWLsgFiRQuIBTucFJ/XFp4+hO+quqnZ4uvzj2nV2RpukCW/22yAgYNINmc7du7DcghCjrkqgOKjF1znpt6rZ0AGWQj7TvCU8d9UM+QAGDrhdyc2Bnc1WVVPBev9V8lBnY+rDwncWZThG4xk4lmxtJy2AHgoY/FySgbSBPwPZ8mEXbQx3aDERb0EbYAYFC7pcAtAvkMWwC0D3NX58S9D/YnoGC7nPWr3Dg9JTbtuHhDShBT8D2CBSK/iIEvVXxpuxSgh7DdgwUTL4iA92zmJb6lKB/YTsECmV+IgK947AGDIqgQ/LojsO135Hn51l2cWlov0JdGNrPUceueXRwilSVgkUyom9Rd6gbLfYTDeO+1v6orn0InTogYDGUkYLO3/wc9BdqqTCKP1Tfi+oTIaCBIL2TES+GTyruT9S61p6BHam+99DFEAgLFklYsIBHwSI9QY80H5ta+1rB/6ovaKihBJeEJbgLbBlQgl+j3lDPqA2tfQV1j3pVn8s+oKHGTSVJ+FqDLeR5bCqJ2E/BCycsoLZETXaKGs7rhKVt+9HZScrZNMi88V8P7LlDbvOZYaJVpMMmBCT4n0o8dTBoNgbdWPsRYACs3r7XyNfbnAAAAABJRU5ErkJggg==');
}
.xdsoft_datetimepicker  .xdsoft_prev{
    float: left;
    background-position:-20px 0px;
}
.xdsoft_datetimepicker  .xdsoft_today_button{
    float: left;
    background-position:-70px 0px;
    margin-left:5px;
}
.xdsoft_datetimepicker  .xdsoft_next{
    float: right;
    background-position:0px 0px;
}
.xdsoft_datetimepicker  .xdsoft_next:active,.xdsoft_datetimepicker  .xdsoft_prev:active{
}
.xdsoft_datetimepicker  .xdsoft_next,.xdsoft_datetimepicker  .xdsoft_prev ,.xdsoft_datetimepicker  .xdsoft_today_button{
    background-color: transparent;
    background-repeat: no-repeat;
    border: 0px none currentColor;
    cursor: pointer;
    display: block;
    height: 30px;
    opacity: 0.5;
    outline: medium none currentColor;
    overflow: hidden;
    padding: 0px;
    position: relative;
    text-indent: 100%;
    white-space: nowrap;
    width: 20px;
}
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_prev,
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_next{
    float:none;
    background-position:-40px -15px;
    height: 15px;
    width: 30px;
    display: block;
    margin-left:14px;
    margin-top:7px;
}
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_prev{
    background-position:-40px 0px;
    margin-bottom:7px;
    margin-top:0px;
}
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_time_box{
    height:151px;
    overflow:hidden;
    border-bottom:1px solid #EEEEEE;
}
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_time_box >div >div{
    background: white;
    border-top:1px solid #EEEEEE;
    color: #444444;
    font-size: 12px;
    text-align: center;
    border-collapse:collapse;
    cursor:pointer;
    border-bottom-width:0px;
    height:25px;
    line-height:25px;
}
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_time_box >div > div:first-child{
    border-top-width:0px;
}
.xdsoft_datetimepicker  .xdsoft_today_button:hover,
.xdsoft_datetimepicker  .xdsoft_next:hover,
.xdsoft_datetimepicker  .xdsoft_prev:hover {
    opacity: 1;
}
.xdsoft_datetimepicker  .xdsoft_label{
    display: inline;
    position: relative;
    z-index: 9999;
    margin: 0;
    padding: 5px 3px;
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    background-color: #fff;
    float:left;
    width:182px;
    text-align:center;
    cursor:pointer;
}
.xdsoft_datetimepicker  .xdsoft_label:hover{
    text-decoration:underline;
}
.xdsoft_datetimepicker  .xdsoft_label > .xdsoft_select{
    border:1px solid #ccc;
    position:absolute;
    right:0px;
    top:30px;
    z-index:101;
    display:none;
    background:#fff;
    max-height:160px;
    overflow-y:hidden;
}
.xdsoft_datetimepicker  .xdsoft_label > .xdsoft_select.xdsoft_monthselect{right:-7px;}
.xdsoft_datetimepicker  .xdsoft_label > .xdsoft_select.xdsoft_yearselect{right:2px;}
.xdsoft_datetimepicker  .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover{
    color: #fff;
    background: #A94442;
}
.xdsoft_datetimepicker  .xdsoft_label > .xdsoft_select > div > .xdsoft_option{
    padding:2px 10px 2px 5px;
}
.xdsoft_datetimepicker  .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current{
    background: #1E5799;
    box-shadow: #1E5799 0px 1px 3px 0px inset;
    color:#fff;
    font-weight: 700;
}
.xdsoft_datetimepicker  .xdsoft_month{
    width:90px;
    text-align:right;
}
.xdsoft_datetimepicker  .xdsoft_calendar{
    clear:both;
}
.xdsoft_datetimepicker  .xdsoft_year{
    width:56px;
}
.xdsoft_datetimepicker  .xdsoft_calendar table{
    border-collapse:collapse;
    width:100%;
}
.xdsoft_datetimepicker  .xdsoft_calendar td > div{
    padding-right:5px;
}
.xdsoft_datetimepicker  .xdsoft_calendar th{
    height: 25px;
}
.xdsoft_datetimepicker  .xdsoft_calendar td,.xdsoft_datetimepicker  .xdsoft_calendar th{
    width:14.2857142%;
    background: #F5F5F5;
    border:1px solid #DDDDDD;
    color: #666666;
    font-size: 12px;
    text-align: right;
    padding:0px;
    border-collapse:collapse;
    cursor:pointer;
    height: 25px;
}
.xdsoft_datetimepicker  .xdsoft_calendar th{
    background: #F1F1F1;
}
.xdsoft_datetimepicker  .xdsoft_calendar td.xdsoft_today{
    color:#1E5799;
}
.xdsoft_datetimepicker  .xdsoft_calendar td.xdsoft_default,
.xdsoft_datetimepicker  .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current{
    background: #1E5799;
    box-shadow: #1E5799 0px 1px 3px 0px inset;
    color:#fff;
    font-weight: 700;
}
.xdsoft_datetimepicker  .xdsoft_calendar td.xdsoft_other_month,
.xdsoft_datetimepicker  .xdsoft_calendar td.xdsoft_disabled,
.xdsoft_datetimepicker  .xdsoft_time_box >div >div.xdsoft_disabled{
    opacity:0.5;
}
.xdsoft_datetimepicker  .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{
    opacity:0.2;
}
.xdsoft_datetimepicker  .xdsoft_calendar td:hover,
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_time_box >div >div:hover{
    color: #fff !important;
    background: #A94442 !important;
    box-shadow: none !important;
}
.xdsoft_datetimepicker  .xdsoft_calendar td.xdsoft_disabled:hover,
.xdsoft_datetimepicker  .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover{
    color: inherit	!important;
    background: inherit !important;
    box-shadow: inherit !important;
}
.xdsoft_datetimepicker  .xdsoft_calendar th{
    font-weight: 700;
    text-align: center;
    color: #999;
    cursor:default;
}
.xdsoft_datetimepicker  .xdsoft_copyright{ color:#ccc !important; font-size:10px;clear:both;float:none;margin-left:8px;}
.xdsoft_datetimepicker  .xdsoft_copyright a{ color:#eee !important;}
.xdsoft_datetimepicker  .xdsoft_copyright a:hover{ color:#aaa !important;}
.xdsoft_time_box{
    position:relative;
    border:1px solid #ccc;
}
.xdsoft_scrollbar >.xdsoft_scroller{
    background:#ccc !important;
    height:20px;
    border-radius:3px;
}
.xdsoft_scrollbar{
    position:absolute;
    width:7px;
    right:0px;
    top:0px;
    bottom:0px;
    cursor:pointer;
}
.xdsoft_scroller_box{
    position:relative;
}
input[type="file"],
input[type="time"] {
    background: #fff;
    display: inline-block;
    height: 45px;
    padding: 0 20px;
    font-family:  'tt_commons_medium', Arial, sans-serif;
    box-sizing: border-box;
}
form .td_droite input[type="file"] {
    width: 100%;
    border-radius: 4px;
    font-size: 1.8em;
}

form .td_droite input[type="time"] {
    width: 100%;
    border: 1px solid #CCC;
    box-sizing: border-box;
    border-radius: 4px;
    background: #F4F4F4;
    font-size: 2em;
}
@media (max-width: 767.99px) {
    .header .top_right {
        margin-right: 10px;
    }
}



/* SURCHARGE ALTIMAX */

.header .reservation .infos.actif-trans {
    overflow: visible;
    padding: 5px 18px 15px 18px;
    height:auto;
    transition: height.3s linear !important;
}

.Search-date input {
    font-size: 1.6rem !important;
}
#sejour .edd-select {
    font-size: 1.8rem !important;
    padding: 5px !important;
}

/* SURCHARGE ALTIMAX DESKTOP */
#tab-resa-sejour .Search-wrapper--sejour {
    padding:0;
}

#tab-resa-sejour .Search-wrapper.sejour .Search-date,
#tab-resa-sejour .Search-wrapper.sejour .Search-personCount,
#tab-resa-sejour .Search-wrapper.sejour .Search-place {
    margin-top: .5rem;
}

#tab-resa-sejour .SearchWidget .Search-housing {
    margin-top:0;
}
#tab-resa-sejour .SearchWidget .Search-date input::placeholder,
#tab-resa-sejour .Search-place--name,
#tab-resa-sejour .Search .edd-option,
#tab-resa-sejour .Search .edd-value {
    font-size: 1.6rem;
}

#tab-resa-sejour .SearchWidget .Search-date input::placeholder {
    font-size: 1.6rem;
}

#menu_mobile.nav-v2 .overflow .nav__list .nav-item .group-list .nav-item-n2 .drop-link {
    font-weight: 500;
}

@media screen and (max-width: 1024px) {
    .header .header_top_mobile select.languageSelect {
        font-size: 20px;
    }
}

@media screen and (max-width: 640px) {

    .datepicker {
        padding: 0 2rem 0 2rem !important;
    }

    .datepicker--cell {
        font-size: 1.5rem !important;
    }

    .datepickers-container {
        position: absolute;
        left: 0;
        top: 180px !important;
    }
}

/* ==========================================================================

 Cycle

 ==========================================================================



/* set border-box so that percents can be used for width, padding, etc (personal preference) */

.cycle-slideshow,
.cycle-slideshow * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
}

.cycle-slideshow {
    position: relative;
    overflow: hidden;
    margin: 0px auto;
    padding: 0;
}



/* slideshow images (for most of the demos, these are the actual "slides") */

.cycle-slideshow .cycle-item {
    /*
      some of these styles will be set by the plugin (by default) but setting them here
      helps avoid flash-of-unstyled-content
      */
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0;
}

.cycle-news {
    width: 100%;
    max-width: 295px;
    height: 303px !important;
    margin-top: 0;
}

.cycle-news .cycle-item {
    height: 110px;
}

.cycle-news .cycle-item .itemAgenda:hover p {
    -webkit-transition: color .2s ease-out;
    -moz-transition: color .2s ease-out;
    -ms-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out;
    color: #ff6858;
}

.cycle-prev,
.cycle-next {
    position: absolute;
    top: 0;
    width: 10%;
    /* z-index: 800; */
    height: 100%;
    cursor: pointer;
    opacity: 0;


    filter: alpha(opacity=0);
}

.cycle-prev {
    left: 0;
    background: url(../img/cycle-nav-prev.png) center center no-repeat;
}

.cycle-next {
    right: 0;
    background: url(../img/cycle-nav-next.png) center center no-repeat;
}

.cycle-prev:hover,
.cycle-next:hover {
    opacity: .7;

    filter: alpha(opacity=70);
}


.cycle-slideshow .cycle-item img {
    width: 100%;
    max-width: -moz-min-content;
    max-height: 303px;
}

/* pager */
.cycle-pager {
    text-align: center; width: 100%; z-index: 2; position: absolute; bottom: 5px; overflow: hidden;
}
.cycle-pager span {
    font-family: arial; font-size: 50px; width: 16px; height: 16px;
    display: inline-block; color: #FFFFFF; cursor: pointer;
}
.cycle-pager span.cycle-pager-active { color: #7DC0A8;}
.cycle-pager > * { cursor: pointer;}

.wrap-section {
    max-width: 1280px;
    margin: 0 auto;
}

.section-template-banners {
    position: relative;
    padding: 60px 0;
}

@media (max-width: 640px) {
    .section-template-banners {
        padding: 0;
    }
}

.banners-event-wrapper {
    position:relative;
    padding: 80px 0;
    margin-bottom: 80px;
}

.banners-events-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom:0;
    left: 0;
    background-color: #002B56;
    transform: skewY(-4deg);
    z-index: -400;
}

.banners-event-wrapper .wrap-section-title {
    color:white;
}

.banners-event-wrapper .wrap-section-title:after {
    background:white;
}

.banners-accueil {
    display: grid;
    grid-template-columns: repeat(33, minmax(0, 1fr));
    grid-auto-rows: clamp(240px, 46vh, 21vw);
    grid-gap: 1vw;
}

.block-banners-accueil {
    grid-column: span 9;
    position: relative;

}

.block-banners-accueil.block-banners-five,
.block-banners-accueil.block-banners-one {
    grid-column: span 15;
}

.block-banners-accueil.block-banners-four {
    grid-column: span 18;
}




.block-banners-bonsplans {
    grid-column: span 9;
    position: relative;
}
.block-banners-bonsplans.block-banners-one {
    grid-column: span 18;
}
.block-banners-bonsplans.block-banners-two {
    grid-column: span 15;
}
.block-banners-bonsplans.block-banners-three {
    grid-column: span 15;
}
.block-banners-bonsplans.block-banners-four {
    grid-column: span 9;
}
.block-banners-bonsplans.block-banners-five {
    grid-column: span 9;
}
.block-banners-bonsplans.block-banners-six {
    grid-column: span 33;
}


.banners-event {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: clamp(300px, 46vh, 24vw);
    grid-gap: 5vw;
}

.block-banners-event {
    grid-column: span 1;
    position: relative;

}

.banners-blog {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: clamp(300px, 39vh, 21vw);
    grid-gap: 2vw;
}

.block-banners-blog {
    grid-column: span 1;
    position: relative;

}


.block-banners-figure {
    margin: 0;
    bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}
.block-banners-figure img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    display: block;
}

.block-banners-figure img.object-fit-contain {
    object-fit: contain;
}

.block-banners .overall_slide .square45 {
    position: absolute;
    left:  -2vw;
    bottom: -1.7vw;
    width: 13vw;
    height:13vw;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color: rgba(0,43,86,.66);
}

.block-banners .overall_slide .overall_slide_wrapper {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    padding: 0 0 2vw 1.2vw;
}

.block-banners .overall_slide .overall_slide_wrapper--smallmargin {
    padding: 0 0 0 1.2vw;
}

.block-banners .overall_slide .overall_slide_texte {
    display: block;
    color: #fff;
    font-size: 2vw;
    font-weight: 400;
    margin: 0;
    font-family: hackney,Arial,sans-serif;
    overflow: hidden;
    text-align: left;
    max-width: 12vw;
    line-height: 2.2vw;
}

.block-banners .overall_slide .overall_slide_soustitre {
    color:white;
}
.block-banners .overall_slide .overall_slide_accroche {
    color:white;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s linear;
    height: 0;
    margin:0;
}

.block-banners .overall_slide .overall_slide_texte:after {
    content: "";
    height: 6px;
    width: 35px;
    display: block;
    margin: 0.8vw 0 0 0;
    background: #002b56;
}

.block-banners .overall_slide.bleuf .square45 {
    background-color: rgba(0,43,86, 0.66);
}
.block-banners .overall_slide.bleuf .overall_slide_texte:after {
    background:#8DBEE8;
}
.block-banners .overall_slide.bleuc .square45 {
    background-color: rgba(141,190,231, 0.66);
}
.block-banners .overall_slide.bleuc .overall_slide_texte:after {
    background:#E95F53;
}
.block-banners .overall_slide.bleucanard .square45 {
    background-color: rgba(0,153,167, 0.66);
}
.block-banners .overall_slide.bleucanard .overall_slide_texte:after {
    background:#F3D800;
}
.block-banners .overall_slide.vertc .square45 {
    background-color: rgba(124,192,167, 0.66);
}
.block-banners .overall_slide.vertf .overall_slide_texte:after {
    background:#F3D800;
}
.block-banners .overall_slide.vertf .square45 {
    background-color: rgba(22,101,98, 0.66);
}
.block-banners .overall_slide.vertf .overall_slide_texte:after {
    background:#F3D800;
}
.block-banners .overall_slide.orange .square45 {
    background-color: rgba(233,95,84, 0.66);
}
.block-banners .overall_slide.gris .square45 {
    background-color: rgba(244,244,244, 0.66);
}
.block-banners .overall_slide.jaune .square45 {
    background-color: rgba(242,216,0, 0.66);
}
.block-banners .overall_slide.violet .square45 {
    background-color: rgba(77,29,79, 0.66);
}
.block-banners .overall_slide.violet .overall_slide_texte:after {
    background:#8DBEE8;
}

.block-banners .block-banners-link {
    display: block;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.block-banners .block-banners-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #002b56;
    transform: rotate(0);
    transition: all .3s ease;
    z-index: 0;
}

.block-banners .block-banners-background.bleuc {
    background-color: rgba(141,190,231,1);
}
.block-banners .block-banners-background.bleucanard {
    background-color: rgba(0,153,167, 1);
}
.block-banners .block-banners-background.vertc {
    background-color: rgba(124,192,167, 1);
}
.block-banners .block-banners-background.vertf {
    background-color: rgba(22,101,98, 1);
}
.block-banners .block-banners-background.orange {
    background-color: rgba(233,95,84, 1);
}
.block-banners .block-banners-background.gris {
    background-color: rgba(244,244,244, 1);
}
.block-banners .block-banners-background.jaune {
    background-color: rgba(242,216,0, 1);
}
.block-banners .block-banners-background.violet {
    background-color: rgba(77,29,79, 1);
}

.block-banners .block-banners-link:hover + .block-banners-background {
    transition: all .3s ease;
    transform: rotate(-3deg);
}
.block-banners.block-banners-one .block-banners-link:hover + .block-banners-background,
.block-banners.block-banners-four .block-banners-link:hover + .block-banners-background,
.block-banners.block-banners-five .block-banners-link:hover + .block-banners-background {
    transition: all .3s ease;
    transform: rotate(-2deg);
}

.block-banners .block-banners-link.block-banners-link-hasaccroche:hover .overall_slide .square45 {
    transform: rotate(0);
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.block-banners .block-banners-link.block-banners-link-hasaccroche:hover .overall_slide_accroche {
    visibility: visible;
    opacity: 1;
    height: auto;
    margin-top:10px;
}

.block-banners-blog .overall_slide .square45 {
    position: absolute;
    left: -2.8vw;
    bottom: -2.7vw;
    width: 19vw;
    height: 19vw;
    background: rgb(0,43,86) !important;
    background: linear-gradient(90deg, rgba(0,43,86,1) 0%, rgba(0,43,86,0.2553396358543417) 100%) !important;

}

.block-banners-blog .overall_slide .overall_slide_texte {
    font-family: tt_commons_bold, Arial, sans-serif;
    font-size: 1.36vw;
    line-height: 1.3vw;
    max-width: 14vw;
}

.block-banners-blog .overall_slide .overall_slide_texte:after,
.block-banners-blog .overall_slide.vertc .overall_slide_texte:after  {
    background-color: rgba(124,192,167, 1);
}

.block-banners-blog .overall_slide.bleuc .overall_slide_texte:after {
    background-color: rgba(141,190,231,1);
}
.block-banners-blog .overall_slide.bleucanard .overall_slide_texte:after {
    background-color: rgba(0,153,167, 1);
}

.block-banners-blog .overall_slide.vertf .overall_slide_texte:after  {
    background-color: rgba(22,101,98, 1);
}
.block-banners-blog .overall_slide.orange .overall_slide_texte:after  {
    background-color: rgba(233,95,84, 1);
}
.block-banners-blog .overall_slide.gris .overall_slide_texte:after  {
    background-color: rgba(244,244,244, 1);
}
.block-banners-blog .overall_slide.jaune .overall_slide_texte:after  {
    background-color: rgba(242,216,0, 1);
}
.block-banners-blog .overall_slide.violet .overall_slide_texte:after  {
    background-color: rgba(77,29,79, 1);
}
.block-banners-blog .overall_slide .overall_slide_soustitre,
.block-banners-blog .overall_slide.vertc .overall_slide_soustitre  {
    color: rgba(124,192,167, 1);
}
.block-banners-blog .overall_slide.bleuc .overall_slide_soustitre {
    color: rgba(141,190,231,1);
}
.block-banners-blog .overall_slide.bleucanard .overall_slide_soustitre {
    color: rgba(0,153,167, 1);
}

.block-banners-blog .overall_slide.vertf .overall_slide_soustitre  {
    color: rgba(22,101,98, 1);
}
.block-banners-blog .overall_slide.orange .overall_slide_soustitre  {
    color: rgba(233,95,84, 1);
}
.block-banners-blog .overall_slide.gris .overall_slide_soustitre  {
    color: rgba(244,244,244, 1);
}
.block-banners-blog .overall_slide.jaune .overall_slide_soustitre  {
    color: rgba(242,216,0, 1);
}
.block-banners-blog .overall_slide.violet .overall_slide_soustitre  {
    color: rgba(77,29,79, 1);
}

.block-banners-blog .overall_slide .overall_slide_accroche_blog {
    color:white;
    font-size: 1.6rem;
    line-height: 1.8rem;
    max-width: 14vw;
}

.section-template-banners-more {
    text-align: center;
    margin: 80px 0 !important;
}

.swiper-pagination {
    display: none;
}
@media (max-width: 1280px) {
    .block-banners.block-banners-blog .overall_slide .square45 {
        transform: rotate(0);
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
    }
    .block-banners.block-banners-blog .overall_slide {
        position: absolute;
        z-index: 1;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .block-banners.block-banners-blog .overall_slide .overall_slide_texte {
        font-size: 3.2vw;
        max-width: none;
        line-height: 3.2vw;
    }

    .block-banners.block-banners-blog .overall_slide .overall_slide_wrapper--smallmargin {
        padding: 0 1.2vw;
    }

    .block-banners.block-banners-blog .overall_slide .overall_slide_accroche_blog {
        max-width: none;
    }
}

@media (max-width: 780px) {
    .banners-blog {
        display: block;
    }

    .banners-accueil {
        display: flex;
        grid-template-columns: none;
        grid-auto-rows: auto;
        grid-gap: unset;
    }
    .swiper-container {
        position:relative;
    }
    .block-banners .block-banners-link {
        position:relative;
    }
    .block-banners-figure {
        position:relative;
        z-index: 1;
    }
    .banners-horizontal .block-banners-figure img,
    .banners-horizontal .block-banners-figure {
        max-height: 55.5vw;
    }
    .block-banners-background {
        display: none;
    }
    .block-banners .overall_slide {
        position: absolute;
        z-index: 1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .block-banners .overall_slide .square45 {
        bottom: -11vw;
        width: 47vw;
        height: 47vw;
    }
    .block-banners .overall_slide .overall_slide_texte {
        font-size: 8vw;
        max-width: 43vw;
        line-height: 8vw;
    }
    .block-banners .overall_slide .overall_slide_wrapper--smallmargin {
        padding: 0 0 0 3vw;
    }

    .section-template-banners .swiper-pagination {
        bottom: -40px;
        display: block;
    }

    .section-template-banners .swiper-pagination-bullet {
        width: 16px;
        height: 16px;
    }

    .section-template-banners .swiper-pagination-bullet-active {
        background-color: #002B56;
    }

    .section-template-banners {
        padding: 0;
        overflow: hidden;
    }

    .banners-event {
        display: flex;
        grid-template-columns: none;
        grid-auto-rows: auto;
        grid-gap: unset;
    }

    .section-template-banners-events .swiper-pagination-bullet {
        background-color: #73889d;
    }

    .section-template-banners-events .swiper-pagination-bullet-active {
        background-color: #adb3ba;
    }

    .block-banners-blog {
        margin-bottom: 20px;
        height: 300px;
        overflow: hidden;
    }
    .block-banners-blog .block-banners-link,
    .block-banners-blog .block-banners-figure {

        position: absolute;
    }

    .block-banners.block-banners-blog .overall_slide .overall_slide_texte {
        font-size: 6.5vw;
        max-width: none;
        line-height: 6vw;
    }

    .block-banners.block-banners-blog .overall_slide .overall_slide_accroche_blog {
        max-width: none;
    }

    .block-banners.block-banners-blog .overall_slide .overall_slide_wrapper--smallmargin {
        padding: 0  3vw;
    }
}

.abtbtn {
    display: inline-flex;
    background-color: #002B56;
    color:white !important;
    padding: 10px 20px;
}
.abtbtn b {
    font-size: 2rem !important;
    color: #8DBEE8 !important;
}
.abtbtn .tab-more {
    transition: all .3s ease;
   margin-left: 28px;
}

.abtbtn:hover .tab-more {
    margin-left: 34px;
}

.banners-event-wrapper .abtbtn {
    background-color: #8DBEE8;
}

.banners-event-wrapper .abtbtn b {
    color: #002B56 !important;
}


.background-text {
    position: absolute;
    left: 0;
    bottom: -200px;
    font-family: hackney,Arial,sans-serif;
    text-transform: uppercase;
    opacity: 0.14;
    color:#002B56;
    font-size: 15vw;
    text-align: right;
    line-height: 12vw;
    z-index: -200;
}


.banners-event-wrapper .background-text {
    color: #7DC0A8;
}

.a-propos {
    margin-top: 40px;
    position:relative;
    background: url('/fileadmin/template/images/back_apropos.jpg');
    background-size:cover;
    background-repeat: no-repeat;
}

.a-propos-overlay {
    position:absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #7DC0A8;
    opacity: 0.24;
    z-index: 0;
}

.a-propos-section {
    z-index: 1;
    margin: 60px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap:10rem;
    flex-wrap: wrap;
}

.a-propos-section .wrap-section-title {
    margin:0
}

body.page footer {
    margin-top: 0;
}

.a-propos-more span {
    line-height: 2rem;
}

.a-propos-more .abtbtn b {
    color:#7DC0A8 !important;
}

.a-propos-more .abtbtn .tab-more {
    margin-left: 75px;
}

.a-propos-more .abtbtn:hover .tab-more {
    margin-left: 80px;
}

/*
  Header Mobile
 */

.header_top_mobile_container_menu {
    display:flex;
    justify-content: space-between;
    align-items: center;
    padding: 2px 25px;
}
.header_top_mobile_container_menu .logo {
    color: white;
    width: 94px;
}

.header_top_mobile_calltos {
    display:flex;
    justify-content: space-between;
    align-items: center;
}

.header_top_mobile_calltos .btn_menu {
    position: relative;
    padding:0;
    top: auto !important;
    left: auto;
}



.header_top_mobile_calltos .chercher {
    color: white;
    font-size: 3rem;
    vertical-align: middle;
    padding-right: 5px;
    line-height: 0.5rem;
}

.header_top_mobile_calltos .live_desktop_lien>a {
    border-radius: 2px;
    padding: 5px 10px 0;
    display:block;
    margin: 0 25px;
    color: #fff;
    font-family: tt_commons_bold,Arial,sans-serif;
    font-size: 2em;
    border: 1px solid #fff;
}

.header_top_mobile_calltos .live_desktop_lien>a .on-air {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    display: inline-block;
    background: #e73b2b;
    margin-left: 6px;
}

.header_top_mobile_calltos .picto_menu:after,
.header_top_mobile_calltos .picto_menu:before,
.header_top_mobile_calltos .picto_menu span {
    background: white;
    height: 4px;
    margin-bottom: 8px;
    width: 36px;
}

.header_top_mobile_calltos .picto_menu:after {
    margin-bottom: 0
}

@media screen and (min-width: 1025px) {
    .header  .header_top_mobile_container_menu {
        display: none;
    }
}
@media screen and (max-width: 1024px) {
    .header  .header_top_mobile {
        display: none;
    }
}



@media screen and (max-width: 550px) {
    .contenu .reservation_mobile a {
        display: block;
        width: 50%;
        padding: 15px 10px;
        font-size: 2rem;
        line-height: 2rem;
    }
    .contenu .reservation_mobile a span {
        font-size: 2.1rem;
    }
    .a-propos-section {
        flex-direction: column;
        margin: 30px 0;
        gap: 2rem;
    }
}

@media screen and (max-width: 440px) {
    #lienexterne_mobile_forfaits_offre span {
        font-size: 1.6rem;
    }
}

/* APIDAE */

.block-newage-date {
    display: block;
    padding: 15px;
}

.block-newage-date .contenu_block {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #7dc0a8;
    min-height: 485px;
    color:white;
}

.block-newage {
    display: block;
    padding: 15px;
}

.block-newage-wrapper {
    position: relative;
    background-color: #F4F4F4;
}
.block-newage .cover {
    position: relative;
}

.capacite_block {
    position: absolute;
    right: 0;
    bottom: -20px;
    background-color: #8DBEE8;
    color:#002b56;
    font-size: 2.4rem;
    padding: 5px 10px;
}

.capacite_block span {
    font-size: 3rem;
}

.block-newage .cover img {
    width: 100%;
    height: auto;
    object-fit: cover;
}


.block-newage .contenu_block {
    padding: 5px 25px;
    min-height: 200px;
}
.block-newage .contenu_block.contenu_block_distance {
    min-height: 240px;
}


.block-newage .contenu_block .date {
    font-size: 2rem;
}

.block-newage .contenu_block .title_block {
    color: #002b56;
    margin: 0;
    min-width: 240px;
}

.block-newage .contenu_block .type_block  {
    margin-top: 2px;
    font-size: 1.8rem;
    font-family: 'tt_commons_light', Arial, sans-serif;
}

.block-newage  .contenu_block .destination_block {
    position: absolute;
    right: 25px;
    bottom: 15px;
    font-family: 'tt_commons_bold', Arial, sans-serif;
    color: #a1b0be;
    font-size: 1.9rem;
}

.list-itineraire {
    font-size: .875rem;
    font-family: 'tt_commons_light', Arial, sans-serif;
    margin-bottom: 50px !important;
}

.btn-mobile-carte-itineraires {
    border: 0;
    background: #ef7767;
    -webkit-box-shadow: 0 0 10px 0 rgb(0 0 0 / 12%);
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 12%);
    padding: 20px 20px;
    font-size: 2.4em;
    color: #fff !important;
    width: 100%;
    display: flex;
    cursor: pointer;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: none;
    line-height: inherit;
    display: none;
}



.btn-mobile-carte-itineraires b {
    color: #002b56;
}

.leaflet-popup .list-itineraire {
    margin: 10px 0 !important;
}

.list-itineraire li {
    display: flex;
    align-items: baseline;
    line-height: 1.2em !important;
}

.list-itineraire li span {
    display: block;
}

.icon-listing-itineraire {
    font-size: 1.54rem;
    display: block;
    margin-right: 8px;
}

.block-newage  .contenu_block .itineraire_boucle_block {
    position: absolute;
    right: 25px;
    bottom: 45px;
}

.block-newage-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #7DC0A8;
    transform: rotate(0);
    transition: all .3s ease;
    z-index: -1;
}

.block-newage:hover .block-newage-background {
    transition: all .3s ease;
    transform: rotate(-3deg);
}

.fiche_modale {
    position: fixed;
    top:2500px;
    right:0;
    bottom:0;
    left:0;
    background:rgba(244, 244, 244, 0.96);
    z-index: 999;
    transition:all 0.3s ease;
    overflow: auto;
}
.fiche_modale_inner {
    position: relative;
    max-width:930px;
    margin:0 auto;
    width: 100%;
    padding: 60px 15px;
}

.fiche_modale.actif,
.fiche_modale.actif .fiche_modale_inner
{
    top:0;
}

.fiche_modale_inner h1 {
    text-align: left;
    margin: 0;
    font-size: 2.6rem;
}

.fiche_modale_inner h2 {
    font-size: 2.2rem;
    margin-top: 40px;
}

.fiche_modale_inner h2:after {
    content: "";
    height: 4px;
    width: 27px;
    display: block;
    background: #002b56;
}

.fiche_modale_inner .close_reservation {
    position: absolute;
    top: 50px;
    right: 0;
    cursor: pointer;
    color: #e95f53;
    font-size: 4rem;
    z-index: 5;
}

.fiche_modale_localisation {
    display:table;
}

.flex_bloc {
    display: flex;
    flex-direction: row;
    justify-content: center;
    max-width: 100%;
    margin: auto;
    flex-wrap: wrap;
    border-top: 1px solid #7DC0A8;
}

.fiche_modale_localisation .booking_info {
    display: flex;
    flex-direction: column;
    flex: 1 1 300px;
    padding: 0.5em;
    line-height: 2.2rem;
    justify-content: center;
    border-bottom: 1px solid #7DC0A8;
    border-right: 1px solid #7DC0A8;
    margin: 0;
    font-size: 1.8rem;
}
.fiche_modale_localisation .booking_info:last-child,
.fiche_modale_localisation .booking_info:nth-child(3n) {
    border-right:0;
}

.fiche_modale_localisation .booking_info .btn {
    font-size: 1.8rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #e95f53;
    color:white;
    padding: 15px 20px;
    text-transform: inherit;
    font-family: tt_commons_medium,Arial,sans-serif!important;
}

.fiche_modale_localisation .booking_info a {
    font-family: tt_commons_bold,Arial,sans-serif;
}

.fiche_modale_localisation .booking_info .btn:hover {
    color: white;
}

.fiche_carousel {
    width: 100%;
    margin: 20px 0;
}

.fiche_carousel .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.fiche_carousel .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fiche_carousel .swiper-pagination {
    display: block;
    bottom: 20px;
}

.fiche_carousel  .swiper-pagination-bullet {
    width: 13px;
    height: 13px;
}

.fiche_carousel .swiper-pagination-bullet-active {
    background: white;
}

.wrapper_caracteristiques {
    position: relative;
    background-color: #8dbee8;
    margin: 60px 0 0 0;
}
.wrapper_caracteristiques_background {
    position: absolute;
    top: -55px;
    right: 0;
    bottom: 50%;
    left: 0;
    background-color: #8dbee8;
    transform: skewY(-3deg);
    z-index: -400;
}

.wrapper_caracteristiques .fiche_modale_inner {
    padding: 20px 15px 80px 15px;
}

.caracteristiques_item {
    border-top: 1px solid white;
}
.caracteristiques_item_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.caracteristiques_item_head h3 {
    font-size: 2.2rem;
    margin: 15px 10px;
    color: #002b56;
}

.caracteristiques_item_head .icon-fleche_top {
    font-size: 2.2rem;
    color: white;
    display: flex;
}
.caracteristiques_item_head .icon-fleche_top:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.caracteristiques_item_head.actif .icon-fleche_top:before {
    -webkit-transform: rotate(0);
    transform: rotate(0);
}

.caracteristiques_item_body {
    display: none;
}

.caracteristiques_item_body li {
    font-size: 2em;
    font-weight: 300;
    margin: 0;
    line-height: 1.5em;
    color: #002B56;
    width: 33%;
    display: inline-block;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
    position: relative;
}

.caracteristiques_item_body h4 {
    margin: 0 0 20px 0;
    color: #002b56;
    font-size: 2rem;
}

.caracteristiques_item_body.actif {
    display: block;
    margin: 0 10px 30px 10px;
}

.wrapper-typeclientele {
    margin: 25px 0;
}

.caracteristiques_item_document {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.caracteristiques_item_document:hover {
    text-decoration: underline;
    color: #002B56;
}

.wrapper-map-slider {
    position:relative;
}

.switch-carte-slider {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 9999;
    right: -32px;
    bottom: -32px;
    width: 68px;
    height: 68px;
    background: #002b56;
    color:#7DC0A8;
    -webkit-transition: all .3s ease-in;
    transition: all .3s ease-in;
    line-height: 67px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    font-size: 3.2rem;
}

.switch-carte-slider:hover {
    background: #000;
    color:white;
}

.switch-carte-slider:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.switch-carte-slider.actif:before {content:""}


@media (max-width: 1024px) {
    .switch-carte-slider {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    .switch-carte-slider:before {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
}

.leaflet-control-locate.active a:hover,
.leaflet-control-locate.active a {
    background: rgb(233, 95, 83);
}

.leaflet-control-locate.active a .leaflet-control-locate-location-arrow {
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="rgb(255,255,255)" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>') !important;
}

.carteficheapidae {
    position:relative;
}

.wrapper-pois-selection {
    z-index: 800;
    position:absolute;
    top:0;
    right:0;
}

.leaflet-control-layers-overlays {
    font-size: 14px !important;
}
.leaflet-control-layers-selector {
    margin-top: 0 !important;
    top: -1px !important;
}

.kg_poi__type {
    display:block;
    font-size: 1.6rem;
    margin: 0;
    line-height: 1.8rem;
    color: #8bcbb7;
}

.kg_poi__nom {
    display: block;
    color: #002b56;
    margin: 0;
    min-width: 240px;
    font-size: 2em;
    margin-bottom: 10px;
    line-height: 1;
    margin-top: 7px;
}

.kg_poi__nom a {
    color: #002b56 !important;
}

.kg_poi__destination {
    display:block;
    margin: 0;
    line-height: 1.8rem;
    font-size: 1.8rem;
    font-family: 'tt_commons_light', Arial, sans-serif;
    color: #002b56;
}


@media (max-width: 780px) {
    .fiche_modale_localisation .booking_info {
        flex: 1 1 100%;
        text-align: left;
        border-right:0;
    }

    .fiche_modale_localisation .booking_info {
        flex: 1 1 100%;
        text-align: left;
        border-right:0;
    }
    .fiche_modale_localisation .booking_info:last-child {
        border-bottom: 0;
    }

    .fiche_modale_localisation .booking_info.reserver {
        padding: 15px 0;
    }

}
@media (max-width: 540px) {
    .caracteristiques_item_body li {
        font-size: 2em;
        font-weight: 300;
        margin: 0;
        line-height: 1.5em;
        color: #002B56;
        width: 100%;
        display: inline-block;
        margin-bottom: 1rem;
        padding-left: 1.5rem;
        position: relative;
    }
}

.title-carte {
    font-size: 3.5rem;
    padding: 0 30px;
}

.title-carte:after {
    content: "";
    height: 6px;
    width: 42px;
    display: block;
    background: #002b56;
}

.moteur-carte-wrapper {
    position: relative;
    margin-top: 80px;
    padding: 80px 0 0 0;
}

.moteur-carte-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #f4f4f4;
    transform: skewY(-4deg);
    z-index: -400;
}

.carte-wrapper {
    position: relative;
    padding: 0 0 80px 0 ;
}

.carte-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #f4f4f4;
    transform: skewY(-4deg);
    z-index: -400;
}

.main h2 {
    margin: 20px auto;

}

.pure-g.stretch.main>* {
    margin-top: 40px;
}

.main h2:after {
    content: "";
    height: 6px;
    width: 42px;
    display: block;
    background: #002b56;
}

@media (max-width: 640px) {
    .title-carte {
        display: none;
    }
    .carte-wrapper,
    .moteur-carte-wrapper {
        padding: 0;
        margin-top: 0;
    }
    .carte-background,
    .moteur-carte-background {
        display: none;
    }
}

@media screen and (min-width: 80em) {
    footer .pure-g hr {
        margin: 0 -60px;
    }

    footer .border-left {
        border-left: 1px solid #7dc0a8;
        padding-left: 30px;
        padding-top: 60px;
    }


    footer .pure-g .liens {
        padding-top: 60px;
        padding-bottom: 40px;
    }

    .newsletter_form .form-group {
        max-width: 280px;
    }

    body.page footer {
        padding-top: 0;
    }
    footer .pure-g .partenaires {
        margin-top: 60px;
        -moz-column-gap: 8%;
        grid-column-gap: 8%;
        -webkit-column-gap: 8%;
        column-gap: 8%;
    }


    .partenaires-extra {
        margin-top: 60px;
        font-size: 2rem;
    }
}

@media screen and (max-width: 79.9em) {

    .partenaires-extra {
        margin-top: 10px;
        text-align: center;
        font-size: 2rem;
    }

    .partenaires-extra ul li {
        display: inline-block;
        margin-right: 10px;
    }

    footer .border-left {
        border-left: 0;
    }

}

@media screen and (max-width: 780px) {
    .pure-g.stretch.main>* {
        margin-top: 0;
    }

    .wrapper-immersif .entete-immersif {
        width: 100%;
        right: 0;
        left: 0;
    }
    .wrapper-immersif .entete-immersif .pure-g.main {
        padding: 0 !important;
    }
    .contenu .ariane ol li+li:before {
        margin: 0 4px;
    }
    .contenu .ariane {
        font-size: 1.5rem;
        padding: 0;
    }
    .contenu .entete-immersif .ariane a, .contenu .entete-immersif .ariane ol li {
        font-size: 1.8rem;
    }

    .footer-switch-menu {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .footer-switch-menu-icon {
        margin-right: 15px;
        font-size: 1.6rem;
        transform: rotate(180deg);
    }
}

@media screen and (max-width: 640px) {
    .contenu .carousel.small img {
        height: 200px;
        object-fit: cover;
        object-position: left;
    }
    .carousel .overall_slide .square45, .carouselsimple .overall_slide .square45 {
        width: 42vw;
        height: 42vw;
        bottom: -11vw;
    }
    .carousel .overall_slide h1, .carouselsimple .overall_slide h1 {
        max-width: 39vw;
        font-size: 6vw !important;
        line-height: 6vw;
        padding: 0 0 4.4vw 4vw;
    }
    .carousel .overall_slide.ttcommons h1, .carouselsimple .overall_slide.ttcommons h1 {
        font-size: 6vw !important;
        max-width: 45vw;
        line-height: 5.8vw;
        padding: 0 0 3vw 4vw;

    }

    .contenu #sejour form input[type="submit"] {
        margin: 0;
        padding: 0;
        font-size: 1.6em;
    }
}
.menu-onglet {
    background-color: #002B56;
    padding: 30px;
}

.menu-onglet-toogle {
    display: none;
}

.menu-onglet-list {
    display: flex;
    position: relative;
    justify-content: space-around;
    align-items: flex-end;
    border-bottom: 2px solid #7DC0A8;
}

.tx-dklikonglets-pi1 a.menu-onglet-item-link {
    position: relative;
    color:white;
    font-size: 1.7rem;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    line-height: 1.5rem;
    text-align: center;

}

.menu-onglet-item {
    position: relative;
    margin: 10px 10px 10px 0  !important;
}

.menu-onglet-item:last-child {
   margin-right:0 !important;
}
.menu-onglet-item .menu-onglet-item-link:hover:after,
.menu-onglet-item-selected .menu-onglet-item-link:after {
    content:'';
    background: #7DC0A8;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: -15px;
    left: 0;
}

.tx-dklikonglets-pi1 a.menu-onglet-toogle-link {
    color:white;
    font-size: 2.2rem;
    display: flex;
    align-items: center;
}

.menu-onglet-toogle-link .icon-fleche_top {
    padding: 0 12px;
    transform: rotate(180deg);
}

.menu-onglet-toogle-link.active .icon-fleche_top {
    transform: rotate(0);
}

@media screen and (max-width: 890px) {
    .menu-onglet-list.active,
    .menu-onglet-toogle {
        display:block;
    }
    .menu-onglet-list {
        display: none;
    }
    .menu-onglet-list.active {
        display:flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        border-bottom:0;

    }
    .menu-onglet-item .menu-onglet-item-link:hover:after,
    .menu-onglet-item-selected .menu-onglet-item-link:after {
        content:none;
    }
    .menu-onglet-item {
        position: relative;
        margin: 10px 25px 10px 0 !important;
    }
    .tx-dklikonglets-pi1 a.menu-onglet-item-link {
        border: 1px solid white;
        padding: 10px;
    }
    .tx-dklikonglets-pi1 .menu-onglet-item-selected .menu-onglet-item-link,
    .tx-dklikonglets-pi1 a.menu-onglet-item-link:hover {
        background-color: white;
        color:black;
    }

}

.main .resultat_data_item a  {
    color:#002b56 !important;
}

#livebox .live_col .live_module .module_title {
    text-align: center;
}
.header .reservation .infos form .champ select {
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: inherit;
}

.header .reservation .infos form .champ input {
    font-weight: normal;
    letter-spacing: inherit;
    font-size: 1.6rem;
}

#forfait_date::-webkit-input-placeholder {
    color: white;
}

.alerte-infos {
    display: none;
    margin-bottom: 1px;
    padding: 10px 15px;
    background:rgba(244,67,54,1);
    font-size: 2.1rem;
    font-family: tt_commons_medium, Arial, sans-serif;
    text-align: center;
    color: white;
    z-index: 2003;
    position: fixed;
    width: 100%;
}

.powermail_message.powermail_message_error {
    margin-bottom: 1px;
    padding: 10px 15px;
    background: rgba(244,67,54,1);
    font-size: 2.1rem;
    font-family: tt_commons_medium, Arial, sans-serif;
    text-align: center;
    color: white;
    z-index: 2003;
    width: 100%;
}

.alerte-infos p {
    margin: 0;
    color: white;;
}

.alerte-infos a {
    text-decoration: underline;
    color: white;
}

.alerte-infos-close {
    position: absolute;
    right: 60px;
    top: 50%;
    margin-top: -11px;
    width: 20px;
}

.top-section-map-icon {
    width: 36px!important;
    height: 36px!important;
    margin-top: 0!important;
    margin-left: -18px!important;
    background: #fff;
    font-size: 1.4em;
    line-height: 36px;
    text-align: center;
    color: #000;
    border-radius: 36px;
    -webkit-box-shadow: 0 3px 14px rgb(0 0 0 / 40%);
    box-shadow: 0 3px 14px rgb(0 0 0 / 40%);
}

.top-section-map-icon:before {
    content: "\e919";
    font-family: icomoon;
    font-size: 1em;
}

@media only screen and (max-width: 780px) {
    .alerte-infos {
        font-size: 1.6rem;
        padding: 10px 30px;
    }
    .alerte-infos-close {
        right: 10px;
        margin-top: -8px;
        width: 15px;
    }
    .btn-mobile-carte-itineraires {
        display: flex;
        margin-bottom: 10px;
    }
    #carte_itineraires {
        display: none;
    }
    #carte_itineraires.show {
        display: block;
    }
}