@font-face {
    font-family: 'Avenir Next Cyr';
    src: url("../font/AvenirNextCyr-Bold-JLk4hUc.eot");
    src: local('Avenir Next Cyr Bold'), local('AvenirNextCyr-Bold'),
    url("../font/AvenirNextCyr-Bold-JLk4hUc.eot") format('embedded-opentype'),
    url("../font/AvenirNextCyr-Bold-z6RcL56.woff2") format('woff2'),
    url("../font/AvenirNextCyr-Bold-hoia0fm.woff") format('woff'),
    url("../font/AvenirNextCyr-Bold-z5mjqd4.ttf") format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next Cyr';
    src: url("../font/AvenirNextCyr-Heavy-zpSfv1U.eot");
    src: local('Avenir Next Cyr Heavy'), local('AvenirNextCyr-Heavy'),
    url("../font/AvenirNextCyr-Heavy-zpSfv1U.eot") format('embedded-opentype'),
    url("../font/AvenirNextCyr-Heavy-ewXGEHs.woff2") format('woff2'),
    url("../font/AvenirNextCyr-Heavy-scKBF0z.woff") format('woff'),
    url("../font/AvenirNextCyr-Heavy-AOj4qks.ttf") format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next Cyr';
    src: url("../font/AvenirNextCyr-Demi-W3OyxQQ.eot");
    src: local('Avenir Next Cyr Demi'), local('AvenirNextCyr-Demi'),
    url("../font/AvenirNextCyr-Demi-W3OyxQQ.eot") format('embedded-opentype'),
    url("../font/AvenirNextCyr-Demi-XQrBogn.woff2") format('woff2'),
    url("../font/AvenirNextCyr-Demi-FKnPv84.woff") format('woff'),
    url("../font/AvenirNextCyr-Demi-q15SC2x.ttf") format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next Cyr';
    src: url("../font/AvenirNextCyr-Regular-o7FlYCv.eot");
    src: local('Avenir Next Cyr Regular'), local('AvenirNextCyr-Regular'),
    url("../font/AvenirNextCyr-Regular-o7FlYCv.eot") format('embedded-opentype'),
    url("../font/AvenirNextCyr-Regular-y0AjbR2.woff2") format('woff2'),
    url("../font/AvenirNextCyr-Regular-c6GK2p9.woff") format('woff'),
    url("../font/AvenirNextCyr-Regular-0NQB7cP.ttf") format('truetype');
    font-weight: normal;
    font-style: normal;
}


:root{
    --blue-normal: #3e40cd;
    --violet-light: #d8b8f2;
    --violet-normal: #caa2eb;
    --yellow-normal: #ffffcc;
    --orange-normal: #ff9e24;
    --red-xlight: #FEF3F5;
}
::selection {
    background: var(--yellow-normal); /* WebKit/Blink Browsers */
    color: var(--blue-normal);
}
::-moz-selection {
    background: var(--yellow-normal); /* Gecko Browsers */
    color: var(--blue-normal);
}

body{
    background-color: var(--blue-normal);
    color: var(--red-xlight);
    min-height: 100vh;
    font-family: "Avenir Next Cyr", sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.4;
    overflow-x: hidden;
}
@media only screen and (max-width: 640px){
    body{
        background-color: var(--blue-normal);
        color: var(--red-xlight);
        min-height: 100vh;
        font-family: "Avenir Next Cyr", sans-serif;
        font-weight: normal;
        font-size: 16px;
        line-height: 1.4;
    }
}

a{
    color:  var(--orange-normal);
}
a:hover{
    color:  var(--orange-normal);
    text-decoration: underline;
}

.bg-light{
    background-color: var(--violet-light);
}
.bg-dark{
    background-color: var(--blue-normal);
}

