html {
    height: 100%;
}

a { color: inherit; }
a:hover { color: inherit; }

@font-face {
  font-family: "Avenir LT Light";
  src: url("fonts/Avenir-Light.woff") format("woff"), url("fonts/Avenir-Light.woff2") format("woff2");
}
@font-face {
  font-family: "JMH Typewriter";
  src: url("fonts/JMH Typewriter.woff") format("woff"), url("fonts/JMH Typewriter.woff2") format("woff2");
}
@font-face {
  font-family: "ELEGANT_TYPEWRITER";
  src: url("fonts/ELEGANT TYPEWRITER Regular.woff") format("woff"), url("fonts/ELEGANT TYPEWRITER Regular.woff2") format("woff2");
}

body {
  font-family: "Avenir LT Light";
}

.prevent-select {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

.titrePrincipal.intro{
	display: block;
	margin-bottom:10px;
/*
	margin-top:10px;
*/
	border:0px solid black;
	width:100%;
	min-height:100px;
	text-align:left;
	padding:5px;
	padding-left:15px;
	width: -webkit-fill-available;
	width: -moz-available;
	width: fill-available;
	position: sticky;
	top: 5px;
	background-color: #37538b;
	z-index:200;
	color:#fff;
	border-radius: 5px;
	transition: min-height 0.3s linear;
	-webkit-transition: min-height 0.3s linear;
}

#logoBlancMain{
	position: absolute;
	right:5px;
	top:5px;
	transition: height 0.3s linear, width 0.3s linear;
	-webkit-transition: height 0.3s linear, width 0.3s linear;
	z-index:500;
}

#logoBlancSec_0, #logoBlancSec_1, #logoBlancSec_2{
	opacity:0.0;
	position: absolute;
	right:5px;
	top:5px;
	transition: opacity 0.3s linear;
	-webkit-transition: opacity 0.3s linear;
	z-index:500;
}

.niceSpace{
	height:40px;
	width:100%
}

.titreSecondaire{
	display: block;
	margin-bottom:10px;
	border:0px solid black;
	width:100%;
	min-height:25px;
	text-align:left;
	padding:5px;
	padding-left:15px;
	width: -webkit-fill-available;
	width: -moz-available;
	width: fill-available;
	position: sticky;
	top: 5px;
	background-color: #37538b;
	z-index:200;
	color:#fff;
	border-radius: 5px;
	font-size:1.3em;
	font-weight:600;
}

.firstBigTitle{
	font-size:1.3em;
	font-weight:600;
	padding-left:200px!important;
	transition: font-size 0.3s linear, padding-left 0.3s linear;
	-webkit-transition: font-size 0.3s linear, padding-left 0.3s linear;
}

.menuList{
	padding-left:200px;
	height:1em;
	 transition: height 0.3s linear, opacity 0.3s linear;
	-webkit-transition: height 0.3s linear, opacity 0.3s linear;
}

.menuItem{
	padding:5px;
	margin:5px;
	cursor: pointer;
	pointer-events: auto;
	transition: height 0.3s linear, opacity 0.3s linear;
	-webkit-transition: height 0.3s linear, opacity 0.3s linear;
	width:33%;
}

.menuItem:hover{
	color:#ddd
}


.secondBigTitle{
font-size:1.1em;
font-weight:600;
}

.SubTitle{
font-size:0.8em;
margin-left:0;
}

.placeToWriteStuffs{
margin-left:10px;
margin-right:10px;
}

.reaLegend{
  position:absolute;
  margin:auto;
  text-align:center;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
}

.clickable{
  cursor: pointer;
  pointer-events: auto;
}

.notclickable{
  cursor: default;
  pointer-events: none;
  opacity: 0.6;
  filter: blur(1px);
}


.clickable:hover{
  opacity:0.8;
}

.clickableLink{
  color: -webkit-link;
  cursor: pointer;
  text-decoration: underline;
  font-size: 0.75em;
  font-weight:600;
  pointer-events: auto;
  cursor: pointer;
}

