/*
Theme Name: 24 jours de web 2022
Theme URI: https://www.24joursdeweb.fr
Description: Thème de 24 jours de web, édition 2022
Version: 10.1.7
Author: Paris Web
Author URI: https://www.paris-web.fr
*/

/**
 * Styles globaux
 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-width: 17.5em;
    color: #595959;
    font: 1em/1.5 Georgia, serif;
    background-color: #fff;
}

.site {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.main {
    flex: 1 0 auto;
}

a {
    color: inherit;
}

    a img {
        border: none;
    }

    a:focus,
    button:focus {
        outline: 1px dotted #595959;
        outline-offset: 0.25rem;
    }

input[type="submit"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
button::-moz-focus-inner {
    border: 0;
}

body.admin-bar :target {
    scroll-margin-top: 2rem;
}

/**
 * Fonts
 */
@font-face {
    font-family: "Raleway";
    src: url("fonts/raleway-regular.woff2") format("woff2"), url("fonts/raleway-regular.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Raleway";
    src: url("fonts/raleway-medium.woff2") format("woff2"), url("fonts/raleway-medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Raleway";
    src: url("fonts/raleway-bold.woff2") format("woff2"), url("fonts/raleway-bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Raleway";
    src: url("fonts/raleway-black.woff2") format("woff2"), url("fonts/raleway-black.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/**
 * Animation tada (from Animate.css)
 * @see https://daneden.github.io/animate.css/
 */
@keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.calendarContent p {
    text-align:center;
}
/**
 * Calendrier
 */
.calendar {
    display: grid;
    grid-gap: 0.375rem;
    padding: 0.375rem;
    max-width: 62.5rem;
    margin: 3rem auto 0;
    list-style: none;
}

.day {
    display: flex;
    perspective: 80rem;
    margin-bottom: 0.75rem;
}

.day-link {
    display: block;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    padding: 1em;
    width: 100%;
    min-height: 100%;
    color: #3a3122;
    font-size: 1.25em;
    text-decoration: none;
    word-wrap: break-word;
    background: #eee;
    transform-origin: 50% 0;
    transform-style: preserve-3d;
    transform: rotateX(0);
    transition: transform cubic-bezier(0.5, 1.5, 0.5, 1.5) 0.4s 0.1s;
    will-change: transform;
}

.day-number {
    display: block;
    margin: -0.5em 0 0.5em -0.5em;
    width: 2.7em;
    height: 2.45em;
    text-align: center;
    font-size: 1em;
    line-height: 2.45em;
    white-space: nowrap;
    color: #aa160e;
    font-weight: bold;
    letter-spacing: -0.05em;
    background: url(images/number.png) no-repeat 0 0;
    background-size: cover;
}

.day-title {
    flex-grow: 1;
    position: relative;
    display: block;
    color: inherit;
    line-height: 1.3;
    white-space: normal;
}

.questionMark {
    font-size: 4rem;
    margin: 2rem auto 3.5rem;
    color: #ecf6f6;
}


.subscriptionDialog {
    padding: 0;
    width: min(100% - 1rem, 1200px);
}

    .subscriptionDialog form {
        display: grid;
        padding: 0;
        grid-template-columns: 40% 60%;
        grid-gap: 2em;
    }

.subscribeForm {
    padding: 3rem 3.5rem 2rem 1rem;
}

.subscribeImg img {
    width: 100%;
    display: block;
}

.subscribeRegisterForm {
    display: grid;
    padding: 0;
    grid-template-columns: 50% 50%;
    grid-gap: 0.25em;
}

.currectGift, .currectGiftPartner {
    max-width: 350px;
    margin: 0 auto;
}
.currectGiftPartner h2{
    text-align:center;
}

.day-author {
    position: relative;
    display: block;
    padding-top: 1em;
    margin-top: 1em;
    color: inherit;
    font-size: 0.8em;
    line-height: 1.35;
    font-style: italic;
}

    .day-author::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        width: 4rem;
        height: 0.125rem;
        background: #fff;
    }

@media only screen and (min-width: 31.25em) {
    .calendar {
        grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr));
    }

    @supports (display: grid) {
        .day {
            min-height: 15.15625rem;
            margin-bottom: 0.75rem;
        }
    }

    .day:hover {
        position: relative;
        z-index: 1;
    }

    .day-link:hover,
    .day-link:focus {
        transform: rotateX(20deg);
    }
}

/* Jour inactif */
    .day-off {
    display: flex;
    align-items: stretch;
    justify-content: center;
    color: #c6ccc8;
}

.day-off-cell {
    display: flex;
    align-items: center;
    flex-grow: 1;
    border: 1px dashed #c6ccc8;
}

.day-off-number {
    display: block;
    flex-grow: 1;
    vertical-align: middle;
    font-size: 2em;
    letter-spacing: -0.05em;
    text-align: center;
}

@media only screen and (min-width: 31.25em) {
    .day-off {
        min-height: 7.8125em;
    }
}

/**
 * Article
 */
.post {
    margin: 0 auto;
    padding: 0 1rem;
    max-width: 48.25rem;
    color: #2c3d44;
    font-size: 1.25rem;
    min-height: 20rem;
}

@media only screen and (max-width: 47.9375em) {
    .post {
        font-size: 1rem;
    }
    .subscribeImg {
        max-height: 300px;
        overflow: hidden;
    }


    .subscriptionDialog form {
        display: grid;
        padding: 0;
        grid-template-columns: 100%;
        grid-gap: 1em;
    }


    .subscribeRegisterForm {
        display: grid;
        padding: 0;
        grid-template-columns: 100%;
        grid-gap: 0.25em;
    }
}

.post-title {
    margin: 2.4em 0;
    color: #6f232b;
    font-size: 2em;
    font-family: Raleway, sans-serif;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

    .post-title a {
        text-decoration: none;
    }

@media only screen and (max-width: 47.9375rem) {
    .post-title {
        font-size: 1.5em;
        hyphens: auto;
        word-wrap: break-word;
    }
}

.post-aside {
    margin-top: 0.375rem;
    margin-bottom: 1rem;
    color: #73838a;
    font-size: 0.875rem;
    font-family: Raleway, sans-serif;
}

.post-aside--end {
    margin-bottom: 4rem;
}

.post-meta {
    display: inline-block;
    margin-right: 1rem;
}

.post-meta--author {
    margin-bottom: 0.5rem;
}

.post-meta::before,
.post-share-link::before,
.post-comments-link::after {
    content: "";
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    vertical-align: middle;
    background: no-repeat left center;
}

.post-meta--share::before,
.post-meta--comments::before {
    display: none;
}

.post-meta::before,
.post-share-link::before {
    margin-right: 0.25rem;
}

.post-comments-link::after {
    margin-left: 0.25rem;
}

.post-meta--author::before {
    background-image: url(images/icon-feather.png);
}

.post-meta--date::before {
    background-image: url(images/icon-calendar.png);
}

.post-meta--length::before {
    background-image: url(images/icon-clock.png);
}

.post-share-link--facebook::before {
    background-image: url(images/icon-facebook.png);
}

.post-share-link--twitter::before {
    background-image: url(images/icon-twitter.png);
}

.post-comments-link::after {
    background-image: url(images/icon-arrow.png);
}

.post-share-link {
    display: inline-block;
    font-size: 0;
    vertical-align: middle;
}

    .post-share-link::before {
        width: 1.875rem;
        height: 1.875rem;
    }

.post-comments-link {
    text-decoration: none;
}

@media only screen and (min-width: 78.75em) {
    /* 750 + (175 + 50x2)x2 */
    .post-aside--start {
        float: left;
        margin-left: -13.0625rem;
    }

    .post-aside--end {
        float: right;
        margin-right: -13.0625rem;
    }
}


.ctaBtn, .ctaBtnHollowSmall {
    max-width: 90%;
    margin: 0 auto 0.75rem auto;
    padding: 0.3em 1em 0.3em 1em;
}


@media only screen and (min-width: 78.75em) {
    /* 750 + (175 + 50x2)x2 */
    .post-aside {
        width: 100%;
        max-width: 10.9375rem;
    }

    .post-meta {
        display: flex;
    }

    .post-meta--share,
    .post-meta--comments {
        display: block;
    }

    .post-meta--length,
    .post-meta--comments {
        padding-top: 1rem;
        margin-top: 1rem;
        border-top: 1px solid #c3e2e2;
    }
}

.post-entry a {
    color: #6f232b;
}

.single .post-entry > p:not([class]):first-of-type:first-letter {
    float: left;
    display: inline-block;
    margin-right: 0.055555em; /* (1 / 4.5) / 4 */
    font-size: 4.5em;
    line-height: 0.666667em;
    height: 0.666667em;
    overflow: hidden;
}

@media only screen and (max-width: 47.9375em) {
    .single .post-entry > p:not([class])::first-of-type:first-letter {
        font-size: 3em;
    }
}

@supports (initial-letter: 3 2) or (-webkit-initial-letter: 3 2) {
    .single .post-entry > p:not([class]):first-of-type:first-letter {
        float: none;
        margin-right: 0;
        height: auto;
        overflow: visible;
        -webkit-initial-letter: 3 2;
        initial-letter: 3 2;
    }
}

.post-entry p,
.post-entry ul,
.post-entry ol,
.post-entry pre,
.post-entry pre[class*="lang"],
.post-entry h4,
.post-entry h5,
.post-entry h6,
.post-entry .wp-video {
    margin-bottom: 1.25em;
}

.post-entry > :last-child {
    margin-bottom: 0;
}

.post-entry h2 {
    margin-top: 2.133333em;
    margin-bottom: 0.8em;
    color: #6f232b;
    font-size: 1.5em;
    font-family: Raleway, sans-serif;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.post-entry h3 {
    margin-bottom: 1.090909em;
    color: #be3745;
    font-size: 1.1em;
    font-family: Raleway, sans-serif;
    font-weight: 900;
    line-height: 1.25;
}

@media only screen and (max-width: 47.9375rem) {
    .post-entry h2 {
        font-size: 1.25em;
        hyphens: auto;
        word-wrap: break-word;
    }

    .post-entry h3 {
        font-size: 1em;
        hyphens: auto;
        word-wrap: break-word;
    }
}

.post-entry .question {
    font-family: Raleway, sans-serif;
    font-weight: bold;
}

.post-entry q {
    font-style: italic;
}

    .post-entry q::before {
        content: "\0000AB\0000A0";
    }

    .post-entry q::after {
        content: "\0000A0\0000BB";
    }

.post-entry blockquote,
.post-entry .pullquote,
.post-entry .answer {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    padding: 0.25em 0.25em 0.25em 2.5em;
    color: #2c3d44;
    font-size: 1em;
    font-style: italic;
    border-left: 0.5em solid #d9ecec;
}

.post-entry .pullquote {
    font-size: 1.5em;
    border-left: none;
    padding: 0.25em;
}

@media only screen and (max-width: 47.9375rem) {
    .post-entry blockquote,
    .post-entry .answer {
        padding-left: 1em;
        border-width: 0.35em;
    }
}

.post-entry blockquote > *:last-child,
.post-entry .pullquote > *:last-child,
.post-entry .answer > *:last-child {
    margin-bottom: 0;
}

.post-entry ul,
.post-entry ol {
    margin-top: 2em;
    margin-bottom: 2em;
    margin-left: 3em;
}

.post-entry li:not(:last-child) {
    margin-bottom: 0.8em;
}

@media only screen and (max-width: 47.9375rem) {
    .post-entry ul,
    .post-entry ol {
        margin-left: 1em;
    }
}

.post-entry ul {
    list-style: none;
}

    .post-entry ul li {
        position: relative;
    }

        .post-entry ul li::before {
            content: "";
            position: absolute;
            left: -1em;
            top: 0.5em;
            display: block;
            background: #be3745;
            width: 0.5em;
            height: 0.5em;
            border-radius: 50%;
        }

.post-entry p > code,
.post-entry li > code {
    padding: 0.125rem 0.25rem;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 0.125rem;
    font-size: 0.85em;
}

.post-entry pre,
.post-entry pre[class*="lang"],
.post-entry .side-by-side-code {
    margin-bottom: 1.5em;
}

    .post-entry pre code {
        display: block;
        padding: 1em;
        font-size: 0.8em;
        overflow: auto;
    }

        .post-entry pre code:not([class*="lang"]) {
            color: #fff;
            background: #333;
        }

@media only screen and (min-width: 81.25em) {
    /* 750 + (175 + 50x2)x2 */
    .post-entry pre[class*="lang"],
    .post-entry pre:not([class*="lang"]) code,
    .post-entry .side-by-side-code,
    .post-entry .tabs {
        margin-right: -13.75em; /* -220px */
    }

    .post-entry .side-by-side-code {
        display: flex;
        justify-content: space-between;
    }

        .post-entry .side-by-side-code pre {
            margin-right: 0;
            width: calc(50% - 0.75em);
        }
}

.post-entry img,
.post-entry .wp-video {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    font-size: 0.8em;
    border: 0.3125em solid #ecf6f6;
}

    .post-entry .wp-video br {
        display: none;
    }

.post-entry iframe {
    max-width: 100%;
    font-size: 0.8em;
    border: 0.3125em solid #ecf6f6;
}

    .post-entry iframe[src^="https://codepen.io"] {
        width: 100%;
    }

.post-entry img.alignleft {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}

.post-entry img.alignright {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

.post-entry img.aligncenter {
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width: 78.75em) {
    /* 750 + (175 + 50x2)x2 */
    .post-entry img.alignleft {
        margin-left: -13.75em; /* -220px */
    }

    .post-entry img.alignright {
        margin-right: -13.75em; /* -220px */
    }
}

@media only screen and (min-width: 60em) {
    .post-entry img.size-large {
        margin: 0 -3.125em;
        max-width: calc(100% + 6.25em);
    }
}

.post-entry .wp-caption-text {
    margin-top: 0.5em;
    margin-bottom: 2.5em;
    font-style: italic;
    font-size: 0.8em;
}

.post-entry .aligncenter .wp-caption-text {
    text-align: center;
}

.post-entry [id^="attachment"] {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
}

    .post-entry [id^="attachment"][style] {
        width: auto !important;
    }

.post-entry table {
    min-width: 100%;
    margin: 3.5rem 0;
    border: 0.3125rem solid #ecf6f6;
    padding: 1rem;
    border-collapse: collapse;
}

.post-entry td,
.post-entry th {
    padding: 1em;
    vertical-align: top;
}

    .post-entry td ul:first-child {
        margin-top: 0;
    }

.post-entry th {
    font-family: Raleway, sans-serif;
    text-align: left;
    background: #ecf6f6;
}

.post-entry tr:nth-child(2n + 1) td {
    background: #ecf6f6;
}

.post hr {
    margin: 2.5em auto;
    width: 30%;
}

.post-entry .section,
.post-footer {
    position: relative;
    padding: 1rem;
    margin: 0 -1rem;
    background: #f8fafa;
}

.post-entry .section {
    margin-bottom: 1.5rem;
}

    .post-entry .section::before,
    .post-entry .section::after,
    .post-footer::before,
    .post-footer::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        width: calc((100vw - 100%) / 2);
        background: #f8fafa;
        box-sizing: border-box;
    }

    .post-entry .section::before,
    .post-footer::before {
        left: calc((100vw - 100%) / 2 * -1 + 0.5rem);
    }

    .post-entry .section::after,
    .post-footer::after {
        right: calc((100vw - 100%) / 2 * -1 + 0.5rem);
    }

    .post-entry .section > *,
    .post-footer > * {
        position: relative;
        z-index: 1;
    }

        .post-entry .section > *:first-child {
            margin-top: 1rem;
        }

.post-entry .gallery {
    margin-bottom: 1.25em !important;
}

.post-entry .gallery-caption {
    margin-bottom: 0;
    text-align: left;
}

.post-entry .gallery-item {
    margin-top: 0 !important;
    padding: 0.5rem;
}

    .post-entry .gallery-item .attachment-thumbnail {
        width: 100%;
        border: 0.3125rem solid #ecf6f6 !important;
    }

.post-entry .footnotes {
    font-size: 1rem;
}

    .post-entry .footnotes a,
    .post-entry .footnotes h2,
    .post-entry .footnotes h3 {
        color: inherit;
    }

    .post-entry .footnotes ol {
        margin-left: 1em;
    }

    .post-entry .footnotes ul li::before {
        background-color: currentColor;
    }

    .post-entry .footnotes li:target {
        background: #ffffe0;
    }

/**
 * Footer d'un post
 */
.post-footer {
    margin-top: 5.625rem;
    padding-top: 2rem;
    padding-bottom: 3rem;
    background-color: #ecf6f6;
}

    .post-footer::before {
        background-color: #ecf6f6;
    }

    .post-footer::after {
        background-color: #d9ecec;
    }

/**
 * Auteur
 */
.post-author {
    display: flex;
}

.post-author-avatar {
    padding: 0.75rem 0;
    flex-shrink: 1;
    flex-grow: 0;
}

    .post-author-avatar img {
        display: block;
        min-width: 4rem;
        width: 100%;
        height: auto;
        max-width: 9.375rem;
        font-size: 1rem;
        background: #d9ecec;
    }

.post-author-text {
    padding: 0 0.5rem 0 1rem;
    flex-grow: 1;
}

.post-author-text-content {
    max-width: 31.25rem;
    margin: 0 auto;
}

.post-author-title {
    margin-bottom: 0.7272rem;
    color: #be3745;
    font-size: 1.375rem;
    font-family: Raleway, sans-serif;
    font-weight: 900;
    line-height: 1.25;
}

.post-author-description {
    font-size: 1rem;
}

/* Navigation entre articles */
.posts-nav {
    max-width: 80rem;
    margin: 4rem auto;
    display: flex;
    color: #2c3d44;
    font-size: 1rem;
    font-family: Raleway, sans-serif;
}

.posts-nav-link {
    display: flex;
    width: 50%;
    margin: 0 1.5rem;
}

@media only screen and (max-width: 40rem) {
    .posts-nav {
        flex-direction: column;
    }

    .posts-nav-link {
        width: auto;
        margin-bottom: 1.5rem;
    }
}

.posts-nav-previous a {
    align-items: flex-end;
}

.posts-nav-link a {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 1.5rem;
    min-height: 6.875rem;
    text-decoration: none;
    background: #ecf6f6;
}

    .posts-nav-link a::before {
        content: "";
        position: absolute;
        width: 3rem;
        height: 5.5rem;
        background: url(images/arrow.png) no-repeat 0 0;
        background-size: cover;
    }

.posts-nav-previous a::before {
    right: 25rem;
}

.posts-nav-next a::before {
    left: 25rem;
    transform: rotate(180deg);
}

.posts-nav-link a:active {
    transform: translateY(2px);
}

.posts-nav-date,
.posts-nav-title {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: 18.75rem;
}

.posts-nav-date {
    font-weight: 500;
}

.posts-nav-title {
    font-weight: 900;
}

/**
 * Commentaires
 */
.comments {
    margin: 4rem auto 0;
    max-width: 48.875rem;
    padding: 0 1rem;
}

.comments-title {
    color: #6f232b;
    font-size: 1.875rem;
    font-weight: 900;
    font-family: Raleway, sans-serif;
    line-height: 1.25;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

@media only screen and (max-width: 48em) {
    .comments-title {
        font-size: 1.25rem;
    }
}

.comments-list {
    list-style: none;
}

.comment-item {
    display: flex;
    padding: 1.5rem 0 3rem;
    color: #2c3d44;
    border-top: 1px solid #d3c1bd;
}

.comment-avatar {
    margin: 0 1.5em 1.5em 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    flex-grow: 0;
    width: 4.625rem;
    height: 4.625rem;
    font-family: Raleway, sans-serif;
    font-weight: 900;
    background: #ecf6f6;
    overflow: hidden;
    user-select: none;
}

    .comment-avatar span {
        color: #d9ecec;
        font-size: 8em;
        text-transform: uppercase;
        transform: rotate(12deg);
    }

.comment-item:nth-child(even) .comment-avatar span {
    transform: rotate(-12deg);
}

@media only screen and (max-width: 30em) {
    .comment-item {
        display: block;
    }

    .comment-avatar {
        float: left;
        margin-right: 1em;
        margin-bottom: 1em;
    }
}

.comment-meta {
    margin-bottom: 1.5rem;
    font-family: Raleway, sans-serif;
    font-weight: 500;
}

.comment-entry {
    margin-bottom: 1em;
}

    .comment-entry p:not(:last-child) {
        margin-bottom: 1em;
    }

.comment-moderation {
    margin: 1em 0;
    padding: 0.5em 1em;
    background: #ecf6f6;
    border-left: 1em solid #d9ecec;
}

.jdw-button,
.comment-button,
.comment-edit-link {
    display: inline-block;
    padding: 0.5em 1.5em;
    color: #fff;
    font-family: Raleway, sans-serif;
    font-size: 1em;
    font-weight: 700;
    line-height: inherit;
    text-decoration: none;
    text-align: center;
    background: #be3745;
    border: none;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
}

    .jdw-button:active,
    .comment-button:active,
    .comment-edit-link:active {
        transform: translateY(2px);
    }

    .jdw-button:focus,
    .comment-button:focus,
    .comment-edit-link:focus {
        outline: 2px solid rgba(0, 0, 0, 0.125);
        outline-offset: 2px;
    }

/* Formulaire de commentaires */
.comments-publish {
    color: #2c3d44;
    font-family: Raleway, sans-serif;
}

.comment-form {
    padding: 1.625rem;
    background: #ecf6f6;
}

.comment-field--row {
    margin-bottom: 1.5rem;
}

    .comment-field--row .comment-label {
        display: block;
        margin-bottom: 0.5rem;
    }

@media only screen and (min-width: 30em) {
    .comment-field--row {
        display: flex;
        margin-bottom: 0.5rem;
        align-items: center;
    }

        .comment-field--row .comment-label {
            min-width: 10rem;
            margin-right: 1rem;
            margin-bottom: 0;
        }
}

.comment-field--column {
    margin-top: 2em;
    margin-bottom: 1em;
}

.comment-textbox,
.comment-textarea {
    width: 100%;
    padding: 0.3125em 1em;
    font-size: 1em;
    font-family: Georgia, serif;
    line-height: 1.5;
    background: #fff;
    border: none;
    border-bottom: 1px solid #d3c1bd;
    outline: none;
    box-shadow: none;
    box-sizing: border-box;
}

.comment-textarea {
    resize: vertical;
    min-height: 5.75em;
    padding-top: 0.625em;
    padding-bottom: 0.625em;
}

    .comment-textbox:focus,
    .comment-textarea:focus {
        outline: 2px solid #d9ecec;
        outline-offset: 0;
    }

.comment-field--column .comment-label {
    display: block;
    margin-bottom: 0.5em;
}

.comment-actions {
    text-align: right;
}

.comment-warning {
    padding: 1.625rem;
    font-size: 0.875rem;
}

/**
 * Header
 */
.header {
    position: relative;
    min-height: 5rem;
    padding: 0 1rem 0.625rem;
    background: #f8f9eb;
}

    .header::after {
        content: "";
        display: block;
        width: 100%;
        height: 0.625rem;
        position: absolute;
        left: 0;
        bottom: 0;
        right: 0;
        border-top: 1px solid rgba(0, 0, 0, 0.125);
        background: #c3e2e2;
    }

.header-content {
    position: relative;
    max-width: 75rem;
    margin: 0 auto;
    padding-left: 3.75rem;
}

.header-logo,
.footer-logo {
    display: block;
    width: 11.25rem;
}

    .header-logo img,
    .footer-logo-img {
        display: block;
        padding: 0.625rem;
        width: 10rem;
        height: 3.75rem;
        box-sizing: content-box;
    }

.header-archive {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    display: block;
    width: 3.25rem;
    height: 8.25rem;
    padding-top: 2rem;
    background: url(images/header/ribbon.png) no-repeat center bottom;
    background-size: cover;
    text-decoration: none;
    transform: translateY(-2rem);
    transition: transform cubic-bezier(0.5, 1.5, 0.5, 1.5) 0.3s;
}

    .header-archive:hover {
        transform: translateY(-1rem);
        transition-delay: 0.1s;
    }

.header-archive-year {
    display: block;
    width: 6.25rem;
    height: 3.25rem;
    padding: 1rem 2rem;
    color: #a2575c;
    font-size: 1.25rem;
    font-family: Raleway, sans-serif;
    font-weight: bold;
    line-height: 1;
    text-align: right;
    transform: rotate(-90deg) translateX(-100%);
    transform-origin: 0 0;
    user-select: none;
}

/**
 * Hero
 */
.hero {
    position: relative;
}

.hero-content {
    padding-top: 3rem;
    min-height: 21.875rem;
}

.hero-h1 {
    font-size: 1em;
    font-weight: normal;
    text-align: center;
}

.hero-logo {
    display: inline-block;
}

    .hero-logo img {
        display: block;
        margin: 0 auto;
        width: 10rem;
        height: 3.75rem;
    }

.hero-baseline {
    width: 16em;
    margin: 0.5em auto 0;
    padding: 0 1em;
    font-family: Raleway, sans-serif;
    font-size: 0.625em;
    line-height: 1.25;
    text-align: center;
}

/**
 * Encart de don
 */
.donation {
    position: relative;
    margin-top: 5.5rem;
    padding: 1.5rem 1rem 4.5rem;
    font-family: Raleway, sans-serif;
    background-color: #faf8eb;
}

    .donation::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -1.5rem;
        display: block;
        border-bottom: 1px solid #d3c1c0;
    }

@media only screen and (min-width: 60rem) {
    .donation::after {
        content: "";
        position: absolute;
        display: block;
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: cover;
        left: calc(50% - 53.125rem);
        top: -6.875rem;
        width: 24.375rem;
        height: 29.375rem;
        background-image: url(images/footer/gifts.png);
    }
}

.donation-content {
    max-width: 46.875rem;
    margin: 0 auto;
}

.donation-head {
    padding-bottom: 1rem;
    font-weight: 900;
}

.donation-title {
    color: #6f232b;
    font-size: 1.875rem;
    line-height: 1.3333;
    font-weight: inherit;
    text-transform: uppercase;
}

.donation-subtitle {
    color: #be3745;
    font-size: 1.375rem;
    line-height: 1.363636;
}

    .donation-subtitle strong {
        color: #6f232b;
    }

    .donation-subtitle a {
        text-decoration: none;
    }

.donation-body {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    color: #f8fafa;
    font-size: 1rem;
    background-color: rgba(111, 35, 43, 0.75);
}

    .donation-body p:not(:last-child) {
        margin-bottom: 1rem;
    }

.donation-body-column {
    padding: 1rem 1.5rem;
    width: 23rem;
    flex-grow: 1;
    flex-shrink: 1;
}

.donation .jdw-button {
    min-width: 50%;
    font-size: 1.5rem;
    outline-color: rgba(255, 255, 255, 0.5);
    outline-width: 1px;
    background-color: #be3745;
}

    .donation .jdw-button:hover {
        animation: tada 1s both;
    }

.single .donation {
    margin-top: 3rem;
}

/**
 * Footer
 */
.footer {
    padding: 1.5rem 1rem 4.5rem;
    color: #2c3d44;
    font-family: Raleway, sans-serif;
    font-weight: 500;
    background: #f7f7f7;
    border-top: 0.625rem solid #dbdbdb;
}

.footer-content {
    position: relative;
    max-width: 75rem;
    margin: 0 auto;
}

.footer-column p {
    max-width: 20rem;
}

.footer-column--logo {
    flex-grow: 0;
    flex-shrink: 0;
}

.footer-column--text,
.footer-column--links {
    flex-grow: 1;
    flex-shrink: 1;
}

.footer-logo-img {
    padding: 0;
}

.footer-baseline {
    margin-bottom: 1.5rem;
}

.footer-links {
    list-style: none;
}

.footer-link--twitter {
    margin-top: 1.5rem;
}

    .footer-link--twitter a::before {
        content: "";
        display: inline-block;
        margin-right: 0.25rem;
        width: 1.25rem;
        height: 1.3125rem;
        vertical-align: middle;
        background: url(images/footer/icon-twitter.png) no-repeat left center;
        background-size: cover;
    }

@media only screen and (max-width: 63.9375em) {
    .footer-column {
        margin-bottom: 1.5rem;
    }

    .footer-baseline {
        margin-bottom: 0.75rem;
    }

    .footer-link--twitter {
        margin-top: 0.75rem;
    }
}

@media only screen and (min-width: 64em) {
    .footer-content {
        display: flex;
        padding-left: 1.5rem;
    }

    .footer-column {
        padding: 0 1.5rem;
    }
}

.footer-archives {
    position: relative;
    flex-grow: 0;
    flex-shrink: 0;
    width: 12.5rem;
    padding: 2rem 1.5rem 1rem;
    color: #fff;
    background: url(images/footer/ribbon-bg.png) repeat-y 0 0;
    background-size: 100% 100%;
}

    .footer-archives::after {
        content: "";
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        height: 40px;
        background: url(images/footer/ribbon-bottom.png) no-repeat;
        background-size: 100% 100%;
    }

.footer-archives-links li {
    list-style: none;
}

.footer-archives a {
    outline-color: #fff;
}

@media only screen and (max-width: 37.4375em) {
    .footer {
        padding-bottom: 0;
    }

    .footer-archives {
        margin-top: 5rem;
        padding-top: 1rem;
        padding-bottom: 2rem;
    }

        .footer-archives > * {
            position: relative;
            z-index: 1;
        }

        .footer-archives::after {
            top: auto;
            bottom: 100%;
            transform: rotate(180deg);
        }
}

@media only screen and (min-width: 37.5em) and (max-width: 63.9375em) {
    .footer-archives {
        position: absolute;
        right: 1rem;
        top: -2.125rem;
        border-left: none;
        margin-bottom: 3rem;
    }
}

@media only screen and (min-width: 64em) {
    .footer-archives {
        margin-top: -2.125rem;
    }
}

/**
 * Thème 2012
 */
.home--2012 .hero-content {
    min-height: 0;
}

.home--2012 .day-link {
    background-color: #d6ceaf;
}

.home--2012 .day:nth-child(5n + 1) .day-link {
    background-color: #accbbb;
}

.home--2012 .day:nth-child(5n + 2) .day-link {
    color: #ddd;
    color: rgba(255, 255, 255, 0.85);
    background-color: #3e403d;
}

.home--2012 .day:nth-child(5n + 3) .day-link {
    background-color: #dad3a7;
}

.home--2012 .day:nth-child(5n + 4) .day-link {
    color: #ddd;
    color: rgba(255, 255, 255, 0.85);
    background-color: #a90d01;
}

.home--2012 .day:nth-child(5n + 5) .day-link {
    color: #ddd;
    color: rgba(255, 255, 255, 0.85);
    background-color: #740700;
}

/**
 * Thème 2013
 */
.home--2013 .hero {
    background: #002c3e url(images/header/2013/stars.png) repeat-x center top;
    background: url(images/header/2013/stars.png) repeat-x center top, linear-gradient(to bottom, #002c3e 0%, #019397 99%);
}

.home--2013 .hero-content {
    background-image: url(images/header/2013/illustration.png);
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
}

.home--2013 .hero-baseline {
    color: #e6daa8;
}

.home--2013 {
    background-color: #00141c;
}

    .home--2013 .calendar {
        background-color: #fff;
    }

    .home--2013 .day-link {
        background-color: #d6ceaf;
    }

    .home--2013 .day:nth-child(3n + 1) .day-link {
        background-color: #d6ceaf;
    }

    .home--2013 .day:nth-child(3n + 2) .day-link {
        background-color: #e6e0cd;
    }

    .home--2013 .day:nth-child(3n + 3) .day-link {
        background-color: #bbc8bf;
    }

.edition--2013 .header {
    background: #002c3e url(images/header/2013/stars.png) repeat-x center top;
    background: url(images/header/2013/stars.png) repeat-x center top, linear-gradient(to bottom, #002c3e 0%, #019397 99%);
}

    .edition--2013 .header::after {
        background-color: #e6e0cd;
    }

.edition--2013 .footer {
    background: #e6e0cd;
}

/**
 * Thème 2014
 */
.home--2014 .hero {
    background: url(images/header/2014/background.png) repeat-x center top;
}

.home--2014 .hero-content {
    background: url(images/header/2014/illustration.png) no-repeat center top;
}

.home--2014 .hero-baseline {
    color: #aa160e;
}

.home--2014 {
    background-color: #fafafb;
}

    .home--2014 .day-link {
        background-color: #89ab83;
    }

    .home--2014 .day:nth-child(3n + 1) .day-link {
        background-color: #c6c095;
    }

    .home--2014 .day:nth-child(3n + 2) .day-link {
        background-color: #b6c194;
    }

    .home--2014 .day:nth-child(3n + 3) .day-link {
        background-color: #dae4ce;
    }

.edition--2014 .header {
    background: url(images/header/2014/background.png) repeat-x center bottom;
    background-size: auto 110px;
}

    .edition--2014 .header::after {
        background-color: #dae4ce;
    }

.edition--2014 .footer {
    background: #dadcdd url(images/header/2014/background.png) repeat-x center bottom;
    background-size: contain;
}

/**
 * Thème 2015
 */
.home--2015 .hero {
    background: url(images/header/2015/animals.png) no-repeat center bottom, url(images/header/2015/particles.png) repeat-x left bottom, url(images/header/2015/landscape.jpg) no-repeat center bottom;
    background-size: 60em, 99.6875em, 106.25em;
    animation: particles 120s linear infinite both;
}

@keyframes particles {
    from {
        background-position: center bottom, left bottom, center bottom;
    }

    to {
        background-position: center bottom, 99.6875em bottom, center bottom;
    }
}

.home--2015 .hero-baseline {
    color: #aa160e;
}

.home--2015 {
    background-color: #f8f9eb;
}

    .home--2015 .day-link {
        background-color: #adceb8;
    }

    .home--2015 .day:nth-child(3n + 1) .day-link {
        background-color: #adceb8;
    }

    .home--2015 .day:nth-child(3n + 2) .day-link {
        background-color: #ecc7a1;
    }

    .home--2015 .day:nth-child(3n + 3) .day-link {
        background-color: #caeade;
    }

    .home--2015 .day-number {
        position: relative;
        color: #fff;
        font-size: 0.8em;
        width: 2.5em;
        height: 2.5em;
        margin-left: -0.25em;
        background: none;
    }

        .home--2015 .day-number::before {
            content: "";
            position: absolute;
            background: red;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            z-index: -1;
            transform: rotate(-14deg);
        }

    .home--2015 .day:nth-child(3n + 1) .day-number::before {
        background: #76927f;
    }

    .home--2015 .day:nth-child(3n + 2) .day-number::before {
        background: #aa5d61;
    }

    .home--2015 .day:nth-child(3n + 3) .day-number::before {
        background: #2d6f8a;
    }

.edition--2015 .header {
    background: #f8f9eb url(images/header/2015/small.jpg) no-repeat center top;
}

@media only screen and (max-width: 78rem) {
    .edition--2015 .header {
        background-position: -11rem top;
    }
}

.edition--2015 .header::after {
    background-color: #c3e2e2;
    border-top: 1px solid #d3c1bd;
}

.edition--2015 .footer {
    background: #f6f8eb url(images/footer/background.jpg) center top;
    border-top: 0.625rem solid #d3c1bd;
}

@media only screen and (min-width: 64em) and (max-width: 102.1875em) {
    .edition--2015 .footer {
        background-position: 0 0;
    }
}

/**
 * Thème 2017
 */
.home--2017 .hero {
    min-height: 36.875rem;
    text-align: center;
    background: #e3f1f5 url(images/header/2017/background.jpg) no-repeat center top;
    background-size: 125rem 33.0625rem;
}

.home--2017 .hero-content {
    padding-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    min-height: 33.125rem;
    background: url(images/header/2017/characters.png) no-repeat center bottom;
    background-size: 125rem 21.875rem;
}

@media only screen and (max-width: 56.25rem) {
    .home--2017 .hero-content {
        background-position: right -34.375rem bottom;
    }
}

.home--2017 .hero::after {
    content: "";
    display: block;
    height: 0.25rem;
    width: 100%;
    background: #de362c;
    position: absolute;
    bottom: 0.375rem;
    left: 0;
    right: 0;
}

.home--2017 .hero-logo img {
    width: 15rem;
    height: 5.625rem;
    margin-bottom: 0.75rem;
}

@media only screen and (max-width: 31.25em) {
    .home--2017 .hero-logo img {
        max-width: 60%;
        height: auto;
    }
}

.home--2017 .hero-baseline {
    display: inline;
    padding: 0.5rem 1.5rem;
    width: auto;
    max-width: 80%;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    font-family: Arial, sans-serif;
    font-size: 0.75rem;
    background: #de362c;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.home--2017 .main {
    position: relative;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 5.5rem;
    border-top: 0.25rem solid #de362c;
    background: #de362c url(images/header/2017/pattern.png) center -1.5rem;
}

.home--2017 .footer {
    margin-top: 0;
}

.home--2017 .calendar {
    margin-top: -10rem;
    border-top: 0.25rem solid #de362c;
}

.home--new .calendar {
    position: relative;
    grid-gap: 0;
    padding: 0.125rem;
    background-color: #e2e8e9;
}

.home--2017 .calendar::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -1.125rem;
    display: block;
    width: 100%;
    height: 1.125rem;
    background: url(images/header/2017/pin.png) no-repeat center top;
    background-size: 75.125rem 1.25rem;
}

.home--new .day-off {
    background-color: #f6f6f6;
}

.home--2017 .day-off {
    background: #e2e8e9;
}

.home--new .day-off-cell {
    align-items: flex-start;
    margin: -1px;
    border: 2px solid currentColor;
}

.home--2017 .day-off-cell {
    border-color: #a2dbe9;
}

@media only screen and (min-width: 31.25em) {
    .home--new .day-off-cell {
        min-height: 15rem;
    }
}

.home--new .day-link {
    margin: -1px;
    padding: 1.5rem;
    font-size: 1.125rem;
    border: 2px solid currentColor;
}

.home--2017 .day-link {
    background-color: #eff1db;
    border-color: #a2dbe9;
}

.home--2017 .day:nth-child(2n + 1) .day-link {
    background-color: #d1eef5;
}

.home--new .day-number,
.home--new .day-off-number {
    flex-grow: 0;
    margin-left: -0.25rem;
    margin-top: -1rem;
    width: 2.5rem;
    height: 2.5rem;
    color: #fff;
    font-family: Raleway, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2.5rem;
    background: #333;
    letter-spacing: 0;
    border-radius: 50%;
}

.home--2017 .day-number,
.home--2017 .day-off-number {
    background-color: #de362c;
}

.home--new .day-off-number {
    margin: 1rem;
    background: #666;
}

@media only screen and (min-width: 90rem) {
    .home--new .calendar {
        max-width: 90rem;
        grid-template-columns: repeat(4, 1fr);
    }
}

.home--2017 .donation {
    margin-top: 0;
}

.edition--2017 .donation {
    background-color: #faf8eb;
}

    .edition--2017 .donation::before {
        border-bottom-color: #d3c1c0;
    }

@media only screen and (min-width: 60rem) {
    .edition--2017 .donation::after {
        left: calc(50% - 53.125rem);
        width: 24.375rem;
        height: 29.375rem;
        background-image: url(images/footer/gifts.png);
    }
}

.edition--2017 .donation-title {
    color: #6f232b;
}

.edition--2017 .donation-subtitle {
    color: #be3745;
}

    .edition--2017 .donation-subtitle strong {
        color: #6f232b;
    }

.edition--2017 .donation-body {
    background-color: rgba(111, 35, 43, 0.75);
}

.edition--2017 .donation .jdw-button {
    background-color: #be3745;
}

.edition--2017 .header {
    background: linear-gradient(to bottom, #86c1d8 0%, #a3e8f9 100%);
}

    .edition--2017 .header::after {
        background-color: #de362c;
    }

.edition--2017 .footer {
    background: #deecf0;
    border-top-color: #7b8f96;
}

/**
 * Thème 2018
 */
.home--2018 .site {
    background-color: #f6f8f7;
}

.home--2018 .hero {
    overflow: hidden;
    background-color: #082637;
    background-image: url(images/header/2018/etoiles.svg), url(images/header/2018/etoiles.svg), url(images/header/2018/etoiles.svg), linear-gradient(#082637 18%, #18474b 58%, #3e997c 90%, #f6f8f7 91%);
    background-repeat: repeat-x;
    background-position: 50% 0%, 50% 20%, 50% 10%, 0 0;
    background-size: auto 40%, auto 50%, auto 60%, auto 100%;
}

.home--2018 .hero-content {
    height: 25rem;
    padding: 0;
    background-image: url(images/header/2018/perso.svg), url(images/header/2018/sol.svg);
    text-align: center;
    background-repeat: no-repeat, repeat-x;
    background-position: left calc(50% - 8.4375rem) bottom 2rem, left calc(50% - 0.125rem) bottom 0.75rem;
    background-size: auto 66.5%, auto 91.2%;
    position: relative;
}

@media (max-width: 37.5rem) {
    .home--2018 .hero-content {
        background-position: left -15.125rem bottom 2rem, left -41.375rem bottom 0.75rem;
    }
}

@media (max-width: 22.5rem) {
    .home--2018 .hero-content {
        background-position: right -13.25rem bottom 2rem, right -56.0625rem bottom 0.75rem;
    }
}

.home--2018 .hero-h1 {
    display: inline-block;
    width: 15.625rem;
    margin-right: 15.625rem;
    color: #84cac1;
}

.home--2018 .hero-logo {
    display: block;
    padding: 1.5rem;
}

    .home--2018 .hero-logo img {
        width: 100%;
        height: auto;
        margin: 0;
        display: block;
    }

.home--2018 .calendar {
    background-color: transparent;
    padding: 0.4375rem;
    grid-gap: 0.4375rem;
    margin-top: -0.75rem;
}

.home--2018 .day-title {
    font-family: Raleway, sans-serif;
    font-weight: bold;
}

.home--2018 .day-link {
    color: rgba(0, 0, 0, 0.85);
}

.home--2018 .day-number {
    color: #e35a48;
    background-color: #fff;
}

.home--2018 .day:nth-child(3n + 1) .day-link {
    border-color: #8acac0;
    background-color: #8acac0;
}

.home--2018 .day:nth-child(3n + 2) .day-link {
    border-color: #fbaa32;
    background-color: #fbaa32;
}

.home--2018 .day:nth-child(3n + 3) .day-link {
    border-color: #e35b4a;
    background-color: #e35b4a;
}

.edition--2018 .header {
    background: url(images/header/2018/etoiles.svg), #082637 linear-gradient(#082637 18%, #18474b);
    background-size: auto 150%, auto;
}

    .edition--2018 .header::after {
        background: #84cac1;
    }

/**
 * Thème 2019
 */
.home--2019 .hero {
    background: url(images/header/2019/background.jpg) no-repeat center top, url(images/header/2019/pattern.jpg) repeat-x center top;
    background-size: auto 100%;
}

.home--2019 .hero-content {
    min-height: 21.8125rem;
}

.home--2019 .hero-h1 {
    text-align: center;
}

.home--2019 .hero-logo {
    position: relative;
    top: -1rem;
    left: 1.25rem;
    display: inline-block;
    transform: rotate(-5deg);
}

    .home--2019 .hero-logo img {
        width: 12.5rem;
        height: 4.6875rem;
    }

.home--2019 .calendar {
    background-color: transparent;
    padding: 0.4375rem;
    grid-gap: 0.4375rem;
    margin-top: 1rem;
}

.home--2019 .day:nth-child(5n + 1) .day-link {
    color: #fff;
    border-color: #428cbd;
    background-color: #428cbd;
}

.home--2019 .day:nth-child(5n + 2) .day-link {
    border-color: #ffbf4e;
    background-color: #ffbf4e;
}

.home--2019 .day:nth-child(5n + 3) .day-link {
    color: #fff;
    border-color: #dd3a63;
    background-color: #dd3a63;
}

.home--2019 .day:nth-child(5n + 4) .day-link {
    border-color: #9adbd5;
    background-color: #9adbd5;
}

.home--2019 .day:nth-child(5n + 5) .day-link {
    border-color: #ff7d55;
    background-color: #ff7d55;
}

.edition--2019 .header {
    background-color: #eae7ee;
}

    .edition--2019 .header::after {
        background: #817197;
    }

.edition--2019 .header-archive {
    filter: hue-rotate(-90deg);
}

/* Encart de don */
.edition--2019 .donation {
    background-color: #eae7ee;
}

    .edition--2019 .donation::before {
        border-bottom-color: #eae7ee;
    }

@media only screen and (min-width: 60rem) {
    .edition--2019 .donation::after {
        left: calc(50% - 60rem);
        top: -6.875rem;
        width: 40rem;
        height: 30rem;
        background-image: url(images/header/2019/dino.png);
    }
}

.edition--2019 .donation-title,
.edition--2019 .donation-subtitle strong {
    color: #59457b;
}

.edition--2019 .donation-subtitle {
    color: #817197;
}

.edition--2019 .donation-body {
    background-color: #817197;
}

.edition--2019 .donation .jdw-button {
    color: #333;
    background-color: #ffbf4e;
}

/**
 * Thème 2020
 */
.home--2020 .hero {
    margin-bottom: 3rem;
    background: #000405 url(images/header/2020/background.jpg) no-repeat center top;
    background-size: auto 30rem;
}

    .home--2020 .hero::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        height: 3rem;
        background: url(images/header/2020/pattern.png) repeat-x center top;
        background-size: auto 3rem;
    }

.home--2020 .hero-content {
    padding-top: 2rem;
    min-height: 30rem;
}

.home--2020 .hero-logo img {
    width: 12rem;
    height: 4.5rem;
}

.home--2020 .site {
    background-color: #000405;
}

.home--2020 .calendar {
    background-color: transparent;
    padding: 0.4375rem;
    grid-gap: 0.4375rem;
    margin-top: 0;
}

.home--2020 .day:nth-child(5n + 1) .day-link {
    border-color: #fbb7ff;
    background-color: #fbb7ff;
}

.home--2020 .day:nth-child(5n + 2) .day-link {
    color: #fff;
    border-color: #b121ff;
    background-color: #b121ff;
}

.home--2020 .day:nth-child(5n + 3) .day-link {
    color: #fff;
    border-color: #0f6a5f;
    background-color: #0f6a5f;
}

.home--2020 .day:nth-child(5n + 4) .day-link {
    color: #fff;
    border-color: #3b45ff;
    background-color: #3b45ff;
}

.home--2020 .day:nth-child(5n + 5) .day-link {
    color: #fff;
    border-color: #173767;
    background-color: #173767;
}

.home--2020 .day-off {
    background-color: #191d1e;
}

.home--2020 .day-off-cell {
    border-color: #191d1e;
}

.home--2020 .day-number,
.home--2020 .day-off-number {
    background-color: #000405;
}

.home--2020 .day-author::before {
    background-color: currentColor;
}

.edition--2020 .donation {
    background: #000405 url(images/header/2020/footer.jpg) no-repeat center top;
    background-size: auto 30rem;
    background-color: #000405;
    padding-bottom: 2.375rem;
    border-top: 0.625rem solid #173767;
    margin-top: 0;
}

    .edition--2020 .donation::before {
        display: none;
    }

.edition--2020 .donation-body {
    background-color: rgba(86, 170, 255, 0.2);
}

.edition--2020 .donation .jdw-button {
    color: #005ba2;
    background-color: #85ffd5;
}

.edition--2020 .donation-title {
    color: #85ffd5;
}

.edition--2020 .donation-subtitle,
.edition--2020 .donation-subtitle strong {
    color: #fbb7ff;
}

.edition--2020 .donation::after {
    left: calc(50% - 550px);
    top: auto;
    bottom: 4.5rem;
    width: 5.75rem;
    height: 5.75rem;
    background-image: url(images/header/2020/perso.png);
    background-color: transparent;
}

.edition--2020 .header {
    background: #000405 url(images/header/2020/footer.jpg) no-repeat 70% 40%;
}

    .edition--2020 .header::after {
        background-color: #173767;
    }

.edition--2020 .header-archive {
    filter: hue-rotate(-90deg);
}

.edition--2020 .post-title,
.edition--2020 .post-entry h2,
.edition--2020 .post-entry a,
.edition--2020 .comments-title {
    color: #173767;
}

.post-entry ul li::before {
    background-color: #3b45ff;
}

.edition--2020 .post-entry h3 {
    color: #3b45ff;
}

/**
 * Thème 2021
 */
.home--2021 .site,
.edition--2021 .header {
    background: #2b1047 url(images/header/2021/pattern.jpg) repeat;
}

.home--2021 .hero {
    margin-bottom: 2rem;
    background: transparent url(images/header/2021/background.jpg) no-repeat center top;
}

.home--2021 .hero-content {
    padding-top: 6.5rem;
    min-height: 31rem;
}

.home--2021 .hero-logo:focus {
    outline-color: #2b1047;
}

.home--2021 .hero-logo img {
    width: 12rem;
    height: 4.5rem;
    margin-left: 0.5rem;
    filter: drop-shadow(0px 0px 25px rgb(170, 170, 147));
}

.home--2021 .hero-logo:focus img {
    filter: drop-shadow(0px 0px 25px rgb(247, 247, 226));
}

@media only screen and (max-width: 31.25em) {
    .home--2021 .hero {
        margin-bottom: 1rem;
        background-size: 800px;
    }

    .home--2021 .hero-content {
        padding-top: 2.5rem;
        min-height: 20rem;
    }

    .home--2021 .hero-logo img {
        width: 8rem;
        height: 6.75rem;
    }
}

@media only screen and (max-width: 20em) {
    .home--2021 .hero {
        background-position: -320px;
    }

    .home--2021 .hero-logo img {
        margin-left: 1rem;
    }
}

.home--2021 .calendar {
    background-color: transparent;
    padding: 0.4375rem;
    grid-gap: 0.4375rem;
    margin-top: 0;
}

.home--2021 .day {
    position: relative;
    background-color: #fff6da;
}

    .home--2021 .day::before {
        content: "";
        position: absolute;
        inset: 0;
        box-shadow: rgba(178, 170, 147, 0.3) 0px 30px 60px -12px, rgba(178, 170, 147, 0.3) 0px 18px 36px -18px;
        /* Transition box-shadow performante : https://alligator.io/css/transition-box-shadows/ */
        opacity: 0;
        transition-property: opacity;
        transition-duration: 0.4s;
        transition-delay: 0.1s;
        transition-timing-function: ease-in-out;
    }

    .home--2021 .day:hover::before,
    .home--2021 .day:focus-within::before {
        opacity: 1;
    }

    .home--2021 .day:nth-child(5n + 1) .day-link {
        color: #fff6da;
        border-color: #460d42;
        background-color: #460d42;
    }

    .home--2021 .day:nth-child(5n + 2) .day-link {
        color: #190537;
        border-color: #c37578;
        background-color: #c37578;
    }

    .home--2021 .day:nth-child(5n + 3) .day-link {
        color: #fff6da;
        border-color: #440166;
        background-color: #440166;
    }

    .home--2021 .day:nth-child(5n + 4) .day-link {
        color: #190537;
        border-color: #c8978c;
        background-color: #c8978c;
    }

    .home--2021 .day:nth-child(5n + 5) .day-link {
        color: #fff6da;
        border-color: #6a2449;
        background-color: #6a2449;
    }

    .home--2021 .day:nth-child(5n + 6) .day-link {
        color: #190537;
        border-color: #e370a0;
        background-color: #e370a0;
    }

.home--2021 .day-off {
    background-color: #191d1e;
}

.home--2021 .day-off-cell {
    border-color: #191d1e;
}

.home--2021 .day-number,
.home--2021 .day-off-number {
    margin-bottom: 0.75em;
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
    line-height: 2em;
}

.home--2021 .day-number {
    background-color: #fff6da;
    color: #2b1047;
}

.home--2021 .day-off-number {
    background-color: #191d1e;
    color: #b2aa93;
}

.home--2021 .day-author::before {
    background-color: currentColor;
}

.edition--2021 .header::after {
    background-color: #6abebf;
}

.edition--2021 .header-archive-year {
    color: #2b1047;
}

.edition--2021 .header-archive,
.edition--2021 .footer-archives,
.edition--2021 .jdw-button,
.edition--2021 .comment-button,
.edition--2021 .comment-edit-link {
    filter: hue-rotate(200deg);
}

.edition--2021 .post-title,
.edition--2021 .post-entry h2,
.edition--2021 .post-entry h3,
.edition--2021 .post-entry h4,
.edition--2021 .post-entry a,
.edition--2021 .comments-title,
.edition--2021 .post-author-title {
    color: #2b1047;
}

.post-entry ul li::before {
    background-color: #2b1047;
}

.edition--2021 .post-entry blockquote,
.edition--2021 .post-entry .answer {
    border-color: #6abebf;
}

.edition--2021 .post-entry .section,
.edition--2021 .post-entry .section::before,
.edition--2021 .post-entry .section::after,
.edition--2021 .post-footer,
.edition--2021 .post-footer::before,
.edition--2021 .post-footer::after,
.edition--2021 .posts-nav-link a,
.edition--2021 .comment-form,
.edition--2021 .comment-avatar {
    background: #f2f0ea;
}

    .edition--2021 .post-footer::after {
        background: #eee8d5;
    }

    .edition--2021 .comment-avatar span {
        color: #eee8d5;
    }

    .edition--2021 .posts-nav-link a::before {
        background-image: url(images/header/2021/arrow.png);
    }

.edition--2021 .comment-item,
.edition--2021 .comment-textbox,
.edition--2021 .comment-textarea {
    border-color: #6abebf;
}

.edition--2021 .post-aside {
    color: #367385;
}

.edition--2021 .footer {
    margin-top: 2rem;
    background: #2b1047 url(images/header/2021/footer-pattern.jpg) repeat;
    color: #fffaeb;
    border-top-color: #6abebf;
}

    .edition--2021 .footer a:focus {
        outline-color: #fffaeb;
    }

.edition--2021 .footer-link--twitter a::before {
    background-image: url(images/header/2021/icon-twitter.png);
}

/**
 * Thème 2022
 */
.home--2022 .site {
}

.home--2022 .hero {
}

.edition--2022 .header {
    background: #004063;
}

    .edition--2022 .header::after {
        background-color: #aed5fe;
    }

.edition--2022 .hero-content {
    margin-top: 3.5rem;
    min-height: 28.25rem;
}

.edition--2022 .hero-logo img {
    width: 12rem;
    height: 4.75rem;
}

.edition--2022 .footer {
    margin-top: 2rem;
    border-color: #aed5fe;
}

.edition--2022 .header-archive,
.edition--2022 .footer-archives,
.edition--2022 .jdw-button,
.edition--2022 .comment-button,
.edition--2022 .comment-edit-link {
    filter: hue-rotate(220deg);
}

.home--2022 .calendar {
    margin-top: 0;
    background-color: #fff;
}

.home--2022 .day-off {
    background-color: #fff;
    margin:0.5rem;
    border-radius:14px;
}

.home--2022 .day-off-cell {
    border-color: #cbebfd;
    border-radius: 14px;
}

.home--2022 .day-number {
    background-color: #183b54;
    color: #fdfefc;
}

.home--2022 .day-off-number {
    background-color: #d4ebfc;
    color: #183b54;
}

.home--2022 .day .day-link {
    border-color: #cbebfd;
    border-radius: 14px;
    margin: 0.5rem;
}

.centerImage {
    margin:0 auto;
}


.home--2022 .day:nth-child(1) .day-link,
.home--2022 .day:nth-child(3) .day-link,
.home--2022 .day:nth-child(5) .day-link,
.home--2022 .day:nth-child(7) .day-link,
.home--2022 .day:nth-child(8) .day-link,
.home--2022 .day:nth-child(10) .day-link,
.home--2022 .day:nth-child(12) .day-link,
.home--2022 .day:nth-child(14) .day-link,
.home--2022 .day:nth-child(15) .day-link,
.home--2022 .day:nth-child(17) .day-link,
.home--2022 .day:nth-child(19) .day-link,
.home--2022 .day:nth-child(21) .day-link,
.home--2022 .day:nth-child(22) .day-link,
.home--2022 .day:nth-child(24) .day-link,
.home--2022 .day:nth-child(26) .day-link,
.home--2022 .day:nth-child(28) .day-link,
.home--2022 .day:nth-child(29) .day-link,
.home--2022 .day:nth-child(31) .day-link {
    color: #fff;
    background-color: #095b9a;
    background-image: url('../images/calendar/hftLogo.png');
}

.home--2022 .day:nth-child(2) .day-link,
.home--2022 .day:nth-child(4) .day-link,
.home--2022 .day:nth-child(6) .day-link,
.home--2022 .day:nth-child(9) .day-link,
.home--2022 .day:nth-child(11) .day-link,
.home--2022 .day:nth-child(13) .day-link,
.home--2022 .day:nth-child(16) .day-link,
.home--2022 .day:nth-child(18) .day-link,
.home--2022 .day:nth-child(20) .day-link,
.home--2022 .day:nth-child(23) .day-link,
.home--2022 .day:nth-child(25) .day-link,
.home--2022 .day:nth-child(27) .day-link,
.home--2022 .day:nth-child(30) .day-link {
    color: #fff;
    background-color: #095b9a;
    background-image: url('../images/calendar/oddBg.png');
}

.home--2022 .day .day-link {
    color: #003550;
    background-color: #aee5e7;
}

.edition--2022 .post-title,
.edition--2022 .post-entry h2,
.edition--2022 .post-entry h3,
.edition--2022 .post-entry a,
.edition--2022 .post-author-title,
.edition--2022 .comments-title,
.edition--2022 .posts-nav {
    color: #095b9a;
}

.edition--2022 .post-entry ul li::before {
    background-color: #095b9a;
}

/*
 * Styles pour les onglets
 * Article d'Emmanuelle Aboaf en 2022
 */
.tabs {
    margin: 1em 0;
    border: 0.3125em solid #d9ecec;
}

    .tabs [role="tablist"] {
        background-color: #d9ecec;
    }

    .tabs [role="tab"] {
        padding: 0.5em 0.8em;
        font-family: inherit;
        font-size: 0.8em;
        background-color: #d9ecec;
        border-width: 2px 2px 0 0;
        border-style: solid;
        border-color: #fff;
        cursor: pointer;
    }

        .tabs [role="tab"]:first-child {
            border-left-width: 2px;
        }

        .tabs [role="tab"][aria-selected="true"] {
            background-color: #fff;
        }

    .tabs [role="tabpanel"] {
        padding: 0.75em;
    }

        .tabs [role="tabpanel"] pre {
            margin: -0.75em;
        }
