/* 

    File: main.css
    Version: 1.2.1
    Author: NEUE
    Last update: 10.07.2019

    Before reading/coding: This style sheet has been written with the "mobile first" logic. It means that your code is firstly for mobiles.
                           Please use the responsive rules to custom other medias.

                           Animation has not yet been implemented but could be used with the external library

    -1) Variables

    0) Reset CSS
        0.1) Normalize by Necolas
        0.2) Custom Reset

    1) General Style

    2) Layouts
        2.1) Default
            2.1.1) Header
            2.1.2) Main
            2.1.3) Footer

    3) Helpers
        3.1) Spacing
        3.2) Wrappers
        3.3) Containers & Contents
        3.4) Text
        3.5) Flex Grid
        3.6) Colors & Areas
        3.7) Other
        3.8) Animations
        3.9) Custom

    4) Icons
        4.1) Icomoon

    5) Content
        5.1) Sections
        5.2) Elements & Parts
        5.3) Pages

    6) Responsive
        6.1) Small media (481px +)
        6.2) Medium media (721px +)
        6.3) Large media (993px +)
        6.4) Huge media (1251px +)
        6.5) Custom media

    7) Overriden area

    8) Dev / Test

/*************************************************************************

    -1) Variables

*************************************************************************/

:root {

    --white-color: #F9F7F5;
    --text-color: #051A85;
    --text-color-hover: #131F5B;
    --green-color: #3BC073;
    /* --red-color: #fa3c10; */
    --blue-color: #326CFF;
    --saturday-color: #FF5400;
    --sunday-color: #FFC100;
    --thursday-color: #004730;
    --friday-color: #A2CBFF;

    --border-width: 2px;
    --border-radius: 2rem;

    --transition-speed: .5s;
    --transition-easing: ease;

}

/*************************************************************************

    0) Reset CSS

*************************************************************************/

    /*************************************************************************
        0.1) Normalize by Necolas
    *************************************************************************/

    /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
    html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}[hidden]{display:none}
    
    /*************************************************************************
        0.2) Custom reset
    *************************************************************************/

    * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box;
    }

    html,
    body {
        -webkit-text-size-adjust: 100%;
           -moz-text-size-adjust: 100%;
            -ms-text-size-adjust: 100%;
             -o-text-size-adjust: 100%;
                text-size-adjust: 100%;
    }

    html {
        height: 100%;
        overflow-x: hidden;
    }

    body {

        padding: 0;
        min-height: 100vh;
        font-size: 1rem;
        text-rendering: optimizeLegibility;
        font-display: fallback; /* 20.03.2019 - only for FireFox, Chrome, Chorme Android, Samsung Internet, Safari , iOS Safari and Opera */
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;

        overflow: hidden;

    }

    h1:first-child,
    h3:first-child,
    h4:first-child,
    h5:first-child,
    h6:first-child,
    p:first-child ,
    li:first-child {
        margin-top: 0;
        padding-top: 0;
    }

    h1:last-child,
    h2:last-child,
    h3:last-child,
    h4:last-child,
    h5:last-child,
    h6:last-child,
    p:last-child,
    li:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    :empty,
    ::empty {
        display: none;
    }

    a {
        text-decoration: none;
        color: inherit;
    }

    textarea {
        resize: vertical;
    }

    label[for],
    a[href],
    a[data-action],
    button,
    .button {
        cursor: pointer;
    }

    p:empty {
        display: none !important;
    }

/*************************************************************************

    1) General Style

*************************************************************************/

    /************ Set Maple fonts and variants : ***********/

        /*** normal : ***/
            @font-face {
                font-family: 'Maple';
                src: url('../fonts/maple/Maple-Regular.woff') format('woff');
                font-weight: 400;
            }

        /*** medium : ***/
            @font-face {
                font-family: 'MapleMedium';
                src: url('../fonts/maple/Maple-Medium.woff') format('woff');
                font-weight: 600;
            }

        /* ** bold : **
        @font-face {
            font-family: 'Maple';
            src: url('../fonts/maple/Maple-Bold.woff') format('woff');
            font-weight: 500;
        } */

        @font-face {
            font-family: 'PhonkContrast';
            src: url('../fonts/Phonk-Contrast.otf') format('opentype');
            font-weight: normal;
        }
    /*******************************************************/

    ::selection {
        color: var(--text-color);
        background: var(--green-color);
    }

    /*******************************************************/

    html.init {
        opacity: 1 !important;
        transition: opacity ease .3s;
    }

    /*******************************************************/

    html {
        font-size: 20px;
        scroll-behavior: smooth;
    }

    html.teasing body > header {

        height: 100vh;
        width: 100vw;
        background-color: var(--dark-blue-color);
        
    }

    html.teasing,
    html.teasing body {

        overflow: hidden;

    }

    html.teasing body > main,
    html.teasing body > footer,
    html.teasing body .cookies-banner {

        display: none;
        visibility: hidden;

    }

    body {
        font-size: 1rem;
        color: var(--text-color);
        background-color: var(--white-color);
        font-family: 'Maple';
    }

    /* General Style > Heading tag */

    h1,
    .as-h1 {
        font-weight: bold;
        font-size: 3rem;
        margin-top: 0;
        margin-bottom: 0;
        font-family: 'Maple';
    }

    h2,
    .as-h2 {
        font-weight: normal;
        text-transform: uppercase;
        font-size: 2.5rem;
        /* margin: 0 0 3rem 0; */
        margin: 0;
        text-align: center;
    }

    h3,
    .as-h3 {
        font-size: 2.3rem;
        margin: 0;
        font-weight: 600;
        font-family: 'MapleMedium';
        /* margin: 2rem 0 1rem 0; */
    }

    h4,
    .as-h4 {
        font-weight: bold;
        font-size: 1.2rem;
        margin: 1rem 0;
        font-family: 'MapleMedium';
    }

    h5 {
        font-weight: normal;
        font-size: 1rem;
        margin: 1rem 0;
    }

    h1,
    h2,
    h3,
    h4,
    h5 {
        line-height: 1em;
        word-break: break-word;
        hyphens: auto;
    }

    /* .section--inner-content-introduction {
        max-width: calc(525px + 9rem);
    } */

    /* General Style > Form */

    input {

        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        border-radius: 0;

    }

    input[type='number'] {
        -moz-appearance:textfield;
    }

    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
        -webkit-appearance: none;
    }

    /* Placeholder color */
    ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
        color: initial;
    }

    ::-moz-placeholder { /* Firefox 19+ */
        color: initial;
    }

    :-ms-input-placeholder { /* IE 10+ */
        color: initial;
    }

    :-moz-placeholder { /* Firefox 18- */
        color: initial;
    }

    /* General Style > Other elements */

    address {
        font-style: normal;
    }

    form label {
        text-transform: uppercase;
    }

    form input,
    form textarea,
    input[type=search] {
        padding: .7rem;
        border: 2px solid var(--text-color);
        color: var(--text-color);
        width: 100%;
        outline: none;
    }

    form input::placeholder,
    form textarea::placeholder,
    input[type=search]::placeholder {
        color: var(--text-color);
    }

    section:not(.as-wysiwyg) ul,
    body > header ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }

    /* General Style  > link & button */

    button,
    .button {

        position: relative;

        padding: .5rem 1.5rem;

        z-index: 0;

        border: none;

        text-transform: uppercase;

    }

    button .img-wrapper,
    .button .img-wrapper {

        position: absolute;

        top: 0;
        left: 0;

        width: 100%;
        height: 100%;

        z-index: 1;

    }

    button > div:last-of-type,
    .button > div:last-of-type {

        transform: scaleX(0);

        transition: transform var(--transition-speed) var(--transition-easing);
    
    }

    button span,
    .button span {

        position: relative;

        transition: color var(--transition-speed) var(--transition-easing);

        z-index: 2;

    }

    button.active > div:last-of-type,
    .button.active > div:last-of-type {

        transform: scaleX(100%);

    }

    button:before,
    .button:before,
    button:after,
    .button:after,
    .link,
    .link:before,
    .link:after,
    .is-wysiwyg a,
    .is-wysiwyg a:before,
    .is-wysiwyg a:after,
    nav li,
    .icon-favicon {
        transition: var(--transition-speed) var(--transition-easing);
    }

    button,
    .button {

        transition: background-color var(--transition-speed) var(--transition-easing),
                    border var(--transition-speed) var(--transition-easing),
                    color var(--transition-speed) var(--transition-easing);

    }

    .circle-button {
        padding: 0;
        width: 3rem;
        height: 3rem;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        border: 1px solid var(--text-color);
        background-color: var(--text-color);
        color: var(--white-color);
    }

    .circle-button .icon-button {
        transform: translateY(2px);
    }

    .button .icon-arrow {
        transform: translateY(2px);
    }

    .link,
    .is-wysiwyg a,
    .medias-links a,
    .staff-links a,
    .conditions-links a,
    .copyright a,
    .artist-lightbox .day {
        position: relative;
        display: inline-block;
        width: fit-content;
    }

    .button:not(.lift).active {

        pointer-events: none;
        cursor: default;

    }

    /* General Style  > Section */
    
    body > main section > .section-container {
        position: relative;
    }

    .section-container {
        padding: 1rem;
    }

    .section-header,
    .section--inner-content-introduction {
        margin-bottom: 3rem !important;
    }
    
    .section-header {
        text-align: center;
    }

    .section-footer {
        display: flex;
        flex-direction: column;
    }

    .section-footer .section-footer--content {
        margin-bottom: 4rem;
    }

    .section-footer .section-footer--content .gallery-img {
        height: 36vh;
    }

    .section-footer .button {
        margin-left: auto;
        margin-right: auto;
    }

    .section--inner-content-main {
        display: flex;
        flex-direction: column;
    }

    .inner-content-main--container {
        padding-bottom: 4rem;
    }

    .faq .inner-content-main--container {
        padding-bottom: 3rem !important;
    }

    .inner-content-main--container .content-icon {
        display: flex;
        font-size: 6rem;
        color: var(--dark-blue-color);
    }

    .inner-content-main--container .content {
        margin-top: 1rem;
        position: relative;
    }

    section:not(.organisation):not(.contact):not(.faq):not(.as-wysiwyg) .inner-content-main--container .content:after {
        position: absolute;
        content: "";
        width: 100%;
        height: 1px;
        background-color: var(--text-color);
        left: 0;
        bottom: -1rem;
    }

    .inner-content-main--container .content ul,
    .is-wysiwyg ul {

        margin-top: 1rem;

    }

    #espace_vip .inner-content-main--container .content ul {

        transform: translateX(20px);

    }

    .inner-content-main--container .content li,
    .is-wysiwyg ul {
    
        position: relative;
        list-style: circle;

    }

    .inner-content-main--container .subtitle,
    .highlight-information > .offer-day {

        text-transform: uppercase;

    }

    .section--inner-content-main > .inner-content-main--container:last-of-type {
        padding-bottom: 5rem;
    }

    .subtitle {
        display: block;
    }

    .highlight-information .highlight-information--content {
        display: flex;
        align-items: center;
    }

    .highlight-information > .highlight-information--content:not(:first-child) {
        margin-top: 1rem;
    }

    .highlight-information > .offer-day:not(:last-of-type) {

        position: relative;

        padding-right: 1rem;

    }

    .highlight-information > .offer-day:not(:last-of-type):after {

        position: absolute;
        content: "";

        width: .5rem;
        height: 1px;

        background-color: #000000;

        right: .25rem;
        bottom: 50%;

    }

    /* Media query dès 721px */
    .highlight-information {
        display: flex;
        align-items: center;
    }

    .highlight-information > .highlight-information--content:not(:first-child) {
        margin-top: 0;
        margin-left: 1rem;
    }
      
    .highlight-information .highlight-information-icon {
        font-size: 2rem;
        margin-right: 1rem;
        display: flex;
        align-items: center;
    }

    .subtitle,
    .highlight-information {
        margin-bottom: 1rem;
    }

    .content-title {
        margin-bottom: .5rem;
    }

    .content-list-items .details {
        display: none;
        visibility: hidden;
    }

    .content-list-items.active .details {
        visibility: visible;
        display: block;
    }

    .content > ul {
        list-style-type: circle;
        padding-left: 1rem;
    }

    .is-wysiwyg li,
    .content li {
        margin-bottom: .5rem;
    }

    .content-to-toggle {
        display: none;
        visibility: hidden;
    }

    .content.toggle-on-click {
        padding-bottom: 1.5rem;
    }

    .content.toggle-on-click .cross {
        position: absolute;
        transform: rotate(45deg);
        width: 1rem;
        bottom: 0;
        height: 1rem;
        right: 0;
    }

    .content.toggle-on-click .cross:before,
    .content.toggle-on-click .cross:after {
        width: 100%;
    }

    .content.toggle-on-click:hover .cross:before,
    .content.toggle-on-click:hover .cross:after,
    .content.toggle-on-click .cross:hover:before,
    .content.toggle-on-click .cross:hover:after {
        background-color: var(--green-color);
    }

    .content.toggle-on-click.active .cross:before {
        transform: translate(-50%) rotate(-45deg);
    }

    .content.toggle-on-click.active .content-to-toggle {
        display: block;
        visibility: visible;
    }

    .content.toggle-on-click.active .content-to-toggle,
    .content.toggle-on-click.active .content-to-toggle > .content-to-toggle--content:not(:first-of-type) {
        margin-top: 2rem;
    }

    /* General Style  > content */

    p {
        margin: 0;
        line-height: 1.3em;
    }

    .edition-grid {
        width: calc(100% + 2rem);
        margin-left: -1rem;
    }

    .edition-grid .edition-grid--cell {
        padding: 1rem;
        display: none;
        visibility: hidden;
    }

    .edition-grid .edition-grid--cell.visible {
        display: block;
        visibility: visible;
    }

    .edition-grid .previous-festival-year {
        margin: 1rem 0;
        text-align: center;
    }

    .expand-grid-wrapper .expand-grid-button {
        margin: 1rem auto 0 auto;
        display: flex;
    }

    ul.block-list > li:not(:last-of-type) {
        padding-right: .5rem;
        display: inline-flex;
    }
    
    ul.block-list > li:not(:last-of-type):after {
        content: "|";
        padding-left: .5rem;
    }

    /* Hide */

    .hide {
        display: none;
        visibility: hidden;
    }

    /* Disable */

    .disabled .ticket {

        position: relative;

        pointer-events: none;

    }

    .disabled .ticket:after {

        position: absolute;
        content: "";

        top: 0;
        left: 0;

        width: 100%;
        height: 100%;

    }

    /* WYSIWYG */

    .is-wysiwyg h3 {
        margin-bottom: .5rem;
        margin-top: 2rem;
    }

    .is-wysiwyg p {
        margin: 1rem 0;
    }

    .is-wysiwyg h3 + p {

        margin-top: 0;

    }

    .as-wysiwyg .inner-content-main--container {
        padding-bottom: 0 !important;
        /* margin-bottom: 3rem !important; */
    }

    .as-wysiwyg .section--inner-content-main > .inner-content-main--container:not(:last-of-type) {
        margin-bottom: 1rem !important;
    }

