
body {
    flex-direction: column;
}

header {
    height: clamp(8.6rem, 14vh, 16.4rem);
    width: 100%;
    display: flex;
    align-items: center;
    background-color: #fff;
    border-bottom: 1px solid #f0f0f0;
    box-shadow: 0 0 .4rem rgba(0,0,0,.34);
    box-sizing: border-box;
    padding-right: min(20vh,18.6rem);
    position: relative;
    z-index: 2;
    
    #logo {
        display: flex;
        align-items: center;
        margin: auto 2.1rem;
        padding-right: 2.1rem;
        border-right: 1px solid #f0f0f0;
        flex-direction: column;
        justify-content: space-around;
        height: 100%;

        a {
            display: flex;
            align-items: center;
            flex-direction: column;
            justify-content: space-around;
            text-decoration: none;
            height: 100%;
        }
        
        img {
            width: 7.1rem;
            height: auto;
            margin: auto;
        }

        span {
            background-color: var(--citycenter-color);
            color: #fff;
            text-transform: uppercase;
            padding: 0.33vw 0.66vw;
            text-align: center;
            font-weight: 700;
            font-size: 1.1rem;
            /* margin-left: 0.66vw; */
            margin: auto;
            margin-top: 0;
        }

    }

    .title_activity {
        margin: auto;
        font-size: clamp(4.2rem,4.5vw,5.7rem);
        text-transform: uppercase;
        text-align: center;
        font-weight: 600;
        /* line-height: 1; */
        color: var(--noir);
        color: var(--bleu-fonce);

        .twice_screen & {
            display: flex;
            align-items: center;
            flex: 1;
            justify-content: space-around;

            & div {
                width: 48%;
                text-align: center;
                line-height: 1;
            }
        }

        .twice_screen.horizontal_screen & {
            justify-content: space-between;
        }

        span {
            font-size: 0.4em;
            display: block;
            font-style: oblique;
            text-transform: lowercase;
        }
    }

    a.btn-fullscreen {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        width: min(6vh,6.4rem); height: min(6vh,6.4rem);
        right: min(4vh,4.8rem); top: min(4vh,4.8rem);

        svg {
            width: 100%;
            height: auto;
            opacity: 0.04;
        }
    }
}


