/* ========================== */
/* ==== Règles générales ==== */
/* ========================== */
:root{
    font-size: 16px;
}

html{
    height: 100%;
    width: 100%;
}

body{
    height: 100%;
}

header,
main,
footer{
	display:block;
}

/* ========================== */
/* ========= Textes ========= */
/* ========================== */
h1 {
    font-size: 1.875rem;
    margin-bottom: 30px;
	font-weight: 400;
}

h2{
    font-size: 1.45rem;
    line-height: 1.95rem;
}

p, span, th, td {
    color: white;
}

p{
    line-height: 1.625rem;
}




/* ========================== */
/* ========= HEADER ========= */
/* ========================== */
header{
    position: relative;
    width: 100%;
    height: 10rem; /* Espace supplémentaire pour descendre le corps de la page du menu fixe */

    z-index: 100;
}

nav {
	z-index: 100;
    position: fixed;
    width: 100%;
}

nav ul{
    display: block;
    width: 100%;
    max-width: 1000px;

    margin: 0 auto;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

nav li{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    width: 16%;
    height: 100px;
}


/* Nav spéciaux */
nav li.nav-realisations {
	width: 32%;
}

nav li.facebook{
    width: 6%;
}

nav li.facebook:hover {
    height: 115px;
}

nav li.logo{
    width: 30%;
    height: 100px;

    padding-top: 10px; /* fallback */
    padding-bottom: 10px; /* fallback */

    vertical-align: middle;
}

nav li.logo img{
    position: relative;
    top: 50%;
    margin-top: -15%; /* That works IDK why DEBUG : Tester sur d'autres configs */

    display: block;
    width: 70%;

    margin-left: 15%;
    margin-right: 15%;
}

/* nav li.logo:hover{ /* Ne pas agrandir la taille */ /*
    height: 100px;
} */


/* A l'intérieur */
nav li a{
    position: relative;
    display: block;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}

nav li a span.icon{
    display: inline-block;
    width: 50px;
    height: 50px;

    position: relative;
    top: 12px;
}

nav li a span.text{
    display: block;
    position: absolute;
    text-align: center;

    width: 100%;
    font-size: 0.85rem;
    bottom: 12px;
}


/* ========================== */
/* ========= ASIDE ========== */
/* ========================== */

/* ==================== */
/* Les classes communes */
/* ==================== */
.asidecontrol {
	cursor: pointer;
	
	display: inline-block;
	height: 60px;
	width: 60px;
		
	background-repeat: no-repeat;
	vertical-align: middle;
	background-size: 32px 32px;
	
	background-position: 14px center;
}

	aside#sidemenu .asidecontrol:active,
	aside#sidemenu .asidecontrol:focus {
		background-position: center 17px;
	}


.asideclose {
	float: right;
	background-image: url('../img/icons/close.png');
}

.asideopen {
	z-index: 99;
	position: absolute;
	margin-left: 1%;
	
	right: 0;
	background-image: url('../img/icons/burger.png');
}
	.asideopen:focus,
	.asideopen:active {
		margin-top: 2px;
	}

	/* Replacer quand on est sur un projet en fullpage */
	.fullpage .asideopen {
		left: 50%;
		margin-left: 540px;
	}

	/* Voir mediaqueries */

#aside_outpage {
	display: none;
	z-index: 101;
	
	top: 0;
	left: 0;
	
	height: 0px;
	width: 0px;
	
	position: absolute;
	background-color: transparent;
}

#aside_outpage.opened {
	display: block;
	height: 100%;
	width: 100%;
}


/* ======= */
/* Le menu */
/* ======= */
aside#sidemenu {
	z-index: 201;
	
	box-sizing: border-box;
	position: fixed;
	top: 0;
	right: 0;
	
	background-color: black;
	
	width: 100%;
	max-width: 320px;
	height: 100%;
	
	padding: 160px 40px 0px 60px;
	border-left: 3px solid #ff9244;
	-webkit-transition: right 300ms ease-out;
	transition: right 300ms ease-out;
	
	overflow-y: auto;
}

