/* Import de la police Proxima Nova */
@import url('https://use.typekit.net/pgj6oiq.css');
@import url("reset.css");
@import url("helpers.css");
@import url("pictos.css");

/* ========================================================================== */
/* Variables */
/* ========================================================================== */

:root {
    /* Couleurs du site */
    --couleur-bleu-ville: #074b98;
    --couleur-bleu-sombre: #202737;
    --couleur-gris-clair: #f0f0f0;
    --couleur-gris: #cccccc;
    --couleur-gris-sombre: #545454;

    /* Couleurs des catégories */
    --couleur-decouvrir: #287AB8;
    --couleur-decouvrir-clair: #bbd2e5;
    --couleur-eclater: #c64e2f;
    --couleur-eclater-clair: #e8bcad;
    --couleur-degourdir: #2e834c;
    --couleur-degourdir-clair: #dee4d6;
    --couleur-agir: #6a7895;
    --couleur-agir-clair: #c0c3d1;

    /* Largeurs standards */
    --largeur-normale: 760px;
    --largeur-large: 1000px;
    --largeur-treslarge: 1400px;
    --largeur-maximale: 1800px;

}

.categorie-agir {
    --theme-couleur: var(--couleur-agir);
    --theme-couleur-claire: var(--couleur-agir-clair);

    --theme-texture: url(/media/gvjfdkrj/texture-4.svg);
    --theme-texture-size: 550px;

    --theme-blockquote-1: url(/media/wxyb1dek/blockquote-agir.svg);
    --theme-blockquote-2: url(/media/m3lfg2zw/blockquote-agir-2.svg);
    --theme-blockquote-3: url(/media/zntpeu5b/blockquote-agir-3.svg);

    --theme-question-accent: url(/media/t3yftd1f/question-accent-agir.svg);
    --theme-texture-overlay: url(/media/uuxi4qjm/texture-overlay-bas-agir.svg);

    --theme-filet-accueil-grand: url(/media/opyepiud/accueil-agir-grand.svg);
    --theme-filet-accueil-moyen: url(/media/bjep1aja/accueil-agir-moyen.svg);
    --theme-filet-accueil-petit: url(/media/htenil1k/accueil-agir-petit.svg);
}

.categorie-decouvrir {
    --theme-couleur: var(--couleur-decouvrir);
    --theme-couleur-claire: var(--couleur-decouvrir-clair);

    --theme-texture: url(/media/opphsbdk/texture-1.svg);
    --theme-texture-size: 135px;

    --theme-blockquote-1: url(/media/kklh0p3o/blockquote-decouvrir.svg);
    --theme-blockquote-2: url(/media/hiap5niz/blockquote-decouvrir-2.svg);
    --theme-blockquote-3: url(/media/r0xjuiks/blockquote-decouvrir-3.svg);

    --theme-question-accent: url(/media/uecj1mtk/question-accent-decouvrir.svg);
    --theme-texture-overlay: url(/media/gitogs1n/texture-overlay-bas-decouvrir.svg);

    --theme-filet-accueil-grand: url(/media/vdrhcwec/accueil-decouvrir-grand.svg);
    --theme-filet-accueil-moyen: url(/media/15ibkh5h/accueil-decouvrir-moyen.svg);
    --theme-filet-accueil-petit: url(/media/qqnntf0o/accueil-decouvrir-petit.svg);
}

.categorie-degourdir {
    --theme-couleur: var(--couleur-degourdir);
    --theme-couleur-claire: var(--couleur-degourdir-clair);

    --theme-texture: url(/media/gqhb4xy0/texture-2.svg);
    --theme-texture-size: 100px;

    --theme-blockquote-1: url(/media/jmzldsk4/blockquote-degourdir.svg);
    --theme-blockquote-2: url(/media/ommiiutt/blockquote-degourdir-2.svg);
    --theme-blockquote-3: url(/media/4h1a2i4a/blockquote-degourdir-3.svg);

    --theme-question-accent: url(/media/oewierra/question-accent-degourdir.svg);
    --theme-texture-overlay: url(/media/limju3y3/texture-overlay-bas-degourdir.svg);

    --theme-filet-accueil-grand: url(/media/eouplqft/accueil-degourdir-grand.svg);
    --theme-filet-accueil-moyen: url(/media/zzqnxcaj/accueil-degourdir-moyen.svg);
    --theme-filet-accueil-petit: url(/media/cpabdtgb/accueil-degourdir-petit.svg);
}

.categorie-eclater {
    --theme-couleur: var(--couleur-eclater);
    --theme-couleur-claire: var(--couleur-eclater-clair);

    --theme-texture: url(/media/omantmpd/texture-3.svg);
    --theme-texture-size: 550px;

    --theme-blockquote-1: url(/media/zgcjvyx2/blockquote-eclater.svg);
    --theme-blockquote-2: url(/media/ibbjxn5w/blockquote-eclater-2.svg);
    --theme-blockquote-3: url(/media/0yyimzsc/blockquote-eclater-3.svg);

    --theme-question-accent: url(/media/rqnn3dep/question-accent-eclater.svg);
    --theme-texture-overlay: url(/media/sghlecx2/texture-overlay-bas-eclater.svg);

    --theme-filet-accueil-grand: url(/media/l02fawm3/accueil-eclater-grand.svg);
    --theme-filet-accueil-moyen: url(/media/oipdvm1n/accueil-eclater-moyen.svg);
    --theme-filet-accueil-petit: url(/media/h45fir1h/accueil-eclater-petit.svg);
}

h1,
.h1 {
    font-size: 2.1rem;
    font-weight: 800;
    margin: 0.4em 0 16px;
    text-wrap: balance;
}

h2,
.h2 {
    font-size: 1.75rem;
    font-weight: 800;
    margin: 1.5em 0 14px -1px;
    text-wrap: balance;
}

h3,
.h3 {
    font-size: 1.385rem;
    font-weight: 700;
    margin: 1.4em 0 10px;
    text-transform: none;
}

h2+h3,
h2+.h3 {
    margin-top: 0;
}

h4,
.h4 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 1.2em 0 7px;
}

h4>sup,
.h4>sup {
    text-transform: none;
}

