.only-mobile {
	display:none;
}
.only-desktop {
	display:block;
}
.wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 100000;
  background-color: #fff;
  width: 100%;
  height: 100%;
  text-align: center;
}

.social-bar {
	display: flex;
	align-items: center;           /* alignement vertical */
	justify-content: space-between; /* répartition équitable */
	width: 40%;
	padding: 0 30%;
	margin-top: 50px;
}

.social {
	width: 30px;
	height: 30px;
	background-size: cover;
	background-repeat: no-repeat;
	transition: transform 0.5s ease, filter 0.5s ease;
}

.facebook {
	background-image: url('../imgs/facebook-blue.png');
}

.instagram {
	background-image: url('../imgs/instagram-blue.png');
}

.facebook:hover {
	transform: scale(1.05);
	background-image: url('../imgs/facebook-blue.png');
}

.instagram:hover {
	transform: scale(1.05);
	background-image: url('../imgs/instagram-blue.png');
}

.facebook::before {
	background-image: url('../imgs/facebook-blue.png');
	opacity: 1;
}
.facebook::after {
	background-image: url('../imgs/facebook-blue.png');
	opacity: 0;
}

.facebook:hover::before {
	opacity: 0;
}
.facebook:hover::after {
	opacity: 1;
}

.instagram::before {
	background-image: url('../imgs/instagram-blue.png');
	opacity: 1;
}
.instagram::after {
	background-image: url('../imgs/instagram-blue.png');
	opacity: 0;
}

.instagram:hover::before {
	opacity: 0;
}
.instagram:hover::after {
	opacity: 1;
}

.logo-bottom {
	height: 90px;      /* cohérent avec les icônes */
	width: auto;
}

#icon1-m {
	width:1px;
	height:1px;
	display: none;
}

.cta-test2{
  position: relative;
  background: #f6f3ef;
  border-radius: 8px;
  padding: 26px 28px 26px 38px; /* place pour le trait */
  box-shadow: 0 10px 20px rgba(0,0,0,.1);
  overflow: hidden;
  margin-left:15%;
	display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.cta-test2 img{
  margin-right: 16px;
}

.cta-test2::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: #9ebedd;
  border-radius: 8px 0 0 8px;
}

.cta-test2::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      45deg,
      rgba(0,0,0,.015),
      rgba(0,0,0,.015) 1px,
      transparent 1px,
      transparent 3px
    );
  pointer-events: none;
}


.cta-test{
  position: relative;
  background: #f6f3ef;
  border-radius: 8px;
  padding: 26px 28px 26px 38px; /* place pour le trait */
  box-shadow: 0 10px 20px rgba(0,0,0,.1);
  overflow: hidden;
  margin-left:15%;
  display: flex;
  align-items: center;
  justify-content: center; /* garde le centrage horizontal */
  gap: 8px;
}

.cta-test img{
  margin-right: 16px;
}

.cta-test::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: #9ebedd;
  border-radius: 8px 0 0 8px;
}

.cta-test::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      45deg,
      rgba(0,0,0,.015),
      rgba(0,0,0,.015) 1px,
      transparent 1px,
      transparent 3px
    );
  pointer-events: none;
}

.text-href {
	font-weight: 600;
	font-style: italic;
	color: #3b3b3b;
}

.text {
  color: #3b3b3b;
  display: block;
  margin-left: 5px;
  font-size: 1.2rem !important;
  line-height: 1.7rem !important;
}

.bounceball {
  position: relative;
  display: inline-block;
  height: 150px;
  width: 135px;
  margin-left: -30px;
}
.bounceball:before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  width: 135px;
  height: 150px;
  background-image: url('../imgs/routard.png');
  background-size: cover;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-animation: fadein 750ms alternate infinite ease;
          animation: fadein 750ms alternate infinite ease;
}
.loading {
  margin-top: 18%;
}

.scroll-wrapper {
    overflow: hidden !important;
    padding: 0 !important;
    position: relative;
}