/*************************************************************************

    2) Layouts

*************************************************************************/

    /*************************************************************************
        2.1) Default
    *************************************************************************/

    /* Default > Header */

        /* menu */

        body > header .main-menu-links {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        body > header .master-menu {
            display: flex;
            justify-content: center;
        }
        
         body > header .main-menu-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem;
            text-transform: uppercase;
            color: #fff;
            width: 100%;
            position: fixed;
            z-index: 999;
            gap: .5rem;
            top: 0;
            transition: background-color var(--transition-speed) var(--transition-easing);
        }

        body > header .menu-logo-link-container {
            height: fit-content;
            width: fit-content;
        } 

        body > header .home-banner .sponsors-logo span:not(:first-child) {
            padding-left: 1rem;
        }  

        body > header .home-header .sponsors-logo .icon-bcn {
            font-size: 1.075rem;
        }

        body > header .icon-favicon {
            font-size: 3rem;
        }

        .menu-alt {
            backdrop-filter: blur(10px);
        }

        body > header {

            position: relative;
        
        }
        /* Header > Home */

        body > header .header-content {
            position: relative;
        }

        body > header .home-banner .details {
            justify-content: space-between;
            padding-top: 10rem;
            padding-bottom: 6rem;
            z-index: 1;
        }

        body > header .home-banner .sponsors-logo span:not(:first-child) {
            padding-left: 1rem;
        }  

        body > header .home-banner .sponsors-logo .icon-bcn {
            font-size: 1.1rem;
        }

        body > header .home-banner .as-h4 {
            margin: 0;
        }

        body > header .home-banner .content {
            display: flex;
            flex-direction: column;
        }

        body > header .home-banner .home-banner-titles > .icon-logo {
            margin-top: 4rem;
        }

        body > header .home-banner .icon-logo {

            font-size: 10rem;
            display: flex;
            z-index: 2;

        }

        /* Header > Default */

        body > header .main-banner-content {
            min-height: 200px;
        }

        body > header .main-banner-content:not(.home-banner) {
            padding: 8rem 1rem;
            display: flex;
            align-items: flex-end;
        }

        body > header .main-banner-content {
            height: 100%;
        }

        body > header .main-banner-content .home-banner-titles {
            background-color: transparent;
            min-height: 50vh;
            padding: 8rem 2rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            color: white;
            width: 100%;
            z-index: 3;
        }

        body > header .main-banner-content .home-banner-news-title {
            font-size: 1.5rem;
        }

        body > header .main-banner-content .sponsors {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        body > header .home-banner-news {
            background-color: var(--blue-color);
            height: auto;
            width: 100%;
            margin: auto;
            display: flex;
            align-items: center;
            z-index: 1;
            position: relative;
        }

        body > header .home-banner-news .circle {
            width: 500px;
            border: 1px solid var(--blue-color);
            height: 300px;
            position: absolute;
            border-radius: 50%;
            background-color: var(--blue-color);
            top: -7rem;
            z-index: -1;
        }

        body > header .home-banner-news-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            transition: var(--transition-easing) var(--transition-speed);
        }

        body > header .home-banner {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

    /* Default > Main */

    /* Default > Footer */

    body > footer {
        z-index: 2;
        position: relative;
    }

    body > footer .footer-container .cta-rs {
        margin-bottom: .5rem;
    }

    body > footer .footer-container {
        padding-left: 8vw;
        padding-right: 8vw;
    }

    body > footer .footer-container .footer-content label {
        display: block;
        transform: translateY(2px);

    }

    body > footer .footer-container .footer-content .input {
        user-select: none;
    }


    body > footer .footer-container .footer-content .input label {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    body > footer .footer-container .footer-content .input .label {
        text-transform: none;
        text-align: left;
        transition: all var(--transition-easing) var(--transition-speed);

    }

    body > footer .footer-container .footer-content input[type="email"] {
        transition: all ease .3s;
    }

    body > footer .footer-container .footer-content input[type="email"]:focus {
        border-color: var(--green-color);
    }

    body > footer .footer-container .footer-content .input input {
        display: none;
    }

    body > footer .footer-container .footer-content .input input ~ .input-checkbox {
        height: 1.3rem;
        width: 1.3rem;
        border: solid 2px var(--text-color);
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-right: 1rem;
        flex-shrink: 0;
        transition: all var(--transition-easing) var(--transition-speed);
    }

    body > footer .footer-container .footer-content .input input ~ .input-checkbox:after {
        width: 0%;
        height: 0%;
        position: relative;
        content: '';
        background-color: var(--green-color);
        border-radius: 50%;
        transition: all ease .2s;
    }


    body > footer .footer-container .footer-content .input input:checked ~ .input-checkbox:after {
        width: 70%;
        height: 70%;
    }

    body > footer .footer-container .footer-content .input input:checked ~ .input-checkbox {
        border-color: var(--green-color);
    }

    body > footer .footer-container .footer-content .input input:checked ~ .label {
        color: var(--green-color);
    }


    body > footer .footer-container .footer-content .input {
        margin-bottom: 1rem;
    }

    body > footer .main-top-menu {
        display: flex;
        flex-direction: column;
    }

    body > footer .main-top-menu > .button:not(:first-child) {
        margin-top: 1rem;
    }

    body > footer .sponsors-img {
        width: 150px;
        height: 80px;
        background-size: contain;
    }

    body > header .sponsors-logo a span,
    body > footer .sponsors-img {

        transition: var(--transition-speed) var(--transition-easing);

    }

    body > header .sponsors-logo a {

        display: inline-flex;

    }

    body > footer .footer-content > div:not(:first-child),
    body > footer .footer-content > a {
        margin-top: 2rem;
    }
    
    body > footer .footer-content .email {
        margin: 1rem 0;
    }

    body > footer .footer-content > a {
        display: block;
    }

    body > footer .copyright ul.block-list li > a {
        margin: 0 .2rem;
    }

    body > footer .newsletter-form {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        width: 100%;
        max-width: 600px;
    }

    body > footer .newsletter-form .title {

        text-transform: uppercase;

    }

    body > footer .newsletter-form > a {

        width: fit-content;

    }

    body > footer .social-networks-logos {
        width: 100%;
        display: flex;
    }

    body > footer .social-networks-logos .button {
        margin-right: .5rem;
    }

    .as-rs-buttons,
    body > footer .social-networks .button {
        width: 2.3rem;
        height: 2.3rem;
        font-size: .9rem;

        background-color: var(--text-color);
        color: var(--white-color);

    }

    body > footer .social-networks .button span {

        display: flex;

    }

    body > footer .newsletter-form input {
        margin-left: auto;
        margin-right: auto;
    }

    body > footer ul {
        display: flex;
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    /* body > footer ul li a,
    body > footer .copyright a {
        text-decoration: underline;
    } */

    body > footer .footer-content a:after {
        display: none;
    }

    body > footer .footer-content #mc_embed_signup div.mce_inline_error {
        background-color: var(--red-color);
        padding: .5rem 1rem;
    }


    body > footer .footer-content #mc_embed_signup input.mce_inline_error {
        border-color: var(--red-color);
    }


    body > footer .footer-content #mce-success-response {
        margin: 1rem 0;
        padding: .5rem 1rem;
        color: var(--white-color);
        background-color: var(--green-color);
    }

    /*************************************************************************

        3) Helpers
        doc: https://agenceneue.ch/assets/ressources/css-helpers

    *************************************************************************/

    /*************************************************************************
        3.1) Spacing
    *************************************************************************/
    
    /* lib/spacing.css */

    /*************************************************************************
        3.2) Wrapper
    *************************************************************************/

    [class^="wrapper"],
    [class*="-wrapper"] {
        position: relative;
        width: 100%;
        height: 100%;
    }

    /*************************************************************************
        3.3) Containers & Contents
    *************************************************************************/

    [class^="container"],
    [class*="-container"] {
        width: 100%;
        position: relative;
    }

    .small-container {
        max-width: 600px;
    }

    /* Medium container moved to a media query */
    
    .large-container {
        max-width: 1600px;
    }

    .x-large-container {
        max-width: 1920px;
    }

    .tiny-content {
        max-width: 300px;
    }

    .small-content {
        max-width: 600px;
    }

    .medium-content {
        max-width: 1200px;
    }

    .half-content {
        max-width: 50%;
    }
    
    .center {
        margin: auto;
    }

    /*************************************************************************
        3.4) Text
    *************************************************************************/

    .txt-big {
        font-size: 1.3rem;
    }

    .txt-small {
        font-size: 0.8rem
    }

    .txt-left {
        text-align: left;
    }

    .txt-center {
        text-align: center;
    }

    .txt-right {
        text-align: right;
    }

    .txt-upper {
        text-transform: uppercase;
    }

    .txt-lower {
        text-transform: lowercase;
    }

    .txt-reverse {
        direction: rtl;
        unicode-bidi: bidi-override;
    }

    .category,
    .date {
        text-transform: uppercase;
    }

    /*************************************************************************
        3.5) Flex Grid
    *************************************************************************/
        
    /* lib/flex-grid.css */

    .flex,
    .flex-center,
    .flex-v-center,
    .flex-h-center,
    .flex-space-between {
        display: flex;
    }

    .flex-center {
        align-items: center;
        justify-content: center;
    }

    /*************************************************************************
        3.6) Colors & Areas
    *************************************************************************/
    
    /* Colors & Areas > Colors */

        /* Colors & Areas > Colors > Black */

        .bg-black {
            background-color: black;
        }

        .black-b:before,
        .black-a:after,
        .black-ba:before,
        .black-ba:after,
        .black:before,
        .black:after,
        .black {
            color: black;
        }

        .border-black {
            border-color: black;
        }

    /* Colors & Areas > Areas */

        /* Colors & Areas > Areas > Dark blue area */

        .dark-blue-area {
            background-color: var(--dark-blue-color);
            color: var(--white-color);
        }

        .dark-blue-area .link:after {
            background-color: var(--white-color);
        }

        .dark-blue-area .button {
            color: var(--white-color);
            border-color: var(--white-color);
        }

        .dark-blue-area .button.active,
        .dark-blue-area .social-networks .circle-button {
            color: var(--dark-blue-color);
            background-color: var(--white-color);
        }

        /* Colors & Areas > Areas > White area */

        .white-area {
            background-color: var(--white-color);
            color: var(--text-color);
        }

        /* Colors & Areas > Areas > Blue area */

        .blue-area {
            background-color: var(--blue-color);
            color: var(--white-color);
        }

        .blue-area .button {
            color: var(--white-color);
            border-color: var(--white-color);
        }

        .blue-area .button.active {
            color: var(--blue-color);
            background-color: var(--white-color);
        }

    /* Color & Areas > Day */

        .artists--day-grid-cell--preview .button {

            pointer-events: none;

        }

        .afternatives .afternatives-img {

            right: 6rem;
            top: 4rem;

        }

        /* Artistes afternatives */

        .artist-preview.afternatives .circle {

            background-color: var(--dark-blue-color);

        }

        .artist-preview.afternatives .afternatives-mention {

            position: absolute;

            bottom: 0;

        }

        .artist-preview.afternatives .preview-info {

            background-color: var(--text-color);

        }

        .afternatives-logo {

            position: absolute;

            width: 100%;
            height: 100%;

            background-image: url('/wp-content/themes/neue/webroot/img/logo-afternatives.svg');
            background-size: contain !important;

            transform: scale(.5);

        }

    /*************************************************************************
        3.7) Other
    *************************************************************************/

    .away {
        position: absolute;
        left: -9999px;
        top: -9999px;
        visibility: hidden;
        z-index: -1;
    }

    .toggle-on-click { /* use if toggle on click JS plugin is activated */
        cursor: pointer;
    }

    .no-overflow {
        overflow: hidden !important;
    }

    .no-overflow-f {
        overflow: hidden !important;
    }

    /* Other > Background Image */

    [class^="bg-img"],
    [class*="bg-img"] {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center; 
    }

    .bg-img-portait {
        background-position-y: top;
    }

    .bg-img-parallax {
        background-attachment: fixed;
    }

    /* Other > Transition */

    .no-transition-f {
        -webkit-transition: none !important;
        -moz-transition: none !important;
        -ms-transition: none !important;
        -o-transition: none !important;
        transition: none !important;
    }

    /* Other > User interaction */

    .no-select {
        cursor: default;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    /*************************************************************************
        3.8) Animations
    *************************************************************************/

    @keyframes loading-bar {
        from {
            transform: rotateY(0);
            -webkit-transform: rotateY(0);
            -moz-transform: rotateY(0);
            -ms-transform: rotateY(0);
            -o-transform: rotateY(0);
        }

        to {
            transform: rotateY(360deg);
            -webkit-transform: rotateY(360deg);
            -moz-transform: rotateY(360deg);
            -ms-transform: rotateY(360deg);
            -o-transform: rotateY(360deg);
        }
    }

    /*************************************************************************
        3.9) Custom
    *************************************************************************/

    /* Bubble info */

    .highlight-grid .circle {
        width: 40vmin;
        height: 40vmin; 
        max-width: 25rem;
        max-height: 25rem; 
        border-radius: 9.5vw 9.5vw 50% 50%;
        border-radius: 50%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .circle .icon-alert,
    .circle .icon-alert,
    .main-banner-content .icon-alert {
        margin-bottom: 1rem;
        font-size: 3rem;
        display: block;
        height: 3rem;
    }

    /* Filters */
    
    .programme .filters-nav {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        z-index: 1;
    }

    /* Filters years */

    .years-filters {

        display: grid;

        grid-template-columns: repeat(1, auto);
        gap: 1rem;

    }

    .years-filters .button {

        width: 100% !important;
        max-width: unset !important;
        min-width: unset !important;
        margin-top: 0 !important;

    }

    /* Anchors */

    .anchors-nav {
        /* padding: .3rem 0; */
        backdrop-filter: blur(10px);
        /* border-top: 1px solid var(--text-color);
        border-bottom: 1px solid var(--text-color); */
    }

    .anchors-nav ul {
        margin: 0;
        padding: 0;
    }

    .anchors-nav li {

        display: block;
        text-transform: uppercase;
        padding: .3rem .5rem .1rem .5rem;  

    }

    .anchors-nav li svg {

        position: absolute;

        bottom: -.15em;
        left: 0;

        height: 4px;
        width: 100%;

    }

    .anchors-nav li svg > path {

        stroke-dasharray: 120;
        stroke-dashoffset: 120;

        transition: .3s ease;

    }

    .anchors-nav li:hover svg > path,
    .anchors-nav li.active svg > path {

        stroke-dashoffset: 0;

    }

    .anchors-nav li a {
        display: block;
        cursor: pointer;
    }

    .anchors-nav li a > span {

        position: relative;

    }

    main {
        position: relative;
    }

    /* Map */

    .map {
        
        min-height: 380px;
        height: 40vh;
        max-height: 800px;
        width: 100%;

        background-size: contain;

    }

    .section--inner-content > .tickets-container:not(:first-child) {
        margin-top: .5rem;
    }

    .tickets-container .title,
    .tickets-container .subtitle {
        text-align: center;
    }

    .tickets--grid > .tickets--grid--cell:not(:last-child) {
        margin-bottom: 1rem;
    }

    .ticket {

        padding: 1.5rem 2rem;;
        display: flex;

        gap: 2rem;
    }

    .ticket .img-wrapper {

        position: absolute;

        top: 0;
        left: 0;
        
        width: 100%;
        height: 100%;
        
        z-index: -1;

    }

    .ticket > div:nth-child(2) {

        opacity: 0;

        transition: opacity var(--transition-speed) var(--transition-easing);

    }

    .ticket > div:not(.img-wrapper) {

        display: flex;

        flex-direction: column;

        align-items: center;

        transition: color var(--transition-speed) var(--transition-easing);

        z-index: 2;
    
    }

    .ticket footer {

        display: flex;
        flex-direction: column;
        
        align-items: center;

    }

    .ticket [class^="icon"] {
        font-size: 2.5rem;
        display: flex;
        background-color: white;
        border-radius: 10%;
        -webkit-border-radius: 10%;
        -moz-border-radius: 10%;
        -ms-border-radius: 10%;
        -o-border-radius: 10%;
    }

    @media (any-hover: hover) {

        .tickets--content:not(.disabled) .ticket:hover > div:nth-child(2) {

            opacity: 1;
    
        }

        .tickets--content:not(.disabled) .ticket:hover > div:not(.img-wrapper) {

            color: var(--white-color);
        
        }

    }

    .ticket .note {

        flex-shrink: 0;

    }

    #tickets .ticket .note {

        display: flex;
        max-width: 35px;
        width: 100%;

    }

    #afternatives .note {

        max-width: 50px;

    }

    #vip_tickets .note {

        max-width: 60px;

    }

    #family_tickets .note {

        max-width: 60px;

    }

    .ticket .note svg {

        width: 100%;
        height: 100%;

    }

    .ticket .note[data-day=thursday] path {

        fill: var(--thursday-color);

    }

    .ticket .note[data-day=friday] path {

        fill: var(--friday-color);

    }

    .ticket .note[data-day=saturday] path {

        fill: var(--saturday-color);

    }

    .ticket .note[data-day=sunday] path {

        fill: var(--sunday-color);

    }

    .ticket .button .price {
        margin-left: 1rem;
        position: relative;
    }

    .ticket .button .price:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 1px;
        background-color: var(--text-color);
        left: -.5rem;
    }

    .ticket .button .inner-content > span:first-child .price::before {

        background-color: var(--text-color);

    }

    .multiple-icons-tickets {
        position: relative;
        padding-top: 1rem;
        padding-right: 1rem;

        width: 4rem;
    }

    .multiple-icons-tickets .note {
        position: absolute;
    }

    .multiple-icons-tickets > span:first-child {
        top: 0rem;
        right: 2rem;
    }

    .multiple-icons-tickets > span:nth-child(2) {
        top: 1rem;
        right: 1rem;
    }

    .multiple-icons-tickets > span:nth-child(3) {
        top: 0;
        right: 0;
    }

    .multiple-icons-tickets > span:nth-child(4) {
        top: 1rem;
        right: -1rem;
    }

    .multiple-day-title {
        margin-bottom: 0;
    }

    /* img scale */

    .img-box {
        overflow: hidden;
        height: 60vh;
        width: 100%;
    }

    .img-box .bg-img {
        width: 100%;
        height: 100%;
    }

    .gallery .bg-img,
    .news-preview .bg-img,
    .edition-grid--cell .bg-img {
        transition: var(--transition-speed) var(--transition-easing);
        -webkit-transition: var(--transition-speed) var(--transition-easing);
        -moz-transition: var(--transition-speed) var(--transition-easing);
        -ms-transition: var(--transition-speed) var(--transition-easing);
        -o-transition: var(--transition-speed) var(--transition-easing);
    }

    .edition-grid--cell .img-box {

        min-height: 550px;

    }

    /* artist preview */  

    .artist-preview {
        cursor: pointer;
        overflow: hidden;
    }

    .artist-preview .circle {
        position: relative;
        overflow: hidden;
    }

    .artist-preview .afternatives-img,
    .artist-preview .young-street-talent-img {

        position: absolute;

        width: 11rem;
        height: 10rem;   

    }

    /* Artists grid */

    .artist-preview .preview-info {
        position: absolute;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transform: translateX(-100%);
        -webkit-transform: translateX(-100%);
        -moz-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        -o-transform: translateX(-100%);
        transition: var(--transition-speed) var(--transition-easing);
        -webkit-transition: var(--transition-speed) var(--transition-easing);
        -moz-transition: var(--transition-speed) var(--transition-easing);
        -ms-transition: var(--transition-speed) var(--transition-easing);
        -o-transition: var(--transition-speed) var(--transition-easing);
    }

    .artist-preview .circle,
    .artist-preview .preview-info {
        width: 20vmin;
        height: 20vmin;
        max-width: 500px;
        max-height: 500px;
        min-width: 200px;
    	min-height: 200px;
        border-radius: 50%;
        margin-bottom: 2.5rem;
    }

    .artist-preview ,
    .artist-preview-content {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 2;
        height: 100%;
        padding: 1rem;
        padding-bottom: 2rem;
    }

    .artist-preview .button {
    	margin: 0;
        margin-top: 1rem;
    }

    .artist-preview-content .artist-name {

        position: absolute;

        bottom: 1rem;

    }

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

        .artist-preview-content .artist-name {

            font-size: clamp(16px, 1.5vw, 30px);
        
        }

    }

    .young-street-talent-mention {

        position: absolute;

        bottom: 0;

    }

    /* Steps-nav */

    .steps-nav {
        display: flex;
        justify-content: space-between;
        margin: auto;
    }

    .steps-nav .steps-nav--content {
        cursor: pointer;
    }

    .steps-nav a,
    .steps-nav .steps-nav--content span {
        transition: .3s ease;
    }

    .steps-nav .steps-nav--content {
        display: flex;
    }

    .steps-nav > .steps-nav--content:first-child {
        flex-direction: row-reverse;
    }

    .steps-nav > .steps-nav--content:first-child span.arrow {
        transform: rotate(180deg) translateY(2px);
    }

    .steps-nav > .steps-nav--content:last-child span {
        transform: translateY(2px);
    }

    article.detail-article {

        position: relative;

		display: flex;
		flex-direction: column;
		justify-content: center;

        padding: 1rem 2rem 4rem;

	}

    article.detail-article::before {

        position: absolute;
        content: "";
        width: calc(100% - 4rem);
        height: 1px;
        background-color: var(--text-color);
        top: 0;
        left: 2rem;

	}

	article.detail-article .container {
		max-width: 800px;
	}

    article.detail-article img {

        max-width: 100%;
        object-fit: contain;
    
    }

	.steps-nav--content {
		display: flex;
		align-items: center;
	}

	.steps-nav a:first-child {
		margin-right: 1rem;
	}

	.steps-nav a:last-child {
		margin-left: 1rem;
		text-align: right;
	}

	.steps-nav--content span.arrow {
		padding-left: 1rem;
		margin: 0;
	}

	article.detail-article p {
		margin-top: 1rem;
	}

    /* Sponsors list */

    .sponsors-grid .sponsors-grid--inner-content:not(:last-child) {
        padding-right: 2rem;
    }

    .sponsors-grid .sponsor-img {
        width: 100%;
        display: flex;
        height: 8vh;
        max-height: 100px;
        min-height: 50px;
        max-width: 200px;
        background-size: contain;
        transition: var(--transition-speed) var(--transition-easing);
    }

    .sponsors .inner-content-main--container > .sponsors-grid:first-of-type > .sponsors-grid--inner-content:nth-child(1) .sponsors-img-box {

        display: flex;
        align-items: center;
        
        height: 100%;
        width: 100%;

    }

    .sponsors .inner-content-main--container > .sponsors-grid:first-of-type > .sponsors-grid--inner-content:nth-child(1) .sponsor-img {

        max-height: 62px;

    }

    .sponsors .inner-content-main--container > .sponsors-grid:nth-of-type(4) > .sponsors-grid--inner-content:nth-child(2) .sponsor-img {

        max-height: 90px;

    }

    .sponsors .inner-content-main--container > .sponsors-grid:nth-of-type(6) > .sponsors-grid--inner-content:nth-child(8) .sponsor-img {

        max-height: 67px;

    }

/*************************************************************************/

