/*
Theme Name: Fiduciaire Mauceri
Description: Theme enfant du thème WP Made Simple de Publigo
Author: Hervé - Publigo
Author URI: https://www.publigo.fr
Template: wpms-theme 
Version: 1.0
Text Domain: fiduciaire-mauceri
*/


/*font-family: 'Jost', sans-serif;
font-family: 'Zilla Slab', serif;*/


@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&family=Zilla+Slab:ital,wght@0,400;1,300;1,400;1,600&display=swap');


:root {
    --base-size: 2.1rem;
    --blue-dark: #151b23;
    --grey-dark: #808285;
    --grey-medium: #7a7d82;
    --grey-light: #b6b9bc;
}

html {
    font-size: 62.5%;
}

body {
    font-family: 'Zilla Slab', serif;
    font-size: 21px;
    color: var(--grey-medium);
    font-weight: 400;
    line-height: 2.6rem;
}

a,
.entry-content a {
    color: var(--blue-dark);
    transition: .4s all ease;
}

a:hover,
a:focus,
.entry-content a:hover,
.entry-content a:focus {
    color: var(--grey-light);
}


@media screen and (min-width: 48em) {

    html {
        font-size: 54%;
    }
}

@media screen and (min-width: 62em) {

    html {
        font-size: 58%;
    }
}

@media screen and (min-width: 1200px) {

    html {
        font-size: 62%;
    }

}

@media screen and (min-width: 82em) {

    html {
        font-size: 64%;
    }
}

/* ############################################################################################## */
/* ################### Header  #################################################################################### */

a#logo-header {
    text-align: center;
    padding: 1rem;
    justify-content: center;
}

a#logo-header svg {
    width: 49.3rem;
    height: 9.2rem;
    fill: var(--blue-dark);
    max-width: 100%;
    max-height: 100%;
    transition: fill 0.35s;
}

a#logo-header:hover svg {
    fill: var(--grey-dark);
}

.js .menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--blue-dark);
    width: 100%;
    height: 8.5rem;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    padding: 0;
    margin: 0;
}

.js .menu-toggle .menu-label {
    font-family: 'Jost', sans-serif;
    font-size: 2rem;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: .75rem;
    transition: .4s all ease;
}

.js .menu-toggle svg {
    width: 3rem;
    height: 2.7rem;
    fill: #FFF;
    transition: .4s all ease;
}

.js .menu-toggle svg polygon {
    transform-origin: 50% 50%;
    transform: rotate(0deg);
    transition: .4s all ease;
}

.js .menu-opened .menu-toggle svg polygon {
    transform: rotate(-90deg);
}

#site-navigation {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: fixed;
    top: 100%;
    opacity: 0;
    left: 0;
    z-index: 0;
    height: calc(100% - 8.5rem);
    min-height: calc(100% - 8.5rem);
    width: 100%;
    padding: 3rem 1.5rem;
    background-color: var(--blue-dark);
    background-image: url(assets/images/filigrane-mauceri.svg);
    background-size: 50% auto;
    background-position: center;
    background-repeat: no-repeat;
    transition: top .5s linear,opacity .3s ease;
}

.menu-opened #site-navigation {
    overflow-y: auto;
    overflow-x: hidden;
    top: 0;
    opacity: 1;
    z-index: 998;
}

.main-navigation > div > ul,
.main-navigation ul ul {
    padding: 0;
}

.main-navigation a {
    font-family: 'Jost', sans-serif;
    color: #fff;
    padding: .5rem 0;
    text-transform: uppercase;
    font-weight: 300;
    font-size: clamp(1.8rem, 2vw, 3.6rem);
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    transition: .4s all ease;
}

.main-navigation a:hover,
.main-navigation a:focus {
    color: var(--grey-medium);
}

.dropdown-toggle {
    padding: 1rem;
    border-radius: 0;
}

.menu-menu-top-container .icon {
    fill: rgba(255, 255, 255, .67);
    width: 2.5rem;
    height: 1.8rem;
}

.main-navigation ul ul a {
    font-family: 'Zilla Slab', serif;
    text-transform: initial;
    font-style: oblique;
    letter-spacing: 0;
    color: var(--grey-light);
    font-size: clamp(1.6rem, 1.3vw, 3rem);
    padding: .5rem 0;
    transition: .4s all ease;
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a:focus {
    color: #FFF;
}

#social-navigation {
    width: 100%;
}

ul.social-links {
    list-style-type: none;
    width: 100%;
}

