/*
Theme Name: FRFR
Theme URI: https://atelierfrfr.com
Author: Maxime Bichon
Author URI: https://maximebichon.net
Description: FRFR
*/

/* @import url('main.css'); */

/* RESET */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

:focus:not([data-focusvisible-polyfill]){outline: none;}

/* FONTS */

@font-face {
	font-family: 'Grotesk';
	src: url('f/NeueHaasDisplay-Roman.woff2') format('woff2'),
		url('f/NeueHaasDisplay-Roman.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@font-face {
	font-family: 'Grotesk';
	src: url('f/NeueHaasDisplay-RomanItalic.woff2') format('woff2'),
		url('f/NeueHaasDisplay-RomanItalic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
	font-display: block;
}

/*/////////*/
/* GENERAL */
/*/////////*/

html{
	overflow-x: hidden;
}

body{
	font-family: 'Grotesk';
	font-size: 1.56vw;
	line-height: 1.25em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-backface-visibility: hidden;
}

a{
	text-decoration: none;
	color: black;
}

p{
	margin-bottom: 1em;
}

p:last-of-type{
	margin-bottom: 0;
}

img{
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.left{
	float: left;
}

.right{
	float: right;
}

.clear{
	clear: both;
}

.alignright{
	text-align: right;
}

.center{
	text-align: center;
}

.upper{
	text-transform: uppercase;
}

.lower{
	text-transform: lowercase
}

.capi{
	text-transform: capitalize;
}

.borderbox{
	box-sizing: border-box;
}

.inline{
	display: inline;
}

.inline-block{
	display: inline-block;
}

.relative{
	position: relative;
}

.absolute{
	position: absolute;
}

.fixed{
	position: fixed;
}

.flex{
	display: flex;
}

.flex-wrap{
	flex-wrap: wrap;
}

.flex-column{
	flex-direction: column;
}

.space-between{
	justify-content: space-between;
}

.flex-center{
	align-items: center;
	justify-content: center;
}

.cover{
	object-fit: cover;
}

i,
em,
.italic{
	font-style: italic;
}

.bold,
strong{
	font-weight: bold;
}

.hyphens{
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

.overflow{
	overflow: auto;
}

.width15{
	width: 15%;
}

.width20{
	width: 20%;
}

.width25{
	width: 25%;
}

.width33{
	width: 33.33%;
}

.width35{
	width: 35%;
}

.width50{
	width: 50%;
}

.width66{
	width: 66.66%;
}

.width75{
	width: 75%;
}

.width100{
	width: 100%;
}

.height100{
	height: 100%;
}

.pointer{
	cursor: pointer;
}

.marg1em{
	margin-bottom: 1em;
}

.responsive-video{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	width: 100%;
}

.responsive-video iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*////////*/
/* LAYOUT */
/*////////*/

.size20{
	font-size: 0.78vw;
	line-height: 1.25em;
}

.size40{
	font-size: 1.56vw;
	line-height: 1.25em;
}

.gris,
.gris a,
.gris_hover a:hover{
	color: #B2B2B2;
}

.gris a:hover{
	color: black;
}

.black{
	color: black;
}

/* MENU */

#menu{
	position: fixed;
	background: white;
	top: 0;
	left: 0;
	right: 0;
	height: 2.69vw;
	border-bottom: 1px solid black;
	z-index: 100;
}

.subnav{
	height: 2.69vw;
	line-height: 2.69vw;
	padding-left: 1.01vw;
	padding-right: 1.01vw;
	box-sizing: border-box;
}

#nav_left .subnav{
	border-right: 1px solid black;
}

#nav_right .subnav{
	border-left: 1px solid black;
}

.index_nav_hidden,
.collabs_menu{
	display: none;
}

body.collabs_home .collabs_menu{
	display: block;
}

body.collabs_home .projets_menu{
	display: none;
}


body.projets_home .index_nav_hidden,
body.collabs_home .index_nav_hidden{
	display: block;
}

body.single-collaborations .projets_menu{
	display: none;
}

body.single-collaborations .collabs_menu{
	display: block;
}

#scroll_container{
	/* scroll-snap-type: y mandatory; */
	overflow-x: hidden;
	overflow-y: scroll;
	height: 100vh;
	/* scroll-padding-top: 2.69vw; */
}