h3+h4,
h3+.h4 {
    margin-top: 0;
}

h5,
.h5 {
    font-size: 1rem;
    font-weight: 700;
    margin: 1.2em 0 4px;
    text-transform: none;
}

h6,
.h6 {
    font-size: 1rem;
    font-weight: 700;
    margin: 1em 0 1px;
    text-transform: none;
}

p {
    line-height: 1.5;
    margin: 0 0 25px;
}

li {
    line-height: 1.5;
    margin: 0 0 15px 0;
}

li ul li {
    line-height: 1.5;
    margin: 0 0 10px 0;
}

ul+li {
    margin: 12px 0 10px;
}

i,
em,
.italic {
    font-style: italic;
}

.medium {
    font-weight: 500;
}

b,
strong,
.bold {
    font-weight: 700;
}

.extrabold {
    font-weight: 800;
}

sup {
    text-transform: none;
}

.article-info sup {
    font-size: small;
}

.surtitre {
    color: var(--couleur-gris-sombre);
    font-size: .8em;
    font-weight: 500;
    letter-spacing: -.1px;
    margin-top: 2.9em;
    margin-bottom: 0;
}

.soustitre {
    font-size: 1em;
    font-weight: 600;
}

.surtitre+:is(h1, h2, h3, h4) {
    margin-top: 0;
}

h1+.soustitre {
    margin-top: -13px;
}

h2+.soustitre {
    margin-top: -10px;
}

h3+.soustitre {
    margin-top: -10px;
    font-size: 0.95em;
}

h4+.soustitre {
    margin-top: -8px;
    font-size: 0.85em;
}

:is(h1, h2, h3, h4)>strong {
    font-weight: inherit;
}

body>header {
    padding-bottom: 25px;
}

body>header a {
    text-decoration: none;
}

body>header .picto-loupe {
    margin: 0 1.5em;
    width: 30px;
    height: 30px;
}

body>header .picto-loupe:before {
    width: 30px;
    height: 30px;
}

#header-haut {
    background-color: var(--couleur-bleu-sombre);
    min-height: 46px;
    height: 10vw;
    max-height: 95px;
    position: relative;
}

#logo-blogueaccentlocal {
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
}

#logo-blogueaccentlocal a {
    background-color: var(--couleur-bleu-ville);
    color: white;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 35%;
    min-width: 120px;
    max-width: 375px;
}

#logo-blogueaccentlocal a img {
    width: 100%;
    height: auto;
}

#logo-ville {
    color: white;
    position: absolute;
    display: inline-block;
    background-image: url(/media/hxbk3ihz/logo-ville-quebec.svg);
    background-repeat: no-repeat;
    height: 100%;
    width: 100px;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

@media (min-width: 640px) {
    #logo-ville {
        height: 8vw;
    }
}

@media (min-width: 960px) {
    #logo-ville {
        height: 82px;
        width: 120px;
    }
}

@media (min-width: 1580px) {
    #logo-ville {
        left: 3%;
    }
}

@media (min-width: 640px) {
    #menu-principal {
        font-size: 1rem;
        font-weight: 500;
        list-style: none;
        margin: 7vw 0 0;
        padding: 0;
        text-align: center;
    }
}

@media (min-width: 940px) {
    #menu-principal {
        margin-top: 66px;
    }
}

@media (min-width: 640px) {
    #menu-principal li {
        display: inline-block;
        margin: 0 0.5%;
    }
}

@media (min-width: 767px) {
    #menu-principal li {
        margin: 0 1%;
    }
}

@media (min-width: 960px) {
    #menu-principal li {
        margin: 0 1.5%;
    }
}

@media (min-width: 1280px) {
    #menu-principal li {
        margin: 0 2%;
    }
}

@media (min-width: 640px) {
    #menu-principal li:last-child {
        margin-right: 0;
    }

    #menu-principal li a {
        color: black;
        display: block;
        padding: 0.25em 1em;
        position: relative;
    }

    #menu-principal li a:not(#menu-recherche):before {
        background-size: cover;
        content: " ";
        position: absolute;
        width: 100%;
        top: 0;
        height: 100%;
        left: 0;
        z-index: -1;
        opacity: 0;
        transition: opacity .3s;
    }

    #menu-principal li a#menu-decouvrir:before {
        background-image: url(/media/jn2hqgfd/menu-decouvrir.svg);
    }

    #menu-principal li a#menu-eclater:before {
        background-image: url(/media/ttrala2u/menu-eclater.svg);
    }

    #menu-principal li a#menu-degourdir:before {
        background-image: url(/media/zzhhs24b/menu-degourdir.svg);
    }

    #menu-principal li a#menu-agir:before {
        background-image: url(/media/5opjsb0u/menu-agir.svg);
    }

    #menu-principal li a:not(#menu-recherche):hover:before,
    #menu-principal li a.actif:not(#menu-recherche):before {
        opacity: 1;
    }

    #menu-principal li a#menu-recherche {
        top: 7px;
    }

    #btn-menu {
        display: none;
    }
}

