:root{
    --blanc : #FFFFFF;
    --bleufonce: #001634;
    --bleu-royal : #305cde;
    --bleu-royal-light: #59B5F7;
    --bronze : #ce8946;
    --neutral-lighter : #CCCCCC;
    --neutral-lightest : #F4F5FA;
    --neutral-light : #AAAAAA;
    --neutral : #666666;
    --neutral-dark : #444444;
    --neutral-darker : #222222;
    --noir : #000000;
}

html{
    font-size: 16px;
}
body{
    font-size: 1rem;
    margin:0;
    letter-spacing:0.05rem;
}
.relative{
    position:relative;
}
.content{
    overflow: clip;
    background-color: var(--blanc);
    position:relative;
    padding-top:0.5em;
}
.home .content{
    background-color: transparent;
    padding-top:0;
}
.content ul li, .wp-block-list li{
    text-align: left
}
.main{
    width:80%;
    max-width:1440px;
    margin:0 auto;
}
.single main article{
    max-width: 820px;
    margin: 0 auto 3rem auto;
    padding-bottom: 2rem;
    border-bottom: 1px solid;
}
article{
    text-align: left;
}
a{
    text-decoration: none;
    transition: all 0.2s ease;
    color: var(--bleu-royal)
}
a:hover{
    color: var(--bleu-royal-light)
}

img{
    height: auto;
    vertical-align: middle;
}
h1, h2, h3, h4, h5{
    margin:0.65em 0;
    text-align:left;
    line-height: 1.1
}
.page h1, .single h1{
    max-width:992px;
    margin-left: auto;
    margin-right: auto;
}

[data-ratio] {
    display: block;
    max-width: 100%;
    position: relative
}
[data-ratio]:before {
    content: "";
    display: block;
}
[data-ratio] > * {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
[data-ratio='1:1']:before {
    padding-top: 100%;
}
[data-ratio='20:9']:before {
    padding-top: 47.5%;
}
[data-ratio='16:9']:before {
    padding-top: 56.25%;
}
[data-ratio='4:3']:before {
    padding-top: 75%;
}
[data-ratio='3:4']:before {
    padding-top: 133.33%;
}
[data-ratio='vignet']:before {
    padding-top: 65%;
}
[data-ratio='map']:before {
    padding-top: 67.5%;
}

a.btn, .frm_button_submit{
    display: inline-flex;
    padding:0.75rem 1.5rem;
    background: var(--bleu-royal);
    border-radius: 0.35rem;
    color: var(--blanc);
    position: relative;
    overflow: clip
}
a.btn span, .frm_button_submit span{
    position: relative;
    z-index:2
}
a.btn::before, .frm_button_submit::before {
    content:'';
    display: block;
    position: absolute;
    z-index:1;
    left:0;
    top:0;
    background-color: var(--bleu-royal-light);
    width:65%; height: 100%;
    clip-path: polygon(0 0, 50% 0, 100% 100%, 0% 100%);
    transition: all 0.2s ease;
}
a.btn:hover::before, .frm_button_submit:hover::before{
    width:100%;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.has-small-font-size{
    font-size: 0.875rem;
}
.has-tiny-font-size{
    font-size: 0.775rem;
}
svg .letter{
    fill: var(--blanc)
}
.home header.scrolled svg .letter{
    fill: var(--noir)
}
svg .letter.blue, .home header.scrolled svg .letter.blue{
    fill: var(--bleu-royal)
}
svg .letter.gold, .home header.scrolled svg .letter.gold{
    fill: var(--bronze)
}
/* .home svg .letter{
    fill: var(--blanc)
} */
.home svg .letter.gold{
    fill: var(--bronze)
}
.home svg .letter.blue{
    fill: var(--bleu-royal)
}
@media screen and (max-width:992px){
    .has-medium-font-size{
        font-size: 1.2rem !important
    }
    .has-large-font-size{
        font-size: 1.5rem !important
    }
    .has-x-large-font-size{
        font-size: 2rem !important
    }
}
@media screen and (min-width:1440px){
    h1{
        font-size: 3.5rem !important
    }
    h2{
        font-size: 3rem !important
    }
    h3{
        font-size: 2.5rem !important
    }
    h4{
        font-size: 2rem !important
    }
    h5{
        font-size: 1.5rem !important
    }
    .has-medium-font-size{
        font-size: 1.5rem !important
    }
    .has-large-font-size{
        font-size: 2.5rem !important
    }
    .has-x-large-font-size{
        font-size: 3.5rem !important
    }
}
h1.small{
    font-size:1rem !important;
}
figure.wp-block-image img{
    border-radius:1.5vw;
}
figure.wp-block-image figcaption{
    position: absolute;
    left:0; bottom:0;
    max-width:70%;
    padding:0.25rem 0.5rem;
    background-color: rgba(0,0,0,.8);
    color: var(--blanc);
    font-size: 0.85rem;
}
.wp-block-image.aligncenter{
    margin: 0 auto
}

:root :where(.wp-block-pullquote) {
  font-size: 1rem;
  line-height: 1.4;
}
.wp-block-pullquote{
    margin:2rem 0 !important;
    padding:0 0 0 1rem !important;
    border-left:2px solid !important;
    border-top:none !important;
    border-bottom: none !important;
    font-style: italic
}
.wp-block-pullquote blockquote p::before, .wp-block-pullquote blockquote p::after{
    content: "\000022";
    display:inline-block
}