@media screen and (max-width: 768px) {

    html {
        font-size: 4.0vw;
    }
   
    :root {

        --typo-xsmall: 0.85rem;
        --line-xsmall: 1.1rem;
    
        --typo-small: 1.0rem;
        --line-small: 1.3rem;
    
        --typo-normal: 1.1rem;
        --line-normal: 1.5rem;

        --typo-medium: 1.4rem;
        --line-medium: 1.7rem;

        --typo-large: 1.8rem;
        --line-large: 1.95rem;

        --typo-title: 2.6rem;
        --line-title: 2.5rem;

        --xlreductor: 50px;
        --lreductor: 30px;
        --reductor: 20px;
        --sreductor: 10px;
        --xsreductor: 5px;

        --padd-short: 5px;
        --padd-global: 10px;
        --correction: 0;

        --global-bottom-margin: 10vw;
        --antimargin: -7vw;
        --short-bottom-margin: 2vw;
        --lateral: 4vw;
    }

    /*********** LOGO ***********/
    .mainlogo {
        padding-top:15px;
    }
    .logosvg, .logo img {
        max-height: 10vh;
    }

    /************* MENU **************/
    a.burger {
        display:block;
        top:10px;
    }

    .main-menu-wrapper {
        position: absolute;
        width: 100%;
        height: 100vh;
        transform: translateY(-100%);
        overflow:scroll;
        z-index: 6;
    }

    ul.main-menu {
        flex-direction: column;
        background: white;
        height: 100%;
        justify-content: flex-start;
        padding: 15vh var(--lateral);
        flex-wrap: nowrap;
    }
    li.menu-item {
        height:auto;
        transform: none;
    }
    li.sub-menu-item:first-child {
        padding-top:0;
    }
    li.sub-menu-item:last-child {
        padding-bottom: .5rem;
    }
    li.mobile_only {
        visibility:visible;
        margin-top:0;
    }
    a.menu-bt {
        display: block;
        font-size: var(--typo-large);
        height:auto;
        line-height:normal;
    }
    a.menu-bt::after {
        display:none;
    }
    li.menu-item:hover a.menu-bt,
    a.menu-bt:hover,
    a.menu-bt.dock_a_sel
    {
        background-size: 0 100%;
    }

    ul.sub-menu
    {
        opacity:0;
        position:relative;
        max-height: 0;
        flex-wrap: nowrap;
        transition:all 1s ease-out 0s;
    }
    ul.sub-menu.mobile_opened {
        max-height:100vh;
        opacity:1;
    }
    li.sub-menu-item a {
        pointer-events: all;
        font-size:var(--typo-medium);
        opacity:1;
    }
    .topbar div.menu-tools {
        position: absolute;
        width: 100%;
        padding: var(--lateral) !important;
        background: white;
        top: 0;
    }
    li.bottom-menu {
        justify-content: flex-start;
        align-items: flex-start;
        text-align: left;
        right: auto;
        visibility:visible;
        opacity: 1;
        margin-top: 4vh;
    }
    li.bottom-menu ul {
        flex-direction: row;
        display: flex;
    }
    li.bottom-menu a {
        font-size: var(--typo-normal);
        margin-right: var(--lateral);
        opacity: .7;
    }
    .actions span {
        width: 20%;
    }
    .actions #action_aboutus a::before,
    .actions #action_ticket a::before,
    .actions #action_shop a::before,
    .actions #action_search a::before
    {
        font-size:1.6rem;
    }
    span.tooltiptext {
        display:none;
    }


    /********* ARIANE *********/
    .ariane {
        display:none;
    }

    .separator.topper {
        display:none;
    }


    /********** HEAD **********/

    .head_title {
        padding-top: 20vh;
    }

    .title_wrapper {
        flex-direction: column;
    }
    .title_pic_wrapper {
        width:100% !important;
        padding-right:0;
        margin-bottom: var(--global-bottom-margin);
    }
    .title_infos {
        width: 100% !important;
        padding:0 0 0 0;
    }
    .title_infos.infos_only .title_block {
        flex-basis: 100%;
    }
    .title_infos.infos_only.has_entete .title_block {
        flex-basis:100%;
    }
    .title_infos h1 {
        padding: 0 0 1rem 0;
    }
    .title_wrapper p,
    .title_infos p.entete
    {
        min-height:auto;
    }
    .title_wrapper p, .title_infos p.entete {
        flex-basis:100%;
    }
    .infos_only p {
        padding-left:0;
    }

    .title_wrapper p:not(.entete) {
        padding-left:0;
        margin-top: 2vh;
    }

    .title_vid_wrapper {
        width: 100%;
        padding-right: 0;
        margin-bottom: 4vh;
    }

    .title_pic_wrapper figcaption.legende {
        display:none;
    }

    /********* BOXES **********/

    .ctext, .cintertitle, .cdoc, .ctable, figure.video, .caudio, .cquote, .cul {
        margin: 0 var(--lateral) var(--global-bottom-margin) var(--lateral);
        padding: 0 0 0 var(--correction);
        position: relative;
    }

    /************ CGALLERY ************/

    .cgallery.looks_one,
    .cgallery.looks_one.extended
    {
        margin-right: var(--lateral);
        margin-left: var(--lateral);
    }

    .cgallery.looks_one .cthumb,
    .cgallery.looks_one.extended .cthumb
    {
        width: 33.33%;
        padding: 0 10px 10px 0;
    }

    .cgallery.looks_two,
    .cgallery.looks_three
    {
        margin-left: var(--lateral);
    }
    .cgallery.looks_six
    {
        padding-left: var(--lateral);
    }

    .looks_two .smallest,
    .looks_two .float_left
    {
        grid-column: span 6 / auto;
    }
    .looks_two .medium,
    .looks_two .large,
    .looks_two .full
    {
        grid-column: span 12 / auto;
    }

    .cgallery.looks_three .medium
    {
        flex-basis: 100%;
    }

    .row {
        padding-left:0;
    }
    .row figure {
        margin: 0 10px var(--global-bottom-margin) 0;
    }
    .row figure img {
        max-height: 100vw;
        max-width: 88vw;
    }

    .cgallery.looks_five figcaption.legende {
        padding-left:var(--lateral);
        padding-right:var(--lateral);
    }

    /*********** FIGURE ***********/
    figure.real_float {
        width: calc(var(--unit-box)* 7 - 40px);
        margin: 0 1.05rem .5rem 0px;
    }

    figure.large,
    figure.full
    {
        width:100%;
    }

    .content_wrapper > .cpic.large figcaption.legende,
    .content_wrapper > .cpic.full figcaption.legende
    {
        padding-left:var(--lateral);
        padding-right:var(--lateral);
    }

    /*********** CBLOCK **********/
    .content_wrapper > .cblock.large {
        margin-left: var(--lateral);
        margin-right: var(--lateral);
    }
    .cblock.small, .cblock.medium, .cblock.large {
        max-width: none;
        grid-column: span 12;
    }
    .cblock_content {
        position:relative;
    }
    .cblock_pad {
        /* margin-bottom: 10vh; */
        margin-right: 0;
    }
    .cblock.looks_three a figure {
        height:fit-content;
        aspect-ratio:5/7;
    }

    .cblock.looks_three.taller figure {
        width: 33.3333%;
    }
    .cblock.looks_three .cblock_content,
    .cblock.looks_three.taller .cblock_content
    {
        width: 66.6666%;
        padding: 1rem 1.5rem 1rem 1rem;
    }
    .cblock.looks_three .cblock_title {
        font:400 var(--typo-normal)/var(--line-normal) 'TypeTwo', sans-serif
    }
    .cblock.looks_three .cblock_text {
        font:300 var(--typo-normal)/var(--line-normal) 'TypeTwo', sans-serif
    }
    .cblock_arrow::before {
        top: 0rem;
        right: 0rem;
    }
    .cblock.looks_five.small,
    .cblock.looks_five.medium,
    .cblock.looks_five.large
    {
        grid-column: span 6;
        max-width: calc(8vw* 6 - 20px);
    }

    /********* CUL **********/
    .cul li {
        padding-left: calc(var(--lateral) + 5px);
    }
    .cul li::before {
        font-size:var(--typo-small);
    }

    /********* CVIDEO *********/
    figure.video,
    .wrapper_video,
    figure.video.extended,
    .wrapper_video.extended,
    figure.video.fullwidth,
    .wrapper_video.fullwidth
    {
        margin-left:var(--lateral);
        margin-right:var(--lateral);
        width:auto;
    }

    /********** CHR ************/
    .chr.default {
        margin-right: 0;
    }

    /********** COL_META ************/
    .col_meta:first-of-type, p.col_meta:first-of-type {
        padding: 10vw var(--lateral) 5vw;
    }
    .meta_dynamic::before {
        font: 300 8vw / 8vw "Material Symbols Outlined";
        top: -10vw;
    }
    .meta-menu {
        width: 100%;
        left: calc(-100%);
    }
    .meta-menu-label {
        margin-top: -8vh;
    }
    .hasLeftMenu .meta-menu-label {
        margin-top: -10vh;
    }
    .meta-menu-label::before {
        width: 2rem;
        height: 2rem;
        line-height: 2rem;
        border-radius: 2rem;
    }
    .meta-menu-closer {
        z-index:11;
        height:50px;
        background:white;
    }
    .meta-menu-close-visible::after {
        left: auto;
        font-size: 3rem;
        line-height: 50px;
        right: 0;
        width: 50px;
    }
    span.meta-top-title {
        padding-right: 15px;
        max-width: 70vw;
    }
    .meta-menu-title {
        font-size:var(--typo-medium);
        line-height:var(--line-medium);
    }
    .meta-menu a {
        font-size:var(--typo-normal);
        line-height:var(--line-normal);
    }
    .meta-menu .lat_sub a {
        font-size:var(--typo-normal);
    }
    .meta-menu-content {
        padding:10vh var(--lateral) 5vh;
    }

    /************* WRAPPERS ***********/
    #view {
        margin-top: 10vh;
    }

    div.flex_mode
    {
        padding-left: var(--lateral);
        padding-right: var(--lateral);
    }
    .page_home {
        margin-top: 0;
    }
    div.flex_mode {
        width:100%;
        padding-top:5vh;
    }

    /************* NEWSER ************/
    .page_newser {
        margin-left:var(--lateral);
        margin-right:var(--lateral);
    }
    .page_newser .page_folder_content {
        grid-template-columns: repeat(12, 1fr);
        margin-left:0;
    }

    /************* CALENDAR *************/
    .title_number{
        flex-direction:row;
        justify-content: space-evenly;
    }

    .cal_navi.next_month,
    .cal_navi.prev_month {
        width:16%;
        margin-left:0;
        margin-right:0;
        min-width: none;
        max-width: none;
        height: 2.3rem;
    }
    a.prev_month,
    a.prev_month::after {
        font-size: 2.3rem;
        line-height: 2.3rem;
    }

    a.next_month,
    a.next_month::after {
        font-size: 2.3rem;
        line-height: 2.3rem;
    }

    .title_number h1 {
        line-height: 3.6rem;
    }

    .item_calendar {
        width: calc(50% - 5px);
        max-width: calc(50% - 5px);
    }

    .item_calendar.item_fake {
        display: none;
    }

    span.date_calendar {
        padding-bottom:.3rem;
    }

    .sugg_calendar a.item_calendar:nth-child(5) {
        display:none;
    }

    /********* FOOTER *********/
    #bottombar {
        column-gap: 0;
    }

    .footer-infos,
    .footer-social,
    .menu-footer
    {
        grid-column: span 12;
        padding: 2rem 0 0;
    }

    .partner_logo {
        width:auto;
        opacity:1;
    }

    /********** FILTERS ***********/
    .list-menu {
        overflow-x: scroll;
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
        padding: 1rem var(--lateral);
        flex-wrap:wrap;
    }
    .list-menu::-webkit-scrollbar {
        display: none;
    }

    .list-menu-right {
        width: 100%;
        justify-content: flex-start;
        padding-top: .5rem;
    }

    a.filter {
        overflow:hidden;
        width:max-content;
        white-space: nowrap;
        max-width: 100%;
        text-overflow: ellipsis;
        display: inline-block;
    }
    a.filter::after {
        display: none;
    }

    /********** LIST *******/
    .list div.list_title {
        padding:20vh var(--lateral) 5vh var(--lateral);
    }
    .list_wrapper.more_news {
        margin-left: calc(var(--lateral)* 2);
        grid-template-columns: repeat(9, 1fr);
    }
    .more_news div {
        grid-column: span 3;
    }
    .more_news div h3 {
        font-size: var(--typo-medium-s);
    }

    /********** HOME_ITEM *******/
    .emperor {
        padding:20vh var(--lateral) 0;
    }
    .emperor a {
        flex-direction: column;
    }
    .emperor figure.h_img {
        width:100%;
    }
    .emperor span.t_infos {
        flex-basis: auto;
        padding-left:0;
    }
    .emperor.fullvideo {
        height: 75vh;
    }
    .emperor.slim video {
        width: 100%;
    }
    .tzar {
        flex-direction:column;
    }
    .tzar figure.h_img, .tzar video.h_vid {
        width:100%;
    }
    .tzar span.t_infos {
        order:1;
        padding:var(--lateral);
    }

    .privilege {
        grid-column: span 12;
        flex-direction: column;
    }

    .privilege figure.h_img, .privilege video.h_vid {
        flex-basis: 100%;
        width: 100%;
    }

    .tradition {
        grid-column: span 12;
    }
    .duc {
        grid-column: span 12;
    }
        /* .tradition:nth-child(odd),
        .duc:nth-child(odd) {
            grid-column-start: 1;
            grid-column-end: 10;
        }
        .tradition:nth-child(even),
        .duc:nth-child(even) {
            grid-column-start: 4;
            grid-column-end: 13;
        } */

    .superduc {
        grid-column: span 12;
    }
    .duc span.h_title {
        font: 600 var(--typo-normal) / var(--line-normal) 'TypeTwo', sans-serif;
    }
    .duc span.h_subtitle {
        font: 300 var(--typo-normal) / var(--line-normal) 'TypeTwo', sans-serif;
    }

    /******** ANCHOR **********/
    .page .anchor_menu {
        height:50px;
    }
    .anchor_menu a {
        font: 400 var(--typo-small) / 40px 'TypeTwo';
        padding: 0 1.2rem 0 0;
        max-width:max-content;
        height: 40px;
    }

    /******** COLS ***********/
    .nogap {
        padding:var(--lateral);
    }
    .nogap > * {
        padding: 2vh;
    }
    .proxima {
        margin-bottom: 0;
    }
    .elem_1, .elem_2, .elem_3, .elem_4, .elem_5, .elem_6, .elem_7, .elem_8, .elem_9  {
        grid-column-end: span 12 !important;
        padding-bottom: 3vh;
    }
    .in_flex_mode {
        grid-template-columns: repeat(12, 1fr) !important;
    }
    .twocol_elem:empty,
    .threecol_elem:empty {
        background: yellow;
        display: none;
        min-height: 20px;
        padding: 0;
        margin: 0;
    }
    .rightpadded {
        padding-left: 0;
    }
    .leftpadded {
        padding-right: 0;
    }
    .expanded_w {
        padding-left:inherit;
        padding-right:inherit;
    }
    .expanded_w:first-child .large figcaption.legende {
        padding-left:0;
    }
    .type_one .twocol_elem:first-child {
        grid-column-start:1;
    }
    .elem_6 .cdoc {
        margin-right: 0 !important;
    }

    /********** CTEXT *********/
    .splitted {
        column-count: 1;
    }
    .ctext.downed {
        margin-bottom: 3vh !important;
    }
    p:not(.pbig) a.arrowed, table a.arrowed {
        width: 100%;
    }

    /********* CCOLLAPS ***********/
    .ccollaps,
    .ccollaps.short
    {
        margin-bottom: var(--global-bottom-margin);
    }
    button.accordion {
        padding:.5rem 2rem .5rem 1rem;
    }
    button.accordion::after {
        right:0;
    }

    /********* FLOW ***********/
    .ccollaps+.ccollaps, .popup_content .ccollaps+.ccollaps {
        margin-top: calc( var(--global-bottom-margin) * -1 ) !important;
    }

    /********* SEARCH *********/
    .search_closed {
        padding-left:var(--lateral);
        padding-right:var(--lateral);
        visibility: hidden;
    }
    .search_opened {
        z-index: 11;
        visibility: visible;
    }
    a.close_search {
        right:0;
        top:0;
        left: auto;
    }
    a#gosearch, a.close_search {
        width:3rem;
        height:3rem;
    }
    input#keyword {
        width: calc(100% - 20vw);
    }

    .strip_box {
        grid-column: span 12;
        margin-left: 0;
        margin-bottom: 1rem;
    }

}

