/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  src: url(https://sp.aperfectshoot.com/publicsans.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
                font-family: Editors Note Regular;
                src: url('https://sp.aperfectshoot.com/fonts/editors_note-regular.woff');
            }

            @font-face {
                font-family: Editors Note Light Italic;
                src: url('https://sp.aperfectshoot.com/fonts/editor_snote-lightitalic.woff');
            }

            @font-face {
                font-family: Editors Note Light;
                src: url('https://sp.aperfectshoot.com/fonts/editor_snote-light.woff');
            }

            @font-face {
                font-family: Chic Societe Script;
                src: url('https://sp.aperfectshoot.com/fonts/chicsocietescript.woff');
            }
/*************************************************************/

/* 1 - Les classes pour la version BUREAU / DESKTOP */

/*************************************************************/
h1{
    font-family: 'Editors Note Regular'!important;
}
h2{
    font-family: 'Public Sans';
}
.medium{
font-weight:600;
}
.incline{
	transform: scale(1, 1) translate(0px, 0px) rotate(356deg);
}
.white{
	color:#ffffff!important;
}
.t-120{
	font-size: 120px!important;
}
.t-70{
	font-size: 70px!important;
}
.t-80{
	font-size: 80px!important;
}
.t-40{
	font-size: 40px!important;
}
.t-48{
	font-size: 48px!important;
}
.t-25{
	font-size: 25px!important;
}
.t-20{
	font-size: 20px!important;
}
.t-15{
	font-size: 15px!important;
}
.b-btm-w1{
	border-bottom: 1px solid #fff;
    width: 80%;
    margin: auto;
	line-height:10px!important;
	margin-bottom:20px!important;
	margin-top:5px!important;
}

.titre-public{
	font-family: 'Public Sans';
}
.titre-editor{
	font-family: 'Editors Note Regular'!important;
}
.titre-editor-italic{
	font-family: 'Editors Note Light Italic';
}
.titre-chic{
    color:#fff!important;
    line-height: 1;
    font-size: 80px;
    text-align: center;
    font-family: 'Chic Societe Script';
    font-weight: 400;
    font-style: normal;
}
.m-inv-35{
	margin-bottom:-25px!important;
}
.m-inv-15{
	margin-bottom:-10px!important;
}
.pad-80{
	padding:0 120px;
}
.pad-50{
	padding:0 50px;
}
.pad-t-200{
	padding-top:200px;
}
.mg-t-50{
	margin-top:50px;
}
hr{
	line-height:10px!important;
}
.se {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    box-sizing: border-box;
    display: block;
    outline: none;
    pointer-events: auto;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}
.d .sie-hero_1-text {
    color:#fff!important;
    text-transform: none;
    font-size: 120px!important;
    text-align: center;
    font-family: 'Editors Note Regular';
    font-weight: 400;
    font-style: normal;
}
.d .st-d-title {
    color: rgba(16,16,16,1);
    line-height: 1;
    letter-spacing: 0em;
    font-size: 48px;
    text-align: center;
    font-family: 'Editors Note Regular';
    font-weight: 400;
    font-style: normal;
}
.se-t {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    padding: 0;
    top: 0;
    width: 100%;
}
a {
    text-decoration:none!important;
}

/* Alignement menu et logo header */
.inside-header {
    padding: 0px 20px;
}

.site-header .header-image {
    margin: 20px;
}
/* LES VIDEOS EN HOME */
.page-id-35 .site-content {
    padding:0px!important;
}
/* On change la couleur du header au passage de la souris*/
#masthead {
	color: #000!important;
	background:transparent!important;
	z-index:999999;
}
#masthead .gp-icon svg{
	color: #fff!important;
}
/* LA PAGE PROJET EN FRANCAIS */

/* LA PAGE PROJET EN ANGLAIS */


/* On supprime l'icone BARS*/