@media (max-width: 639px) {
    body.nav-active {
        overflow: hidden;
    }

    body.nav-active main,
    body.nav-active article {
        filter: blur(5px);
        transition: filter 1s;
    }

    #logo-blogueaccentlocal a {
        z-index: 110;
    }

    #menu-principal {
        align-items: center;
        background-color: rgba(255, 255, 255, 0.8);
        display: flex;
        flex-wrap: wrap;
        margin: 0;
        padding: 0;
        opacity: 0;
        height: 0;
        position: fixed;
        visibility: hidden;
        top: 60px;
        transition: opacity .7s, visibility .7s, height .7s;
        z-index: 100;
    }

    #menu-principal li {
        flex-basis: 100%;
    }

    #menu-principal a {
        color: black;
        display: block;
        padding: 1em;
        font-size: 25px;
        font-weight: 500;
        text-align: center;
    }

    #menu-principal #menu-recherche {
        width: auto;
        height: auto;
    }

    #menu-principal #menu-recherche:before {
        content: none;
    }

    #menu-principal #menu-recherche .sr {
        position: relative;
        width: auto;
        height: auto;
        margin: 0;
        overflow: auto;
        clip: inherit;
    }

    .nav-active #menu-principal {
        height: calc(100vh - 60px);
        opacity: 1;
        padding-bottom: 25%;
        visibility: visible;
    }

    /*====================================
      Bouton burger du menu principal
    ======================================*/
    #btn-menu {
        background: none;
        border: none;
        font-size: 15.3px;
        padding: 0;
        top: 50%;
        right: 0;
        margin: 0;
        height: 100%;
        width: 100px;
        cursor: pointer;
        position: absolute;
        z-index: 1200;
        float: right;
        transition: opacity 0.3s, background-color 0.3s;
        transform: translateY(-50%);
    }

    #btn-menu:hover {
        opacity: .8;
    }

    #btn-menu:focus {
        outline: none;
    }

    #btn-menu:focus>div {
        outline: 2px ridge white;
    }

    #btn-menu>div {
        width: 100%;
        height: 100%;
    }

    #btn-menu .bar-group {
        left: 9px;
        top: 50%;
        position: relative;
        transform: translateY(-50%);
        width: 21px;
    }

    #btn-menu .bar {
        background-color: white;
        display: block;
        height: 2px;
        border: 0;
        transition: all .35s ease;
    }

    #btn-menu .bar+.bar {
        margin-top: 4px;
    }

    #btn-menu .middle {
        top: 11px;
    }

    #btn-menu .bottom {
        top: 22px;
    }

    #btn-menu .titre {
        position: absolute;
        color: white;
        top: 50%;
        transform: translateY(-50%);
        right: 15px;
        transition: color 0.3s;
    }

    #btn-menu.toggle-active .bar {
        background-color: white;
    }

    #btn-menu.toggle-active .top {
        transform: translateY(6px) translateX(0) rotate(45deg);
    }

    #btn-menu.toggle-active .middle {
        opacity: 0;
    }

    #btn-menu.toggle-active .bottom {
        transform: translateY(-6px) translateX(0) rotate(-45deg);
    }
}

section {
    padding: 20px;
}

section>div {
    margin: 0 auto;
    max-width: var(--largeur-normale);
}

section>div>h2:first-child {
    margin-top: .5em;
}

section.image div img {
    object-fit: cover;
    /*max-height: 542px*/
}

section.image.large div {
    max-width: var(--largeur-large);
}

section.image.large div img {
    /*max-height: 700px*/
}

section.deux-images div {
    align-items: baseline;
    display: flex;
    max-width: var(--largeur-large);
}

section.deux-images div figure:first-child {
    margin-right: 1.5em;
}

@media (min-width: 768px) {
    section.deux-images div figure:first-child {
        margin-right: 2.5em;
    }
}

section.galerie-images.large div {
    max-width: var(--largeur-large);
}

@media (max-width: 767px) {
    section.galerie-images.large .ms-bullets {
        display: none;
    }
}

section.video .video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
}
section.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section.video h2:first-child,
section.video h3:first-child {
    margin-top: 0;
}

section.video.large div {
    max-width: var(--largeur-large);
}

section.section-recherche {
    padding-bottom: 3.5em;
    text-align: center;
}

section.section-recherche.section-recherche-haut {
    height: 100%;
}

section.section-recherche>div>div {
    display: inline-block;
    position: relative;
    overflow: hidden;
    vertical-align: middle;
}

section.section-recherche input {
    width: 175px;
    border: 1px solid black;
    border-right: 0;
    font-size: .95em;
    height: 50px;
    padding: 12px;
    position: relative;
    outline: 0;
    vertical-align: middle;
}

@media (min-width: 768px) {
    section.section-recherche input {
        width: 400px;
    }
}

section.section-recherche .btn {
    border: 1px solid black;
    border-left: 0;
    border-radius: 0;
    height: 50px;
    padding: 20px 30px;
    margin-left: -5px;
    vertical-align: middle;
}

section.section-recherche .btn.btn-picto[class*="picto-"]:before {
    left: 13px;
    width: 35px;
    max-height: 35px;
}

section.section-resultats {
    font-size: .95em;
    padding-bottom: 3.5em;
}

/* 

En-tête d'un article

*/
article header>div {
    margin: 0 auto;
    max-width: var(--largeur-treslarge);
    padding: 1.5em 1.5em 2.5em;
}

@media (min-width: 640px) {
    article header>div {
        padding: 1.5em 3em 3em;
    }
}

article .introduction+section {
    padding-top: 0;
}

/* 

Fiches

*/
.fiches {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.fiches .fiche {
    flex-basis: 100%;
}

@media (min-width: 640px) {
    .fiches .fiche {
        flex-basis: 50%;
    }
}

@media (min-width: 960px) {
    .fiches .fiche {
        flex-basis: 33.3333%;
    }
}

@media (min-width: 1580px) {
    .fiches .fiche:not(.fiche-voiraussi) {
        flex-basis: 25%;
    }
}

/* 

Exceptions, fiches de la page d'accueil : 
* juste 1 ligne peu importe le nombre (on cache le surplus)
* max de 4 de large

*/
.fiches.fiches-accueil {
    margin: -10px;
}

@media (min-width: 1280px) {
    .fiches.fiches-accueil {
        margin: -25px -20px -25px -25px;
    }
}

.fiches.fiches-accueil .fiche {
    display: none;
}

@media (min-width: 1580px) {
    .fiches.fiches-accueil .fiche {
        flex-basis: 33.3333%;
    }
}

.fiches.fiches-accueil .fiche:nth-child(1),
.fiches.fiches-accueil .fiche:nth-child(2),
.fiches.fiches-accueil .fiche:nth-child(3) {
    display: block;
}

@media (min-width: 640px) {
    .fiches.fiches-accueil .fiche:nth-child(4) {
        display: block;
    }
}

@media (min-width: 960px) {

    .fiches.fiches-accueil .fiche:nth-child(5),
    .fiches.fiches-accueil .fiche:nth-child(6) {
        display: block;
    }
}

.fiches.fiches-accueil .fiche:first-child:nth-last-child(6),
.fiches.fiches-accueil .fiche:first-child:nth-last-child(6)~.fiches.fiches-accueil .fiche {
    display: block;
}

/* 

 Bouton "Voir plus" après une liste de fiches.

*/
#voir-plus {
    margin: 3em 0 2em;
    text-align: center;
}