/* 4) Icons

/*************************************************************************/

    /*************************************************************************
        4.1) Icommon
    *************************************************************************/

    @font-face {
        font-family: 'icomoon';
        src:  url('../fonts/icomoon/icomoon.eot?6etrny');
        src:  url('../fonts/icomoon/icomoon.eot?6etrny#iefix') format('embedded-opentype'),
        url('../fonts/icomoon/icomoon.ttf?6etrny') format('truetype'),
        url('../fonts/icomoon/icomoon.woff?6etrny') format('woff'),
        url('../fonts/icomoon/icomoon.svg?6etrny#icomoon') format('svg');
        font-weight: normal;
        font-style: normal;
        font-weight: normal;
        font-style: normal;
    }
    
    .before-icomoon:before,
    .after-icomoon:after,
    [class^="icon-"]:before,
    [class^="icon-"]:after,
    [class*=" icon-"]:before,
    [class*=" icon-"]:after {

        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;

        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    .icon-ticket-moon:before {
        content: "\e925";
    }

    .icon-cycle:before {
        content: "\e909";
    }

    .icon-alert:before {
        content: "\e900";
    }

    .icon-arrow-button:before {
        content: "\e901";
    }

    .icon-arrow:before {
        content: "\e902";
    }

    .icon-bcn:before {
        content: "\e903";
    }

    .icon-bus-2:before {
        content: "\e904";
    }

    .icon-bus-line:before {
        content: "\e905";
    }

    .icon-bus-night:before {
        content: "\e906";
    }

    .icon-bus:before {
        content: "\e907";
    }

    .icon-car:before {
        content: "\e908";
    }

    .icon-facebook:before {
        content: "\e90b";
    }

    .icon-handicap:before {
        content: "\e90c";
    }

    .icon-info:before {
        content: "\e90d";
    }

    .icon-instagram:before {
        content: "\e90e";
    }

    .icon-linkedin:before {
        content: "\e90f";
    }

    .icon-search:before {
        content: "\e924";
    }

    .icon-favicon:before {
        content: "\e90a";
    }

    .icon-logo:before {
      content: "\e910";
    }

    .icon-migros:before {
        content: "\e911";
    }

    .icon-parking:before {
        content: "\e912";
    }

    .icon-price:before {
        content: "\e913";
    }

    .icon-share:before {
        content: "\e914";
    }

    .icon-star-abo:before {
        content: "\e915";
    }

    .icon-star-brunch:before {
        content: "\e916";
    }

    .icon-star-cheese:before {
        content: "\e917";
    }

    .icon-star-cocktail:before {
        content: "\e918";
    }

    .icon-star-family:before {
        content: "\e919";
    }

    .icon-star:before {
        content: "\e91a";
    }

    .icon-ticket-family:before {
        content: "\e91b";
    }

    .icon-ticket-vip:before {
        content: "\e91c";
    }

    .icon-ticket:before {
        content: "\e91d";
    }

    .icon-tiktok:before {
        content: "\e91e";
    }

    .icon-time:before {
        content: "\e91f";
    }

    .icon-train:before {
        content: "\e920";
    }

    .icon-twitter:before {
        content: "\e921";
    }

    .icon-wc:before {
        content: "\e922";
    }

    .icon-youtube:before {
        content: "\e923";
    }

/*************************************************************************/

/* 5) Content

/*************************************************************************/



    /*************************************************************************/
    /* 5.1) Sections
    /*************************************************************************/

    /* Sections > Highlight news */

    .higlight-news {
        width: 100%;
        z-index: 1;
    }

    .higlight-news article a {
        margin: 0;
    }

    .higlight-news footer {
        display: flex;
        justify-content: center;
    }

    /******** more informaiton on artist *****/
    
    .img-box {
        position: relative;
    } 

    .more-overlay {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity ease .5s;
        pointer-events: none;
        z-index: 1;
        backdrop-filter: blur(10px);
    }

    .more-overlay .see-more {
        border-radius: 50%;
        width: 2.5rem;
        height: 2.5rem;
        border: solid 2px var(--text-color);
        background-color: var(--text-color);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .more-overlay .see-more > span{
        color: white;
        font-size: 1.2rem;
        margin-top: .3rem;
    }

    /******** /more informaiton on artist *****/

    /*************************************************************************/
    /* 5.2) Elements & Parts
    /*************************************************************************/


    /* aside menu */

    .aside-menu-area {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        overflow: hidden;
    }

    body > main > aside {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        top: 0;
        bottom: unset;
        z-index: 1;
        margin: calc(var(--border-width) * -1) 4rem;
        width: 250px;
    }

    body > main > aside > svg {

        overflow: visible;

    }

    /* Elements & Parts > Lightbox */

    .lightbox {
        position: fixed;
        -webkit-transition: .3s ease;
        -moz-transition: .3s ease;
            -ms-transition: .3s ease;
            -o-transition: .3s ease;
                transition: .3s ease; 
        -webkit-transform: translateX(105%);
        -moz-transform: translateX(105%);
            -ms-transform: translateX(105%);
            -o-transform: translateX(105%);
                transform: translateX(105%); 
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        opacity: 1;
        z-index: 2000;
        background-color: rgba(80, 80, 80, .8);

        cursor: pointer;
        overflow: hidden auto;


    }

    body.lightbox-artist-active .artist-lightbox,
    body.lightbox-edition-active .lightbox-edition,
    body.lightbox-vip-active .lightbox-vip {

        transform: translateX(0); 

    }

    .lightbox > .wrapper {

        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem;
        min-height: 100vh;
    }

    .lightbox-container {
		cursor: default;
		height: 100%;
        overflow: hidden;
    }

	.lightbox-content {
		width: 100%;
		height: 100%;
		padding: 6rem 4rem 4rem 4rem;
        position: relative;
        z-index: 1000;
	}

	.lightbox .close-button {
		position: absolute;
		top: 1rem;
		right: 1rem;
        z-index: 100;
	}

    /* Elements & Parts > Lightbox Artist */

    .artist-lightbox header .artist-img {
        width: 100%;        
        height: 100%;
    }

    .artist-lightbox .portrait {

        width: 100%;
        height: 40vh;
        margin: auto;

    }

    .artist-lightbox .lightbox-content {
        overflow-y: auto;
    }

    .artist-lightbox .lightbox-container {

        padding: 0 1rem;

    }

    .artist-lightbox header .info .flex > span:not(:first-child) {
        padding-left: 4rem;
    }

    .artist-lightbox header .info {

        text-transform: uppercase;

    }

    .artist-lightbox header .info:last-child {
    	margin-bottom: 0;
    }

    .artist-lightbox .content .details .video {
        margin-top: 3rem;
    }

    .artist-lightbox .content .details iframe { 
        max-width: 100%;
    }

    .artist-lightbox .social-networks > a:not(:last-child) {
        margin-bottom: 0;
    }

    .artist-lightbox .buy-button {

        transform: rotate(14deg);

    }

    /* Le Festival */

    .lightbox-edition .lightbox-container {
        overflow: hidden;
    }

    .lightbox-edition .container {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }


    .lightbox-edition .lightbox-content {
        padding: 4rem 6.5rem;
    }

    /* Elements & Parts > Loader */

    .loader {
        position: fixed;
        z-index: 3000;
        top: 0;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.9);
        transform: translateX(0);
        transition: var(--transition-speed) var(--transition-easing);
        -webkit-transition: var(--transition-speed) var(--transition-easing);
        -moz-transition: var(--transition-speed) var(--transition-easing);
        -ms-transition: var(--transition-speed) var(--transition-easing);
        -o-transition: var(--transition-speed) var(--transition-easing);

        opacity: 0;

        pointer-events: none;
    }

    body.loading .loader {
        opacity: 1;
    }

    .loader-container {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .loader .logo {
        font-size: 8rem;
        animation: loading-bar 3s infinite;
        -webkit-animation: loading-bar 3s infinite;
    }

    /* Elements & Parts > Cross */

    .cross {
		position: relative;
		width: 100%;
		height: 100%;
		transition: var(--transition-speed) var(--transition-easing);
		-webkit-transition: var(--transition-speed) var(--transition-easing);
		-moz-transition: var(--transition-speed) var(--transition-easing);
		-ms-transition: var(--transition-speed) var(--transition-easing);
		-o-transition: var(--transition-speed) var(--transition-easing);
    }

	.cross:before,
	.cross:after {
		position: absolute;
		content: "";
		background-color: white;
		left: 50%;
		top: 50%;
		width: calc(100% - 1.5rem);
		height: 2px;
		transition: var(--transition-speed) var(--transition-easing);
		-webkit-transition: var(--transition-speed) var(--transition-easing);
		-moz-transition: var(--transition-speed) var(--transition-easing);
		-ms-transition: var(--transition-speed) var(--transition-easing);
		-o-transition: var(--transition-speed) var(--transition-easing);
    }

	.cross:before {
		transform: translate(-50%) rotate(45deg);
		-webkit-transform: translate(-50%) rotate(45deg);
		-moz-transform: translate(-50%) rotate(45deg);
		-ms-transform: translate(-50%) rotate(45deg);
		-o-transform: translate(-50%) rotate(45deg);
    }

	.cross:after {
		transform: translate(-50%) rotate(-45deg);
		-webkit-transform: translate(-50%) rotate(-45deg);
		-moz-transform: translate(-50%) rotate(-45deg);
		-ms-transform: translate(-50%) rotate(-45deg);
		-o-transform: translate(-50%) rotate(-45deg);
    }

    /* Elements & Parts > Cookies Banner */

    /* Elements & Parts > Lift */

    .lift {

        position: fixed;
        bottom: 1rem;
        right: 1rem;
        transform: translateX(200%) rotate(-90deg);

        /* transition: all var(--transition-speed) var(--transition-speed); */
        z-index: 2;

    }

    .lift.active {
        transform: translateX(0) rotate(-90deg);
    }

    /* Elements & Parts > Main menu */

    body > header .main-menu-trigger {
        width: 3rem;
        height: 3rem;
        cursor: pointer;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 50;
        background-color: var(--text-color);
        border-radius: 50%;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
    }
    
    .menu-burger {
        position: relative;
        width: calc(100% - 1.5rem);
        height: 100%;
    }
    
    .menu-burger:before {
        top: 0.5rem
    }
    
    .menu-burger:after {
        bottom: 0.5rem
    }
    
    .menu-burger,
    .menu-burger:after,
    .menu-burger:before {
        height: 2px;
        background-color: var(--white-color);
        border-radius: 10rem;
        transition: bottom .3s ease .3s,top .3s ease .3s,opacity .3s ease,transform .3s ease    ;
    }
    
    .menu-active .menu-burger,
    .menu-active .menu-burger:after,
    .menu-active .menu-burger:before {
        transition: bottom .3s ease,top .3s ease,opacity .3s ease .3s,transform .3s ease .3s
    }
    
    .menu-burger:after,
    .menu-burger:before {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
    }
    
    .menu-active .menu-burger:before {
        top: 0;
        opacity: 0
    }
    
    .menu-active .menu-burger:after {
        bottom: 0
    }
    
    .menu-active .menu-burger {
        transform: rotate(45deg)
    }
    
    .menu-active .menu-burger:after {
        transform: rotate(-90deg)
    }

    body > header .main-menu {
        width: 100%;
        position: fixed;
        background-color: white;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        top: 0;
        z-index: 10;
        right: 0;
        opacity: 0;
        color: black;
        padding: 2rem;
        visibility: hidden;
        transform: translateX(-100%);
        transition: opacity .3s ease, transform .3s ease;
    }

    body > header .main-menu > div {
        display: flex;
        align-items: center;
    }

    body > header .main-menu > div > ul {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        font-size: 2rem;
    }

    body > header .main-menu > div > ul > li:not(:first-child) {
        margin-top: 1rem;
    }

    body > header .main-top-menu {
        z-index: 100;
        display: flex;
    }

    body > header .main-top-menu > .button:not(:first-child) {
        margin-left: 1rem;
    }

    body.menu-active > header .main-menu {
        opacity: 1;
        visibility: visible;
        height: 100vh;
        min-height: -webkit-fill-available;
        transform: translateX(0);
    }


    /******* offre individual icon size *******/
    
    [data-reference-page="infos-pratiques"] .content-icon.icon-bus::before {
        font-size: 100%;
    }

    [data-reference-page="infos-pratiques"] .content-icon.icon-train::before {
        font-size: 120%;
    }

    [data-reference-page="infos-pratiques"] .content-icon.icon-cycle::before {
        font-size: 70%;
    }

    [data-reference-page="infos-pratiques"] .content-icon.icon-car::before {
        font-size: 80%;
    }

    [data-reference-page="infos-pratiques"] .content-icon.icon-bus-night::before {
        font-size: 120%;
    }


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

        body > header .main-menu-container {
            padding: 1rem 4rem;
        }

        body > header .main-top-menu {
            flex-direction: row;
            align-items: center;
        }
        
        body > header .main-top-menu > .button:not(:first-child) {
            margin-top: 0;
            margin-left: 1rem;
        }

    }

    @media screen and (max-width: 1450px) {

        .logo-menu,
        .main-menu-submenu:not(:last-child) {
            margin-bottom: 2.5rem;
        }

        .main-menu-submenu .main-menu-submenu-level-2 {
            margin-left: 1rem;
        }

        .main-menu-submenu .main-menu-submenu-level-2 > li:before {
            display: none;
        }

        .desktop-menu-languages {
            display: none;
        }

        .mobile-menu-languages {
            width: 100%;
            display: flex;
            justify-content: center;
        }
    }

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

        .mobile-menu-languages {
            display: none;
        }

        body > header .main-menu-trigger {
            display: none;
            visibility: hidden;
        }

        body > header .main-menu {
            position: relative;
            opacity: 1;
            visibility: visible;
            transform: none;
            background-color: transparent;
            padding: 0;
        }

        body > header .main-menu > div > ul {
            flex-direction: row;
        }

        body > header .main-menu > div > ul > li:not(:first-child) {
            margin-top: 0;
            margin-left: 1rem;
        }

        body > header .main-menu .main-menu-links {
            flex-direction: row;
            align-items: center;
        }

        body > header .main-menu-submenu {
            font-weight: bold;
            position: relative;
            transform: translateY(-.2rem);
        }

        body > header .main-menu-links > .main-menu-submenu:not(:last-child) {
            margin-right: 2rem;
        }

        body > header .main-menu-submenu-level-2 {
            display: none;
            position: absolute;
            top: 0.5rem;
            left: 0;
            padding: 2rem;
            background-color: #444;
        }

        body > header .main-menu-submenu-level-2 li {
            list-style-type: none;
            display: inline-flex;
            flex-wrap: wrap;
            text-align: left;
        }

        .desktop-menu-languages {
            margin-left: 2rem;
        }

    }

    /* Elements & Parts > Social networks */

    .social-networks {
        display: flex;
        width: fit-content;
        height: auto;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .social-networks > a:not(:last-child) {
        margin-right: .5rem;
        margin-bottom: .5rem;
    }

    .social-networks .icon-tiktok {
        font-size: .7rem;
    }

    /* Elements & Parts > Slider */

    .slider {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
    
    .slider > .slide {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        padding: 1rem;
        opacity: 0;
        -webkit-transition: .3s ease;
        -moz-transition: .3s ease;
        -o-transition: .3s ease;
        transition: .3s ease;
    }
    
    .slider > .slide.active {
        opacity: 1;
    }
    
    .slider .slider-nav {
        position: absolute;
        top: 50%;
        left: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .slider .slider-nav {
        width: calc(100% + 6rem);
        transform: translateX(-3rem);

    }

    .lightbox-edition .slider .slider-nav {
        width: calc(100% + 11rem);
        transform: translateX(-5.5rem);
    }
    
    
    .slider .slider-nav--content:first-child .icon-arrow {
        transform: rotate(180deg);
        
    }

    .slider .slider-nav > div {
        top: 50%;
        left: 0;
        height: 1px;
        display: flex;
        justify-content: space-between;
    }
    
    .slider .slider-nav .icon-arrow {
        position: relative;
        height: 2rem;
        z-index: 5;
        display: flex;
        align-items: center;
    }

    .active.slider-nav--content {
        color: var(--text-color);
        cursor: pointer;
    }

    .slider-nav--content {
        color: #a7a7a7;
        user-select: none;
    }

    .slider-nav--content .edition-year {
        display: none;
    }

    .slider-nav--content.active .edition-year {
        display: block;
    }

    /***** Slider Edition  *****/

    .slider-edition .slide {
        display: flex;
        align-items: center;
        padding: 0;
    }

    .slider-edition .slide .edition-img {
        width: 100%;
        height: 100%;
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .slider-edition .slider-nav .icon-arrow {
        font-size: 2rem;
        transition: all ease .3s;
    }

    .slider-edition .slider-nav .icon-arrow.active {
        color:#000;
        cursor: pointer;
    } 

    /* Elements & Parts > Artists grid & News grid */

    .news-grid,
    .section-footer--inner-content .gallery{
        width: calc(100% + 1rem);
        margin-left: -.5rem;
        margin-top: -.5rem;
    }

    .artists-grid .grid-cell,
    .news-grid .grid-cell,
    .section-footer--inner-content .gallery--cell {
        padding: .5rem;
    }

    .news-grid .grid-cell {
        margin-bottom: 1rem; 
    }

    /* Elements & Parts > News grid */

    .news-grid .grid-cell--inner-content {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        cursor: pointer;
    }

    .news-grid .grid-cell--inner-content .img-box,
    .news-grid .grid-cell--inner-content .article-header-data,
    .news-grid .grid-cell--inner-content .article-title,
    .news-grid .grid-cell--inner-content .article-content {
        margin-bottom: 1rem;
    }

    .news-grid .article-title {
        text-align: center;
    }

    .news-grid .grid-cell--inner-content .article-thumbnail {
        transition: var(--transition-speed) var(--transition-easing);
    }

    .news-grid .grid-cell--inner-content:hover .article-thumbnail {
        transform: scale(1.1);
    }

    .article-header-data {
        display: flex;
    }

    .category {
        position: relative;
        padding-right: 1rem;
    }

    .category:after {
        position: absolute;
        content: "";
        width: 1px;
        height: 100%;
        background-color: var(--text-color);
        right: .5rem;
        transition: var(--transition-speed) var(--transition-easing);
    }

    .home-banner-news-content .category:after {
        background-color: white;
    }

    /* Elements & Parts > Years nav */

    .years-nav {

        display: flex;

        justify-content: space-between;
        margin: auto;

        width: fit-content;

    }

    .years-nav .years-nav--next > span:first-child {

        transform: rotate(180deg);

    }

    .years-nav .years-nav--prev,
    .years-nav .years-nav--next {

        opacity: 0;
        pointer-events: none;

    }

    .years-nav .years-nav--next {

        margin-right: 2rem;

    }

    .years-nav [class*=icon],
    .years-nav [class^=icon],
    .years-nav .years-nav--prev--txt,
    .years-nav .years-nav--next--txt {

        transition: var(--transition-speed) var(--transition-easing);

    }

    .years-nav .years-nav--prev.active,
    .years-nav .years-nav--next.active {

        display: flex;
        align-items: center;
        
        opacity: 1;
        pointer-events: all;

        cursor: pointer;

    }

    .years-nav .years-nav--prev.active:hover,
    .years-nav .years-nav--next.active:hover {

        color: var(--green-color);

    }

    .years-nav .years-nav--next .years-nav--next--txt {

        margin-left: .5rem;

    }

    .years-nav .years-nav--prev .years-nav--prev--txt {

        margin-right: .5rem;

    }

    .years-nav .years-nav--prev [class*=icon],
    .years-nav .years-nav--prev [class^=icon] {

        display: inline-flex;

        align-items: center;

    }

    .empty-news {

        display: block;

        margin: 0 auto 2rem auto;

        text-align: center;

    }

    /*************************************************************************/
    /* 5.3) Pages
    /*************************************************************************/

    /* Pages > Homepage */

        /* Pages > Homepage */

        .artists .artists--day-grid {
            display: flex;
            justify-content: flex-start;
        }

        .artists .artists--day-item {
            width: 100%;
        }

        .artists .artists--day-item > .artists--day-grid {
            position: relative;
            width: 100%;
            flex: 0 0 0;
        } 

        .artists--days-items .artists--day-grid-cell {
            width: 10vw;
            height: 10vw;
            transition: .1s ease;
        }

        .artists--day-grid .artists--day-grid-cell {
            cursor: pointer;
            overflow: hidden;
            position: relative;
            padding-right: 1rem;
        }

        a[class=day] {

            display: flex;

            flex-direction: row-reverse;

            align-items: center;

        }

        @media screen and (max-width: 992px) {

            .artists--day-grid .artists--day-grid-cell {

                padding-bottom: 1rem;

            }

            .artists--day-grid-cell--preview {

                display: none !important;

            }

        }

        .artists--day-grid-cell--preview {
            background-color: var(--text-color);
            display: flex;
            justify-content: space-between;
            align-items: center;
            color: white;
            transition: var(--transition-speed) var(--transition-easing);
            transform: translateY(110%);
            position: absolute;
            bottom: 0;
            width: calc(100% - 1rem);
            gap: .5rem;
            padding: 1rem 1.5rem;
        }

        .artists--day-grid .artists--day-grid-cell:hover .artists--day-grid-cell--preview {
            transform: translateY(0);
        }

        .artists--day-grid-cell--preview .button {
            color: black;
        }

        .artists--day-grid-cell--preview:hover .button {
            color: black;
        }

        .home .home-news .section-content {
           margin-bottom: 3rem;
        }

        .artists--days-items > article:not(:last-child) {
            margin-bottom: 6rem;
        }

        .artists--days-items .artists--day-grid-cell--position-top {
            align-self: flex-start;
            justify-self: flex-start;
        }

        .artists--days-items .artists--day-grid-cell--position-bottom {
            align-self: flex-end;
            justify-self: flex-end;
        }

        .artists--days-items > .artists--day-item:first-child .artists--day-grid-cells {
            flex-grow: 2;
            flex-shrink: 0;
        }

        .artists--day-grid-cells {
            display: flex;
            flex-direction: column;
        }

        .artists-buttons {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            margin-top: 3rem;
        }

        .artists-buttons > button:first-of-type,
        .artists-buttons > .button:first-of-type {
            margin-bottom: 1rem;
        }

        .artist-slider-img {
            width: 100%;
            height: 100%;
        }

        .artists--day-grid-cell--slider .slide {
            padding: 0;
        }

        /* Pages > Offres */

        .offre-informations.active .cross:before {
            transform: translate(-50%) rotate(-45deg);
        }
        
        .offres-content .offre .cross {
            width: 1rem;
            height: 1rem;
            transform: rotate(45deg);
            margin-left: auto;
            margin-top: 1rem;
        }

        .offer-item {

            display: flex;

        }

        .offer-item > span:not(:last-child):not(.offer-item--price) {

            margin-right: .5rem;

        }

        .offer-item > .offer-item--day {

            position: relative;

        }

        .offer-item > .offer-item--day.with-pseudo-element:after {

            position: absolute;

            content: "/";

            top: 0;
            right: -.5rem;

        }

        .form-row {

            display: flex;
            justify-content: space-between;

            flex-direction: column;

        }

        .form-row label {

            display: block;

            width: fit-content;
            
            margin-bottom: .5rem;

        }

        form .success {

            color: #00bb90;;

        }

        form .error {

            color: #d13612;

        }
        
        form input,
        form textarea,
        input[type=search],
        input[type=search]::placeholder {

            transition: all ease .3s;

        }

        form input:focus,
        form textarea:focus,
        input[type=search]:focus {

            border-color: var(--text-color);
            color: var(--text-color);
            caret-color: var(--text-color);

        }

        input[type=search]:focus::placeholder {

            color: var(--text-color);

        } 

        .vip-form > .form-row:nth-child(4) .form-row--content {

            display: flex;

            flex-basis: 100%;
            flex-direction: column;
            
            margin-right: 0;

        }

        .vip-form > .form-row:last-child {

            align-items: center;
            justify-content: flex-start;

        }

        .vip-form > .form-row:last-child .button {

            margin: 0;
            margin-right: 2rem;

        }

        .vip-form > .form-row {

            margin-bottom: 2rem;

        }

        .espace_vip .gallery {

            width: calc(100% + 1rem);
            transform: translateX(-0.5rem);

        }

        #transports .section-footer {

            width: 100%;
            margin: auto;

        }

        /* Pages > Single content */

        .single-post .category,
        .single-post .date {
            font-size: 1.25rem;
        }

        .single-post .wp-block-separator {
            display: none;
            visibility: hidden;
        }

        .auteur {
            display: block;
        }

        .single-content-title,
        .auteur {
            text-align: center;
        }

        .single-content-img {
            min-height: 500px;
            margin-bottom: 4rem;
        }

        .single-post .wp-block-embed-youtube {
            margin: 4rem 0 0 0;
        }

        .single-post iframe {
            width: 100%;
            min-height: 500px;
        }

        .single-breakingnews .single-content--return-link,
        .single-post .single-content--return-link {

            position: absolute;

            width: fit-content;

            top: 0;
            
            transform: rotate(180deg);

        }

        /* Pages > Festival */
        
        #contact .grid-cell:first-child {
	        padding-bottom: 1rem;
	    }

        section.contact .section--inner-content-main > .content:not(:first-child) {
            margin-top: 3rem;
        }

        section.sponsors .inner-content-main--container {
            display: flex;
            flex-direction: column;
        }

        .sponsors-grid-title {
            margin: 2rem 0 1rem 0;
        }

        .contact .section--inner-content-main > div {

            margin-bottom: 4rem;

        }

        .contact .section--inner-content-main > div:first-child .contact-link {

            margin-top: 2rem;

        }

        .contact-link {

            display: flex;
            align-items: center;
            margin-top: .5rem;

        }

        .contact .section--inner-content-main > div > .contact-link:not(:last-child) {

            margin-bottom: 1rem;

        }

        .contact-link > span {

            display: flex;
            margin-right: 1rem;
            font-size: 2rem;

        }

        /* Pages > Billetterie */

        body[data-reference-page="billetterie"] .section-footer {
            margin-top: 1rem;
            margin-bottom: 2rem;
        }

        /* Pages > 404 */
    
        body.error404 > header .main-menu-container,
        body.error404 > footer {
            display: none !important;
        }

        .container-404 .title {
            font-size: 10rem;
            position: relative;
            z-index: 1;
        }

        .container-404 .txt {
            position: relative;
            z-index: 1;
            text-align: center;
            margin-bottom: 2rem;
        }

        .container-404 .icon-arrow {
            margin-left: 1rem;
        }

        .container-404 {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            height: 100vh;

        }

        .container-404 .content {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .container-404 .highlight-button {
            width: auto;
            display: flex;
            align-items: center;
        }

    [data-reference-page="infos-pratiques"] main > section:first-child .section-footer > a:first-child {

        margin-bottom: 4rem;
    
    }

    /* Pages > Tellement & Actualités */

    .tellement-container {

        padding: 0 4rem;

    }

    .masonry-grid {

        width: calc(100% + 2rem);
        transform: translateX(-1rem);

    }

    .masonry-grid--item {

        padding-bottom: 2rem;
        padding-left: 1rem;
        padding-right: 1rem;

    }

    .masonry-grid--item {

        width: 100%;

    }

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

        .masonry-grid--item {

            width: 50%;
    
        }

    }

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

        .masonry-grid--item {

            width: calc(100% / 3);
    
        }

    }

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

        .masonry-grid--item {

            width: 25%;
    
        }

    }

    .masonry-grid--item .grid-cell--inner-content {

        display: flex;

        flex-direction: column;
        align-items: center;

    }

    .masonry-grid--item .grid-cell--inner-content:hover .article-thumbnail {

        transform: scale(1.1);

    }

    .masonry-grid--item .grid-cell--inner-content .article-thumbnail {

        transition: transform var(--transition-speed) var(--transition-easing);

    }

    .masonry-grid--item .img-box {

        height: 30vh;

        min-height: 30vh;

    }

    .masonry-grid--item .img-box,
    .masonry-grid--item .article-header-data,
    .masonry-grid--item h3,
    .masonry-grid--item .article-content {

        margin-bottom: 1rem;

    }

    .masonry-grid--item h3 {

        text-align: center;

    }

    .masonry-grid--gutter-size {
        
        width: .5%;

    }

    /* - Big image */

    .masonry-grid > .masonry-grid--item:nth-child(12n+2) .img-box,
    .masonry-grid > .masonry-grid--item:nth-child(12n+8) .img-box,
    .masonry-grid > .masonry-grid--item:nth-child(12n+9) .img-box {

        min-height: 60vh;

        height: 60vh;

    }

    /* - Medium image */

    .masonry-grid > .masonry-grid--item:nth-child(12n+3) .img-box,
    .masonry-grid > .masonry-grid--item:nth-child(12n+6) .img-box,
    .masonry-grid > .masonry-grid--item:nth-child(12n+11) .img-box {

        min-height: 40vh;

        height: 40vh;

    }

    .years-nav {

        margin-bottom: 2rem;

    }

    .afternatives .section-footer {

        flex-direction: row;
        justify-content: center;

    }

    .afternatives .section-footer > .button {

        margin: 0;

    }

    .afternatives .section-footer > .button:not(:last-child) {

        margin-right: 1rem;

    }

    .contact .section--inner-content-main {

        justify-content: center;

    }
