/* ---- FONTS ---- */
@font-face {
    font-family: 'arb';
    src: url('../fonts/arial-rounded.eot');
    src: url('../fonts/arial-rounded.eot?#iefix') format('embedded-opentype'),
        url('../fonts/arial-rounded.woff2') format('woff2'),
        url('../fonts/arial-rounded.woff') format('woff'),
        url('../fonts/arial-rounded.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'cskr';
    src: url('../fonts/century-schoolbook-regular.eot');
    src: url('../fonts/century-schoolbook-regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/century-schoolbook-regular.woff2') format('woff2'),
        url('../fonts/century-schoolbook-regular.woff') format('woff'),
        url('../fonts/century-schoolbook-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'cskb';
    src: url('../fonts/century-schoolbook-bold.eot');
    src: url('../fonts/century-schoolbook-bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/century-schoolbook-bold.woff2') format('woff2'),
        url('../fonts/century-schoolbook-bold.woff') format('woff'),
        url('../fonts/century-schoolbook-bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'cal';
    src: url('../fonts/calibri-bold.eot');
    src: url('../fonts/calibri-bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/calibri-bold.woff2') format('woff2'),
        url('../fonts/calibri-bold.woff') format('woff'),
        url('../fonts/calibri-bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* ---- PAR-DEFAUT ---- */
body, ul, li, ol, form, h1, h2, h3, h4, h5, h6, div, span, p {
    padding:0;
    margin:0;
    border:0;
    -webkit-text-size-adjust:none;
    -moz-text-size-adjust:none;
    text-size-adjust:none;
}
* { outline:none !important;}
:root {
    --blanc: #fff;
    --noir: #000;
    --gris: #131f35;
    --beige: #b18857;
    --marron: #3d190a; 
    --grena: #790000;
}
body {
    margin: 0;
    padding: 0;
    font: normal 14px/24px "cskr";
    color: var(--blanc);
}
h3 {
    font: normal 24px/24px "cskr";
    color: var(--beige);
}
ul { list-style-type:none;}
a {
    color: var(--blanc);
    text-decoration: none;
    transition: all ease-in-out 400ms;
}
a:hover {
    color: var(--beige);
}
.container {
    max-width: 1146px;
    width: 100%;
    margin: 0 auto;
}

/* ---- HEADER ---- */
header {
    background: url(../img/bg-top.jpg) center no-repeat;
    background-size: cover;
    border-bottom: 2px var(--beige) solid;
}
.top {
    display: flex;
    justify-content: center;
    align-items: center;
}
.logo:hover, .logoClient:hover, .logoFoot:hover, .rs:hover {
    opacity: .7;
}
.slogNav {
    margin: 0 40px !important;
}
.slogan {
    font: bold 18px/36px "cskb";
    color: var(--blanc);
    text-align: center;
}
.slogan b {
    display: block;
    font-size: 30px;
    color: var(--beige);
}
.coor {
    font: bold 18px/18px "cal";
    color: var(--blanc);
    text-align: center;
}
.coor a:hover {
    color: var(--beige);
}
.nav {
    margin-top: 27px;
}
.nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin-bottom: 13px;
    padding: 0;
}
.nav ul li a {
    font: bold 14px/30px "cskb";
    text-transform: uppercase;
    padding: 20px 11px;
}
.nav ul li a:hover, .nav ul li.current_page_item a {
    background: var(--beige);
    color: var(--blanc);
}

/* Menu Burger*/
.menu-bar {
	display: none;
	background: var(--beige);
	width: 50px;
	height: 45px;
    border-radius: 3px;
	position: absolute;
	top: 35px;
	left: 40px;
	cursor: pointer;
	z-index: 999999;
	justify-content: center;
	align-items: center;
}
.menu-bar.show {
	display: block !important;
}
.menu-bar div {
	position: absolute;
	width: 35px;
	height: 2px;
	left: 0;
	right: 0;
	top: 50%;
	margin: 0 auto;
	border-radius: 2px;
	background: var(--blanc);
}
.menu-bar div:first-child {
	margin-top: -2px;
}
.menu-bar div:nth-child(2) {
	margin-top: -12px;
}
.menu-bar div:nth-child(3) {
	margin-top: 9px;
}
header.active .burger {
    transform: translateX(0);
	opacity: 1;
	transition: all 600ms ease-in-out;
}
.menu-bar.active div {
	width: 0;
	transition: all ease-in-out .5s;
}
.menu-bar.active div:nth-child(2) {
	width: 35px;
	transform: rotate(45deg);
	transition: all ease-in-out .5s;
	margin-top: 0;
}
.menu-bar.active div:nth-child(3) {
	width: 35px;
	transform: rotate(-45deg);
	transition: all ease-in-out .5s;
	margin-top: 0;
}
.burger {
	background: url(../img/bg-top.jpg) center no-repeat;
    background-size: cover;
	position: fixed;
	width: 100%;
	height: 100%;
	min-height: 100vh;
	padding: 25px 0;
	text-align: center;
    transform: translateX(-100%);
	opacity: 0;
	transition: all 600ms ease-in-out;
	transition-delay: .5s;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
    z-index: 99999;
}
.log {
    display: block;
    width: 175px;
    margin: 0 auto;
}
#menuBurger {
	margin-top: 30px;
}
#menuBurger li {
	margin: 10px 0;
}
#menuBurger a {
	font: normal 25px/30px "cal";
	color: var(--blanc);
}
#menuBurger .active a {
    font-weight: bold;
    color: var(--beige);
}