/* 

Page d'accueil > En Vedette

*/
.accueil-envedette a {
    display: block;
    min-height: 250px;
    position: relative;
    text-decoration: none;
}

.accueil-envedette .envedette-image {
    margin-bottom: 1em;
}

@media (min-width: 768px) {
    .accueil-envedette .envedette-image {
        margin-bottom: 2.5em;
    }
}

.envedette-image img {
    display: block;
    object-fit: cover;
    max-height: 350px;
}

@media (min-width: 640px) {
    .envedette-image img {
        max-height: 750px;
    }
}

.envedette-contenu {
    bottom: 0;
    left: 2em;
    padding: 0;
}

@media (min-width: 768px) {
    .envedette-contenu {
        padding: 2em 2em 0;
        position: absolute;
        max-width: 560px;
        width: 68%;
    }
}

.envedette-contenu .envedette-surtitre {
    margin-bottom: 0;
}

.envedette-contenu h1 {
    margin-top: 5px;
}

.envedette-contenu .envedette-soustitre {
    color: black;
}

.envedette-contenu time {
    display: inline-block;
    margin-top: 10px;
}

.envedette-contenu .etiquettes {
    bottom: 0;
    margin: 5px 0 0;
    position: absolute;
    right: 0;
    max-width: 70%;
    overflow: hidden;
    max-height: 22px;
    text-align: right;
}

@media (min-width: 768px) {
    .envedette-contenu .etiquettes {
        right: 1.7em;
    }
}

.envedette-contenu .etiquettes>li {
    border: none;
    margin-right: 3px;
}

.envedette-contenu .etiquettes .etiquette {
    color: var(--couleur-gris-sombre);
    font-size: .675rem;
    line-height: 1em;
    overflow: hidden;
    padding: 2px 5px 1px;
    white-space: nowrap;
}

/* 

Page Catégorie

*/
.page-categorie {
    min-height: 45vh;
}

.page-categorie .fiche {
    display: none;
}

.page-categorie .fiche:nth-child(-n+8) {
    display: block;
}
@media (min-width: 960px) {
    .page-categorie .fiche:nth-child(-n+9) {
        display: block;
    }
}
@media (min-width: 1580px) {
    .page-categorie .fiche:nth-child(-n+12) {
        display: block;
    }
}

/* 

Page Étiquette

*/
.page-etiquette #categorie-intro h2 {
    margin-top: 5px;
    font-size: 1.4em;
    font-weight: 600;
}

.page-etiquette #categorie-intro p {
    max-width: 960px;
    margin: 0 auto;
    font-size: .82em;
    line-height: 1.4em;
}

dl.question-reponse dt {
    font-size: 1.5em;
    font-weight: 900;
    line-height: 1.25em;
    margin-bottom: .75em;
    position: relative;
}

dl.question-reponse dt::before {
    content: " ";
    width: 61px;
    height: 53px;
    position: absolute;
    left: -17px;
    top: -17px;
    z-index: -1;
}

@media (min-width: 850px) {
    dl.question-reponse dt::before {
        left: -33px;
        top: -8px;
    }
}

dl.question-reponse dt::before {
    background-image: var(--theme-question-accent);
}

dl.question-reponse dd {
    line-height: 1.5em;
    margin-left: 0;
    position: relative;
}

dl.question-reponse dd p {
    margin-bottom: .75em;
}

dl.question-reponse dd p:first-child::before {
    content: "R. ";
    position: relative;
    font-weight: 900;
}

.section-info-ids {
    font-size: .85em;
    font-weight: 600;
}

.section-info-ids h2,
.section-info-ids h3,
.section-info-ids h4 {
    font-size: 1.4em;
    margin-bottom: 10px;
}

.section-info-ids p {
    line-height: 1.3em;
}

.section-info-ids a[href*="goog"],
.section-info-ids a[href*="maps"],
.section-info-ids a[href*="carte"] {
    padding-left: 20px;
    position: relative;
}

.section-info-ids a[href*="goog"]:before,
.section-info-ids a[href*="maps"]:before,
.section-info-ids a[href*="carte"]:before {
    display: block;
    content: " ";
    background-position: top left;
    background-repeat: no-repeat;
    width: 22px;
    height: 22px;
    top: 1px;
    left: -4.5px;
    position: absolute;
}

.section-info-ids a[href*="carte"]:before {
    background-image: url("/media/ymzdcoyu/picto-carte-interactive.svg");
    filter: contrast(0.2) sepia(100%) hue-rotate(172deg) brightness(0.53) saturate(6);
}

.section-info-ids a[href*="goog"]:before,
.section-info-ids a[href*="maps"]:before {
    background-image: url("/media/ff2nydcf/picto-carte-google.svg");
}

.section-credit-photo {
    color: var(--couleur-gris-sombre);
    font-size: .75em;
}

.section-credit-photo p {
    margin-bottom: 0;
}

.section-credit-photo+.section-etiquettes {
    padding-top: 0;
}

.section-credit-photo+.section-etiquettes hr {
    margin-top: 24px;
}

section.separateur {
    padding: 0;
}

section.separateur hr.invisible {
    opacity: 0;
    margin-bottom: 10px;
}

section.liste h2 {
    position: relative;
}

section.liste .numero:after {
    content: ".";
}

@media (min-width: 1280px) {
    section.liste .numero:after {
        content: none;
    }
}

section.liste .numero {
    color: var(--theme-couleur);
}

@media (min-width: 1280px) {
    section.liste .numero {
        color: var(--theme-couleur-claire);
        position: absolute;
        font-size: 3em;
        left: -150px;
        line-height: .8em;
        width: 125px;
        display: block;
        text-align: right;
        top: -20px;
    }
}

.section-infolettre {
    text-align: center;
}

.section-infolettre>div {
    padding-bottom: 1em;
}

.section-infolettre h2 {
    color: var(--couleur-bleu-ville);
    font-size: 1.6em;
    margin-bottom: 0;
}