/*************************************************************************/

/* 6) Responsive

/*************************************************************************/

    /* Comment template: {Media} > {Table of content level 1} > {Table of content level 2} > {Element Groups if needed}

    /*************************************************************************/
    /* 6.1) Small media (481px +)
    /*************************************************************************/

    @media screen and (max-width: 480px) {

        body > header .main-banner-content:not(.home-banner) {
            min-height: auto;
            padding-bottom: 4rem;
        }

        body > main section:not(:first-of-type) > .section-container:before {

            width: calc(100% - 2rem);
            left: 1rem;

        }

        .main-banner .main-banner-title {

            font-size: 1.9rem;

        }

        .social-networks {
            justify-content: center;
        }

        .social-networks > a:not(:last-child) {
            margin-right: .5rem;
            margin-bottom: .5rem;
        }  

        ul.block-list li:not(:first-child):before {
            padding: 0 .2rem;
        } 

        .years-nav {
    
            margin-top: 1rem;
            margin-bottom: 2rem;
    
        }

        .map {

            min-height: 250px;

        }

        .vip-form > .form-row:first-child > .form-row--content:first-child,
        .vip-form > .form-row:nth-child(2) > .form-row--content:first-child {

            margin-bottom: 2rem;

        }

        .vip-form > .form-row:last-child {

            margin-bottom: 0;

        }

        .artists--days-items > article:not(:last-child) {

            margin-bottom: 3rem;

        }

        .tickets footer p {

            text-align: center;

        }

        .afternatives .section-footer {

            flex-direction: column;
            align-items: center;
    
        }

        .afternatives .section-footer .button {

            margin: 0;

        }

        .afternatives .section-footer > .button:not(:last-child) {

            margin-bottom: 1rem;
            margin-right: 0;

        }

    }

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

        /* Small media+ > General Style */

        /* Small media+ > Layouts */

            /* Small media+ > Layouts > Default */

                /* Small media+ > Layouts > Default > Header */

                /* Small media+ > Layoust > Default > Main */

                /* Small media+ > Layouts > Default > Footer */

        /* Small media+ > Helpers */

            /* Small media+ > Helpers > Custom */

        /* Small media+ > Content */

            /* Small media+ > Content > Sections */

            .artists-buttons {
                flex-direction: row;
                align-items: normal;
            }

            .artists-buttons > button:first-of-type, 
            .artists-buttons > .button:first-of-type {
                margin-bottom: 0;
                margin-right: 1rem;
            }

            /* Small media+ > Content > Elements & Parts */

            .programme .section-header {

                display: flex;

                flex-direction: row-reverse;
                column-gap: 1vw;
                align-items: flex-start;

            }

            .programme .filters-nav {
                justify-content: start;
                gap: 1rem;
            }

            .years-filters {
        
                grid-template-columns: repeat(4, min-content);
        
            }

    }

    @media screen and (min-width: 481px) and (max-width: 720px) {

    }

    /*************************************************************************/
    /* 6.2) Medium media (721px +)
    /*************************************************************************/

    @media screen and (max-width: 720px) {

        body > header .main-banner-content .home-banner-titles {

            padding: 6rem 2rem !important;

        }

        body > footer .footer-container {
            padding: 4rem 2rem;
        }

        body > footer .footer-container .footer-content {
            padding: 0 !important; /*provisoir*/
        } 



        body > footer .footer-container > .footer-content:not(:last-child) {
            margin-bottom: 4rem;
        }

        body > footer .social-networks {
            max-width: 300px;
            justify-content: space-between;
        }

        body > header .home-banner-news-content .home-banner-news-title {
            margin-bottom: 1rem;
        }

        .slider-edition .slide {
            flex-direction: column;
        }

        /* Medium media- > General Style */

        /* Medium media- > Layouts */

            /* Medium media- > Layouts > Default */

                /* Medium media- > Layouts > Default > Header */

                /* Medium media- > Layosut Default > > Main */

                /* Medium media- > Layouts > Default > Footer */

        /* Medium media- > Helpers */

            /* Medium media- > Helpers > Custom */

                /* Artists */

                .artist-preview .circle, .artist-preview .preview-info {
                    min-height: 250px;
                    min-width: 250px;
                }

                /* Lightbox */

                .lightbox > .wrapper {
                    padding: 0;
                }

                .lightbox .lightbox-content {
                    padding: 5rem 0 7rem 0;
                }

                .lightbox .slider .slider-nav {
                    top : unset;
                    bottom: -3rem;
                    width: 100%;
                    transform: translateY(0);
                }

                .lightbox-vip .slider .slider-nav {
                    bottom: 2rem;
                }

                .lightbox .slider .slider-nav .slider-nav--content {
                    margin: 0 1rem;
                }

                /* Single content */

                .single-content-img {
                    min-height: 300px;
                }

        /* Medium media- > Content */

            /* Medium media- > Content > Sections */

            /* Medium media- > Content > Elements */

        .highlight-information {
            align-items: flex-start;
        }

        #espace_vip .highlight-information {

            align-items: center;

        }

        #camping .highlight-information,
        #mobilite_reduite .highlight-information {

            flex-direction: column;

        }

        #camping .highlight-information .highlight-information--content,
        #mobilite_reduite .highlight-information .highlight-information--content {

            margin-left: 0 !important;

        }

        #camping .highlight-information > .highlight-information--content:not(:last-child),
        #mobilite_reduite .highlight-information > .highlight-information--content:not(:last-child) {

            margin-bottom: 1rem;

        }

        .tickets-container .fg-12a {

            align-items: center;

        }



    }

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

        /* Medium media+ > General Style */

        /* Medium media+ > Layouts */

            /*  Medium media+ > Layouts > Default */

                /* Medium media+ > Layouts > Default > Header */

                .main-banner {

                    padding: 4rem;

                }

                /* Medium media+ > Layosut Default > > Main */

                /* Medium media+ > Layouts > Default > Footer */

        /* Medium media+ > Helpers */

            /* Medium media+ > Helpers > Custom */

        /* Medium media+ > Content */

            /* Medium media+ > Content > Sections */

            .inner-content-main--container {
                display: flex;
            }

            .inner-content-main--container .content {
                margin-top: 0;
                margin-left: 2rem;
            }

            .inner-content-main--container .content-icon + .content {

                width: calc(100% - 7rem);

            }

            #transports .inner-content-main--container .content {

                padding-right: 8rem;

            }

            .as-wysiwyg .inner-content-main--container .content  {
                margin-left: 0;
            }

            .inner-content-main--container .content-icon {
                justify-content: center;
                width: 7rem;
            }

            .inner-content-main--container .content:after {
                width: calc(100% - 2rem);
                left: 2rem;
            }

            .section-footer .section-footer--content .gallery > .gallery--cell:not(:first-of-type) {
                margin-top: 0;
            }

            .tickets .section--inner-content {

                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: .5rem;

            }

            .section--inner-content > .tickets-container:not(:first-child) {
                margin-top: 0;
            }

            section.history .inner-content-main--container {
                flex-direction: column;
            }
            
            .news-grid .img-box {
                height: 40vh;
            }

            .section-footer .section-footer--content .gallery-img {
                height: 24vh;
            }

            .contact .section--inner-content-main {

                flex-direction: row;

            }

            .contact .section--inner-content-main > div:first-child {

                margin-right: 4rem;

            }

            .contact .section--inner-content-main > div {

                margin-bottom: 0;

            }

            .contact .section--inner-content-main {

                margin-bottom: 4rem;

            }

            /* Medium media+ > Content > Elements */

            .artist-lightbox .portrait {

                height: 50vh;
        
            }

            .form-row {

                flex-direction: row;

            }

            .form-row--content {

                flex-basis: 50%;
    
            }
    
            .form-row > .form-row--content:first-child {
    
                margin-right: 1rem;
    
            }

            .artist-lightbox .portrait {

                margin: 0;
        
            }

            .single-post .single-content--return-link,
            .single-breakingnews .single-content--return-link {

                top: 0;
                left: 4rem;
    
            }

    }

    @media screen and (min-width: 721px) and (max-width: 992px) {
        
    }

    /*************************************************************************/
    /* 6.3) Large media (993px +)
    /*************************************************************************/

    @media screen and (max-width: 992px) {

        /* Large media- > General Style */

        html {
            font-size: 16px;
        }

        h1 {
            font-size: 2.8rem;
        }

        h2 {
        	font-size: 1.8rem;
        }

        h3, .as-h3 {
            font-size: 1.5rem;
        }

        .txt-big {
            font-size: 1.2rem;
        }

		.offre-informations {
		    padding: 1rem 0 3rem 0;
		}

        /* Large media- > Layouts */

            /* Large media- > Layouts > Default */

                /* Large media- > Layouts > Default > Header */

                body > header .header-content {

                    background-color: var(--dark-blue-color);
        
                }

                body > header .home-banner-news-content {
                    margin-bottom: 4rem;
                }

                body > header .home-banner-news-content .flex-center,
                body > header .home-banner-news-content .home-banner-news-title {

                    margin-bottom: 1rem;

                }

                body > header .home-banner-news {
                    flex-direction: column;
                }

                body > header .sponsors-logo > a:last-child {

                    margin-left: 1.8rem !important;

                }

                body > header .home-banner .as-h4 {
                    margin-top: 2rem;
                    margin-bottom: 1rem;
                }

                body > header .empty-news-box .circle {

                    display: none;
                    visibility: hidden;

                }

                /* Large media- > Layoust >Default >  Main */

                /* Large media- > Layouts > Default > Footer */

                body > footer .footer-container {
                    margin: auto;
                    display: flex;
                    align-items: center;
                    flex-direction: column;
                }

                body > footer .footer-content {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    text-align: center;
                    max-width: 300px;
                }

                body > footer .footer-container > .footer-content:not(:last-child) {
                    margin-bottom: 4rem;
                    padding-right: 0;
                }

                body > footer .newsletter-form {
                    margin-top: 4rem;
                }

                body > footer .main-top-menu {

                    align-items: center;

                }

                body > footer .input label {
                    margin: 0;
                }

                body > footer .social-networks {
                    width: 100%;
                    justify-content: space-between;
                }

                body > footer ul.block-list {

                    flex-direction: column;
                    flex-wrap: wrap;
                    align-items: center;
                    
                    gap: .9rem;
                    margin-top: .5rem;

                }

                body > footer ul.block-list > li:not(:last-of-type):after {
                    display: none;
                    
                }

                body > footer ul.block-list > li:not(:last-of-type) {

                    padding-right: 0;

                }

                body > footer .newsletter-form {

                    align-items: center;

                }

                .sponsors .inner-content-main--container > .sponsors-grid:first-of-type > .sponsors-grid--inner-content:nth-child(2) .sponsor-img {

                    background-size: contain;
            
                }

        /* Large media- > Helpers */

                .only-mobile {
                    display: block;
                    visibility: visible;
                }

                .only-desktop {
                    display: none;
                    visibility: hidden;
                }

            /* Large media- > Helpers > Custom */

                aside .anchors-nav {
                    display: none;
                }

                .infos-block {
                    flex-direction: column;
                }

                .info + .info {
                    margin-left: 0;
                }

        /* Large media- > Content */

            /* Large media- > Content > Sections */

            /* Large media- > Content > Elements */

            .artists--day-item {
                flex-direction: column;
                position: relative;
            }

            .artists--days-items > .artists--day-item > .artists--day-grid > div.artists--day-grid-cells:nth-child(2) > div {
                align-self: flex-start;
            }

                /* Large media- > Content > Elements & Parts > Lightbox Artist */

            body > footer .footer-content .copyright {
                line-height: 2rem;
                margin-top: 2rem;
            }

            body > footer .footer-container .footer-content .input label {
                width: 300px;
            }


            body > footer .footer-container .footer-content .input {
                display: flex;
                justify-content: center;

            }

            .inner-content-main--container .content ul {

                transform: translateX(0);

            }

    }

    body > header .home-banner-news-content {
        color: white; 
    }

    body > header .home-banner-news-content .button {
        border-color: var(--white-color);
        color: white;
    }

    .organisation footer {

        margin-top: 1rem;

    }

    .organisation .info {

        margin-top: .5rem;
        margin-bottom: 1rem;

    }

    .as-wysiwyg a,
    .is-wysiwyg a {

        text-decoration: underline;

    }

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

        /* Large media+ > General Style */
        
        .main-menu-links .link:hover {

            color: var(--text-color);

        }

        .as-wysiwyg .link:hover,
        .is-wysiwyg a:hover,
        .medias-links a:hover,
        .staff-links a:hover,
        .conditions-links a:hover,
        .copyright a:hover,
        .artist-lightbox .day:hover  {

            color: var(--text-color);

        }

        .news-link:hover .button,
        .news-grid .grid-cell--inner-content:hover .button,
        .news-grid .grid-cell--inner-content:hover button,
        .masonry-grid--item .grid-cell--inner-content:hover .button,
        .masonry-grid--item .grid-cell--inner-content:hover button {
            background-color: var(--green-color) !important;
            color: var(--text-color) !important;
            border-color: var(--green-color) !important;
        }

        .news-link:hover .button::before,
        .news-grid .grid-cell--inner-content:hover .button::before,
        .news-grid .grid-cell--inner-content:hover button::before,
        .masonry-grid--item .grid-cell--inner-content:hover .button::before,
        .masonry-grid--item .grid-cell--inner-content:hover button::before {

            transform: translate(-50%, -50%) scale(1);
            opacity: 1;
            clip-path: circle(100%);

        }

        .link:hover:after,
        .link.active:after,
        .is-wysiwyg a:hover:after,
        .medias-links a:hover:before,
        .staff-links a:hover:before,
        .conditions-links a:hover:before,
        .copyright a:hover:before,
        .artist-lightbox .day:hover::after {
            
            left: -5%;
            width: 110%;

        }

        body:not(.menu-active) .main-menu-trigger:hover .menu-burger:before {
	        top: 0.75rem
	    }
	    
	    body:not(.menu-active) .main-menu-trigger:hover .menu-burger:after {
	        bottom: 0.75rem
	    }

        a[data-day],
        .button:not(.lift).active,
        button:not(.lift).active {
            transition: var(--transition-speed) var(--transition-easing);
        }

        .button:not(.lift).active:hover,
	    button:not(.lift).active:hover {
	        opacity: .7;
	    }

        body > header .main-menu-links .link:not(.active):hover:after {
            width: 110%;
        }

		.cross:hover:before,
		.cross:hover:after {
	        background-color: var(--white-color);
	    }

	    .lightbox .cross:hover {
	        transform: rotate(90deg);
	        -webkit-transform: rotate(90deg);
	        -moz-transform: rotate(90deg);
	        -ms-transform: rotate(90deg);
	        -o-transform: rotate(90deg);
	    }

		.offre-informations:hover .cross:before,
		.offre-informations:hover .cross:after {
			background-color: var(--green-color);
		}

        body > header .main-menu-submenu:hover .main-menu-submenu-level-2 {
            display: flex;
            justify-content: flex-start;
            flex-direction: column;
        }

        .anchors-nav li:hover {
            color: var(--text-color);
        }

        .dark-blue-area .button:hover {
            color: var(--dark-blue-color);
            background-color: var(--white-color);
            border-color: var(--white-color);
        }

        .blue-area .button:hover,
        body > header .home-banner-news-content .button:hover {
            color: var(--blue-color);
            background-color: var(--white-color);
            border-color: var(--white-color);
        }

        .artist-preview:hover .preview-info {
	        transform: translateX(0);
	        -webkit-transform: translateX(0);
	        -moz-transform: translateX(0);
	        -ms-transform: translateX(0);
	        -o-transform: translateX(0);
	    }

        .edition-grid--cell .img-box {
            cursor: pointer;
        }

        .espace_vip .gallery-img-container {
            overflow: hidden;
            cursor: pointer;
        }

        .edition-grid--cell .img-box:hover .more-overlay,
        .espace_vip .gallery-img-container:hover .more-overlay {
            opacity: 1;
        }

        .sponsors-grid .sponsor-img:hover {
            transform: scale(1.05);
        }

        .active.slider-nav--content:hover * {
            color: var(--text-color-hover);
        }

        .artists .artists--day-item > header {
            width: calc(100% / 12);
            display: flex;
            align-items: flex-end;
            justify-content: flex-end;
            
        }

        .artists .artists--day-item > header > .content {
            width: 100%;
            height: 100%;
            transform: rotate(180deg);
            padding-left: 1rem;
        }

        .artists .artists--day-item > header > .content > p {
            writing-mode: vertical-rl;
            text-orientation: sideways;
            position: absolute;
            right: 0;
        }

        .artists .artists--day-item > div {
            width: calc((100% / 12) * 11);
        }

        .artists--day-grid-cells {
            flex-direction: row;
        }

        .artist-lightbox .lightbox-container {

            max-width: 80%;

        }

        /* Large media+ > Layouts */

            /* Large media+> Layouts > Default */

                /* Large media+ > Layouts > Default > Header */

                body > header .home-banner.empty-news-box {

                    min-height: 100vh;
                    overflow: hidden;

                }

                body > header .home-banner-news-content:hover button,
                body > header .home-banner-news-content:hover button:hover {
        
                    background-color: white;
                    color: var(--blue-color);
                    border-color: var(--blue-color);
        
                }

                body > header .home-banner-news-content:hover {

                    background-color: white;
                    color: var(--blue-color);
                }
        
                body > header .home-banner-news-content:hover .category:after {
        
                    background-color: var(--blue-color);
        
                }

                body > header .main-banner-content {
                    min-height: 50vh;
                }

                body > header .home-banner {
                    background-color: var(--dark-blue-color);
                }

                body > header .main-banner {
                    position: relative;
                    overflow: hidden;
                }

                body > header .main-banner .main-banner-title {
                    z-index: 3;
                }

                body > header .main-banner-content .home-banner-titles,
                body > header .main-banner-content .home-banner-news {
                    background-color: transparent;
                    background-image: unset;
                }

                body > header .main-banner-content:not(.empty-news-box) .home-banner-news {
                    justify-content: center;
                    flex-wrap: wrap;
                    margin-top: 5rem;
                }

                body > header .main-banner-content .home-banner-news .circle {
                    display: none;
                    visibility: hidden;
                } 

                body > header .home-banner-news-content {
                    background-color: var(--blue-color);
                    color: white;
                    height: 20vmax;
                    width: 20vmax;
                    max-height: 400px;
                    max-width: 400px;
                    min-height: 300px;
                    min-width: 300px;
                    justify-content: center;
                    border-radius: 50%;
                }

                body > header .home-banner-news-content .home-banner-news-title {
                    text-align: center;
                }

                body > header .home-banner-news-content h3.home-banner-news-title {
                    margin: 1rem 0 !important;
                    padding: 0 1rem;
                }

                body > header .home-banner-news > .home-banner-news-box:first-child {
                    display: flex;
                }
        
                body > header .home-banner-news-content {
                    margin: 1rem 2rem;
                }

                body > header .main-banner-content .home-banner-titles {
                    flex-direction: row;
                    justify-content: space-between;
                    align-items: baseline;
                    padding: 8rem;
                }

                body > header .home-banner-news .home-banner-news-box {
                    display: flex;
                }

                body > header .home-banner-titles {
                    position: relative;
                    height: 70vh;
                    align-items: baseline;
                    padding: 8rem 4rem 0 4rem;
                }

                body > header .home-banner .home-banner-titles > .icon-logo {
                    position: absolute;
                    left: 50%;
                    transform: translateX(-50%);
                    bottom: 0;
                    font-size: 12rem;
                    margin-top: 0;
                }

                body > header .main-banner-content .sponsors {
                    align-items: flex-start;
                    z-index: 2;
                }

                /* Large media+ > Layoust >Default >  Main */

                /* Large media+ > Layouts > Default > Footer */

                body > footer .footer-container > .footer-content:nth-child(2) {
                    display: flex;
                    flex-direction: column;
                }

        /* Large media+ > Helpers */

            .only-mobile {
                display: none;
                visibility: hidden;
            }

            .only-desktop {
                display: block;
                visibility: visible;
            }

            /* Large media+ > Helpers > Custom */

        /* Large media+ > Content */

            /* Large media+ > Content > Sections */

            /* Large media+ > Content > Elements */

                /* Large media+ > Content > Elements & Parts > Lightbox Artist */

                .artist-lightbox article header > div:last-child,
                .artist-lightbox article > div > div:last-child {
                    width: 60%;
                }

                .artist-lightbox header {
                    margin-bottom: 2rem;
                }

                .artist-lightbox .details .description {
                    padding-left: 2rem;
                }

                /* Single content */

                .single-content--return-link span {

                    display: inline-block;

                    transition: transform var(--transition-speed) var(--transition-easing);

                    margin-bottom: 1rem;

                }

                .single-content--return-link:hover span {

                    transform: translateX(5px);

                }

        /********************** footer *********************/

        body > footer .footer-container .footer-content input[type="email"]:hover {
            border-color: var(--green-color);
        }

        body > footer .footer-container .footer-content .input:hover .label {
            color: var(--green-color);
        }

        body > footer .footer-container .footer-content .input:hover .input-checkbox {
            border-color: var(--green-color);
        }


    }

    @media screen and (min-width: 993px) and (max-width: 1250px) {
        body > footer .footer-container .footer-content .input {
            height: 5rem;
        }

        body > footer .footer-container .footer-content .input .label {
            width: 80%;
        }


        h3, .as-h3 {
            font-size: 1.5rem;
        }

        body > footer .social-networks > .social-networks-logos:not(:first-child) {
            margin-top: .5rem;
        }

        body > footer .footer-content ul.block-list {
            flex-direction: column;
        }

        body > footer .footer-content ul.block-list li {
            padding-bottom: .5rem;
        }

        body > footer .footer-content ul.block-list li:not(:first-child):before {
            display: none;
        }

        .artist-lightbox header h1 {
            margin-bottom: 2rem;
        }

    }

    /*************************************************************************/
    /* 6.4) Huge media (1251px +)
    /*************************************************************************/

    @media screen and (max-width: 1250px) {

        .artist-lightbox article header > div:last-child,
        .artist-lightbox article > div > div:last-child {
            width: 100%;
        }

            .artist-lightbox header .info:first-child {
                margin-bottom: 2rem;

            }

            .artist-lightbox .content .social-networks {
                margin: auto;
                margin-bottom: 2rem;
            }

            .lightbox-content .resume h1 {
                margin-bottom: 2rem;
            }

            h1 {
                font-size: 2.8rem;
            }
    
        .artist-lightbox header .info {
            justify-content: center;
        }

        .artist-lightbox .content header {
            flex-direction: column-reverse;
            text-align: center;
            margin-bottom: 2rem;
        }

        .artist-lightbox .content .details {
            flex-direction: column;
        }

        /* Huge media- > General Style */

        /* Huge media- > Layouts */

            /* Huge media- > Layouts > Default */

                /* Huge media- > Layouts > Default > Header */

                /* Huge media- > Layouts > Default > Main */

                /* Huge media- > Layouts > Default > Footer */

        /* Huge media- > Helpers */

            /* Huge media- > Helpers > Custom */

        /* Huge media- > Content */

            body > main > section .container > div {
                padding: 0;
            }

            /* Huge media- > Content > Sections */

            .infos-pratiques--section,
            .festival--section,
            .offres--section {
                justify-content: center;
            }

            /* Huge media- > Content > Elements */

            .artist-lightbox header .resume {
                display: flex;
                flex-direction: column-reverse;
            }

            .artist-lightbox header .info:first-child {
                flex-direction: column-reverse;
                align-items: center;
            }

            .artist-lightbox header .info span:not(:first-child) {
                flex-direction: column-reverse;
            }

            .artist-lightbox header .button,
            .artist-lightbox header .info:last-child {
                margin-bottom: 2rem;
            }


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

        .artist-lightbox header .resume {
            padding-left: 2rem;
            justify-content: space-between;
        }

    }

    @media screen and (max-width: 1450px) {

        aside .anchors-nav {
            display: none;
        }

    }

    /* @media screen and (min-width: 1451px) { */
    @media screen and (min-width: 90.688rem) {

        /* Huge media+ > General Style */

        /* Huge media+ > Layouts */

            /* Huge media+ > Layouts > Default */

                .logo-menu {
                    margin-right: 2rem;
                }

                /* Huge media+ > Layouts > Default > Header */

                body > header .main-banner-content:not(.home-banner) {
                    padding: 8rem 4rem;
                }

                /* Huge media+ > Layouts > Default > Main */

                /* Huge media+ > Layouts > Default > Footer */

                body > footer .newsletter-form input {
                    margin-left: 0;
                }

        /* Huge media+ > Helpers */

            /* Huge media+ > Helpers > Custom */

            .offre .offre-icon {
                font-size: 6rem;
            }

        /* Huge media+ > Content */

            /* Huge media+ > Content > Sections */

            .programme .section-container,
            .artists .section-container,
            .actualites .section-container {
                padding: 1rem 4rem 4rem;
            }

            .home-news .section-container {
                padding: 1rem calc(5rem - 5px) 4rem;
            }

            .section-container {
                padding: 1rem 2rem 4rem;
            }

            .tellement-container {
                padding: 1rem 4rem 4rem;
            }

            .offre {
                flex-direction: row;
            }

            .offre-img {
                width: 20%;
                display: flex;
                justify-content: center;
            }

            .offre-informations {
                width: 80%;
                padding-left: 4rem;
            }

            .offre-informations:after {
                left: 4rem;
                width: calc(100% - 4rem);
            }

            /* Huge media+ > Content > Elements */

                .artist-lightbox header .resume {
                    display: flex;
                    flex-direction: column;
                }

                .artist-lightbox header .resume .info:first-child {
                    justify-content: space-between;
                    align-items: center;
                
                }

                .artist-lightbox .portrait {

                    width: 70vw;
                    height: 40vh;
            
                }

                .artist-lightbox article header > div:first-child,
                .artist-lightbox article > div > div:first-child {
                    width: 30%;
                    height: 40vh;
                }

    }

    @media screen and (min-width: 993px) and (max-width: 1500px) {

	    .artist-preview .circle, 
	    .artist-preview .preview-info {
		    width: 20vmin;
		    height: 20vmin;
		}

		.artist-preview .button {
	        margin-top: .5rem;
	    }

	    .artist-preview-content .circle-button {
	        width: 2rem;
	    	height: 2rem;
	    	font-size: .7rem;
	    }
    }

    @media screen and (min-width: 1451px) and (max-width: 1600px) {

        .with-aside .section-header,
        .with-aside .section-footer {
            margin-left: -18rem;
        }

        body[data-reference-page="offres"] main > .with-aside:first-of-type .section-footer {

            margin-left: 0;

        }

        body[data-reference-page="billetterie"] .with-aside .section-header,
        body[data-reference-page="billetterie"] .with-aside .section-footer {
            margin-left: 0;
        }

        .with-aside .section-container {
            padding-left: 20rem;
        }

    	body > header .main-menu-links > .main-menu-submenu:not(:last-child) {
    		margin-right: 1.5rem;
    	}
    }

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

        .with-aside .section-content {
            max-width: 900px;
            margin: auto;

            display: grid;

        }

        .with-aside .section-content .section-header,
        .with-aside .section-content .subtitle {

            grid-column: span 2;

        }

        .with-aside .section-content .section--inner-content {

            grid-column: 1 / 3;

        }

        .with-aside .inner-content-main--container .content::after {

            width: calc(100% + 5vw) !important;

        }

        .with-aside .section-content .section-footer {

            grid-column: span 2;

        }

        .with-aside .section--inner-content-introduction {

            max-width: unset !important;

        }

        .contact .section--inner-content-main {

            flex-direction: row;
            justify-content: space-between;

        }

    }

    /*************************************************************************/
    /* 6.5) Custom
    /* the smaller media first */
    /*************************************************************************/

    @media screen and (max-width: 400px) {

        .steps-nav a:last-child {
            margin-left: 0.5rem;
        }

    }

    @media screen and (max-height: 600px) {
        body > header .home-banner .icon-logo {
            bottom: -4rem;
        }
    }

    @media screen and (min-width: 1251px) and (max-width: 1800px) {

        .artist-lightbox header .resume .info:first-child {

            flex-direction: column;
            align-items: flex-start;

        }

        .artist-lightbox header h1 {

            margin-top: 1rem;
            margin-bottom: 1rem;

        }

    }

