@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-Maigre-300.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-Maigre-300.otf#iefix') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-MaigreItalique-300.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-MaigreItalique-300.otf#iefix') format('opentype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-Normal-400.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-Normal-400.otf#iefix') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-Italique-400.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-Italique-400.otf#iefix') format('opentype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-Demi-500.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-Demi-500.otf#iefix') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-DemiItalique-500.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-DemiItalique-500.otf#iefix') format('opentype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-Gras-700.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-Gras-700.otf#iefix') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Hydro-Quebec';
    src: url('/fonte-hq/Hydro-Quebec-GrasItalique-700.woff2') format('woff2'),
        url('/fonte-hq/Hydro-Quebec-GrasItalique-700.otf#iefix') format('opentype');
    font-weight: 700;
    font-style: italic;
}

.hq-small,
.hq-large,
.hq-tag,
.hq-legal {
    letter-spacing: 0.16px;
}

.hq-small,
.hq-legende {
    font-size: 14px;
}

.hq-semi-bold {
    font-weight: 600;
}


.hq-bold {
    font-weight: 700;
}

.hq-legende {
    font-weight: 600;
}

.hq-tag {
    font-weight: 700;
    text-transform: uppercase;
}

.hq-tag,
.hq-legal {
    line-height: 16px;
    font-size: 12px;
}

.hq-large .hq-small {
    font-weight: 400;
}

.hq-affichage {
    font-family: "Hydro-Quebec", sans-serif;
    font-weight: 500;
    line-height: 48px;
}

.hq-titre1 {
    font-size: 31px;
    line-height: 40px;
    margin: 0 0;
}

.hq-affichage {
    font-size: 39px;
    line-height: 48px;
}


.hq-titre2 {
    font-size: 25px;
    line-height: 32px;
    margin: 16px 0;
}

.hq-titre3 {
    font-size: 20px;
    line-height: 24px;
    margin: 16px 0;
}

.hq-titre4 {
    font-size: 20px;
    line-height: 24px;
    margin: 16px 0;
}

.hq-titre4-fix {
    font-size: 20px !important;
    line-height: 24px !important;
    margin: 16px 0;
}

.hq-large {
    font-size: 20px;
    line-height: 24px;
}


@media (min-width: 640px) {
    .hq-hq-titre1 {
        font-size: 39px;
        line-height: 56px;
    }

    .hq-affichage {
        font-size: 49px;
        line-height: 64px;
    }

    .hq-titre2 {
        font-size: 31px;
        line-height: 40px;
    }

    .hq-titre3 {
        font-size: 25px;
        line-height: 32px;
    }
}

@media (min-width: 1024px) {
    .hq-titre1 {
        font-size: 49px;
        line-height: 64px;
    }

    .hq-affichage {
        font-size: 61px;
        line-height: 72px;
    }

    .hq-titre2 {
        font-size: 39px;
        line-height: 48px;
    }

    .hq-titre3 {
        font-size: 31px;
        line-height: 40px;
    }

    .hq-large {
        font-size: 25px;
        line-height: 32px;
    }
}

.hq-text-left {
    text-align: left;
}

.hq-text-right {
    text-align: right;
}

.hq-text-center {
    text-align: center;
}

.hq-uppercase {
    text-transform: uppercase;
}

.hq-underline {
    text-decoration: underline;
}

/* Vertically align svg icons */
[class*=hq-icone] {
    vertical-align: middle;
    height: auto;
}

.hq-icone-petite {
    width: 16px;
    height: 16px;
}

.hq-icone-medium {
    width: 20px;
    height: 20px;
}

.hq-icone-large {
    width: 24px;
    height: 24px;
}

.hq-ratio-1\:1 {
    aspect-ratio: 1/1;
}

.hq-ratio-16\:9 {
    aspect-ratio: 16/9;
}

.hq-ratio-3\:2 {
    aspect-ratio: 3/2;
}

.hq-img-cover {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
}

.hq-hide {
    display: none;
}

.hq-hide-mobile {
    visibility: hidden;
    height: 0;
}

@media (min-width: 640px) {
    .hq-hide-mobile {
        visibility: visible;
        height: auto;
    }
}