h1.heading{
    font-weight: 900;
    font-size: 32px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px;
}
h1.heading::before {
    display: inline-block;
    content: " ";
    background-image: url("../img/heading-lV5eLlz.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 45px;
    height: 24px;
}
h1.heading::after {
    display: inline-block;
    content: " ";
    background-image: url("../img/heading-lV5eLlz.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 45px;
    height: 24px;
    transform: scalex(-1);
}
h2.heading{
    font-weight: 900;
    font-size: 16px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px;
}
h4.heading{
    font-weight: 900;
    font-size: 32px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px;
}
h4.heading::before {
    display: inline-block;
    content: " ";
    background-image: url("../img/heading-lV5eLlz.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 45px;
    height: 24px;
}
h4.heading::after {
    display: inline-block;
    content: " ";
    background-image: url("../img/heading-lV5eLlz.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 45px;
    height: 24px;
    transform: scalex(-1);
}

@media only screen and (max-width: 640px){
    h1.heading{
        font-weight: 900;
        font-size: 26px;
        line-height: 1.2;
        text-transform: uppercase;
        color: var(--yellow-normal);
        margin: 5px;
    }
    h1.heading::before {
        display: inline-block;
        content: " ";
        background-image: url("../img/heading-lV5eLlz.svg");
        background-size: contain;
        background-repeat: no-repeat;
        width: 38px;
        height: 18px;
    }
    h1.heading::after {
        display: inline-block;
        content: " ";
        background-image: url("../img/heading-lV5eLlz.svg");
        background-size: contain;
        background-repeat: no-repeat;
        width: 38px;
        height: 18px;
        transform: scalex(-1);
    }
}

h1{
    font-weight: 900;
    font-size: 32px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px 0;
}
h2{
    font-weight: 900;
    font-size: 26px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px 0;
}
h3{
    font-weight: 900;
    font-size: 22px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px 0;
}
h4{
    font-weight: 900;
    font-size: 18px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px 0;
}


.burger-mobile.uk-sticky .uk-container-expand {
    max-width: none;
    display: inline-block;
    float: right;
    position: fixed;
    right: 20px;
    top: -80px;
    padding: 0;
}
.burger-mobile.uk-sticky.uk-sticky-fixed .uk-container-expand {
    top: 0px;
}
.burger-mobile.uk-sticky{
    top: -80px;
}
.burger-mobile .uk-icon-button {
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    border-radius: 500px;
    font-size: 26px;
    color: var(--yellow-normal);
    background-color: var(--orange-normal);
    border: 3px solid var(--yellow-normal);
}
.burger-mobile .uk-icon-button:hover {
    color: var(--orange-normal);
    background-color: var(--yellow-normal);
    border: 3px solid var(--orange-normal);
}

/**** VIDEO -- START ****/


.intro-wrapper{
    width: 100%;
    overflow-x: hidden;
}

.cloud-mask{
    max-height: 95vh;
    width: 100%;
    display: block;
    -webkit-mask-image: url("../img/video-cloud-VX22aa5.svg");
    mask-image: url("../img/video-cloud-VX22aa5.svg");
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center top;
    margin-top: 20px;
    z-index: 1;
}
.masked-video {
    max-height: 95vh;
    width: 100%;
}

@media only screen and (max-width: 960px){
    .cloud-mask{
        max-height: auto;
        width: 120vw;
        display: block;
        -webkit-mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: -10vw;
        margin-top: 80px;
    }
    .masked-video {
        max-height: auto;
        width: 120vw;
    }
}
@media only screen and (max-width: 640px){
    .cloud-mask{
        max-height: auto;
        width: 140vw;
        display: block;
        -webkit-mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: -20vw;
        margin-top: 80px;
    }
    .masked-video {
        max-height: auto;
        width: 140vw;
    }
}

.intro-wrapper .logo img{
    max-width: 260px;
    height: auto;
    position: relative;
    top: -35px;
}

@media only screen and (max-width: 1200px){
    .intro-wrapper .logo img{
        max-width: 230px;
        height: auto;
        position: relative;
        top: -30px;
    }
}
@media only screen and (max-width: 960px){
    .intro-wrapper .logo img{
        max-width: 190px;
        height: auto;
        position: relative;
        top: -20px;
    }
}
@media only screen and (max-width: 640px){
    .intro-wrapper .logo img{
        max-width: 180px;
        height: auto;
        position: relative;
        top: -20px;
    }
}

.intro-wrapper .cloud-date {
    width: 220px;
    height: 220px;
    position: relative;
    right: -420px;
    top: 120px;
    text-align: center;
    color: var(--red-xlight);
    text-transform: uppercase;
    font-weight: 800;
}
.intro-wrapper .cloud-date .number{
    font-weight: 900;
    font-size: 42px;
    padding-top: 12px;
    padding-bottom: 3px;
    line-height:1;
    border-bottom: 1px solid var(--red-xlight);
}
.intro-wrapper .cloud-date .separator {
    font-size: 18px;
    margin: 0 10px;
    position: relative;
    top: -8px;
}
.intro-wrapper .cloud-date .month {
    font-size: 18px;
    padding-top: 4px;
    letter-spacing: 1px;
}
.intro-wrapper .cloud-edition {
    width: 170px;
    height: 170px;
    position: relative;
    top: -50px;
    left: -450px;
    text-align: center;
    color: var(--red-xlight);
    text-transform: uppercase;
    font-weight: 800;
}
.intro-wrapper .cloud-edition .number{
    font-weight: 700;
    font-size: 34px;
    padding-top: 10px;
    line-height:1;
}
.intro-wrapper .cloud-edition .number sup{
    font-size: 20px;
}
.intro-wrapper .cloud-edition .line1 {
    font-size: 18px;
    letter-spacing: 1px;
}
.intro-wrapper .cloud-edition .line2 {
    font-size: 11px;
}

.intro-wrapper a.burger {
    font-size: 28px;
    color: var(--yellow-normal);
}
.intro-wrapper a:hover.burger {
    color: var(--orange-normal);
}

@media only screen and (max-width: 1200px) {
    .intro-wrapper .cloud-edition {
        width: 170px;
        height: 170px;
        position: relative;
        top: 0;
        left: 0;
        text-align: center;
        color: var(--red-xlight);
        text-transform: uppercase;
        font-weight: 800;
    }
    .intro-wrapper .cloud-edition .number{
        font-weight: 700;
        font-size: 34px;
        padding-top: 10px;
        line-height:1;
    }
    .intro-wrapper .cloud-edition .number sup{
        font-size: 20px;
    }
    .intro-wrapper .cloud-edition .line1 {
        font-size: 18px;
        letter-spacing: 1px;
    }
}
@media only screen and (max-width: 960px) {
    .intro-wrapper .cloud-edition {
        width: 140px;
        height: 140px;
        position: relative;
        top: -20px;
        left: 0;
        text-align: center;
        color: var(--red-xlight);
        text-transform: uppercase;
        font-weight: 800;
    }
    .intro-wrapper .cloud-edition .number{
        font-weight: 700;
        font-size: 28px;
        padding-top: 10px;
        line-height:1;
    }
    .intro-wrapper .cloud-edition .number sup{
        font-size: 17px;
    }
    .intro-wrapper .cloud-edition .line1 {
        font-size: 16px;
        letter-spacing: 1px;
    }
}

@media only screen and (max-width: 640px) {
    .intro-wrapper .cloud-edition {
        width: 120px;
        height: 120px;
        position: relative;
        top: 0;
        left: 0;
        text-align: center;
        color: var(--red-xlight);
        text-transform: uppercase;
        font-weight: 800;
    }
    .intro-wrapper .cloud-edition .number{
        font-weight: 700;
        font-size: 24px;
        padding-top: 10px;
        line-height:1;
    }
    .intro-wrapper .cloud-edition .number sup{
        font-size: 15px;
    }
    .intro-wrapper .cloud-edition .line1 {
        font-size: 14px;
        letter-spacing: 1px;
    }
}

@media only screen and (max-width: 1200px) {
    .mob-infos {
        display: inline-block;
        margin-top: 20px;
        font-weight: 900;
        font-size: 32px;
        text-transform: uppercase;
        color: var(--red-xlight);
    }
    .mob-infos .separator {
        margin: 0 8px;
        color: var(--violet-light);
        font-size: 20px;
        position: relative;
        top: -4px;
    }
}
@media only screen and (max-width: 640px) {
    .mob-infos {
        display: inline-block;
        margin-top: 20px;
        font-weight: 900;
        font-size: 32px;
        text-transform: uppercase;
        color: var(--red-xlight);
        border-bottom: 0px solid var(--red-xlight);
    }
}

/**** VIDEO -- END ****/

/**** HEADER -- START ****/

.production{
    font-size: 14px;
    line-height: 1.2;
    color: var(--red-xlight);
    text-transform: uppercase;
}
.production span{
    font-weight: 800;
    /*border-bottom: 1px solid var(--red-xlight);*/
}

.bridge{
    overflow: hidden;
    margin-top: 20px;
    background-color: var(--blue-normal);
}
.bridge img{
    min-width: 110vw;
    height: auto;
}

.edition-desk span{
    color: var(--violet-normal);
    font-weight: 900;
    text-transform: uppercase;
    font-size:20px;
}

.edition-mob{
    color: var(--violet-normal);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 16px;
    padding: 10px;
    margin-right: 20px;
}

/**** HEADER -- END ****/


/**** MODAL MENU -- START ****/

#modal-menu .uk-modal-dialog{
    background-color: var(--red-xlight);
}
#modal-menu .bloc-left{
    background-color: var(--blue-normal);
}
#modal-menu .bloc-right{
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}
#modal-menu .bloc-right .content{
    max-height: 100vh;
    overflow-y: auto;
    width: 100%;
}
#modal-menu .uk-nav-default>li>a {
    color: var(--blue-normal);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 32px;
}
#modal-menu .uk-nav-default>li>a:hover {
    color: var(--orange-normal);
}
#modal-menu .uk-nav-default>li>a.no-link {
    color: var(--blue-normal);
    cursor: default;
}
#modal-menu .uk-nav-default>li>a:hover.no-link {
    color: var(--blue-normal);
    cursor: default;
}