ul.social-links a svg {
    width: 5.7rem;
    height: 5.7rem;
    fill: var(--blue-dark);
    transition: .4s all ease;
}

ul.social-links a:hover svg,
ul.social-links a:focus svg {
    fill: var(--grey-dark);
}

#header-coordonnees {
    padding: 1.5rem 0;
}

#header-coordonnees p {
    font-family: 'Jost', sans-serif;
    text-align: center;
    font-weight: 500;
    font-size: clamp(1rem, 1.3vw, 1.8rem);
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.075em;
    color: var(--blue-dark);
}

#image-bandeau {
    position: relative;
}

#image-bandeau:after {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(219, 221, 222, 0.2);
    width: 100%;
    height: 100%;
}

.menu-title-name {
    display: flex;
    flex-direction: column;
    font-family: 'Jost', sans-serif;
    line-height: 1;
    font-size: clamp(3.5rem, 5vw, 9.5rem);
    text-transform: uppercase;
    font-weight: 700;
    color: var(--blue-dark);
    padding: 1.5rem;
}

.menu-title-name:after {
    display: block;
    content: '';
    width: 9.6rem;
    height: 1rem;
    background-color: var(--blue-dark);
    margin-top: 1.5rem;
}

@media screen and (min-width: 48em) {
    
    .js .main-navigation ul,
    .js .main-navigation.toggled-on > div > ul {
        display: flex;
        flex-direction: column;
        height: 100%;
        justify-content: center;
    }

    .js .dropdown-toggle {
        display: block;
    }

    .js .main-navigation ul ul {
        display: none;
    }

    .main-navigation ul ul.toggled-on {
        display: block;
    }

    .main-navigation .menu-item-has-children > a > .icon,
    .main-navigation .page_item_has_children > a > .icon {
        display: none;
    }

    .home a#logo-header {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        height: 100%;
        padding: 0 calc(16.666667% + 4rem);
    }

    .home a#logo-header svg {
        width: 99.1rem;
        height: 18.4rem;
        fill: #fff;
    }
    body:not(.home) a#logo-header {
        text-align: left;
        padding: 3rem 0;
        justify-content: left;
        margin-left: 16.666667%;
    }

    .navigation-menus {
        position: absolute;
        top: 0;
        left: 0;
        background-color: transparent;
        z-index: 2;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding-bottom: 2rem;
        z-index: 999;
        transition: .4s all ease;
    }

    .home .navigation-menus,
    .menu-opened .navigation-menus {
        background-color: var(--blue-dark);
    }

    .js .menu-toggle {
        position: relative;
        background-color: transparent;
        margin-bottom: 2rem;
    }

    .js .home .menu-toggle {
        margin-bottom: 9rem;
    }

    .js .menu-toggle .menu-label {
        color: var(--blue-dark);
        transition: .4s all ease;
    }

    .js .menu-toggle svg {
        fill: var(--blue-dark);
        transition: .4s all ease;
    }

    .js .home .menu-toggle .menu-label,
    .js .menu-opened .menu-toggle .menu-label {
        color: #fff;
    }

    .js .home .menu-toggle svg,
    .js .menu-opened .menu-toggle svg {
        fill: #FFF;
    }

    .home ul.social-links a svg,
    .menu-opened ul.social-links a svg {
        fill: #fff;
        transition: .4s all ease;
    }

    .home ul.social-links a:hover svg,
    .home ul.social-links a:focus svg,
    .menu-opened ul.social-links a:hover svg,
    .menu-opened ul.social-links a:focus svg {
        fill: var(--grey-light);
    }

    #site-navigation {
        height: auto;
        min-height: 100%;
        position: absolute;
        top: 0;
        left: 100%;
        width: 100%;
        transition: left .5s linear,opacity .3s ease;
    }

    .menu-opened #site-navigation {
        left: 0;
    }

    .custom-header-carousel .slide-slick {
        position: relative;
    }

    .custom-header-carousel .slide-slick:before {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: var(--blue-dark);
        opacity: .5;
    }

    .custom-header-carousel .slide-slick:after {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(assets/images/filigrane-b.svg);
        background-size: auto 75%;
        background-position: center;
        background-repeat: no-repeat;
    }

    #header-coordonnees {
        position: absolute;
        z-index: 2;
        transform: rotate(180deg);
        top: 0;
        right: 0;
        writing-mode: vertical-rl;
        text-orientation: mixed;
        white-space: nowrap;
        width: 16.666667%;
        height: 100%;
    }

    body:not(.home) #header-coordonnees {
        top: 16.666667%;
        height: 83.333333%;
    }

    .home #header-coordonnees p {
        color: #fff;
    }

    #header-coordonnees:before {
        display: block;
        content: '';
        width: 1px;
        height: calc(100% - 4rem);
        position: absolute;
        top: 2rem;
        right: 0;
        background-color: #FFF;
        opacity: .35;
    }

    .menu-title-name {
        position: absolute;
        bottom: -6rem;
        left: 16.666667%;
        width: 50%;
        z-index: 1;
    }

}

