
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;
}
    
header #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%;
}


header #logo a {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-around;
    text-decoration: none;
    height: 100%;
}

header #logo img {
    width: 7.1rem;
    height: auto;
    margin: auto;
}

header #logo 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;
}

header .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 header .title_activity {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: space-around;
}

.twice_screen header .title_activity div {
    width: 48%;
    text-align: center;
    line-height: 1;

}

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

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

header 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);
}

header a.btn-fullscreen 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 main {
    height: calc(100vh - clamp(8.6rem, 14vh, 17.2rem));
    padding: 3.6vh 2.1vw;
}

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

.twice_screen.horizontal_screen main > div {
    width: 50%;
    max-height: 100%;
    flex-wrap: wrap;
}

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

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

.twice_screen.vertical_screen main > * {
    width: 100%;
}

.twice_screen.vertical_screen main .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%;
}

.twice_screen.vertical_screen main .title_activity span {
    font-size: 0.4em;
    display: block;
    font-style: oblique;
    text-transform: lowercase;
}

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

.twice_screen.vertical_screen main.temps-attente-places-dispo div[class*="screen"]:first-child {
    height: 33%;
}

.twice_screen.vertical_screen main.temps-attente-places-dispo div[class*="screen"]:last-child {
    height: 60%;
    flex-wrap: wrap;
    padding: 1.2vh 0;
}

.twice_screen.vertical_screen main.places-dispo-temps-attente div[class*="screen"]:first-child {
    height: 60%;
    flex-wrap: wrap;
    padding: 1.2vh 0;
}

.twice_screen.vertical_screen main.places-dispo-temps-attente div[class*="screen"]:last-child {
    height: 33%;
}

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


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


    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);
        }
    }
}
main.config-ecran 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;
}
main.config-ecran fieldset legend {
    font-size: clamp(1.8rem, 2vw, 2.5rem);
    font-weight: 700;
    padding: 1rem;
}


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

main.config-ecran fieldset.select_activities:not(.twice_screen) select + select {
    display: none;
}


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

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

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

.twice_screen.horizontal_screen main.temps-attente,
.twice_screen.horizontal_screen main div.temps-attente {
    display: flex;
    align-items: center;
    height: 100%;
}

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

.twice_screen.horizontal_screen main.temps-attente .header,
.twice_screen.horizontal_screen main div.temps-attente .header {
    font-size: clamp(2.6rem,3vw,4.3rem);
}

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

main.temps-attente .time-value span,
main div.temps-attente .time-value span {

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

.twice_screen.horizontal_screen main.temps-attente .time-value,
.twice_screen.horizontal_screen main div.temps-attente .time-value {
    font-size: clamp(4.5rem,6.4vw,11rem);
    padding: 1vw 2vw;
}

main.places-dispo .row,
main div.places-dispo .row,
main.temps-attente .time-value,
main 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;*/
}

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

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

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

main .row .places {
    width: 27vw;
}
.twice_screen.horizontal_screen div.places-dispo .row .creneau {
    width: 4.5vw;
}

.twice_screen.horizontal_screen div.places-dispo .row .places {
    width: 13.4vw;
}

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

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

.twice_screen.horizontal_screen div.places-dispo row {

}

.twice_screen.vertical_screen div.places-dispo .row {
    margin-top: 1vh;
    margin-bottom: 1vh;
    font-size: clamp(1.8rem, 3.0vw, 4.0rem);
}

.twice_screen.vertical_screen div.places-dispo .row .creneau {
    /*width: 6vw;*/
}
.twice_screen.vertical_screen div.places-dispo .row .places {
    /*width: 13.4vw;*/
}

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