.scroll_child{
	/* scroll-snap-align: start; */
	min-height: calc(100vh - 2.69vw)!important;
}

.item.width50{
	width: calc(50% - 1px);
	height: calc(100vh - 2.69vw)!important;
	border-bottom: 1px solid black;
	box-sizing: border-box;
}

#index_menu{
	position: fixed;
	top: calc(2.69vw + 1px);
	bottom: 0;
	right: -50%;
	border-left: 1px solid black;
	width: calc(50% + 1px);
	z-index: 200;
	transition: right 1000ms ease;
}

body.home #index_menu{
	border-top: 1px solid black;
}

body.open_index #index_menu{
	right: 0;
}

body.open_index a#index_trigger{
	color: black;
}

.typos_cat .one_typo:after{
	content:',';
}

.typos_cat .one_typo:last-of-type:after{
	content:'';
}

/* INFO */

.wrapper.info{
	position: fixed;
	top: 2.69vw;
	left: 0;
	right: 0;
	bottom: 0;
}

#info_txt{
	border-right: 1px solid black;
	box-sizing: border-box;
	padding: 1vw;
	overflow-x: hidden;
	overflow-y: scroll;
	background: white;
	box-sizing: border-box;
}

/* SINGLE */

#diaporama,
#diaporama .slick-list{
	height: calc(100vh - 2.69vw);
	margin-top: 2.69vw;
}

.one_slide{
	display: flex!important;
	flex-wrap: wrap;
	height: calc(100vh - 2.69vw);
}

.one_img_slide{
	border-right: 1px solid black;
	box-sizing: border-box;
}

.info_slide{
	padding: 1vw;
	overflow-x: hidden;
	overflow-y: scroll;
	z-index: 1000;
	background: white;
	box-sizing: border-box;
}

#info_trigger{
	margin-left: 0.25vw;
}

#minus:hover,
#plus:hover{
	color: black;
}

#info_trigger #minus,
#info_trigger.open #plus{
	display: none;
}

#info_trigger.open #minus{
	display: inline;
}

body.lastslide #info_trigger{
	color: white;
	cursor: default;
}

#info_slide_fixed{
	position: fixed;
	top: calc(2.69vw + 1px);
	bottom: 0;
	right: 0;
	border-left: 1px solid black;
	width: calc(50% + 1px);
	display: none;
}

#info_slide_fixed.open{
	display: block;
}

.info_donnees{
	display: flex;
	flex-direction: column;
}

.info_donnees .info_donnee_1{
	order: 1;
}

.info_donnees .typos_cat_info{
	order: 2;
}

.slick-arrow svg{
	top: 50%;
	width: 1.60vw;
	position: absolute;
	display: none;
}

.next_arrow.slick-arrow svg{
	right: 3.28vw;
}

.prev_arrow.slick-arrow svg{
	left: 3.28vw;
}

.slick-arrow.slick-disabled{
	display: none!important;
}

.prev_arrow{
	top: 0;
	left: 0;
	bottom: 0;
	position: fixed;
	box-sizing: border-box;
	width: 50%;
	cursor: pointer;
	z-index: 10;
}

.next_arrow{
	top: 0;
	right: 0;
	bottom: 0;
	position: fixed;
	box-sizing: border-box;
	width: 50%;
	cursor: pointer;
	z-index: 10;
}

.next_arrow:hover svg,
.prev_arrow:hover svg{
	display: block;
}

#diaporama:hover .slick-arrow{
	opacity: 1;
}

.plans_wrap{
	display: flex!important;
	align-items: center;
	justify-content: center;
}

.plans{
	object-fit: contain;
	display: block;
	height: auto;
	width: auto;
}

/* HOME */

#splash{
	height: calc(100vh - 2.69vw - 2px)!important;
	width: 100vw;
	background: lightgrey;
	position: relative;
	overflow: hidden;
}

#splash_link{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

