body {
	
	background-image: radial-gradient(ellipse at center, #202b45 0%, black 100%);
}

.head {
	text-align:center;
	position: fixed;
	width: 100%;
	top:0;
	background:rgba(60,60,60,0);
	padding: 0;
	padding-top: 16px;
	padding-bottom: 16px;
	box-shadow: ;
	transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
	z-index:4;
	}
	

button.headbuttons {
  appearance: none;
  background-color: transparent;
  border: 2px solid white;
  border-radius: 15px;
  box-sizing: border-box;
  color: white;
  cursor: pointer;
  display: inline-block;
  font-family: Roobert,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  margin-left:.5%;
  margin-right:.5%;
  min-height: 60px;
  outline: none;
  padding: 16px 24px;
  text-align: center;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: 10%;
  min-width: 152px;
  z-index:5;
}

button.headbuttons:disabled {
  pointer-events: none;
  z-index:5;
}

button.headbuttons:hover {
  color: #fff;
  background-color: rgba(60,60,60,0.7);
  box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
  transform: translateY(-2px);
  z-index:5;
}

button.headbuttons:active {
  box-shadow: none;
  transform: translateY(0);
  z-index:5;
}

button.headbuttons_2 {
  appearance: none;
  background-color: transparent;
  border: None;
  color: white;
  cursor: pointer;
  display: inline-block;
  font-family: Roobert,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  margin-left:.5%;
  margin-right:.5%;
  min-height: 60px;
  outline: none;
  padding: 16px 24px;
  text-align: center;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: 20%;
  min-width: 300px;
  z-index:5;
}


button.headbuttons_2:hover {
  color: #fff;
  background-color: rgb(106 106 106);
  box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
  transform: translateY(-2px);
  z-index:5;
}

button.headbuttons_2:active {
  box-shadow: none;
  transform: translateY(0);
  z-index:5;
}


.promoter { 
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	font-size:60px; 
	font-weight: 800; 
	line-height: 100%; 
	text-align: center; 
	text-transform: uppercase;
	}

.block_prom_1 {
	margin-left:20%;
	margin-right:20%;
	padding-left:5%;
	padding-right:5%;
	padding-top:2%;
	padding-bottom:2%;
	margin-bottom:10%;

	background-color: rgba(60,60,60,0.5);
	box-shadow: 50px 50px 10px 1px #060302bd;
	text-align: center;
}

.dmodeldiv {
	position:relative;

}

.adapt-left {
	padding-top:2%;
	padding-bottom:2%;
	margin-top:2%;
	margin-bottom:2%;
	background-color: rgba(60,60,60,0.5);
	box-shadow: 0px 50px 10px 1px #060302bd;
	text-align: center;
	width: 100%;
	height: 100%;
}

.between-left {
	padding-top:2%;
	padding-bottom:2%;
	margin-top:2%;
	margin-bottom:2%;
	background-color: rgba(60,60,60,0.5);
	box-shadow: 0px 50px 10px 1px #060302bd;
	text-align: center;
	width: 100%;
	height: 96%;

}


.little_prom { 
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	font-size:16px; 
	font-weight: 800; 
	line-height: 100%; 
	text-align: left; 
	text-transform: uppercase;
	padding-left: 10%;
	}
	
.leftable {
	width: 100%;
	table-layout: fixed;
	position: static;
	margin-top:5%;
	margin-bottom:5%;
}

.promoter2 { 
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	font-size:50px; 
	font-weight: 800; 
	line-height: 100%; 
	text-align: center; 
	text-transform: uppercase;
	padding-left: 3%;
	padding-right: 3%;
	margin:0;
	}

.product {
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	text-align: justify; 
	width:95%;
	font-size:16px;
	margin-left:2.5%;
	margin-right:2.5%;
	text-align-last: center;
}

.titre_produit {
	text-transform:uppercase;
	}
	

.progress {
  background: rgba(255,255,255,0.1);
  justify-content: flex-start;
  border-radius: 100px;
  align-items: center;
  position: relative;
  padding: 0 5px;
  display: flex;
  height: 40px;
  width: 100%;
}

.progress-prec-prod1 {
  animation: prec-prod1 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes prec-prod1 {
  0% { width: 0; }
  100% { width: 100%}
}

.progress-lisi-prod1 {
  animation: lisi-prod1 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes lisi-prod1 {
  0% { width: 0; }
  100% { width: 50%; }
}

.progress-resn-prod1 {
  animation: resn-prod1 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes resn-prod1 {
  0% { width: 0; }
  100% { width: 10%; }
}

.progress-prec-prod2 {
  animation: prec-prod2 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes prec-prod2 {
  0% { width: 0; }
  100% { width: 80%; }
}

.progress-lisi-prod2{
  animation: lisi-prod2 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes lisi-prod2{
  0% { width: 0; }
  100% { width: 80%; }
}

.progress-resn-prod2 {
  animation: resn-prod2 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes resn-prod2 {
  0% { width: 0; }
  100% { width: 50%; }
}

.progress-prec-prod3 {
  animation: prec-prod3 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes prec-prod3 {
  0% { width: 0; }
  100% { width: 60%; }
}

.progress-lisi-prod3{
  animation: lisi-prod3 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes lisi-prod3{
  0% { width: 0; }
  100% { width: 100%; color:#17ff0066}
}

.progress-resn-prod3 {
  animation: resn-prod3 3s normal forwards;
  box-shadow: 0 10px 40px -10px #fff;
  border-radius: 100px;
  background: #fff;
  height: 30px;
  width: 0;
}

@keyframes resn-prod3 {
  0% { width: 0; }
  100% { width: 70%; }
}


.product_infos {
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	text-align: center; 
	text-transform: uppercase;
	width:90%;
	margin-left:5%;
	margin-right:5%;
}


.infos_compl {
	margin-left:3%;
	margin-right:6%;
	text-align:justify;
	text-transform: none;
}

footer {
	text-align: center;
	width: 100%;
	background:rgba(60,60,60,0.5);
	padding: 0;
	padding-top: 14px;
	padding-bottom: 4px;
	z-index:10;
	}

.footer-text {
	color: #a8a8a8; 
	font-family: 'Raleway',sans-serif; 
	text-align: center; 
	text-transform: uppercase;
	font-size:14px;
	margin-top:2%;
	font-style:italic;
	z-index:10;
}


.contact {
	color: #a8a8a8; 
	font-family: 'Raleway',sans-serif; 
	text-align: center; 
	text-transform: uppercase;
	font-size:16px;
}

.Abouthead {
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	font-size:50px; 
	font-weight: 800; 
	line-height: 100%; 
	text-align: left; 
	text-transform: uppercase;
	padding-left: 10%;
	padding-right: 55%;
	position: absolute;
	top:10%;
}

.link_to_high_res {
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	line-height: 100%; 
	text-align: center; 
	font-size: 20px;
	margin-top:2%;
	margin-left:10%;
	margin-right:10%;
	text-align:justify;
	}

.link_to_high_res_text {
	color: #999999;
	font-style: italic;
	font-family: 'Raleway',sans-serif; 
}

.bar_text {
	text-transform:uppercase;
	}
	
.descriptif {
	padding-left:5%;
	padding-right:5%;
}


.sketchfab-embed-wrapper {
    position: relative;
    
    
    overflow: hidden;
}

.sketchfab-embed-wrapper iframe {
    position: absolute;
    top:0;
}

a:link {
  color: 255,255,255;
  background-color: transparent;
  text-decoration: none;
}

.titre_services {
	color: #ffffff; 
	font-family: 'Raleway',sans-serif; 
	font-size:36px; 
	font-weight: 800; 
	line-height: 200%; 
	text-align: center; 
	text-transform: uppercase;
	top:10%;
}

.slideshow {

	width:70%;
	margin-left:15%;
	position: relative;
	overflow: hidden;
}

.mySlides {
	transition: opacity 1s ease-out;
	width:100%;
}


.w3-button {
  background-color: #ffffff00;
  color: black;
  position:absolute;
  border:none;
  height:100%;
  width:15%;

  z-index:3;
}

.w3-button:hover {
  background-color:#00000085;
  color: white;
  visibility:1;
}

.boutons_par_dessus {
	position:absolute;
	height:100%;
	width:100%;
	top: 0;
	left: 0;
	z-index:2;
}

.w3-display-right {
	right:0;
	font-size:36px;
}

.w3-display-left {
	font-size:36px;
}

.w3-display-center {
	left:15%;
	width:70%;
	top:0;
	font-size:0px;
	text-align:top;
}

.w3-display-center:hover {
	font-size:20px;
}


.myTexts {
	font-family: 'Raleway',sans-serif; 
	padding:2%;
	color:white;
	position:absolute;
	text-align:center;
	bottom:0;
	left:15%;
	width:66%;
	background-color:#00000085;
	font-size:20px;
	margin-bottom:0;
	transition: opacity 1s ease-out;
	z-index:3;
}

.sous_titre_services {
	font-family: 'Raleway',sans-serif; 
	color:white;
	text-align:justify;
	width:70%;
	margin-left:15%;
	font-size:20px;
}

.boutonnade {
	text-align:center;
}

.pour_l_architecture {
	transition: opacity 1s ease-out;
	opacity:1;
	position:absolute;
	height:100%;
	width:100%;
	top: 0;
	left: 0;
}

.pour_le_genie_civil {
	transition: opacity 1s ease-out;
	opacity:0;
	position:absolute;
	height:100%;
	width:100%;
	top: 0;
	left: 0;
}

.autres_adapt {
	transition: opacity 1s ease-out;
	opacity:0;
	position:absolute;
	height:100%;
	width:100%;
	top: 0;
	left: 0;
}

.complements {
	position: relative;
	min-height:100px;
}

.illustration_complement {
	width:50%;
	margin-left:25%;	
}


button.prodbuttons {
  appearance: none;
  background-color: transparent;
  border: 2px solid white;
  border-radius: 15px;
  box-sizing: border-box;
  color: white;
  cursor: pointer;
  display: inline-block;
  font-family: Roobert,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 24px;
  font-weight: 600;
  margin: 0;
  margin-left:.5%;
  margin-right:.5%;
  min-height: 60px;
  outline: none;
  padding: 16px 24px;
  text-align: center;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: 10%;
  min-width: 300px;
  z-index:4;
}

button.prodbuttons:disabled {
  pointer-events: none;
  z-index:4;
}

button.prodbuttons:hover {
  color: #fff;
  background-color: #1A1A1A;
  box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
  transform: translateY(-2px);
  z-index:4;
}

button.prodbuttons:active {
  box-shadow: none;
  transform: translateY(0);
  z-index:4;
}



.fa {
  padding: 20px;
  font-size: 30px;
  width: 50px;
  text-align: center;
  text-decoration: none;
  margin: 5px 2px;
  background-color: #007bb5;
  z-index:3;
}

.fa:hover {
    opacity: 0.7;
}

.fa-linkedin {
  background-color: #007bb5;
  color: white;
  z-index:3;
}

.card {
  padding: 2%;
}




@media (min-width: 400px) {
  .cards { grid-template-columns: repeat(1, 2); }
}

@media (min-width: 800px) {
  .cards { grid-template-columns: repeat(2, 1); }
}




:root {
	--delay: 0;
	--duration: 800ms;
	--iterations: 1;
}
/* •·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•· */



.reveal-text,
.reveal-text::before {
    animation: fadein 2s;
}
.reveal-text::after {
	animation-delay: var(--animation-delay, 2s);
	animation-iteration-count: var(--iterations, 1);
	animation-duration: var(--duration, 800ms);
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}

.reveal-text {
	--animation-delay: var(--delay, 0);
	--animation-duration: var(--duration, 800ms);
	--animation-iterations: var(--iterations, 1);
	animation-name: clip-text;
	color: #FFF;
	cursor: default;
	
	&::after {
		content: "";
		
		z-index: 999;
		background-color: #f2f98b;
		transform-origin: 0 50%;
		pointer-events: none;
		animation-name: text-revealer;
	}
	
}


@keyframes clip-text {
	from {
		clip-path: inset(0 100% 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}


@keyframes text-revealer {
	
	0%, 50% {
		transform-origin: 0 50%;
	}
	
	60%, 100% {
		transform-origin: 100% 50%;		
	}

	
	60% {
		transform: scaleX(1);
	}
	
	100% {
		transform: scaleX(0);
	}
}