aside#sidemenu.closed {
	right: -400px;
	-webkit-transition: right 300ms ease-in;
	transition: right 300ms ease-in;
}

	aside#sidemenu ul {
		padding-bottom: 50px;
	}

		aside#sidemenu li {
			  display: inline-block;
			  text-align: center;
			  width: 100%;

			  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
			  filter: alpha(opacity=50);
			  -moz-opacity: 0.5;
			  -khtml-opacity: 0.5;
			  opacity: 0.5;
		}

			aside#sidemenu li:hover,
			aside#sidemenu li:focus,
			aside#sidemenu li:active,
			aside#sidemenu li.asideactive {
				-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
				filter: alpha(opacity=100);
				-moz-opacity: 1;
				-khtml-opacity: 1;
				opacity: 1;
			}

				aside#sidemenu a {
					display: inline-block;
					box-sizing: border-box;
					text-align: center;

					padding-top: 20px; 
					padding-bottom: 20px;
					width: 100%;

					color: #ff9244;
					text-decoration: none;
					font-size: 0.9rem;
					line-height: 0.9rem;
					text-transform: uppercase;
					font-weight: 500;

					/* Pour la transition */
					margin: 0px;
					-webkit-transition: padding-left 50ms ease-out;
					transition: padding-left 50ms ease-out;
					font-weight: normal;
				}


					aside#sidemenu a:hover,
					aside#sidemenu li.asideactive a {
						padding-right: 10px;
						/*font-size: 0.85rem;*/
						font-weight: bold;
						-webkit-transition: padding-right 20ms ease-out;
						transition: padding-right 20ms ease-out;
					}


/* ========================== */
/* ====== Main Content ====== */
/* ========================== */
#mainContent {  /* Pour que le burger soit en absolute */
	position: relative;
}

#mainContent,
#projectContent {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    padding: 5%;
}

/* LA PAGE PROJET MODALE HOVER SUR TAXONOMIES */
#pageContainer { /* Container de toute la page (ici main(taxonomies) et projectContent) */
	display: block;
	position: relative;
	
	top: 0;
	left: 0;
	
	margin: 0;
	padding: 0;
}

#projectContent {
	display: block;
	position: absolute;
	
	top: 0;
	left: 0;
	
	background-color: black;
	
	z-index: 10;
}



/* === Fullpage === */
#mainContent.fullpage,
#projectContent.fullpage{
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

	.fullpage article {
		margin-left: 0 auto;
		max-width: 1200px;

		-webkit-box-sizing: border-box;

		box-sizing: border-box;
		padding-left: 5%; /* Mobile first */
		padding-right: 5%;
	}

	.fullpage article.fullpage{
		max-width: none;
		padding: 0;
	}

	.fullpage #data {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding-left: 5%; /* Mobile first */
		padding-right: 5%;
	}

	.fullpage #data,
	.fullpage #diaporama {
		margin-left: auto;
		margin-right: auto;
		max-width: 1200px;
	}

	.fullpage .headtitle,
	.fullpage article.fullpage h2,
	.fullpage article.fullpage h1,
	.fullpage article.fullpage .content {
		margin-left: auto;
		margin-right: auto;
		max-width: 1200px;

		-webkit-box-sizing: border-box;

		box-sizing: border-box;
	}

	.fullpage .headtitle,
	.fullpage article.fullpage .content {
		padding-left: 7%; /* 5% de marge + 2% de marge du contenu au dessus (qui est en fait réglé à 10px mais ça donne le même résultat ) */
		padding-right: 5%;
	}

/* ========================== */
/* ========= Contenu ======== */
/* ========================== */

.subtitle {
    display: block;
    width: 100%;
    max-width: 40rem;
    margin: 0 auto;

    text-align: center;
	
    margin-bottom: 35px;
}

	.subtitle,
	.subtitle p,
	.subtitle strong {
		font-size: 1.25rem;
		line-height: 1.875rem;
	}

#mainContent .headtitle,
#projectContent .headtitle{
    display: block;
    /*height: 60px;*/
    width: 100%; /* Du maincontent à 110px; */
}

#mainContent .headtitle h1,
#projectContent .headtitle h1{
	max-width: 1050px;
	font-weight: 400;
}

	/* Versions qui veulent un margin */
	#mainContent .headtitle.margin-bottom {
		margin-bottom: 30px;
	}


	#categorie #mainContent .headtitle,
	#categorie #projectContent .headtitle, { /* Idem qu'au dessus */
		margin-left: 6px;
	}

