:root {
    interpolate-size: allow-keywords;
}

body {
    background-color: rgba(0, 0, 0, 0.023);
    overflow-x: hidden;
}

main {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

section.indicator {
    display: block;
    position: fixed;
    bottom: 0;
    padding: var(--body-margin);
    margin: calc(var(--body-margin) * 4);
    opacity: 0;
    transition: all 200ms ease;
    width: 300px;
    background-color: white;
    outline: 1px solid var(--link-color);
    text-align: center;
}


section.indicator.visible {

    opacity: 1;
}


section.indicator.invisible {
    opacity: 0 !important;
    pointer-events: none !important;
}

.header {}

/* The progress container (grey background) */
.progress-container {
    position: fixed;
    width: 100vw;
    height: 10px;

    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    background-color: transparent;
}


section.nav {
    height: 8em;
    bottom: 0;
    width: 100%;
    position: fixed;
    background: rgb(241, 241, 241);
    transform: translate(0, 94%);
    z-index: 3;
    transition: all 200ms ease;

}

section.elements {
    width: 100%;
    display: flex;
    position: fixed;
    gap: 1em;
    overflow-x: auto;
    overflow-y: hidden;
    align-items: center;
    height: 100%;
    padding: 0 2em;
}

section.nav:not(.show):hover {
    transform: translate(0, 80%);
    cursor: n-resize;

}

section.nav:not(.show)>* {
    pointer-events: none;
}

section.nav.show {
    transform: translate(0, 0);
    transition: all 200ms ease;
}

section.nav img {
    height: 5em;
    width: auto;
}

section.nav .block-type-video,
section.nav figure:has(>iframe) {
    margin-bottom: 0;
    padding-bottom: 0;
}

section.elements .block-type-video {
    background-color: black;
    color: white;
}


section.elements .block-type-video,
section.elements .ressources,
section.elements .block-type-text {
    aspect-ratio: 16/9;
    outline: 1px solid black;
    height: 5em;
    text-align: center;
    padding: 0 .2em;
}

section.elements .block-type-text p {
    height: 5em;
    aspect-ratio: 16/9;
    overflow: hidden;
}

section.nav .block-type-video figure {
    width: 5em;
    height: 5em;
}

section.elements .block-type-text p,
section.elements .block-type-video p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    /* number of lines to show */
    line-clamp: 4;
    -webkit-box-orient: vertical;
}

section.nav h2 {
    text-align: center;
    font-family: "Plantin";
    text-decoration: none;
    font-size: 110%;
    width: 8em;
    aspect-ratio: 16 / 9;
    margin: .2em 1em;

}

section.elements>*:hover {
    outline: 1px dashed black;
    cursor: pointer;
}

/* section.elements>div>*:not(figure) {
    display: none;
} */

section.nav figcaption,
section.nav .block-type-quote {
    display: none;
}

section.elements figure {
    padding-bottom: 0;
}

/* The progress bar (scroll indicator) */
.progress-bar {
    height: 10px;
    background: var(--link-color);
    width: 0%;
}



code {
    pointer-events: auto;
    background: #D9E8F6;
    padding: 0 .2em .2em .2em;
    border-radius: 5px;
    /* color: white; */
    outline: 1px solid #B8D4F0;

    font-size: .8em;
    font-family: 'FL-Selectric';
}

section.informations {
    grid-column: 1 / span 4;
    display: grid;
    grid-template-columns: repeat(3, 2fr);
    font-family: "FL-Selectric";
    font-size: 16px;
    padding-bottom: 1em;
    gap: 1em;
}

article div:last-of-type::after {
    content: "⁂";
    display: block;
    text-align: center;
}

aside h2 {
    text-align: center;
}

main article h2 {
    padding-bottom: .5em;
    text-align: center;
    font-size: 200%;
    text-decoration: none;
    text-align: center;
    line-height: .95;
    padding: 5vh 0 1vh 0;

}

blockquote {
    padding-bottom: .5em;
}

.documentation {
    padding-bottom: 7em;

    padding-top: 2em;
}

.documentation ul li {
    list-style-type: lower-roman;
    padding-left: 2em;
    list-style-position: inside;

}

.tooltip {
    position: relative;

    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 160px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 5px;
    right: 105%;
    /* Position the tooltip */
    position: absolute;
    z-index: 1;
}

.tooltip:hover .tooltiptext {
    visibility: visible;

}

p.modified {
    font-family: "FL-Selectric";
    text-decoration: underline;
    font-size: 1rem;
    padding-top: 5vh;
    opacity: .5;
    text-align: center;
}


.documentation a {}

.documentation ul li::after {}

/* iframe {
    aspect-ratio: 1;
    width: 100%;

    } */

.block-type-video {
    margin-bottom: 1em;
}

figure:has(>iframe) {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: .3em;
}

iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    overflow: hidden
}

article figure img:hover {
    cursor: zoom-in;
}


img {
    height: auto;
    width: 100%;
}

figure img {
    transition: all 200ms ease;
}

article figure img.full {
    scale: 1.3;
    cursor: zoom-out;
    transition: all 200ms ease;
    z-index: 30000000000000;
    position: relative;


}

