button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}
:root{
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    color: #000;
}
body{
    background-color: #E9EFF2;
}
.overflow-hidden{overflow: hidden}
a{
    font-weight: bold;
    color: #000;
}
img{
    max-width: 100%;
    height: auto;
}
.container{
    max-width: 1500px;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.container-xxl{
    max-width: 1920px;
    padding-left: 0;
    padding-right: 0;
}
.grid-header{
    display: flex;
    justify-content: space-between;
}
.header-right{
    display: flex;
    justify-content: flex-end;
}
.btn{
    display: inline-block;
    text-align: center;
    border: none;
    outline: none;
    cursor: pointer;
    text-transform: uppercase;
    text-decoration: none;
    color: #000;
    padding: .5rem 1rem;
    background-color: #fff;
    transition: all .3s;
}
.btn:hover{
    color: #fff;
    background-color: #000;
}
.box-hamb{
    display: none;
}
.hamburger {
    font: inherit;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    margin: 0;
    padding: 0;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity,filter;
    text-transform: none;
    color: inherit;
    border: 0;
    background-color: transparent;
}
.hamburger-box {
    position: relative;
    display: inline-block;
    width: 33px;
    height: 24px;
}
.hamburger--squeeze .hamburger-inner {
    transition-timing-function: cubic-bezier(.55,.055,.675,.19);
    transition-duration: 75ms;
}
.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -2px;
}
.hamburger--squeeze .hamburger-inner:before {
    transition: top 75ms ease .12s,opacity 75ms ease;
}
.hamburger-inner:before {
    top: -10px;
}
.hamburger--squeeze .hamburger-inner:after {
    transition: bottom 75ms ease .12s,transform 75ms cubic-bezier(.55,.055,.675,.19);
}
.hamburger-inner:after {
    bottom: -10px;
}
.hamburger-inner:after, .hamburger-inner:before {
    display: block;
    content: "";
}
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
    position: absolute;
    width: 33px;
    height: 4px;
    transition-timing-function: ease;
    transition-duration: .15s;
    transition-property: transform;
    border-radius: 0;
    background-color: #000;
}
.hamburger--squeeze.is-active .hamburger-inner {
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
    transform: rotate(45deg);
}
.hamburger--squeeze.is-active .hamburger-inner:before {
    top: 0;
    transition: top 75ms ease,opacity 75ms ease .12s;
    opacity: 0;
}
.hamburger--squeeze.is-active .hamburger-inner:after {
    bottom: 0;
    transition: bottom 75ms ease,transform 75ms cubic-bezier(.215,.61,.355,1) .12s;
    transform: rotate(-90deg);
}
.hamburger + span{
    font-weight: bold;
    padding-left: 10px;
}
#header{
    background-color: #E9EFF2;
    padding: 3rem;
    position: relative;
    z-index: 1000;
}
.menu-principal ul{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 2rem;
}
.menu-principal a{
    text-decoration: none;
    text-transform: uppercase;
}
.fond-banner {
    position: relative;
    background-color: #fff;
    overflow: hidden;
    margin-top: -16rem;
}
.fond-banner img{
    width: 110%;
    max-width: initial;
    position: relative;
    left: 0;
}
.fond-banner img:not(:first-child){
    position: absolute;
    top: 0;
    left: 0;
}
.fond-banner img.img-1{
    left: -10%;
}
.banner{
    position: relative;
}
.banner h1{
    position: absolute;
    top: 25rem;
    left: 29rem;
    font-size: 1.6rem;
    font-weight: 500;
    z-index: 10;
    max-width: 700px;
    box-sizing: border-box;
}
#header .box-unites{
    position: absolute;
    bottom: -3rem;
    right: 0;
}
.box-unites{
    display: grid;
    grid-template-columns: 480px 175px;
    background-color: #CCDE8A;
    text-align: center;
}
.box-unites .left{
    display: flex;
    align-items: center;
    justify-content: center;
}
.box-unites .left h2{
    font-weight: 500;
    margin: .2rem 0 0;
}
.box-unites .left h2 strong {
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 2px;
}
.box-unites .right{
    background-color: #25201F;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
}
.box-unites .right strong{
    font-size: 3.5rem;
    padding: .7rem;
}
.box-unites .right span{
    font-size: 1.8rem;
    font-weight: 700;
    background-color: #494845;
    display: block;
    padding: .7rem;
}
.download-plans {
    background: #477D9B url("/images/fond-download.jpg") no-repeat right center;
    color: #fff;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    display: flex;
    align-items: center;
    padding: 4rem 6rem;
    text-decoration: none;
    max-width: 1360px;
    width: 100%;
    margin: -9rem auto 0;
    position: relative;
    z-index: 10;
    box-sizing: border-box;
}
.download-plans svg{
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    fill: #fff;
    height: 60px;
}
.constructions > p{
    font-size: 1.6rem;
    max-width: 800px;
    margin: 5rem auto;
    padding-left: 1rem;
    padding-right: 1rem;
}
.types{
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.types .type{
    text-decoration: none;
}
.type h2{
    background-color: #26201E;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 2rem;
    margin: 0;
    padding: 1.8rem 1rem;
}
.type img{
    display: block;
    width: 100%;
}
.type .infos{
    display: grid;
    /*grid-template-columns: 1fr 120px;
    gap: 2rem;*/
    place-items: center;
    padding: 2rem 2rem 4rem;
}
.type .infos .contact{
    display: flex;
    flex-direction: column;
    gap: .8rem;
}
.type .infos .contact a{
    background-color: #fff;
    box-shadow: 1px 1px 5px rgba(0,0,0,.1);
    border-radius: 5px;
    width: 86px;
    height: 72px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}
.type .infos .contact a svg{
    height: 35px;
    width: 35px;
}
.types .type:nth-child(2) h2,
.types .type:nth-child(3) h2{
    background-color: #464443;
}
.boxes-bleu{
    display: grid;
    grid-template-columns: 1fr .7fr;
    background-color: #477D9B;
    color: #fff;
}
.a-proximite .box-img{
    order: 2;
}
.boxes-bleu .contenu{
    padding: 5rem;
    display: flex;
    align-items: center;
}
.boxes-bleu ul{
    padding: 0;
    list-style: none;
}
.boxes-bleu li{
    font-size: 1.1rem;
    font-weight: 600;
    margin: .4rem 0;
}
.boxes-bleu li::before{
    content: '> ';
}
.boxes-bleu h2{
    font-size: 2.5rem;
    margin-top: 0;
}
.boxes-bleu img{
    width: 100%;
    display: block;
}
#footer{
    position: relative;
    background-color: #fff;
}
#footer .box-unites{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -4rem;
}
.footer-container{
    max-width: 1000px;
    margin: auto;
    padding: 10rem 1rem 5rem;
    display: flex;
    justify-content: center;
    gap: 2rem;
}
.footer-container p{
    line-height: 1.8;
}
.copyright{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    gap: 5px;
    padding-bottom: 2rem;
}
.copyright svg{
    height: 20px;
}
.copyright a{
    text-decoration: none;
    font-weight: 500;
}
#back-to-top{
    position: absolute;
    bottom: 0;
    right: 2rem;

}
#back-to-top img{
    display: block;
}
.is-anchor{
    position: relative;
    top: -150px;
}
.box-logo svg{
    height: 135px;
}
@media screen and (max-width: 1600px){
    #header .box-logo svg{
        height: 115px;
        width: auto;
    }
    .banner h1 {
        left: 15%;
        background: rgba(255, 255, 255, 0.85);
        padding: 1rem;
    }
}
@media screen and (max-width: 1300px){
    .download-plans {
        padding: 4rem 3rem;
        width: 93%;
    }
    .types,
    .boxes-bleu{
        grid-template-columns: 1fr;
    }
    .a-proximite .box-img{
        order: 1;
    }
    .a-proximite .contenu{
        order: 2;
    }
}
@media screen and (max-width: 1200px){
    .box-unites .right strong,
    .box-unites .left h2 strong{
        font-size: 2.5rem;
    }
    .box-unites .right span {
        font-size: 1.4rem;
    }
    .box-unites .left h2 {
        font-size: 1.3rem;
    }
    .box-unites {
        grid-template-columns: 394px 141px;
    }
    .box-hamb{
        display: flex;
        z-index: 1999;
    }
    .menu-principal{
        position: fixed;
        width: 320px;
        height: 100vh;
        top: 0;
        left: 0;
        background-color: #494845;
        transform: translateX(-100%);
        z-index: 1001;
        transition: transform .5s;
    }
    .menu-principal.openned{
        transform: translateX(0);
    }
    .menu-principal ul{
        display: flex;
        flex-direction: column;
        padding-top: 4rem;
    }
    .menu-principal a{
        color: #fff;
        font-size: 1.3rem;
    }
    #header .box-unites {
        bottom: -4rem;
        right: 50%;
        transform: translateX(50%);
    }
    #header {
        padding: 3rem 3rem 5rem;
    }
    #header .box-logo svg {
        height: 85px;
    }
    .banner h1{
        left: 50%;
        top: 9rem;
        transform: translateX(-50%);
        max-width: 500px;
        width: 100%;
        text-align: center;
    }
    .fond-banner {
        margin-top: -5rem;
    }
    .download-plans {
        font-size: 2.5rem;
    }
}
@media screen and (max-width: 900px){
    .footer-container{
        flex-direction: column;
    }
    .copyright {
        padding-bottom: 6rem;
    }
    .fond-banner {
        margin-top: 0;
    }
    .banner h1 {
        top: 4rem;
    }
}
@media screen and (max-width: 600px){
    .banner h1 {
        font-size: 1.2rem;
    }
    #header .box-unites{
        bottom: 0;
        margin-top: 2rem;
    }
    #header .box-unites,
    .box-unites{
        position: relative;
        grid-template-columns: 1fr;
        width: 100%;
    }
    #header {
        padding: 3rem 1rem 1rem;
    }
    .box-unites .left h2 {
        margin: 1rem 0 .8rem;
    }
    .boxes-bleu .contenu {
        padding: 5rem 1rem;
    }
    .boxes-bleu h2 {
        font-size: 1.7rem;
    }
    .copyright{
        flex-direction: column;
    }
    #footer .box-unites {
        position: relative;
        left: 0;
        transform: initial;
        top: 0;
    }
    .footer-container {
        padding: 5rem 1rem;
    }
    .download-plans {
        margin: -3rem auto 0;
    }
}
@media screen and (max-width: 480px){
    #header .box-logo svg {
        height: 60px;
    }
    .download-plans {
        font-size: 1.5rem;
    }
    .banner h1 {
        top: 0;
    }
    .box-logo-footer svg{
        width: 100%;
    }
    .menu-principal ul {
        padding-top: 8rem;
    }
}