.scroll-wrapper > .scroll-content {
    border: none !important;
    box-sizing: content-box !important;
    height: auto;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none !important;
    overflow: scroll !important;
    padding: 0;
    position: relative !important;
    top: 0;
    width: auto !important;
}

.scroll-wrapper > .scroll-content::-webkit-scrollbar {
    height: 0;
    width: 0;
}

.scroll-element {
    display: none;
}
.scroll-element, .scroll-element div {
    box-sizing: content-box;
}

.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
    display: block;
}

.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
    cursor: default;
}

.scroll-textarea {
    border: 1px solid #cccccc;
    border-top-color: #999999;
}
.scroll-textarea > .scroll-content {
    overflow: hidden !important;
}
.scroll-textarea > .scroll-content > textarea {
    border: none !important;
    box-sizing: border-box;
    height: 100% !important;
    margin: 0;
    max-height: none !important;
    max-width: none !important;
    overflow: scroll !important;
    outline: none;
    padding: 2px;
    position: relative !important;
    top: 0;
    width: 100% !important;
}
.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
    height: 0;
    width: 0;
}




.scrollbar-external_wrapper {
    height: 100% !important;
    position: relative;
    width: auto !important;
}
.scrollbar-external {
    height: 100%;
    overflow: auto;
    width: 94%;
	margin-top: 16%;
	margin-left:3%;
}

/******************* EXTERNAL SCROLLBAR *******************/

.external-scroll_x,
.external-scroll_y {
    background: rgba(5,99,193,0.1);
    cursor: pointer;
    display: none;
    position: absolute;
}

.external-scroll_x.scroll-scrollx_visible {
    display: block;
    height: 10px;
    left: 0;
    top: 410px;
    width: 200px;
}