#modal-menu .uk-nav-default .uk-nav-sub a {
    color: var(--blue-normal);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 24px;
}
#modal-menu .uk-nav-default .uk-nav-sub a:hover {
    color: var(--orange-normal);
}
#modal-menu .social{
    font-size: 24px;
}
#modal-menu .social a.uk-icon-button {
    width: 44px;
    height: 44px;
    border-radius: 500px;
    background: var(--red-xlight);
    color: var(--blue-normal);
}
#modal-menu .social a:hover.uk-icon-button {
    background: var(--blue-normal);
    color: var(--yellow-normal);
    text-decoration: none;
}
#modal-menu .uk-close svg{
    display: none;
}
#modal-menu .uk-modal-close-full {
    top: 0;
    right: 0;
    padding: 10px;
    background: transparent;
    color: var(--violet-normal);
    font-size: 32px;
    padding: 20px;
}
#modal-menu .uk-modal-close-full:hover {
    color: var(--blue-normal);
}
#modal-menu .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 3px solid var(--yellow-normal);
    border-radius: 40px;
    font-weight: 900;
    font-size: 14px;
    padding: 0 20px;
    line-height: 32px;
}
#modal-menu .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 3px solid var(--orange-normal);
}

/**** MODAL MENU -- END ****/

/**** MAIN MENU -- END ****/

.main-menu{
    background-image: url("../img/cloud-mDIt5Hp.svg");
    background-position: center -400px;
    background-repeat: no-repeat;
    background-size: 1000px auto;
}
.main-menu .uk-navbar{
    height: 180px;
}
.main-menu .uk-navbar-item, .main-menu .uk-navbar-nav>li>a, .main-menu .uk-navbar-toggle {
    min-height: 80px;
}
.main-menu img{
    width: 160px;
    height: 160px;
}