/*************************************************************************/

/* 7) Overriden area

/*************************************************************************/

/*************************************************************************/

/* 8) Dev / Test

/*************************************************************************/

.corporate-title-section {
    width: 100%;
    height: 5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--dark-blue-color);
    color: white;
    margin-bottom: 2rem;
}

.big-artist-name {

    font-size: 70% !important;

}

@media screen and (min-width: 1250px) and (max-width: 1600px) {

    .big-artist-name {

        font-size: 50% !important;
    
    }

}

body > header .home-banner > .button {
    border-color: white;
    color: white;
    z-index: 50;
}

/*************************************************************************/

/* New sponsors grid

/*************************************************************************/

.sponsors--grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, 150px);

    grid-auto-columns: 200px;
    grid-auto-rows: auto;

    gap: 2rem;
    
    align-items: center;
    justify-items: center;

}

.sponsors--grid .grid--inner--content {

    width: fit-content;
    max-width: 250px;
    min-width: 100px;

}

.sponsors--grid .grid--inner--content .sponsors-img-box {

    display: flex;

}

.sponsors-grid-title {

    display: block;

}

.sponsors--grid .grid--inner--content .sponsors-img-box img {

    transition: transform var(--transition-speed) var(--transition-easing);
    width: 100%;

}

.sponsors--grid .grid--inner--content .sponsors-img-box:hover img {

    transform: scale(1.05);

}

#transports .section-footer a {

    width: 100%;

}

/*************************************************************************/

/* New cookies banner

/*************************************************************************/

.cookies-banner {

    position: fixed;

    bottom: 0;
    left: 0;

    width: 90%;
    max-width: fit-content;

    padding: 2rem;

    background-color: var(--white-color);

    transition: transform var(--transition-easing) var(--transition-speed);

    pointer-events: all;

    z-index: 300;

}

.cookies-banner p {

    margin: 0;

}