main {
    height: 86vh;
    padding: 3.0vh 2.1vw;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    color: var(--noir);

    .vertical_screen & {
        height: calc(100vh - clamp(8.6rem, 14vh, 17.2rem));
        padding: 3.6vh 2.1vw;
    }

    .twice_screen.horizontal_screen & {
        padding-left: 0;
        padding-right: 0;
        height: calc(100vh - clamp(8.6rem, 14vh, 17.2rem));

        &:before {
            content: '';
            display: block;
            position: absolute;
            width: 2px; height: 100%;
            top: 0;
            left: 50%;
            background-color: var(--gris-strong-hachure);
        }

        & > div {
            width: 50%;
            max-height: 100%;
            flex-wrap: wrap;
        }
    }

    .twice_screen.vertical_screen & {
        flex-direction: row;
        padding: 0;

        .title_activity {
            display: flex;
            align-items: center;
            background-color: #fff;
            border-bottom: 1px solid #f0f0f0;
            box-shadow: 0 0 .4rem rgba(0,0,0,.34);
            margin: auto;
            font-size: clamp(4.2rem,4.5vw,7.4rem);
            text-transform: uppercase;
            font-weight: 600;
            /* line-height: 1; */
            color: var(--noir);
            color: var(--bleu-fonce);
            justify-content: center;
            text-align: center;
            height: 7%;

            span {
                font-size: 0.4em;
                display: block;
                font-style: oblique;
                text-transform: lowercase;
            }
        }

        & > * {
            width: 100%;
        }

        & div[class*="screen"] {
            display: flex;
            flex-direction: column;
            align-items: center;
            box-sizing: border-box;
        }

        &.temps-attente-places-dispo div[class*="screen"] {

            &:first-child {
                height: 33%;
            }

            &:last-child {
                height: 60%;
                flex-wrap: wrap;
                padding: 1.2vh 0;
            }
        }

        &.places-dispo-temps-attente div[class*="screen"] {

            &:first-child {
                height: 60%;
                flex-wrap: wrap;
                padding: 1.2vh 0;
            }

            &:last-child {
                height: 33%;
            }
        }

        &.places-dispo-places-dispo div[class*="screen"] {
            height: 46.5%;
            flex-wrap: wrap;
            padding: .9vh 0;
        }
    }

    &.config-ecran {
        justify-content: center;

        fieldset {
            margin: 1.4rem auto;
            display: flex;
            flex-direction: column;
            border-radius: .8rem;
            box-shadow: 0 .2rem .4rem rgba(0, 0, 0, .42);
            border: 1px solid var(--gris);
            background-color: #fff;

            legend {
                font-size: clamp(1.8rem, 2vw, 2.5rem);
                font-weight: 700;
                padding: 1rem;
            }


            select {
                font-size: 1.9rem;
                padding: .7rem 2rem;
                margin: .5rem 1rem;
            }

            &.select_activities:not(.twice_screen) {
                select + select {
                    display: none;
                }
            }
        }

        a.btn {
            margin: 2.1rem auto;
            border: 1px solid var(--noir);
            color: var(--noir);
            text-transform: uppercase;
            font-weight: 700;
            padding: 1.1rem 1.8rem;
            box-sizing: border-box;
            text-decoration: none;
            border-radius: 0.8rem;
            transition: all 0.2s;
            font-size: clamp(1.8rem, 2vw, 2.5rem);

            &:hover {
                color: white;
                background: var(--noir);
            }
        }
    }

    &.places-dispo {
        font-size: clamp(3.6rem, 3.2vw, 5.2rem);
        font-weight: 600;
    }

    div.places-dispo {
        font-size: clamp(1.8rem, 2vw, 3.2rem);
        font-weight: 600;
    }

    &.temps-attente,
    div.temps-attente {
        justify-content: center;

        .twice_screen.horizontal_screen & {
            display: flex;
            align-items: center;
            height: 100%;
        }

        .header {
            font-size: clamp(5.2rem,6vw,8.6rem);
            font-weight: 600;
            color: var(--bleu-fonce);
            margin-bottom: 3.4vh;

            .twice_screen.horizontal_screen & {
                font-size: clamp(2.6rem,3vw,4.3rem);
            }
        }

        .time-value {
            font-size: clamp(9rem,12vw,16rem);
            font-weight: 700;

            .twice_screen.horizontal_screen & {
                font-size: clamp(4.5rem,6.4vw,11rem);
                padding: 1vw 2vw;
            }

            small {
                color: var(--gris-strong-hachure);
                font-size: .7em;
                font-style: italic;
                font-weight: 500;
                letter-spacing: -.06em;
            }
        }
    }

    &.places-dispo .row,
    div.places-dispo .row,
    &.temps-attente .time-value,
    div.temps-attente .time-value {
        box-shadow: 0 .2rem .4rem rgba(0,0,0,.42);
        border: 1px solid var(--gris);
        border-radius: .8rem;
        overflow: hidden;
        background-color: #fff;
    }

    .twice_screen.horizontal_screen & div.places-dispo {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        align-items: center;
        box-sizing: border-box;
        padding: 0 1.5vw;
        /*padding-top: 0.5vh;
        padding-bottom: 0.5vh;*/
    }

    .row {
        display: flex;
        /*margin-top: 1.4vh;
        margin-bottom: 1.4vh;*/
        margin-top: 2.7vh;
        margin-bottom: 2.7vh;

        .twice_screen.horizontal_screen div.places-dispo & {
            margin-top: 1.7vh;
            margin-bottom: 1.7vh;
            height: 5.1vh;
        }

        .vertical_screen & {
            margin-top: 1.26vh;
            margin-bottom: 1.26vh;
        }

        .twice_screen.horizontal_screen div.places-dispo & {

        }

        div { 
            padding: 1.4rem 1.7rem;
            text-align: center;
            line-height: 0.74;
        }

        .creneau {
            width: 11vw;
            border-right: 1px solid var(--gris);
        }

        .places {
            width: 27vw;
        }

        .twice_screen.horizontal_screen div.places-dispo & {
            .creneau {
                width: 4.5vw;
            }

            .places {
                width: 13.4vw;
            }
        }

        .twice_screen.vertical_screen div.places-dispo & {
            margin-top: 1vh;
            margin-bottom: 1vh;

            font-size: clamp(1.8rem, 3.0vw, 4.0rem);

            .creneau {
                /*width: 6vw;*/
            }

            .places {
                /*width: 13.4vw;*/
            }
        }

        .twice_screen.vertical_screen .places-dispo-places-dispo div.places-dispo & {
             font-size: clamp(1.8rem, 3.4vw, 3.6rem);
        }
    }
}