.gp-icon+.off-canvas-toggle-label {
    padding-left: 9px;
    color: #fff;
}
/* On annule de padding container*/
.one-container .site-content {
    padding: 0px!important;
}
/* On supprime le footer sur la page MRA*/

.page-id-35 .site-footer{
	display: none!important;
}
/* On change l'aspct des drapeaux WPML */
.wpml-ls-menu-item img {
    -webkit-filter: invert(10%); filter: invert(10%)!important;
	margin-top:8px;
}
.menu-item-116{
	margin-top:-5px;
}
/* On cale le menu after */
.menuafter{
	padding-bottom:5px!important;
}

/* change image on hover */
#footer .container {
    position: relative;
    min-height: 300px;
}

#footer .widget {
    position: absolute;
    bottom: 0;
}

.blancentre{
color:#fff;
text-align:center;
}

.blanc{
	color:#fff;
}
.noir{
	color:#000;
}
.ombre{
	box-shadow: 2px 1px 1px #333;
}
/* Les typo */
.title{
	font-size:2.8em;
	line-height:1.7em;
	display: flex!important;
	flex-direction: row!important;
	flex-wrap: nowrap!important;
	justify-content: center!important;
	align-items: center!important;
	align-content: normal!important;
}
h1{
	text-transform:none!important;
}
.maintitle{
	font-size: 42px;
	line-height: 1.05em;
	font-weight:500!important;
	color:#000;
}
.underline{
	text-decoration:underline!important;
}
.underline a{
	text-decoration:underline!important;
	transition: all .5s ease-in-out 0s,visibility 0s linear .5s,z-index 0s;
}
.underline a:hover{
	text-decoration:none!important;
	transition: all .5s ease-in-out 0s,visibility 0s linear .5s,z-index 0s;
}
/*.site-info a {
  box-shadow: inset 0 0 0 0 #fff!important;
  color: #fff!important;
  margin: 0 -.125rem!important;
  padding: 0 .125rem!important;
  transition: color .3s ease-in-out, box-shadow .3s ease-in-out!important;
}

.site-info a:hover {
    text-decoration:none!important;
	transition: all .5s ease-in-out 0s,visibility 0s linear .5s,z-index 0s;
	box-shadow: inset 240px 0 0 0 #fff!important;
  	color:#000!important;
}*/
.fabricdescription{
	font-size:.9em;
	line-height:1.3em;
	margin-top:-15px!important;
}
/* les alignement */
.centrage {
    display: flex!important;
    /*align-items: center!important;*/
    justify-content: center!important;
    text-align: center!important;
}
.droite {
    text-align: right!important;
}
.legend {
    display: flex!important;
    justify-content: center!important;
    text-align: center!important;
}
/* Les liens animés */
.linkmotion a {
  box-shadow: inset 0 0 0 0 #54b3d6!important;
  color: #54b3d6!important;
  margin: 0 -.25rem!important;
  padding: 0 .25rem!important;
  transition: color .3s ease-in-out, box-shadow .3s ease-in-out!important;
}
.linkmotion a:hover {
  box-shadow: inset 100px 0 0 0 #54b3d6!important;
  color:#fff!important;
}
/* LES DIV */

.home-lgd-gauche {
    position: fixed;
    z-index: 10000;
    bottom: 2em;
    left: 25%;
}
.home-lgd-droite {
    position: fixed;
    z-index: 10000;
    bottom: 2em;
    right: 5%;
}
.leg-home-1 {
    font-family: "Crimson Pro", serif;
    color: rgb(0, 0, 0);
    font-size: 2.2vh;
    font-weight: 500;
    line-height: 1em;
}
.leg-home-2 {
    font-family: "Crimson Pro", serif;
    color: rgb(0, 0, 0);
    font-weight: 600;
    font-size: 2.6vh;
    text-transform: uppercase;
}
.box-arrow {
  height:50vh!important;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
  align-content: normal;
}
.legende{
	position:absolute;
	bottom:0px;
	right:0px;
	color:#fff;
	text-align:right;
	padding:0 20px;
}
.margelegend{
	margin-bottom:.1em!important;
}
.legende a{
	color:#fff;
	text-decoration:underline!important:
}
.legende a:hover{
	text-decoration:none!important:
}

