:root {
	--gris: #f0f0f0;
	--grisFonce: #505050;
	--bleu: #3c97d1;
}

@font-face {
	font-family: "unistra";
	src: url("medias/fonts/UnistraA-Regular.woff2") format("woff2"),
        url("medias/fonts/UnistraA-Regular.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "unistra";
	src: url("medias/fonts/UnistraA-Bold.woff2") format("woff2"),
        url("medias/fonts/UnistraA-Bold.woff") format("woff");
	font-weight: bold;
	font-style: normal;
}
html{
	margin: 0px;
	padding: 0px;
	font-family: "unistra", sans-serif;
}

body { 
	/*position: absolute;*/
	width: 100vw;
	height: 100vh;
	overflow-y: hidden;
	overflow-x: hidden;
	font-size: 15pt;
	margin:0;
	background-color: var(--gris);
}

body{
	position: relative;
	transition: margin 1s ease-in-out;
}

body.ouvert{
	
}

body.ferme{
	
}

h1, h2, h3, h4, p{
	font-family: "unistra", sans-serif;
}

p a{

    text-decoration: none;
    font-weight: bold;
    color: var(--grisFonce);
}

.pasDeTransitions{

	transition: all 0s;
}

/*page module*/
#conteneur-principal{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;

}
#conteneur-principal h1{
	margin-top: 0px;
}

#colonne-module,
#formulaire,
#contenu-menu{
	width: 50vw;
	max-width: 80vh;
}

#colonne-module{
	z-index:2;
	transition: opacity 1s ease-in-out;
}

#module {
	position: relative;
}

#module img{
	height:auto;
	width: 100%;
	/*position: absolute;*/
}

#module canvas{
	width: 100%;
	height: auto;
	-webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1s; /* Firefox < 16 */
    -ms-animation: fadein 1s; /* Internet Explorer */
    -o-animation: fadein 1s; /* Opera < 12.1 */
    animation: fadein 1s;
    position: absolute;
}

@keyframes fadein {
    from { opacity: 0; /*transform: scale(0.95);*/}
    to   { opacity: 1; /*transform: scale(1);*/}
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

 
.chargement{
  position: absolute;
  animation: sideBouncing .8s ease-in-out infinite;
  background-color: #fff;
  height: 150px;
  width: 150px;
  animation-direction: alternate-reverse;
  /*ox-shadow: 0px 0px 12px 0px rgba(0,0,0,.3);*/
  
}
  
@keyframes sideBouncing{
  from { transform: scale(0.8);}
  to {transform: scale(1);}
    
}

#colonne-info,
#colonne-menu,
#colonne-module,
#contenu-menu{
	margin-top: 1rem;
}


#colonne-info,
#colonne-menu{
	width:22vw;
	 z-index:3;
	 background-color: var(--gris);
}

#colonne-info{
	padding-right: 1rem;
}

#colonne-info h1{
	color: var(--bleu);
	text-align: right;
	font-weight: bold;
	font-size: 2.5rem;
	line-height: 2.5rem;
}

#colonne-info #categories{
	text-align: right;
	position: relative;
	float:right; clear:right;
}

#colonne-info #categories input[type=button]{
	border: none;
	background: none;
	text-decoration: underline;
	display: block;
	/*cursor: pointer;*/
	padding: 0px;
	font-family: "unistra";
	font-size: 1.3rem;
	text-decoration: none;
}

#colonne-menu{
	padding-left: 1rem;
}

body.ferme #colonne-menu .icone-fermer{
	display: none;
}

body.ouvert #colonne-menu .icone-fermer{
	display: initial;
}

body.ferme #colonne-menu .icone-ouvrir{
	display: initial;
}

body.ouvert #colonne-menu .icone-ouvrir{
	display: none;
}

#colonne-menu .mobile{
	display: none;
}