/*---- RESPONSIVE ----*/
@media (max-width:1200px){
    .top {
        padding: 15px 20px;
        flex-direction: column;
        position: relative;
    }
    .logoClient {
        position: absolute;
        top: 40px;
        right: 40px;
    }
    .slogan {
        font: bold 16px/30px "cskb";
    }
    .slogNav {
        margin: 0 !important;
    }
    .slogan b {
        font-size: 25px;
    }
    .nav {
        display: none;
    }
    .menu-bar {
		display: flex !important;
		z-index: 999999;
	}
}
@media (max-width:600px){
    .menu-bar {
        left: 20px;
    }
    .slogan {
        font-size: 14px;
        line-height: 20px;
    }
    .slogan b {
        font-size: 20px;
    }
    .logoClient {
        display: none;
    }
    .logoClient img {
        display: block;
        width: 100%;
        height: auto;
    }
}

/* ---- MAIN ---- */
.banner {
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: calc(100vh - 180px);
}
.intro {
    max-width: 525px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
}
.intro span {
    display: block;
    padding-top: 110px;
    font: bold 36px/36px "arb";
    color: var(--gris);
    text-shadow: 0px 0px 5px var(--blanc);
    text-transform: uppercase;
}
.mesure {
    background: var(--grena);
    width: 100%;
    margin-top: 25px;
    padding: 15px 10px;
    border-radius: 5px;
    font: bold 48px/48px "cal";
    color: var(--blanc);
    text-shadow: 0px 0px 5px var(--noir);
}
.payement {
    background: var(--marron);
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font: bold 24px/24px "cal";
    color: var(--blanc);
    text-shadow: 0px 0px 5px var(--noir);
    position: absolute;
    bottom: 0;
    left: -43%;
    transform: rotate(-25deg);
}
.payement:before {
    content: "";
    position: absolute;
    top: -18px;
    right: -18px;
    bottom: -18px;
    left: -18px;
    border: 18px rgba(108, 67, 53, .8) solid;
    border-radius: 50%;
}
.textBottom {
    background: rgba(0, 0, 0, .7);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
    text-align: center;
    padding: 25px 0;
    border-bottom: 20px #151515 solid;
}
.textBottom span {
    font: bold 36px/36px "cal";
    color: var(--blanc);
}
.textBottom span b {
    display: block;
}
.textBottom .coor {
    margin-top: 15px;
    font-size: 24px;
}

/*---- RESPONSIVE ----*/
@media (max-width:1200px){
    .banner {
        height: 750px;
    }
    .payement {
        left: -34%;
    }
}
@media (max-width:980px){
    .banner {
        height: auto;
        padding: 50px 0 0;
    }
    .intro {
        max-width: 430px;
    }    
    .intro span {
        padding-top: 35px;
    }
    .mesure {
        font-size: 40px;
        line-height: 40px;
    }
    .payement {
        left: -25%;
        top: 12px;
    }
    .textBottom {
        position: relative;
        margin-top: 75px;
        padding: 25px 0;
    }
}
@media (max-width:600px){
    .intro {
        max-width: 100%;
        padding-bottom: 130px;
    }
    .intro span {
        font-size: 30px;
    }
    .mesure {
        max-width: 300px;
        margin: 15px auto 0;
        font-size: 30px;
        line-height: 35px;
    }
    .payement {
        left: 50px;
        top: inherit;
        bottom: 13px;
        width: 120px;
        height: 120px;
        font-size: 20px;
        line-height: 20px;
    }
    .textBottom span {
        font: bold 25px/30px "cal";
    }
    .textBottom .coor {
        font-size: 20px;
    }
}
@media (max-width:480px){
    .banner {
        padding: 20px 0 0;
    }
    .payement {
        left: 40px;
        bottom: 0;
        z-index: 5;
    }
    .textBottom {
        margin-top: 5px;
        z-index: 1;
    }
}