[class*=hq-bouton] {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 8px 24px;
    letter-spacing: 0.16px;
    transition: 0.25s all;
    border: 2px solid transparent;
    text-decoration: none;
    cursor: pointer;
}

[class*=hq-bouton]:focus-visible {
    outline: 2px dashed transparent;
    outline-offset: 4px;
    transition: none;
    outline-color: #1224B8;
}

[class*=hq-bouton][aria-disabled=true],
[class*=hq-bouton][aria-disabled=true]:hover {
    box-shadow: none;
    cursor: not-allowed;
}

[class*=hq-bouton-primaire],
[class*=hq-bouton-secondaire] {
    border-radius: 72px;
    border-color: #1224B8;
    width: 100%;
    min-width: 200px;
    max-width: 400px;
}

@media (min-width: 640px) {

    [class*=hq-bouton-primaire],
    [class*=hq-bouton-secondaire] {
        width: auto;
        max-width: none;
    }
}

.hq-bouton-primaire {
    background-color: #1224B8;
    /* ? Fix pour intégration dans vielle norme */
    color: #FFF !important;
}

.hq-bouton-primaire:hover {
    background-color: #0F096C;
    box-shadow: 0 0 8px rgba(15, 9, 108, 0.6);
}

.hq-bouton-primaire:active {
    background-color: #101692;
    box-shadow: none;
}

.hq-bouton-primaire:focus-visible {
    outline-color: #1224B8;
}

.hq-bouton-primaire[aria-disabled=true] {
    background-color: rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.25);
    border: 2px solid rgba(0, 0, 0, 0.1);
}

.hq-bouton-primaire[data-theme=sombre] {
    background-color: #FF9B00;
    border-color: #FF9B00;
    color: #000!important;
}

.hq-bouton-primaire[data-theme=sombre]:hover {
    background-color: #FF9B00;
    border: 2px solid #FFF;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.75);
}

.hq-bouton-primaire[data-theme=sombre]:active {
    background-color: #FD7714;
    box-shadow: none;
}

.hq-bouton-primaire[data-theme=sombre]:focus-visible {
    outline-color: #FFF;
}

.hq-bouton-primaire[data-theme=sombre][aria-disabled=true] {
    box-shadow: none;
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.35);
    border-color: rgba(255, 255, 255, 0);
}

[class*=hq-bouton-secondaire] {
    background-color: transparent;
    color: #1224B8;
    border-color: #1224B8;
}

.hq-bouton-secondaire:hover {
    background-color: #1224B8;
    color: #FFF;
}

.hq-bouton-secondaire:active {
    background-color: #0F096C;
    color: #FFF;
}

.hq-bouton-secondaire:focus-visible {
    outline-color: #1224B8;
}

.hq-bouton-secondaire[aria-disabled=true] {
    background-color: rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.25);
    border-color: rgba(0, 0, 0, 0.1);
}

.hq-bouton-secondaire[data-theme=sombre] {
    color: #FFF;
    border: 2px solid #FFF;
}

.hq-bouton-secondaire[data-theme=sombre]:hover {
    background-color: #FFF;
    color: #1224B8;
}

.hq-bouton-secondaire[data-theme=sombre]:active {
    background-color: #CFE3FA;
    color: #1224B8;
}

.hq-bouton-secondaire[data-theme=sombre]:focus-visible {
    outline-color: #FFF;
}

.hq-bouton-secondaire[data-theme=sombre][aria-disabled=true] {
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.35);
    border-color: rgba(255, 255, 255, 0);
}

[class*=hq-bouton-texte] {
    font-size: 16px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    color: #1224B8;
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
}

[class*=hq-bouton-texte] svg {
    margin-left: 8px;
}

[class*=hq-bouton-texte]:before {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 1px;
    left: 0;
    background-color: #1224B8;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

[class*=hq-bouton-texte]:hover::before {
    transform: scaleX(1);
    transform-origin: bottom left;
}

.hq-bouton-texte:active {
    color: #0F096C;
}

.hq-bouton-texte:active:before {
    background-color: #0F096C;
}

.hq-bouton-texte[aria-disabled=true] {
    color: rgba(0, 0, 0, 0.25);
}

.hq-bouton-texte[aria-disabled=true]:before {
    position: absolute;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.25);
    transform: none;
    height: 2px;
    bottom: 1px;
    left: 0;
}