.section-infolettre p {
    font-weight: 700;
    margin-bottom: 14px;
}

.section-infolettre form>div {
    background-color: white;
    display: inline-block;
    position: relative;
    overflow: hidden;
    vertical-align: middle;
}

.section-infolettre input[type=email] {
    width: 175px;
    border: 1px solid black;
    background: none;
    font-size: .95em;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    padding: 12px;
    outline: 0;
}

@media (min-width: 768px) {
    .section-infolettre input[type=email] {
        width: 300px;
    }
}

.section-infolettre input[type=email]:valid {
    background: white;
}

.section-infolettre input[type=email].invalide {
    background: #ffffbb;
}

.section-infolettre input[type=email]:focus+label {
    font-size: .7em;
    padding: 3px 13px;
    z-index: 2;
}

.section-infolettre label {
    transition: padding 0.2s, font-size 0.2s;
    position: absolute;
    color: var(--couleur-gris-sombre);
    letter-spacing: -.1px;
    padding: 14px 13px;
    top: 0;
    left: 0;
    font-size: .8em;
}

.section-infolettre input[type=email]:focus,
.section-infolettre textarea:focus {
    padding: 18px 12px 6px;
}

.section-infolettre .btn {
    margin-left: -5px;
    vertical-align: middle;
    border: 1px solid black;
    border-left: 0;
    border-radius: 0;
    font-size: .95em;
    padding: 12px 30px;
}


#articles-recents-intro h2 {
	font-size: 1.6rem;
	font-weight: 600;
	margin-top: 25px;
}

section.section-voir-aussi>div {
    margin-bottom: 2em;
}

section.section-voir-aussi a:nth-child(3),
section.section-voir-aussi a:nth-child(4) {
    display: none;
}

@media (min-width: 960px) {
    section.section-voir-aussi a:nth-child(3) {
        display: block;
    }
}

/* 

Étiquettes pour l'affichage des catégories 

*/
.etiquettes {
    list-style: none;
    padding-left: 0;
}

.etiquettes>li {
    border: 1px solid rgba(0, 0, 0, 0.2);
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;
}

@media (min-width: 768px) {
    .etiquettes>li {
        margin-right: 15px;
        margin-bottom: 0;
    }
}

.etiquettes>li:last-child {
    margin-right: 0;
}

.etiquettes .etiquette {
    color: black;
    display: block;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: -.05px;
    padding: 2px 8px 0;
    text-decoration: none;
    transition: color 0.3s, background-color 0.3s;
}

@media (min-width: 768px) {
    .etiquettes .etiquette {
        padding: 7px 12px 5px;
    }
}

.etiquettes a.etiquette:hover {
    background-color: var(--couleur-gris-sombre);
    color: white;
}

/* 

Barre de progression de lecture

*/
.read-progress {
    height: 5px;
    background-color: var(--couleur-bleu-ville);
    width: 0;
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
}

/* 

Séparateur

*/
hr {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    margin: 24px 0 25px;
}

article hr {
    margin-top: 40px;
    margin-bottom: 40px;
}

/* 

Citation

*/
section.quote {
    padding: 0;
}

@media (min-width: 960px) {
    section.quote {
        padding: 20px 0;
    }
}

section.quote>div {
    max-width: var(--largeur-large);
}

section.quote blockquote {
    margin: 0;
    padding: 1em;
    position: relative;
    font-size: 1.5em;
    text-align: center;
    background: url(/media/ldof5jig/blockquote-general.svg) no-repeat center;
    background-size: cover;
}

section.quote blockquote {
    background-image: var(--theme-blockquote-1);
}

section.quote blockquote.style2 {
    background-image: var(--theme-blockquote-2);
}

section.quote blockquote.style3 {
    background-image: var(--theme-blockquote-3);
}

@media (min-width: 768px) {
    section.quote blockquote {
        font-size: 2em;
    }
}

@media (min-width: 960px) {
    section.quote blockquote {
        background-size: contain;
    }
}

section.quote blockquote:before {
    content: "« ";
}

section.quote blockquote:after {
    content: " »";
    margin-left: 8px;
    position: absolute;
}


section.quote>div>p {
    color: var(--couleur-gris-sombre);
    text-align: right;
    padding-right: 1em;
    padding-top: 5px;
    line-height: 1.1em;
}

@media (min-width: 960px) {
    section.quote>div>p {
        text-align: left;
        padding-right: 0;
        position: relative;
        left: 80%;
        transform: translate(-70%);
        display: inline-block;
    }
}

section.quote.sans-fond>div blockquote {
    background: none;
}

/* 

Titre d'un article

*/
article header h1 {
    font-size: 1.85em;
    font-weight: 800;
    line-height: 1em;
    margin: 0.4em auto 12px;
    max-width: 950px;
    text-align: center;
    text-transform: none;
}

@media (min-width: 640px) {
    article header h1 {
        font-size: 2.5em;
    }
}

@media (min-width: 768px) {
    article header h1 {
        font-size: 2.75em;
    }
}

@media (min-width: 960px) {
    article header h1 {
        font-size: 3em;
    }
}

@media (min-width: 1280px) {
    article header h1 {
        font-size: 3.25em;
    }
}

.article-surtitre,
.article-soustitre {
    font-size: 1.2em;
    font-weight: 500;
    margin-bottom: 0;
    text-align: center;
}

.article-surtitre {
    margin-top: 1em;
}

.article-surtitre+h1 {
    margin-top: 0;
}

h1+.article-soustitre {
    font-size: 1.3em;
    line-height: 1.1em;
    margin-top: -6px;
    margin-bottom: 1em;
}

article header {
    color: white;
    background-position: center;
    position: relative;
}


article header {
    background-color: var(--theme-couleur);
    background-image: var(--theme-texture);
    background-size: var(--theme-texture-size);
}

article.texture-overlay header {
    background-image: none;
}

article.texture-overlay header .texture-overlay {
    position: absolute;
    width: 35%;
    right: 0;
    height: 100%;
    max-height: 500px;
    bottom: 0;
    background-image: url(/media/qlmcpmsc/texture-overlay-blanc.svg);
    background-repeat: no-repeat;
    background-position: bottom right;
    opacity: .4;
}