@media screen and (min-width: 62em) {

    .home a#logo-header {
        padding: 0 calc(8.333333% + 2rem);
    }

    body:not(.home) a#logo-header {
        margin-left: 8.333333%;
    }

    #header-coordonnees {
        width: 8.333333%;
    }
}

@media screen and (min-width: 82em) {

    .js .menu-toggle {
        margin-bottom: 12rem;
    }

    .main-navigation a {
        padding: 1rem 0;
    }

    .menu-title-name {
        bottom: -8rem;
    }
}

@media screen and (min-width: 102em) {
    
    .js .menu-toggle {
        margin-bottom: 15rem;
    }


}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Navigation thematic top  #################################################################################### */

.thematic-top {
    position: relative;
}

.thematic-top-title {
    background-color: var(--blue-dark);
    position: relative;
    z-index: 1;
    text-align: center;
    padding: calc(8.3rem + 3rem) 1.5rem 3rem;
}

.thematic-top-title:before {
    display: block;
    content: '';
    width: 1px;
    height: 16.6rem;
    background-color: #fff;
    position: absolute;
    top: -8.3rem;
    left: auto;
    right: auto;
}

.thematic-top-title svg {
    fill: #fff;
    width: 8.3rem;
    height: 8.3rem;
    max-width: 100%;
    margin-bottom: 1.5rem;
}

.thematic-top-title p {
    text-align: center;
    color: #fff;
    font-size: clamp(2rem, 2.5vw, 3rem);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0;
}

.thematic-top-title p:not(.titre-oblique) {
    font-family: 'Jost', sans-serif;
}

.thematic-top-title p.titre-gras {
    font-weight: 800;
}

.thematic-top-title p.titre-oblique {
    font-weight: 300;
    font-style: oblique;
    letter-spacing: 0;
    text-transform: initial;
}

ul#items-thematic-top {
    list-style-type: none;
    position: relative;
}

ul#items-thematic-top li:nth-child(odd) a {
    background-color: var(--blue-dark);
    background-image: url(assets/images/bkg-thematic-top.jpg);
    background-size: auto 150%;
    background-position: bottom right;
    background-repeat: no-repeat;
}

ul#items-thematic-top li a,
ul#items-thematic-top li a .image {
    position: relative;
}

ul#items-thematic-top li a .image:after {
    display: block;
    content: '';
    background-color: #fff;
    opacity: 0;
    width: 100%;
    height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    transition: .3s opacity ease, .4s height linear;
}

ul#items-thematic-top li a:hover .image:after,
ul#items-thematic-top li a:focus .image:after {
    opacity: 0.65;
    height: 100%;
}

ul#items-thematic-top li a img {
    display: block;
}

ul#items-thematic-top li a .title-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 6rem 3rem;
    font-family: 'Jost', sans-serif;
    font-size: clamp(2.8rem, 3vw, 4.8rem);
    line-height: 1;
    text-transform: uppercase;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: top right;
    -webkit-mask-size: 100%;
    mask-repeat: no-repeat;
    mask-position: top right;
    mask-size: 100%;
    min-height: 21rem;
    transition: .4s all ease;
}

ul#items-thematic-top li:nth-child(odd) a .title-link {
    -webkit-mask-image: url(assets/images/mask-biseau-left.svg);
    mask-image: url(assets/images/mask-biseau-left.svg);
    background-color: #fff;
    color: var(--blue-dark);
    transition: .4s all ease;
}

ul#items-thematic-top li:nth-child(even) a .title-link {
    -webkit-mask-image: url(assets/images/mask-biseau-right.svg);
    mask-image: url(assets/images/mask-biseau-right.svg);
    color: #fff;
    background-color: var(--blue-dark);
    transition: .4s all ease;
}

ul#items-thematic-top li:nth-child(odd) a:hover .title-link,
ul#items-thematic-top li:nth-child(odd) a:focus .title-link {
    background-color: var(--grey-dark);
    color: transparent;
}