/* Surtout 600px> Entre <1400px CF mediaqueries pour décalage */
	.arrow {
		display: inline-block;
		height: 60px;
		width: 60px;
		background-repeat: no-repeat;
		vertical-align: middle;
		background-size: 20px 32px; /* Mobile first */
		background-position: 10px center;
	}

	.arrow.rightArrow{
		width: 50px; /* Réduire */
	}

	.headtitle .navarrow {
		-webkit-transition: background-position 50ms ease-out;
		transition: background-position 50ms ease-out;
	}

	.headtitle .navarrow:hover,
	.headtitle .navarrow:focus {
		background-position: 0px center;
		-webkit-transition: background-position 50ms ease-out;
		transition: background-position 50ms ease-out;
	}



	#mainContent .headtitle h1,
	#projectContent .headtitle h1 {
		display: inline-block;
		vertical-align: middle;
		margin-top: 0;
		margin-bottom: 0;
	}

	.tax-description {
		margin-bottom: 0.9rem;
	}



/* ========================== */
/* ========= Footer ========= */
/* ========================== */
footer{
	position: static;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

	text-align: right;

    width: 96%;
    margin: 50px 2% 30px 2%;
	
	z-index: 101;
}

	adress {
		display: inline-block;
		text-align: right;
		font-size: 1.3rem;
	}

	footer li {
		height: 1.4rem;
	}

		footer a,
		footer span {
			display: block;
		}

		footer a{
			font-size: 1rem;
			line-height: 1.4rem;
		}

	.footer-nav ul {
		display: inline-block;
	}

/* ========================== */
/* ======= PAGE PROJET ====== */
/* ========================== */

#projectPage header,
.projectPage header{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-height: 100px;
    height: 15%;
}

/* #projectPage #mainContent{
    height: 100%;
} */

/* ========= Viewer ========= */
#viewer {
    height: 500px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	
	/* Centrage vertical avec flexbox ! */ /* Non compatible sur <IE10 */
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
    display: -ms-flexbox;  /* TWEENER - IE 10 */ /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
    display: flex;

	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	-ms-grid-row-align: center;
    align-items: center;
}


#viewer .viewercontainer {
	max-width: 1200px;
	height: 100%;
	width: auto;
	
	margin-left: auto;
	margin-right: auto;
}

#viewer img,
#viewer video {
    margin: 0 auto;

	/* float: left; */
	
    display: block;
    vertical-align: middle;
    max-width: 100%;
    max-height: 100%;
}

/*
#viewer .imagecontrol {
	display: block;
	position: relative;
	height: 50px;
	width: 50px;
	
	float: left;
	
	background-color: white;
} */

/* ========= Diaporama ========= */
ul#diaporama {
    position: relative;
    width: 100%;

    text-align: center;
}

	#diaporama li{
		display: inline-block;
		vertical-align: top;
		
		margin-left: 10px;
		margin-right: 10px;
		margin-top: 20px;
		width: 180px;
		height: 112px;
	}

		#diaporama li img {
			max-width: 100%;
			height: 100.2%;
		}

		/* Centrer l'icone de vidéo */
		#diaporama li.video img {
			position: relative;
			top: 50%;
			margin-top: -32px;
			
			max-height: 64px;
			max-width: 48px;
		}

/* ========= Contenu texte ========= */
#data {
    width: 100%;
    display: block;
    margin-top: 30px;

    text-align: center;
}

#data table{
    display: inline-block;
    vertical-align: top;

    text-align: left;
    width: 100%;
    max-width: 580px;

    margin-bottom: 30px;
}

#data th {
    width: 80px;
    padding: 10px;
}

#data td {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 10px;
}

#data .description{
    text-align: left;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    max-width: 580px;

    margin-bottom: 1rem;
}


/* ========= Navigation modale ========= */
.project-navigation {
	position: fixed;
	display: block;
	
	top: 40%;
	
	height: 100px;
	width: 50px;
	
	-webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}

	.project-navigation .text{
		display: none;
		margin: 0;
		line-height: 100px;
		height: 100%;
	}

	.project-navigation .icon{
		width: 50px;
		height: 100%;
	}