.main-menu .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 3px solid var(--yellow-normal);
    border-radius: 40px;
    font-weight: 900;
    font-size: 18px;
    padding: 0 20px;
    line-height: 32px;
}
.main-menu .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 3px solid var(--orange-normal);
}

@media only screen and (max-width: 960px){
    .main-menu .uk-button-default {
        background-color: var(--orange-normal);
        color: var(--yellow-normal);
        border: 3px solid var(--yellow-normal);
        border-radius: 40px;
        font-weight: 900;
        font-size: 14px;
        padding: 0 20px;
        line-height: 28px;
    }
}

.main-menu a.burger {
    font-size: 28px;
    color: var(--yellow-normal);
}
.main-menu a:hover.burger {
    color: var(--orange-normal);
}

@media only screen and (max-width: 640px){
    .main-menu{
        background-image: url("../img/cloud-mDIt5Hp.svg");
        background-position: center -385px;
        background-repeat: no-repeat;
        background-size: 1000px auto;
    }
    .main-menu a.burger {
        font-size: 28px;
        color: var(--yellow-normal);
        margin-right:10px;
    }
}

/**** MAIN MENU -- END ****/

/**** PROGRAMMATION -- START ****/

.prog-grid .uk-subnav>* {
    flex: none;
    padding-left: 10px;
    position: relative;
}
.prog-grid .uk-subnav>*>:first-child {
    display: flex;
    align-items: center;
    column-gap: .25em;
    color: var(--red-xlight);
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    border-radius: 50px;
    padding: 5px 15px;
}
.prog-grid .uk-subnav-pill>*>:first-child {
    padding: 5px 15px;
    background-color: var(--violet-normal);
}
.prog-grid .uk-subnav-pill>*>:first-child:hover {
    background-color: var(--orange-normal);
    color: var(--red-xlight);
}
.prog-grid .uk-subnav-pill>.uk-active>a {
    background-color: var(--orange-normal);
    color: var(--red-xlight);
}
.prog-grid a img{
    border: 6px solid var(--violet-light);
}
.prog-grid a:hover img{
    border: 6px solid var(--yellow-normal);
}
/*
.prog-grid .js-filter li:nth-child(even){
    position: relative;
    top: 30px;
}
@media only screen and (max-width: 1200px){
    .prog-grid .js-filter li:nth-child(even){
        position: relative;
        top: 0;
    }
}
*/
.prog-grid a p.name {
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 16px;
    color: var(--red-xlight);
    margin: 20px 0 0 0;
}
.prog-grid a p.date {
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 12px;
    color: var(--red-xlight);
    margin: 0 0 20px 0;
}
.prog-grid a:hover{
    text-decoration: none;
}
.prog-grid a:hover p{
    text-decoration: none;
    color: var(--yellow-normal);
}
.prog-grid .uk-label{
    color: var(--blue-normal);
    background-color: var(--yellow-normal);
    font-weight: 900;
    font-size: 13px;
    rotate: -4deg;
    width: 38px;
    height: 38px;
    border-radius: 20px;
    padding: 10px 6px;
    top: 10px;
    left: 85%;
}
.prog-grid .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 3px solid var(--yellow-normal);
    border-radius: 40px;
    font-weight: 900;
    font-size: 14px;
    padding: 0 20px;
    line-height: 32px;
}
.prog-grid .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 3px solid var(--orange-normal);
}

@media only screen and (max-width: 640px){
    .prog-grid .uk-subnav>*>:first-child {
        display: flex;
        align-items: center;
        column-gap: .25em;
        color: var(--red-xlight);
        font-size: 14px;
        line-height: 1.6;
        font-weight: 700;
        border-radius: 50px;
        padding: 5px 15px;
        margin: 0 0 15px;
    }
}
@media only screen and (max-width: 420px){
    .prog-grid .uk-label{
        color: var(--blue-normal);
        background-color: var(--yellow-normal);
        font-weight: 900;
        font-size: 13px;
        rotate: -4deg;
        width: 38px;
        height: 38px;
        border-radius: 20px;
        padding: 10px 6px;
        top: 10px;
        left: 85%;
    }
}
/**** PROGRAMMATION -- END ****/

/**** FICHE -- START ****/

.fiche .cloud-mask {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* pour couper ce qui dépasse */
    max-height: 400px;
    width: 100%;
    -webkit-mask-image: url("../img/video-cloud-VX22aa5.svg");
    mask-image: url("../img/video-cloud-VX22aa5.svg");
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: top;
    margin-top: 0;
    z-index: 1;
}

.fiche .masked-img {
    width: 100%;
    height: 100%;
    object-fit: cover;     /* couvre tout le masque */
    object-position: center; /* centre vertical + horizontal */
}