/* Les icones */


/* ANIMATION ICONE */
.field {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
}

.mouse {
	width: 50px;
	height: 90px;
	border: 3px solid #fff;
	border-radius: 60px;
	position: relative;
	&::before {
		content: '';
		width: 12px;
		height: 12px;
		position: absolute;
		top: 10px;
		left: 50%;
		transform: translateX(-50%);
		background-color: #fff;
		border-radius: 50%;
		opacity: 1;
		animation: wheel 2s infinite;
		-webkit-animation: wheel 2s infinite;
	}
}

@keyframes wheel {
	to {
		opacity: 0;
		top: 60px;
	}
}

@-webkit-keyframes wheel {
	to {
		opacity: 0;
		top: 60px;
	}
}

.scroll {
	width: 60px;
	height: 60px;
	/*border: 2px solid #fff;
	border-radius: 50%;*/
	position: relative;
	animation: down 1.5s infinite;
	-webkit-animation: down 1.5s infinite;
	&::before {
		content: '';
		position: absolute;
		top: 15px;
		left: 18px;
		width: 18px;
		height: 18px;
		border-left: 2px solid #fff;
  	border-bottom: 2px solid #fff;
		transform: rotate(-45deg);
	}
}

@keyframes down {
	0% {
		transform: translate(0);
	}
	20% {
		transform: translateY(15px);
	}
	40% {
		transform: translate(0);
	}
}

@-webkit-keyframes down {
	0% {
		transform: translate(0);
	}
	20% {
		transform: translateY(15px);
	}
	40% {
		transform: translate(0);
	}
}

.arrow {
	width: 0;
	height: 40px;
	border: 1px solid #fff!important;
	position: relative;
	animation: scroll 1.5s infinite;
	-webkit-animation: scroll 1.5s infinite;
	&::after {
		content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: -5px;
    width: 1px;
    height: 10px;
		
		// triangle
    border-top: 10px solid #fff!important;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
	}
}

@keyframes scroll {
	0% {
		height: 40px;
	}
	30% {
		height: 70px;
	}
	60% {
		height: 40px;
	}
}

@-webkit-keyframes scroll {
	0% {
		height: 40px;
	}
	30% {
		height: 70px;
	}
	60% {
		height: 40px;
	}
}


/* Les espaces */
.wgt-space{
	padding-top:30px;
}

.rowmargintop{
	margin-top:25px;
}
.rowmargintopsm{
	margin-top:0px;
}
.margelegend{
	padding-bottom:5px;
}
.margegauche {
    margin-left:14%!important;
}
.marge120{
	margin-top:170px!important;
}
/* Formulaires*/
.forminator-ui#forminator-module-628.forminator-design--material .forminator-consent input:checked + .forminator-checkbox-box {
    border-color: #000!important;
    background-color: #EDEDED;
}


.forminator-ui#forminator-module-628.forminator-design--material .forminator-checkbox.forminator-consent .forminator-checkbox-box {
    border-color: #000;
    background-color: #EDEDED;
    color: #000!important;
}
/* On supprime le padding haut/bas */
.page-hero {
    padding-top: 0px;
}

/* Vidéo responsive */
#video-container {
      position: relative;
      padding-bottom: 56.25%; /* Ratio 16:9 pour la vidéo responsive */
      height: 0;
    }

#random-video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }

#fullScreenDiv{
    min-height: 100%; 
    height: 100vh;
    width: 100vw;
    padding:0;
    margin: 0;
    background:#fff;
    position: relative;
}
#video{    
    width: 100vw; 
    height: auto;
    margin: auto;
    display: block;
}
/* On zappe le menu primaire */
#primary-menu {
display:block!important;
}