.project-navigation#previous-project{
	left: -5px;
}

	.project-navigation#previous-project .text {
		float: left;
		margin-right: 10px;
	}

	.project-navigation#previous-project .icon {
		float: left;
	}

.project-navigation#next-project{
	right: -5px;
}

	.project-navigation#next-project .text {
		float: right;
		margin-left: 10px;
	}

	.project-navigation#next-project .icon {
		float: right;
	}


/* Les hover */
.project-navigation:hover {
	width: auto;
}

.project-navigation#previous-project:hover {
	left: 0;
}

.project-navigation#next-project:hover {
	right: 0;
}

	.project-navigation:hover .text {
		display: inline-block;
	}


/* La classe inactive */
.project-navigation.inactive:hover {
	width: 50px;
}

.project-navigation.inactive#previous-project:hover{
	left: -5px;
}

.project-navigation.inactive#next-project:hover{
	right: -5px;
}

	.project-navigation.inactive:hover .text {
		display: none;
	}


/* L'image de swipe */
.swipe-container {
	pointer-events: none; /* > IE11 sans Opera */
	
	display: none;
	position: fixed;
	width: 250px;
	height: 201px;
	margin-top: -100px;
	margin-left: -125px;
	
	top: 50%;
	left: 50%;
}

		.swipe-arrow,
		.swipe-hand{
			position: absolute;

			background-position: center center;
			background-repeat: no-repeat;
			background-size: 100%;
		}

		.swipe-arrow{
			margin-left: -125px;
			top: 0%;
			left: 50%;

			background-image: url('../img/icons/swipe-arrow.png');
			width: 250px;
			height: 66px;
		}

		.swipe-hand {
			margin-left: -123px;
			margin-top: -90px;
			top: 55%;
			left: 57%;

			background-image: url('../img/icons/swipe-hand.png');
			width: 146px;
			height: 180px;
		}


/* ========================== */
/* ==== PAGE PRESENTATION === */
/* ========================== */

.textAndPhoto h1,
 h2{
    margin-left: 10px;
}

.textAndPhoto .headtitle h1 { /* < 1400px */
	margin-left: 0;
}


article > h2 {
    font-size: 1.5rem;
    margin-top: 60px;
    margin-bottom: 10px;
}

.textAndPhoto{
    display: block;
}

.textAndPhoto div.text,
.textAndPhoto img {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; /* Pour avoir la marge en mobile */
    vertical-align: top;
    display: inline-block;
    margin: 10px;

    width: 47%;
}

.textAndPhoto div.text{
	margin-top: 2px;
    margin-right: 0px;
}

div.text p {
    text-align: left;
    margin-bottom: 1rem;
}


#map{
    background-color: #888;
    height: 400px;
    width: 100%;
}

/* Version sans photo */
.textNoPhoto div.text {
	width: 100%;
}

.textNoPhoto p,
.textNoPhoto h2,
.textNoPhoto h3 {
	padding: 0;
	margin: 0;
}

/* ========================== */
/* ======== PAGE 404 ======== */
/* ========================== */
div.page404 {
	text-align: center;
}

	div.page404 h2,
	div.page404 p {
		display: block;
		text-align: center;
	}

	div.page404 h2 {
		font-size: 5rem;
		line-height: 5rem;
		margin-bottom: 1rem;
	}

	div.page404 p {
		line-height: 1.5rem;
	}

	div.page404 a {
		color: #ff9244;
		text-decoration: none;
		line-height: 2rem;
	}


/* =================================================================== */
/* =================================================================== */
/* ====================== Classes générales ========================== */
/* =================================================================== */
/* =================================================================== */

/* Pour intéragir avec le JS Notamment pour masquer derrière la liste des projets en navigation modale */
.opacityzero{
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)" !important;
  filter: alpha(opacity=0) !important;
  -moz-opacity: 0 !important;
  -khtml-opacity: 0 !important;
  opacity: 0 !important;
}


.not_mobile{
    display: none;
}

.centerize{
	display: block;
	width: 100%;
	text-align: center;

    margin-top: 30px;
}

.fblink,
.biglink {
    display: inline;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 1rem;
	line-height: 3rem;
}

.fblink{
    margin-top: 30px;
}

.fblink:before {
    position: relative;
    display: inline-block;
    width: 0.8rem;
    top: 0.3rem;

    margin-right: 1rem;
    margin-left: 0.3rem;
}