@media only screen and (max-width: 1200px){
    .fiche .cloud-mask {
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden; /* pour couper ce qui dépasse */
        max-height: 300px;
        width: 100%;
        -webkit-mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: top;
        margin-top: 0;
        z-index: 1;
    }
    .fiche .masked-img {
        width: auto;
        height: auto;
        object-fit: cover;     /* couvre tout le masque */
        object-position: center; /* centre vertical + horizontal */
    }
}
@media only screen and (max-width: 640px){
    .fiche .cloud-mask {
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden; /* pour couper ce qui dépasse */
        max-height: 250px;
        width: 100%;
        -webkit-mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: top;
        margin-top: 0;
        z-index: 1;
    }
    .fiche .masked-img {
        width: auto;
        height: auto;
        object-fit: cover;     /* couvre tout le masque */
        object-position: center; /* centre vertical + horizontal */
    }
}
@media only screen and (max-width: 420px){
    .fiche .cloud-mask {
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden; /* pour couper ce qui dépasse */
        max-height: 200px;
        width: 100%;
        -webkit-mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-image: url("../img/video-cloud-VX22aa5.svg");
        mask-repeat: no-repeat;
        mask-size: contain;
        mask-position: top;
        margin-top: 0;
        z-index: 1;
    }
    .fiche .masked-img {
        width: auto;
        height: auto;
        object-fit: cover;     /* couvre tout le masque */
        object-position: center; /* centre vertical + horizontal */
    }
}
.fiche h1{
    font-weight: 900;
    font-size: 32px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px 0;
}

.fiche .sous-titre{
    font-weight: 900;
    font-size: 18px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px 0;
}
.fiche .date{
    font-weight: 900;
    font-size: 18px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--yellow-normal);
    margin: 5px 0;
}
.fiche .lieu{
    font-weight: 900;
    font-size: 18px;
    line-height: 1.2;
    text-transform: capitalize;
    color: var(--yellow-normal);
    margin: 5px 0;
}

.fiche .separator{
    color: var(--violet-light);
    font-weight: normal;
    margin: 0 5px;
}
.fiche .desc a{
    color: var(--yellow-normal);
}
.fiche .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 3px solid var(--yellow-normal);
    border-radius: 40px;
    font-weight: 900;
    font-size: 18px;
    padding: 0 20px;
    line-height: 32px;
}
.fiche .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 3px solid var(--orange-normal);
}

/**** FICHE -- END ****/

/**** FAQ -- START ****/

.faq h2{
    display: inline-block;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 18px;
    margin: 0 auto;
    background-color: var(--violet-normal);
    color:var(--red-xlight);
    padding: 5px 20px;
    border-radius: 50px;
}

.faq li {
    border: 2px solid var(--yellow-normal);
    border-radius: 10px;
    padding: 15px;
}
.faq li.uk-open {
    background-color: var(--yellow-normal);
}
.faq .uk-accordion-title {
    display: block;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 18px;
    color: var(--yellow-normal);
    overflow: hidden;
}
.faq li.uk-open .uk-accordion-title {
    color: var(--blue-normal);
}
.faq .uk-accordion-title::before {
    content: "";
    width: 26px;
    height: 26px;
    margin-left: 10px;
    float: right;
    background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22Calque_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22640%22%20height%3D%22640%22%20version%3D%221.1%22%20viewBox%3D%220%200%20640%20640%22%3E%3C!--%20Generator%3A%20Adobe%20Illustrator%2029.2.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%202.1.0%20Build%20108)%20%20--%3E%3Cdefs%3E%3Cstyle%3E%20%20%20%20%20%20.st0%20%7B%20%20%20%20%20%20%20%20fill%3A%20%23ffc%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M64%2C320c0%2C141.4%2C114.6%2C256%2C256%2C256s256-114.6%2C256-256S461.4%2C64%2C320%2C64%2C64%2C178.6%2C64%2C320ZM305%2C441c-9.4%2C9.4-24.6%2C9.4-33.9%2C0-9.3-9.4-9.4-24.6%2C0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6%2C0-33.9s24.6-9.4%2C33.9%2C0l104%2C103.8c9.4%2C9.4%2C9.4%2C24.6%2C0%2C33.9l-104%2C104.1Z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.faq .uk-open>.uk-accordion-title::before {
    background-image: url("data:image/svg+xml,%3Csvg%20id%3D%22Calque_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22640%22%20height%3D%22640%22%20version%3D%221.1%22%20viewBox%3D%220%200%20640%20640%22%3E%3C!--%20Generator%3A%20Adobe%20Illustrator%2029.2.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%202.1.0%20Build%20108)%20%20--%3E%3Cdefs%3E%3Cstyle%3E%20%20%20%20%20%20.st0%20%7B%20%20%20%20%20%20%20%20fill%3A%20%233e40cd%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M320%2C64c-141.4%2C0-256%2C114.6-256%2C256s114.6%2C256%2C256%2C256%2C256-114.6%2C256-256S461.4%2C64%2C320%2C64ZM199%2C305c-9.4-9.4-9.4-24.6%2C0-33.9%2C9.4-9.3%2C24.6-9.4%2C33.9%2C0l87%2C87%2C87-87c9.4-9.4%2C24.6-9.4%2C33.9%2C0%2C9.3%2C9.4%2C9.4%2C24.6%2C0%2C33.9l-103.8%2C104c-9.4%2C9.4-24.6%2C9.4-33.9%2C0l-104.1-104Z%22%2F%3E%3C%2Fsvg%3E");
}
.faq .uk-accordion-title:hover::before {
    background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22Calque_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22640%22%20height%3D%22640%22%20version%3D%221.1%22%20viewBox%3D%220%200%20640%20640%22%3E%3C!--%20Generator%3A%20Adobe%20Illustrator%2029.2.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%202.1.0%20Build%20108)%20%20--%3E%3Cdefs%3E%3Cstyle%3E%20%20%20%20%20%20.st0%20%7B%20%20%20%20%20%20%20%20fill%3A%20%23d8b8f2%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M64%2C320c0%2C141.4%2C114.6%2C256%2C256%2C256s256-114.6%2C256-256S461.4%2C64%2C320%2C64%2C64%2C178.6%2C64%2C320ZM305%2C441c-9.4%2C9.4-24.6%2C9.4-33.9%2C0-9.3-9.4-9.4-24.6%2C0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6%2C0-33.9s24.6-9.4%2C33.9%2C0l104%2C103.8c9.4%2C9.4%2C9.4%2C24.6%2C0%2C33.9l-104%2C104.1Z%22%2F%3E%3C%2Fsvg%3E");
}
.faq li.uk-open .uk-accordion-title:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg%20id%3D%22Calque_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22640%22%20height%3D%22640%22%20version%3D%221.1%22%20viewBox%3D%220%200%20640%20640%22%3E%3C!--%20Generator%3A%20Adobe%20Illustrator%2029.2.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%202.1.0%20Build%20108)%20%20--%3E%3Cdefs%3E%3Cstyle%3E%20%20%20%20%20%20.st0%20%7B%20%20%20%20%20%20%20%20fill%3A%20%23d8b8f2%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M320%2C64c-141.4%2C0-256%2C114.6-256%2C256s114.6%2C256%2C256%2C256%2C256-114.6%2C256-256S461.4%2C64%2C320%2C64ZM199%2C305c-9.4-9.4-9.4-24.6%2C0-33.9%2C9.4-9.3%2C24.6-9.4%2C33.9%2C0l87%2C87%2C87-87c9.4-9.4%2C24.6-9.4%2C33.9%2C0%2C9.3%2C9.4%2C9.4%2C24.6%2C0%2C33.9l-103.8%2C104c-9.4%2C9.4-24.6%2C9.4-33.9%2C0l-104.1-104Z%22%2F%3E%3C%2Fsvg%3E");
}
.faq li.uk-open .uk-accordion-content{
    color: var(--blue-normal);
}
.faq li.uk-open .uk-accordion-content a{
    color: var(--orange-normal);
    text-decoration: none;
}
.faq li.uk-open .uk-accordion-content a:hover{
    text-decoration: underline;
}