.hq-bouton-texte[aria-disabled=true]:active {
    color: rgba(0, 0, 0, 0.25);
}

.hq-bouton-texte[aria-disabled=true]:active:before {
    background-color: rgba(0, 0, 0, 0.25);
}

.hq-bouton-texte[data-theme=sombre] {
    color: #FFF;
}

.hq-bouton-texte[data-theme=sombre]:before {
    background-color: #FFF;
}

.hq-bouton-texte[data-theme=sombre]:active {
    color: #73AFF0;
}

.hq-bouton-texte[data-theme=sombre]:active:before {
    background-color: #73AFF0;
}

.hq-bouton-texte[data-theme=sombre]:focus-visible {
    outline-color: #FFF;
}

.hq-bouton-texte[data-theme=sombre][aria-disabled=true] {
    color: rgba(255, 255, 255, 0.35);
}

.hq-bouton-texte[data-theme=sombre][aria-disabled=true]:before {
    position: absolute;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.35);
    transform: none;
    height: 2px;
    bottom: 1px;
    left: 0;
}

.hq-bouton-texte[data-theme=sombre][aria-disabled=true]:active {
    color: rgba(255, 255, 255, 0.35);
}

.hq-bouton-texte[data-theme=sombre][aria-disabled=true]:active:before {
    background-color: rgba(255, 255, 255, 0.35);
}

[class*=hq-bouton-nav-primaire],
[class*=hq-bouton-nav-secondaire] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-shadow: none;
    padding: 0;
}

[class*=hq-bouton-nav-primaire] {
    background-color: #1224B8;
    border: 2px solid #1224B8;
    color: #FFF;
}

.hq-bouton-nav-primaire:hover {
    background-color: #0F096C;
    box-shadow: 0 0 8px rgba(15, 9, 108, 0.6);
}

.hq-bouton-nav-primaire:active {
    background-color: #101692;
    box-shadow: none;
}

.hq-bouton-nav-primaire[aria-disabled=true] {
    background-color: rgba(0, 0, 0, 0.1);
    border-color: rgba(0, 0, 0, 0.1);
}

.hq-bouton-nav-primaire[aria-disabled=true]:hover {
    background-color: rgba(0, 0, 0, 0.1);
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: none;
}

.hq-bouton-nav-primaire[data-theme=sombre] {
    background-color: #FF9B00;
    border: 2px solid #FF9B00;
    color: #000;
}

.hq-bouton-nav-primaire[data-theme=sombre]:hover {
    background-color: #FF9B00;
    border: 2px solid #FFF;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.75);
}

.hq-bouton-nav-primaire[data-theme=sombre]:active {
    background-color: #FD7714;
    box-shadow: none;
}

.hq-bouton-nav-primaire[data-theme=sombre]:focus-visible {
    outline-color: #FFF;
}

.hq-bouton-nav-primaire[data-theme=sombre][aria-disabled=true] {
    background-color: rgba(255, 255, 255, 0.1);
    border: 2px solid transparent;
    box-shadow: none;
}

[class*=hq-bouton-nav-secondaire] {
    background-color: transparent;
    border: 2px solid #1224B8;
    color: #1224B8;
}

.hq-bouton-nav-secondaire:hover {
    background-color: #1224B8;
    box-shadow: none;
    color: #FFF;
}

.hq-bouton-nav-secondaire:active {
    background-color: #101692;
    box-shadow: none;
}

.hq-bouton-nav-secondaire[aria-disabled=true] {
    background-color: rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(0, 0, 0, 0.1);
}

.hq-bouton-nav-secondaire[aria-disabled=true]:hover {
    background-color: rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(0, 0, 0, 0.1);
    box-shadow: none;
    color: #1224B8;
}

.hq-bouton-nav-secondaire[data-theme=sombre] {
    background-color: transparent;
    border: 2px solid #FFF;
    color: #FFF;
}

.hq-bouton-nav-secondaire[data-theme=sombre]:hover {
    background-color: #FFF;
    color: #1224B8;
}

.hq-bouton-nav-secondaire[data-theme=sombre]:active {
    background-color: #E7F1FC;
    box-shadow: none;
}

