/* Developped by Fred Pirat ©2020 All rights reserved */
/* common styles ***************/

:root {
	scroll-snap-type: y mandatory;
	scroll-behavior: smooth;
}

.no-smooth-scroll {
	scroll-behavior: auto !important;
}


body {
	margin: 0;
	font-family: 'Life Savers', sans-serif;
	font-weight: 700;
	background-color: #222;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;

	scroll-snap-type: y mandatory;

	/*	
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	<<div></div>user-select: none;
*/
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

a:link {
	color: white;
}

a:visited {
	color: #ddd;
}

a:hover {
	color: #eeeeff;
}

a:active {
	color: white;
}


/* yt.php **********************/


iframe {
	position: fixed;
	right: 0;
	bottom: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
	background-color: #000;
	background-size: cover;
}



/* projects.php *****************/

.fullframe-img-seq {
	position: relative;
	display: block;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	z-index: -1;
	scroll-snap-align: start;

	-webkit-box-shadow: inset 0px 5px 10px 1px #000000;
	box-shadow: inset 0px 5px 10px 1px #000000;
}

.projectname-seq {
	position: relative;
	display: inline;
	width: auto;
	height: auto;
	bottom: 100px;
	left: 20px;
	padding: 10px;
	padding-left: 24px;

	border-radius: 6px;

	color: #fff;
	background-color: rgba(32, 32, 32, 0.3);
	text-align: left;
	font-size: medium;
	z-index: 1;
}

.projectname-tab-seq {
	padding-left: 20px;
}



.footer-seq {
	position: fixed;
	display: inline;
	width: 100%;
	height: auto;
	bottom: 0px;
	padding-top: 0px;
	padding-bottom: 10px;

	background-color: rgba(32, 32, 32, 0.4);
	text-align: center;
	color: #fff;
	font-size: medium;
	z-index: 1;
	transition: background-color 0.3s ease;
}

.footer-seq:hover {
	background-color: rgba(32, 32, 32, 0.9);
}

.project-comment {
	position: fixed;
	width: 30%;
	height: auto;
	bottom: 60px;
	padding: 20px;
	padding-left: 30px;
	left: 20px;
	border-radius: 20px;
	border: 1px;
	border-color: #000;
	background-color: rgba(255, 255, 255, 0.5);
	text-align: left;
	color: #000;
	font-size: medium;

	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease, background-color 0.3s ease;

	z-index: 4;
}

.project-comment.show {
	opacity: 1;
	visibility: visible;
}

.project-comment.fade-out {
	opacity: 0;
	visibility: hidden;
}

.project-comment:hover {
	background-color: rgba(255, 255, 255, 0.9);
}

.project-comment-seq {
	position: fixed;
	width: 30%;
	height: auto;
	bottom: 60px;
	padding: 20px;
	padding-left: 30px;
	right: 20px;
	border-radius: 20px;
	border: 1px;
	border-color: #000;
	background-color: rgba(255, 255, 255, 0.5);
	text-align: left;
	color: #000;
	font-size: medium;

	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease, background-color 0.3s ease;

	z-index: 4;
}

.project-comment-seq:hover {
	background-color: rgba(255, 255, 255, 0.9);
}

.project-comment-seq.show {
	opacity: 1;
	visibility: visible;
}

.project-comment-seq.fade-out {
	opacity: 0;
	visibility: hidden;
}

/* Animation de l'opacité */
@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Show on tablets and larger screens */
@media (min-width: 1280px) {
	.project-comment {
		display: block;
	}

	.project-comment-seq {
		display: block;
	}
}



.txt-seq {
	position: fixed;
	display: inline-block;
	width: auto;
	height: auto;
	top: 80px;
	right: 0px;
	padding: 20px;

	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;

	text-align: right;
	color: #fff;
	font-size: 30px;
	background-color: rgba(32, 32, 32, 0.3);
	transition: background-color 0.3s ease;
}

.txt-seq:hover {
	background-color: rgba(32, 32, 32, 0.9);
}


.load-next-seq {
	position: inherit;
	display: inline-block;
	width: 100%;
	height: auto;

	top: 20px;

	padding-bottom: 60px;
	padding-top: 20px;

	text-align: center;
	color: #fff;
	font-size: 100px;

	scroll-snap-align: start;
	scroll-snap-align: end;
}

.load-prev-seq {
	position: absolute;
	display: inline;
	width: 100%;
	height: auto;
	top: 10px;
	text-align: center;
}


.next-seq {
	position: fixed;
	display: inline-block;
	width: 24px;
	height: 24px;
	bottom: -5px;
	right: 10px;
	padding: 10px;

	z-index: 4;
}




/* Tablet landscape (iPad) : prevent font size inflation *****/

@media screen and (min-width: 768px) and (max-width: 1366px) {
	.txt {
		font-size: 20px;
		padding: 12px 16px;
		top: 60px;
	}

	.txt-seq {
		font-size: 20px;
		padding: 12px 16px;
		top: 60px;
	}
}

/* index.php *******************/

.fullframe-img {
	position: absolute;
	display: block;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	z-index: -1;
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.fullframe-img.active {
	opacity: 1;
}

.txt {
	position: absolute;
	display: inline-block;
	width: auto;
	height: auto;
	top: 80px;

	padding: 20px;

	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;

	text-align: left;
	color: #fff;
	font-size: 30px;
	background-color: rgba(32, 32, 32, 0.3);
	transition: background-color 0.3s ease;
}

.txt:hover {
	background-color: rgba(32, 32, 32, 0.9);
}




.portrait-mode-wrapper {
	display: none;
}

.portrait-mode-block {
	display: none;
}

.portrait-mode-icon {
	display: none;
}

.footer {
	position: absolute;
	display: inline-block;
	width: 100%;
	height: auto;
	bottom: 0px;
	padding-top: 0px;
	padding-bottom: 10px;

	background-color: rgba(32, 32, 32, 0.4);
	text-align: center;
	color: #fff;
	font-size: medium;
	z-index: 1;
	transition: background-color 0.3s ease;
}

.footer:hover {
	background-color: rgba(32, 32, 32, 0.9);
}

.next {
	position: absolute;
	display: inline-block;
	width: 40px;
	height: auto;
	top: 46%;
	right: 0px;
	padding: 20px;
	background-color: rgba(0, 0, 0, 0.3);
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;

	z-index: 4;
}




.projectname {
	position: absolute;
	display: inline-block;
	width: auto;
	height: auto;
	top: 320px;
	left: 0px;
	padding: 10px;
	padding-left: 24px;

	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;

	color: #fff;
	background-color: rgba(32, 32, 32, 0.3);
	text-align: left;
	font-size: medium;
	z-index: 1;
}

.projectname-tab {
	padding-left: 60px;
}

.foot-icon {
	width: 26px;
	height: 26px;
	top: 8px;
	position: relative;
	display: inline;
	z-index: 3;

	/* filter: url(filters.svg#grayscale); Firefox 3.5+ */
	filter: gray;
	/* IE5+ */
	-webkit-filter: grayscale(1);
	/* Webkit Nightlies & Chrome Canary */
	-webkit-transition: all .4s ease-in-out;
}

.foot-icon:hover {
	filter: none;
	-webkit-filter: grayscale(0);
	-webkit-transform: scale(1.01);
}


.icon-shuffle-seq {
	display: inline-block;
	width: 16px;
	;
	height: 16px;
	bottom: -9px;
	right: 5px;
	z-index: 3
}


.icon-shuffle {
	display: inline-block;
	width: auto;
	height: 32px;
	z-index: 3
}




.YTproject {
	position: absolute;
	display: inline-block;
	width: auto;
	height: auto;
	top: 315px;
	left: 0px;
	padding: 10px;

	z-index: 2;
}

.yt-logo-no-project {
	width: 40px;
	height: 25px;
	left: 5px;
}

.yt-logo-w-project {
	width: 40px;
	height: 30px;
}

#video-overlay {
	display: none !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background-color: rgba(0, 0, 0, 0.8) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	z-index: 2147483647 !important;
	justify-content: center;
	align-items: center;
}

#video-overlay.active {
	display: flex !important;
}