.cookies-banner hr {

    margin: 2vh 0;

    background-color: var(--text-color);

}

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

    .cookies-banner {

        padding: 1rem;

    }

    .cookies-banner > div {

        display: flex;

        flex-direction: column;
        align-items: center;

    }

}

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

    .cookies-banner > div > button:not(:first-of-type) {

        margin-top: 1vh;

    }

}

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

    .cookies-banner > div {

        display: flex;

        gap: .5rem;
        flex-wrap: wrap;

    }

}

.switch.disabled,
.switch[data-status=on] {

    background-color: var(--text-color);
    color: var(--white-color);

}

.switch.disabled {

    opacity: .5;

}

.switch:not(.disabled)[data-status=on]:hover {

    background-color: var(--text-color-hover);

}

.switch.disabled .switch-button,
.switch[data-status=on] .switch-button {

    left: 100%;
    transform: translateX(-100%);
}

.switch.disabled > label:first-of-type,
.switch[data-status=on] > label:first-of-type {

    opacity: 1;
}

.switch.disabled > label:last-of-type,
.switch[data-status=on] > label:last-of-type {

    opacity: 0;

}

.switch {

    position: relative;

    display: flex;

    align-items: center;

    width: 25vw;
    height: 1.5rem;

    max-width: 100px;
    min-width: 80px;

    color: #1C1C1C;
    background-color: white;

    margin-left: auto;

    border-radius: 1.5rem;
    border: 1px solid black;

    transition: background-color var(--transition-easing) var(--transition-speed);

    cursor: pointer;

}

.switch[data-status=off] .switch-button {

    left: 0;
    transform: translateX(0);
}

.switch.disabled {

    cursor: not-allowed;

}

.switch.disabled .switch-button {

    background-color: rgb(199, 188, 188);

}

.switch > label {

    position: absolute;

    display: flex;
    align-items: center;

    width: 100%;
    height: 100%;

    transition: opacity var(--transition-easing) var(--transition-speed),
                color var(--transition-easing) var(--transition-speed);

    cursor: inherit;
}

.switch > label:first-of-type {

    left: 0.5em;
    opacity: 0;

}

.switch > label:last-of-type {

    right: 0.5em;
    justify-content: flex-end;

}
.switch .switch-button {

    position: absolute;

    width: 1.5rem;
    height: 1.5rem;

    border-radius: 1.5rem;
    border: 1px solid black;

    background-color: white;

    cursor: inherit;

    transition: left var(--transition-easing) var(--transition-speed),
                transform var(--transition-easing) var(--transition-speed);

}

button {

    cursor: pointer;

    color: var(--text-color);

    padding: 0.5em 1em;

    font-family: "Maple";

    outline: none;

    background-color: var(--transition-speed) var(--transition-easing), border var(--transition-speed) var(--transition-easing), color var(--transition-speed) var(--transition-easing);

}

body:not(.cookies-manager-active) .cookies-manager {

    opacity: 0;
    pointer-events: none;

}

body.cookies-manager-active .cookies-manager {

    z-index: 999;

}

.cookies-manager {

    position: fixed;

    top: 50%;
    left: 50%;

    width: 80%;
    height: 90svh;
    max-height: 600px;
    max-height: fit-content;
    max-width: 900px;

    padding: 2rem;

    background-color: var(--white-color);

    font-family: "Maple";

    transform: translate(-50%, -50%);

    transition: opacity var(--transition-easing) var(--transition-speed);

    pointer-events: all;

    overflow: auto;

}

.cookies-manager > p {

    margin: 0;

}
.cookies-manager header {

    display: flex;

    align-items: center;
    margin-top: 2vh;

}

.cookies-manager header h4 {

    margin: 0;

}

.cookies-manager header .--toggle {

    margin-left: 1rem;
    margin-right: 0.5rem;

}

.cookies-manager header .--toggle span {

    display: inline-flex;

    transform: rotate(90deg);

}

.cookies-manager .accordion.active > p {

    display: block;

}

.cookies-manager .accordion > p {

    display: none;

    margin-bottom: 0;
    margin-top: 2vh;

}

.cookies-manager header > div {

    display: flex;

}

.cookies-manager hr {

    margin: 2vh 0;

}

.cookies-manager footer {

    display: flex;
    gap: .5rem;
    flex-wrap: wrap;

}

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

    .cookies-manager header {

        flex-direction: column;

        align-items: flex-start;

    }

    .cookies-manager header > div {
    
        width: 100%;
    
    }

    .cookies-manager header .--toggle {

        margin: 0;

        order: 3;

    }

    .cookies-manager header .switch {

        margin: 3vh 0;

    }

}

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

    .cookies-manager footer {

        display: flex;

        flex-direction: column;

        align-items: center;

    }

    .cookies-manager footer > button:not(:first-child) {

        margin-top: 1vh;

    }

}

body:not(.cookies-banner-active) .cookies-banner {

    transform: translateY(100%);
    pointer-events: none;

}

.cookies-banner a,
.cookies-manager a {

    text-decoration: underline;

}

/* Billeterie */

.home-header .--content {

    display: flex;

    position: relative;

    flex-direction: column;

    padding: 8rem 6vw;

}

.home-header .--content > a {

    align-self: center;

    margin-top: 3rem;

}

.home-header .dates .img-wrapper {

    position: absolute;

    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;

}

.home-header .dates > span {

    position: relative;

    z-index: 1;

}

@media screen and (max-width: 720px) {

    .home-header h1 {

        top: 27vh;

    }

    .home-header .dates {

        font-size: 1.5rem;

    }

}

.home-header .sponsors-logo {

    position: relative;

}

.home-header .logo-content {

    position: absolute;

    display: flex;

    left: 50%;
    top: 50vh;

    transform: translate(-50%, -50%) rotate(-12deg);

    font-size: 12rem;

    color: var(--text-color);

    padding: 1rem 3rem;

}

.home-header .logo-content span {

    display: flex;

    z-index: 2;

}

.home-header .logo-content .img-wrapper {

    position: absolute;

    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;

}

.home-header .--content .sponsors-logo h1 {

    margin-top: 0;
    margin-left: auto;

}

.home-header .--news article a:hover button::before {

    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    clip-path: circle(100%);

}

.home-header .--news article a {

    display: flex;

    flex-direction: column;
    align-items: center;

    height: 100%;

}

.home-header .--news article h3 {

    text-align: center;

}

.home-header .--news article a > span {

    order: -1;

}

.home-header .--news article a > span:first-of-type {

    font-size: 3rem;

}

.circle-button .inner-content,
.home-header .--news article .inner-content {

    left: 1rem !important;

}

@media screen and (max-width: 992px) {

    .home-header .--news { 

        display: flex;

        flex-wrap: wrap;
        gap: 2rem;
        justify-content: center;

        flex-direction: column;
        align-items: center;

    }

    .home-header .--news article {

        max-width: 300px;
        min-width: 200px;

        width: 100%;

    }

}

@media screen and (min-width: 993px) {
    
    .circle-button:hover .inner-content > span,
    .home-header .--news article:hover .inner-content > span {
    
        opacity: 1;
    
    }

    .home-header .--news {

        display: flex;

        flex-direction: column;
    
        align-items: center;

        margin-top: 20vh;

        width: calc(100% + 12vw);
        transform: translateX(-6vw);
    
    }

    .home-header .--news > div {

        display: flex;

        flex-wrap: wrap;
        gap: 2rem;

    }

}


.home-header .--news article h3,
.home-header .--news article a > span {

    margin-bottom: 1rem;

}

.home-header .--news > a {

    margin-top: 2rem;

}

@media screen and (max-width: 992px) {

    .home-header .icon-logo {

        font-size: 7rem;

    }

    .home-header .--news .date {

        display: none;

        visibility: hidden;

    }

    .home-header .sponsors-logo {

        justify-content: center;
    
    }

}

/* New programm grid */
.artists-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;

}

.artists-grid article {

    position: relative;

    display: flex;

    flex-direction: column;
    justify-content: center;

    cursor: pointer;
    
    height: var(--width);

    overflow: hidden;

}

.no-ticket-msg {

    display: flex;

    align-items: center;
    justify-content: center;

}


[data-reference-page="infos-pratiques"] .content-icon,
[data-reference-page="offres"] .content-icon {

    color: var(--text-color);

}

@media screen and (min-width: 993px) and (max-width: 605px) {

    .programme .section-header > a {

        margin: auto;

    }

    .programme .filters-nav {

        flex-direction: column;
        align-items: center;

    }

    .programme .filters-nav > button {

        margin-top: 1rem;

    }

}

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

    .filters-nav {

        grid-template-columns: repeat(var(--nb-items), min-content);
        display: inline-grid;
        column-gap: 1rem;

    }

}

.circle-button .inner-content {

    gap: .5rem;

}

.social-networks > a .inner-content {

    top: 0.1rem !important;

}

.social-networks > a:first-child .inner-content {

    left: 0.93rem !important;

}

.social-networks > a:nth-child(2) .inner-content {

    left: .72rem !important;

}

.social-networks > a:nth-child(3) .inner-content {

    left: .66rem !important;

}

.social-networks > a:nth-child(4) .inner-content {

    left: .58rem !important;

}

.social-networks > a:last-child .inner-content {

    left: .3rem !important;

}

body.privacy-policy h2 {

    margin-bottom: 2rem;

}

body.privacy-policy h2:not(:first-child) {

    margin-top: 2rem;

}

body.privacy-policy h3 {

    margin-bottom: 1rem;

}

body.privacy-policy p:not(:last-child) {

    margin-bottom: .5rem;

}

body.privacy-policy p + h3 {

    margin-top: 1rem;

}

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

    .artists--day-grid-cell:hover .inner-content > span:not(:first-child),
    .news-item:hover .inner-content > span:not(:first-child) {

        opacity: 1;

    }

}

.--artist:hover .inner-content > span:not(:first-child),
.content.toggle-on-click:not(.active):hover .inner-content > span:not(:first-child) {

    opacity: 1;

}

.artist-lightbox header .info .maarquee span {

    padding-left: 0;

}

.programme .download-button {

    margin-right: 0;

}

[data-reference-page=data-policy] main a {

    text-decoration: underline;

}

[data-reference-page=data-policy] h2:not(:first-child) {

    padding-top: 4rem;


}

.artist-lightbox .social-networks > .facebook-link .inner-content {

    left: 1.2rem !important;
    animation-direction: reverse;

}

.artist-lightbox .social-networks > .instagram-link .inner-content {

    left: .95rem !important;

}

.artist-lightbox .social-networks > .youtube-link .inner-content {

    left: .7rem !important;

}

.tellement .section-header {

    text-align: left;

}


@media screen and (max-width: 1250px) {

    .section-container {

        padding-top: 1rem;

    }

}

.main-menu-links .logo {

    display: flex;

}

.main-menu-links .link,
.main-menu-links .logo {

    color: var(--text-color)

}

.main-banner {

    display: flex;

    align-items: flex-end;

    height: 40vh;

}

.home-header .sponsors-logo {
    display: flex;
    flex-direction: column;
}

.home-header .sponsors-logo > div > a:first-child {

    margin-right: 1.5rem;

}

.home-header .sponsors-logo > span {

    text-transform: uppercase;
    font-size: .5rem;

}

.sponsors-logo,
footer .sponsors .--main a {

    color: black;

}

footer .sponsors .--secondary a path {

    fill: black;

}

.artists--day-grid-cell--size-medium .artists--day-grid-cell--preview .artists--day-grid-cell--preview-name {

    font-size: 1.3rem;

}

.artists--day-grid-cell--size-small .artists--day-grid-cell--preview .artists--day-grid-cell--preview-name {

    font-size: 1.1rem;

}

.artists--day-grid-cell--size-medium .artists--day-grid-cell--preview .artists--day-grid-cell--preview-name {

    font-size: 1.3rem;

}

.artists--day-grid-cell--size-big .artists--day-grid-cell--preview .artists--day-grid-cell--preview-name {

    font-size: 2rem;
    font-family: 'MapleMedium';
    font-weight: 600;

}

@media screen and (max-width: 992px) {

    a[class="day"] {

        justify-content: flex-end;

    }

    a[class="day"] img {

        margin-right: 1rem;
        margin-bottom: 0 !important;
        width: 3.5rem;

    }

    .artists-grid article .--informations header {

        padding-bottom: 2rem;

    }

}

.line {

    position: relative;

    display: inline-block;

    width: 1.5rem;
    height: .35vh;

    margin-bottom: 0.2em;
    margin-left: 0.3rem;
    margin-right: 0.3rem;

}

.line::before {

    position: absolute;

    content: "";

    left: 0;
    top: 50%;

    width: 100%;
    height: 100%;

    background-color: var(--white-color);

    transform: translateY(-50%);

}

.gmaps-button {

    width: fit-content !important;
    margin-top: 2rem;

}

.gallery-caption {

    font-size: .6rem;

}

.artist-lightbox .day {

    flex-direction: row;

}

.artist-lightbox .day[data-day=thursday] {

    color: var(--thursday-color);

}

.artist-lightbox .day[data-day=friday] {

    color: var(--friday-color);

}

.artist-lightbox .day[data-day=saturday] {

    color: var(--saturday-color);

}

.artist-lightbox .day[data-day=sunday] {

    color: var(--sunday-color);

}

.artist-lightbox .day svg {

    width: 1.5rem;

}

#hotels .section--inner-content-introduction,
#mobilite_reduite .section--inner-content-introduction {

    margin-bottom: 0 !important;

}

.faq .section--inner-content-main > .inner-content-main--container:last-child,
#emplois .inner-content-main--container ,
#historique .inner-content-main--container {

    padding-bottom: 0 !important;

}

#espace_vip .section-footer--content,
#tickets .section-footer,
#family_tickets .section-footer,
#afternatives .section-footer,
#vip_tickets .section-footer,
#contact .section--inner-content-main,
#organisation ul,
#organisation ul > li:last-child {

    margin-bottom: 0 !important;

}

.home-news-v2 {

    position: relative;

    padding-top: 1rem;
    padding-bottom: 4rem;

}

.home-news-v2::before {

    position: absolute;
    content: "";
    width: calc(100% - 8rem);
    height: 1px;
    background-color: var(--text-color);
    top: 0;
    left: 4rem;

}

.home-news-v2 .--content {

    padding: 0 1rem;

}

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

    .home-news-v2 .--content {

        padding: 0 10rem;
    
    }

    .home-news-v2 .--content .articles-grid {

        grid-template-columns: repeat(3, 1fr);
    
    }

}

.slider-edition {

    overflow: unset;

}

@media screen and (max-width: 1660px) {

    .edition-grid--cell .img-box {
        min-height: 700px;
    }

}

.subtitle {

    text-transform: uppercase;
    margin-bottom: .5rem;

}

.article-thumbnail {

    display: flex;
    align-items: center;
    justify-content: center;

}

@media screen and (max-width: 480px) {

    .year-filter-button {

        justify-content: center;

    }

    .tickets-container > div:not(:last-of-type),
    .tickets-container > div > div:not(:last-of-type) {

        margin-bottom: 1rem;

    }

    .tickets--content {

        padding: 0;

    }

    .ticket .button .price::before {

        background-color: var(--text-color);

    }

    body > main section > .section-container::before,
    .home-news-v2::before {

        width: calc(100% - 2rem);
        left: 1rem;

    }

    .main-banner {

        padding-left: 1rem;
        padding-right: 1rem;

    }

    .tellement-container {

        padding: 0 2rem;

    }
    
    .masonry-grid--item {

        padding-left: 0;
        padding-right: 0;
        padding-top: 1rem;

    }

    body[data-reference-page=tellement] > main section > .section-container {

        padding-top: 1rem;
        padding-left: 1rem;
        padding-right: 1rem;

    }

    body[data-reference-page=tellement] .masonry-grid {

        width: unset;
        transform: unset;

    }

    .filters-nav {

        display: flex;

        flex-wrap: wrap;
        justify-content: center;

        gap: .5rem;

    }

    .years-filters .button {

        width: auto !important;

    }
    

    h1,
    .as-h1 {

        font-size: 3rem;

    }

    .faq .inner-content-main--container,
    .section--inner-content-main > .inner-content-main--container:last-of-type {

        padding-bottom: 1.5rem !important;

    }

    .inner-content-main--container {

        padding-bottom: 2rem;

    }

    .section-header, .section--inner-content-introduction {

        margin-bottom: 1.5rem !important;

    }

    .vip-form--container {

        margin-top: .5rem;

    }

}

@media screen and (max-width: 720px) {

    .edition-grid--cell {

        pointer-events: none;

    }

    .edition-grid--cell .img-box {

        min-height: 540px;

    }

}

@media screen and (max-width: 992px) {

    body[data-reference-page=offres] main > section.afternatives .section-container {

        padding-bottom: 4rem;

    }

    body[data-reference-page=actualites] section.tellement {

        padding-bottom: 4rem;

    }

    body[data-reference-page=infos-pratiques] main > section:last-of-type .section-container {

        padding-bottom: 4rem;

    }

    body[data-reference-page=offres] #espace_vip .section-container,
    body[data-reference-page=offres] #tarifs_speciaux .section-container,
    body[data-reference-page=offres] #journee_famille .section-container,
    body[data-reference-page=billetterie] #tickets .section-container,
    body[data-reference-page=billetterie] #vip_tickets .section-container,
    body[data-reference-page=billetterie] #family_tickets .section-container,
    body[data-reference-page=festival] #historique .section--inner-content,
    body[data-reference-page=festival] #emplois .section-container,
    body[data-reference-page=festival] #contact .section--inner-content-main > div:last-child,
    body[data-reference-page=infos-pratiques] #hotels .section--inner-content-introduction,
    body[data-reference-page=infos-pratiques] #no_cash .is-wysiwyg,
    body[data-reference-page=infos-pratiques] #transports .section-footer,
    body[data-reference-page=infos-pratiques] #mobilite_reduite .section--inner-content-introduction {

        margin-bottom: 1rem !important;

    }

    body[data-reference-page=festival] main > section.sponsors .section-container {

        padding-bottom: 4rem;

    }

    body[data-reference-page=tellement] main > section.tellement  {

        padding-bottom: 4rem;

    }

    body[data-reference-page=tellement] main > section.tellement .section-container > nav {

        margin-bottom: 0;

    }

    body[data-reference-page=programme] main > section.programme .section-container {

        padding-bottom: 4rem;

    }

    body[data-reference-page=billetterie] main > section:last-of-type .section-container {

        padding-bottom: 4rem;

    }

}

@media screen and (max-width: 720px) {

    body[data-reference-page=infos-pratiques] .content.toggle-on-click {

        display: flex;

        flex-direction: column;

    }

    body[data-reference-page=infos-pratiques] .content.toggle-on-click h3 {

        order: 1;

    }

    body[data-reference-page=infos-pratiques] .content.toggle-on-click span.subtitle {

        order: 2;

    }

    body[data-reference-page=infos-pratiques] .content.toggle-on-click .highlight-information {

        order: 3;

    }

    body[data-reference-page=infos-pratiques] .content.toggle-on-click > p {

        order: 4;

    }

    body[data-reference-page=infos-pratiques] .content.toggle-on-click .content-to-toggle {

        order: 5;

    }

}

/* - Active Campaign Form */
._form_1 input {

    margin: 1rem 0;

}

._form_1 ._error {

    margin-bottom: 1rem;

    color: var(--red-color);

}

.edition-grid .bg-img {

    position: relative;

    background-size: contain;

}

.edition-grid .bg-img .more-overlay {

    background-color: transparent;

}

.edition-grid .bg-img .more-overlay .see-more {

    background-color: var(--text-color);

}