.opacityzero{ /* Faire disparaitre des éléments dans arrêter de les display */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
}


/* ========== CONTACT ========== */
.contact{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;
    padding: 5%; /* Pour le mobile */

    text-align: center;
    margin-top: 30px;
}

	.contact li{
		display: inline-block;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;

	   /* width: 46%; */ /* Quand deux étaient à côté */
		width: 96%;
		height: 240px;
		margin-left: 2%;
		margin-right: 2%;
		margin-bottom: 4%;

		background-size: cover; /* COMPATIBILITE : Ne marchera pas sur IE8 */
		-webkit-background-size: cover;
		-moz-background-size: cover;

		background-position: center center; /* COMPATIBILITE : Ne marchera pas sur IE8 */
		background-repeat: no-repeat;
	}

	/* .contact li:first-child{
		width: 96%;
	} */


		.contact .hover {
			display: table;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;

			width: 100.5%;
			height: 100%;

			padding: 1rem;
			text-align: center;
			text-decoration: none;

			background-repeat: no-repeat;
			background-position: center 35px;/* COMPATIBILITE : Ne marchera pas sur IE8 */
			background-size: 30px 30px;
		}



		/* .contact li .hover:hover { /* Le reste du .hover est dans la classe générale style.css */ /*
			background-position: center 32px;
		} */

			.contact .hover p {
				display: table-cell;
				vertical-align: middle;
			}

			.contact .hover span {
				display: inline-block;
			}

			.contact .hover span.block {
				display: block;
			}


/* ============================================================= */
/* ====================== CATEGORIES =========================== */
/* ====================== &.HIGHLIGHTS ========================= */
/* ============================================================= */
#categories,
.highlights{
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    text-align: center;
    width: 100%;
}

#categories li,
.highlights li{
    display: inline-block;
    display: border-box;

    background-size: cover; /* COMPATIBILITE : Ne marchera pas sur IE8 */
    -webkit-background-size: cover;
    -moz-background-size: cover;

    background-position: center center; /* COMPATIBILITE : Ne marchera pas sur IE8 */
}

#categories li{
    height: 200px;
    width: 100%;
    margin: 0;
    margin-bottom: 10px;
}

.highlights li{
    margin-left: 2%;
    margin-right: 2%;
    margin-bottom: 2%;
    width: 46%;
    height: 200px;
}

#categories li img{ /* Règle plus utilisée mais on sait jamais */
    width: 100%;
    height: 100%;
}

#categories .hover {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: table;
    text-align: center;
    padding: 0;

    width: 100%;
    height: 200px;
}

#categories .hover h2,
.highlights .hover h2 {
    display: table-cell;
    vertical-align: middle;
}

#categories .hover h2 {
    -webkit-user-select: none;  /* Chrome all / Safari all */
    -moz-user-select: none;     /* Firefox all */
    -ms-user-select: none;      /* IE 10+ */
    user-select: none;          /* Likely future */
}


.highlights ~ .centerize{ /* Un de ses frères suivants */
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 2%;
    padding-right: 2%; /* Pour faire l'alignement */
}


/* ============================================================== */
/* ==== TUILES DYNAMIQUES FALLBACK EN L'ABSENCE DE JAVASCRIPT === */
/* ====================== &.CONTACT ============================= */
/* ============================================================== */
#projectsContainer{
    width: 100%;
    max-width: 1200px;
}

#projectsContainer .tile{ /* FALLBACK SANS JS & MOBILE */
    display: inline-block;
    margin: 8px; /* Volontairement je réduis la marge pour éviter des retours du whitespace */
    width: 280px;
    height: 173px; /* Golden Ratio */

    background-size: cover; /* COMPATIBILITE : Ne marchera pas sur IE8 */
    -webkit-background-size: cover;
    -moz-background-size: cover;

    background-position: center center; /* COMPATIBILITE : Ne marchera pas sur IE8 & Android <= 4.2, Sur un écran large le résultat est meh */
}

.tile .hover{
    text-decoration: none;
    display: table;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100.5%;
    height: 100.5%;

    padding: 1rem;
}

.hover h2{
    display: table-cell;
    position: relative;
    vertical-align: bottom;
    bottom: 0;
}


