html, body {
    margin: 0;
    font-family: "Libre Baskerville", serif;
}

html * {
    font-weight: 400;
    font-size: 16px;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: black;
}

h2, h3 {

    margin: 0;
}
h2 {
    text-transform: capitalize;
}
h3, a {
    font-style: italic;
}
sup {
    position: relative;
    font-size: 0.7em;
}
main {
    display: flex;
    flex-wrap: wrap;
}

header {
    width: 100%;
    
    border-bottom: 1px solid black;
}

h1 {
    display: block;
    text-align: center;
    margin: 0;
    padding: 2em 0;
    position: relative;
}

button {
    border: none;
    background: white;
    color: inherit;
    border-left: 1px solid black;
    padding: 2em 1.5em;
    flex: 0 0 calc(25% + 2px);
    font-family: inherit;
    font-size: inherit;
    cursor: pointer;
}


article {
    flex: 0 0 calc(25% - 0.25px);
    background: white;
    text-align: center;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    padding: 4em 0;
    overflow: hidden;
    position: relative;
}

article:nth-of-type(4n + 4) {
    border-right: none;
}


article:hover {

    filter: invert(100%);
}

.archive-intro {
    width: 100%;
    border-bottom: 1px solid black;
}

.archive-intro p {
    display: block;
    width: 100%;
    max-width: 960px;
    margin: auto;
    padding: 2em 1.6em;
}

.tag-name {
    display: inline-block;
    background: black;
    border-radius: 3px;
    padding: 2px 4px;
    font-family: Arial, Helvetica, sans-serif;
    color: white;
}

.pdf_interactif {
    background: rgb(27, 128, 27);
}

.cargo_initiation {
    background: rgb(61, 61, 255);
}

.web_sur_mesure {
    background: rgb(197, 10, 41);
}

.logiciels {
    background: black;
}

.columns {
    width: 100%;
    max-width: 960px;
    margin: auto;
    border-bottom: 1px solid black;;
}

.column {
    padding: 1.5em 1em;
    flex: 0 0 calc(99.999999999%);
}

.insecte {
    opacity: 0;
    position: absolute;
    width: 150px;
    height: 150px;
    object-fit: contain;
    z-index: 0;
    transition: opacity .2s;
}

article:hover .insecte {
    opacity: 1;
    animation: animation 2s infinite;
}

article .content {
    z-index: 1;
    position: relative;
}

@keyframes animation {
    0% {
        filter: invert(0%);
    }

    50% {
        filter: invert(100%);
    }

    100% {
        filter: invert(0%);
    }
}

article a {
    cursor: pointer;
}

header {
    border-bottom: 1px solid black;
}

img {
    display: none;
}

img.loaded {
    display: block;
}

.page-archive img {
    display: block;
    max-width: 100%;
    height: auto;
}

.q-a {
    margin-top: 1.5em;
    border-top: 1px solid black;
    padding-top: 1.5em;
}

.q-a time {
    font-style: italic;
}

.q-a .q::before {
    content: "Question : ";
    font-weight: 700;
}
.q-a .a {
    margin-top: .5em;
}
.q-a .a p:first-child {
margin-top: 0;
display: inline;
}
.q-a .a::before {
    content: "Réponse : ";
    font-weight: 700;
}
.q-a .r::before {
    content: "Ressource : ";
    font-weight: 700;
}

.q-a .r p:first-child {
    display: inline;
    margin-top: 0;
}

header {
    position: relative;
}
header .header-link:first-of-type {
    width: 75%;
    display: block;
}
.header-link-archive {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    height: 100%;
    background: white;
    width: calc(25% + 1px);
    border-left: 1px solid black;
}
.header-link-archive:hover {
    filter: invert(100%);
}

@media screen and (max-width: 1000px) {
    article {
        flex: 0 0 calc(1/3 * 99.999999999%);
    }

    header .header-link:first-of-type {
        width: 66.666%;
        display: block;
    }
    .header-link-archive {
        width: calc(33.333333333% + 1px);
    }
    article:nth-of-type(4n + 4) {
        border-right: 1px solid black;
    }
    article:nth-of-type(3n + 3) {
        border-right: none;
    }
}

@media screen and (max-width: 767px) {
    article {
        flex: 0 0 calc(1/2 * 99.999999999%);
    }
    header .header-link:first-of-type {
        width: 50%;
        display: block;
    }
    .header-link-archive {
        width: calc(50% + 1px);
    }
    article:nth-of-type(4n + 4) {
        border-right: 1px solid black;
    }
    button {
        flex: 0 0 calc(1/2 * 99.999999999%);
    }
    article:nth-of-type(3n + 3) {
        border-right: 1px solid black;
    }
    article:nth-of-type(2n + 2) {
        border-right: none;
    }
}


@media screen and (max-width: 600px) {
    article {
        flex: 0 0 calc(100%);
        border-right: none!important;
    }

    header .header-link:first-of-type {
        width: 100%;
        display: block;
    }
    .header-link-archive {
        position: static;
        border-top: 1px solid black;
        display: block;
        width: 100%;
        padding: 1.5em 0;
        border-left: 0;
    }

    button {
        border-bottom: 1px solid black;
        order: -1;
        border-left: none;
        flex: 0 0 calc(1/1 * 99.999999999%);
    }
}