ul#items-thematic-top li:nth-child(even) a:hover .title-link,
ul#items-thematic-top li:nth-child(even) a:focus .title-link {
    color: transparent;
    background-color: var(--grey-dark);
}

ul#items-thematic-top li a .title-link .icone {
    position: absolute;
    bottom: 2rem;
    transition: .4s all ease;
}

ul#items-thematic-top li a:hover .title-link .icone,
ul#items-thematic-top li a:focus .title-link .icone {
    bottom: 9rem;
}

ul#items-thematic-top li a .title-link svg {
    width: 2.9rem;
    height: 2.1rem;
    fill: #d0d3d7;
    transform-origin: 50% 50%;
    transform: scale(1.0) rotate(0deg);
    transition: .4s all ease;
}

ul#items-thematic-top li a:hover .title-link svg,
ul#items-thematic-top li a:focus .title-link svg {
    fill: #fff;
}

ul#items-thematic-top li:nth-child(odd) a:hover .title-link svg,
ul#items-thematic-top li:nth-child(odd) a:focus .title-link svg {
    transform: scale(1.5) rotate(90deg);
}

ul#items-thematic-top li:nth-child(even) a:hover .title-link svg,
ul#items-thematic-top li:nth-child(even) a:focus .title-link svg {
    transform: scale(1.5) rotate(-90deg);
}

ul#items-thematic-top li a .label-link {
    padding: 1.5rem 3rem;
    margin-top: 1.5rem;
    font-size: clamp(2rem, 2.5vw, 2.4rem);
    line-height: 1;
    font-style: oblique;
}

ul#items-thematic-top li:nth-child(odd) a .label-link {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
}

ul#items-thematic-top li:nth-child(even) a .label-link {
    border-top: 1px solid rgba(21, 27, 35, 0.2);
    color: var(--blue-dark);
}

@media screen and (min-width: 48em) {

    .thematic-top-title {
        padding: calc(8.3rem + 3rem) 1.5rem 9rem;
    }

    .thematic-top-title svg {
        margin-bottom: 3rem;
    }

    ul#items-thematic-top li a .content-link {
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 50%;
        top: 0;
    }

    ul#items-thematic-top li:nth-child(odd) a .content-link {
        left: 41.666667%;
    }

    ul#items-thematic-top li:nth-child(even) a .content-link {
        left: 8.333333%;
    }

    ul#items-thematic-top li:nth-child(even) a,
    ul#items-thematic-top li:nth-child(even) a .content-link {
        flex-direction: row-reverse;
    }

    ul#items-thematic-top li a .title-link {
        height: 100%;
        padding: 0 3rem;
    }

    ul#items-thematic-top li:nth-child(odd) a .label-link {
        margin-left: 16.666667%;
    }

    ul#items-thematic-top li:nth-child(even) a .label-link {
        margin-right: 16.666667%;
    }

}

@media screen and (min-width: 1200px) {

    ul#items-thematic-top li a .label-link {
        margin-top: auto;
        margin-bottom: 0;
    }

    ul#items-thematic-top li:nth-child(odd) a .label-link {
        margin-left: 0;
    }

    ul#items-thematic-top li:nth-child(even) a .label-link {
        margin-right: 0;
    }

}


@media screen and (min-width: 92em) {
    
    ul#items-thematic-top li a:hover .title-link .icone,
    ul#items-thematic-top li a:focus .title-link .icone {
        bottom: 12rem;
    }

}

@media screen and (min-width: 112em) {
    
    ul#items-thematic-top li a .title-link .icone {
        bottom: 4rem;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Navigation thematic center  #################################################################################### */

.thematic-center .image img {
    display: block;
}

.thematic-center .items ul {
    list-style-type: none;
}

.thematic-center .items ul li {
    margin-bottom: 1.5rem;
}

.thematic-center .items ul li a {
    padding: 1.5rem 3rem;
    box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.1);
    -webkit-box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.1);
}

.thematic-center .items ul li a .question {
    font-family: 'Jost', sans-serif;
    line-height: 1;
    font-size: clamp(1.5rem, 1.5vw, 2rem);
    text-transform: uppercase;
    font-weight: 500;
    padding: 3rem;
    padding-right: 0;
}

.thematic-center .items ul li:nth-child(1) a .question {
    border-left: 1px solid rgba(21, 27, 35, .15);
}

.thematic-center .items ul li:nth-child(2) a .question {
    border-left: 1px solid rgba(128, 130, 133, .15);
}