h1#logo{
	color: var(--grisFonce);
	font-family: "unistra", sans-serif;
	font-weight: normal;
	text-align: left;
	font-size: 3.5rem;
	margin-top: -1rem;
	margin-bottom: 1rem;
	z-index: 1;
}
#icone-menu, #icone-info, #icone-fermer {
  width: 40px;
  cursor: pointer;
  z-index: 2;
 
}
.icone img {
  width: 40px;
  display: block;
   padding-bottom: 1.5rem;
}

.icone{
  transition: all .4s ease-in-out;
}

.icone.selectionnee {
  opacity:.4 !important;
}


/*
#icone-menu, #icone-info {
  width: 40px;
  cursor: pointer;
  z-index: 2;
}

#icone-menu:after, 
#icone-menu:before, 
#icone-menu div {
  background-color: var(--grisFonce);
  content: '';
  display: block;
  height: 3px;
  margin: 9px 0;
  transition: all .2s ease-in-out;
}

#icone-menu.clic:before {
 
 transform: translateY(6px) translateX(-4px) rotate(135deg);
width: 50%;
}

#icone-menu.clic:after {

  transform: translateY(-6px) translateX(-4px) rotate(-135deg);
width: 50%;
}

#icone-menu.clic div {
}


#icone-info:after, 
#icone-info:before, 
#icone-info div {
  background-color: var(--grisFonce);
  content: '';
  display: block;
  height: 3px;
  margin: 9px 0;
  transition: all .2s ease-in-out;
}
*/


/*formulaire*/
#formulaire{
	position: absolute;
	min-height: calc(100vh);
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;	
	z-index: 5;
	transition: top .5s ease-in-out;
	background-color: var(--bleu);
	color:var(--gris);
	text-align: center;
	visibility: hidden;
}

#formulaire #ouvrir-formulaire{
	padding: .5rem 0;
	cursor: pointer;
}

#formulaire h2{
	margin: 0;
	font-size: 1.3rem;
}

.fleche-haut {
  width: 0; 
  height: 0; 
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;  
  border-bottom: 10px solid var(--gris);
  margin:.5rem auto;
}

#formulaire.ouvert{
	top: 0rem;
}

#formulaire.ferme{
	/*top: calc(100vh - 3.5rem) !important;*/
}


#formulaire #contenu-formulaire{
	z-index: 1;
}

#cache-formulaire{
	position: fixed;
	top: 0rem;
	left: 0rem;
	width: 100vw;
	height: 100vh;
	opacity: .5;
	background-color: white;
	z-index: 4;
	cursor: pointer;
	transition: opacity .5s ease-in-out;
}

#formulaire.ferme ~ #cache-formulaire{
	visibility: hidden;
	opacity: 0;
}

#formulaire.ouvert ~ #cache-formulaire{
	visibility: visible;
	opacity: .7;
}

#formulaire input[type=button]{
	border: none;
	background: none;
	text-decoration: none;
	cursor: pointer;
	padding: 0px;
	margin-top: 2rem;
	font-family: "unistra";
	font-size: 2rem;
	display: inline;
	color: var(--gris);
	font-weight: bold;
}

#formulaire form{
	transition: opacity 1s ease-in-out;
}

/* menu*/

.inline-block{
	display: inline-block;
}

#contenu-menu-gestes, #contenu-menu-info, #contenu-menu-intro{
	position: absolute;
	top:0;
	min-width: 100%;
}

#contenu-menu-info{
		overflow: scroll;
    overflow-x: hidden;
	height: 90vh;
	scrollbar-color: var(--grisFonce) transparent;
	scrollbar-width: auto;
	padding-right: 1rem;
}


#contenu-menu{
	position: absolute;
	min-height: calc(100vh);
	left: 100vw;
	z-index: 1;
	transition: opacity 1s ease-in-out;
	text-align: center;
}

#contenu-menu h2, 
#contenu-menu p
{
	color: var(--grisFonce);
}
#contenu-menu-info h2,
#contenu-menu-intro h2
{
	text-align: left;
}

#contenu-menu-info p,
#contenu-menu-intro p{
	text-align: justify;
	margin: 0px;
}



#contenu-menu.ouvert,
#colonne-module.ouvert,
#formulaire.ouvert form{
	opacity: 1;
}

