/*
	WEBSITE VARS


	TYPO

	font-family: 'Font_Name', sans-serif; 
   	font-family: 'Font_Name', sans-serif;


   	COLOR

	main-color : #000000;
   	main-text : #474747;
   	main-cta : #7FC43F and #38A217;
   	secondary-cta : #DF358C and #B11A68;


*/

:root {
	--font--primary: "VisueltPro", Arial, sans-serif;
}

/* @font-face {
    font-family: 'Bitter';
    src: url('../fonts/Bitter-Regular.eot');
    src: url('../fonts/Bitter-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Bitter-Regular.woff2') format('woff2'),
        url('../fonts/Bitter-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Bitter';
    src: url('../fonts/Bitter-Medium.eot');
    src: url('../fonts/Bitter-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Bitter-Medium.woff2') format('woff2'),
        url('../fonts/Bitter-Medium.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Bitter';
    src: url('../fonts/Bitter-Bold.eot');
    src: url('../fonts/Bitter-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Bitter-Bold.woff2') format('woff2'),
        url('../fonts/Bitter-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
} */

@font-face {
	font-family: "VisueltPro";
	src: url("../fonts/VisueltPro-Regular.eot");
	src: url("../fonts/VisueltPro-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/VisueltPro-Regular.woff2") format("woff2"), url("../fonts/VisueltPro-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "VisueltPro";
	src: url("../fonts/VisueltPro-Light.eot");
	src: url("../fonts/VisueltPro-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/VisueltPro-Light.woff2") format("woff2"), url("../fonts/VisueltPro-Light.woff") format("woff");
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: "VisueltPro";
	src: url("../fonts/VisueltPro-Medium.eot");
	src: url("../fonts/VisueltPro-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/VisueltPro-Medium.woff2") format("woff2"), url("../fonts/VisueltPro-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: "VisueltPro";
	src: url("../fonts/VisueltPro-Bold.eot");
	src: url("../fonts/VisueltPro-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/VisueltPro-Bold.woff2") format("woff2"), url("../fonts/VisueltPro-Bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
}

/* ==========================================================================
	GENERAL
========================================================================== */

body {
	font-size: 1.3rem;
	font-family: var(--font--primary);
	font-weight: 300;
	padding-top: 5rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	font-weight: 400;
}

h1,
.h1 {
	font-size: 3rem;
}

.h2 {
	font-size: 2.7rem;
}

.h3 {
	font-size: 2rem;
}

a,
a:focus,
a:hover {
	outline: none;
}

.weight-normal {
	font-weight: 400;
}

.font--light {
	font-weight: 300;
}

.color--text {
	color: #000;
}

.cls-1 {
	font-family: "VisueltPro";
	font-size: 93.43px;
	font-weight: 500;
	text-decoration: none;
}

.cls-2 {
	stroke-opacity: 0;
}

/* ==========================================================================
	HEADER
========================================================================== */
/* body{
     background: url("../img/plan.png") no-repeat top right;
     background-size: 1000px;
} */
.header {
	padding: 1rem 0;
	margin-bottom: 1rem;
	z-index: 999;
}

.header-menu {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999;
	padding: 0.6rem 0.6rem 0 0.6rem;
}

#openBtn {
	background: none;
	color: #000;
	border: none;
}

.min50 {
	margin-top: -50px;
}
.gif {
	z-index: 999;
}
.header-branding {
}

.header-branding em {
	font-family: var(--font--primary);
	font-style: italic;
}

.logo-img {
	max-width: 271px;
}

.sub-title {
	font-size: 2.2rem;
	margin-bottom: -20px;
}

.words-spin {
	position: relative;
}

.words-spin span {
	font-size: 6vw;
	color: #000;
	transition: all ease 1s;
	opacity: 0;
	text-transform: uppercase;
	line-height: 1;
	position: absolute;
	left: 0;
	top: 0;
}

.co {
	font-size: 6vw;
	color: #000;
}

.words-spin span:first-of-type {
	position: relative;
}

.words-spin span.displayed {
	opacity: 1;
	transition: all ease 1s 1s;
}

.jumbo-header {
	background: #000;
	color: #fff;
	height: 100vh;
}

.jumbo-header .header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.jumbo-header h1 {
	font-size: 4rem;
}

.village-and-co {
	padding: 5rem 0;
}

.village-and-co h2 {
	font-size: 3rem;
}

.jumbo-header .logo-img {
	width: 90px;
}

.jumbo-wrapper {
	position: relative;
}

.jumbo-wrapper a {
	position: absolute;
	bottom: -1rem;
	left: 4rem;
	z-index: 2;
	display: block;
}

.jumbo-wrapper a svg {
	display: block;
	width: 160px;
}

/* ==========================================================================
	HOMEPAGE
========================================================================== */

.baseline {
	padding: 4.5rem 0;
}

#community .minilogo {
	width: 300px;
}

.partners-wrapper {
	/*border-top: 2px solid #000;*/
	border-bottom: 2px solid #000;
	padding: 4rem 0 3rem 0rem;
}

.partners-logos {
	margin: 0rem -1rem 0;
}

.partner img {
	max-width: 117px;
	max-height: 61px;
}

.partner {
	padding: 0 4rem;
	text-align: center;
	flex: 1;
	margin-bottom: 4rem;
}

.partners {
	padding-top: 4.5rem;
}

.partners .minilogo {
	width: 150px;
}

.facts {
	padding: 4.5rem 0;
}

.fact-row {
	padding: 2rem 0;
	border-bottom: 1px solid #000;
	margin: 0 15px;
}

.fact {
	padding: 5px 1rem;
	flex: 1;
	border-bottom: 1px solid #000;
}

.fact:last-child {
	border-bottom: none;
}

.fact-number,
.fact-label {
	display: block;
}

.fact-number {
	font-size: 2.5rem;
	font-weight: 400;
	margin-right: 1.3rem;
	line-height: 1.4;
}

.fact-label {
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.2;
}

.fact-cta {
	margin-top: -100px;
}

.service {
	background-position: center center;
	background-attachment: scroll;
	background-size: cover;
	position: relative;
	color: #fff;
	min-height: 100vh;
	transition: all ease 0.5s 0.1s;
	/* text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);*/
	overflow: hidden;
	background-repeat: no-repeat;
}

.service-book {
	position: absolute;
	top: 15rem;
	left: 15rem;
	transform: translate(0, 0);
	width: 250px;
	height: 250px;
	z-index: 200;
	margin: -125px 0 0 -125px;
}

.cta-right .service-book {
	left: auto;
	right: 15rem;
}
.service:nth-child(odd) .cls-1 {
	fill: #fff;
}

.service:nth-child(odd) .cls-2 {
	font-family: "VisueltPro";
	font-size: 44.8px;
	font-weight: 300;
}

.service:nth-child(even) .cls-1 {
	fill: none;
	stroke: #fff;
	stroke-miterlimit: 10;
}

.service:nth-child(even) .cls-2 {
	fill: #fff;
	font-family: "VisueltPro";
	font-size: 44.8px;
	font-weight: 300;
}

.service-navigations {
	margin-top: 10rem;
	font-size: 1rem;
}

.service-navigations .nav-link {
	color: #fff;
	opacity: 0.5;
	transition: all ease 0.5s 0s;
}

.service-navigations .nav-link.active,
.service-navigations .nav-link:hover {
	opacity: 1;
}

.fact-cta .cls-2 {
	fill: #ff4316;
}

.fact-cta .cls-1 {
	fill: #fff;
	font-family: "VisueltPro";
	font-size: 93.43px;
	font-weight: 400;
}

.service.expanded {
	background-size: 130% auto;
}

.service::before {
	content: "";
	display: block;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.55);
	position: absolute;
	z-index: 1;
}