.thematic-center .items ul li a .question span:not(.title) {
    font-style: oblique;
}

.thematic-center .items ul li a .question span.title {
    font-weight: 700;
    font-size: clamp(1.7rem, 2.1vw, 4rem);
}

.thematic-center .items ul li a .icone svg {
    width: 3.4rem;
    height: 4.75rem;
    margin-right: 3rem;
}

.thematic-center .items ul li:nth-child(1) a {
    color: var(--blue-dark);
    background-color: #fff;
    transition: .4s all ease;
}

.thematic-center .items ul li:nth-child(1) a .icone svg {
    fill: var(--blue-dark);
    transition: .4s all ease;
}

.thematic-center .items ul li:nth-child(2) a {
    color: var(--grey-dark);
    background-color: #fff;
    transition: .4s all ease;
}

.thematic-center .items ul li:nth-child(2) a .icone svg {
    fill: var(--grey-dark);
    transition: .4s all ease;
}

.thematic-center .items ul li:nth-child(1) a:hover,
.thematic-center .items ul li:nth-child(1) a:focus {
    background-color: var(--blue-dark);
    color: #fff;
}

.thematic-center .items ul li:nth-child(1) a:hover .icone svg,
.thematic-center .items ul li:nth-child(1) a:focus .icone svg {
    fill: #FFF;
}

.thematic-center .items ul li:nth-child(2) a:hover,
.thematic-center .items ul li:nth-child(2) a:focus {
    background-color: var(--grey-dark);
    color: #fff;
}

.thematic-center .items ul li:nth-child(2) a:hover .icone svg,
.thematic-center .items ul li:nth-child(2) a:focus .icone svg {
    fill: #fff;
}

@media screen and (min-width: 48em) {

    .thematic-center {
        position: relative;
    }

    .thematic-center .items {
        position: absolute;
        height: 100%;
        left: 50%;
        display: flex;
        align-items: center;
    }

    .thematic-center .items ul {
        width: 100%;
        height: 100%;
    }

    .thematic-center .items ul li:nth-child(2) {
        margin-bottom: 0;
    }

}

@media screen and (min-width: 1200px) {

    .thematic-center .items {
        left: 58.333333%;
    }

}

@media screen and (min-width: 102em) {

    .thematic-center .items ul li {
        margin-bottom: 3rem;
    }

    .thematic-center .items ul li a {
        padding: 3rem 6rem;
    }

    .thematic-center .items ul li a .question {
        padding: 6rem 3rem;
        padding-right: 0;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Content  #################################################################################### */

.site-content-contain {
    background-color: transparent;
}

.site-content {
    padding: 0;
}

.page .site-main article {
    padding-bottom: 0;
}

.page:not(.home) #content {
    padding-bottom: 3rem;
}

body:not(.home) #page {
    background-image: url(assets/images/bkg-header-page.svg), url(assets/images/bkg-content-page.jpg);
    background-size: 91.8rem 143.6rem, auto;
    background-position: top -34.5rem right -21rem, left bottom;
    background-repeat: no-repeat, no-repeat;
}

h1 {
    font-family: 'Jost', sans-serif;
    font-size: clamp(2.4rem, 3vw, 3.4rem);
    line-height: 1;
    font-weight: 700;
    color: var(--blue-dark);
    margin-bottom: 3rem;
}

