/****************
 * HEADER
 * ****************/
header {position: absolute; width: 100%; z-index: 10; top: 0; left: 0;}
header a.logo-link {display: inline-block;}
header img.logo {width: 46px; padding: 20px 0; margin: 0 20px;}
header ul.social-icons {margin: 0; padding: 0 20px; float: right; line-height: 86px;}
header ul.social-icons li {display: inline-block; padding: 0 8px; vertical-align: middle; margin-bottom: 0;}
header ul.social-icons li img {width: 22px; opacity: 1; transition: opacity .3s ease-in-out;}
header ul.social-icons li:hover img {opacity: .7;}
/****************
 * HOMEPAGE
 * ****************/
.homepage {
    height: 100vh;
	overflow: hidden;
}
.homepage .row.full {height: 100%;}
.homepage .image-container,
.homepage .text-container {
	top: 50%;
	transform: translateY(-50%);
}
.homepage .text-container {top: 44%; padding-left: 40px;}

.homepage .image-container {text-align: center;}
.homepage .image-container img {padding: 100px 0 0 120px;}

.homepage .text-container h1 {
	font-size: 100px;
	letter-spacing: -5px;
	font-family: gt-bold;
	margin-bottom: 10px;
	line-height: 1em;
}
.homepage .text-container h2 {
	font-size: 38px;
	font-family: gt-light;
	font-weight: 100;
	margin-bottom: 20px;
}
.homepage .button:hover {transform: translateY(-3px);}
.homepage .sk-link .button:before {
	content: '';
    background-image: url(/wp-content/uploads/2022/01/icon-home.svg);
    background-size: cover;
    width: 25px;
    height: 24px;
    display: inline-block;
    margin-right: 16px;
    vertical-align: middle;
    margin-top: -3px;
}
.homepage .contact-link .button:before {
	content: '';
    background-image: url(/wp-content/uploads/2022/01/icon-mail.svg);
    background-size: cover;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 16px;
    vertical-align: middle;
    margin-top: -3px;
}
.homepage .recherche {
	background: #fff;
    display: inline-block;
    width: 60%;
    padding: 28px 24px;
    border-radius: 20px;
    color: #1B1F3B;
	margin: 20px 0 60px;
	box-shadow: 24px 48px 64px rgba(27,21,59,.3);
	max-width: 740px;
}
.homepage .recherche p:before {
	content: '';
    background-image: url(/wp-content/uploads/2022/01/icon-search.svg);
    background-size: cover;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 16px;
    vertical-align: middle;
    margin-top: -3px;
}
.homepage .recherche p {
	margin-bottom: 0;
	font: 26px/34px gt-bold, sans-serif;
}
.homepage .recherche span.highlight {color: #454ADE;}
/****************
 * ANIMATION TEXTE
 * ****************/
span.slide span {
position: absolute;
animation: slidetext 8s cubic-bezier(.87,-.41,.19,1.44) 0s infinite;
opacity: 0;
color: #454ADE;
	margin-left: 10px;
}

span.slide span:nth-child(2) {animation-delay: 2s;}
span.slide span:nth-child(3) {animation-delay: 4s;}
span.slide span:nth-child(4) {animation-delay: 6s;}

@keyframes slidetext {
    0%, 100%, 80% {
        opacity: 0
    }

    5% {
        transform: translateY(-50px);
        opacity: 0
    }

    10%, 25% {
        transform: translateY(0);
        opacity: 1
    }

    30% {
        transform: translateY(50px);
        opacity: 0
    }
}
/****************
 * MA PHOTO
 * ****************/
.icon-profile-container {
	position: absolute;
    right: 100px;
    bottom: 150px;
	pointer-events: none;
}
.icon-profile-container span {
	display: block;
    padding: 0px 0 30px;
    font-size: 20px;
	position: relative;
}
.icon-profile-container span:after {
	content: '';
	background: url('/wp-content/uploads/2022/02/arrow.svg') no-repeat;
	background-position: left;
	background-size: cover;
	position: absolute;
	top: 15px;
    width: 20px;
    height: 48px;
    right: 4px;
}

.icon-profile-container img {
	border-radius: 50%;
    width: 130px;
    box-shadow: 12px 24px 48px rgb(27 31 59 / 30%);
}
/****************
 * CONTACT OPEN SECTION
 * ****************/
.cbp-spmenu {background: #fff;position: fixed;box-shadow: 6px 0 12px rgba(0,0,0,.275);z-index:120;text-align:left; overflow-y: scroll;}
.cbp-spmenu .col {padding: 0 30px;}
.cbp-spmenu h3 {color: #1B1F3B; padding: 20px 0 5px; font-size: 30px; font-family: gt-bold;letter-spacing: -2px;}
.cbp-spmenu-vertical {width: 40%;height: 100%;top: 0;z-index: 15;}
.cbp-spmenu-vertical a {padding: 0;}
.cbp-spmenu-left {right: -45%;}
.cbp-spmenu-left.cbp-spmenu.on {right: 0px;}
.cbp-spmenu,
.cbp-spmenu-push {-webkit-transition: all 0.15s ease;-moz-transition: all 0.15s ease;transition: all 0.15s ease;}
.reveal {cursor:pointer;position: fixed;height: 100%;width: 100%;background: #000;background: rgba(0,0,0,.6);z-index: 10;top: 0;left: 0;-webkit-transition: all 0.15s ease;-moz-transition: all 0.15s ease;transition: all 0.15s ease;}
span.wpcf7-not-valid-tip {margin-top: -20px;}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	background: #f00;
    border: 0;
    line-height: normal;
    padding: 20px;
    border-radius: 15px;
}
div.wpcf7-mail-sent-ok {
	background: #398f14;
    border: 0;
    line-height: normal;
    padding: 20px;
    border-radius: 15px;
}
.wpcf7-form .button img {
	vertical-align: middle;
    margin-right: 16px;
}
/****************
 * PAGE 404 ERREUR
 * ****************/
.error {position: relative; top: 50%; transform: translateY(-50%);}
.error h1 {font-size: 80px; line-height: 1em; margin-bottom: 40px;}
.error a {color: #fff;}