@media only screen and (max-width: 640px){
    .faq h2{
        display: inline-block;
        font-weight: 900;
        text-transform: uppercase;
        line-height: 1.4;
        font-size: 16px;
        margin: 0 auto;
        background-color: var(--violet-normal);
        color:var(--red-xlight);
        padding: 5px 20px;
        border-radius: 50px;
    }
    .faq .uk-accordion-title {
        display: block;
        font-weight: 900;
        text-transform: uppercase;
        line-height: 1.6;
        font-size: 16px;
        color: var(--yellow-normal);
        overflow: hidden;
    }
    .faq li {
        border: 2px solid var(--yellow-normal);
        border-radius: 10px;
        padding: 15px 10px;
    }
}

/**** FAQ -- END ****/

/**** CONTACTS -- END ****/

.contacts .uk-tab>*>a {
    display: flex;
    align-items: center;
    column-gap: .25em;
    justify-content: center;
    padding: 5px 10px;
    color: var(--violet-light);
    border-bottom: 2px solid transparent;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 18px;
}
.contacts .uk-tab>*>a:hover {
    color: var(--yellow-normal);
}

.contacts .uk-tab>.uk-active>a {
    color: var(--yellow-normal);
    border-color: var(--yellow-normal);
}

.contacts .uk-tab::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 0;
    border-bottom: 1px solid var(--violet-light);
}

.contacts .uk-input:focus, .contacts .uk-select:focus, .contacts .uk-textarea:focus {
    outline: 0;
    background-color: #fff;
    color: #666;
    border-color: var(--orange-normal);
}

.contacts .form .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 1px solid var(--orange-normal);
    font-weight: bold;
    border-radius: 50px;
}

.contacts .form .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 1px solid var(--yellow-normal);
}


.contacts .press a {
    color: var(--yellow-normal);
}
.contacts .press a:hover {
    color: var(--orange-normal);
    text-decoration: none;
}
.contacts .press a.crypted:after {
    content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
}

.contacts .press .uk-button {
    text-transform: uppercase;
    border-radius: 20px;
    display: block;
    box-sizing: border-box;
    padding: 10px 20px;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 900;
    margin: 20px auto;
}
.contacts .press .uk-button-default {
    background-color: transparent;
    color: var(--yellow-normal);
    border: 1px solid var(--yellow-normal);
}
.contacts .press .uk-button-default:hover {
    background-color: transparent;
    color: var(--orange-normal);
    border: 1px solid var(--orange-normal);
    text-decoration: none;
}


/**** CONTACTS -- END ****/


/**** HISTOIRE -- START ****/