.hq-bouton-nav-secondaire[data-theme=sombre]:focus-visible {
    outline-color: #FFF;
}

.hq-bouton-nav-secondaire[data-theme=sombre][aria-disabled=true] {
    background-color: rgba(255, 255, 255, 0.1);
    border: 2px solid transparent;
}

[class*=hq-bouton][data-display=affichage] {
    padding: 18px 36px;
}

[class*=hq-bouton-nav][data-display=affichage] {
    padding: 0;
    width: 48px;
    height: 48px;
}

[class*=hq-bouton-fermer] {
    background: transparent;
    border: solid 1px transparent;
    border-radius: 100%;
    color: #000;
    padding: 6px;
    line-height: normal;
}

[class*=hq-bouton-fermer]:hover {
    border: solid 1px #1224B8;
    border-radius: 100%;
    padding: 6px;
}

[class*=hq-bouton-fermer]:active {
    background-color: #E7F1FC;
}

[class*=banniere-interne] {
    border-radius: 16px;
    padding: 24px;
    font-size: 16px;
    display: grid;
    gap: 24px;
    justify-content: center;
    max-width: 1224px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 640px) {
    [class*=banniere-interne] {
        padding: 40px 16px 40px 16px;
    }
}

[class*=banniere-interne] h1,
[class*=banniere-interne] h2,
[class*=banniere-interne] h3,
[class*=banniere-interne] h4 {
    color: inherit;
    font-family: "Hydro-Quebec", sans-serif;
    font-size: 23px;
    line-height: 29px;
    font-weight: 500;
    margin: 0;
    margin-bottom: 8px;
}

@media (min-width: 640px) {

    [class*=banniere-interne] h1,
    [class*=banniere-interne] h2,
    [class*=banniere-interne] h3,
    [class*=banniere-interne] h4 {
        font-size: 20px;
        line-height: 24px;
    }
}

[class*=banniere-interne] .hq-banniere__contenu h1,
[class*=banniere-interne] .hq-banniere__contenu h2,
[class*=banniere-interne] .hq-banniere__contenu h3,
[class*=banniere-interne] .hq-banniere__contenu h4 {
    font-family: "Hydro-Quebec", sans-serif;
}

[class*=banniere-interne] [class*=hq-bouton] {
    margin-top: 24px;
}
[class*=banniere-interne][data-theme=blanc] {
    background-color: #FFF;
    color: #161616;
}
[class*=banniere-interne][data-theme=bleu-80] {
    background-color: #0F096C;
    color: #FFF;
}

[class*=banniere-interne][data-theme=orange-70] {
    background-color: #FF9B00;
    color: #161616;
}

[class*=banniere-interne][data-theme=bleu-90] {
    background-color: #0A0952;
    color: #FFF;
}

[class*=banniere-interne][data-theme=orange-degrade] {
    background: linear-gradient(90deg, #EF5500 0%, #FF9B00 100%);
    color: #161616;
}

[class*=banniere-interne][data-theme=bleu-degrade] {
    background: linear-gradient(90deg, #0F096C 0%, #1224B8 100%);
    color: #FFF;
}

.hq-banniere-interne-classique-simple {
    grid-template-columns: repeat(4, 1fr);
    text-align: center;
}

@media (min-width: 640px) {
    .hq-banniere-interne-classique-simple {
        display: flex;
        padding: 32px 40px;
        text-align: left;
    }
}

.hq-banniere-interne-classique-simple [class*=hq-bouton] {
    margin-top: 0;
}

.hq-banniere-interne-classique-simple .hq-banniere__titre {
    grid-column: 1/5;
    align-self: center;
}

@media (min-width: 640px) {
    .hq-banniere-interne-classique-simple .hq-banniere__titre {
        grid-column: 2/8;
    }
}

.hq-banniere-interne-classique-simple .hq-banniere__contenu {
    grid-column: 1/5;
    align-self: center;
}

@media (min-width: 640px) {
    .hq-banniere-interne-classique-simple .hq-banniere__contenu {
        min-width: 300px;
        justify-content: flex-end;
        display: flex;
    }
}

/* FIX Vielle page */
#hq-accueil-n3 .hq-banniere-interne-classique-simple h2 {
    margin: 0;
}