.edition-grid .bg-img .more-overlay .see-more .icon-search {

    color: white;

}

/* -- New gallery -- */
.detail-article .--gallery {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

    gap: .5rem;

}

.detail-article .--gallery .img-container {

    display: flex;

    overflow: hidden;

    cursor: pointer;

}

.detail-article .--gallery .img-container img {

    transition: transform var(--transition-speed) var(--transition-easing);

}

.detail-article .--gallery .img-container:hover img {

    transform: scale(1.1);

}

.detail-article .--gallery .img-container:hover .overlay {

    opacity: 1;

}

.detail-article .--gallery .overlay {

    position: absolute;

    display: flex;

    justify-content: center;
    align-items: center;

    top: 50%;
    left: 50%;

    width: 2.5rem;
    height: 2.5rem;
    
    background-color: white;

    border-radius: 50%;

    opacity: 0;

    transform: translate(-50%, -50%);

    transition: opacity var(--transition-speed) var(--transition-easing);

}

.detail-article .--gallery .overlay .icon-search {

    position: absolute;

    font-size: 1.2rem;

}

.lightbox-gallery {

    position: fixed;

    top: 0;
    left: 0;

    height: 100%;
    width: 100%;

    background-color: rgba(0, 0, 0, 0.8);

    z-index: 9999;

}

.lightbox-gallery .--container {

    height: 100%;

}

.lightbox-gallery .--container .slide {

    display: flex;
    
    justify-content: center;
    align-items: center;

    height: 100%;
    width: 100%;

}

.lightbox-gallery .--container .slide img {

    height: 100%;

}

.lightbox-gallery button {

    position: absolute;

    top: 50%;

    font-size: unset !important;
    
    transform: translateY(-50%);

}

.lightbox-gallery button[data-slide=prev] {

    left: 2rem;

}

.lightbox-gallery button[data-slide=prev] .icon-arrow {

    transform: rotate(-180deg);

}

.lightbox-gallery button.close-button {

    top: 3rem;
    right: 2rem;

    background-color: white;

}

.lightbox-gallery button.close-button:hover {

    background-color: black;

}

.lightbox-gallery button.close-button:hover span {

    color: white !important;

}

.lightbox-gallery button[data-slide=next] {

    right: 2rem;

}

.lightbox-gallery:not(.active) {

    display: none;
    pointer-events: none;

}

.lightbox-gallery .slide:not(.active) {

    display: none;

}

/* 2023 Home header */

.home-header {

    position: relative;

    overflow: hidden;

}

.home-header > .cloud:nth-child(3) {

    width: 20rem;

    top: 40%;

    animation: cloud 32s linear infinite;

}

/* - Emplois */
#emplois .inner-content-main--container {

    flex-direction: column;
    
    gap: 2rem;

}

#emplois .inner-content-main--container .info {

    display: flex;

    gap: 1rem;

    align-items: center;

}

#emplois .inner-content-main--container > h3:not(:first-of-type) {

    margin-top: 2rem;

}

#emplois .info > span:first-child {

    display: flex;

    font-size: 2rem;

}

body > header .news {

    pointer-events: none;
    user-select: none;

}

.inner-content-main--container button {

    margin-top: 1rem;

}

.toggle-on-click.active button {

    order: 6;

}

.toggle-on-click.active button > div:last-of-type {

    transform: scaleX(100%);

}

.toggle-on-click.active button span {

    color: var(--white-color);

}

.toggle-on-click.active button::before {

    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    clip-path: circle(100%);

}

@media screen and (max-width: 720px) {
    
    .inner-content-main--container button {

        margin-bottom: 1rem;

        order: 6;
    
    }

}

@media screen and (max-width: 992px) {

    .home-header > .cloud:first-child,
    .main-banner > div:first-of-type  {

        animation: cloud 10s linear infinite;

    }

    .home-header > .cloud:nth-child(2),
    .main-banner > div:nth-of-type(2) {

        bottom: 20%;

        animation: cloud 13s linear infinite;

    }

    .home-header > .cloud:nth-child(3) {
    
        animation: cloud 16s linear infinite;
    
    }

}

.coming-soon {

    display: flex;

    justify-content: center;
    align-items: center;

    padding: .25em;

    height: 100%;

    background-color: var(--green-color);

    cursor: default;

}

.artists--day-item[data-day=thursday] .coming-soon {

    background-color: var(--thursday-color);

    color: var(--white-color);

}

.artists--day-item[data-day=friday] .coming-soon {

    background-color: var(--friday-color);

}

.artists--day-item[data-day=saturday] .coming-soon {

    background-color: var(--saturday-color);

}

.artists--day-item[data-day=sunday] .coming-soon {

    background-color: var(--sunday-color);

}

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

    .tickets.has-one-ticket .ticket {

        transform: translateX(50%);

    }

}

@media screen and (min-width: 993px) and (max-width: 1599px) {

    .inner-content-main--container button {

        display: flex;
        
        margin-left: auto;
        
    }

}

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

    .inner-content-main--container button {

        display: flex;
        
        margin-left: auto;
        
    }

}

.container-404 {

    height: 100vh;

    overflow: hidden;

}

body.error404 .mobile-circle {

    display: none;

}

span.orign {

    display: none;

}

.artists--day-grid-cell--size-small .circle-button {

    width: 2rem;
    height: 2rem;

    font-size: .6rem;

}

#resales .ticket {

    transform: rotate(-8deg);

    width: fit-content;

    margin: 0 auto;

}

#resales .tickets-container {

    grid-column: span 2;

}

#resales .section-content > footer {

    margin-top: 3rem;

}

#tickets .section--inner-content {

    position: relative;

    display: block;

}

@media screen and (max-width: 1450px) {
    
    #tickets .section--inner-content {

        display: grid;

    }

    .ticket {

        justify-content: center;

    }

    .ticket .target {

        text-align: center;

    }

    #tickets .shape-container {

        display: none;

    }

    body[data-reference-page=billetterie] .section-content {

        max-width: 60vw;
        margin: 0 auto;

    }

}

@media screen and (min-width: 1451px) {
    
    #tickets .section--inner-content {

        position: relative;
    
        display: block;
    
        min-height: 95vh;
    
    }

    #tickets .section--inner-content .tickets--content  {

        width: fit-content;
    
    }

    #tickets .tickets-container {

        position: absolute;
    
        width: fit-content;

    }
    
    #tickets .section--inner-content .tickets--content  {
    
        width: fit-content;
    
    }
    
    #tickets .section--inner-content > div:first-child {
    
        transform: rotate(-12deg);
    
    }
    
    #tickets .section--inner-content > div:nth-child(2) {
    
        right: 0;
        top: 10%;
    
    }
    
    #tickets .section--inner-content > div:nth-child(3) {
    
        transform: rotate(-6deg);
    
        top: 25%;
    
        z-index: 3;
    
    }
    
    #tickets .section--inner-content > div:nth-child(4) {
    
        transform: rotate(10deg);
    
        top: 37%;
        right: 0;
    
        z-index: 2;
    
    }
    
    #tickets .section--inner-content > div:nth-child(5) {
    
        transform: rotate(-10deg);
    
        top: 55%;
        left: 0;
    
    }
    
    #tickets .section--inner-content > div:nth-child(6) {
    
        transform: rotate(2deg);
    
        top: 65%;
        right: -20%;
    
        z-index: 2;
    
    }
    
    #tickets .section--inner-content > div:nth-child(7) {
    
        top: 78%;
        left: 0;
    
    }

}

@media screen and (min-width: 1451px) and (max-width: 1600px) {
    
    #tickets .section--inner-content > div:nth-child(2) {
    
        right: 6%;
    
    }
    
    #tickets .section--inner-content > div:nth-child(4) {
    
        right: 11%;
    
    }
    
    #tickets .section--inner-content > div:nth-child(6) {
    
        right: 4%;
    
    }

}

@media screen and (max-width: 480px) {
    
    .programme .section-header {

        display: flex;

        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 1rem;

    }

}

#tickets .shape-container {

    position: absolute;

    z-index: -1;

}

#tickets .shape-3 {

    max-width: 40vmin;

    transform: rotate(-12deg);
    
    bottom: 16vh;
    right: 25%;

}

#tickets .shape-4 {

    max-width: 50vmin;

    transform: rotate(-12deg);
    
    top: 15vh;
    left: 15%;

}

#tickets .shape-5 {

    max-width: 50vmin;
    
    top: 15vh;
    left: 50%;

}

#tickets .shape-6 {

    max-width: 60vmin;
    
    top: 45vh;
    left: 25%;

    transform: rotate(12deg);

}

.home-header .--content .shape-container,
.container-404 .shape-container {

    position: absolute;

}

.home-header .--content .shape-1,
.container-404 .shape-container {

    max-width: 400px;

}

.home-header .--content .shape-3,
.container-404 .shape-container {

    max-width: 200px;

}

.home-header .--content .shape-4,
.container-404 .shape-container {

    max-width: 400px;

}

.home-header .--content .shape-5,
.container-404 .shape-container {

    max-width: 300px;

}

.home-header .--content .shape-6,
.container-404 .shape-container {

    max-width: 280px;

}

.home-header .--content .shape-1.blue {

    left: 50%;
    top: 28vh;
    transform: translateX(-50%);

}

.home-header .--content .shape-1.yellow {

    top: 59vh;
    right: 25%;

}

.home-header .--content .shape-3.yellow {

    top: 120vh;
    left: 18%;
    transform: rotate(15deg);

}

.home-header .--content .shape-3.blue {

    right: 15%;
    top: 25vh;
    transform: rotate(-15deg);
    z-index: 1;

}

.home-header .--content .shape-3.pink {

    top: 49vh;
    left: 50%;
    z-index: 2;
    transform: rotate(25deg);

}

.home-header .--content .shape-4.pink {

    left: 44%;
    top: 16vh;
    transform: rotate(-8deg);

}

.home-header .--content > div:nth-child(8) {

    top: 56vh;
    left: 35%;
    z-index: 1;
    transform: rotate(-15deg);

}

.home-header .--content > div:nth-child(9) {

    right: 22%;
    transform: rotate(-19deg);
    top: 17vh;

}

.home-header .--content > div:nth-child(6) {

    top: 114vh;
    left: 50%;
    transform: translateX(-50%);

}

.home-header .--content > div:nth-child(7) {

    transform: rotate(15deg);
    top: 55vh;
    left: 10%;

}

.home-header .--content .shape-5.pink {

    top: 105vh;
    left: 20%;
    transform: rotate(-5deg);

}

.home-header .--content > div:nth-child(12) {

    top: 33vh;
    left: 24%;
    z-index: 2;
    transform: rotate(-12deg);

}

.home-header .--content > div:nth-child(13) {

    right: 24%;
    top: 30vh;
    transform: rotate(20deg);

}

.home-header .--content .shape-6.blue {
    
    right: 25%;
    top: 44vh;
    transform: rotate(-5deg);

}

.home-header .--content .shape-6.pink {
    
    top: 22vh;
    left: 18%;

}

.home-header .emotion-container,
.container-404 .emotion-container {

    position: absolute;

}

.home-header .emotion-pleine-8 {

    right: 10%;
    top: 12vh;

}

.home-header .emotion-pleine-5 {

    left: 17%;
    top: 31vh;

    z-index: 3;

}

.home-header .emotion-pleine-13 {

    left: 75%;
    top: 110vh;

    transform: rotate(12deg);

}

.home-header .emotion-creuse-3 {

    left: 33%;

    transform: rotate(-12deg);

}

.home-header .emotion-creuse-20 {

    right: 13%;
    top: 50vh;

    transform: rotate(12deg);

}

.home-header .emotion-creuse-31 {

    left: 68%;
    top: 120vh;

    transform: rotate(-12deg);

}

.smile-container,
.emotion-container {

    position: absolute;

    max-width: 120px;

}

.smile-container .eye,
.smile-container .mouth {

    fill: var(--text-color);

}

.home-header .smile-4.pink {

    top: 12vh;
    left: 18%;

}

.home-header .smile-8.blue {

    top: 124vh;
    left: 28%;

    transform: rotate(30deg);

}

.home-header .smile-2.yellow {

    top: 30vh;
    left: 60%;

    z-index: 5;

}

.svg-ticket path {

    fill: transparent;
    stroke: var(--text-color);
    stroke-width: 30px;

}

.img-wrapper {

    display: flex;

}

.img-wrapper img {

    width: 100%;
    height: 100%;

}

@media screen and (max-width: 1250px) {
    
    .main-banner {

        align-items: center;

    }

    .main-banner .main-banner-title {

        z-index: 6;

    }

    .main-banner .shape-4.blue,
    .main-banner .emotion-pleine-17,
    .main-banner .shape-6.pink,
    .main-banner .emotion-creuse-8,
    .main-banner .shape-1.red {

        display: none;

    }

    .main-banner .smile-4.pink {
        top: 27%;
        left: 2%;
    }

    .main-banner .shape-1.yellow {
        left: 75%;
    }

    .main-banner .emotion-creuse-20 {
        left: 64%;
        top: 26%;
    }

    .main-banner .smile-8.blue {

        z-index: 2;

    }

    .main-banner .shape-6.blue {
        top: 35%;
    }

    .home-header .--content > div:nth-child(7) {

        left: 0;

    }

    .home-header .dates {

        right: 4%;
        top: 23vh;
        font-size: 1.5rem;

    }

    .home-header .--content > div:nth-child(8),
    .home-header .emotion-creuse-3,
    .home-header .--content .shape-6.blue,
    .home-header .--content > div:nth-child(13),
    .home-header .--content > div:nth-child(12),
    .home-header .emotion-pleine-5 {

        display: none;

    }

    .home-header svg {

        width: 80vw;

    }

    .home-header .--content .shape-4.pink {

        display: none;

    }

    .home-header .--content .shape-5.pink {

        top: 90vh;
        left: 40%;

    }

    .home-header .--content .shape-1.blue {

        top: 12vh;

    }

    .home-header .--content .shape-3.pink {

        top: 64vh;
        left: 70%;

    }

    .home-header .--content > div:nth-child(9) {

        top: 32vh;

    }

    .home-header .smile-2.yellow {

        left: 5%;
        top: 43vh;

    }

    .home-header .--content .shape-3.blue {
        right: 6%;
        top: 31vh;
    }

    .home-header .logo-content {

        top: 62vh;

    }

}

body:not([data-reference-page="programme"]) .header-content {

    overflow: hidden;

}

.as-wysiwyg a.button {

    text-decoration: none;

}

.tickets--content.disabled {

    color: #b3b3b3;

}

.tickets .section--inner-content {

    margin-top: 1.5rem;

}

body.home section.artists > .section-container:before {

    background-color: var(--white-color);

}

.menu-active .link,
.menu-active .logo-menu .logo {

    color: var(--text-color) !important;

}

.news-item .circle-button {

    pointer-events: none;

}

@media screen and (max-width: 500px) {

    .home-header .dates {

        font-size: 1.3rem;

        top: 26vh;

    }

    .home-header .--content {

        padding-top: 6rem;
        padding-bottom: 6rem;

    }

    .home-header .logo-content {

        top: 53vh;

    }

    .artists--day-item[data-day=saturday] .link-day {

        left: 0;

    }

    .artists-grid article {

        justify-content: start;

    }

    .artists-grid article .--icon {

        display: none;

    }

    .artists-grid article .--date {

        top: 1rem !important;
        left: 1rem !important;
        right: unset !important;

    }

}

@media screen and (max-width: 720px) {

    .artists-grid {

        grid-auto-rows: auto;
        grid-template-columns: repeat(2, 1fr);

    }

    .artists-grid article .--icon {

        max-width: 40px;

    }

    .artists-grid .--wrapper {

        height: auto;

    }

}

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

    .artists-grid {

        grid-auto-rows: auto;

    }

}

@media screen and (max-width: 1250px) {

    .artists .artists--day-item > .artists--day-grid {

        padding-top: 6rem;

    }

    .artists--day-item .link-day {

        font-size: 5rem !important;

    }

}

@media screen and (min-width: 1251px) and (max-width: 1450px) {
    
    .artist-lightbox header .button {

        margin-top: 1rem;

        transform: rotate(0deg);

    }

}

@media screen and (min-width: 1451px) {
    
    .artist-lightbox header {
        position: relative;
    }

    .artist-lightbox header .button {

        position: absolute;
        top: 0;
        margin: 0;
        right: -2.5rem;

    }

}

@media screen and (orientation: landscape) {
    
    .home-header .--content .shape-1 {

        max-width: 50vmin;

    }

    .home-header .--content .shape-3 {

        max-width: 35vmin;

    }

    .home-header .--content .shape-4 {
        max-width: 55vmin;
    }

    .home-header .--content .shape-5 {
        max-width: 45vmin;
    }

    .home-header .--content .shape-6 {
        max-width: 48vmin;
    }

    .smile-container {
        max-width: 20vmin;
    }

    .home-header .emotion-container {
        max-width: 20vmin;
    }
}

@media screen and (min-width: 450px) {
    
    .section-container {

        padding: 1rem 4rem;

    }

}

.tickets--content .as-h3 {

    text-align: center;

}

/* ActiveCampaign VIP Form */
._form_10 {

    width: 100% !important;
    margin: unset !important;
    padding: 0 !important;
    max-width: unset !important;

}

._form_10 ._form-label {

    color: var(--text-color) !important;

}

._form_10 input,
._form_10 textarea {

    padding: .7rem !important;
    border: 2px solid var(--text-color) !important;
    width: 100% !important;
    outline: none !important;

}

._form_10 input::placeholder {

    font-family: 'Maple' !important;

    transition: color var(--transition-speed) var(--transition-easing);

}

._form_10 input:focus,
._form_10 textarea:focus {

    border-color: var(--text-color) !important;
    color: var(--text-color) !important;
    caret-color: var(--text-color) !important;

}

._form_10 input:focus::placeholder {

    color: var(--text-color);

}

._form_10 label {

    font-family: 'Maple' !important;
    font-size: 1rem !important;

}

._form_10 ._x39268393 {

    display: flex;

    justify-content: center;

    margin-bottom: 3rem !important;

}

._form_10 ._x39268393 img {

    width: 100% !important;
    height: auto !important;

}

._form_10 ._x86816476,
._form_10 ._x35978573,
._form_10 ._x96098916,
._form_10 ._x96831998,
._form_10 ._x12132624,
._form_10 ._x57299886 {

    margin-bottom: 1rem !important;

}

._form_10 ._button-wrapper {

    margin-top: 1rem !important;

}

._form_10._inline-form ._submit {

    position: relative !important;

    margin-top: 0 !important;

    font-family: 'Maple' !important;
    font-size: 1rem !important;

}

._form_10._inline-form ._form-thank-you {

    font-size: 1rem;
    font-family: 'Maple';

}

/* New Articles grid */
.articles-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));

    gap: 2rem;

}

.articles-grid .--item .grid-cell--inner-content {

    display: flex;

    flex-direction: column;
    align-items: center;
    
    gap: .1rem;

    height: 100%;

}

.articles-grid .--item .grid-cell--inner-content .article-thumbnail {

    transition: transform var(--transition-speed) var(--transition-easing);

}

.articles-grid .--item .img-box {

    height: 40vh;

    min-height: 400px;

}

.articles-grid .--item .img-box,
.articles-grid .--item .article-header-data,
.articles-grid .--item h3,
.articles-grid .--item .article-content {

    margin-bottom: 1rem;

}

.articles-grid .--item h3 {

    text-align: center;

}

.articles-grid .--item .grid-cell--inner-content .button {

    margin-top: auto;

}

