/*-------------------------------------------------------------------------------------------------------------------*/
@font-face {
    font-family: TungstenNarrow-Semibold;
    src: url(fonts/TungstenNarrow-SemiBold.woff2) format("woff2"),
        url(fonts/TungstenNarrow-SemiBold.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: TungstenNarrow-Medium;
    src: url(fonts/TungstenNarrow-Medium.woff2) format("woff2"),
        url(fonts/TungstenNarrow-Medium.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: TungstenNarrow-Bold;
    src: url(fonts/TungstenNarrow-Bold.woff2) format("woff2"),
        url(fonts/TungstenNarrow-Bold.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/*----- CORRECTION VIDEO WP --------------------------------------------------------------------------------------------------------------*/


.mejs-container {
    width: 100% !important;
    height: auto !important;
}

.mejs-mediaelement {
    position: relative !important;
}

video.wp-video-shortcode {
    width: 100% !important;
    height: auto !important;
}

.mejs-overlay {
    width: 100% !important;
    height: 100% !important;
}

/*-------------------------------------------------------------------------------------------------------------------*/




button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
    border-color: inherit;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb10 {
    margin-bottom: 0.625rem !important;
}

.mb20 {
    margin-bottom: 1.25rem !important;
}

.mb30 {
    margin-bottom: 1.875rem !important;
}

.mb40 {
    margin-bottom: 2.5rem !important;
}

.mb50 {
    margin-bottom: 3.125rem !important;
}

.mb60 {
    margin-bottom: 3.75rem !important;
}

.mb70 {
    margin-bottom: 4.375rem !important;
}

.mb80 {
    margin-bottom: 5rem !important;
}

.mb90 {
    margin-bottom: 5.625rem !important;
}

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

.pb10 {
    padding-bottom: 0.625rem !important;
}

.pb20 {
    padding-bottom: 1.25rem !important;
}

.pb30 {
    padding-bottom: 1.875rem !important;
}

.pb40 {
    padding-bottom: 2.5rem !important;
}

.pb50 {
    padding-bottom: 3.125rem !important;
}

.pb60 {
    padding-bottom: 3.75rem !important;
}

.pb70 {
    padding-bottom: 4.375rem !important;
}

.pb80 {
    padding-bottom: 5rem !important;
}

.pb90 {
    padding-bottom: 5.625rem !important;
}

/*-------------------------------------------------------------------------------------------------------------------*/
html,
body {
    margin: 0;
    padding: 0;
    color: #000;
    font-family: Poppins;
    font-weight: normal;
    line-height: 1.5rem;
    overflow-x: hidden;
}

.sr-only {
    border: 0 !important;
    clip: rect(0.063em, 0.063em, 0.063em, 0.063em) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 0.063em !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 0.063em !important;
    white-space: nowrap !important;
}

a {
    text-decoration: none;
}

.whiteCTA a {
    background-color: transparent;
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff;
    padding: 0.844rem 1.188rem;
    letter-spacing: 0.044rem;
    display: inline-block;
    border: 0.094rem solid #fff;
    cursor: pointer;
    line-height: 1;
}

.whiteCTA a:hover,
.whiteCTA a:focus {
    background-color: #fff;
    color: #06563f;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .pluginCta {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }
}

.greenCTA {
    text-align: center;
}

.greenCTA a,
.greenCTA button,
.greenCTA span,
.greenCTA input[type="submit"] {
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 600;
    padding: 0.844rem 1.188rem;
    letter-spacing: 0.044rem;
    text-decoration: none;
    border: 0.094rem solid;
    cursor: pointer;
    line-height: 1;
    border-radius: 0;
}

@media screen and (max-width: 23.375em) {

    /* 374px */
    .greenCTA a,
    .greenCTA span,
    .greenCTA input[type="submit"] {
        font-size: 1rem;
    }
}

.left-align .greenCTA {
    text-align: left;
    padding-left: 7.55007%;
    padding-right: 18.48998%;
}

@media screen and (max-width: 64em) {
    .left-align .greenCTA {
        padding-left: 2.813rem;
        padding-right: 2.813rem;
    }
}


.view-pricing a,
.view-pricing span,
.view-pricing input[type="submit"] {
    background-color: transparent;
    border-color: #06563f;
    color: #06563f;
    border-radius: 0;
}

.view-pricing a:hover,
.view-pricing span:hover,
.view-pricing input[type="submit"]:hover,
.view-pricing a:focus,
.view-pricing span:focus,
.view-pricing input[type="submit"]:focus {
    background-color: rgba(6, 86, 63, 0.1);
}

.buy-tickets a,
.buy-tickets button,
.buy-tickets input[type="submit"],
.buy-tickets-subtitle a {
    background-color: #1dd761;
    border-color: #1dd761;
    color: #06563f;
    border-radius: 0;
}

.buy-tickets a:hover,
.buy-tickets button:hover,
.buy-tickets input[type="submit"]:hover,
.buy-tickets-subtitle a:hover,
.buy-tickets a:focus,
.buy-tickets input[type="submit"]:focus,
.buy-tickets-subtitle a:focus {
    background-color: #06563f;
    border-color: #06563f;
    color: #fff;
}

.greenCTA p {
    font-size: 0.813rem;
    line-height: 1.25rem;
    margin: 0.625rem 0 0 0;
}

h2.carouselTitle,
h2.aloneTitle {
    padding: 0 2.813rem;
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin-right: 0;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    color: #06563f;
    box-sizing: border-box;
}

h2.aloneTitle {
    margin-bottom: 0;
    margin-top: 0;
}

@media screen and (max-width: 64em) {

    .post-497 h2.carouselTitle,
    .post-57 h2.carouselTitle,
    .post-914 h2.carouselTitle {
        margin-top: 0;
        margin-bottom: 30px;
    }

    .post-497 .widget_m56sow-carrousselgallery,
    .post-57 .widget_m56sow-carrousselgallery {
        margin-bottom: 0 !important;
    }

    .post-671 .widget_m56sow-stickybouton {
        margin-bottom: 0 !important;
    }

    .post-914 .widget_m56sow-carrousselimagelink {
        margin-bottom: 30px !important;
    }

    .post-962 h2.carouselTitle {
        margin: 30px 0;
    }
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .pluginAlonetitle {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    h2.carouselTitle,
    h2.aloneTitle {
        padding-left: 7.55007%;
        padding-right: 18.48998%;
    }
}

.carousel .cache {
    display: none;
}

/*-------------------------------------------------------------------------------------------------------------------------*/
.fixed {
    position: fixed;
    overflow: hidden;
}

body.ovhidden,
html.ovhidden {
    overflow: hidden;
}

nav.mainNav {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 99999;
    width: 100%;
}

nav.mainNav.open {
    position: fixed;
}

nav.mainNav .logo,
nav.mainNav.open .logo {
    display: none;
}

nav.bandeaufixed {
    height: 5.375rem;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    border-bottom: 0.063rem solid rgba(6, 86, 63, 0.3);
}

nav .cta-bandeau {
    display: none;
}

nav.bandeaufixed .logo {
    width: 4.375rem;
    display: block;
}

/*
nav .menuToggle:focus:after
{
    content: "";
    border: 1px solid #fff;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    transform: translate(-50%, -50%);
}
*/
nav.bandeaufixed .menuToggle > span {
    background-color: #06563f !important;
}

nav.bandeaufixed.open .menuToggle > span {
    background-color: #fff !important;
}

nav .menuToggle {
    width: 3.125rem;
    height: 3.125rem;
    border: none;
    background-color: transparent;
    cursor: pointer;
    position: absolute;
}

nav .language {
    display: none;

}

@media screen and (min-width: 64em) {

    /* 1024px */
    nav .menuToggle {
        top: 2.75rem;
        left: 3.688rem;
    }

    nav.open .menuToggle {
        top: 2.75rem;
        left: 2.75rem;
        z-index: 1;
    }

    nav.open .menuToggle span:nth-child(2) {
        display: none;
    }

    nav.bandeaufixed {
        height: 8.563rem;
        border-bottom: 0;
    }

    nav.bandeaufixed:before,
    nav.bandeaufixed:after {
        content: '';
        position: absolute;
        background-color: rgba(6, 86, 63, 0.3);
    }

    nav.bandeaufixed:before {
        top: 0;
        left: 8.813rem;
        width: 0.063rem;
        height: 100%;
    }

    nav.bandeaufixed:after {
        height: 0.063rem;
        width: calc(100% - 8.875rem);
        left: 8.813rem;
        bottom: 0;
    }

    nav.bandeaufixed .logo {
        width: auto;
    }

    nav.bandeaufixed .cta-bandeau {
        display: block;
        position: absolute;
        top: 2.75rem;
        right: 4.563rem;
        font-size: 1.25rem;
        font-weight: 600;
        letter-spacing: 0.049rem;
        color: #06563f;
        background-color: #1dd761;
        padding: 0.563rem 1.5rem 0.75rem 1.5rem;
    }

    nav.bandeaufixed.open .cta-bandeau {
        display: none;
    }

    nav.bandeaufixed .cta-bandeau:hover,
    nav.bandeaufixed .cta-bandeau:focus {
        background-color: #06563f;
        border-color: #06563f;
        color: #fff;
    }
}

nav .menuToggle > span {
    position: absolute;
    background-color: #f00;
    transition: all .3s;
    height: 0.25rem;
    left: 1em;
}

nav .menuToggle > span:nth-child(1) {
    width: 1.438rem;
    top: 0.938rem;
}

nav:not(.open) .menuToggle > span:nth-child(2) {
    width: 1.188rem;
    top: 1.438rem;
}

nav .menuToggle > span:nth-child(3) {
    width: 1.313rem;
    top: 1.938rem;
}

nav.open .menuToggle > span:nth-child(1) {
    left: 50%;
    top: 50%;
    width: 1.563rem;
    height: 0.125rem;
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

nav.open .menuToggle > span:nth-child(2) {
    transform: translateX(-100%);
}

nav.open .menuToggle > span:nth-child(3) {
    left: 50%;
    top: 50%;
    width: 1.563rem;
    height: 0.125rem;
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.menuGreen nav .menuToggle > span {
    background-color: #06563f;
}

.menuWhite nav .menuToggle > span {
    background-color: #fff;
}

/*---------------------------------------------------------------------------------------------------------------------*/
nav #navigationContainer {
    overflow-y: auto;
    max-height: 0;
    width: 103%;
    background: rgba(0, 0, 0, .9);
    transition: all .15s;
    display: block;
}

nav.open #navigationContainer {
    max-height: 100%;
    height: 100%;
}

nav.open .menuToggle > span,
.menuGreen nav.open .menuToggle > span {
    background-color: #fff;
}

/*---------------------------------------------------------------------------------------------------------------------*/
nav ul {
    padding: 0;
    margin: 0;
}

nav li {
    list-style: none;
}

nav li a,
nav li a:visited {
    text-decoration: none;
    color: #fff;
}

nav li a:hover,
nav li a:focus,
nav li a:active,
nav li a.active {
    color: #1dd761;
}

/*---------------------------------------------------------------------------------------------------------------------*/
nav .socialList {
    align-items: end;
    margin-left: 0;
    border-top: solid 0.063rem rgba(255, 255, 255, 0.4);
    margin-bottom: 0.625rem;
}

nav .socialList > div {
    padding-left: 3rem;
}

nav .socialList li {
    display: inline-block;
}

nav .socialList p {
    margin-bottom: 0.625rem;
    color: #fff;
    font-size: 0.875rem;
    line-height: 1.75rem;
}

nav .socialList img {
    height: 1.563rem;
    margin-right: 1.25rem;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    nav.open .socialList {
        position: fixed;
        top: 0;
        left: 0;
        width: 8.875rem;
        height: 100%;
        border-top: 0;
        border-right: 0.063rem solid rgba(255, 255, 255, 0.4);
        display: flex;
        align-items: flex-end;
        margin-bottom: 0;
    }

    nav .socialList > div {
        padding-left: 0;
        width: 100%;
        text-align: center;
    }

    nav .socialList li {
        display: block;
        margin-bottom: 1.875rem;
    }

    nav .socialList p {
        margin: 0 0.625rem 0 0;
        padding: 0;
        transform: rotate(-90deg);
        position: relative;
        top: -3.75rem;
    }
}

/*---------------------------------------------------------------------------------------------------------------------*/
nav .primaryMenu {
    font-family: 'TungstenNarrow-medium';
    margin: 3.563rem 0 2rem 3rem;
}

nav .secondaryMenu {
    font-family: 'TungstenNarrow-Medium';
    margin: 2rem 0 3.125rem 3rem;
}

nav .primaryMenu li {
    font-size: 3.375rem;
    line-height: 2.5rem;
    margin-bottom: 1.5rem;
    letter-spacing: 1px;
}

nav .secondaryMenu li {
    font-size: 1.9375rem;
    line-height: normal;
    margin-bottom: 0.2rem;
    letter-spacing: .5px;
}

nav .practicalInformation-desktop,
nav .contact,
nav .events {
    display: none;
}

nav .practicalInformation-mobile {
    margin-left: 3rem;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

nav .practicalInformation-mobile a {
    background-color: #62d36f;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 16px;
    padding-right: 16px;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    color: #225540;
    margin-top: 16px;
    display: inline-block;
    transition: 0.3s;
    border: none;
    cursor: pointer;
    border-radius: 0px;
    max-width: 188px;
}

nav .practicalInformation-mobile a:hover {
    background-color: #06563f;
    color: #fff;
    cursor: pointer;
}

nav .practicalInformation-mobile .text {
    color: #FFF;
    font-family: 'TungstenNarrow-medium';
    font-size: 24px;
    font-style: normal;
    line-height: normal;
    letter-spacing: 0.5px;
}

nav .practicalInformation-mobile .text span {
    font-family: 'TungstenNarrow-Semibold';

}

@media screen and (min-width: 64em) {

    /* 1024px */
    nav .primaryMenu {
        margin-bottom: 3.75rem;
        margin-top: 5.313rem;
    }

    nav .secondaryMenu {
        margin-bottom: 1.25rem;
    }

    nav .primaryMenu li {
        font-size: 4rem;
        margin-bottom: 2.5rem;
        letter-spacing: 1px;
    }

    nav .secondaryMenu li {
        font-size: 2.375rem;
    }

    nav .primaryMenu,
    nav .secondaryMenu,
    nav .practicalInformation-mobile {
        margin-left: 15rem;
    }

    nav.open .navBlocDesktop {
        display: inline-block;
        vertical-align: top;
    }

    nav.open div.navBlocDesktop:last-child {
        margin-top: 5.313rem;
        padding: 0 4% 0 15%;
    }

    nav.open .navBlocDesktop > div {
        margin-bottom: 2rem;
    }

    nav.open .navBlocDesktop > div:last-child {
        margin-bottom: 1.25rem;
    }

    nav.open .practicalInformation-desktop,
    nav.open .contact,
    nav.open .events {
        font-size: 0.9375rem;
        line-height: 1.25rem;
    }

    nav.open .practicalInformation-desktop p,
    nav.open .contact p,
    nav.open .events p {
        margin: 0;
        padding: 0;
    }

    nav.open .practicalInformation-desktop .rub-link,
    nav.open .contact .rub-link,
    nav.open .events .rub-link {
        margin-top: 1.25rem;
    }

    nav.open .practicalInformation-desktop .rub-address {
        margin-bottom: 0.625rem;
    }

    nav.open .practicalInformation-desktop p.open,
    nav.open .practicalInformation-desktop p.close {
        position: relative;
        padding-left: 0.938rem;
    }

    nav.open .practicalInformation-desktop p.open:before,
    nav.open .practicalInformation-desktop p.close:before {
        content: "";
        display: inline-block;
        width: 0.563rem;
        height: 0.563rem;
        border-radius: 50%;
        position: absolute;
        top: 0.3rem;
        left: 0;
    }

    nav.open .practicalInformation-desktop p.open:before {
        background-color: #1dd761;
    }

    nav.open .practicalInformation-desktop p.close:before {
        background-color: red;
    }

    nav.open .practicalInformation-desktop a,
    nav.open .contact a,
    nav.open .events a {
        color: #fff;
        border-bottom: 0.063rem solid #1dd761;
    }

    nav.open .events a.rub-otherLink {
        border-bottom: 0;
    }

    nav.open .practicalInformation-desktop a:hover,
    nav.open .contact a:hover,
    nav.open .events a:hover,
    nav.open .practicalInformation-desktop a:focus,
    nav.open .contact a:focus,
    nav.open .events a:focus {
        color: #1dd761;
    }

    nav.open .practicalInformation-desktop .rub-title,
    nav.open .contact .rub-title,
    nav.open .events .rub-title {
        font-family: 'TungstenNarrow-Semibold';
        font-size: 2.375rem;
        line-height: 2.5rem;
        text-transform: uppercase;
        margin-bottom: 0.625rem;
    }

    nav.open .events a span {
        display: inline-block;
        vertical-align: middle;
    }

    nav.open .events .rub-date {
        font-size: 1.625rem;
        line-height: normal;
        font-family: 'TungstenNarrow-Medium';
        width: 3.5em;
    }

    nav.open .events .rub-desc {
        font-size: 0.9375rem;
        line-height: 1.25rem;
    }

    nav.open .events .rub-separ {
        width: 2.125rem;
        height: 0.063rem;
        background-color: #fff;
        margin: 0 1rem;
    }
}

@media screen and (min-width: 76.875em) {

    /* 1230px */
    nav.open div.navBlocDesktop:last-child {
        padding: 0 3% 0 6%;
    }

    nav .practicalInformation-desktop,
    nav .contact,
    nav .events {
        display: inline-block;
        width: 45%;
        vertical-align: top;
    }

    nav .practicalInformation-desktop {
        margin-right: 8%;
    }
}

/*-------------------------------------------------------------------------------------------------------------------------*/
.bandeau-notification {
    color: #fff;
    background-color: #06563f;
    box-sizing: border-box;
    font-size: 0.813rem;
    line-height: 1.25rem;
    position: relative;
    z-index: 5;
    overflow: hidden;
}

.bandeau-notification > div {
    padding: 3rem 2.813rem 1rem 2.813rem;
}

@media screen and (max-width: 64em) {
    .bandeau-notification > div {
        padding: 2rem 2.813rem 1rem 2.813rem;
    }
}

.bandeau-notification a {
    color: #fff;
}

.bandeau-notification a span {
    border-bottom: 0.063rem solid #1dd761;
}

.bandeau-notification-close {
    position: absolute;
    top: 1rem;
    right: 2.813rem;
    background: url(imgs/icon_close-white.svg) 0 0 no-repeat;
    background-size: cover;
    width: 1.25rem;
    height: 1.25rem;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .bandeau-notification {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .bandeau-notification > div {
        padding: 2.25rem 0 1.25rem 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .bandeau-notification .bandeau-notification-text,
    .bandeau-notification .bandeau-notification-link {
        padding-left: 7.55007%;
        padding-right: 4.813rem;
    }

    .bandeau-notification-close {
        right: 4.813rem;
    }
}

/*-------------------------------------------------------------------------------------------------------------------------*/
.carousel.reviews {
    width: 100%;
    height: 40.625rem;
    position: relative;
    font-size: 1rem;
    color: #fff;
    margin-bottom: 1.875rem;
}

@media screen and (max-width: 64em) {
    .carousel.reviews {
        margin-bottom: 0rem;
    }
}

.carousel.reviews ul {
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
}

.carousel.reviews li {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    list-style: none;
}

.carousel.reviews li > div {
    display: flex;
    height: 88%;
    display: block;
}

.carousel.reviews li > div > div {
    width: 50%;
    width: 100%;
}

.carousel.reviews .nextButton,
.carousel.reviews .prevButton {
    display: none;
    border: 0.063rem solid #000;
    background-color: transparent;
    border: none;
    width: 1.875rem;
    height: 1.875rem;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0.813rem;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.carousel.reviews .nextButton > div,
.carousel.reviews .prevButton > div {
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s;
}

.carousel.reviews .nextButton {
    background-image: url("imgs/arrow_next_white.svg");
    right: 2.813rem;
}

.carousel.reviews .prevButton {
    background-image: url("imgs/arrow_prev_white.svg");
    right: 5.313rem;
}

.carousel.reviews .nextButton > div {
    background-image: url("imgs/arrow_next_over.svg");
}

.carousel.reviews .prevButton > div {
    background-image: url("imgs/arrow_prev_over.svg");
}

.carousel.reviews .nextButton:hover > div,
.carousel.reviews .nextButton:focus > div {
    opacity: 1;
}

.carousel.reviews .prevButton:focus > div,
.carousel.reviews .prevButton:hover > div {
    opacity: 1;
}

.carousel.reviews .carouselMask {
    height: 100%;
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0;
}

.carousel.reviews .background {
    position: absolute;
    width: 100%;
    height: calc(100% - 8.75rem);
    bottom: 0;
    background-image: url("imgs/advisor_carrousel_back.jpg");
    background-size: cover;
    background-position: 20% 50%;
}

.carousel-reviews-filter {
    position: absolute;
    width: 100%;
    height: calc(100% - 8.75rem);
    bottom: 0;
    background-color: rgba(1, 24, 33, 0.5);
}

.carousel.reviews .contribImg {
    margin-left: 0;
    margin-bottom: 0;
    order: 2;
    text-align: right;
}

.carousel.reviews .contribImg > div {
    position: relative;
}

.carousel.reviews .contribImg .contribImg-filter {
    position: absolute;
    top: 0;
    right: 0;
    width: 80%;
    max-width: 31.5rem;
    height: 100%;
    background-color: rgba(1, 24, 33, 0.2);
}

.carousel.reviews .contribImg > div img {
    width: 80%;
    max-width: 31.5rem;
    display: block;
    margin: 0 0 0 auto;
}

.carousel.reviews .contribBloc {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 80%;
    margin: 2.5rem auto 0 auto;
}

.carousel.reviews .rate {
    padding-left: 0;
    position: relative;
}

.carousel.reviews .rate .reviewer,
.carousel.reviews .rate > div {
    display: inline-block;
    vertical-align: middle;
}

.carousel.reviews .rate .reviewer {
    margin-left: 0;
    margin-right: 0.625rem;
    width: 3.875rem;
}

.carousel.reviews .rate > div {
    margin: 0 0.125rem;
}

.carousel.reviews .greenStar,
.carousel.reviews .whiteStar {
    width: 0.875rem;
    height: 0.813rem;
    background-size: cover;
}

.carousel.reviews .greenStar {
    background-image: url("imgs/icon_green_star.svg");
}

.carousel.reviews .whiteStar {
    background-image: url("imgs/icon_white_star.svg");
}

.carousel.reviews .contribText {
    padding: 0.313rem 0 0 0;
}

.carousel.reviews .contribText p {
    margin-top: 0;
    margin-bottom: 1.563rem;
}

.carousel.reviews .contribText *:first-child:before {
    content: "“";
    display: inline;
}

.carousel.reviews .contribText *:last-child:after {
    content: "”";
    display: inline;
}

.carousel.reviews .contribAuthor {
    color: #1dd761;
    padding-left: 0;
    font-size: 0.8125rem;
}

.carousel.reviews .withLogo {
    padding-left: 4.688rem !important;
}

.carousel.reviews .carouselPins {
    position: absolute;
    bottom: 0.938rem;
    font-size: 0;
    left: 50%;
    transform: translateX(-50%);
}

.carousel.reviews .carouselPins .pin {
    border: none;
    background-color: transparent;
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.carousel.reviews .carouselPins .pin > span {
    text-align: center;
    background-color: transparent;
    border: 0.063rem solid #fff;
    border-radius: 50%;
    top: 0.5rem;
    left: 0.5rem;
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    transition: background-color .5s;
}

.carousel.reviews .carouselPins .pin.currentSelected > span {
    background-color: #fff;
}

@media screen and (min-width: 64em) {
    /* 1024px */

    .carousel.reviews {
        width: calc(100% - 8.875rem);
        margin-left: auto;
    }

    .carousel.reviews .carouselMask {
        width: 100%;
        margin: 0 2.813rem 0 auto;
    }

    .carousel.reviews li {
        padding: 0px 20px;
    }

    .carousel.reviews li > div {
        display: flex;
    }

    .carousel.reviews li > div > div {
        width: 50%;
    }

    .carousel.reviews .contribBloc {
        width: 50%;
        margin: 0;
    }

    .carousel.reviews .contribImg {
        text-align: left;
    }

    .carousel.reviews .contribImg .contribImg-filter,
    .carousel.reviews .contribImg > div img {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .carousel.reviews .contribText {
        padding: 0.313rem 2.813rem 0 0;
        font-weight: 500;
        font-size: 1.25rem;
        line-height: 1.875rem;
    }

    .carousel.reviews .contribAuthor {
        font-size: 1rem;
    }
}

/*----------------------------------------------------------------------------------------------------------------------------*/
.carousel.grid {
    width: calc(100% - 5.625rem);
    position: relative;
    font-size: 1rem;
    color: #fff;
    margin: auto;
    margin-bottom: 1.875rem;
}

@media screen and (max-width: 64em) {

    .post-494 .carousel.grid,
    .post-497 .carousel.grid,
    .post-962 .carousel.grid {
        margin-top: -7px;
        margin-bottom: 0;
    }
}

.carousel.grid ul {
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    overflow: hidden;
}

.carousel.grid li {
    flex: 1;
    height: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}

.carousel.grid .pix {
    width: 100%;
    height: auto;
}

.carousel.grid li div {
    position: absolute;
    box-sizing: border-box;
    background-position: 50% 50%;
    background-size: cover;
    background-color: #f00;
    border: 0.438rem solid #fff;
    outline: 0.438rem solid #fff;
}

.carousel.grid li div:nth-child(1) {
    width: calc(66.66666vw - 3.75rem);
    height: calc(66.66666vw - 3.75rem);
    top: 0;
    left: 0;
}

.carousel.grid li div:nth-child(2) {
    top: 0;
}

.carousel.grid li div:nth-child(3) {
    top: calc(33.33333vw - 1.875rem);
}

.carousel.grid li div:nth-child(2),
.carousel.grid li div:nth-child(3) {
    width: calc(33.33333vw - 1.875rem);
    height: calc(33.33333vw - 1.875rem);
    right: 0;
}

.carousel.grid li div:nth-child(4) {
    right: calc(42vw - 2.25rem);
}

.carousel.grid li div:nth-child(5) {
    right: 0;
}

.carousel.grid li div:nth-child(4),
.carousel.grid li div:nth-child(5) {
    width: calc(42vw - 2.25rem);
    height: calc(42vw - 2.25rem);
    top: calc(66.66666vw - 3.75rem);
}

.carousel.grid .nextButton,
.carousel.grid .prevButton {
    display: none;
    border: 0.063rem solid #000;
    background-color: transparent;
    border: none;
    width: 1.875rem;
    height: 1.875rem;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0.25rem;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.carousel.grid .nextButton > div,
.carousel.grid .prevButton > div {
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s;
}

.carousel.grid .nextButton {
    background-image: url("imgs/arrow_next.svg");
    right: 2.813rem;
}

.carousel.grid .prevButton {
    background-image: url("imgs/arrow_prev.svg");
    right: 5.313rem;
}

.carousel.grid .nextButton > div {
    background-image: url("imgs/arrow_next_over.svg");
}

.carousel.grid .prevButton > div {
    background-image: url("imgs/arrow_prev_over.svg");
}

.carousel.grid .nextButton:hover > div,
.carousel.grid .nextButton:focus > div {
    opacity: 1;
}

.carousel.grid .prevButton:hover > div,
.carousel.grid .prevButton:focus > div {
    opacity: 1;
}

.carousel.grid .carouselMask {
    width: 100%;
    height: calc(110vw - 5.625rem);
    position: relative;
    overflow: hidden;
}

.carousel.grid .carouselPins {
    margin: auto;
    font-size: 0;
    text-align: center;
    margin-bottom: 0.938rem;
}

@media screen and (max-width: 64em) {
    .carousel.grid .carouselPins {
        margin-bottom: 0;
    }
}

.carousel.grid .carouselPins .pin {
    border: none;
    background-color: transparent;
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.carousel.grid .carouselPins .pin > span {
    text-align: center;
    background-color: transparent;
    border: 0.063rem solid #06563f;
    border-radius: 50%;
    top: 0.5rem;
    left: 0.5rem;
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    transition: background-color .5s;
}

.carousel.grid .carouselPins .pin.currentSelected > span {
    background-color: #06563f;
}

@media (min-aspect-ratio: 3/4) {
    .carousel.grid .carouselMask {
        height: calc(80vw - 5.625rem);
    }

    .carousel.grid li div:nth-child(1),
    .carousel.grid li div:nth-child(2),
    .carousel.grid li div:nth-child(3) {
        width: calc(33.33333vw - 1.875rem);
        height: calc(33.33333vw - 1.875rem);
        top: 0;
        right: auto;
    }

    .carousel.grid li div:nth-child(2) {
        left: calc(33.33333vw - 1.875rem);
    }

    .carousel.grid li div:nth-child(3) {
        right: 0;
    }

    .carousel.grid li div:nth-child(4),
    .carousel.grid li div:nth-child(5) {
        top: calc(33.33333vw - 1.875rem);
    }

    .carousel.grid .nextButton,
    .carousel.grid .prevButton {
        display: block;
    }
}

@media (min-aspect-ratio: 1/1) {
    .carousel.grid .carouselMask {
        height: calc(56vw - 5.625rem);
    }

    .carousel.grid li div:nth-child(1) {
        width: calc(50vw - 2.813rem);
        height: calc(50vw - 2.813rem);
        top: 0;
        left: 0;
    }

    .carousel.grid li div:nth-child(2),
    .carousel.grid li div:nth-child(3),
    .carousel.grid li div:nth-child(4),
    .carousel.grid li div:nth-child(5) {
        width: calc(25vw - 1.406rem);
        height: calc(25vw - 1.406rem);
        top: auto;
        left: auto;
        right: auto;
    }

    .carousel.grid li div:nth-child(2) {
        top: 0;
        left: calc(50vw - 2.813rem);
    }

    .carousel.grid li div:nth-child(3) {
        top: calc(25vw - 1.406rem);
        left: calc(50vw - 2.813rem);
    }

    .carousel.grid li div:nth-child(4) {
        top: 0;
        right: 0;
    }

    .carousel.grid li div:nth-child(5) {
        top: calc(25vw - 1.406rem);
        right: 0;
    }
}

@media (min-aspect-ratio: 3/2) {
    .carousel.grid .carouselMask {
        height: calc(34vw - 5.625rem);
    }

    .carousel.grid li div:nth-child(1),
    .carousel.grid li div:nth-child(2),
    .carousel.grid li div:nth-child(3) {
        width: calc(28.5714vw - 1.969rem);
        height: calc(28.5714vw - 1.969rem);
        top: 0;
    }

    .carousel.grid li div:nth-child(2) {
        left: calc(28.5714vw - 1.969rem);
    }

    .carousel.grid li div:nth-child(3) {
        left: calc(57.1428vw - 3.938rem);
    }

    .carousel.grid li div:nth-child(4),
    .carousel.grid li div:nth-child(5) {
        width: calc(14.2857vw - 0.804rem);
        height: calc(14.2857vw - 0.804rem);
        left: auto;
        right: 0;
    }

    .carousel.grid li div:nth-child(4) {
        top: 0;
    }

    .carousel.grid li div:nth-child(5) {
        top: calc(14.2857vw - 0.804rem);
    }
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .carousel.grid {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .carousel.grid .carouselMask {
        /*width: 92.44993%; NON CA PETE LE DESIGN */
        margin-left: auto;
        margin-right: 0;
    }
}

/*---------------------------------------------------------------------------------------------------------------------*/
.carousel.events {
    width: 100%;
    position: relative;
    font-size: 1rem;
    color: #fff;
    margin-bottom: 1.875rem;
    overflow: hidden;
    padding-bottom: 2.813rem;
}

@media screen and (max-width: 64em) {
    .post-57 .carousel.events {
        margin-bottom: 0;
    }
}

.carousel.events ul {
    position: relative;
    width: 300%;
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
}

.carousel.events li img {
    width: 100%;
    height: auto;
    background-size: cover;
    background-position: 50% 50%;
    display: block;
}

.carousel.events li .visual {
    margin-bottom: 0.5rem;
    position: relative;
}

.carousel.events li .visual-filtre {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(1, 24, 33, 0.8);
    display: none;
}

.carousel.events li .visual-filtre div.expandButton {
    position: absolute;
    width: 5rem;
    height: 5rem;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    border: none;
    background-color: rgba(255, 255, 255, .5);
    border-radius: 50%;
    text-align: center;
    display: block;
    cursor: pointer;
    top: 50%;
    pointer-events: all;
}

.carousel.events li .visual-filtre div.expandButton .plus {
    width: 3.75rem;
    height: 3.75rem;
    display: inline-block;
    background-color: #fff;
    border-radius: 50%;
    position: relative;
    margin-top: 0.625rem;
}

.carousel.events li .visual-filtre div.expandButton .plus:after,
.carousel.events li .visual-filtre div.expandButton .plus:before {
    position: absolute;
    content: "";
    font: 0;
    width: 0.125rem;
    height: 1.875rem;
    background-color: #1dd761;
    display: block;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: all 300ms cubic-bezier(0.050, 0.935, 0.500, 1.000);
}

.carousel.events li .visual-filtre div.expandButton .plus:before {
    transform: translateX(-50%) translateY(-50%) rotate(90deg);
}

.carousel.events li {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0;
    list-style: none;
    padding-right: 2.813rem;
}

.carousel.events li:focus .visual-filtre,
.carousel.events li:hover .visual-filtre {
    display: block;
}

.carousel.events li > div {
    width: 100%;
    height: 100%;
    position: relative;
}

.carousel.events li .text {
    position: absolute;
    bottom: 0;
    margin: 0.188rem 1.25rem;
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 600;
}

.carousel.events li * {
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}


.carousel.events .nextButton,
.carousel.events .prevButton {
    display: none;
    border: 0.063rem solid #000;
    background-color: transparent;
    border: none;
    width: 1.875rem;
    height: 1.25rem;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.carousel.events .nextButton > div,
.carousel.events .prevButton > div {
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s;
}

.carousel.events .nextButton {
    background-image: url("imgs/arrow_next.svg");
    right: 2.813rem;
}

.carousel.events .prevButton {
    background-image: url("imgs/arrow_prev.svg");
    right: 5.313rem;
}

.carousel.events .nextButton > div {
    background-image: url("imgs/arrow_next_over.svg");
}

.carousel.events .prevButton > div {
    background-image: url("imgs/arrow_prev_over.svg");
}

.carousel.events .nextButton:hover > div,
.carousel.events .nextButton:focus > div {
    opacity: 1;
}

.carousel.events .prevButton:hover > div,
.carousel.events .prevButton:focus > div {
    opacity: 1;
}

.carousel.events .carouselMask {
    width: calc(95% - 5.625rem);
    height: 100%;
    position: relative;
    margin-left: 2.813rem;
}

.carousel.events .carouselPins {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0;
    height: 1.25rem;
}

.carousel.events .carouselPins .pin {
    border: none;
    background-color: transparent;
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.carousel.events .carouselPins .pin > span {
    text-align: center;
    background-color: transparent;
    border: 0.063rem solid #06563f;
    border-radius: 50%;
    top: 0.5rem;
    left: 0.5rem;
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    transition: background-color .5s;
}

.carousel.events .carouselPins .pin.currentSelected > span {
    background-color: #06563f;
}

.carousel.events .description {
    color: #000;
    display: flex;
}

.carousel.events .description .date {
    font-family: 'TungstenNarrow-Medium';
    font-size: 1.5625rem;
}

.carousel.events .description .line {
    background-color: #06563f;
    height: 0.063rem;
    width: 10%;
    margin: 0.7rem 0.938rem;
}

.carousel.events .description .title {
    font-size: 1.125rem;
    font-weight: 500;
}

.carousel.events .visual {
    cursor: pointer;
}


.carousel .viewer {
    display: none;
    background-color: rgba(0, 0, 0, .8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.carousel .viewer.open {
    display: block;
}



.carousel .viewer .photo {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    width: 100%;
    height: 100%;
}

.carousel .viewer .closeButton {
    position: absolute;
    width: 62px;
    height: 62px;
    top: 15px;
    right: 15px;
    cursor: pointer;

}

.carousel .viewer .closeButton:after,
.carousel .viewer .closeButton:before {
    content: "";
    width: 50px;
    height: 6px;
    position: absolute;
    left: 50%;
    top: 50%;
    background-color: #1dd761;
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.carousel .viewer .closeButton:before {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}


@media (min-aspect-ratio: 3/4) {
    .carousel.events ul {
        width: 150%;
    }

    .carousel.events li {
        width: 50%;
    }

    .carousel.events .nextButton,
    .carousel.events .prevButton {
        display: block;
    }
}

@media (min-aspect-ratio: 3/2) {
    .carousel.events ul {
        width: 100%;
    }

    .carousel.events li {
        width: 33.333%;
    }
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .carousel.events {
        padding-left: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .carousel.events .carouselMask {
        margin-left: 7.55007%;
    }
}

/*---------------------------------------------------------------------------------------------------------------------*/
.carousel.photos {
    width: 100%;
    position: relative;
    font-size: 1rem;
    color: #fff;
    margin-bottom: 1.875rem;
    overflow: hidden;
    padding-bottom: 2.813rem;
}

@media screen and (max-width: 64em) {
    .post-671 .carousel.photos {
        margin-bottom: 0;
    }
}

.carousel.photos ul {
    position: relative;
    width: 300%;
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
}

.carousel.photos li img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 1 / 1;
}

.carousel.photos li {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0;
    list-style: none;
    padding-right: 2.813rem;
    position: relative;
}

.carousel.photos li > div {
    width: 100%;
    height: 100%;
    position: relative;
}

.carousel.photos li > div > div {
    background-color: #000;
}


.carousel.photos li .text {
    position: absolute;
    font-size: clamp(12px, 2.5vw, 14px);
    background: #000;
    padding: 8px 16px;
    border-radius: 3px;
    left: 8px;
    bottom: 8px;
    margin: 0;
    line-height: 1.4;
    margin-right: 8px;
    font-weight: 600;
}

.carousel.photos li * {
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.carousel.photos .nextButton,
.carousel.photos .prevButton {
    border: 0.063rem solid #000;
    background-color: transparent;
    border: none;
    width: 1.875rem;
    height: 1.25rem;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.carousel.photos .expandButton {
    pointer-events: all;
    user-select: all;
    -moz-user-select: all;
    -webkit-user-select: all;
    -ms-user-select: all;
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.carousel.photos .nextButton > div,
.carousel.photos .prevButton > div {
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s;
}

.carousel.photos .nextButton {
    background-image: url("imgs/arrow_next.svg");
    right: 2.813rem;
}

.carousel.photos .prevButton {
    background-image: url("imgs/arrow_prev.svg");
    right: 5.313rem;
}

.carousel.photos .nextButton > div {
    background-image: url("imgs/arrow_next_over.svg");
}

.carousel.photos .prevButton > div {
    background-image: url("imgs/arrow_prev_over.svg");
}

.carousel.photos .nextButton:hover > div,
.carousel.photos .nextButton:focus > div {
    opacity: 1;
}

.carousel.photos .prevButton:hover > div,
.carousel.photos .prevButton:focus > div {
    opacity: 1;
}

.carousel.photos .carouselMask {
    width: calc(95% - 5.625rem);
    height: 100%;
    position: relative;
    margin-left: 2.813rem;
}

.carousel.photos .carouselSlideCounter {
    position: absolute;
    bottom: -2.5rem;
    left: 0;
    font-size: 1.875rem;
    color: #06563f;
    font-family: 'TungstenNarrow-Bold';
}

.carousel.photos .carouselSlideCounter span:nth-child(1) {
    font-size: 2.5rem;
    margin-right: 0.625rem;
}

.carousel.photos .carouselSlideCounter span:nth-child(2) {
    margin-left: 0.313rem;
}

@media (min-aspect-ratio: 3/4) {
    .carousel.photos ul {
        width: 150%;
    }

    .carousel.photos li {
        width: 50%;
    }

    .carousel.photos .nextButton,
    .carousel.photos .prevButton {
        display: block;
    }
}

@media (min-aspect-ratio: 3/2) {
    .carousel.photos ul {
        width: 100%;
    }

    .carousel.photos li {
        width: 33.333%;
    }
}


@media screen and (min-width: 64em) {

    /* 1024px */
    .carousel.photos {
        padding-left: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .carousel.photos .carouselMask {
        margin-left: 7.55007%;
    }

}

/*---------------------------------------------------------------------------------------------------------------------*/
.carousel.packageBlocks {
    width: 100%;
    position: relative;
    font-size: 1rem;
    color: #fff;
    padding-bottom: 2.813rem;
    min-height: inherit;
    height: inherit;
    overflow: visible;
    margin-bottom: 5.625rem;
}

@media screen and (max-width: 64em) {
    .post-57 .carousel.packageBlocks {
        margin-bottom: 1.9rem !important;
    }

    .post-914 .carousel.packageBlocks {
        padding-bottom: 0;
        margin-bottom: 12px !important;
    }

    .post-1790 .carousel.packageBlocks {
        margin-bottom: 1.125rem;
    }
}

.carousel.packageBlocks ul {
    position: relative;
    width: 300%;
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
}

.carousel.packageBlocks li img {
    width: 100%;
    height: auto;
    background-size: cover;
    background-position: 50% 50%;
    display: block;
}

.carousel.packageBlocks li {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0;
    list-style: none;
    position: relative;

    padding-right: 1.438rem;
}

.carousel.packageBlocks li .packageBlock .details {
    overflow: visible;
    max-height: inherit;
    transition: inherit;
    padding: 1.25rem 1.563rem;
}

.carousel.packageBlocks li .packageBlock .details .keyPoint {
    font-size: 1rem;
    line-height: 1.5rem;
    color: #000;
    font-weight: normal;
    padding: 1rem 0 0 0;
}

.carousel.packageBlocks li .packageBlock a {
    pointer-events: auto;
    cursor: pointer;
    display: block;

}

.carousel.packageBlocks li .packageBlock .visual {
    height: 19.375rem;
    padding: 0;
    position: relative;
    text-align: center;
}

.carousel.packageBlocks li .packageBlock .visual .cpi-filter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(2, 53, 69, 0.3);
    margin: 0;
    display: block;
}

.carousel.packageBlocks li .packageBlock .visual > div {
    margin-top: 3.125rem;
}

.carousel.packageBlocks li .packageBlock .visual > div,
.carousel.packageBlocks li .packageBlock .visual:before {
    display: inline-block;
    vertical-align: middle;
}

.carousel.packageBlocks li .packageBlock .visual:before {
    content: '';
    width: 0;
    height: 100%;
}

.carousel.packageBlocks li .packageBlock .visual h3 {
    font-size: 2.5rem;
    line-height: 2.5rem;
}

.carousel.packageBlocks li .packageBlock .visual h4 {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
    margin: 1.875rem 0 0 0;
}

.carousel.packageBlocks li > div {
    width: 100%;
    height: 100%;
    position: relative;
}

.carousel.packageBlocks li .text {
    position: absolute;
    bottom: 0;
    margin: 0.188rem 1.25rem;
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 600;
}

.carousel.packageBlocks li * {
    pointer-events: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

.carousel.packageBlocks .nextButton,
.carousel.packageBlocks .prevButton {
    border: 0.063rem solid #000;
    background-color: transparent;
    border: none;
    width: 1.875rem;
    height: 1.25rem;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.carousel.packageBlocks .expandButton {
    pointer-events: all;
    user-select: all;
    -moz-user-select: all;
    -webkit-user-select: all;
    -ms-user-select: all;
    cursor: pointer;
    /*	position:absolute;*/

}

.carousel.packageBlocks .nextButton,
.carousel.packageBlocks .prevButton {
    bottom: -1rem;
}

.carousel.packageBlocks .nextButton > div,
.carousel.packageBlocks .prevButton > div {
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s;
}

.carousel.packageBlocks .nextButton {
    background-image: url("imgs/arrow_next.svg");
    right: 2.813rem;
}

.carousel.packageBlocks .prevButton {
    background-image: url("imgs/arrow_prev.svg");
    right: 5.313rem;
}

.carousel.packageBlocks .nextButton > div {
    background-image: url("imgs/arrow_next_over.svg");
}

.carousel.packageBlocks .prevButton > div {
    background-image: url("imgs/arrow_prev_over.svg");
}

.carousel.packageBlocks .nextButton:hover > div,
.carousel.packageBlocks .nextButton:focus > div {
    opacity: 1;
}

.carousel.packageBlocks .prevButton:hover > div,
.carousel.packageBlocks .prevButton:focus > div {
    opacity: 1;
}

.carousel.packageBlocks .carouselMask {
    width: calc(95% - 5.625rem);
    height: 100%;
    position: relative;
    margin-left: 2.813rem;
}

.carousel.packageBlocks .carouselMask {
    height: 100%;
    width: calc(95% - 2.875rem);
    margin-left: 2.875rem;
}

@media screen and (max-width: 64em) {
    .post-57 .carousel.packageBlocks .carouselMask {
        margin-bottom: 1.9rem;
    }

    .post-57 .carousel.packageBlocks .nextButton,
    .post-57 .carousel.packageBlocks .prevButton {
        bottom: 3rem;
    }
}

.carousel.packageBlocks .carouselSlideCounter {
    position: absolute;
    bottom: -2.5rem;
    left: 0;
    font-size: 1.875rem;
    color: #06563f;
    font-family: 'TungstenNarrow-Bold';
}

.carousel.packageBlocks .carouselSlideCounter {
    bottom: -3.75rem;
}

@media screen and (max-width: 64em) {
    .post-914 .carousel.packageBlocks .carouselSlideCounter {
        bottom: -0.75rem;
    }

    .post-57 .carousel.packageBlocks .carouselSlideCounter {
        bottom: -1.75rem;
    }
}

.carousel.packageBlocks .carouselSlideCounter span:nth-child(1) {
    font-size: 2.5rem;
    margin-right: 0.625rem;
}

.carousel.packageBlocks .carouselSlideCounter span:nth-child(2) {
    margin-left: 0.313rem;
}

@media (min-aspect-ratio: 3/4) {
    .carousel.packageBlocks ul {
        width: 150%;
    }

    .carousel.packageBlocks li {
        width: 50%;
    }

    .carousel.packageBlocks .nextButton,
    .carousel.packageBlocks .prevButton {
        display: block;
    }
}

@media (min-aspect-ratio: 3/2) {
    .carousel.packageBlocks ul {
        width: 100%;
    }

    .carousel.packageBlocks li {
        width: 33.333%;
    }
}

@media (min-width: 32.5em) {

    /* 520px */
    .carousel.packageBlocks ul {
        width: 300%;
    }

    .carousel.packageBlocks li {
        width: 100%;
    }
}

@media (min-width: 48em) {

    /* 768px */
    .carousel.packageBlocks ul {
        width: 150%;
    }

    .carousel.packageBlocks li {
        width: 50%;
    }
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .carousel.packageBlocks {
        width: calc(100% - 8.875rem);
        padding-left: 0;
        margin-left: auto;
        margin-right: 0;

    }

    .carousel.packageBlocks .carouselMask {
        margin-left: 7.55007%;
    }

    .carousel.packageBlocks ul {
        width: 100%;
    }

    .carousel.packageBlocks li {
        width: 33.33333%;
    }
}

/*---------------------------------------------------------------------------------------------------------------------*/
#followCTAStart {
    text-align: center;
    width: 100%;
}

#followCTAStop {
    height: 6rem;
}

#followCTA {
    border-top: 0.125rem solid #1dd761;
    background-color: #000;
    width: 100%;
    height: 6rem;
    box-sizing: border-box;
    color: #fff;
    display: flex;
    align-items: center;
}


#followCTA .followCTAContainer {
    width: 23.438rem;
    display: flex;
    padding: 0 1.875rem;
    margin: 0 auto;
}

#followCTA .followCTAContainer > div {
    flex: 1;
}

#followCTA .offer {
    font-family: 'TungstenNarrow-Bold';
}

#followCTA .ctaContainer {
    text-align: right;
}

#followCTA a {
    background-color: #1dd761;
    color: #06563f;
    font-family: Poppins;
    font-weight: 600;
    font-size: 1.125rem;
    border: none;
    letter-spacing: .05rem;
    padding: 0.625rem 1.375rem 0.625rem 1.375rem;
    display: inline-block;
    text-decoration: none;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    #followCTAStart,
    #followCTAStop,
    #followCTA {
        display: none;
    }
}

@media screen and (max-width: 23.375em) {

    /* 374px */
    #followCTA a {
        font-size: 1rem;
    }
}

#followCTA .offer .off {
    font-size: 2.5rem;
    text-align: left;
}

#followCTA .offer .off span {
    font-size: 1.375rem;
    top: -0.8rem;
    position: relative;
    left: .3rem;
}

#followCTA .offer .condition {
    font-family: 'TungstenNarrow-Medium';
    font-size: 1.125rem;
    text-align: left;
    margin-top: -.5rem;
}

#followCTA.followCTAFixed {
    position: fixed;
    bottom: 0;
    z-index: 4;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    #followCTA {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    #followCTA.followCTAFixed {
        right: 0;
    }
}

/*----------------------------------------------------------------------------------------------------------------------------------*/
.prefooter .adress {
    width: 100%;
    background-color: #06563f;
    color: #fff;
    font-weight: 500;
    box-sizing: border-box;
    padding: 1.875rem 2.813rem 1.938rem 2.813rem;
}

.prefooter .adress .visual {
    display: none;
}

.prefooter .adress h2 {
    font-size: 2.5rem;
    line-height: 2.5rem;
    color: #fff;
    margin: 0 0 1.5rem 0;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
}

.prefooter .adress p {
    margin: 0 0 1rem 0;
    line-height: 1.5rem;
    font-weight: normal;
}

.prefooter .adress p.open,
.prefooter .adress p.close {
    position: relative;
    padding-left: 0.938rem;
    margin-bottom: 1.25rem;
}

.prefooter .adress p.open:before,
.prefooter .adress p.close:before {
    content: "";
    display: inline-block;
    width: 0.563rem;
    height: 0.563rem;
    border-radius: 50%;
    position: absolute;
    top: 0.5rem;
    left: 0;
}

.prefooter .adress p.open:before {
    background-color: #1dd761;
}

.prefooter .adress p.close:before {
    background-color: red;
}

.prefooter .informationLink a {
    color: #fff;
}

.prefooter .informationLink a span {
    border-bottom: 0.063rem solid #1dd761;
    font-weight: 500;
    font-size: 0.938rem;
    line-height: 2rem;
}

.prefooter .geolink {
    display: block;
    height: 19rem;
    width: 100%;
    display: flex;
}

.prefooter .geolink .map {
    flex: 0.59;
    background-size: cover;
    background-position: 50% 30%;
}

.prefooter .geolink .visual {
    flex: 0.41;
    background-size: cover;
    background-position: 50% 50%;
}

@media screen and (min-width: 56.25em) {

    /* 900px */
    .prefooter .adress {
        max-width: 55.938rem;
        height: 26.5rem;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        padding: 0 6.875rem;
        z-index: 2;
    }

    .prefooter .adress > div,
    .prefooter .adress:before {
        display: inline-block;
        vertical-align: middle;
    }

    .prefooter .adress > div {
        width: 21.063rem;
    }

    .prefooter .adress:before {
        content: '';
        width: 0;
        height: 100%;
    }

    .prefooter .adress .visual {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 21.125rem;
        background-size: cover;
        background-position: 50% 50%;
    }

    .prefooter .adress h2 {
        font-size: 4.063rem;
        line-height: 3.5rem;
    }

    .prefooter .adress p {
        font-size: 1.125rem;
        line-height: 1.5rem;
    }

    .prefooter .informationLink a span {
        font-size: 1.375rem;
        line-height: 2rem;
    }

    .prefooter .geolink {
        height: 48.5rem;
        position: relative;
        z-index: 1;
        margin-top: -19.188rem;
        display: block;
    }

    .prefooter .geolink .visual {
        display: none;
    }

    .prefooter .geolink .map {
        height: 100%;
    }
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .prefooter {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }
}

footer .end {
    padding: 1.563rem 2.5rem 2.813rem 2.5rem;
}

footer .end ul,
footer .end li {
    list-style: none;
    list-style-type: none;
    padding: 0;
    margin: 0;
}



footer .end .socialBlock {
    font-size: 0.75rem;
    font-weight: 500;
    display: flex;
}

footer .end .socialBlock > * {
    flex: 1;
}

footer .end .socialList li a {
    display: block;
}

footer .end .socialList {
    display: flex;
    align-items: flex-end;
    padding-left: 0.5rem;
}

footer .end .socialList li {
    display: inline-block;
}

footer .end .socialList p {
    margin-bottom: 0.625rem;
}

footer .end .socialList img {
    height: 1.563rem;
    margin-right: 0.625rem;
}

footer .end .footlinks {
    padding: 2.5rem 0 3.75rem 0;
    column-count: 2;
    position: relative;
}

footer .end .footlinks ul li:nth-child(1),
footer .end .footlinks ul li:nth-child(2),
footer .end .footlinks ul li:nth-child(3) {
    margin-left: 1.25rem;
}

footer .end .footlinks a {
    display: block;
    font-size: 0.9375rem;
    font-weight: 500;
    text-decoration: none;
    margin-bottom: 1.25rem;
    color: #000;
}

footer .end .footlinks a span {
    padding-bottom: 0;
    border-bottom: 0.063rem solid #000;
}

footer .end .copyright {
    font-size: 0.75rem;
    font-weight: 500;
    color: #999;
    margin-left: 1.25rem;
    position: absolute;
    left: 0;
    bottom: 0;
}

footer .end .copyright p,
footer .end .copyright img {
    display: inline-block;
    vertical-align: bottom;
}

footer .end .copyright p {
    margin: 0 1rem 0 0;
    padding: 0;
    position: relative;
    top: 0.438rem;
}

footer .end .copyright img {
    width: 6.25rem;
    margin-left: -0.313rem;
}

footer .end .socialList ul li:nth-child(1) img {
    width: 1.563rem;
    height: 1.563rem;
}

footer .end .socialList ul li:nth-child(2) img {
    width: 2.188rem;
    height: 1.563rem;
}

footer .end .socialList ul li:nth-child(3) img {
    width: 1.875rem;
    height: 1.563rem;
}

@media screen and (max-width: 23.375em) {

    /* 374px */
    footer .end {
        padding-left: 0.938rem;
        padding-right: 0.938rem;
    }
}

@media screen and (min-width: 64em) {

    /* 1024px */
    footer .end {
        padding-left: 6.25rem;
        position: relative;
    }

    footer .end .copyright img {
        width: 7.188rem;
    }

    footer .end .copyright {
        font-size: 1rem;
        margin-left: 0;
        position: relative;
        padding-top: 0.625rem;
    }

    footer .end .copyright p {
        margin: 0 1rem 0 0;
    }

    footer .end .socialBlock > * {
        display: inline-block;
        vertical-align: middle;
    }

    footer .end .socialList div > p,
    footer .end .socialList div > div {
        display: inline-block;
        vertical-align: middle;
    }

    footer .end .socialList div p {
        font-size: 0.9375rem;
        margin: 0 2rem 0 0;
        position: relative;
        bottom: 0.25rem;
    }

    footer .end .socialList {
        padding-left: 6.625rem;
    }

    footer .end .socialList img {
        margin-right: 0;
    }

    footer .end .socialBlock-logo img {
        width: 9.125rem;
    }

    footer .end .footlinks {
        padding: 0;
        column-count: inherit;
        top: 6.625rem;
        position: absolute;
        left: 22.125rem;
    }

    footer .end li {
        display: inline-block;
        vertical-align: middle;
        margin-right: 1.688rem;
    }

    footer .end li:last-child {
        margin-right: 0;
    }

    footer .end .footlinks ul li:nth-child(1),
    footer .end .footlinks ul li:nth-child(2),
    footer .end .footlinks ul li:nth-child(3) {
        margin-left: 0;
    }

    footer .end .footlinks a {
        margin-bottom: 0;
    }

    footer .end .socialBlock,
    footer .end .footlinks,
    footer .end .footlinks ul {
        display: inline-block;
    }

    footer .end .copyright,
    footer .end .footlinks ul {
        vertical-align: middle;
    }

    footer .end .footlinks ul {
        padding-top: 0.313rem;
    }
}

@media screen and (min-width: 82.438em) {

    /* 1319px */
    footer .end .copyright {
        display: inline-block;
        padding-top: 0;
    }

    footer .end .copyright {
        left: 10.27778%;
        top: -0.5rem;
    }

    footer .end .footlinks ul {
        padding-top: 0;
    }
}

@media (max-width: 767px) {
    footer .end .footlinks ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-content: flex-start;
        align-items: flex-start;
        align-content: flex-start;
        margin-left: 0.75rem;
    }

    footer .end .copyright {
        margin-left: 0.5rem;
        position: relative;
    }

    .copyright #accessibilityWidget {
        position: absolute;
        margin-top: 2.5rem !important;
    }

    footer .end .footlinks ul li:nth-child(1),
    footer .end .footlinks ul li:nth-child(2),
    footer .end .footlinks ul li:nth-child(3) {
        margin-left: 0;
    }

    footer .end .footlinks {
        column-count: 1;
        padding-bottom: 0;
    }
}

/*---------------------------------------------------------------------------------------------------------------------------*/
.heroFilter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(1, 24, 33, 0.3);
    z-index: 1;
}

.heroVideo,
.heroPhoto,
.heroHome,
.heroEvents,
.articleHead {
    width: 100%;
    height: 100vh;
    background-color: #eee;
    overflow: hidden;
    position: relative;
    z-index: 5;
}

.heroPhoto h1,
.heroVideo h1,
.heroHome h1,
.heroEvents h1 {
    margin: 0;
}

.heroPhoto .logo,
.heroVideo .logo,
.heroHome .logo,
.heroEvents .logo,
.articleHead .logo,
nav.bandeaufixed .logo,
.entry-header .logo {
    position: absolute;
    top: 1.25rem;
    left: 2.813rem;
    z-index: 6;
}

.heroHome .logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.heroHome .logo__img-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.heroHome .logo__title {
    font-family: 'POPPINS';
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 3px;
    text-align: center;
    margin-bottom: 12px;
}

.heroHome .logo span {
    font-family: "Poppins";
    font-weight: 600;
    font-size: 12px;
    display: inline-block;
    padding: 0px 4px 0px 16px;
    color: #fff;
}

.heroHome .logo img {
    height: 42px;
    width: auto;
}

.entry-header .logo {
    position: relative;
}

.entry-header h1 {
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    font-size: 4.0625rem;
    line-height: 3.4375rem;
    color: #06563f;
    margin: 2.75rem 2.813rem 1.875rem 2.813rem;
    padding: 0;
}

.entry-header + .bandeau-notification {
    margin-bottom: 1.875rem;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .heroPhoto .logo,
    .heroVideo .logo,
    .heroHome .logo,
    .heroEvents .logo,
    .articleHead .logo,
    nav.bandeaufixed .logo,
    .entry-header .logo {
        left: 11.875rem;
    }

    .entry-header-title {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .entry-header h1 {
        margin-left: 0;
        margin-right: 0;
        padding-left: 7.55007%;
        padding-right: 18.48998%;
    }
}

.heroHome div.logo {
    top: inherit;
    left: inherit;
    bottom: 0.625rem;
    right: 1.625rem;
}


@media (max-width: 767px) {
    .heroHome div.logo {
        left: calc(50% - 150px);
        bottom: 5.625rem;
        width: 300px;
    }

    .heroHome .heroPhotoContentContainer {
        bottom: 12.75rem;
    }
}

.heroVideo:before {
    display: none;
}

.heroVideo:after {
    content: url("imgs/hero_arrowdown.svg");
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1.375rem;
}

.heroHome:after,
.heroPhoto:after,
.heroVideo:after {

    /*animation:arrowHero cubic-bezier(0.350, 0, 0.650, 1) 1s infinite alternate;*/

}


@keyframes arrowHero {
    from {
        bottom: 1.375rem;
    }

    to {
        bottom: 0.675rem;
    }

}

.heroVideoVisualContainer {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 50%;
    background-color: #000;
}

.heroVideoVisualContainer > img.placeHolder {
    height: 100%;
    width: auto;
}

.heroVideoVisualContainer .video {
    position: absolute;
    width: auto;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.heroVideoContentContainer {
    position: absolute;
    width: 100%;
    bottom: 5rem;
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
}

.heroVideoContentContainer .condition {
    text-align: center;
    width: 100%;
    margin: 0.625rem 0;
}

.heroPhotoContentContainer .whiteCTA,
.heroVideoContentContainer .whiteCTA {
    text-align: center;
}

.heroPhotoContentContainer a,
.heroVideoContentContainer a {
    color: #fff;
}

.heroPhotoContentContainer .linkCTA a span {
    border-bottom: 0.063rem solid #1dd761;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .heroVideo:before {
        content: '';
        height: 100%;
        border-right: 0.063rem solid rgba(255, 255, 255, 0.4);
        display: block;
        position: absolute;
        top: 0;
        left: 8.813rem;
        z-index: 2;
    }

    .heroVideoContentContainer {
        text-align: center;
        bottom: 12.375rem;
    }

    .heroVideoContentContainer .whiteCTA,
    .heroVideoContentContainer .condition {
        display: inline-block;
        vertical-align: middle;
        width: auto;
        margin: 0;
    }

    .heroVideoContentContainer .whiteCTA {
        margin-right: 2.125rem;
    }
}

.hvLeft .heroVideoVisualContainer {
    width: auto;
    left: 0;
}

.hvRight .heroVideoVisualContainer {
    width: auto;
    left: auto;
    right: 0;
}

.hvMiddle .heroVideoVisualContainer {
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
}

.hvTierLeft .heroVideoVisualContainer,
.hvQuartLeft .heroVideoVisualContainer {
    left: 0%;
}

@media (max-aspect-ratio: 8/9) {
    .hvQuartLeft .heroVideoVisualContainer {
        left: 50%;
        width: auto;
        transform: translateX(-25%);
    }
}

@media (max-aspect-ratio: 32/27) {
    .hvQuartLeft .heroVideoVisualContainer {
        left: 50%;
        width: auto;
        transform: translateX(-33%);
    }
}

.hvTierRight .heroVideoVisualContainer,
.hvQuartRight .heroVideoVisualContainer {
    right: 0%;
    left: auto;
    width: auto;
}

@media (max-aspect-ratio: 8/9) {
    .hvQuartRight .heroVideoVisualContainer {
        right: 50%;
        width: auto;
        transform: translateX(25%);
    }
}

@media (max-aspect-ratio: 32/27) {
    .hvTierRight .heroVideoVisualContainer {
        right: 50%;
        width: auto;
        transform: translateX(33%);
    }
}

@media (min-aspect-ratio: 16/9) {
    .heroVideoVisualContainer > img.placeHolder {
        height: auto !important;
        width: 100% !important;
    }

    .heroVideoVisualContainer {
        width: 100% !important;
        height: auto !important;
        left: 50% !important;
        right: auto !important;
        top: 50%;
        transform: translateX(-50%) translateY(-50%) !important;
    }
}

/* ----------------------------------------------------------------------------------------------------------- */
.heroPhotoVisualContainer {
    position: absolute;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-color: #000;
}

.heroPhotoContentContainer {
    position: absolute;
    width: 100%;
    bottom: 6.75rem;
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
    padding-left: 2.813rem;
    box-sizing: border-box;
    z-index: 2;
}

.heroPhotoContentContainer h1,
.heroPhotoContentContainer h2,
.heroPhotoContentContainer .text {
    max-width: 17.5rem;
}

.heroPhotoContentContainer h1 {
    font-family: 'TungstenNarrow-Semibold';
    font-size: 4.0625rem;
    line-height: 3.4375rem;
}

.heroHome-alt .heroPhotoContentContainer h1 {
    font-size: clamp(50px, 10vw, 75px);
    line-height: .85;
    letter-spacing: 1px;
    text-transform: capitalize;
    max-width: 40.938rem;
}

.heroPhotoContentContainer h2 {
    font-family: Poppins;
    color: #fff;
    font-weight: 500;
    font-size: 1.4375rem;
    line-height: 2rem;
}

.heroPhotoContentContainer .text {
    padding-bottom: 0.625rem;
    margin-right: 2.813rem;
    line-height: 1.5rem;
}

.heroPhoto:before {
    display: none;
}

.heroPhotoContentContainer .condition {
    text-align: center;
    width: 100%;
    margin: 0.625rem 0;
}

.heroPhotoContentContainer .buttons > div {
    display: inline-block;
    margin-right: 0.438rem;
}

.heroPhotoContentContainer .whiteCTA {
    text-align: left;
}

.hvMiddle .heroPhotoVisualContainer {
    background-position: 50% 50%;
}

.hvLeft .heroPhotoVisualContainer {
    background-position: 0% 50%;
}

.hvTierLeft .heroPhotoVisualContainer {
    background-position: 33.3333% 50%;
}

.hvQuartLeft .heroPhotoVisualContainer {
    background-position: 25% 50%;
}

.hvRight .heroPhotoVisualContainer {
    background-position: 100% 50%;
}

.hvTierRight .heroPhotoVisualContainer {
    background-position: 66.6666% 50%;
}

.hvQuartRight .heroPhotoVisualContainer {
    background-position: 75% 50%;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .heroPhoto:before {
        content: '';
        height: 100%;
        border-right: 0.063rem solid rgba(255, 255, 255, 0.4);
        display: block;
        position: absolute;
        top: 0;
        left: 8.813rem;
        z-index: 2;
    }

    .heroPhotoContentContainer {
        bottom: inherit;
        padding-left: 21rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .heroPhotoContentContainer h1,
    .heroPhotoContentContainer h2,
    .heroPhotoContentContainer .text {
        max-width: 40.938rem;
    }

    .heroPhotoContentContainer h1 {
        font-size: 8.75rem;
        line-height: 7.1875rem;
    }

    .heroPhotoContentContainer h2 {
        font-size: 2rem;
        line-height: 3rem;
    }

    .heroPhotoContentContainer .text {
        font-size: 1.375rem;
        line-height: 2rem;
    }

    .heroVideoContentContainer a,
    .heroPhotoContentContainer a {
        font-size: 1.5rem;
    }

    .heroPhotoContentContainer .buttons > div {
        margin-right: 0.875rem;
    }
}

/* ----------------------------------------------------------------------------------------------------------- */
.heroEvents:before {
    display: none;
}

.heroEvents:after {
    content: url("imgs/hero_arrowdown.svg");
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1.375rem;
    z-index: 2;
}

.heroEvents .date {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.75rem;
    margin-top: 1.25rem;
}

.heroEvents .date .line {
    width: 2.125rem;
    height: 0.063rem;
    background-color: #fff;
    margin: 0 1rem;
}

.heroEvents .date > div {
    display: inline-block;
    vertical-align: middle;
}

.heroEvents .heroPhotoContentContainer .linkCTA a span {
    border-bottom: 0.125rem solid #1dd761;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .heroEvents:before {
        content: '';
        height: 100%;
        border-right: 0.063rem solid rgba(255, 255, 255, 0.4);
        display: block;
        position: absolute;
        top: 0;
        left: 8.813rem;
        z-index: 2;
    }

    .heroEvents .date {
        font-weight: 500;
        font-size: 1.6875rem;
        line-height: 2.625rem;
        margin-top: 1.25rem;
    }
}

/* ----------------------------------------------------------------------------------------------------------- */
.heroHome:before {
    display: none;
}

.heroHome:after {
    content: url("imgs/hero_arrowdown.svg");
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1.375rem;
    z-index: 2;
}

.heroHome .date {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.75rem;
    margin-top: 1.25rem;
}

.heroHome .date .line {
    width: 2.125rem;
    height: 0.063rem;
    background-color: #fff;
    margin: 0 1rem;
}

.heroHome .date > div {
    display: inline-block;
    vertical-align: middle;
}

.heroHome .heroPhotoContentContainer .linkCTA a span {
    border-bottom: 0.125rem solid #1dd761;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .heroHome:before {
        content: '';
        height: 100%;
        border-right: 0.063rem solid rgba(255, 255, 255, 0.4);
        display: block;
        position: absolute;
        top: 0;
        left: 8.813rem;
        z-index: 2;
    }

    .heroHome .date {
        font-weight: 500;
        font-size: 1.6875rem;
        line-height: 2.625rem;
        margin-top: 1.25rem;
    }
}

/* ----------------------------------------------------------------------------------------------------------- */
.articleHead {
    background-color: #fff;
    color: #fff;
    font-family: 'TungstenNarrow-Semibold';
}

.articleHead .visual {
    position: absolute;
    width: calc(100% - 2.813rem);
    height: calc(100% - 12.5rem);
    right: 0;
    top: 9.375rem;
    background-size: cover;
    background-position: 50% 50%;
}

.articleHead .visual > div {
    position: absolute;
    left: 0.938rem;
    right: 0.938rem;
    bottom: 0.75rem;
}

.articleHead h1 {


    font-size: 4.0625rem;
    margin: 0;
    line-height: 3.4375rem;
    color: #fff;

}

.articleHead .category {
    font-size: 1.5rem;
    line-height: 1.5rem;
    margin-bottom: 0.313rem;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .articleHead .visual {
        width: calc(100% - 8.875rem);
        z-index: 2;
    }

    .articleHead:before {
        content: '';
        width: 0.063rem;
        /*height: calc(100% - 3.125rem);*/
        height: 100%;
        background-color: rgba(6, 86, 63, 0.3);
        display: block;
        position: absolute;
        top: 0;
        left: 8.813rem;
        z-index: 1;
    }

    .articleHead .visual > div {
        left: 4.188rem;
        right: 4.188rem;
        bottom: 5.938rem;
    }

    .articleHead .category {
        font-size: 3.125rem;
        line-height: 6.25rem;
        margin-bottom: 0;
    }

    .articleHead h1 {
        /*
		max-width: 40.938rem;
		font-size: 8.75rem;
		line-height: 7.188rem;
		*/
        max-width: 100%;
        font-size: 5.75rem;
        line-height: 4.88rem;
        letter-spacing: .03em;

    }
}

/*------------------------------------------------------------------------------------------------------------------------*/
.imageBlock {
    margin-bottom: 0;
}

.imageBlock a {
    color: #000;
    text-decoration: none;
    width: 100%;
    height: calc(75vh - 5.625rem);
    display: flex;
}

.imageBlock .visual {
    flex: 0.6;
    height: 100%;
    background-size: cover;
    background-position: 50% 50%;
}

.imageBlock .title {
    flex: 0.4;
    display: flex;
    flex-direction: column;
}

.imageBlock .line {
    width: 0.063rem;
    background-color: #000;
    flex: 1;
    margin: auto;
    margin-bottom: 1.25rem;
}

.imageBlock .text {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);

    margin: auto;
}

.imageBlock .text span {
    border-left: 0.063rem solid #000;
}

.imageBlock .twocolors .text span:last-child {
    color: #06563f;
    font-weight: 600;
    border-left: 0.063rem solid #06563f;
}

.imageBlock .twocolors .line {
    background-color: #06563f;
}

_:-ms-fullscreen,
:root .imageBlock .text span {
    /* To IE 11 and above */
    position: relative;
    top: calc(50% - 0.75rem);
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .imageBlock {
        padding-left: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .imageBlock .text span {
        font-size: 1.25rem;
    }

}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.textwidget {
    padding-left: 2.813rem;
    padding-right: 2.813rem;
    padding-bottom: 0;
    text-align: center;
    margin-bottom: 0;
}

.textwidget > * {
    text-align: left;
}

.textwidget p {
    margin-top: 0.938rem;
    margin-bottom: 0;
}

@media screen and (max-width: 64em) {
    .textwidget p {
        margin-top: 1.9rem;
        margin-bottom: 0;
    }

    .no-p-margin-change .textwidget p {
        margin-top: .938rem;
    }
}

.textwidget p + h3 {
    margin-top: 0.938rem;
}

.textwidget p + h2 {
    margin-top: 2rem;
}

.textwidget p + ul,
.textwidget p + ul.tirets {
    margin-top: 1rem;
}

@media screen and (max-width: 64em) {

    .textwidget p + ul,
    .textwidget p + ul.tirets {
        margin-top: 1.9rem;
    }
}

.textwidget p + aside {
    margin-top: 2rem;
}

.textwidget h2,
.textwidget .h3-alt {
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin-right: 30%;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    color: #06563f;
    margin: 0 0 0 0;
}

@media screen and (max-width: 64em) {
    .post-671 .textwidget h2 {
        margin-bottom: 30px;
    }
}

.textwidget h3 {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5rem;
    letter-spacing: normal;
    color: #000;
    padding: 0;
    margin: 0 0 0 0;
}

.textwidget .h2--large {
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    font-size: 3.2625rem;
    line-height: 2.8375rem;
    color: #06563f;
    margin: 2.75rem 0rem 1.875rem;
    padding: 0;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .textwidget .h2--large {
        margin-left: 0;
        margin-right: 0;
        padding-left: 7.55007%;
        padding-right: 18.48998%;
        font-size: 4.0625rem;
        line-height: 3.4375rem;
    }
}

@media screen and (max-width: 64em) {

    .post-494 .textwidget h3,
    .post-57 .textwidget h3,
    .post-962 .textwidget h3 {
        margin-top: 30px;
    }
}

.textwidget .tirets,
.textwidget .tirets li {
    list-style-type: none;
    list-style: none;
    padding: 0;
    margin: 0;
}

.textwidget .tirets {
    margin-bottom: 2rem;
}

@media screen and (max-width: 64em) {
    .post-494 .textwidget .tirets {
        margin-top: 30px;
    }

    .textwidget .tirets {
        margin-bottom: 0rem;
    }
}

@media screen and (max-width: 64em) {
    .post-671 .alignright {
        display: block;
        margin-bottom: 30px;
        float: none;
        margin: 0 auto;
    }

    .textwidget .tirets {
        margin-bottom: 0rem;
        clear: both;
    }
}

.textwidget .tirets li {
    display: block;
    position: relative;
    padding-left: 3rem;
    font-weight: normal;
    line-height: 1.5rem;
    margin-bottom: 0.5rem;
}

@media screen and (max-width: 64em) {
    .textwidget .tirets li:last-of-type {
        margin-bottom: 0rem;
    }
}

.textwidget .tirets li:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    height: 0.063rem;
    margin-top: -0.031rem;
    width: 2rem;
    background-color: #06563f;
}

.textwidget a {
    color: #000;
}

.textwidget a span {
    border-bottom: 0.063rem solid #1dd761;
}

.textwidget aside {
    position: relative;
    font-size: 0.8125rem;
    line-height: 1.25rem;
    margin-top: 3.125rem;
    display: inline-block;
    margin: auto;
    max-width: 46.75rem;
}

.textwidget aside:before {
    content: url("imgs/aside_cross.svg");
    position: absolute;
    width: 1.188rem;
    top: -0.594rem;
    left: -0.594rem;
}

.textwidget aside div {
    padding: 1.25rem;
    position: relative;
}

.textwidget aside div:after,
.textwidget aside div:before {
    content: "";
    display: block;
    position: absolute;
    background-color: #92b5ab;
}

.textwidget aside div:after {
    width: 0.063rem;
    height: 50%;
    left: -0.031rem;
    top: 0.75rem;
}

.textwidget aside div:before {
    width: 70%;
    height: 0.063rem;
    left: 0.75rem;
    top: -0.031rem;
}

.textwidget aside p {
    margin-top: 0;
}

.textwidget ul,
.textwidget li {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    list-style-type: none;
    list-style: none;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .textwidget {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .textwidget p,
    .textwidget .tirets,
    .textwidget h2,
    .textwidget h3,
    .textwidget ul {
        padding-left: 7.55007%;
        padding-right: 18.48998%;
    }

    .textwidget aside {
        font-size: 0.938rem;
        line-height: 1.5rem;
    }

    .textwidget aside div {
        padding: 1.875rem 0 1.25rem 2.5rem;
    }

    .textwidget aside div:after {
        height: 80%;
    }

    .textwidget aside div:before {
        width: 100%;
    }

    .textwidget aside p {
        padding-left: 0;
        padding-right: 0;
    }
}

.second-column .textwidget {
    margin-left: 0;
}

.p-top-margin-sm .textwidget p {
    margin-top: .28rem;
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.packageBlock {
    width: calc(100% - 2.5rem);
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 1.875rem;
}

div.packageBlock:last-child {
    margin-bottom: 0;
}

.packageBlock .visual {
    height: 12.5rem;
    color: #fff;
    box-sizing: border-box;
    padding: 2.5rem 1.563rem;
    background-position: 50% 50%;
    background-size: cover;
    position: relative;
    background-color: #000;
}

.packageBlock .packageBlock-filter {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(2, 53, 69, 0.3);
    top: 0;
    left: 0;
}

.packageBlock.cityPass .visual {
    height: 25rem;
    position: relative;
}

.packageBlock.cityPass .visual h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    max-width: 18.75rem;
    text-align: center;
}

.packageBlock.cityPass .visual img {
    width: 100%;
}

.packageBlock.cityPass .visual span {
    display: block;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.75rem;
    text-align: center;
    color: #fff;
    font-family: Poppins;
}

.packageBlock h3 {
    font-family: 'TungstenNarrow-Semibold';
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin: 0;
    padding: 0;
    font-weight: 600;
    position: relative;
}

.packageBlock button.expandButton,
.packageBlock div.expandButton {
    position: absolute;
    width: 5rem;
    height: 5rem;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    border: none;
    background-color: rgba(255, 255, 255, .5);
    border-radius: 50%;
    text-align: center;
    display: block;
    cursor: pointer;

    font-size: 0;
    line-height: 0;
    padding: 0;


}

.packageBlock button.expandButton .plus,
.packageBlock div.expandButton .plus {
    width: 3.75rem;
    height: 3.75rem;
    display: inline-block;
    background-color: #fff;
    border-radius: 50%;
    position: relative;
    margin-top: 0.625rem;
}

.packageBlock button.expandButton .plus:before,
.packageBlock button.expandButton .plus:after,
.packageBlock div.expandButton .plus:before,
.packageBlock div.expandButton .plus:after {
    position: absolute;
    content: "";
    font: 0;
    width: 0.125rem;
    height: 1.875rem;
    background-color: #1dd761;
    display: block;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: all 300ms cubic-bezier(0.050, 0.935, 0.500, 1.000);
}

.packageBlock button.expandButton .plus:before,
.packageBlock div.expandButton .plus:before {
    transform: translateX(-50%) translateY(-50%) rotate(90deg);
}

.packageBlock.expand button.expandButton .plus:after {
    transform: translateX(-50%) translateY(-50%) rotate(90deg);
}

.packageBlock .content {
    border: 0.063rem solid #ddd;
    border-top: none;
}

.packageBlock .details {
    overflow: hidden;
    max-height: 0;
    padding: 2.188rem 1.563rem 0 1.563rem;
    transition: all 300ms cubic-bezier(0.050, 0.935, 0.500, 1.000);
}

.packageBlock .details ul,
.packageBlock .details li {
    list-style-type: none;
    list-style: none;
    margin: 0;
    padding: 0;
}

.packageBlock .details li {
    margin-top: 0.625rem;
    font-size: 0.813rem;
    line-height: 0.875rem;
    font-weight: normal;
    padding-left: 1.563rem;
    position: relative;
}

.packageBlock .details li:nth-child(1) {
    margin-top: 0.938rem;
}

.packageBlock.expand .details {
    max-height: inherit;
}

.packageBlock .details .keyPoint {
    line-height: 1.5rem;
    font-weight: 500;
    margin: 0;
}

.packageBlock .details .keyPoint + ul {
    padding-bottom: 1.875rem;
}

.packageBlock .details li.ok:before,
.packageBlock .details li.no:before,
.packageBlock .details li.access:before,
.packageBlock .details li.toDownload:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    background-size: cover;
}

.packageBlock .details li.ok:before,
.packageBlock .details li.no:before {
    top: 0.125rem;
}

.packageBlock .details li.toDownload:before {
    top: 0.313rem;
}

.packageBlock .details li.access:before {
    top: 50%;
    transform: translateY(-50%);
}

.packageBlock .details li.ok:before {
    width: 0.75rem;
    height: 0.5rem;
    background-image: url("imgs/package_ok.png");
}

.packageBlock .details li.no:before {
    width: 0.75rem;
    height: 0.625rem;
    background-image: url("imgs/package_no.png");
}

.packageBlock .details li.no {
    color: #999;
}

.packageBlock .details li.access:before {
    width: 1rem;
    height: 1.25rem;
    background-image: url("imgs/package_access.png");
}

.packageBlock .details li.toDownload:before {
    width: 0.875rem;
    height: 1rem;
    background-image: url("imgs/package_download.svg");
}

.packageBlock .details li.toDownload a {
    color: #06563f;
    border-bottom: 0.063rem solid #06563f;
    line-height: 1.313rem;
}

.packageBlock .sharespace {
    margin-top: 0;
    margin-bottom: 1.875rem;
}

.packageBlock .sharespace a {
    color: #000;
    /*border-bottom: 0.063rem solid #1dd761;*/
}

.packageBlock .sharespace img {
    height: 36px;
    margin-right: 10px;
}

.packageBlock .offlineDisclamer {
    background-color: #f4f4f4;
    font-size: 0.813rem;
    line-height: 1.25rem;
    text-align: center;
    margin: 0;
    padding-top: 0.188rem;
    padding-bottom: 0.313rem;
}

.packageBlock .text {
    padding: 2.5rem 0.938rem 0 0.938rem;
    font-weight: 400;
}

.packageBlock .offer {
    padding: 0 1rem;
    font-weight: normal;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    min-height: 3.75rem;
    margin-bottom: 0.625rem;
    justify-content: space-between;
}

/*.packageBlock .offer > div {
	flex: 1;
}*/
.packageBlock .price {
    font-weight: bold;
    color: #06563f;
    margin-left: 0.5rem;
}

.packageBlock .firstPrice {
    font-weight: normal;
    color: rgba(0, 0, 0, 0.3);
    margin-left: 0.5rem;
    position: relative;
}

.packageBlock .firstPrice:before {
    content: "";
    width: 100%;
    height: 0.063rem;
    background-color: rgba(151, 151, 151, 0.7);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.packageBlock .prices {
    white-space: nowrap;
    position: relative;
    display: table;
    width: calc(100% - 8rem);
    max-width: 12rem;

}

.packageBlock .prices .onlineFirstLine {
    /*position: absolute;*/
    top: -1.25rem;
    right: 0;
}

.packageBlock .prices .onlineFirstLine .price,
.packageBlock .prices .onlineFirstLine .firstPrice {
    font-size: 0.563rem;
}

.packageBlock .prices .onlineFirstLine .firstPrice {
    margin: 0.2rem;
}

.packageBlock .prices .onlineFirstLine .firstPrice:before {
    display: none;
}

.packageBlock .prices > div {
    font-size: 0.9rem;
    line-height: 1.25rem;
    display: table-row;
}

.packageBlock .prices > div > div {
    display: table-cell;
}

.packageBlock .prices > div > div:nth-child(n+1) {
    text-align: center;
}

.packageBlock .CTAContainer {
    text-align: right;
}

.packageBlock .buyCTA a {
    font-weight: 600;
    color: #06563f;
    background-color: #1dd761;
    padding: 0.625rem;
    letter-spacing: 0.034rem;
    font-size: 0.894rem;
    line-height: 1.188rem;
    white-space: nowrap;
}

.packageBlock.offlinePackageBlock .buyCTA span {
    background-color: transparent;
    padding: 0;
    opacity: 0.5;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.5rem;
    letter-spacing: 0.044rem;
    color: #111;
}

.packageBlockContainer {
    margin: 0;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .packageBlockContainer {
        padding-left: 0;
        padding-right: 0;
        margin-left: auto;
        margin-right: 0;
        width: calc(100% - 8.875rem);
    }

    .packageBlockContainer > div {
        display: flex;
        flex-wrap: wrap;
        width: 92.44993%;
        margin-left: auto;
        margin-right: 0;
    }

    .packageBlockContainer .packageBlock {
        margin: 0 2% 1.875rem 0;
        width: 48%;
    }

    .packageBlockContainer div.packageBlock:nth-last-child(1),
    .packageBlockContainer div.packageBlock:nth-last-child(2) {
        margin-bottom: 0;
    }

    .packageBlockContainer .packageBlock .details {
        max-height: inherit !important;
        height: inherit;
    }

    .packageBlock.expand button.expandButton .plus:after {
        transform: translateX(-50%) translateY(-50%) !important;
    }

    .packageBlock .offlineDisclamer {
        height: 3.125rem;
    }

    .packageBlock .offlineDisclamer:before,
    .packageBlock .offlineDisclamer span {
        display: inline-block;
        vertical-align: middle;
    }

    .packageBlock .offlineDisclamer:before {
        content: '';
        width: 0;
        height: 100%;
    }

    .packageBlock .offlineDisclamer span {
        font-size: 0.813rem;
        line-height: 1.25rem;
        font-weight: normal;
    }

    .packageBlockContainer.spacecards .packageBlock {
        width: 48%;
    }

    .packageBlockContainer.spacecards .multili li {
        display: inline-block;
        vertical-align: top;
        width: 48%;
        margin-right: 2%;
    }

    .packageBlockContainer.spacecards .packageBlock .details li:nth-child(1) {
        margin-top: 0.625rem;
    }

    .packageBlockContainer.spacecards .multili li:nth-child(2n + 2) {
        margin-right: 0;
    }
}

@media screen and (min-width: 77em) {

    /* 1232px */
    .packageBlockContainer .packageBlock {
        width: 31.333%;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.blurbBlock {
    box-sizing: border-box;
    width: calc(100% - 5.625rem);
    margin: 2rem auto;
    padding-bottom: 0;
    min-width: 320px;
    margin-bottom: 6rem;
}

@media screen and (max-width: 64em) {
    .post-57 .blurbBlock {
        margin-top: 0;
    }

    .post-57 #panel-57-0-0-2 .blurbBlock {
        margin-bottom: 8.5rem;
    }

    .post-57 #panel-57-0-0-11 .blurbBlock {
        margin-bottom: 7rem;
    }

    .post-57 #panel-57-0-0-15 .blurbBlock {
        margin-bottom: 10rem;
    }

    .post-671 .blurbBlock.right {
        margin-bottom: 7rem;
    }

    .post-962 .blurbBlock.left {
        margin-bottom: 9rem;
    }

    .panel-widget-style-for-962-0-0-6 .blurbBlock.left {
        margin-bottom: 7rem;
    }

    .panel-widget-style-for-962-0-0-9 .blurbBlock.left {
        margin-bottom: 7rem;
    }

    .post-671 #panel-671-0-0-10 .blurbBlock {
        margin-bottom: 10rem;
    }
}

@media (max-width: 780px) {
    #panel-914-0-0-1 > .panel-widget-style {
        padding: 0px 0px 50px 0px !important;
    }
}

@media (max-width: 780px) {

    #panel-962-0-0-7 > .panel-widget-style,
    #panel-962-0-0-9 > .panel-widget-style {
        padding: 0px 0px 0px 0px !important;
    }
}

.blurbBlock > div {
    /*height: 18.75rem;*/
    width: calc(100% - 1.875rem);
    position: relative;
    align-items: center;
}

.blurbBlock .visual {
    height: 18.75rem;
    width: 100%;
    position: relative;
    background-color: #000;
}

.blurbBlock .visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.blurbBlock .blurbBlock-filter {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    background-color: rgba(2, 53, 69, 0.3);
}

.blurbBlock .content {
    /*height: 100%;*/
    width: 100%;
    position: absolute;
    /*transform:translateY(-100%);*/
}

.blurbBlock .title {
    color: #fff;
    font-family: 'TungstenNarrow-Medium';
    position: absolute;
    top: -1.875rem;
    left: 1.25rem;
    font-size: 5rem;
    line-height: 5rem;
    transform: translateY(-100%);
}

.blurbBlock .title:after {
    content: '';
    display: inline-block;
    vertical-align: bottom;
    width: 1.375rem;
    height: 1.375rem;
    background: url(imgs/icon_plus-green.svg) 0 0 no-repeat;
    background-size: cover;
    position: relative;
    top: -0.625rem;
    margin-left: 0.313rem;
}

.blurbBlock .buyCTA a {
    background-color: #1dd761;
    font-size: 1.125rem;
    font-weight: 600;
    color: #06563f;
    padding: 0.938rem 1.563rem 1rem 1.563rem;
    letter-spacing: .05rem;
    font-family: Poppins;
    display: inline-block;
    position: absolute;
    bottom: 0;
    right: -1.875rem;
    transform: translateY(50%);
}

.blurbBlock .buyCTA a:hover,
.blurbBlock .buyCTA a:focus {
    background-color: #06563f;
    border-color: #06563f;
    color: #fff;
}

.blurbBlock .description {
    display: none;
    margin-left: 1.25rem;
}

.blurbBlock .text {
    /*margin-top: calc(18.75rem + 0.625rem);*/
    margin-left: 1rem;
    font-weight: 400;
    width: calc(100% - 9.25rem);
    position: relative;
}

.blurbBlock .buyCTA {
    position: absolute;
    right: 0;
    top: 0;
    white-space: nowrap;
}

@media screen and (max-width: 600px) {
    .blurbBlock .text {
        margin-top: 2.7rem;
        width: 100%;
    }
}

@media screen and (min-width: 64em) {
    /* 1024px */


    .blurbBlock {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 2rem;
        width: calc(100% - 8.875rem - 7.55007% - 18.48998%);
        margin-right: 0;
        /*border:1px solid #000;*/
        margin-left: calc(8.875rem + 7.55007%);

    }

    .blurbBlock > div {
        display: flex;
        margin-left: auto;
        margin-right: auto;
        width: 45rem;
        height: auto;
    }

    .blurbBlock .visual {
        width: 20rem;
        height: 20rem;

    }

    .blurbBlock .content {
        width: 20rem;
        position: relative;
        transform: inherit;
        margin-right: 0%;
        margin-left: 5rem;
    }

    .blurbBlock .content > div,
    .blurbBlock .content > a {
        position: relative;
    }

    .blurbBlock .title {
        color: #000;
        bottom: 0rem;
        left: 0;
        position: static;
        transform: none;
    }

    .blurbBlock .text {
        margin-top: 0;
        width: 100%;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .blurbBlock .description {
        display: block;
        margin-left: 0;
    }

    .blurbBlock .buyCTA {
        position: inherit;
        right: inherit;
        top: inherit;
    }

    .blurbBlock .buyCTA a {
        position: static;
        margin-left: 0;
        display: inline-block;
    }

    .blurbBlock.right > div {
        flex-direction: row-reverse;
    }

    .blurbBlock.right .content {
        padding-Left: 0%;
        margin-right: 5rem;
        margin-left: 0;
        flex-direction: row-reverse;

    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.promoBlock {
    background-color: #1dd761;
    margin-bottom: 0;
}

.promoBlock.blackGreen {
    background-color: #06563f;
    color: #fff;
}

.promoBlock > div {
    box-sizing: border-box;
    padding: 1.875rem 2.813rem;
    margin: auto;
}

.promoBlock h2 {
    font-size: 4.063rem;
    font-weight: 600;
    line-height: 3.438rem;
    margin: 0;
    font-family: 'TungstenNarrow-Semibold';
    margin-bottom: 1.25rem;
}

.promoBlock.blackGreen h2 {
    color: #fff;
}

.promoBlock .description {
    display: flex;
    align-items: center;
}

.promoBlock .buttons {
    text-align: left;
    margin-top: 1.625rem;
}

.promoBlock .buttons > div {
    display: inline-block;
    margin-left: 1rem;
}

.promoBlock .buttons > div:nth-child(1) {
    margin-left: 0;
}

.promoBlock .linkCTA a {
    color: #06563f;
    font-size: 0.938rem;
    font-weight: 500;
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    border-bottom: 0.063rem solid #06563f;
}


.linkCTA a span:hover,
.linkCTA a span:focus,
.textwidget a:hover span,
.textwidget a:focus span,
.informationLink a:hover span,
.informationLink a:focus span,
.footlinks a:hover span,
.footlinks a:focus span,
.bandeau-notification a:hover span,
.bandeau-notification a:focus span {
    border-bottom: none !important;
}


@media screen and (max-width: 23.375em) {

    /* 374px */
    .promoBlock .linkCTA a {
        font-size: 0.875rem;
    }
}

.promoBlock .framedCTA {
    border: 0.094rem solid #06563f;
}

.promoBlock .linkCTA a {
    font-weight: 500;
    padding-right: 0;
}

.promoBlock.blackGreen .linkCTA a {
    color: #fff;
}

.promoBlock .linkCTA a span {
    border-bottom: 0.063rem solid #06563f;
    letter-spacing: -0.05rem;
}

.promoBlock .linkCTA a span {
    border-bottom: 0.063rem solid #1dd761;
}

.promoBlock .offer {
    color: #fff;
    font-family: 'TungstenNarrow-Medium';
    background-color: #000;
    box-sizing: border-box;
    padding: 0.938rem;
}

.promoBlock.blackGreen .offer {
    background-color: #1dd761;
    color: #000;
}

.promoBlock .offer .off {
    font-family: 'TungstenNarrow-SemiBold';
    font-size: 4.063rem;
    line-height: 3.438rem;
    height: 3.438rem;
    font-weight: bold;
    white-space: nowrap;
}

.promoBlock .offer .off span {
    font-family: 'TungstenNarrow-Semibold';
    font-size: 1.5rem;
    line-height: 1.5rem;
    font-weight: 600;
    position: relative;
    top: -1.8rem;
}

.promoBlock .text p {
    margin: 0;
    padding: 0.313rem 0 0.313rem 0.875rem;
    font-weight: normal;
    font-size: 0.813rem;
    line-height: 1.25rem;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .promoBlock {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .promoBlock,
    .promoBlock.blackGreen {
        background-color: inherit;
    }

    .promoBlock.blackGreen,
    .promoBlock.blackGreen h2 {
        color: #000;
    }

    .promoBlock .linkCTA a,
    .promoBlock.blackGreen .linkCTA a {
        border-bottom: 0;
        color: #06563f;
    }

    .promoBlock .linkCTA a span {
        border-bottom: 0.063rem solid #06563f;
    }

    .promoBlock .linkCTA a,
    .promoBlock .greenCTA a {
        font-size: 1.125rem;
    }

    .promoBlock > div {
        margin-left: 7.55007%;
        margin-right: 2.08333%;
        position: relative;
        padding: 2.25rem 0 0 3.75rem;
    }

    .promoBlock h2,
    .promoBlock .offer .off {
        font-size: 5.75rem;
    }

    .promoBlock .offer .off {
        height: auto;
        line-height: 7.219rem;
    }

    .promoBlock .offer .off span {
        font-size: 2.625rem;
        line-height: normal;
        top: -2.25rem;
    }

    .promoBlock .text p {
        font-size: 1.25rem;
        line-height: normal;
        padding-left: 2.563rem;
        padding-top: 0;
        padding-bottom: 0;
    }

    .promoBlock > div:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 16.625rem;
        height: 14.875rem;
        background-color: #1dd761;
    }

    .promoBlock.blackGreen > div:before {
        /*background-color: #06563f;*/
    }

    .promoBlock h2,
    .promoBlock .description,
    .promoBlock .buttons {
        position: relative;
    }

    .promoBlock .description {
        display: block;
    }

    .promoBlock .description > div {
        vertical-align: middle;
        display: inline-block;
    }

    .promoBlock .description .text {
        width: calc(100% - 16.25rem);
    }

    .promoBlock .buttons {
        margin-top: 1.563rem;
    }

    .promoBlock h2 {
        margin-bottom: 0;
        line-height: 8.063rem;
    }

    .promoBlock .offer {
        padding: 0;
        height: 7.5rem;
        width: 10.813rem;
        text-align: center;
    }

    .promoBlock.blackGreen .offer {
        background-color: #06563f;
        color: #fff;
    }

    .promoBlock .offer:before,
    .promoBlock .off {
        display: inline-block;
        vertical-align: middle;
    }

    .promoBlock .offer:before {
        content: '';
        height: 100%;
        width: 0;
    }
}

@media screen and (min-width: 77em) {

    /* 1232px */
    .promoBlock .linkCTA a,
    .promoBlock .greenCTA a {
        font-size: 1.25rem;
    }

    .promoBlock > div {
        padding: 6.25rem 0 0 6.75rem;
    }

    .promoBlock h2,
    .promoBlock .offer .off {
        font-size: 8.75rem;
    }

    .promoBlock .offer .off {
        line-height: 7.219rem;
    }

    .promoBlock .offer .off span {
        font-size: 3.625rem;
        top: -3.7rem;
    }

    .promoBlock .text p {
        font-size: 1.375rem;
        line-height: 2rem;
        padding-left: 3.563rem;
    }

    .promoBlock > div:before {
        width: 24.625rem;
        height: 22.875rem;
    }

    .promoBlock .buttons {
        margin-top: 2.188rem;
    }

    .promoBlock h2 {
        margin-bottom: 2.188rem;
        line-height: 8.063rem;
    }

    .promoBlock .offer {
        height: 10.5rem;
        width: 15.813rem;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.videoBlock {
    width: 100%;
    height: calc(100vh - 5.625rem);
    margin-bottom: 1.875rem;
    position: relative;
}

.videoBlock .timer {
    color: #fff;
    position: absolute;
    z-index: 2;
    top: 1.25rem;
    left: 1.25rem;
}

.videoBlock button.play {
    background-color: rgba(0, 0, 0, .9);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    z-index: 2;
    border: none;
    cursor: pointer;
    background-image: url("imgs/play_arrow.svg");
    background-repeat: no-repeat;
    background-position: 54% 50%;
}

.videoBlock button.play.hide {
    display: none;
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.openinghours {
    padding-left: 2.813rem;
    padding-right: 2.813rem;
    padding-bottom: 0;
    margin-bottom: 0;
}

.openinghours .title {
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin-right: 30%;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    color: #06563f;
    margin: 0 0 1.625rem 0;
}

.openinghours .description p {
    margin: 0;
}

.openinghours p.open,
.openinghours p.close {
    position: relative;
    padding-left: 0.938rem;
    margin-bottom: 1.25rem;
    font-size: 1.125rem;
    font-weight: 500;
}

.openinghours p.open:before,
.openinghours p.close:before {
    content: "";
    display: inline-block;
    width: 0.563rem;
    height: 0.563rem;
    border-radius: 50%;
    position: absolute;
    top: 0.5rem;
    left: 0;
}

.openinghours p.close:before {
    background-color: red;
}

.openinghours p.open:before {
    background-color: #1dd761;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .openinghours {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .openinghours .title,
    .openinghours .description {
        padding-left: 7.55007%;
        padding-right: 18.48998%;
    }

    .openinghours p.open,
    .openinghours p.close {
        margin-left: 7.55007%;
        margin-right: 18.48998%;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.theAccordion {
    padding-left: 2.813rem;
    padding-right: 2.813rem;
    margin-bottom: 0;
    position: relative;
    padding-bottom: 0;
}

.theAccordion h2 {
    display: block;
    font-size: 1rem;
    line-height: normal;
    margin: 0 0 0 0;
    position: relative;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.theAccordion h2:before,
.theAccordion:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0.063rem;
    background-color: #111;
    opacity: 0.3;
}

div.theAccordion h2:nth-child(1) {
    padding-top: 0;
}

div.theAccordion h2:nth-child(1):before {
    display: none;
}

div.theAccordion h2:nth-last-child(2) {
    margin-bottom: 0;
}

div.theAccordion div.m56accordion-accordion__panel:nth-last-child(1) > div {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 1.25rem;
}

.theAccordion:after {
    top: inherit;
    bottom: 0;
    width: calc(100% - 5.625rem);
    left: 50%;
    transform: translateX(-50%);
}

.m56accordion-accordion__header {
    padding: 0;
    font-weight: 500;
    color: #06563f;
    width: calc(100% - 2.375rem);
    background: transparent;
    text-align: left;
    border: 0;
    border-radius: 0;
    font-size: 1rem;
    line-height: 1.5rem;
    font-family: Poppins;
    position: relative;
    cursor: pointer;
}

.m56accordion-accordion__header::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -2.375rem;
    display: block;
    speak: none;
    background-image: url("imgs/plus.svg");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: -0.625rem;
}

.m56accordion-accordion__header[aria-selected="true"]::after {
    background-image: url("imgs/minus.svg");
}

.m56accordion-accordion__header[aria-expanded="false"]::after {
    background-image: url("imgs/plus.svg");
}

.m56accordion-accordion__panel {
    display: block;
}

[aria-hidden=true].m56accordion-accordion__panel {
    display: none;
}

.m56accordion-accordion__panel > div {
    font-size: 0.813rem;
    line-height: 1.25rem;
    margin: 0 0 1.25rem 0;
}

.m56accordion-accordion__panel > div p:last-child {
    margin: 0;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .theAccordion {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .theAccordion > div {
        margin-left: auto;
        margin-right: auto;
        width: 45.875rem;
    }

    .theAccordion:after {
        width: 45.875rem;
    }

    .m56accordion-accordion__header {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .m56accordion-accordion__panel > div {
        font-size: 0.938rem;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.m56accessibility {
    position: relative;
}

.m56accessibility .background {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 6.5rem);
    background-color: #06563f;
    display: block;
}

.m56accessibility .content {
    position: relative;
    z-index: 2;
    color: #fff;
    padding: 0 2.813rem 2.75rem 2.813rem;
}

.m56accessibility .visual {
    height: 14.875rem;
    width: 18.375rem;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 -2.813rem 2.813rem auto;
}

.m56accessibility .title {
    font-family: 'TungstenNarrow-Semibold';
    font-size: 2.5rem;
    line-height: 2.5rem;
    font-weight: 600;
    position: relative;
    margin: 0 0 1.25rem 0;
    padding: 0 2.5rem 0 0;
    display: inline-block;
}

.m56accessibility .title:after {
    content: '';
    display: block;
    width: 1.625rem;
    height: 1.75rem;
    top: 50%;
    right: 0;
    margin-top: -0.875rem;
    background-image: url("imgs/icon-accessibility.png");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
}

.m56accessibility .description {
    padding: 0 0 0.938rem 0;
}

.m56accessibility .description p {
    margin: 0 0 0.938rem 0;
}

.m56accessibility .description p strong {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.m56accessibility .description a {
    color: #fff;
    border-bottom: 0.063rem solid #1dd761;
}

.m56accessibility .link {
    margin: 0;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .m56accessibility {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .m56accessibility > div {
        max-width: 55.938rem;
        height: 26.5rem;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        padding: 0;
        box-sizing: border-box;
        width: 100%;
        background-color: #06563f;
        z-index: inherit;
    }

    .m56accessibility .background {
        display: none;
    }

    .m56accessibility .content {
        position: relative;
        padding: 0;
        height: 100%;
        width: 100%;
    }

    .m56accessibility .contentBlock {
        padding: 0 0 0 6.875rem;
        width: 27.875rem;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }

    .m56accessibility .visual {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 21.125rem;
        background-position: 50% 50%;
        margin: 0;
    }

    .m56accessibility .title {
        font-size: 4.063rem;
        line-height: 3.5rem;
    }

    .m56accessibility .description {
        font-size: 1.125rem;
    }

    .m56accessibility .whiteCTA a {
        font-size: 1.375rem;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.pluginAgenda {
    padding-left: 2.813rem;
    padding-right: 2.813rem;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pluginAgenda > div {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.calendar {
    position: relative;
}

.calendar div.inputDate.inputEndDate {
    margin-top: 0.625rem;
}

.calendar div.inputDate input[type="text"] {
    width: 100%;
    border: 0.094rem solid #06563f;
    border-radius: 0;
    color: #06563f;
    height: 3.125rem;
    padding: 0 3.438rem 0 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: normal;
    position: relative;
    z-index: 2;
    background: transparent;
}

.calendar div.inputDate {
    width: 100%;
    position: relative;
}

.calendar div.inputDate:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 1.188rem;
    display: block;
    width: 1.563rem;
    height: 1.5rem;
    margin-top: -0.75rem;
    background-image: url(imgs/icon_calendar.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
}

.calendar div.inputDate.openempty:after {
    background-image: url(imgs/icon_close-green.svg);
}

.calendar div.inputDate input[type="text"]:focus {
    outline: none;
}

.calendar div.inputDate input[type="text"]::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #06563f;
    opacity: 1;
    /* Firefox */
}

.calendar div.inputDate input[type="text"]:-ms-input-placeholder,
/* Internet Explorer 10-11 */
.calendar div.inputDate input[type="text"]::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #06563f;
}

.calendar div.inputDate .clear {
    background-image: url(imgs/clear-calendar.png);
    background-repeat: no-repeat;
    background-position: center;
    height: 2.5rem;
    width: 2.5rem;
    display: none;
    position: absolute;
    margin-left: -2.5rem;
    cursor: pointer;
}

.calendar div.inputDate.openempty .clear {
    display: none;
}

.calendar div.inputDate.open .clear {
    display: inline-block;
}

.calendar .calendarMain,
.calendar .calendarMain > div {
    width: 100%;
}

.calendar .calendarMain {
    font-family: Poppins;
    z-index: 3;
}

.calendar .calendarMain > div {
    font-size: 0.813rem;
    border-left: 0.094rem solid #06563f;
    border-right: 0.094rem solid #06563f;
    border-bottom: 0.094rem solid #06563f;
    padding: 0.875rem 1.25rem 1.25rem 1.25rem;
    position: relative;
    z-index: 1;
}

.calendar .calendarMain .calendarTitle {
    margin: 0;
    width: auto;
    text-align: center;
    transform: translateX(-50%);
    left: 50%;
}

.calendar .calendarNav {
    margin-bottom: 0.625rem;
}

.calendar .calendarNav input {
    position: relative;
    margin: 0;
    padding: 0;
    border-radius: 0;
    width: 1.688rem;
    background-color: #fff;
    border: none;
    color: #fff;
    font-size: 0;
    height: 0.438rem;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
}

.calendar .calendarNav input:hover,
.calendar .calendarNav input:focus {
    background-color: #fff;
}

.calendar .calendarNav input.calendarNavML {
    background-image: url(imgs/arrow-left-green.png);
    top: -0.313rem;
}

.calendar .calendarNav input.calendarNavMR {
    background-image: url(imgs/arrow-right-green.png);
    top: 0.5rem;
}

.calendar table {
    margin: 0;
    padding: 0;
}

.calendar .jsCalendar th {
    color: #000;
    font-size: 0.813rem;
    line-height: 1.25rem;
    font-weight: normal;
}

.calendar .jsCalendar tr th:nth-last-child(1),
.calendar .jsCalendar tr th:nth-last-child(2),
.calendar .jsCalendar tr td:nth-child(6),
.calendar .jsCalendar tr td:nth-child(7) {
    font-weight: 600;
    color: #06563f;
}

.calendar .jsCalendar td {
    color: #000;
    font-weight: normal;
}

.calendar .jsCalendar .day:hover,
.calendar .jsCalendar .day:focus,
.calendar .jsCalendar .selectedDay {
    background-color: #06563f;
    border-color: #06563f;
    color: #fff !important;
    font-weight: bold;
}

.calendar .jsCalendar .day:hover,
.calendar .jsCalendar .day:focus {
    cursor: pointer;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .pluginAgenda {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .pluginAgenda > div {
        width: 100%;
    }

    .pluginAgenda .calendar,
    .pluginAgenda .notfoundchoice {
        width: 45.875rem;
        margin-left: auto;
        margin-right: auto;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/

.articleChoiceContainer {
    text-align: center;
}

.articleChoiceContainer .resultchoice {
    display: inline-block;
    width: 100%;
}

.resultchoice {
    margin: 2.5rem 0 1.875rem 0;
    margin-left: auto;
    margin-right: auto;
    max-width: 41.813rem;
    text-align: left;
}

@media screen and (max-width: 64em) {
    .resultchoice {
        margin: 0 0 30px 0;
    }

    .resultchoice:first-of-type {
        margin-top: 30px;
    }

    .pluginArticle .content div.resultchoice:last-of-type {
        margin-bottom: 30px;
    }
}

.resultchoice .visual {
    width: 100%;
    height: 400px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}

.resultchoice .visual img {
    display: none;
}

.resultchoice p {
    margin: 0;
}

.resultchoice .date,
.resultchoice .separ,
.resultchoice .title {
    display: inline-block;
    vertical-align: middle;
}

.resultchoice .date {
    font-family: 'TungstenNarrow-Medium';
    font-size: 1.563rem;
    font-weight: 500;
}

.resultchoice .separ {
    width: 2.125rem;
    height: 0.063rem;
    background-color: #06563f;
    margin: 0 1rem;
}

.resultchoice .title {
    font-size: 1.5rem;
    font-weight: 500;
    font-family: 'TungstenNarrow-Medium';
    color: #06563f;
}

.resultchoice .description {
    font-size: 1.125rem;
    font-weight: 500;
    margin-top: 0.625rem;
}

.resultchoice .link {
    margin-top: 0.625rem;
}

.resultchoice .link a {
    font-size: 0.938rem;
    line-height: 2rem;
    font-weight: 500;
    color: #06563f;
    padding-bottom: 0.125rem;
    border-bottom: 0.063rem solid #06563f;
}

.content div.resultchoice:nth-last-child(1) {
    margin-bottom: 3.75rem;
}

@media screen and (max-width: 64em) {
    .content div.resultchoice:nth-last-child(1) {
        margin: 0;
    }
}


@media screen and (min-width: 64em) {

    .articleChoiceContainer {
        width: calc(100% + 12px);
        margin-left: -6px;
    }

    .articleChoiceContainer .resultchoice {
        vertical-align: top;
        width: calc(50% - 12px);
        margin-left: 5px;
        margin-right: 5px;
    }
}

@media screen and (min-width: 96em) {

    .articleChoiceContainer .resultchoice {
        vertical-align: top;
        width: calc(33% - 12px);
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.pluginArticle {
    padding-left: 2.813rem;
    padding-right: 2.813rem;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pluginArticle > div {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}




@media screen and (min-width: 64em) {

    /* 1024px */
    .pluginArticle {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;

    }

    .pluginAgenda .content,
    .pluginArticle .content {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
    }

    .pluginArticle > div,
    .pluginArticle .notfoundchoice {
        width: 45.875rem;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.m56selectBlock {
    position: relative;
}

.m56select::-ms-expand {
    display: none;
}

.m56select {
    width: 100%;
    min-height: 3.125rem;
    border: 0.094rem solid #06563f;
    margin: 0;
    padding: 0 2.7rem 0 1rem;
    border-radius: 0;
    background: #fff;
    font-size: 1rem;
    line-height: 2.938rem;
    font-family: Poppins;
    font-weight: normal;
    color: #06563f;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 2;
    background: transparent;
}

.m56selectBlock:after {
    content: '';
    display: block;
    width: 0.75rem;
    height: 0.375rem;
    position: absolute;
    z-index: 1;
    right: 1.25rem;
    top: 50%;
    margin-top: -0.188rem;
    background-image: url(imgs/icon_chevron-down.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
}

.m56selectBlock.selectfocus:after {
    transform: rotate(180deg);
}

.m56selectBlock:focus {
    display: none;
}

.m56select option {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #000;
    font-weight: normal;
    min-height: 3.375rem;
}

.m56select option:checked,
.m56select option:hover,
.m56select option:checked,
.m56select option:focus {
    /* Pour IE Edge */
    color: #fff;
    background: #06563f;
    font-weight: bold;
}

.m56select option:hover,
.m56select option:focus {
    /* Pour IE Edge */
    background-color: #06563f;
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.panorama360 {
    position: relative;
}

.panorama360 .m56area {
    display: none;
}

.panorama360 .startSlide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.panorama360 area,
.panorama360 .m56area {
    transform: scale(1.5);
}

@keyframes arrowPanorama {
    from {
        right: 3rem;
    }

    to {
        right: 2rem;
    }

}

.panorama360 .imageBlock {
    margin: 0;
    padding: 0;
    position: absolute;
    bottom: 8.75rem;
    width: 100%;
    display: flex;
}

.panorama360 .imageBlock .text {
    font-family: 'TungstenNarrow-Bold';
    font-weight: 900;
    font-size: 6.25rem;
    line-height: 4.775rem;
    color: #fff;
}

.panorama360 .startText {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 1;
    text-align: center;
    pointer-events: none;
}

.panorama360 .startText:after {
    content: url("imgs/hero_arrowdown.svg");
    position: absolute;
    right: 3rem;
    transform: translateX(-50%) translateY(-50%) rotate(-90deg);
    top: 50%;
    animation: arrowPanorama cubic-bezier(0.350, 0, 0.650, 1) 1s infinite alternate;
}


.contentInfoMark .infoMarker {
    width: calc(100% - 2.5rem);
    max-width: 20.938rem;
    bottom: 3.125rem !important;
}

.panorama360 .startText p {
    position: absolute;
    bottom: 3rem;
    width: 90%;
    padding: 0;
    margin-left: 5%;
    font-weight: normal;
    color: #fff;
    text-align: center;
}

.contentInfoMark .infoMarker {
    background-color: #06563f !important;
    color: #fff;
    padding: 1.25rem 0.938rem;
}

.contentInfoMark .infoMarker p {
    margin: 0;
}

.contentInfoMark .infoMarker .close {
    text-align: right;
    overflow: hidden;
}

.contentInfoMark .infoMarker .close a {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    background: url(imgs/icon_close-white.svg) 0 0 no-repeat;
    background-size: cover;
    font-size: 0;
    float: right;
    margin-bottom: 0.625rem;
}

.contentInfoMark .infoMarker .zoneUp {
    overflow: hidden;
    margin-bottom: 0.625rem;
}

.contentInfoMark .infoMarker .title {
    float: left;
    font-size: 1.5rem;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    padding-top: 0.313rem;
}

.contentInfoMark .infoMarker .dist {
    float: right;
    font-size: 1.875rem;
    font-family: 'TungstenNarrow-Bold';
    font-weight: bold;
    line-height: normal;
}

.contentInfoMark .infoMarker .zoneText {
    padding: 1.25rem 0 0 1.25rem;
    background: url(imgs/infoMarker-text-bg.png) 0 0 no-repeat;
}

.contentInfoMark .infoMarker .text {
    font-size: 0.938rem;
    line-height: 1.25rem;
}

.contentInfoMark .infoMarker .link {
    margin-top: 0.625rem;
    margin-left: 1.25rem;
    font-size: 0.938rem;
    color: #fff;
    display: inline-block;
    border-bottom: 0.063rem solid #fff;
    font-weight: 500;
}

@media screen and (min-width: 64em) {
    /* 1024px */

    .contentInfoMark .infoMarker {

        max-width: 40.938rem;
    }

    .panorama360 .startText p {
        top: 50px;
        bottom: auto;
        padding-left: 115px;
        width: calc(100% - 8.813rem);
        left: 8.813rem;
        margin: 0;
    }

    .panorama360 .startSlide .imageBlock .text {
        -ms-writing-mode: inherit;
        -webkit-writing-mode: inherit;
        -moz-writing-mode: inherit;
        -ms-writing-mode: inherit;
        writing-mode: inherit;

        transform: none;
        position: relative;
        left: 2%;
        margin: auto;
    }

}

@media screen and (min-aspect-ratio: 2760/1707) {

    .panorama360 .startText:after {
        display: none;
    }

}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.pluginSelectAnchor {
    padding-left: 2.813rem;
    padding-right: 2.813rem;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pluginSelectAnchor > div {
    width: 100%;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .pluginSelectAnchor {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .pluginSelectAnchor .m56selectBlock {
        width: 45.875rem;
        margin-left: auto;
        margin-right: auto;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.pluginGreenBlock {
    margin-bottom: 0;
    padding-bottom: 0;
    background-color: #06563f;
    padding: 1.875rem 2.813rem 1.938rem 2.813rem;
    color: #fff;
}

.pluginGreenBlock .title {
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin: 0 0 1.5rem 0;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
}

.pluginGreenBlock .description {
    margin: 0;
    line-height: 1.5rem;
    font-weight: normal;
}

.pluginGreenBlock .description p {
    margin-top: 0;
}

.pluginGreenBlock .description p:last-child {
    margin-bottom: 0;
}

.pluginGreenBlock .description a {
    color: #fff;
    border-bottom: 0.063rem solid #1dd761;
    font-weight: 500;
    font-size: 0.938rem;
    line-height: 2rem;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .pluginGreenBlock {
        padding-left: 0;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .pluginGreenBlock h2,
    .pluginGreenBlock .description p {
        padding-left: 7.55007%;
        padding-right: 18.48998%;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.pluginForm {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pluginForm .title {
    padding: 0;
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin-right: 0;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    color: #06563f;
    box-sizing: border-box;
}

.pluginForm .subtitle,
.chicago-form .subtitle {
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    font-size: 1.5rem;
    margin-bottom: 0.625rem;
    margin-top: 0;
}

.chicago-form p {
    margin-top: 0px;
    padding: 0;
}

.chicago-form .subtitle {
    margin-bottom: 0rem;
    margin-top: 1.5rem;
    padding: 0;
}

@media screen and (max-width: 64em) {
    .pluginForm .title {
        margin: 30px 0;
    }

    .pluginForm .description {
        margin-bottom: 30px;
    }

    .pluginForm .subtitle {
        margin-bottom: 30px;
    }

    .pluginForm .subtitle.mb0 {
        margin-bottom: 30px !important;
    }
}

.pluginForm .subtitletext {
    margin-top: 0;
}

@media screen and (max-width: 64em) {
    .pluginForm .subtitletext {
        margin-bottom: 30px;
    }

    .pluginForm fieldset:last-of-type .formline:last-of-type {
        margin-bottom: 0;
    }

    .post-962 .widget_m56sow-stickybouton {
        display: none !important;
    }
}

.pluginForm fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.pluginForm .formline,
.pluginForm .errors-found,
.pluginForm .internal-server-errors {
    margin-bottom: 1.5rem;
}

@media screen and (max-width: 64em) {

    .pluginForm .formline,
    .pluginForm .errors-found,
    .pluginForm .internal-server-errors {
        margin-bottom: 30px;
    }
}

.pluginForm .errors-found,
.pluginForm .internal-server-errors {
    display: none;
}

.pluginForm .onerror,
.pluginForm .onerror label,
.pluginForm .errors {
    color: red;
}

.pluginForm .input-msg-error {
    font-size: 0.813rem;
}

.pluginForm .onerror input[type="text"],
.pluginForm .onerror input[type="number"],
.pluginForm .onerror textarea,
.pluginForm .onerror select,
.pluginForm .onerror input[type=checkbox] + label::before {
    border-color: red !important;
}

.pluginForm .input-msg-error {
    margin-top: 0;
}

.pluginForm .confirmation {
    color: #06563f;
    margin: 0;
    display: none;
}

.pluginForm label,
.chicago-form label {
    display: block;
    color: #06563f;
    padding-bottom: 0.625rem;
}

.pluginForm input[type="text"],
.pluginForm input[type="number"],
.pluginForm textarea {
    width: 100%;
    border: 0.094rem solid #06563f;
    border-radius: 0;
    color: #06563f;
    height: 3.125rem;
    padding: 0 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: normal;
    position: relative;
    z-index: 2;
    background: transparent;
    font-family: Poppins;
}

.pluginForm input[type="number"] {
    padding-right: 0.5rem;
}

.pluginForm textarea {
    padding-top: 0.75rem;
    min-height: 6.25rem;
}

.pluginForm input[type="text"]:focus,
.pluginForm input[type="number"]:focus,
.pluginForm textarea:focus {
    outline: none;
}

.pluginForm input[type="text"]::placeholder,
.pluginForm input[type="number"]::placeholder,
.pluginForm textarea::placeholder {
    color: #06563f;
    opacity: 1;
}

.pluginForm input[type="text"]:-ms-input-placeholder,
.pluginForm input[type="text"]::-ms-input-placeholder,
.pluginForm input[type="number"]:-ms-input-placeholder,
.pluginForm input[type="number"]::-ms-input-placeholder,
.pluginForm textarea:-ms-input-placeholder,
.pluginForm textarea::-ms-input-placeholder {
    color: #06563f;
}

.pluginForm .rcgroup label,
.ginput_container_checkbox label {
    position: relative;
    padding-left: 2.5rem !important;
    padding-bottom: 10px;
}

.pluginForm .rcgroup label span {
    display: block;
}

.pluginForm .rcgroup .labeltext {
    color: #000;
    font-size: 0.875rem;
}

.pluginForm .rcgroup input[type=checkbox],
.chicago-form input[type=checkbox] {
    position: absolute;
    opacity: 0;
}

.chicago-form input[type=checkbox] + label {
    font-size: 1rem !important;
    padding-bottom: 10px !important;
}

.pluginForm .rcgroup input[type=checkbox] + label::before,
.pluginForm .rcgroup input[type=checkbox] + label::after,
.chicago-form input[type=checkbox] + label::before,
.chicago-form input[type=checkbox] + label::after {
    content: '';
    position: absolute;
    display: inline-block;
    left: 0;
    top: 0;
    width: 1.25rem;
    height: 1.25rem;
    border: 0.094rem solid #06563f;
}

.pluginForm .rcgroup input[type=checkbox] + label::before,
.chicago-form input[type=checkbox] + label::before {
    background-color: #fff;
}

.pluginForm .rcgroup input[type=checkbox]:checked + label::after,
.chicago-form input[type=checkbox]:checked + label::after {
    background-color: #06563f;
}

.pluginForm .field-timevisit input,
.pluginForm .field-timevisit span,
.pluginForm .field-timevisit .m56selectBlock {
    display: inline-block;
    vertical-align: middle;
}

.pluginForm .field-timevisit .m56selectBlock {
    margin-left: 0.625rem;
}

.pluginForm .field-timevisit input {
    width: 4.75rem;
    text-align: center;
    padding-left: 0rem;
}

.pluginForm input[type='number'] {
    appearance: textfield;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button,
input[type='number']:hover::-webkit-inner-spin-button,
input[type='number']:focus::-webkit-inner-spin-button,
.pluginForm input[type='number']:hover::-webkit-outer-spin-button,
.pluginForm input[type='number']:focus::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    appearance: none;
}

.pluginForm .formline .greenCTA {
    text-align: left;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    .pluginForm {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    .pluginForm .title,
    .pluginForm .description {
        padding-left: 7.55007%;
        padding-right: 18.48998%;
    }

    .pluginForm .form,
    .chicago-form,
    .gform_wrapper .gform_validation_errors {
        width: 45.875rem !important;
        margin-left: auto;
        margin-right: auto;
    }
}

.chicago-form .gform_button {
    background-color: #1dd761;
    color: #06563f;
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 600;
    padding: 0.844rem 1.188rem;
    letter-spacing: .044rem;
    text-decoration: none;
    border: 0.094rem solid #1dd761;
    cursor: pointer;
    line-height: 1;
    border-radius: 0;
}

.chicago-form .gform_button:hover,
.chicago-form .gform_button:active {
    background-color: #06563f;
    border: 0.094rem solid #06563f;
    color: #fff;
}

.chicago-form .gform_button:active {
    opacity: .8;
}

.gform_wrapper .chicago-form .gfield_required {
    color: #06563f;
}

.chicago-form_wrapper .gform_required_legend {
    display: none;
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 64em) {

    /* 1024px */
    .widget_sow-image,
    .widget_media_video {
        width: calc(100% - 8.875rem);
        margin-left: auto;
        margin-right: 0;
    }

    /* .widget_sow-image > div
	{
		padding-left: 7.55007%;
	} */
}

.contained-img img {
    width: 100%;
    padding-left: 7.55007%;
    padding-right: 18.48998%;
}

@media screen and (max-width: 64em) {

    /* 1024px */
    .contained-img img {
        padding-left: 2.813rem;
        padding-right: 2.813rem;
    }
}

/*--------------------------------------------------------------------------------------------------------------------------------*/
.bandeau-vertical {
    display: none;
}

@media screen and (min-width: 64em) {

    /* 1024px */
    #primary.content-area {
        position: relative;
    }

    .bandeau-vertical {
        display: block;
        background-color: #fff;
        position: absolute;
        z-index: 5;
        top: 0;
        left: 0;
        bottom: 0;
        width: 8.875rem;
        border-right: 0.063rem solid rgba(6, 86, 63, 0.3);
    }
}

/* GRAVITY FORM --------------------------------------------------------------------------------------------------------------------------------*/
.gform_wrapper.gravity-theme .gfield_label {
    font-size: 1rem;
    font-weight: normal;
    margin-bottom: 8px;
    display: inline-block;
    padding: 0;
    color: #06563f;
    padding-bottom: 0.625rem;
}

.gform_wrapper.gravity-theme .gfield-choice-input {
    top: auto;
}

.gform_wrapper .gform_validation_errors {
    border-radius: 0px !important;
    box-shadow: none !important;
}

.gform_wrapper .gform_validation_errors h2 {
    padding: 0px;
    font-family: 'Poppins';

}

.gform_wrapper .gfield_validation_message {
    font-size: 13px !important;
}

.gform_wrapper.gravity-theme .gfield input.large,
.gform_wrapper.gravity-theme .gfield select.large,
.gform_wrapper.gravity-theme .gfield select {
    width: 100%;
    border: 0.094rem solid #06563f;
    border-radius: 0;
    color: #06563f;
    height: 3.125rem;
    padding: 0 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    position: relative;
    z-index: 2;
    background: 0 0;
    font-family: Poppins;

}

.gform_wrapper.gravity-theme .gfield select {
    padding-right: 2.7rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.ginput_container_select {
    position: relative;
}

.gform_wrapper.gravity-theme .ginput_container_select:after,
.gform_wrapper.gravity-theme .gfield_time_ampm:after {
    content: '';
    display: block;
    width: 0.75rem;
    height: 0.375rem;
    position: absolute;
    z-index: 1;
    right: 1.25rem;
    top: 50%;
    margin-top: -0.188rem;
    background-image: url(imgs/icon_chevron-down.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
}


::placeholder {
    color: #06563f;
    opacity: 1;
}

input:focus-visible {
    border: 0.13rem solid #06563f;
    outline: none;
}

.gform_wrapper.gravity-theme .gfield textarea.large,
.gform_wrapper.gravity-theme .gfield textarea.small {
    width: 100%;
    border: 0.094rem solid #06563f;
    border-radius: 0;
    color: #06563f;
    height: 3.125rem;
    padding: 0 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    position: relative;
    z-index: 2;
    background: 0 0;
    font-family: Poppins;
    padding-top: 0.75rem;
    min-height: 6.25rem;
}

.gform_wrapper.gravity-theme .gfield-choice-input + label {
    color: #06563f;
    margin-left: 0px;

}

.gform_wrapper.gravity-theme .gfield_checkbox .gchoice,
.gform_wrapper.gravity-theme .gfield_radio .gchoice {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.gform_wrapper.gravity-theme .gfield_radio .gchoice label,
.gform_wrapper.gravity-theme .gfield_checkbox .gchoice label {
    padding: 0;
}

.gform_wrapper.gravity-theme .ginput_container_date input::placeholder {
    border-radius: 0;
    color: #06563f;
}

.gform_wrapper.gravity-theme .ginput_container_date input {
    width: 100% !important;
    border: 0.094rem solid #06563f;
    border-radius: 0;
    color: #06563f;
    height: 3.125rem;
    padding: 0 1rem !important;
    font-size: 1rem !important;
    line-height: 1.5rem;
    font-weight: normal;
    position: relative;
    background: transparent;
    padding-right: 2.7rem !important;
    text-transform: uppercase;
}

.ginput_container_date {
    position: relative;
}

.ginput_container_date:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 1.188rem;
    display: block;
    width: 1.563rem;
    height: 1.5rem;
    margin-top: -0.75rem;
    background-image: url(imgs/icon_calendar.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
}

.gform_wrapper.gravity-theme .ginput_complex label,
.gform_wrapper.gravity-theme .ginput_complex legend {
    display: block;
    color: #06563f;
}

.gform_wrapper.gravity-theme .gfield select.large.gfield_select option:checked,
.gform_wrapper.gravity-theme .gfield select.large.gfield_select option:checked:hover,
.gform_wrapper.gravity-theme .gfield select.large.gfield_select option:hover {
    background-color: #06563f !important;
    color: #FFF !important;
}

.gform_wrapper.gravity-theme .gfield .ginput_container_post_tag .gfield_post_tags_hint,
#extensions_message_1_20 {
    padding: 0 1rem;
    font-size: 0.9rem;
    margin-top: 0.5rem;
}

.gform_wrapper.gravity-theme .gfield .ginput_container .gfield_consent_label {
    padding: 0 1rem;
}

.gfield_list_container .gfield_list_groups .gfield_list_group_item input {
    color: #06563f;
    border-color: #06563f;
}

.gform_page_footer .gform_next_button {
    background-color: #1dd761;
    border-color: #1dd761;
    color: #06563f;
    border-radius: 0;
    padding: 0.844rem 1.188rem;
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0.044rem;
    text-decoration: none;
    border: 0.094rem solid #1dd761;
    cursor: pointer;
    line-height: 1;
}

.gform_page_footer .gform_next_button:hover {
    background-color: #06563f;
    border-color: #06563f;
    color: #fff;
}

.gform_wrapper.gravity-theme .ginput_complex input,
.gform_wrapper.gravity-theme .ginput_complex select {
    width: 100%;
    border-color: #06563f;
    border: 0.094rem solid #06563f;
    border-radius: 0;
    color: #06563f;
    height: 3.125rem;
    padding: 0 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    position: relative;
    z-index: 2;
    background: 0 0;
    font-family: Poppins;
}

.gform_wrapper.gravity-theme .ginput_container_time input {
    width: 4.75rem;
    text-align: center;
    padding-left: 0rem;
}

.gform_wrapper.gravity-theme .hour_minute_colon {
    display: flex;
    align-items: center !important;
}

.gform_wrapper.gravity-theme .gfield_time_ampm {
    max-width: 90px !important;
    min-width: 90px !important;
    position: relative;
}

.gform_wrapper.gravity-theme .gfield_time_ampm select {
    padding-right: 2.7rem;
}

form#gform_1 {
    width: 45.875rem;
    margin-left: auto;
    margin-right: auto;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
    background-color: #06563f !important;
    color: #fff;
}

@media screen and (max-width: 64em) {
    form#gform_1 {
        max-width: 100%;
    }
}

.gform_wrapper.gravity-theme .gfield_radio .gchoice label,
.gform_wrapper.gravity-theme .gfield_checkbox .gchoice label,
.gform_wrapper.gravity-theme .ginput_complex label,
.gform_wrapper.gravity-theme .ginput_complex legend,
.gform_wrapper.gravity-theme .ginput_complex span,
.gfield_post_tags_hint,
label.gfield_label,
label.gfield_consent_label,
legend.gfield_label,
legend.gfield_label_before_complex {
    display: block;
    color: #06563f;
    font-family: Poppins;
    font-weight: normal !important;
    line-height: 1.5rem;
}

h3.gsection_title {
    color: #06563f !important;
}

/*
.gform_wrapper.gravity-theme .gfield select.large.gfield_select option:checked,
.gform_wrapper.gravity-theme .gfield select.large.gfield_select option:hover,
.gform_wrapper.gravity-theme .gfield select.large.gfield_select option:checked:hover {
	background: red !important;
	background-color: red !important;
	color: #FFF !important;
}*/

@media screen and (min-width: 64em) {
    /* 1024px */

    .single-post .textwidget p {
        padding-left: 0;
        padding-right: 0;
    }

    .single-post .textwidget {
        width: 900px;
        margin: auto;
    }

    .single-post .widget-title {
        width: 900px;
        margin: auto;
    }

    .single-post .pluginAlonetitle {
        width: 900px;
        margin: auto;
    }

    .single-post .quote {
        background: #D6E9F8;
        padding: 3rem;
        margin: 2rem 0;
    }

    .single-post .quote .quote_headline {
        text-transform: uppercase;
        color: #094851;
        font-family: 'TungstenNarrow-Semibold';
        font-size: 26px;
        position: relative;
        padding-left: 40px;
    }

    .single-post .quote .quote_headline:before {
        content: url(imgs/icon_quote.svg);
        position: absolute;
        width: 1.188rem;
        top: 0;
        left: 0
    }

    .single-post .quote .quote_text {
        font-family: Poppins;
        font-size: 18px;
        display: block;
        margin-top: 10px;

    }

    .single-post img {
        padding-top: 0.5rem;
    }
}

.single-post h2 {
    font-size: 2.5rem;
    line-height: 2.5rem;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    color: #06563f;
    box-sizing: border-box;
    padding-left: 0;
}

.single-post h3 {
    font-size: 2rem;
    line-height: 2.5rem;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    color: #06563f;
    box-sizing: border-box;
    padding-left: 0;
}

.single-post h4 {
    font-size: 1.5rem;
    line-height: 2.5rem;
    font-family: 'TungstenNarrow-Semibold';
    font-weight: 600;
    color: #06563f;
    box-sizing: border-box;
    padding-left: 0;
}

.blurbBlock ul {
    margin: 0;
    padding-left: 18px;
}


/*--------------------------------------------------------------------------------------------------------------------------------*/
/*Video Lightbox*/


.custom-video-lightbox {
    display: none;
    background-color: rgba(0, 0, 0, .8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100000;
    padding: 64px;
}

@media (max-width: 480px) {
    .custom-video-lightbox {
        padding: 64px 8px;
    }
}

.video-lightbox-visible {
    display: flex;
    justify-content: center;
    align-items: center;
}

.close-video-lightbox {
    position: absolute;
    top: 32px;
    right: 32px;
    color: #1dd761;
    font-size: 48px;
}

.toggle-video-lightbox {
    cursor: pointer;
}

.toggle-video-lightbox a {
    color: #06563f;
}

.toggle-video-lightbox a:hover {
    color: white;
}

.toggle-video-lightbox span {
    border: none;
    padding: 0px;
}

@media (max-width: 1024px) {
    .toggle-video-lightbox.greenCTA {
        padding: 0;
    }
}

@media (max-width: 1200px) {

    .custom-video-lightbox .iframe-wrap {
        position: relative;
        overflow: hidden;
        width: 100%;
        padding-top: 56.25%;
        /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
    }

    .custom-video-lightbox .iframe-wrap iframe {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
    }
}

/** BLOG TABLES **/
.h3-simple h3:not(.regular-h3) {
    margin-bottom: -8px;
    margin-top: 20px;
    color: #000;
    font-family: Poppins;
    font-size: 16px;
    letter-spacing: 0px;
    font-weight: 700;
    line-height: 1.4;
}

.blog-table {
    width: 100%;
}

.blog-table__header {
    background: #EBFFF2;
    padding: 20px;
    border-bottom: 0.5px solid #5E5E5E;
}

.blog-table__grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 24px;
}

.blog-table__grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 24px;
}

.blog-table__grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 24px;
}

.blog-table__grid-5 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 24px;
}

.blog-table__grid-7 {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-gap: 24px;
}

.blog-table__span-2 {
    grid-column: span 2;
}

.blog-table__header h4,
.blog-table__row-header {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.6;
    color: #094851;
    margin: 0;
}

.blog-table__row {
    padding: 16px 20px;
    font-size: 14px;
    line-height: 1.6;
    align-items: center;
}

.blog-table__row--border-bottom {
    border-bottom: 0.5px solid #5E5E5E;
}

.highlight-box {
    padding: 24px 32px;
    background: #F4F4F4;
    font-size: 14px;
    line-height: 1.4;
    margin-top: 32px;
}

.highlight-box p {
    margin-top: .5rem !important;
}

@media(max-width: 1000px) {
    .blog-table__grid-4 {
        min-width: 900px;
    }

    .blog-table {
        overflow-x: scroll;
    }

}

@media(max-width: 767px) {

    .blog-table__row,
    .blog-table__header h4 {
        font-size: 13px;
    }

    .blog-table {
        overflow-x: scroll;
        width: calc(100% + 2.813rem);
    }

    .blog-table__grid-3 {
        min-width: 700px;
    }
}

.modified-ul .textwidget .tirets {
    padding-left: 0px;
    padding-right: 0px;
    margin-top: 1rem;
    margin-bottom: 0;
}

.modified-ul .textwidget .tirets li:before {
    top: 12px;
}

.copyright #accessibilityWidget {
    text-decoration: underline;
    cursor: pointer;

}

.copyright #accessibilityWidget img {
    height: 40px;
    width: 40px;
    background-color: black;
    margin-right: 10px;
    border-radius: 20px;
}

@media only screen and (max-width: 600px) {
    .copyright #accessibilityWidget {
        margin: 10px 0;
    }
}

/** CTA Blog **/

.blog-cta .chicago-green-btn,
.chicago-green-btn:visited {
    background-color: #62d36f;
    padding-top: 16px;
    padding-bottom: 16px;
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    color: #225540;
    max-width: 304px;
    display: inline-block;
    transition: .3s;
}

.textwidget p.blog-cta__text {
    padding: 0px;
    margin: 0px;
    font-size: 16px;
    font-weight: 500;
    padding-right: clamp(0px, 2vw, 40px)
}

.single-post h3.blog-cta__title {
    font-family: 'poppins';
    color: #fff;
    font-weight: 700;
    font-size: clamp(24px, 4vw, 30px);
    line-height: 1.3;
}

.single-post img.blog-cta__img {
    object-fit: cover;
    min-height: 100%;
    padding-top: 0;
    width: 40%;
}

.blog-cta {
    border-radius: 10px;
    background: #225540;
    padding: 24px;
    color: #fff;
    display: flex;
    flex-direction: row;
    gap: clamp(24px, 6vw, 40px);
    align-items: stretch;
    margin: 16px 0;
}

.blog-cta__content {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 4vw, 20px);
    justify-content: center;
}

@media(max-width: 767px) {
    .blog-cta {
        flex-direction: column;
    }

    .single-post img.blog-cta__img {
        width: 100%;
    }
}