body.home #menu{
	position: sticky;
	top: 0;
	border-top: 1px solid black;
}

#collabs_home_title{
	background: white;
	width: 100%;
	border-bottom: 1px solid black;
	height: 2.69vw;
	line-height: 2.69vw;
	padding-left: 1.01vw;
	padding-right: 1.01vw;
	box-sizing: border-box;
}

#texte_projets,
#texte_collaborations{
	position: fixed;
	background: white;
	bottom: -50%;
	left: 0;
	right: 0;
	z-index: 10;
	padding: 1.01vw;
	box-sizing: border-box;
	border-top: 1px solid black;
	transition: bottom 750ms ease;
}

#texte_projets.open,
#texte_collaborations.open{
	bottom: 0;
}

#texte_projets{
	border-bottom: 1px solid black;
}

.item{
	border-right: 1px solid black;
	border-bottom: 1px solid black;
	overflow: hidden;
}

.item_info{
	position: absolute;
	left: 1.01vw;
	bottom: 0.78vw;
	display: none;
}

.item:hover .item_info{
	display: block;
}

.item:nth-child(even){
	border-right: none;
}

.js-focal-point-image.portrait{
	position: absolute !important;
	min-width: 100% !important;
	min-height: 100% !important;
	height: auto !important;
	width: 100% !important;
}

.js-focal-point-image.landscape{
	position: absolute !important;
	min-width: 100% !important;
	min-height: 100% !important;
	height: auto !important;
	width: auto !important;
}

.js-focal-point-image.landscape_diapo{
	height: auto!important;
	min-width: 100%!important;
}

/* VIDEO BG */

.videobg{
	position: relative;
	width: 100%; /* Set video container element width here */
	height: 100%; /* Set video container element height here */
	overflow: hidden;
	background: #111; /* bg color, if video is not high enough */
}

/* horizontally center the video */
.videobg-width{
	position: absolute;
	width: 100%; /* Change width value to cover more area*/
	height: 100%;
	left: -9999px;
	right: -9999px;
	margin: auto;
}

/* set video aspect ratio and vertically center */
.videobg-aspect{
	position: absolute;
	width: 100%;
	height: 0;
	top: -9999px;
	bottom: -9999px;
	margin: auto;
	padding-bottom: 56.25%; /* 16:9 ratio */
	overflow: hidden;
}

.videobg-make-height{
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
}

.videobg-hide-controls{
	box-sizing: content-box;
	position: relative;
	height: 100%;
	width: 100%;
	/* Vimeo timeline and play button are ~55px high */
	padding: 55px 97.7777px; /* 16:9 ratio */
	top: -55px; 
	left: -97.7777px; /* 16:9 ratio */
}

.videobg iframe{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: 0 none;
}

/*////////////*/
/* RESPONSIVE */
/*////////////*/

.mobile,
.mobile_flex,
.mobile_inline{
	display: none;
}