a:has(>img) {
    text-decoration: none;
    border-bottom: 0px dotted black !important;
}

img.sujet {
    border-radius: 5px;
    outline: 1px dashed black !important;
    margin: 1ch 0;
}

/* figure.sujet.full {
    scale: 1.5;
    transition: all 200ms ease;
    z-index: 3;
    border: .75px dashed black;
    border-radius: 5px;
    padding-bottom: 0;
} */

aside {
    grid-row: 1;
    height: 0;
    grid-column: 10 / span 2;
    position: sticky;
    top: var(--body-margin)
}

figure {
    padding-bottom: 2em;
}

figure.portrait {
    text-align: center;
}

figure.portrait>img {
    max-height: 60vh;
    width: auto;

}

details summary::-webkit-details-marker {
    display: none;
}

details>summary {
    list-style: none;
}

aside ul li {
    list-style-type: decimal;
    margin: 0 0 0 3ch;
}

article li {
    list-style-type: disc;
}

main {
    padding-top: 35vh;
}

header>h1 {
    font-size: 500%;
    text-decoration: none;
    text-align: center;
    line-height: .95;
    padding: 0 0 10vh 0;


}

section.files {
    font-family: "FL-Selectric";
}

section.files li:hover {
    outline: 1px solid rgb(0, 0, 0);
}

section.files li {
    padding: .5em 1em;
    margin: .5em;
    outline: 1px dashed rgb(0, 0, 0);
    border-radius: .2em;
    list-style-type: none;
    width: fit-content;
    text-decoration: none;
}

section.files li a,
section.files a {
    color: rgb(0, 0, 0);
    text-align: center;
    font-family: "FL-Selectric";
    font-size: 16px;
}


.mobile-title {
    display: none;
}


details {
    border: 1px solid gray;
    border-radius: 0.2rem;
    padding: 0.5rem;
    margin: 1em 0;



}

details>summary::after {
    content: '(ouvrir)';
    display: inline-flex;
    text-align: right;
    width: 100%;
    justify-content: flex-end;
    transform: translate(0em, -1em);
    position: absolute;
}

details[open]>summary::after {
    content: '(fermer)';
    transform: translate(0em, -1em);
}

details {
    border: 1px solid gray;
    border-radius: 0.2rem;
    padding: 0.5rem;
}

details[open]>summary {
    margin-bottom: 0.5rem;
}

details::details-content {
    block-size: 0;
    transition: block-size 1s;

}

details[open]::details-content {
    block-size: 100%;

}

details>summary {

    top: 1em;
    position: sticky;


}

details>summary>h3 {
    text-decoration: none;
    text-align: center;

}

details[open]>summary {
    margin-bottom: 0.5rem;
}

details>summary {
    cursor: s-resize;
}


.grep.title {

    text-align: left;
    text-decoration: none;
}

hr.grep {
    margin-bottom: .5em;
}

section.grep {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 2em;
}

.grep.replace {
    grid-column: 2/-1;
}

@media only screen and (995px < width <=1500px) {
    aside {
        grid-column: 10 / span 3;

    }

    main {
        padding-top: 1em;
    }

    header>h1 {
        line-height: .9;

        font-size: 200%;
        margin-top: 1em;
    }

    article {
        grid-column: 2 / span 8;
    }

    section.indicator {
        margin: var(--body-margin);
        padding: .4ch;
        width: 150px;
        z-index: 2;
        font-size: 95%;

    }
}



@media only screen and (width <=995px) {



    section.indicator {
        display: none !important;
        ;
    }

    section.nav {
        pointer-events: none;
    }

    aside {
        background-color: white;
        outline: 1px solid var(--link-color);
        position: fixed;
        width: 100%;
        margin: 0;
        left: 0;
        padding: 0 2em;
        transform: translateY(calc(100vh - 4em));
        z-index: 1;
        height: fit-content;
        transition: all 400ms ease;
    }

    aside.open {
        transform: translateY(calc(100vh - 100% - var(--body-margin)));
        overflow-y: auto;
        max-height: 100%;
        overflow-x: hidden;
    }

    aside .mobile-title {
        display: block;
        text-align: center;
        padding: 1em 0;


    }

    aside .mobile-title::before {
        content: 'Ouvrir le menu de la page';
        display: block;
        text-align: center;

    }

    aside.open .mobile-title::before {
        content: "Fermer le menu de la page";
    }


    header>h1 {
        line-height: .9;
        font-size: 200%;
        margin-top: 1em;
        padding-bottom: 1em;
    }

    main article h2 {
        line-height: .9;
        font-size: 1em;
        padding: 0;
        margin-top: 1em;
    }

    main {
        padding-top: 1em;
    }

    figure.portrait>img {
        max-height: 70vh;

        max-width: -webkit-fill-available;


    }

    figure:hover {
        cursor: pointer;
    }

    figure>img {
        transition: all 200ms ease;
    }

    article figure>img.full {
        scale: 1;
        cursor: pointer;
        transition: all 200ms ease;
        z-index: -1;

    }

    .documentation ul li {
        padding-left: 0;
    }
}