@media (min-width: 768px) {
    article.texture-overlay header .texture-overlay {
        width: 40%;
    }
}

@media (min-width: 960px) {
    article.texture-overlay header .texture-overlay {
        width: 50%;
    }
}

/* 

Widget en dessous du titre de l'article qui donne la date et le temps de lecture.

*/
#article-info {
    margin: 0 auto 1.5em;
    text-align: center;
    width: fit-content;
}

#article-info>* {
    display: block;
}

@media (min-width: 640px) {
    #article-info>* {
        display: inline-block;
    }
}

#article-info time {
    font-weight: 500;
}

@media (min-width: 640px) {
    #article-info time:after {
        content: " · ";
        margin: 0 .5em;
    }
}

#article-info time.datemaj {
    font-weight: 400;
}

/* 

Hero shot en en-tête d'un article

*/
#hero img {
    object-fit: cover;
    max-height: 750px;
}

/* 

Texte d'intrduction des pages de catégories

*/
#categorie-intro {
    color: white;
    font-size: 1.2rem;
    font-weight: 400;
    margin: .75em 0 1.5em;
    text-align: center;
}

#categorie-intro>p {
    line-height: 1.1em;
}

@media (min-width: 768px) {
    #categorie-intro>p {
        line-height: 1.2em;
    }
}

#categorie-intro span {
    display: block;
    font-size: 1.6em;
    font-weight: 600;
    margin-top: 5px;
}

.aucun-billet {
    color: white;
    font-weight: 500;
    margin: 7em auto 10em;
    text-align: center;
}

/* 

Texte d'intrduction des pages de catégories

*/
#articles-recents-intro {
    margin: 0 0 2em;
    text-align: center;
}

@media (max-width: 640px) {
    #articles-recents-intro {
        margin-bottom: 1.25em;
    }
}

@media (max-width: 640px) {
    #articles-recents-intro h2 {
        margin-top: 0;
    }
}

.fond-bleu-ville #articles-recents-intro h2 {
    color: white;
}

article .introduction {
    position: relative;
}

article .introduction>div {
    color: #444;
    font-size: 1.25em;
    font-weight: 600;
    line-height: 1.35em;
    margin: 1em auto 18px;
}

article.texture-overlay section.introduction {
    min-height: 150px;
}

article.texture-overlay section.introduction .texture-overlay {
    background-repeat: no-repeat;
    background-position: top right;
    width: 35%;
    height: 100%;
    max-height: 149.7px;
    top: 0;
    right: 0;
    position: absolute;
    z-index: -1;
    opacity: .18;
}

@media (min-width: 768px) {
    article.texture-overlay section.introduction .texture-overlay {
        width: 40%;
    }
}

@media (min-width: 960px) {
    article.texture-overlay section.introduction .texture-overlay {
        width: 50%;
    }
}

article.texture-overlay section.introduction .texture-overlay {
    background-image: var(--theme-texture-overlay);
}

/* 

Fiches

*/
.fiches {
    margin: -10px;
}

@media (min-width: 1280px) {
    .fiches {
        margin: -25px -10px 0;
    }
}

.fiches .fiche {
    color: black;
    text-decoration: none;
    border: 10px solid transparent;
}

@media (min-width: 1280px) {
    .fiches .fiche {
        border-width: 25px;
    }
}

.fiche-contenu {
    background-color: white;
    height: 100%;
    padding: .7em;
    position: relative;
    transition: background-color .3s ease-in-out;
}

.fiche-image {
    margin: -.7em -.7em 0 -.7em;
    overflow: hidden;
    padding-bottom: 66.666%;
    position: relative;
}

.fiche-image img {
    position: absolute;
    top: -9999px;
    bottom: -9999px;
    left: -9999px;
    right: -9999px;
    margin: auto;
    transition: transform .5s ease-in-out;
    object-fit: cover;
    height: 100%;
}

.fiche-titre {
    height: 5.5rem;
    overflow: hidden;
    padding-right: .25em;
    padding-top: .7em;
}

.fiche-contenu h2 {
    color: black;
    font-size: 1.2em;
    line-height: 1.1em;
    margin: 0;
    text-transform: none;
}

.fiche-contenu .fiche-surtitre,
.fiche-contenu .fiche-soustitre {
    color: var(--couleur-gris-sombre);
    font-size: .82em;
    font-weight: 500;
    margin-bottom: 0;
    line-height: 1.15em;
}

.fiche-contenu .fiche-surtitre+h2 {
    margin-top: 0;
}

.fiche-contenu h2+.fiche-soustitre {
    margin-top: 5px;
}

.fiche-contenu .fiche-info {
    position: relative;
}

.fiche-contenu hr {
    margin: 10px 0 0;
}

.fiche-contenu time {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -.1px;
    line-height: 27px;
    margin-top: 10px;
}

.fiche-contenu .etiquettes {
    margin: 5px 0 0;
    position: absolute;
    right: -7px;
    top: 50%;
    transform: translateY(-50%);
    max-width: 70%;
    overflow: hidden;
    max-height: 29px;
    text-align: right;
}

.fiche-contenu .etiquettes>li {
    border: none;
    margin-right: 3px;
}

.fiche-contenu .etiquettes .etiquette {
    color: var(--couleur-gris-sombre);
    font-size: .65rem;
    line-height: 2em;
    overflow: hidden;
    padding: 2px 5px 1px;
    white-space: nowrap;
}

.fiche:hover .fiche-titre h2 {
    text-decoration: underline;
}

.fiche:hover img {
    transform: scale(1.1);
}

/* 

Page d'accueil > En Vedette

*/
.envedette-contenu {
    background-color: white;
}

.envedette-contenu .envedette-surtitre {
    color: black;
    font-size: .85em;
    letter-spacing: .1px;
}

.envedette-contenu hr {
    border-top: none;
    margin-top: -25px;
}

.envedette-contenu hr:after {
    content: "";
    background-position: top left;
    background-repeat: no-repeat;
    background-size: auto;
    display: block;
    height: 0;
    padding-bottom: 22px;
    width: 100%;
}