#mobile-header .menu-toggle {
    order: -1;
}
#mobile-header.mobile-header-navigation.has-menu-bar-items .mobile-header-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
#mobile-header.has-menu-bar-items button.menu-toggle {
    padding-left: 20px;
}
/*On supprime l'ombre du sous menu */
.main-navigation ul ul {
    box-shadow: 1px 1px 0 rgba(0,0,0,0)!important;
}
/* On souligne les menus current */
.slideout-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
    text-decoration: underline!important;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    text-decoration: underline!important;
}
/* On corrige le padding sous SAFARI*/
.main-navigation .main-nav ul li a, .menu-toggle, .main-navigation .menu-bar-item > a {
padding-left: 28px!important;
}
/* La gestion des animations du sous-menu dans le menu off canvas */
#generate-slideout-menu.main-navigation .sub-menu {
    display: block !important;
    visibility: visible !important;
    max-height: 0;
    transition: max-height 600ms ease-in-out;
    overflow-y: hidden;
}
#generate-slideout-menu.main-navigation .sub-menu.toggled-on {
    max-height: 800px;
}
#generate-slideout-menu .slideout-menu .sub-menu li {
    transform: translatex(-50%);
    transition: transform 600ms ease-in-out;
}
#generate-slideout-menu .slideout-menu .sub-menu.toggled-on li {
    transform: translatex(0);
}
.dropdown-click .sfHover>a>.dropdown-menu-toggle>.gp-icon svg {
    transition: transform 600ms ease-in-out;
}

/* On change la couleur du header quand on scroll*/
#masthead.sticky{
    background-color: #fff!important;
	color: #000!important;
}
.page-id-609 #masthead.sticky{
    background-color: #fff!important;
	color: #000!important;
	z-index:99999!important;
}
.page-id-548 #masthead.sticky{
    background-color: #fff!important;
	color: #000!important;
	z-index:99999!important;
}
#masthead.sticky a{
	color: #000!important;
}
#masthead.sticky .gp-icon svg{
	color: #000!important;
	transition: all .5s ease-in-out 0s,visibility 0s linear .5s,z-index 0s;
}
#masthead.sticky img {
    -webkit-filter: invert(90%); filter: invert(90%);
}
#masthead.sticky .off-canvas-toggle-label{
	color: #000!important;
	transition: all .5s ease-in-out 0s,visibility 0s linear .5s,z-index 0s;
}

/* On split le menu en 2 pour mettre le logo au centre */
div.menu-split-left-container,div.menu-split-right-container{
		width:100%;
		text-align:center;
}
ul.menu li.menu-item {
    padding: 0 10px;
}
ul.menu {
    list-style:none;
		display: flex;
		justify-content: center;
		margin-bottom: 0;
		margin-left: 0;
}
.menu-split-left-container {
    margin-right: auto;
}
.menu-split-right-container {
    margin-left: auto;
}
.navigation-branding {
    flex-grow: 1;
}

.menu-right-main-nav-container {
    width: 35%;
}

.navigation-branding .site-logo {
    width: 30%;
}

.menu-left-main-nav-container {
    width: 35%;
}

.navigation-branding img {
    margin: 0 auto;
}
.menu-right-main-nav-container, .menu-left-main-nav-container {
    width: 35%;
    display: flex;
    justify-content: center;
    padding: 15px 0;
}
li.menu-item:not(:last-child) {
    margin-bottom: 5px;
}
.navigation-branding img {
    margin: 0 auto !important;
}
.navigation-branding > * {
    width: calc(100%/3) !important;
    padding: 8px;
}
/* Centrage du logo dans le menu split
.main-nav {
    flex: 1;
} */
/*.site-branding, .site-logo {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 200;
    top: 0; /* Add this line */

/* La largeur du menu slideout */

/* La tail du mot MENU dans le slideout*/
.gp-icon+.off-canvas-toggle-label {
    font-size: 21px;
}
#generate-slideout-menu {
    z-index: 10000000!important;
}