.home article .block-left a {
    position: relative;
    background-image: url(assets/images/bkg-block-left-home.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    padding: 6rem 3rem;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: bottom left;
    -webkit-mask-size: cover;
    mask-repeat: no-repeat;
    mask-position: bottom left;
    mask-size: cover;
    -webkit-mask-image: url(assets/images/mask-biseau-bottom.svg);
    mask-image: url(assets/images/mask-biseau-bottom.svg);
    font-size: clamp(1.5rem, 3vw, 2.6rem);
    line-height: 1;
    font-weight: 300;
    text-align: center;
    margin-bottom: 3rem;
    overflow: hidden;
}

.home article .block-left a:before {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    max-width: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    background-image: url(assets/images/bkg-block-left-home-hover.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transform: translateX(100%);
    transition: .4s opacity ease, .3s transform linear;
}

.home article .block-left a:hover:before,
.home article .block-left a:focus:before {
    opacity: 1;
    transform: translateX(0);
}

.home article .block-left a:after {
    display: block;
    content: '';
    width: 17.2rem;
    height: 12rem;
    max-width: 100%;
    position: absolute;
    left: calc(50% - (17.2rem / 2));
    top: 0;
    opacity: 0;
    background-image: url(assets/images/dotted-arrow.svg);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    transform-origin: top center;
    transform: scale(0);
    transition: .4s all ease;
}

.home article .block-left a:hover:after,
.home article .block-left a:focus:after {
    top: calc(50% - (12rem / 2));
    opacity: 1;
    transform: scale(1.0);
}

.home article .block-left a span:not(.bold-txt) {
    font-style: oblique;
}

.home article .block-left a .bold-txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Jost', sans-serif;
    font-size: clamp(5rem, 5vw, 8.8rem);
    line-height: 1;
    font-weight: 500;
    text-transform: uppercase;
}

.home article .block-left a .bold-txt:after {
    display: block;
    content: '';
    background-color: #fff;
    width: 9.6rem;
    height: 1rem;
    margin-top: 3rem;
}

.home article .block-right {
    padding: 6rem 1.5rem;
}

.home article .block-right p {
    font-style: oblique;
}

a#link-home {
    padding: 3rem 0;
    font-family: 'Jost', sans-serif;
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    line-height: 1;
    letter-spacing: 0.075em;
    font-weight: 600;
    text-transform: uppercase;
}

a#link-home img {
    display: block;
    border-radius: 100%;
    width: 8rem;
    margin-right: 3rem;
}

h2 {
    font-family: 'Jost', sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1;
    letter-spacing: 0.075em;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--grey-light);
}

h3 {
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    line-height: 1;
    font-weight: 600;
    color: var(--blue-dark);
    font-style: oblique;
}

.more-link a {
    display: flex;
    align-items: center;
    font-size: clamp(1.5rem, 2.2vw, 2.2rem);
    line-height: 1;
    color: var(--blue-dark);
    font-style: oblique;
    background-color: transparent;
    max-width: fit-content;
    padding: 1.5rem 0;
    transition: .4s all ease;
}

.more-link a:after {
    display: block;
    content: '';
    width: clamp(20rem, 5vw, 36rem);
    max-width: 100%;
    height: 1px;
    background-color: var(--blue-dark);
    margin-left: 1.5rem;
    transform-origin: left center;
    transform: scaleX(1.0);
    transition: .4s all ease;
}

.more-link a:hover,
.more-link a:focus {
    background-color: transparent;
    color: var(--grey-dark);
}

.more-link a:hover:after,
.more-link a:focus:after {
    transform: scaleX(0.2);
    background-color: var(--grey-dark);
}

.child-post {
    display: flex;
    flex-direction: column;
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
}

.child-post:after {
    display: block;
    content: '';
    width: 9.6rem;
    height: 1rem;
    background-color: var(--blue-dark);
    margin-top: 1.5rem;
}

input[type="submit"] {
    background-color: var(--blue-dark);
    color: #fff;
    padding: 1.5rem 3rem;
    font-family: 'Jost', sans-serif;
    font-size: clamp(1.3rem, 3vw, 2rem);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.075em;
    line-height: 1;
    border-radius: 0;
    transition: .4s all ease;
}

input[type="submit"]:hover,
input[type="submit"]:focus {
    background-color: var(--grey-dark);
    color: #fff;
    text-decoration: none;
}

button.search-submit {
    background-color: var(--blue-dark);
    border-radius: 0;
    font-size: 1.6rem;
    padding: .9rem 2rem;
    position: absolute;
    top: 0;
    right: 0;
    transition: .4s all ease;
}

button.search-submit:hover,
button.search-submit:focus {
    background-color: var(--grey-light);
}

input.search-field {
    padding: 2.4rem 2rem;
}

.error404 .page-content .search-form,
.search .page-content .search-form {
    margin-bottom: 3rem;
    position: relative;
}

.prev.page-numbers,
.next.page-numbers {
    background-color: var(--grey-dark);
    color: #fff;
    transition: .4s all ease;
}

.prev.page-numbers:focus,
.prev.page-numbers:hover,
.next.page-numbers:focus,
.next.page-numbers:hover {
    background-color: var(--blue-dark);
    color: #fff;
}

.page-numbers.current {
    color: var(--grey-dark);
    font-size: 2rem;
}

.pagination,
.comments-pagination {
    font-family: 'Jost', sans-serif;
    font-size: clamp(1.3rem, 2vw, 2rem);
    font-style: normal;
}
@media screen and (min-width: 48em) {

    .home article .block-left a {
        padding: 12rem 3rem;
    }

    .home article .block-right {
        padding: 6rem 3rem 3rem;
    }

    .page:not(.home) #content,
    .error404 #content,
    .search #content {
        padding-top: 12rem;
        padding-bottom: 6rem;
    }

}