.developInfo{
  font-weight:900;
  font-size:1.2em;
  pointer-events: auto;
  cursor: pointer;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

.developInfo:hover{
  opacity:0.8;
}
/* ICON ANIMATION OR NOT */
.iconChoice{
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  grid-gap: 10px;
}

.runAnimationPart{
  display:block;
  grid-column: 1 / 3;
  grid-row: 1;
  text-align:center;
}

.viewerPart{
  display:block;
  grid-column: 2 / 2;
  grid-row: 1;
  text-align:center;
}

.notVisible{
	display:none;
}

.notVisibleSvg{
	overflow: hidden;
	border: 0px Solid #37538b;
	border-radius:5px;
    max-height:800px;
    overflow: hidden;
    max-height:0px;
    -webkit-transition: max-height 600ms, border 600ms;
    transition: max-height 600ms, border 600ms;
    background: aliceblue;
}
  
.visibleSvg{
	border: 0px Solid #37538b;
	border-radius:5px;
	padding:5px;
    max-height:800px;
    overflow: hidden;
    -webkit-transition: max-height 600ms;
    transition: max-height 600ms;
    background: aliceblue;
    height:auto;
    position: relative;
}

.mkItAppears { 
 opacity: 1;
/*
 transition: <property> <duration> <timing-function> <delay>;
*/
 -webkit-transition: opacity 0.2s linear 1s;
 -moz-transition: opacity 0.2s linear;
 -o-transition: opacity 0.2s linear; 
}

.progressionMinibar{
  border : 0px solid #fff;
  border-radius : 3px;
  height: 10px;
  background-color: #3a548c;
  display:inline-flex;
  cursor: pointer;
  pointer-events: auto;
}

.progressionMinibar:hover{
  opacity:0.8;
}

.progressionMinibarOut{
  opacity:0.3;
  cursor: pointer;
  pointer-events: auto;
}

.progressionMinibarOut:hover{
  opacity:0.5;
}

.progressionMinibarSpace{
 display:inline-flex;
}

.textminibar{
  height:20px;
  display:inline-block;
  font-size:0.8em;
}

.rawtextminibar{
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

/*
.mkItAppears:hover { 
visibility: visible; 
opacity: 1; 
}
*/


.illustrationSvg{
  margin:5px;
}


/* TEXT WRITER*/
.titleSlides{
  position:relative;
  text-align:center;
  font-size: 2em;
  left: 50%;
  transform: translate(-50%, 0%); 
  -webkit-transition: font-size 0.2s linear, left 0.2s linear;
  -moz-transition: font-size 0.2s linear, left 0.2s linear;
  -o-transition: font-size 0.2s linear, left 0.2s linear;

}

.titleOnSide{
  position: relative;
  font-size: 2em;
  left: 0%;
  text-align: left;
  transform: translate(0%, 0%); 
  -webkit-transition: font-size 0.2s linear, left 0.2s linear;
  -moz-transition: font-size 0.2s linear, left 0.2s linear;
  -o-transition: font-size 0.2s linear, left 0.2s linear;
}

/* TEXT WRITER*/
.placeToWriteStuffs{
	color:#000;
	font-size:1em;
	margin-left: 200px;
	margin-right: 200px;
	margin-bottom: 50px;
	text-align: justify;
	background-color: aliceblue;
	padding: 20px;
	border: 0px Solid aliceblue;
	border-radius: 5px;
}

.placeToWriteStuffsCloseToPicture{
	color:#000;
	font-size:1em;
	text-align: justify;
	background-color: aliceblue;
	padding: 20px;
	border: 0px Solid aliceblue;
	border-radius: 5px;
}

.employePict#pictureBoris{
	max-width:200px;
	margin: auto;
}

.employePict#pictureGroupe{
	max-width:400px;
	margin: auto;
}


.employeVCARD{
	text-align:center;
	max-width: 230px;
}

.linkText{  
	cursor: pointer;
	pointer-events: auto;
	text-decoration: underline;
	color:#22d;
}

.emphaseText{
	color:inherit;
	background: linear-gradient(to top, transparent 0%, #dbe1ff 10%, #dbe1ff 70%, transparent 85%) no-repeat;
	background-size:0% 100%;
    transition: background-size 0.4s;
}

/* ----------------------------------------------*/
/* Enhance User experience with horizontal phone */
/* ----------------------------------------------*/
.phone {
  position: absolute;
  height: 100px;
  width: 50px;
  border: 1px solid #000;
  border-radius: 10px;
  animation: rotate 1.5s ease-in-out infinite alternate;
  transform-origin: center;
  /* display: none; */
}

.screen {
  position: absolute;
  height: 100px;
  width: 50px;
  background-color: aliceblue;
  border-radius: 10px;
  animation: rotate 1.5s ease-in-out infinite alternate;
  transform-origin: center;
  /* display: none; */
}

.camera {
     position: relative;
     float: left;
     margin-right: 8px;
     left: 45%;
     width: 4px;
     height: 4px;
     top: 1px;
     background-color: rgb(83, 83, 82);
     border-radius: 30px;
     border: 1px solid rgb(214, 214, 214);
}
.reflet {
	position: absolute;
    height: 100px;
    width: 50px;
	border:0px solid #fff;
	border-radius:4px;
	background-color:#fff;
	opacity:0.9;
	-webkit-clip-path: polygon(30% 0, 70% 0, 80% 100%, 50% 100%);
    clip-path: polygon(30% 0, 70% 0, 80% 100%, 50% 100%);
	}

.refletSmaller {
	position: absolute;
    height: 100px;
    width: 50px;
	border:0px solid #fff;
	border-radius:4px;
	background-color:#fff;
	opacity:0.8;
	-webkit-clip-path: polygon(30% 0, 70% 0, 80% 100%, 50% 100%);
    clip-path: polygon(20% 0, 25% 0, 45% 100%, 40% 100%);
}
@keyframes rotate {
  0% {
		transform: rotate(0deg)
	}
	50% {
		transform: rotate(90deg)
	}
	100% {
		transform: rotate(90deg)
	}
}
@keyframes invrotate {
  0% {
		transform: rotate(0deg)
	}
	50% {
		transform: rotate(-90deg)
	}
	100% {
		transform: rotate(-90deg)
	}
}

.alertUX{
  text-align:center;
  display: none;
}

.mainContainer{
  display:block;
}

.menuMiniList{
	display:none;
	width:100%;
	padding-left: 200px;
}
.menuList{
	display:flex;
	width:100%;
}

.menuItems{
	width: 100%;
}


@media only screen and (max-device-width: 700px) {
	.placeToWriteStuffs{
		margin-left: 50px;
		margin-right: 50px;
	}
}

@media only screen and (max-device-width: 800px) {
	.placeToWriteStuffs{
		margin-left: 100px;
		margin-right: 100px;
	}
	.menuMiniList{
		display:inline-flex;
	}
	.menuList{
		display:none;
	}
	.firstBigTitle{
		padding-left:100px!important;
	}
}

@media only screen and (max-device-width: 900px) {
	.placeToWriteStuffs{
		margin-left: 150px;
		margin-right: 150px;
	}
}

@media only screen and (max-device-width: 600px) and (orientation: portrait) {
	.alertUX{
		min-height:200px;
		display: grid;
		grid-template-columns: repeat(5, 2fr);
		grid-template-rows: repeat(5, 2fr);
		grid-gap: 0px;
	}
	.mainContainer{
		display:none;
	}
}

#retourHautDePage{
  position: fixed;
  bottom: 80px;
  right: 30px;
  width: 20px;
}

