*,
*::after,
*::before {
	box-sizing: border-box;
}



.demo-switch {
	--link-text: #000000;
	--link-text-hover: #000000;
	--body-text: #6d6d6d;
	--body-text-alt: #878787;
	--highlight-text: #d27527;
	--body-bg: transparent;
	--content-font: "Montserrat";
}

/* Content */
.content {
	position: relative;
	display: grid;
	
	margin-left: 5%;
  
	
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(3, 1fr);
	height: 100vh;
	overflow: hidden;
	padding: 1em;
	font-family: var(--content-font);
	--pieces-height: calc(100vh - 4em);
}




.content__header {
	display: flex;
	margin-left: 10%;
	
}

.content__title {
	font-size: 3em;
	line-height: 1;
	margin: 20;
	font-weight: normal;
	position: relative;
	margin-right: 1%;
}

.slideshow {
	grid-area: 1 / 3 / 3 / 5;
	display: flex;
	justify-content: center;
}

.slide {
	opacity: 0;
}

.pieces {
	flex: none;
	opacity: 1;
	height: var(--pieces-height);
	width: calc(var(--pieces-height) * 0.76);
	position: relative;
	display: flex;
	flex-wrap: wrap;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: 0 0;
}

.piece {
	pointer-events: none;
}

.menu {
	z-index: 10;
	grid-area: 2 / 2 / 3 / 4;
	background-color: rgba(0,0,255,0);
}

.menu__item {
	font-size: 3vw;
	background-color: rgba(0,0,255,0);
}

.menu__item:not(:last-child)::after {
	content: ' // ';
}

.menu__item span {

	opacity: 0.5;
	background-color: rgba(0,0,255,0);
}

.menu__item:hover {
	color: #000000
}

.menu__item--current,
.menu__item--current:hover,
.menu__item--current:focus {
	color:#d27527 ;
}

.menu_texte{
	font-size: 2vw;
	text-transform: uppercase;
background-color: rgba(0,0,255,0);
color : #d27527;
}



.js .loading::after {
	content: '';
	position: fixed;
	z-index: 10000;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	margin: -40px 0 0 -40px;
	pointer-events: none;
	background: #333;
	background: var(--body-text);
	transform-origin: 0% 50%;
	animation: loaderAnim 1.5s linear infinite alternate forwards;
}

@keyframes loaderAnim {
	0% {
		transform: scale3d(0,1,1);
		transform-origin: 0% 50%;
	}
	50% {
		transform: scale3d(1,1,1);
		transform-origin: 0% 50%;
	}
	51% {
		transform: scale3d(1,1,1);
		transform-origin: 100% 50%;
	}
	100% {
		transform: scale3d(0,1,1);
		transform-origin: 100% 50%;
	}
}

/* Frame */
.frame {
	top: 0;
	left: 0;
	position: fixed;
	z-index: 100;
	display: grid;
	width: 100%;
	height: 100vh;
	z-index: 100;
	pointer-events: none;
	padding: 2em;
	grid-template-columns: 50% 50%;
	grid-template-rows: auto auto 4em;
	grid-template-areas: 	"... header"
							"... header"
							"... demos";
}

.no-js .frame {
	position: relative;
	display: block;
	height: auto;
}

.frame a {
	pointer-events: auto;
}

.frame__title {
	font-family: var(--content-font);
	margin: 0;
	font-size: 2em;
	justify-self: start;
}

@media screen and (max-width: 40em) {
	.content {
		padding: 0 10vw;
		grid-template-columns: 80vw;
    	grid-template-rows: auto;
		height: auto;
		margin-bottom: 8em;
		--pieces-height: 50vh;
	}
	.slideshow {
		grid-area: 2 / 1 / 4 / 2;
	}
	.content__header {
		grid-column: 1 / 2;
	}
	.content__title {
		font-size: 3em;
		padding: 0.5em 0;
	}
	.menu {
		grid-area: 2 / 1;
	}
	.menu__item {
		font-size: 1.5em;
	}
}
    

/* Demo links */
.demos {
	grid-area: demos;
	align-self: end;
	justify-self: end;
	margin: 0 0 0 auto;
}

.demo {
	display: inline-block;
	margin: 0 0 0 1em;
	padding: 0 0 0.25em;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
}

.demo--current {
	border-color: currentColor;
}

.pieces {
	display: flex;
	flex-wrap: wrap;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: 0 0;
}

@media screen and (max-width: 40em) {
	
	.frame {
		display: block;
		height: auto;
		position: relative;
		text-align: center;
		z-index: 10000;
	}
	
	.demos {
		padding: 1em 0 0;
	}
	.demo {
		margin: 0 0.5em 0.5em;
	}
}