body{
    font-family: var(--basicFontFamily);
    background-color: var(--defaultBgColor);
    color:var(--basicTextColor);
    padding-right: 6em ;
    box-sizing: border-box;
}

.mainMenu ul .logoPart:nth-child(1){
    padding-right: 15em ;
}
.mainMenu{
    background-color: white;
    padding-right: 6em ;
    box-sizing: border-box;
}


.mainMenu .logo{
    height: 4em ;
    margin: 1em 0;
}

.reducedMenu .logo{
    margin: 0.5em 0;
}
a{
    color: var(--basicLinkColor) ;
}

.mainMenu ul li a{
    font-weight: 500 ;
}

@font-face {
    font-family:"acumin-pro-condensed";
    src:url("https://use.typekit.net/af/69b3c5/00000000000000003b9acb0e/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/69b3c5/00000000000000003b9acb0e/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/69b3c5/00000000000000003b9acb0e/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
    font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}

@font-face {
    font-family:"acumin-pro-condensed";
    src:url("https://use.typekit.net/af/4b28f4/00000000000000003b9acb08/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/4b28f4/00000000000000003b9acb08/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/4b28f4/00000000000000003b9acb08/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
    font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}

.defaultButton, .baseButton, .mapForm #mainSubmit, .contentBackgroundForm button{
    padding: 0.4em 5em 0.5em 1em;
    background-color: var(--basicColor5);
    color: white;
    position: relative;
    display: inline-block;
    border-radius: 0 ;
    font-family:var(--basicFontFamily);
}
.defaultButton:before, .baseButton:before, .mapForm #mainSubmit:before,  .contentBackgroundForm button:before {
    position: absolute;
    right: -1.5em;
    content: "";
    height: 0.7em ;
    width: 0.7em ;
    top: 50%;
    transform: translateY(-50%);
    background-color: white;
    transition: all 0.5s ease;
    opacity: 0;
    z-index: 2;
}

.defaultButton:after, .baseButton:after, .mapForm #mainSubmit:after,  .contentBackgroundForm button:after{
    position: absolute;
    right: 1em;
    content: "";
    height: 0.08em ;
    width: 3em ;
    top: 50%;
    transform: translateY(-50%);
    background-color: white;
    transition: all 0.8s ease;
    z-index: 1;
}
.defaultButton:hover, .baseButton:hover , .mapForm #mainSubmit:hover, .contentBackgroundForm button:hover{
    background-color: #5c801f ;
}

.defaultButton:hover:before,.baseButton:hover:before, .mapForm #mainSubmit:hover:before, .contentBackgroundForm button:hover:before{
    opacity: 1;
}
.defaultButton:hover:after,.baseButton:hover:after, .mapForm #mainSubmit:hover:after,  .contentBackgroundForm button:hover:after{
    right: -1.5em ;
    width: 5em ;
}
.blueSquare:hover:after{
    background-color: var(--basicTextColor) !important;
}
.blueSquare:before{
    background-color: var(--basicColor2) !important;
}

.specialVisualElement{
    height: 0.1em ;
    background-color:var(--basicTextColor);
    width: 8em ;
    position: relative;
    font-size: 0.8em ;
}

.specialVisualElement:before{
    position: absolute;
    left: -0.2em;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    height: 1em;
    width: 1em;
    background-color: var(--basicColor5);
}

.textBaseCta p{
    display: none;
}

.textBaseCta .presentationTitle{
    margin-bottom: 1em ;
}

.textBaseCta .titledecorationCta{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -9em;
    height: 5em;
    width: auto;
}
.fullPageImageCta:before{
    background-color: rgba(45, 52, 61,0.4);
}
.fadeFromTopNumber{

    display: inline-block;
}


.mainMenu ul li a.activeLink{
    font-weight: 600 ;
    color: var(--basicColor5);
}

.mainMenu .iconPart svg path{
    fill: var(--basicLinkColor);
}

.textBaseCta{
    width: 100%;
}

@media screen and (max-width: 1150px) {
    body, .mainMenu{
        padding-right: 5em ;
    }


    .mainMenu .logo{
        height: 3.5em ;
    }
    .mainMenu ul .logoPart:nth-child(1) {
        padding-right: 7em;
    }

}

@media screen and (max-width: 850px) {

    nav.mainMenu ul.links{
        padding-right: 5em ;
        box-sizing: border-box;
        background-color: rgba(240,240,240,0.9);
    }
    nav.mainMenu ul .links li:hover{
        background-color: white;
    }


}

@media screen and (max-width: 700px) {

    nav.mainMenu ul.links li{
        display: block;
    }
    nav.mainMenu ul.links li a{
        display: block;
        font-size: 1.2em ;
        text-align: left;
        padding-left: 3em !important;
    }
    
    .mainMenu .subMenu {
        position: initial;
        transform: translate(0,0);
        opacity: 1;
        background-color: initial;
        box-shadow: initial;
        height: 0;
        overflow: hidden;
    
    }
    .mainMenu .subMenu a {
        padding-left: 3em;
        
    }
    
    .mainMenu .subMenu.open{
        transform: translate(0,0);
        height: auto;
        background-color: initial;
    }
    
    nav.mainMenu ul.links{
        overflow-y: auto;
    }
}

@media screen and (max-width: 600px) {

    body, .mainMenu, nav.mainMenu ul.links{
        padding-right: 0;
    }

    .mainMenu{
        white-space: nowrap;
    }
    .mainMenu ul .logoPart:nth-child(1) {
        padding-right: 4em;
    }
}