@media screen and (max-width: 1000px) {
	
	.mobile{
		display: block;
	}
	
	.mobile_flex{
		display: flex;
	}
	
	.mobile_inline{
		display: inline;
	}
	
	.desktop{
		display: none;
	}
	
	/* GENERAL */
	
	.size20{
		font-size: 12px;
		line-height: 1.25em;
	}
	
	body,
	.size40{
		font-size: 20px;
		line-height: 1.25em;
	}
	
	.wrapper.info{
		top: 37px;
		overflow: scroll;
	}
	
	.info_slide{
		padding: 12px;
		overflow: auto;
		z-index: 1;
	}
	
	#info_txt{
		width: 100%;
		height: auto;
		border-bottom: 1px solid black;
		overflow: auto;
		padding: 12px;
		border-right: none;
	}
	
	#info_img{
		width: 100%;
		min-height: 50vh;
		height: auto;
		border-right: none;
	}
	
	/* HOME */
	
	#splash{
		height: calc(100vh - 39px)!important;
		min-height: calc(100vh - 39px)!important;
		margin-top: 39px;
	}
	
	.scroll_child{
		min-height: calc(100vh - 39px) !important;
	}
	
	.item.width50{
		width: 100%;
		height: 100vw!important;
		border-left: none;
	}
	
	.item_info{
		display: block;
		left: 12px;
		bottom: 12px;
	}
	
	#collabs_home_title{
		padding-left: 12px;
		padding-right: 12px;
		height: 37px;
		line-height: 37px;
	}
	
	#texte_projets, #texte_collaborations{
		padding: 20px 12px;
	}
	
	/* SINGLE */
	
	#diaporama{
		margin-top: 39px;
	}
	
	.slick-list{
		height: auto;
		margin-top: 0;
		display: block;
	}
	
	.slick-slider .slick-track, .slick-slider .slick-list{
		transform: none!important;
	}
	
	.prev_arrow,
	.next_arrow{
		display: none!important;
	}
	
	#diaporama .slick-list{
		height: auto;
		margin-top: 0;
	}
	
	#diaporama .slick-track{
		width: 100%!important;
		transform: none;
	}
	
	#diaporama .width50{
		width: 100%;
	}
	
	.one_slide{
		display: block!important;
		height: auto;
		width: 100%;
	}
	
	.one_img_slide{
		height: auto;
	}
	
	#diaporama .js-focal-point-image{
		position: relative!important;
		top: auto!important;
		left: auto!important;
		width: 100%!important;
		height: auto!important;
	}
	
	.one_img_slide{
		border-bottom: none;
	}
	
	#diaporama img{
		border-bottom: 1px solid black;
	}
	
	#index_menu{
		left: 0;
		top: 0;
		width: auto;
		transition: none;
		display: none;
		z-index: 10000;
		border-left: none;
	}
	
	#index_list .width15{
		width: 20%;
	}
	
	#index_list .width50{
		width: 38%;
	}
	
	#index_list .width35{
		width: 42%;
	}
	
	/* MENU */
	
	#menu{
		height: 37px;
		border-top: 1px solid black;
	}
	
	.index_nav_hidden{
		display: block;
	}
	
	#menu_flex.space-between{
		justify-content: flex-start;
	}
	
	#title_mob{
		border-right: 1px solid black;
		max-width: calc(100vw - 57px - 54px);
	}
	
	#info_trigger{
		margin-left: 7px;
	}
	
	#nav_left{
		height: 37px;
		border-bottom: 1px solid black;
	}
	
	body.open_index #index_menu{
		display: block;
	}
	
	#top_index{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		border-top: 1px solid black;
		border-bottom: 1px solid black;
		height: 37px;
		display: flex;
	}
	
	#top_index .subnav{
		border-right: 1px solid black;
	}
	
	#index_menu{
		padding: 50px 12px 12px 12px;
	}
	
	.col_index{
		box-sizing: border-box;
		padding-right: 12px;
	}
	
	.subnav{
		line-height: 37px;
		padding-left: 12px;
		padding-right: 12px;
		height: 100%;
	}
	
	#nav_right{
		position: fixed;
		background: white;
		left: 0;
		right: 0;
		border-bottom: 1px solid black;
		top: 39px;
		display: block;
		padding-top: 12px;
		padding-bottom: 12px;
		border-left: none;
		display: none;
	}
	
	#nav_right.open{
		display: block;
	}
	
	#nav_right .subnav{
		line-height: 1.25em;
		border-left: none;
	}
	
	body.home #menu{
		position: fixed;
	}
	
	#hamburger,
	#hamburger_index{
		display: block;
		height: 14px;
		width: 30px;
		border-top: 1px solid #B2B2B2;
		border-bottom: 1px solid #B2B2B2;
		position: absolute;
		cursor: pointer;
		top: 10px;
		right: 12px;
	}
	
	#hamburger.open{
		border-color: black;
	}
	
	.cross{
		width: 30px;
		height: 30px;
		overflow: hidden;
		cursor: pointer;
		position: relative;
		z-index: 100;
	}
	
	.cross::before, 
	.cross::after {
		content: '';
		position: absolute;
		height: 1px;
		width: 100%;
		top: 50%;
		right: 0;
		margin-top: -1px;
		background: black;
	}
	
	.cross::before {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	.cross::after {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	
}