.histoire .uk-overlay{
    padding: 10px 10px 10px 15px;
    font-size: 12px;
    font-weight: 400;
}
.histoire .uk-slideshow-items {
    border-radius: 20px;
}

.video-slider .uk-container {
    overflow-x: hidden;
}
.video-slider {
    font-size: 14px;
    line-height: 1.2;
    color: var(--red-xlight);
    overflow-x: hidden;
}
.video-slider a{
    font-size: 14px;
    text-transform: uppercase;
    color: var(--red-xlight);
    text-decoration: none;
}
.video-slider .uk-overlay-primary{
    color: var(--red-xlight);
    background: rgba(11, 15, 38, .7);
}
.video-slider .play {
    font-size: 56px;
}
.video-slider svg {
    display: none;
}
.video-slider .uk-slidenav {
    font-size: 24px;
    margin-top: 0;
    color: var(--yellow-normal);
}
.video-slider .uk-slidenav:hover {
    color: var(--violet-light);
}

@media only screen and (max-width: 640px) {
    .video-slider .uk-container {
        padding: 0;
        margin-right: -30px;
        overflow-x: hidden;
    }
    .video-slider .uk-grid {
        margin-left: 0px;
    }
}

/**** HISTOIRE -- END ****/


.partenaires h2{
    font-size: 18px;
    color: var(--violet-light);
}
.partenaires .uk-heading-line>::after, .partenaires .uk-heading-line>::before {
    border-bottom: calc(.2px + .05em) solid var(--violet-light);
}

/**** COUNTDOWN -- START ****/

.countdown h1{
    margin-top: 40px;
    color: var(--violet-normal);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 18px;
}
.countdown .uk-countdown-number {
    font-weight: 900;
    color: var(--yellow-normal);
}
.countdown .uk-countdown-label {
    color: var(--violet-normal);
}
.countdown .uk-countdown-separator {
    color: var(--red-xlight);
}

@media only screen and (max-width: 640px){
    .countdown .uk-countdown-label {
        font-size: 10px;
    }
    .countdown .uk-grid-column-small>*, .countdown .uk-grid-small>* {
        padding-left: 10px;
    }
    .countdown h1{
        color: var(--violet-normal);
        font-weight: 900;
        text-transform: uppercase;
        line-height: 1.4;
        font-size: 16px;
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

/**** COUNTDOWN -- END ****/

/**** CONTENT -- START ****/

.content{
}

.programmation{
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 24px;
}
.programmation span{
    display: inline-block;
}
.programmation .big{
    font-size:36px;
    line-height: 1.2;
}
.programmation .big sup{
    font-size:21px;
    line-height: 1.2;
}
.programmation .separator{
    color: var(--violet-light);
    font-weight: normal;
}
.programmation .etc{
    margin-left: 20px;
}

.billetterie .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 3px solid var(--yellow-normal);
    border-radius: 40px;
    font-weight: 900;
    font-size: 24px;
}
.billetterie .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 3px solid var(--orange-normal);
}

.billetterie-top .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 3px solid var(--yellow-normal);
    border-radius: 40px;
    font-weight: 900;
    font-size: 18px;
    padding: 0 20px;
    line-height: 32px;
}
.billetterie-top .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 3px solid var(--orange-normal);
}

@media only screen and (max-width: 960px){
    .billetterie-top .uk-button-default {
        background-color: var(--orange-normal);
        color: var(--yellow-normal);
        border: 3px solid var(--yellow-normal);
        border-radius: 40px;
        font-weight: 900;
        font-size: 14px;
        padding: 0 20px;
        line-height: 28px;
    }
}
@media only screen and (max-width: 640px){
    .billetterie-top .uk-button-default {
        background-color: var(--orange-normal);
        color: var(--yellow-normal);
        border: 3px solid var(--yellow-normal);
        border-radius: 40px;
        font-weight: 900;
        font-size: 16px;
        padding: 0 20px;
        line-height: 32px;
    }
}


.focus a img{
    border: 6px solid var(--violet-light);
    /*filter: drop-shadow(5px 10px 0px var(--blue-normal));*/
}
.focus a:hover img{
    border: 6px solid var(--yellow-normal);
    /*filter: drop-shadow(5px 10px 0px var(--yellow-normal));*/
}
.focus .artiste:nth-child(even){
    position: relative;
    top: 30px;
}
.focus a p.name {
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 16px;
    color: var(--red-xlight);
    margin: 20px 0 0 0;
}
.focus a p.date {
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 12px;
    color: var(--red-xlight);
    margin: 0 0 20px 0;
}

.bt-prog .uk-button-default {
    background-color: var(--violet-normal);
    color: var(--blue-normal);
    border: 0px solid var(--red-xlight);
    border-radius: 40px;
    font-weight: 700;
    font-size: 16px;
    padding: 0 30px;
    line-height: 40px;
}
.bt-prog .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--blue-normal);
    border: 0px solid var(--red-xlight);
}

@media only screen and (max-width: 1200px){
    .focus .artiste:nth-child(even){
        position: relative;
        top: 0;
    }
}

.focus a p{
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.4;
    font-size: 16px;
    color: var(--red-xlight);
}
.focus a:hover{
    text-decoration: none;
}
.focus a:hover p{
    text-decoration: none;
    color: var(--yellow-normal);
}