.envedette-contenu h1 {
    color: black;
    font-size: 1.8em;
    font-weight: 800;
    line-height: 1em;
    text-transform: none;
}

@media (min-width: 768px) {
    .envedette-contenu h1 {
        font-size: 2.1em;
    }
}

.envedette-contenu h1.titre-long {
    font-size: 1.6em;
}

@media (min-width: 768px) {
    .envedette-contenu h1.titre-long {
        font-size: 1.9em;
    }
}

.envedette-contenu h1.titre-court {
    font-size: 1.95em;
}

@media (min-width: 768px) {
    .envedette-contenu h1.titre-court {
        font-size: 2.25em;
    }
}

.envedette-contenu time {
    color: black;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -.1px;
    line-height: 27px;
}

.accueil-envedette hr.grand::after {
    background-image: var(--theme-filet-accueil-grand);
}

.accueil-envedette hr.moyen::after {
    background-image: var(--theme-filet-accueil-moyen);
}

.accueil-envedette hr.petit::after {
    background-image: var(--theme-filet-accueil-petit);
}

/* 

Boutons

*/
.btn {
    background-color: #108848;
    border: 0;
    border-radius: 3px;
    color: white;
    cursor: pointer;
    display: inline-block;
    font: 500 .9em 'proxima-nova', sans-serif;
    padding: 11px 30px;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
    -webkit-appearance: none;
}

.btn:hover,
.btn:focus {
    background-color: #007236;
    color: white;
}

.btn:active {
    background-color: #007236;
    color: rgba(255, 255, 255, 0.5);
}

.btn.btn-grand {
    font-size: 1.1em;
    padding: 13px 42px;
}

.btn.btn-petit {
    padding: 8px 18px;
}

.btn.blanc {
    background-color: white;
    color: black;
}

.btn.blanc:hover,
.btn.blanc:focus {
    background-color: var(--couleur-gris-clair);
    color: black;
}

.btn.blanc:active {
    background-color: var(--couleur-gris-clair);
    color: rgba(0, 0, 0, 0.75);
}

/*
=========================================================================
    PICTOGRAMMES
=========================================================================

*/
/* pour les balises <a> et <button> */
.btn[class*="picto-"] {
    /* 30px */
    border: 0;
    padding-left: 38px;
    padding-right: 20px;
    position: relative;
}

.btn[class*="picto-"]:before {
    filter: invert(50%) brightness(200%);
    position: absolute;
    width: 25px;
    height: 100%;
    max-height: 25px;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.2s;
}

.btn[class*="picto-"]:active:before {
    opacity: 0.5;
}

/*

Bouton picto seul

*/
.btn.btn-picto {
    padding: 20px;
}

.btn.btn-picto[class*="picto-"]:before {
    left: 8px;
}

.btn.btn-picto span {
    display: none;
}

input.btn.btn-picto {
    padding: 10px 20px;
    background-position: 8px center;
}

/* 

Encadrés

*/
section.encadre {
    padding: 0;
}

@media (min-width: 768px) {
    section.encadre {
        padding: 20px;
    }
}

section.encadre>div>div {
    box-shadow: inset 0 0 0 0.3em #eeeeee;
    margin-top: 10px;
    margin-bottom: 15px;
    padding: 1em;
}

@media (min-width: 768px) {
    section.encadre>div>div {
        box-shadow: inset 0 0 0 0.5em #eeeeee;
        padding: 50px 3em 50px 3em;
    }
}

@media (min-width: 960px) {
    section.encadre>div>div {
        margin-left: -3em;
        margin-right: -3em;
    }
}

section.encadre>div>div>h2:first-child,
section.encadre>div>div>h3:first-child,
section.encadre>div>div>h4:first-child,
section.encadre>div>div>h5:first-child {
    margin-top: 0;
}

section.encadre>div>div>p:first-child {
    margin-top: 0;
}

section.encadre>div>div>p:last-child,
section.encadre>div>div>ul:last-child,
section.encadre>div>div>ol:last-child,
section.encadre>div>div>span:last-child>p:last-child {
    margin-bottom: 0;
}

section.encadre>div>div>p:last-child>a.btn {
    margin-bottom: 7px;
}

.encadre.style2>div>div {
    background-color: #f2f2f2;
    box-shadow: none;
}

.encadre.style3>div>div {
    box-shadow: none;
}

.encadre.style3>div>div {
    background-color: var(--theme-couleur);
}

.encadre.style3>div>div>* {
    color: white;
}

.encadre.style3>div>div a {
    color: white;
}

/*

Boutons partagez

*/
#boutons-partage {
    text-align: center;
    z-index: 100;
}

@media (min-width: 1580px) {
    #boutons-partage {
        position: absolute;
        right: 2em;
    }
}

#boutons-partage.is-fixed {
    position: fixed;
    top: 75px;
}

#boutons-partage .ssk {
    background-color: #212837;
    background-size: 23px;
    background-position: 6px 6px;
    background-repeat: no-repeat;
    clear: both;
    color: white;
    display: inline-block;
    margin: -1em auto .5em;
    width: 35px;
    height: 35px;
    overflow: hidden;
    transition: background-color 0.3s;
    position: relative;
    transition: width .3s, background-color .3s;
}

#boutons-partage .ssk.hover {
    width: 150px;
}

@media (min-width: 1580px) {
    #boutons-partage .ssk {
        background-size: 34px;
        background-position: 8px 8px;
        width: 50px;
        height: 50px;
        margin: 0 auto .5em;
        display: block;
        float: right;
    }
}

#boutons-partage .ssk span {
    position: absolute;
    top: 50%;
    left: 35px;
    padding-right: 5px;
    transform: translateY(-50%);
    font-size: .85em;
    line-height: 1em;
    width: 100px;
}

@media (min-width: 1580px) {
    #boutons-partage .ssk span {
        left: 55px;
    }
}

#boutons-partage .ssk-facebook {
    background-image: url(/media/kj1hqdb2/picto-partage-facebook.svg);
}

#boutons-partage .ssk-facebook.hover {
    background-color: #1877f2;
    width: 135px;
}