.external-scroll_y.scroll-scrolly_visible {
    display: block;
    height: 98%;
    width: 10px;
	position: fixed;
    right: 5px;
    z-index: 10002;
    top: 1% !important;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.external-scroll_x div,
.external-scroll_y div
{
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    width: 100%;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
}

.external-scroll_x .scroll-bar,
.external-scroll_y .scroll-bar {
    background: rgba(5,99,193,0.5);
    z-index: 12;
}

.external-scroll_x .scroll-bar {
    width: 100px;
}
.external-scroll_y .scroll-bar {
    height: 100px;
}

@keyframes fadein {
    from { opacity: 0.1; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0.1; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0.1; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0.1; }
    to   { opacity: 1; }
}


/* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
		position: fixed !important;
		max-width:7680px;
		width: 100%;
		top:0;
        height: 100%;
		border: 25px solid #ffffff;
		box-sizing: border-box;
		margin-top: -17%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
		overflow: hidden;
      }
	   /* Hide scrollbar for Chrome, Safari and Opera */
		#b-main::-webkit-scrollbar {
		  display: none;
		}

		/* Hide scrollbar for IE and Edge */
		#b-main {
		  -ms-overflow-style: none;
		  overflow: -moz-scrollbars-none;
		  scrollbar-width: none;  /* Firefox */
		}
		/* Hide scrollbar for Chrome, Safari and Opera */
		#main::-webkit-scrollbar {
		  display: none;
		  overflow: -moz-scrollbars-none;
		}

		/* Hide scrollbar for IE and Edge */
		#main {
		  -ms-overflow-style: none;
		  overflow: -moz-scrollbars-none;
		  scrollbar-width: none;  /* Firefox */
		}
	  #b-main {
		width: 100% !important;
		padding: 0;
		z-index: 999;
		position: fixed;
		box-sizing: border-box;
		overflow-y: scroll;
		overflow-x: hidden;
		clear: both;
		height: 100%;
	  }
	  #main {
		width: 100%;
		padding: 0;
		position: relative;
		padding-right: 0px; /* Increase/decrease this value for cross-browser compatibility */
		box-sizing: content-box; /* So the width will be 100% + 17px */
		background-color: #e6eff2;
		background-image: url('../imgs/icons-wall-g.png');
		background-repeat: no-repeat;
		background-position: center 350px;
		padding-bottom: 650px;
		display: inline-block;
	  }
	  #copyright {
		font-family: 'Roboto', sans-serif;
		width:80%;
		margin-left:10%;
		text-align:center;
		margin-top:50px;
		border-top: 1px solid #3b3b3b;
	  }
	  #copyright a {
		color:#3b3b3b;
		text-decoration:none;
	  }
	  .mobile {
		  display:none;
	  }
	  .before-step {
		width: 100%;
		box-sizing: border-box;
		padding: 1% 2%;

		display: table;
		table-layout: fixed;
		word-spacing: -2em;
	  }
	  .step {
		width: 100%;
		height: 360px;
		box-sizing: border-box;
		padding-left: 0;
		padding-right: 2%;
		display: table;
		table-layout: fixed;
		word-spacing: -2em;
	  }
	  .step-r {
		width: 100%;
		height: 360px;
		box-sizing: border-box;
		padding-right: 0;
		padding-left: 2%;
		display: table;
		table-layout: fixed;
		word-spacing: -2em;
	  }
	  .before-step .left {
		display: inline-block;
		width: 50%;
		vertical-align: top;
		word-spacing: normal;
	  }
	  .before-step .right {
		display: inline-block;
		width: 50%;
		vertical-align: top;
		word-spacing: normal;
	  }
	  .step .left {
		display: inline-block;
		width: 50%;
		vertical-align: top;
		word-spacing: normal;
		text-align: left;
	  }
	  .step .right {
		display: inline-block;
		width: 50%;
		vertical-align: top;
		word-spacing: normal;
		padding-left:5%;
		box-sizing: border-box;
	  }
	  .step-r .left {
		display: inline-block;
		width: 50%;
		vertical-align: top;
		word-spacing: normal;
		padding-right:5%;
		box-sizing: border-box;
	  }
	  .step-r .right {
		display: inline-block;
		width: 50%;
		vertical-align: top;
		text-align: right;
		word-spacing: normal;
	  }
	  h1 {
		font-family: 'Oswald', sans-serif;
		text-transform: uppercase;
		font-weight: 600;
		font-size: 2rem;
		letter-spacing: 1rem !important;
		color: #3b3b3b;
		padding-left: 15px;
		padding-right: 15px;
		box-sizing: border-box;
	  }
	  .prez {
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		font-size: 1.4rem;
		color: #3b3b3b;
		padding-left: 15px;
		padding-right: 100px;
		box-sizing: border-box;
	  }
	  .text {
		font-family: 'Roboto', sans-serif;
		font-weight: 200;
		font-size: 1.2rem;
		color: #3b3b3b;
		padding-right: 15px;
		box-sizing: border-box;
	  }
	  .step h2 {
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		font-size: 1.8rem !important;
		color: #3b3b3b;
		display: inline-block;
		margin: 0 auto;
		margin-bottom: 10px;
	  }
	  .step-r h2 {
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		font-size: 1.8rem !important;
		color: #3b3b3b;
		float:right;
		margin: 0 auto;
		margin-bottom: 10px;
	  }
	  .step .kms {
		color: #3b3b3b;
		font-family: 'Roboto', sans-serif;
		font-weight: 200;
		font-size: 1.6rem !important;
		box-sizing: border-box;
		float:right;
		margin-right:10px;
		margin-bottom: 20px !important;
	  }
	  .step-r .kms {
		color: #3b3b3b;
		font-family: 'Roboto', sans-serif;
		font-weight: 200;
		font-size: 1.6rem !important;
		box-sizing: border-box;
		display: inline-block;
		margin-right:10px;
		margin-bottom: 20px !important;
	  }
	  .evidence-i {
		font-style: italic;
	  }
	  .evidence-b {
		font-weight: 600;
	  }
	  .step .text-content {
	    margin-top: 15px;
		font-family: 'Roboto', sans-serif;
		font-weight: 200;
		font-size: 1.2rem;
		color: #3b3b3b;
		box-sizing: border-box;
		line-height: 1.7rem;
		text-align: left;
	  }
	  .step-r .text-content {
		margin-top: 15px;
		font-family: 'Roboto', sans-serif;
		font-weight: 200;
		font-size: 1.2rem;
		color: #3b3b3b;
		box-sizing: border-box;
		line-height: 1.7rem;
		text-align: right;
	  }
	  .separ-title {
		width: 475px;
		height: 2px;
		background-color:#3b3b3b;
		margin-left:15px;
	  }
	  #step2 {
		height: 680px;
	  }
	  #step3 {
		height: 675px;
	  }
	  #step4 {
		height: 675px;
	  }
	  #step5 {
		height: 675px;
	  }
	  #step6 {
		height: 875px;
	  }
	  #step7 {
		height: 675px;
	  }
	  #step8 {
		height: 675px;
	  }
	  #step9 {
		height: 700px;
	  }
	  #step10 {
		height: 675px;
	  }

	  .slider-modal {
		display: none;
	  }

	  .lb-close {
		display: none !important;
	  }


	.slider-container2 {
		margin-top:25px !important;
	}

	.slider-container4 {
		margin-top:25px !important;
	}

    .borderTop {
      width: 100%;
      height:25px;
      background-color: #e6eff2;
      margin-top: 10%;
      position: relative;
      z-index: 10000;
    }

	  .scrollTop {
		float: left;
		width: 35px;
		height: 35px;
		display: block;
		background-image: url('../imgs/arrow-down.jpg');
		background-repeat: no-repeat;
		background-position: top center;
		border-top: 5px solid #e6eff2;
		border-left: 5px solid #e6eff2;
		border-right: 5px solid #e6eff2;
		border-bottom: 5px solid #e6eff2;
		margin-top: -20px;
		margin-left: 48%;
		cursor: pointer;
		transition: all 0.5s ease-out;
		z-index: 10000;
	  }

	  .scrollBot {
		width: 1px;
		height: 1px;
		cursor: pointer;
		margin-top:-10px;
	  }

	  .back-button {
			background-color: #ffffff !important;
			width: 20px;
			height: 20px;
			border-radius: 20px 20px 20px 20px;
			-moz-border-radius: 20px 20px 20px 20px;
			-webkit-border-radius: 20px 20px 20px 20px;
			border: 0px solid #000000;
			color: #000000;
			padding: 10px;
			margin: 0;
			float: left !important;
			margin-left: 3% !important;
			margin-top: 20px !important;
			transition: width 1s;
			font-size: 0.8rem;
			margin-top: 5px;
			text-overflow: clip;
			overflow: hidden;
			font-weight:bold;
			font-family: 'Montserrat', sans-serif;
			z-index: 1000002 !important;
			position: relative !important;
		}
		.back-button:hover {
			width: 165px;
			transition: width 1s;
		}

	  @media  screen and (max-width: 1440px) {
		.cta-test {
			width:70% !important;
		}
		  .step .text-content {
			margin-top: 5px;
			font-size: 1.0rem;
		  }
		  .step-r .text-content {
			margin-top: 5px;
			font-size: 1.0rem;
		  }
		  .step .kms {
			margin-bottom:10px !important;
		  }
		  .step-r .kms {
			margin-bottom:10px !important;
		  }
		  .step h2 {
			margin-bottom:10px !important;
		  }
		  .step-r h2 {
			margin-bottom:10px !important;
		  }
		  #main {
			  background-image: url('../imgs/icons-wall-g-m.png');
			  background-position: center 465px;
		  }
		  .separ-title {
			width: 300px;
		  }

		  #step2 {
			height: 675px;
		  }
		  #step3 {
			height: 725px;
		  }
		  #step4 {
			height: 700px !important;
		  }
		  #step5 {
			height: 700px !important;
		  }
		  #step6 {
			height: 675px !important;
		  }
		  #step7 {
			height: 700px;
		  }
		  #step8 {
			height: 725px;
		  }

		}

		@media screen and (max-width: 1024px) {
			#main {
				background-image: none !important;
			}
		}