.video-wrapper {
	width: 75%;
	max-width: 1200px;
	position: relative;
	background: #000;
	box-shadow: 0 0 40px 10px rgba(173, 216, 230, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.3);
	/* Force le rendu matériel pour éviter l'écran noir */
	transform: translateZ(0);
	will-change: transform;
}

.video-aspect-ratio {
	position: relative;
	padding-bottom: 56.25%;
	/* Ratio 16/9 */
	height: 0;
	overflow: hidden;
	background: #000;
}

.video-aspect-ratio iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	z-index: 1;
}

.video-close-btn {
	position: absolute;
	top: -55px;
	right: 0;
	color: white;
	font-size: 50px;
	cursor: pointer;
	font-family: Arial, sans-serif;
	text-shadow: 0 0 10px rgba(0, 0, 0, 1);
}

/* contact.php **********************/


.contact-wrapper {
	display: flex;
	justify-content: center;
}

.contact-bloc {
	position: absolute;
	display: inline-block;
	width: 300px;
	height: auto;
	top: 25%;
	padding: 20px;
	border-radius: 15px;
	border: 0px;

	text-align: center;
	color: #fff;
	font-size: large;
}

.contact-info {
	background-color: rgba(32, 32, 32, 0.5);
	border-radius: 10px;
	border: 0px;
	padding: 20px;
}


/** Portrait mode : invitation to go landscape **/
/************************************************/

@media screen and (orientation:portrait) {

	/* projects.php ***************/

	.fullframe-img-seq {
		position: absolute;
		display: block;
		width: 100vw;
		height: 100vh;
		object-fit: cover;
		z-index: -1;
	}

	.txt-seq {
		display: none;
	}






	/* index.php ******************/

	.fullframe-img {
		position: absolute;
		display: block;
		width: 100vw;
		height: 100vh;
		object-fit: cover;
		z-index: -1;
	}

	.txt {
		display: none;
	}

	.portrait-mode-wrapper {
		display: inline;
		justify-content: center;
	}

	.portrait-mode-block {
		position: absolute;
		display: inline-block;
		width: auto;
		max-width: 80vw;
		box-sizing: border-box;
		height: auto;
		top: 25%;
		padding: 20px;

		text-align: left;
		color: #fff;
		font-size: 26px;
		background-color: rgba(32, 32, 32, 0.5);

		border-top-right-radius: 20px;
		border-bottom-right-radius: 20px;

		z-index: 2;
	}

	.portrait-mode-icon {
		display: inline;
		width: 60vw;
		height: auto;
		z-index: 4;
	}

	.footer {
		display: none;
	}

	.project-comment,
	.project-comment-seq {
		display: none;
	}

	.next {
		display: none;
	}



	.projectname {
		display: none;
	}

	.projectname-tab {
		display: none;
	}

	.foot-icon {
		display: none;
	}

	.icon-shuffle {
		display: none;
	}

	.YTproject {
		display: none;
	}

	.yt-logo-no-project {
		display: none;
	}

	.yt-logo-w-project {
		display: none;
	}


}