@media (min-width: 1580px) {
    #boutons-partage .ssk-facebook.hover {
        width: 165px;
    }
}

#boutons-partage .ssk-facebook.hover span {
    width: 94px;
}

#boutons-partage .ssk-twitter {
    background-image: url(/media/kcfbhikx/picto-partage-twitter.svg);
}

#boutons-partage .ssk-twitter.hover {
    background-color: #000000;
    width: 105px;
}

@media (min-width: 1580px) {
    #boutons-partage .ssk-twitter.hover {
        width: 135px;
    }
}

#boutons-partage .ssk-twitter.hover span {
    width: 60px;
}

#boutons-partage .ssk-linkedin {
    background-image: url(/media/gobezs43/picto-partage-linkedin.svg);
}

#boutons-partage .ssk-linkedin.hover {
    background-color: #0a66c2;
    width: 135px;
}

@media (min-width: 1580px) {
    #boutons-partage .ssk-linkedin.hover {
        width: 165px;
    }
}

#boutons-partage .ssk-linkedin.hover span {
    width: 94px;
}

#boutons-partage .ssk-email {
    background-image: url(/media/rv0iwn3n/picto-partage-courriel.svg);
    white-space: nowrap;
}

#boutons-partage .ssk-email.hover {
    background-color: var(--couleur-bleu-ville);
    width: 180px;
}

@media (min-width: 1580px) {
    #boutons-partage .ssk-email.hover {
        width: 210px;
    }
}

#boutons-partage .ssk-email.hover span {
    width: 145px;
}

#boutons-partage .ssk-lien {
    background-image: url(/media/2yca2jzv/picto-partage-lien.svg);
    white-space: nowrap;
}

#boutons-partage .ssk-lien.hover {
    background-color: var(--couleur-bleu-ville);
    width: 150px;
}

@media (min-width: 1580px) {
    #boutons-partage .ssk-lien.hover {
        width: 180px;
    }
}

#boutons-partage .ssk-lien.hover.copied {
    background-color: #23854a;
}

#boutons-partage .ssk-lien.hover span {
    width: 110px;
}

figcaption {
    font-size: .8em;
    color: var(--couleur-gris-sombre);
    line-height: 1.2em;
    text-align: center;
    padding: 0 1em;
}

.ms-slide-info {
    width: 100% !important;
}

.ms-info {
    text-align: center;
}

.ms-info>p {
    font-size: .8em;
    color: var(--couleur-gris-sombre);
    line-height: 1.2em;
}

/*

Abonnement Mailchimp

*/
#mc-embedded-subscribe {
    display: inline-block;
    margin: 0 0 0 -5px;
}

#mce-responses {
    background: transparent;
    display: block;
    font-size: .9em;
    margin-top: 1em;
}

#mce-error-response {
    color: #dc3b00;
}

section.cta {
    padding: 0 20px 20px;
}

.cta p {
    display: flex;
    margin: 0;
}

.cta--gauche p {
    justify-content: flex-start;
}

.cta--centre p {
    justify-content: center;
}

.cta--droite p {
    justify-content: flex-end;
}

footer {
    background-color: var(--couleur-bleu-sombre);
    color: var(--couleur-gris);
    overflow: hidden;
    padding: 0;
    position: relative;
}

footer a {
    font-size: 0.85em;
    text-decoration: none;
    color: var(--couleur-gris);
}

footer a:hover {
    color: white;
}

footer #footer-logos {
    margin: 1em auto 0;
    max-width: 400px;
    text-align: center;
}

footer #footer-logos #logo-footer-ville {
    display: inline-block;
    width: 43%;
}

@media (min-width: 768px) {
    footer #footer-logos #logo-footer-ville {
        width: 23%;
        min-width: 150px;
        max-width: 320px;
        position: absolute;
        top: 40%;
        left: 20px;
        transform: translateY(-50%);
    }
}

@media (min-width: 1580px) {
    footer #footer-logos #logo-footer-ville {
        left: 3%;
    }
}

footer #footer-logos #logo-footer-blogue {
    display: inline-block;
    width: 50%;
}

@media (min-width: 768px) {
    footer #footer-logos #logo-footer-blogue {
        min-width: 200px;
        max-width: 375px;
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 30%;
    }
}

footer nav {
    margin: 0 auto;
    width: fit-content;
}

@media (min-width: 768px) {
    footer nav {
        float: right;
        margin: 1.25em 2em 4vw 0;
    }
}

@media (min-width: 1580px) {
    footer nav {
        margin-right: 3%;
    }
}

footer nav ul {
    list-style: none;
    line-height: 1.35em;
    padding-left: 0;
}

footer nav ul li {
    margin-bottom: 0;
}

footer nav ul.btn-medias-sociaux li {
    display: inline-block;
    margin-right: 3px;
}

footer nav ul.btn-medias-sociaux li a {
    display: block;
    width: 35px;
    height: 35px;
}

@media (min-width: 640px) {
    footer nav ul.btn-medias-sociaux li a {
        width: 38px;
        height: 38px;
    }
}

@media (min-width: 768px) {
    footer nav ul.btn-medias-sociaux li a {
        width: 28px;
        height: 28px;
    }
}

footer nav ul.btn-medias-sociaux li a[class*="picto-"]:before {
    content: " ";
    width: 35px;
    height: 35px;
}

@media (min-width: 640px) {
    footer nav ul.btn-medias-sociaux li a[class*="picto-"]:before {
        width: 38px;
        height: 38px;
    }
}

@media (min-width: 768px) {
    footer nav ul.btn-medias-sociaux li a[class*="picto-"]:before {
        width: 28px;
        height: 28px;
    }
}

#footer-copyright {
    font-size: 14px;
    color: #ccc;
    clear: both;
    background-color: rgba(55, 61, 75, 0.9);
    text-align: center;
    padding: 10px 0;
    width: 100%;
    bottom: 0;
    margin-bottom: 0;
}

@media (min-width: 900px) {
    #footer-copyright {
        position: absolute;
    }
}

body {
    animation: page-load 1s;
    text-wrap: pretty;
}

@keyframes page-load {
    0% {
        opacity: 0;
    }

    60% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}