/* ---- PAGE PRESENTATION ---- */
.present {
    position: relative;
}
.present h1, .present p {
    color: var(--noir);
}
.image {
    background-position: 15% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 195px;
    border-bottom: 1px var(--noir) solid;
}
.image img {
    display: block;
    width: 100%;
    height: 195px;
    object-fit: cover;
    object-position: left;
}
.ctPresent {
    background: url(../img/bg-ct-present.jpg) center no-repeat;
    background-size: cover;
    padding: 40px 0;
}
.ctPresent:after {
    content: "";
    background: rgba(0, 0, 0, .7);
    height: 25px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
}
.col {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.ctPresent h1 {
    margin-bottom: 30px;
}
.ctPresent p {
    font-size: 18px;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}
.text {
    width: calc(100% - 400px);
    padding-right: 9%;
}
.text p:last-of-type span {
    display: block;
    margin-top: 30px;
    text-align: center;
    font: bold 24px/18px "cal";    
} 
.text p:last-of-type span a {
    color: var(--noir);
}
.text a:hover {
    color: var(--beige) !important;
}
.aside {
    background: #e4e0cd;
    max-width: 350px;
    border: 1px var(--noir) solid;
    border-radius: 5px;
    margin-top: 30px;
}
.sousAside {
    padding: 25px 40px;
}
.sousAside img {
    display: block;
    margin: 0 auto;
}
.sousAside span {
    display: block;
    margin-top: 35px;
    padding: 20px 20px 0;
    border-top: 1px #414a4f solid;
    text-align: center;
    font: bold 23px/36px "cskb";
    color: #414a4f;
}

/*---- RESPONSIVE ----*/
@media (max-width:1200px){
    .col {
        padding: 0 40px;
    }
}
@media (max-width:980px){
    .col {
        flex-direction: column;
    }
    .text {
        width: 100%;
        padding-right: 0;
    }
    .aside {
        margin: 30px auto;
    }
}
@media (max-width:600px){
    .col {
        padding: 0 20px;
    }
}
.sousAside {
    padding: 25px 20px;
}
.sousAside span {
    padding: 20px 0 0;
}


/* ---- FOOTER ---- */
footer {
    background: var(--noir);
    padding: 30px 0 0;
}
.wrap   {
    max-width: 1416px;
    width: 100%;
    margin: 0 auto;
}
.sousWrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 40px;
}
.footLeft {
    max-width: 280px;
    width: auto;
}
.slog {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
}
.slog .logoFoot {
    width: 100%;
    display: flex;
    justify-content: center;
}
.introFoot {
    font: bold 12px/24px "cskb";
    color: var(--blanc);
}
.introFoot span {
    display: block;
    color: var(--beige);
}
.coorfoot {
    margin-top: 15px;
}
.coorfoot span {
    display: block;
    font: normal 16px/24px Arial, sans-serif;
}
.coorfoot span:last-of-type {
    margin-top: 15px;
}

.footCenter {
    width: calc(100% - 550px);
    margin-top: 25px;
    padding: 0 8%;
}
.footCenter h3 {
    margin-bottom: 40px;
}
.footCenter ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footCenter strong {
    display: block;
    margin-top: 55px;
    font: bold 24px/24px "cal";
}

.footRight {
    max-width: 270px;
    width: auto;
}
.footRight .formGroup {
    width: 100%;
    border: 1px #393939 solid;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.formControl {
    background: var(--noir);
    border: none !important;
    width: calc(100% - 52px);
    height: 36px;
    padding-left: 10px;
    color: var(--blanc);
}
.formControl:focus, .formControl:focus-visible {
    border: none !important;
    outline: none !important;
}
.formGroup button {
    background: #ff5a3c;
    width: 52px;
    border: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
    font: normal 14px/24px "cskr";
    color: var(--blanc);
}
.temoin {
    margin-top: 35px;
}
.temoin a {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.temoin img {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: cover;
    object-position: center;
}
.textTem {
    padding: 0 10px;
}
.textTem h3, .temoin p {
    margin: 0 0 5px !important;
}
.temoin p {
    margin: 0 !important;
    line-height: 16px;
}
.rs {
    display: block;
    width: 64px;
    margin: 50px auto 0;
}
.copy {
    margin-top: 15px;
    padding: 20px 0;
    position: relative;
    font-size: 12px;
    text-align: center;
}
.copy::before {
    content: "";
    max-width: 685px;
    width: 80%;
    border-top: 1px var(--blanc) solid;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

/*---- RESPONSIVE ----*/
@media (max-width:1200px){
    footer {
        padding: 0;
    }
    .sousWrap {
        flex-direction: column;
        justify-content: center;
    }
    .footLeft {
        text-align: center;
        margin: 0 auto;
    }
    .footCenter {
        width: 100%;
        margin: 0;
        padding: 0;
        text-align: center;
    }
    .footCenter h3 {
        margin-bottom: 11px;
    }    
    .footCenter strong {
        margin-top: 15px;
    }
    .footRight {
        margin: 0 auto;
    }
    .footRight h3 {
        margin-bottom: 12px;
        text-align: center;
    }
    .rs {
        margin: 20px auto 0;
    }
}
@media (max-width:600px){
    .sousWrap {
        padding: 0 20px;
    }
}