#contenu-menu.ferme,
#colonne-module.ferme,
#formulaire.ferme form{
	opacity: 0;
}

#filtres{
	display: flex;
	justify-content: space-between;
}

#contenu-menu .custom-select{	
	width:40%;
}

#contenu-menu #conteneur-recherche{
	min-width: 40%;
}

#conteneur-recherche {
  display: flex;
}

#contenu-menu input[type=text]{
	background: none;
	border: 2px solid transparent;
  	border-color: transparent transparent var(--grisFonce) transparent;
  	font-size: 1.3rem;
	font-family: "unistra";
	min-height: 100%;
	min-width: 100%;
}

#contenu-menu #gestes{
	display: flex;
	 flex-wrap: wrap;
	overflow: scroll;
    overflow-x: hidden;
	height: 90vh;
	scrollbar-color: var(--grisFonce) transparent;
	scrollbar-width: auto;
	margin-top: 1rem;
	align-content: flex-start;
	justify-content: space-between;
}
/* total width */
::-webkit-scrollbar {
    background-color:transparent;
    width:16px
}

/* background of the scrollbar except button or resizer */
::-webkit-scrollbar-track {
    background-color:var(--gris)
}

/* scrollbar itself */
::-webkit-scrollbar-thumb {
    background-color:var(--grisFonce);
}


#contenu-menu .geste{
	width: 48%;
	text-align: left;
}

#contenu-menu .geste.disable{
	opacity: .4;
}

#contenu-menu .geste h2{
	color: var(--bleu);
	margin-bottom: -0.3rem;
	font-size: 2rem;
	cursor: pointer;
	margin-top: .7rem;
	line-height: 2.1rem;
}

#contenu-menu .geste.disable h2{
	cursor: not-allowed;
}

#contenu-menu .geste strong{
	font-size: 1.3rem;
	font-family: "unistra";
	color: var(--grisFonce);
	font-weight: normal;
	/*cursor: pointer;	*/
}

#contenu-menu-intro{
	min-height: calc(100vh - 1rem);
}

#intro-bloc-central{
	font-size: 2rem;
	line-height: 2rem;
}

#intro-bloc-central p{
opacity: 0;
margin-left: -3rem;
}

#intro-logos{
	margin-bottom:2rem;
}


.logos{
	margin:3rem 0px;
	display:flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: space-evenly;
}


.logos img{
	max-height: 50px;
	width:auto;
	 display: block;
	 opacity:.5;
	 transition: opacity .2s ease-in-out;
}

.logos img:hover{
	opacity: 1;
}

#bouton-lobby{
	background-color: var(--bleu);
	color:var(--gris);
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 2rem;
	line-height: 2rem;
	padding: 1.5rem;
	/*margin: 10rem 0;*/
	cursor: pointer;
	margin-top: 2rem;
	opacity: 0;
}

#bouton-lobby img{
	width:40px;
	height:auto;
	margin-right: 1.5rem;	
}



 /* The container must be positioned relative: */
.custom-select {
  position: relative;
  font-family: 'unistra';
}

.custom-select select {
  display: none; /*hide original SELECT element: */
}

/*.select-selected {
  background-color: DodgerBlue;
}*/

/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 21px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: var(--grisFonce) transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  border-color: transparent transparent var(--grisFonce) transparent;
  top: 15px;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  color: var(--grisFonce);
  padding: 8px 16px;
  border: 2px solid transparent;
  border-color: transparent;
  cursor: pointer;
  font-size: 1.3rem;
}

.select-selected, .select-items div:last-child {

  border-color: transparent transparent var(--grisFonce) transparent;

}

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: var(--gris);
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
 /* background-color: rgba(0, 0, 0, 0.1);*/
		background-color: var(--bleu);
		color: var(--gris);
} 