/*On met l'icone burger en premier - l'icone search en second*/
.main-navigation .menu-bar-items {
	flex-direction: row-reverse;
	flex: 1;
	justify-content: space-between;
}
.site-header{
	position:fixed!important;
	background:transparent!important;
}
.inside-header {
    display: flex;
    align-items: center;
    width: 100vw;
}
/* Les typo des sous menu */
.slideout-navigation.main-navigation .main-nav ul ul li a {
    font-size: 14px!important;
}
.slideout-navigation.main-navigation .main-nav ul li a {
    font-size: 21px!important;
	transition:all 1.5s ease;

}
.slideout-navigation.main-navigation .main-nav ul ul li a:hover {
	color:#fff!important;
}
.slideout-navigation.main-navigation .main-nav ul li a:hover {
	color:#fff!important;
	transition:all .6s ease;
	padding-top:15px;
	

}
#projet4{
	display:block;
}
#projet2{
	display:block;
}
#projet3{
	display:block;
}
#projet1{
	display:none;
}
/*************************************************************/

/* 2- Les classes pour la version mobile */

/*************************************************************/

@media (max-width: 768px) {
.b-btm-w1{
	border-bottom: 1px solid #fff;
    width: 100%;
    margin: auto;
	line-height:10px!important;
	margin-bottom:20px!important;
	margin-top:5px!important;
}
.pad-50{
	padding:0;
}
.vc_custom_1697207624111 {
    padding-right:10px !important;
    padding-left:10px !important;
}
/*#youtube {
display: none !important;
}*/
#projet4{
	display:none!important;
}
#projet2{
	display:none!important;
}
#projet3{
	display:none!important;
}
#projet1{
	display:block;
}
/* Inversion colonne RTL */
.reverse{
	flex-direction: column-reverse;
}
/* On annule de padding container*/
.one-container .site-content {
    padding: 0 25px!important;
}
.margeyoutube{
padding:100px 0 100px 0;
}
	
h1 {
font-weight:400;
text-transform:inherit;
font-size:42px;
}
	
.premiertitre{
font-size:2.225em;
font-weight:400;
}
	
.tripadviser img{
	width:50%;
}
	
.scooter img{
	display:none;	
}
	
.espacerangeebleu{
	padding:0;
}
/* LE HEADER */
#mobile-header {
    display: block !important;
    width: 100% !important;
    background: #fff;
    height: 100px;
}
.marge120{
	margin-top:0px!important;
}
/* 
#masthead a img {
    -webkit-filter: invert(90%); filter: invert(90%)!important;
}
.navigation-branding img, .site-logo.mobile-header-logo img {
    -webkit-filter: invert(90%); filter: invert(90%)!important;
}
/* Logo taille */
.navigation-branding img, .site-logo.mobile-header-logo img {
    height: 90px!important;
    width: auto;
}

.gp-icon svg {
    font-size: 25px;
	color:#000!important;
}
.menu-toggle .gp-icon+.mobile-menu {
    color:#000!important;
}
/* On réduit la fleche du sous menu */
.slideout-navigation.main-navigation .main-nav ul li a {
font-weight: normal!important;
}
/* On met l'icone à gauche offcanvas à gauche */

#mobile-header.has-branding .menu-toggle {
    order: -5;
    padding-left: 20px;
}
#mobile-header .mobile-phone-icon {
    order: 1;
    padding-right: 20px;
}
.site-logo.mobile-header-logo {
    margin-left: auto;
}
}
@media(max-width:1119px){
ul.menu li.menu-item {
    padding:0;
}
ul.menu {
    flex-direction:column;
}
}
/* On adapte la video aux smartphone */
@media (min-aspect-ratio: 16/9) {
  #video{
    width: 100vw; 
    height:auto;
  }
}

@media (max-aspect-ratio: 16/9) {
  #video {
    height: 100vh; 
    width:auto;
    margin-left: 50vw;
    transform: translate(-50%);
  }
}