.service-content {
	padding: 5rem;
	z-index: 2;
}

.service-content li {
	margin-bottom: 0.7em;
}

.service-content::after {
	content: "";
	display: block;
	top: 0;
	left: 0;
	right: 50%;
	bottom: 0;
	position: absolute;
	z-index: -1;
	backdrop-filter: blur(5px);
	/*transform: translate(-100%, 0);*/
}

.service-content.blur-right::after {
	left: 50%;
	right: 0;
}

.service:nth-child(even) .service-content::after {
	/*left: 00%;
    right: 50%;*/
	/*transform: translate(100%, 0);*/
}

.service-content.aos-animate::after,
.service:nth-child(even) .service-content.aos-animate::after {
	/*transition: transform linear 1s 0s;*/
	/* transform: translate(0%, 0);*/
}

.sub-title,
.service-title,
.service-content {
	position: relative;
	z-index: 3;
}

.service-title {
	font-size: 3.5rem;
	margin-bottom: 5rem;
	font-weight: 400;
}

.service-content__title {
	font-size: 2.5rem;
}

.service {
	font-size: 1.1rem;
}

/* .service-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height ease 1.1s;
}

.service-content * {
    opacity: 0;
    transition: opacity ease 0.5s 0s;
}

.service-content.displayed * {
    opacity: 1;
    transition: opacity ease 0.5s 0.5s;
}

.service-content.displayed {
    max-height: 400px;
}
 */
.scroll-texts {
	overflow: hidden;
	position: relative;
}

.scroll-texts a {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.scroll-texts a svg {
	width: 310px;
}

.scroll-texts .cls-1 {
	fill: #000;
}
.scroll-texts .cls-2 {
	fill: #cbdf17;
}

.scroll-text {
	font-size: 9rem;
	white-space: nowrap;
	line-height: 1;
	animation: translateText linear 30s 0s alternate infinite;
}

.scroll-text:nth-child(even) {
	/* left: auto;
    right: 0; */
	animation: translateText linear 30s 0s alternate-reverse infinite;
}

@keyframes translateText {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-80%);
	}
}