#magnifying-glass
{
 font-size: 2rem; /* This controls the size. */
 display: inline-block;
 width: 0.4em;
 height: 0.4em;
 border: 0.1em solid var(--grisFonce);
 position: relative;
 border-radius: 0.35em;
 margin-right: .2em;
 margin-left:.5rem;
}
#magnifying-glass::before
{
 content: "";
 display: inline-block;
 position: absolute;
 right: -0.25em;
 bottom: -0.1em;
 border-width: 0;
 background: var(--grisFonce);
 width: 0.35em;
 height: 0.08em;
 -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
     -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
}

/* cross*/
#formulaire.ferme .croix{
	opacity: 0;
}
#formulaire.ouvert .croix{
	opacity: 1;
}
.croix{
	position: absolute;
	display: inline-block;
	width: 2rem;
	height: 2rem;
	overflow: hidden;
	top: 4px;
	right: 4px;
	transition: opacity .5s ease-in-out;
}

 .croix::before:hover, .croix::after:hover{
   
     /* background: $blue;*/

 }

  .croix::before, .croix::after {
    content: '';
    position: absolute;
    height: 3px;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background: var(--gris);
  }
  .croix::before {
    transform : rotate(45deg);
  }
  .croix::after {
    transform: rotate(-45deg);
  }

@media only screen and (min-device-width : 320px) and (max-device-width : 768px), only screen and (min-width : 320px) and (max-width : 768px) {

	html { 
	font-size: 20pt;
}

p{
	font-size: 1.3rem;
	line-height: 1.3rem;
}

h2{
	font-size: 2.5rem;
	line-height: 2.5rem;
}
   #conteneur-principal{
		flex-direction: column-reverse;
		flex-wrap: wrap;
		justify-content: center;
		margin: auto;
		width: 90%;
	}

	#colonne-info #categories{
	text-align: left;
	position: relative;
	float:left;
	}

	#colonne-info #categories input[type=button]{
		display: inline;
	}
	#module{
	min-height: 90vw;
	}

	#module img{
	width:100%;
	height: auto;
	}

	#colonne-module{
		width:100%;
	}

	#colonne-info,
	#colonne-menu{
		padding-right: 0rem;
		padding-left: 0rem;
		width: 100%;
	}


	#colonne-menu{
		display: flex;
		justify-content: space-between;
	}

	#colonne-menu .mobile {
  	  display: block;
	}

	#colonne-menu .bureau {
	    display: none;
	}

	#colonne-info{
		margin-top: 0rem;
	}

	#colonne-info h1{
		text-align: left;
		margin-bottom: -.3rem;
		font-size: 2rem;
		line-height: 2rem;
	}

	h1#logo{
		margin-bottom: .4rem;
		font-size: 2.5rem;
		margin-top: .4rem;
	}

	#menu-principal{
		position: relative;
		display: flex;
		align-items: center;
	}
	/*#icone-menu{
		margin: 0;
		position: absolute;
		top: 50%;
		right: -25%;
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		width:70px;
	}*/

	/*#icone-menu::after, #icone-menu::before, #icone-menu div {    
    height: 13px;
    margin: 13px 0;
	}*/

	#icone-menu, #icone-info, #icone-fermer {
  width: 70px;
 
 
}
.icone img {
  width: 70px;
 
}


	#icone-menu, #icone-info, #icone-fermer,.icone img{
		padding-bottom: 0px
	}
	#formulaire{
		width:90%;
	}

	#ouvrir-formulaire {
  	  margin-bottom: 4rem;
	}

	#formulaire.ferme {
    top: calc(100vh - 2.5rem);
	}

	#contenu-menu{	
	left: 5vw;
	top:-100vh;	
	width:90vw;
	}

	#contenu-menu #conteneur-recherche {
    min-width: 100%;
    height: 3.5rem;
	}

	#contenu-menu .custom-select{	
	width:100%;
	}

	#contenu-menu #gestes {
	    height: 75vh;
	}

	#contenu-menu .geste{	
	width:100%;
	text-align: center;
	}

	#filtres {
    /*margin-top: 10vh;*/
    flex-direction: row;
    flex-wrap: wrap;
}


	#magnifying-glass{
		visibility: hidden;
	}
}