.subtitles{
    position: relative;
    bottom: 10px;
    background-color: #ffffff44;
    width: 100%;
    margin: 0;
    margin-right: auto;
    text-align: center;
    font-family: "JMH Typewriter";
    padding-left: 10%;
    padding-right: 10%;
}

@media only screen and (max-device-height: 500px) and (orientation: landscape) {
	body{
	font-size:10px;
	}
	.titrePrincipal{
		max-height: 15px;
		height: 15px;
	}
	.titreSecondaire {
		max-height: 15px;
		height: 15px;
	}
}

.messageTurnUrPhone{
	display:block;
	grid-column: 1 / 6;
	grid-row: 5;
	text-align:center;
}

.phoneContainer{
  display:flex;
  grid-column: 2 / 5;
  grid-row: 1 / 4;
  align-items: center;
  margin: auto;
}

/* REALISATIONS */
.reaContainer{
	display:grid;
	grid-template-columns: 0.25fr repeat(6, 3fr) 0.25fr;
	grid-template-rows: minmax(50px, 2fr) minmax(0px, auto);
	grid-gap:10px;
	margin-bottom:10px;
	margin-top:10px;
	border:0px solid black;
	width:100%;
	min-height:300px;
	padding:5px;
	width:-webkit-fill-available;
	width:-moz-available;
	width:fill-available;
	background-color:aliceblue;
	border-radius:5px;
	margin: 5px;
}

.reaContainer_abstract{
  display:block;
  min-height:50px;
  height:100%;
  grid-column: 2 / 8;
  grid-row: 1 / 2;
  align-items: center;
  margin: auto;
  border:0px solid #000;
  border-radius:5px;
  width:100%;
  background-color:#fff;
  text-align:center;
}

[class^=reaContainer_abstract_]{
  display:block;
  width:100%;
  margin:5px;
}

.reaContainer_abstract_title{
  color : #26ad81;
  font-size: 1.3em;
  font-weight: 600;
}

.reaContainer_abstract_target{
  color : #26ad81;
  top: -10px;
  position: relative;
}

.reaContainer_abstract_sumup{
  color : #3a548c;
}

.reaContainer_abstract_goal{
  color : #3a548c;
}

.reaContainer_abstract_comment{
  color : #3a548c;
}

img{
  width: 100%;
}

.picturesRea{
  margin: -5px;
  padding: 10px;
}

.reaContainer_picture{
  background-color:#fff;
  min-height:50px;
  height:100%;
  align-items: center;
  margin: auto;
  border:0px solid #000;
  border-radius:5px;
  width:100%;
  grid-column: 2 / 8;
  grid-row: 2 / 2;
  display:grid;
  grid-template-columns: repeat(6, 3fr);
  grid-template-rows: minmax(0px, 2fr) minmax(0px, auto);
  grid-gap:10px;
}

/*
 Première ligne d'images 3/3 
.picture0{
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
*/

/*
[class^=reaContainer_img]{
*/

.reaContainer_imglegend{
  background-color:#fff;
  position:absolute;
  bottom:-15px;
  left:5%;
  border:1px solid #000;
  border-radius:5px;
  min-height:20px;
  width:90%;
  padding: 4px
}

#generalFooterPage{
	display: block;
	margin-bottom:10px;
	margin-top:10px;
	border:0px solid black;
	width:100%;
	min-height:25px;
	text-align:left;
	padding:5px;
	width: -webkit-fill-available;
	width: -moz-available;
	width: fill-available;
	position: sticky;
	bottom: 5px;
	background-color: #37538b;
	z-index:200;
	color:#fff;
	border-radius: 5px;
}