@media screen and (min-width: 62em) {

    .home article .block-right {
        padding: 12rem 8.333333% 6rem;
    }

}

@media screen and (min-width: 92em) {

    .home article .block-right {
        padding: 12rem 8.333333% 12rem;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Navigation thematic expertise  #################################################################################### */

.thematic-expertise {
    background-image: url(assets/images/bkg-thematic-expertise.svg);
    background-size: auto 80%;
    background-position: bottom center;
    background-repeat: no-repeat;
}

.thematic-expertise p.title {
    display: flex;
    flex-direction: column;
    font-size: clamp(2.8rem, 3vw, 4.8rem);
    line-height: 1;
    font-style: oblique;
    color: var(--grey-light);
    font-weight: 300;
    padding: 1.5rem;
}

.thematic-expertise p.title:after {
    display: block;
    content: '';
    width: 9.6rem;
    height: 1rem;
    background-color: var(--blue-dark);
    margin-top: 1.5rem;
}

.thematic-expertise ul {
    list-style-type: none;
}

.thematic-expertise ul a {
    margin: 3rem auto;
}

.thematic-expertise ul a .image {
    position: relative;
}

.thematic-expertise ul a .image:after {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: #efeff0;
    opacity: 0;
    width: 100%;
    height: 100%;
    transform-origin: 50% 50%;
    transform: scale(0.3);
    transition: .4s opacity ease, .3s transform linear;
}

.thematic-expertise ul a:hover .image:after,
.thematic-expertise ul a:focus .image:after {
    opacity: 0.67;
    transform: scale(1.0);
}

.thematic-expertise ul a img {
    display: block;
}

.thematic-expertise ul li:nth-child(1) a .content-link {
    text-align: right;
    align-items: flex-end;
}

.thematic-expertise ul li:nth-child(even) a .content-link {
    text-align: left;
    align-items: flex-start;
}

.thematic-expertise ul a .title-link {
    font-family: 'Jost', sans-serif;
    font-size: clamp(2.6rem, 3vw, 3.6rem);
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--blue-dark);
    padding: 1.5rem 0;
}

.thematic-expertise ul a .resume-link {
    font-size: clamp(1.4rem, 2vw, 2.1rem);
    line-height: 1;
    color: var(--grey-dark);
    font-style: oblique;
    margin-bottom: 1.5rem;
}

.thematic-expertise ul a .label-link {
    display: flex;
    align-items: center;
    font-size: clamp(1.5rem, 2.2vw, 2.2rem);
    line-height: 1;
    color: var(--blue-dark);
    font-style: oblique;
    transition: .4s all ease;
}

.thematic-expertise ul a:hover .label-link,
.thematic-expertise ul a:focus .label-link {
    color: var(--grey-dark);
}

.thematic-expertise ul li:nth-child(even) a .label-link {
    flex-direction: row-reverse;
}

.thematic-expertise ul a .label-link:before {
    display: block;
    content: '';
    width: clamp(20rem, 5vw, 36rem);
    max-width: 100%;
    height: 1px;
    background-color: var(--blue-dark);
    transition: .4s all ease;
}

.thematic-expertise ul a:hover .label-link:before,
.thematic-expertise ul a:focus .label-link:before {
    background-color: var(--grey-dark);
}

.thematic-expertise ul li:nth-child(1) a .label-link:before {
    margin-right: 1.5rem;
}

.thematic-expertise ul li:nth-child(even) a .label-link:before {
    margin-left: 1.5rem;
}

@media screen and (min-width: 48em) {

    .thematic-expertise p.title {
        padding: 3rem;
    }

    .thematic-expertise {
        margin-top: -12rem;
    }

    .thematic-expertise ul li:nth-child(even) {
        margin-top: 6rem;
    }

    .thematic-expertise ul a {
        margin: 6rem auto;
    }
}

@media screen and (min-width: 62em) {

    .thematic-expertise {
        margin-top: -18rem;
    }

    .thematic-expertise ul li:nth-child(even) {
        margin-top: 9rem;
        margin-left: 16.666667%;
    }

    .thematic-expertise p.title {
        margin-left: 8.333333%;
    }


}

@media screen and (min-width: 1200px) {

    .thematic-expertise p.title {
        margin-left: 16.666667%;
    }

}


/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Navigation thematic bottom  #################################################################################### */

.thematic-bottom {
    background-image: url(assets/images/bkg-thematic-bottom.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 3rem 0;
}

.thematic-bottom ul {
    list-style-type: none;
    padding: 3rem 0;
}

.thematic-bottom ul li {
    position: relative;
    font-family: 'Jost', sans-serif;
    font-size: clamp(2.7rem, 3.8vw, 5.7rem);
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--blue-dark);
    padding: .75rem 0;
}

.thematic-bottom ul li:before {
    display: block;
    content: '';
    width: 10rem;
    max-width: 100%;
    height: 2px;
    background-color: var(--grey-light);
    position: absolute;
    left: -5rem;
    bottom: 0;
}

.thematic-bottom ul li:last-child:before {
    display: none;
}

.thematic-bottom > div > a {
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 1;
    font-weight: 300;
    font-style: oblique;
    color: var(--blue-dark);
    padding: .75rem 0;
}

.thematic-bottom > div > a svg {
    width: 5.4rem;
    height: 4.7rem;
    max-width: 100%;
    margin-right: 1.5rem;
    fill: #fff;
    transform: scaleY(1.0);
    transition: .4s all ease;
}

.thematic-bottom > div > a:hover svg,
.thematic-bottom > div > a:focus svg {
    fill: var(--blue-dark);
    transform: scaleY(-1.0);
}

@media screen and (min-width: 62em) {

    .thematic-bottom ul li {
        padding: 1rem 0;
    }

    .thematic-bottom > div > a {
        padding-left: 3rem;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */

/* ############################################################################################## */
/* ################### Footer  #################################################################################### */

.bottom-footer {
    background-image: url(assets/images/bkg-footer.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 8.5rem;
}

.block-top-footer {
    background-color: var(--blue-dark);
    padding: 3rem 0;
}

.block-top-footer .mail-block a {
    font-family: 'Jost', sans-serif;
    font-size: clamp(1.3rem, 1.5vw, 1.8rem);
    line-height: 1.2;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    color: #fff;
    transition: .4s all ease;
}

.block-top-footer .mail-block a:hover,
.block-top-footer .mail-block a:focus {
    color: var(--grey-light);
}

.block-top-footer .mail-block a svg {
    width: 7.7rem;
    height: 7.7rem;
    max-width: 100%;
    margin-right: 1.5rem;
    fill: #fff;
    transition: .4s all ease;
}

.block-top-footer .mail-block a:hover svg,
.block-top-footer .mail-block a:focus svg {
    fill: var(--grey-light);
}

a.logo-footer {
    padding: 1.5rem;
}

a.logo-footer svg {
    width: 66rem;
    max-width: 100%;
    height: 12rem;
    fill: #fff;
}

.social-block ul.social-links a svg {
    fill: #fff;
    transition: .4s all ease;
}

.social-block ul.social-links a:hover svg,
.social-block ul.social-links a:focus svg {
    fill: var(--grey-dark);
}

.bottom-footer .coordonnees {
    padding: 3rem 0;
}

.bottom-footer .coordonnees p {
    font-family: 'Jost', sans-serif;
    font-size: clamp(1.3rem, 1.5vw, 1.8rem);
    line-height: 1.2;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    color: #fff;
    text-align: center;
    margin-bottom: 0;
}

.bottom-footer .coordonnees p.phone {
    font-size: clamp(1.8rem, 2.5vw, 3rem);
    font-weight: 700;
}

ul#menu-mentions-menu {
    list-style-type: none;
    margin: 0;
    padding: 1.5rem;
}

ul#menu-mentions-menu li a {
    display: block;
    font-family: 'Jost', sans-serif;
    font-size: 1.4rem;
    line-height: 1.2;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    color: #fff;
    padding: .5rem 0;
    text-align: center;
    transition: .4s all ease;
}

ul#menu-mentions-menu li a:hover,
ul#menu-mentions-menu li a:focus {
    color: var(--grey-light);
}

@media screen and (min-width: 48em) {

    .bottom-footer {
        padding-bottom: 0;
    }

    .block-top-footer {
        padding: 6rem 0;
    }

    ul#menu-mentions-menu {
        display: flex;
        justify-content: center;
        padding: 3rem 1.5rem;
    }

    ul#menu-mentions-menu li a {
        padding: 0 1.5rem;
    }

    .bottom-footer .coordonnees {
        padding: 6rem 0;
    }

}

/* ############################################################################################## */
/* ############################################################################################## */