@media only screen and (max-width: 960px){
    .programmation{
        font-weight: bold;
        text-transform: uppercase;
        line-height: 1.4;
        font-size: 20px;
    }
    .programmation .big{
        font-size:32px;
        line-height: 1.2;
    }
    .programmation .big span{
        display: block;
    }
    .programmation .big span.separator{
        display: none;
    }
}
@media only screen and (max-width: 640px){
    .programmation{
        font-weight: bold;
        text-transform: uppercase;
        line-height: 1.4;
        font-size: 20px;
        position: relative;
        top:-50px;
    }
    .programmation .big{
        font-size:32px;
        line-height: 1.2;
    }
    .programmation .big span{
        line-height: 1;
        margin: 8px 0;
    }
    .programmation span{
        display: block;
    }
    .programmation span.separator{
        display: none;
    }
    .programmation .etc{
        margin-left: 0px;
    }
    .bt-prog .uk-button-default {
        background-color: var(--violet-normal);
        color: var(--blue-normal);
        border: 0px solid var(--red-xlight);
        border-radius: 40px;
        font-weight: 700;
        font-size: 14px;
        padding: 0 30px;
        line-height: 40px;
    }
    .bt-prog .uk-button-default:hover {
        background-color: var(--yellow-normal);
        color: var(--blue-normal);
        border: 0px solid var(--red-xlight);
    }
}

/**** CONTENT -- END ****/


/**** FOOTER -- START ****/


.footer-top{
    color: var(--red-xlight);
    font-size: 14px;
    margin-top: -300px;
    position: relative;
}
@media only screen and (max-width: 1200px){
    .footer-top{
        color: var(--red-xlight);
        font-size: 14px;
        margin-top: -200px;
        position: relative;
    }
}
@media only screen and (max-width: 960px){
    .footer-top{
        color: var(--red-xlight);
        font-size: 14px;
        margin-top: -100px;
        position: relative;
    }
}
@media only screen and (max-width: 640px){
    .footer-top{
        color: var(--red-xlight);
        font-size: 14px;
        margin-top: 0;
        position: inherit;
    }
}
.footer-top .newsletter{
    margin: 0 auto;
}

.footer-top h3 {
    color: var(--red-xlight);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 20px;
}

.footer-top .uk-button-default {
    background-color: var(--orange-normal);
    color: var(--yellow-normal);
    border: 1px solid var(--orange-normal);
    font-weight: bold;
    border-radius: 50px;
    margin-top: 10px;
}
.footer-top .uk-button-default:hover {
    background-color: var(--yellow-normal);
    color: var(--orange-normal);
    border: 1px solid var(--yellow-normal);
}

.footer{
    color: var(--red-xlight);
    font-size: 14px;
    position: relative;
}
@media only screen and (max-width: 960px){
    .footer{
        color: var(--red-xlight);
        font-size: 14px;
        position: relative;
    }
}
@media only screen and (max-width: 640px){
    .footer{
        color: var(--red-xlight);
        font-size: 14px;
        position: inherit;
    }
}

.footer .uk-grid-small>* {
    padding-left: 10px;
}
.footer .navlink a{
    color: var(--yellow-normal);
    font-weight: 400;
    text-transform: capitalize;
    font-size: 14px;
}
.footer .navlink div>div::after {
    content: "｜";
    text-decoration: none;
    margin-left: 10px;
}
.footer .navlink div>div:last-child::after {
    display: none;
}
@media only screen and (max-width: 960px){
    .footer .navlink div>div::after {
        display: none;
    }
}

.footer .social{
    font-size: 34px;
    margin-bottom: 40px;

}
.footer .social a.uk-icon-button {
    width: 56px;
    height: 56px;
    border-radius: 500px;
    background: var(--blue-normal);
    color: var(--yellow-normal);
}
.footer .social a:hover.uk-icon-button {
    background: var(--yellow-normal);
    color: var(--blue-normal);
    text-decoration: none;
}

.footer .production{
    text-transform: none;
}
.footer .production a{
    color: var(--yellow-normal);
}
.footer .credit a{
    color: var(--yellow-normal);
}

/**** FOOTER -- END ****/

/**** MODAL -- START ****/

#modal-contact {
    color:#666;
}
.uk-modal-title {
    color: var(--orange-normal);
    text-transform: uppercase;
    font-size: 24px;
    line-height: 1.2;
    font-weight: bold;
}
#modal-contact a {
    color: var(--blue-normal);
}
#modal-contact a:hover {
    color: var(--orange-normal);
}

#modal-contact .uk-button {
    text-transform: uppercase;
    border-radius: 20px;
    display: inline-block;
    box-sizing: border-box;
    padding: 10px 20px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: bold;
}
#modal-contact .uk-button-default {
    background-color: transparent;
    color: var(--blue-normal);
    border: 1px solid var(--blue-normal);
}
#modal-contact .uk-button-default:hover {
    background-color: transparent;
    color: var(--orange-normal);
    border: 1px solid var(--orange-normal);
}

#modal-contact a.crypted:after {
    content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
}




#modal-newsletter .uk-modal-body {
    padding: 0;
}

/**** MODAL -- END ****/