.map-wrapper {
	position: relative;
}

.map-wrapper a.map-cta {
	position: absolute;
	right: 3rem;
	bottom: 3rem;
}

.map-wrapper a svg {
	display: block;
	width: 160px;
}

.map-wrapper .cls-1,
.jumbo-wrapper .cls-1 {
	fill: #fff;
}

.map-wrapper .cls-2,
.jumbo-wrapper .cls-2 {
	fill: #ff4316;
}

/* ==========================================================================
	FOOTER
========================================================================== */

.contact {
	padding: 10rem 0;
}

.contact-option {
	font-size: 2rem;
}

.title-contact {
	font-size: 3rem;
}

.footer {
	background: #000;
	color: #fff;
	padding: 0.5rem 0;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	text-align: center;
}

.footer a {
	color: #fff;
	text-decoration: none;
}

.footer span {
	display: inline-block;
	margin: 0 1rem;
}

/*******MENU********* */

.sidenav {
	height: 100%;
	width: 370px;
	position: fixed;
	z-index: 1;
	top: 0;
	left: -370px;
	background-color: #000;
	padding-top: 60px;
	transition: left 0.5s ease;
}

/* Sidenav menu links */
.sidenav a.nav-link {
	padding: 8px 8px 8px 32px;
	text-decoration: none;
	font-size: 25px;
	color: #fff;
	display: block;
	transition: 0.3s;
	position: relative;
}

.sidenav a.nav-link::after {
	content: "";
	display: block;
	width: 0px;
	height: 1px;
	background: #fff;
	transition: all ease 0.4s;
}

.sidenav a.nav-link:hover::after {
	color: #fff;
	width: 50px;
}

.sidenav a.nav-link:hover {
	color: #fff;
}

.sidenav li ul a.nav-link {
	color: rgba(255, 255, 255, 0.3);
}

.sidenav a:hover {
	color: #0d6efd;
}

.sidenav ul {
	list-style-type: none;
	padding: 0;
	margin: 2rem 0 0 0;
}

/* Active class */
.sidenav.active {
	left: 0;
}

/* Close btn */
.sidenav .close {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 36px;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	padding: 2rem;
}

/* Icône burger */
.burger-icon span {
	display: block;
	width: 35px;
	height: 5px;
	background-color: #ff4316;
	margin: 6px 0;
}

.nav-footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1rem;
	font-size: 1rem;
	color: #fff;
}

.nav-footer a {
	color: #fff;
	text-decoration: none;
}

.parallax {
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
}

.footer-email {
	font-size: 3.5rem;
}

.dsider {
	width: 200px;
	vertical-align: baseline;
}

.dsider-wrapper {
	position: relative;
}
.dsider-wrapper::after {
	content: "";
	position: absolute;
	bottom: 0.3rem;
	left: 0;
	right: 0;
	height: 4px;
	background: #000;
}

.animation {
	vertical-align: middle;
	width: 300px;
}

/*******MENU********* */

/* ==========================================================================
	RESPONSIVE
========================================================================== */

@media only screen and (max-width: 1200px) {
	.service-book {
		display: none;
	}
}

@media only screen and (max-width: 992px) {
	.service-content {
		padding: 7rem;
	}

	.service-content::after {
		display: none;
	}
}

@media only screen and (max-width: 768px) {
	html {
		font-size: 11px;
	}

	h1 {
		font-size: 2.6rem;
	}

	.h2 {
		font-size: 2.3rem;
	}

	.min50 {
		margin-top: 50px;
	}

	.logo-img {
		max-width: 100px;
	}

	.partner {
		padding: 0 1.5rem;
		flex: auto;
		width: 33.3333%;
	}

	.partner img {
		max-width: 100%;
		max-height: 50px;
	}

	.fact-cta {
		margin-top: 0;
		max-width: 180px;
		margin: 0 auto;
	}

	.fact {
		padding: 0 15px;
		flex: auto;
	}

	.map-wrapper {
		margin-bottom: 3rem;
	}

	.map-wrapper a svg {
		width: 70px;
	}

	.service-content {
		padding: 2rem;
	}

	.service {
		background-size: cover;
	}

	.scroll-text {
		font-size: 3rem;
	}

	.partners-logos {
		margin: 0 -0.8rem;
	}

	.jumbo-wrapper a svg {
		width: 90px;
	}

	#community .minilogo {
		width: 170px;
	}

	.partners .minilogo {
		width: 100px;
	}

	.scroll-texts a {
		display: none;
	}

	.parallax {
		background-attachment: scroll;
	}

	.header-menu {
		background: #fff;
		width: 100%;
	}

	.footer-email {
		font-size: 2.6rem;
	}

	#openBtn {
		background: none;
		border: none;
		font-size: 2.2rem;
		color: #000;
		padding: 0;
	}

	.animation {
		width: 200px;
	}
}