.tellement .filters-nav {

    flex-wrap: wrap;

    gap: 1rem;

    margin-bottom: 1rem;

}

.tellement .filters-nav .news-filter-button.active {

    pointer-events: all;
    cursor: pointer;

}

@media screen and (min-width: 160rem) {
    
    .articles-grid {

        display: grid;
    
        grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
    
        gap: 2rem;
    
    }
    

}

.search-wrapper {

    margin-bottom: 2rem;
    padding-top: 1rem;

}

.search-wrapper input[type=search] {

    field-sizing: content;
    width: unset !important;

    min-width: 250px;
    max-width: 35ch;

    border-width: 1px;

}

@media screen and (max-width: 480px) {
    
    .search-wrapper {

        display: flex;

        justify-content: center;

    }

    .filters-nav {

        padding-top: 1rem;

    }

}

@media screen and (min-width: 481px) {
    
    .search-wrapper input[type=search] {

        max-width: 50ch;

    }

}

.container-404 .shape-1 {

    top: 15%;
    left: 20%;

}

.container-404 .shape-3 {

    top: 25%;
    left: 60%;

}

.container-404 .shape-4 {

    top: 45%;
    left: 30%;

}

.container-404 .shape-5.green path {

    fill: var(--green-color);

}

.container-404 .shape-5 {

    top: 60%;
    left: 58%;

}


.container-404 .shape-6.red ellipse {

    fill: var(--thursday-color);

}

.container-404 .shape-6 {

    top: 65%;
    left: 23%;

}

.container-404 .smile-4 {

    top: 48%;
    left: 27%;

}

.container-404 .smile-8 {

    top: 15%;
    left: 50%;

}

.container-404 .smile-1 {

    top: 25%;
    left: 33%;

}

.container-404 .smile-2 {

    top: 41%;
    left: 70%;

}

/* ---- 2026 EDITION ---- */
.highlight-button {

    background-color: #051A85;
    color: var(--white-color);
    border-radius: 25px;
    font-weight: bold;

}

.highlight-button {

    position: relative;

    overflow: hidden;

    background-color: #051A85;
    color: var(--white-color);
    border-radius: 25px;
    font-weight: bold;

    isolation: isolate;
    will-change: transform;

    overflow: hidden;

    z-index: 0;

    transition: transform var(--transition-speed) var(--transition-easing),
                color var(--transition-speed) var(--transition-easing),
                background-color var(--transition-speed) var(--transition-easing);

}

.highlight-button.active {

    pointer-events: none;

}

.highlight-button > span,
.circle-button > span {

    position: relative;

    display: inline-block;
    
    z-index: 2;
    
    transition: transform var(--transition-speed) var(--transition-easing);
    
    will-change: transform;

}

.home-header .--text {

    display: flex;
    flex-direction: column;
    align-items: center;

    color: var(--text-color);

    margin-top: 20vh;

}

.home-header .--text h1,
.home-header .--text span {

    font-size: 1.2rem;
    text-transform: uppercase;
    font-weight: bold;

}

.home-header .--text h1 {

    margin-top: 1.5rem;

}

.home-header .--news {

    color: var(--text-color);
    padding: 4rem 0;

    backdrop-filter: blur(10px);

    z-index: 10;

}

.artists--day-item .link-day {

    display: inline-block;

    font-size: 10rem;

    color: var(--text-color);

    transition: none;

}

.artists--day-item[data-day=friday] .link-day,
.artists--day-item[data-day=sunday] .link-day {

    left: 100%;

}

.main-footer {

    color: var(--text-color);

}

.main-footer .sponsors .--title {

    display: inline-block;

    text-transform: uppercase;

    margin-bottom: .5rem;

}

.main-footer .sponsors .--main > div {

    display: flex;

    gap: 1.5rem;

}

.main-footer .sponsors .--main a {

    font-size: 1.4rem;

}

.main-footer .--secondary {

    margin-top: 2rem;

}

.main-footer .--secondary .sponsors-list {

    align-items: center;
    gap: 1rem;

}

.main-footer .--secondary a {

    width: 5rem;

}

.main-footer path {

    fill: var(--text-color)

}

.main-footer .footer-container::before {

    position: absolute;

    content: "";

    top: 0;
    left: 4rem;

    height: 1px;
    width: calc(100% - 8rem);

    background-color: var(--text-color);

}

nav.anchors-nav a {

    position: relative;
    z-index: 2;

}

li span,
.inner-content-main--container p span {

    color: var(--text-color) !important;

}

.main-banner-title {

    font-size: 4.5rem;

}

.artist-lightbox .resume {

    z-index: 2;

}

.artist-lightbox .details {

    position: relative;

    z-index: 2;

}

.artist-lightbox article header > img {

    position: absolute;

    pointer-events: none;

    z-index: 2;

}

.artist-lightbox article header[data-day=thursday] img[data-name=vertical-green] {

    left: -4rem;
    top: -5rem;

    width: 7vw;

}

.artist-lightbox article header[data-day=thursday] img[data-name=diagonal-green] {

    top: 11rem;
    left: 9rem;

    transform: rotate(68deg);

    width: 15vw;
    
}

.artist-lightbox article header[data-day=friday] img[data-name=blue-wave] {

    max-width: 480px;

    top: 12rem;
    left: -4rem;

}

.artist-lightbox article header[data-day=saturday] img[data-name=red-circle] {

    top: -5rem;
    left: -4rem;

    max-width: 200px;

}

.artist-lightbox article header[data-day=sunday] img[data-name=m-yellow-right-fade] {

    top: 12rem;
    left: 11rem;

    max-width: 280px;

}

/* .artist-lightbox article > img */

body[data-reference-page=programme] > img {

    display: none;

}

.artists-grid .--artist {

    color: white;

    pointer-events: all;

    position: relative;

}

.artists-grid .--artist h4 {

    display: flex;

    flex-direction: column;

    margin: 0;

}

@media screen and (max-width: 992px) {
    
    .artists-grid .--artist h4 {

        margin-left: 1rem;

    }

}

@media screen and (min-width: 993px) {
    
    .artists-grid .--artist[data-day=thursday] h4 {
    
        margin-left: 4rem;
    
    }
    
    .artists-grid .--artist[data-day=friday] h4 {
    
        align-self: end;
        margin-right: 1rem;
    
    }
    
    .artists-grid .--artist[data-day=saturday] h4 {
    
        margin-left: 1rem;
    
    }
    
    .artists-grid .--artist[data-day=sunday] h4 {
    
        margin-left: 6rem;
    
    }

    .artists-grid .--artist h4 > span:last-child:not(:first-child) {

        margin-left: 1rem;

    }

    .artists-grid .--artist[data-day=thursday] h4 > span:last-child:not(:first-child) {

        margin-left: 0;

    }

    .artists-grid .--artist[data-day=thursday] h4 > span:first-child:not(:last-child) {

        margin-left: 1rem;

    }

}

.artists-grid .--artist img {

    width: 100%;
    height: 100%;
}

.artists-grid .--artist .--date,
.artists-grid .--artist h4 {

    position: absolute;

    color: var(--white-color);

    z-index: 2;

}

.artists-grid .--artist h4 {

    font-size: 2rem;

    bottom: 1rem;

}

.artists-grid .--artist .--date {

    top: 1rem;

    font-weight: bold;

}

.artists-grid .--artist {

    position: relative;

}

.artists-grid .--artist > img {

    position: absolute;

    z-index: 1;

}

.artists-grid .--artist > img[data-name=red-finger] {

    bottom: -40%;
    left: -19%;

    width: 25rem;
    
}

.artists-grid .--artist > img[data-name=red-circle] {

    top: -48%;
    left: -35%;
    
    width: 12rem;

    transform: rotate(110deg);
    
}

.artists-grid .--artist > img[data-name=diagonal-green]:first-of-type {

    right: -55%;
    transform: rotate(210deg);
    
}

.artists-grid .--artist > img[data-name=diagonal-green]:nth-of-type(2) {

    bottom: -38%;
    left: -25%;

    transform: rotate(-25deg);
    
}

.artists-grid .--artist > img[data-name=diagonal-green]:last-of-type {

    top: -55%;
    left: -45%;

    transform: rotate(-195deg);
    
}

.artists-grid .--artist > img[data-name=l-yellow] {

    transform: rotate(-115deg);

    top: -50%;
    
}

.artists-grid .--artist > img[data-name=m-yellow-left-fade] {

    bottom: -35%;
    
}

.artists-grid .--artist > img[data-name=blue-wave]:first-of-type {

    width: 30rem;
    
    bottom: -65%;
    left: 25%;

    transform: rotate(-15deg);
    
}

.artists-grid .--artist > img[data-name=blue-wave]:nth-of-type(2) {

    width: 30rem;

    transform: rotate(-115deg);

    right: -105%;
    top: -75%;
    
}

.artists-grid .--artist > img[data-name=blue-wave]:last-of-type {

    width: 30rem;

    transform: rotate(65deg);
    
    left: -95%;
    top: -95%;
    
}

.artists-grid .--artist::before {

    position: absolute;

    content: "";

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    backdrop-filter: blur(10px);
    
    z-index: 1;

    opacity: 0;

    transition: opacity var(--transition-speed) var(--transition-easing);

}

.artists-grid .--artist::after {

    position: absolute;

    content: "";

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background-color: var(--white-color);
    
    z-index: 1;

    opacity: 0;

    transition: opacity var(--transition-speed) var(--transition-easing);

}

.artists-grid .--artist .--date {

    right: 1rem;

}

body {

    position: relative;

}

body::after {

    position: absolute;

    content: "";

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background-image: url('/wp-content/themes/neue/webroot/img/grain.gif');
    background-size: 30%;

    opacity: 0.04;

}

body > footer a {

    display: inline-flex;

}

body > footer .sponsors a span,
body > footer .sponsors a svg {

    transition: transform var(--transition-speed) var(--transition-easing);

}

.tickets--content {

    color: white;

}

.tickets--content:not(.disabled) .ticket > .note path {

    fill: white !important;

}

.disabled .ticket {

    color: var(--white-color);

}

.disabled .ticket path {

    fill: var(--white-color) !important;

}

.disabled .ticket span[data-link] {

    pointer-events: all;

    margin-top: .5rem;

    color: var(--text-color);

    text-decoration: underline;

    transition: color var(--transition-speed) var(--transition-easing);

}

.disabled .ticket span[data-link]:hover {

    color: var(--text-color-hover);

}

/* -- Z-index management -- */
.highlight-button,
.search-wrapper input[type=search],
.articles-grid .--item,
a,
form,
iframe,
.edition-grid--cell,
.tickets-container {

    position: relative;

    pointer-events: all;

    z-index: 9 !important;

}

.main-menu-trigger {

    pointer-events: all;

}

@media (any-hover: hover) {

    .artists-grid .--artist:hover::before {

        opacity: 1;

    }

    .artists-grid .--artist:hover::after {

        opacity: .3;

    }

    .artists-grid .--artist:hover .--date {

        font-size: 2rem;

    }

    .artists-grid .--artist .--date,
    .artists-grid .--artist h4 {

        transition: color var(--transition-speed) var(--transition-easing), font-size var(--transition-speed) var(--transition-easing);

    }

    .artists-grid .--artist:hover .--date,
    .artists-grid .--artist:hover h4 {

        color: var(--text-color);

    }

    .sponsors-logo a:hover span,
    body > footer .sponsors a:hover span,
    body > footer .sponsors a:hover svg {
    
        transform: scale(1.05);
    
    }

    .highlight-button:hover,
    .circle-button:hover {

        background-color: var(--text-color-hover);

    }

    .artist-lightbox .social-networks .circle-button:hover {

        background-color: white;

    }

    .artist-lightbox .day:hover {

        color: var(--text-color-hover);

    }

    .steps-nav--content:hover {

        color: var(--text-color-hover);

    }

}

@media screen and (max-width: 720px) {

    .main-footer .empty {

        display: none;

    }

    .editable-forms-help-trigger {

        right: 1rem;

    }

    footer > .img-wrapper {

        width: 25% !important;
        top: -25% !important;
        left: 50% !important;

        transform: translateX(-50%) !important;

    }

    .main-footer .sponsors {

        margin-bottom: 4rem;

    }

    .main-footer .sponsors .--main,
    .main-footer .sponsors .--secondary {

        display: flex;
        flex-direction: column;
        align-items: center;

    }

    h1 {

        margin-left: 3rem;

    }

}

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

    .main-footer .footer-container {

        position: relative;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    
    }

    body > footer .main-top-menu {

        align-items: flex-start;

    }

    body > footer .main-top-menu,
    body > footer .staff-links {

        display: flex;
        flex-direction: column;

        margin-top: 4rem;

    }

}



@media screen and (max-width: 992px) {

    .editable-form {

        pointer-events: none !important;

    }

}

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

    .main-footer .footer-container {

        position: relative;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    
    }

}

.link-wrapper {

    display: flex;
    flex-direction: column;
    color: var(--text-color);

}

.link-wrapper svg {
    height: 4px;
    fill: var(--text-color);
}

.link-wrapper.active path {

    stroke-dashoffset: 0;

}

.link-wrapper path {

    stroke-dasharray: 120;
    stroke-dashoffset: 120;
    transition: stroke-dashoffset 0.35s ease;

}

.link-wrapper:not(.active):hover path {

    animation: wavy-in 0.4s ease forwards;

}

@keyframes wavy-in {

    from { stroke-dashoffset: 120; }
    to   { stroke-dashoffset: 0; }

}

.link-wrapper:not(.active):not(:hover) path {

    animation: wavy-out 0.35s ease forwards;

}

@keyframes wavy-out {

    from { stroke-dashoffset: 0; }
    to   { stroke-dashoffset: -120; }

}

input, textarea {

    background-color: var(--white-color);

}

body:not([data-reference-page=home]) > main section > .section-container:before {
    position: absolute;
    content: "";
    width: calc(100% - 8rem);
    height: 1px;
    background-color: var(--text-color);
    top: 0;
    left: 4rem;
}

.circle-button {

    overflow: hidden;

    border: none !important;

    transition:
        transform var(--transition-speed) var(--transition-easing),
        color var(--transition-speed) var(--transition-easing),
        background-color var(--transition-speed) var(--transition-easing);

}

.highlight-button .button-hover,
.circle-button .button-hover {

    position: absolute;

    width: 2rem;
    aspect-ratio: 1 / 1;

    border-radius: 50%;

    left: 0;
    top: 0;

    opacity: 0;

    background-color: var(--white-color);

    transform: translate(-50%, -50%);

    transition:
        width .3s var(--transition-easing),
        opacity .3s var(--transition-easing);

    z-index: 1;

}

.highlight-button.active {

    color: var(--text-color);
    background-color: var(--white-color);

}

@media (any-hover: hover) {

    .highlight-button:hover,
    .circle-button:hover,
    body > footer .social-networks .button:hover {

        color: var(--text-color);

        background-color: transparent;

        transition:
            width .3s var(--transition-easing),
            opacity .3s var(--transition-easing),
            color .3s var(--transition-easing),
            background-color .3s var(--transition-easing) .15s;

    }

    .circle-button:hover .cross::before,
    .circle-button:hover .cross::after {

        background-color: var(--text-color);
        transition: .3s var(--transition-easing);

    }

    .highlight-button:hover .button-hover,
    .circle-button:hover .button-hover,
    body > footer .social-networks .button:hover .button-hover {

        width: 200%;

        opacity: 1;

    }


}

[data-hover-parent]:hover .circle-button {

    background-color: transparent;

}

[data-hover-parent]:hover .button-hover {

    opacity: 1;

}

[data-hover-parent]:hover .--label {

    color: var(--text-color);

}

[data-hover-parent] .button-hover {

    position: absolute;

    top: 50%;
    left: 50%;

    width: 200%;

    opacity: 0;

    transform: translate(-50%, -50%);

    transition: var(--transition-speed) var(--transition-easing);

}

/** Halo */

#global_halo {

    position: fixed;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    will-change: transform, opacity;
    transition: background var(--transition-speed) var(--transition-easing);
    opacity: 1;

    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.28) 0%, transparent 70%);
    pointer-events: none;
    transform: translate(-50%, -50%) scale(1);
    z-index: 9999;

}

#global_halo::after {

    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 1vmax;
    height: 1vmax;

    transition: transform .5s cubic-bezier(.2, .85, 0, 1.1);

    transform: translate(-50%, -50%);

    border-radius: 50%;

    will-change: transform;

    opacity: 0;

    transform-origin: center center;
    will-change: transform, opacity;

    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0) 0%, 
        rgba(255, 255, 255, 0) 53%, 
        var(--text-color) 72%, 
        var(--text-color) 91%, 
        rgb(255 255 255 / 0%) 100%
    );

}

#global_halo.is-magic::after {

    animation: explosion-scale 600ms cubic-bezier(.25, 1.6, .45, .9);

}

.main-footer > .img-wrapper {

    position: absolute;

}

.cookies-manager .buttons-wrapper > button:first-of-type {

    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;

}

.cookies-manager .buttons-wrapper > button:last-of-type {

    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;

}

.cookies-manager .buttons-wrapper {

    justify-content: flex-end;

}

.cookies-manager section > header {

    display: grid;
    grid-template-columns: repeat(2, max-content) auto;
    width: 100%;
    align-items: center;

}

.cookies-manager .--toggle {

    position: relative;

    margin-left: .5rem;
    aspect-ratio: 1 / 1;
    padding: 0;
    width: 1rem;

}

.cookies-manager .--toggle::before {

    background-color: var(--text-color);
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 2px;

}

.cookies-manager .--toggle::after {

    background-color: var(--text-color);
    content: "";
    width: 100%;
    top: 50%;
    position: absolute;
    left: 0;
    transform: translateY(-50%);
    height: 2px;

}

.cookies-manager .accordion.active .--toggle::before {

    display: none;

}

.cookies-manager header > p {

    font-size: 1.1rem;
    font-weight: bold;

}

.--cm-button {

    background-color: var(--text-color);
    color: var(--white-color);

    border: 1px solid var(--text-color);

    font-size: 0.8rem;

}

.--cm-button.active {

    background-color: var(--white-color);
    color: var(--text-color);

    pointer-events: none;

}

.cookies-manager .--cm-button:disabled {
    opacity: .4;
    pointer-events: none;
}

@media screen and (max-width: 720px) {
    
    .cookies-manager header > p {

        grid-column: span 2;

    }

    .cookies-manager .buttons-wrapper {
        justify-content: flex-start;
        grid-column: 1;
    }

    .cookies-manager section > header {

        grid-template-columns: repeat(2, 1fr);
        gap: .5rem;
        align-items: flex-start;

    }

    .cookies-manager header .--toggle {

        justify-self: flex-end;
        margin: 0;

    }

    .main-top-menu .highlight-button {

        font-size: .8rem;
        display: flex;
        align-items: center;

    }

}

footer > .img-wrapper {

    left: 6rem;
    top: 10%;
    width: 30%;

    max-width: 430px;

}

html.cookies-manager-active {

    overflow: hidden;

}

.footer-content a.link {

    text-decoration: underline;

}

._form_10 h3 {

    text-align: center;

}

._form_10 ._form-content > div:nth-child(2) {

    margin-top: 2rem;

}

._form_10 label {

    display: inline-block;

    margin-bottom: .5rem;

}

h4[data-type=long] {

    font-size: 1.8rem !important;

}

@media screen and (max-width: 992px) {
    
    .editable-forms-help-trigger {

        display: none;

    }

    h4[data-type=long] {

        font-size: 1.3rem !important;

    }

}

.coming-soon span {

    text-align: center;

}

.artist-lightbox header .artist-img {

    background-size: contain;

}