:root {
	--cyan : #89503b;
	--darkblue : #0f172a;
	--bleugris : #e5e0db;
	--hover : #89503b30;
	--pluslink : #635f58;
	--footer : #635f58;

}

/*
	--cyan : #187c6e;
	--darkblue : #0f172a;
	--bleugris : #e1e9e8;
	--hover : #187c6e30;
*/


body{
	background:var(--bleugris);
	color: var(--darkblue);
	margin: 0;
	font-family : "Ubuntu", sans-serif;
}

a { text-decoration: none; }
a, a:visited { color: var(--darkblue); }

h1, h2, h3, h4 {
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
}

h1{
	font-size: 36px;
    margin: 20px 0 15px;
	font-weight: 900;
	color: var(--cyan);
}

h2 {
	font-size: 28px;
	margin: 15px 0;
	line-height: 30px;
}

h3 {
	font-size: 20px;
	margin: 15px 0 10px;
}

h4{
	font-size: 18px;
    padding: 35px 0 15px;
	font-weight: 400;
	margin: 0;
	color: var(--cyan);
}


hr {
	height: 2px;
    background: var(--darkblue);
    width: 100%;
}

.hidden { display: none; }

.container {
	width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding-bottom: 35px;
}


p { margin: 9px 0; }

#portfolio { background-color: var(--bleugris); }
#apropos { background-color: var(--bleugris); }
#contact { background-color: var(--bleugris); }


header {
    background-color: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	position: sticky;
	top: 0;
	z-index: 10;
}

.header_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1024px;
	margin: 0 auto;
}

.header {
	font-family: "Montserrat", sans-serif;
	font-weight: 800;	
	justify-self: flex-start;
	width: 30%;	
	color: var(--cyan);
	box-sizing: border-box;
	font-size: 20px;
}

.contact {
	display : flex;
}

.contact a {
	display: inline-block;
	margin-left: 10px;
}

.burger {
    background-color: #fff;
    padding: 25px;
	display: none;
	justify-content: center;
	box-sizing: border-box;

}


nav {
    background-color: #fff;
    padding: 5px;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
}

nav a {
	font-weight: 700;
	font-size: 16px;
	padding: 20px 50px;
	color: var(--darkblue);
	text-decoration: none;
	box-sizing: border-box;
	/*box-shadow: 0 0 5px rgb(0 0 0 / 30%);
	background-color: #cfc6bc;*/
}

nav a.bt_border {
	border-left: 1px solid;
	border-right: 1px solid;
	text-wrap: nowrap;
}

nav a:hover {
	background-color: #cfc6bc;
}

footer {
	background-color: var(--footer);
	margin-top: 20px;
	padding: 30px 0;
	box-shadow: 0px -20px 20px 0px rgb(0 0 0 / 20%);
}

.footer_container{
	display: flex;
	justify-content: space-between;
	align-items: top;
	max-width: 1024px;
	margin: 0 auto;
	color: #fff;
	line-height: 30px;
}

.footer_container a {
	color: #fff;
}

.footer_container a:hover {
	color: #bfbebe;
}

.footer_title{
	font-family: "Montserrat", sans-serif;
	font-weight: 800;	
}
/*
.footer_link{}

.footer_contact{}
*/



.local_nav {
    /*display: flex;
    justify-content: space-between;*/
	font-size: 18px;
    padding: 0 0 15px;
	font-weight: 700;
	margin: 0;
	color: var(--darkblue);
}

.local_nav .item {
    width: 49%;
    box-sizing: border-box;
    padding: 5px;
    text-align: center;
    border-radius: 5px;
    background-color: #cfc6bc;
	font-weight: 700;
	color:#fff;
}

.local_nav .item.active {
    background-color: #ae9982;
    color:#fff;
}

.local_nav .item:hover, .local_nav .item:hover.active {
    background-color: #fff;
    color: #ae9982;
}



.intro{
  	display: flex;
  	gap: 50px;
}

.photo_presentation {
	width: 50%;
}

.photo_presentation img {
	width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
}

.texte_intro{
	width: 50%;
}

.extra {
	border-top: 1px solid var(--cyan);
    padding-top: 20px;
}
.extra .title {
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.list ul {
    list-style-type: none;
    padding: 0;	
}

.list ul li {
    margin: 0 0 14px;
}

.list ul li span {
    color: #6e6e6e;
}



.full-pano {
	width: 100%;
	height: 200px;
	margin-top: 10px;
}

.full-image {
	width: 100%;
	height: 100%;
	margin-top: 10px;
}

.full-pano img, .full-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}


.reduite img {
	height: 100%;
    object-fit: cover;
    padding: 40px;
}

.carree img {
	height: 100%;
	width: 100%;
    object-fit: cover;
}


/******* TOP 3 *********/

.top3_container {
	display: flex;
	margin: 0 25px;
	flex-wrap: wrap;
}

.top3 {
	background: #fff;
    padding: 15px 30px;
    border-radius: 6px;
    margin: 1%;
    box-shadow: 0 0 10px rgb(0 0 0 / 30%);
    width: 31%;
    box-sizing: border-box;

}

.top3 h4 {
	color: var(--darkblue);
    padding: 0;
    margin: 0 0 12px;
    font-weight: 400;
    height: 35px;
}

.top3 .affiche {
	display: flex;
	margin-bottom: 10px;	
}

.top3 img {
	width: 100%;
	height: 350px;
	object-fit: cover;
}

.top3 p {
	color:#6e6e6e;	
}

.top3 .citation {
	color:var(--darkblue);
	font-weight: 700;
}


/****** Override Slick *********/

.slick-prev:before, .slick-next:before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 35px;
	color: var(--darkblue);
}

.slick-prev:before {
	content: "\f359";
}

.slick-next:before {
	content: "\f35a";
}

.slick-prev, .slick-next {
	font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 35px;
    height: 35px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index: 9;
}

.slick-prev {
	left:-35px;	
}

.slick-next {
	right:-35px;	
}


.slick5 .slick-prev {
	left:-47px;	
}

.slick5 .slick-next {
	right:-47px;	
}


.affiche{
	height : 300px;
}

.top_titre {
height: 350px;
text-align: center;
}

.jeux, .top_jeux{
	width : 33%;
	text-align: center;
}

.jeux img, .top_jeux img {
	width: 100%;
	height: 100%;
	object-fit: constrain;
}











.bloc_projet_container {
	display: flex;	
	flex-wrap: wrap;
	margin: -1%;
    /*justify-content: space-between;*/
}

.bloc_projet {
	width: 32%;	
	margin: 1%;
	background-color: #fff;
	text-decoration: none;
	border-radius: 6px;
	overflow: hidden;
    box-shadow: 0 0 10px rgb(0 0 0 / 30%);
}

.bloc_projet_vignette {
	width: 100%;
	height: 180px;
	overflow: hidden;
}

.bloc_projet.full_size .bloc_projet_vignette{
	height: 400px;	
}

.bloc_projet.full_size {
	width: 100%;	
}

.bloc_projet.cinquante_size {
	width: 48%;	
}

.bloc_projet.quart_size {
	width: 23%;	
}
.bloc_projet_vignette:hover img {
width: 105%;
height: 105%;
}

.bloc_projet_vignette img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 300ms;
}

.bloc_projet_infos {
	padding: 10px;
}

.categorie_projet {
	font-size: 14px;
    font-weight: 700;
    margin: 0;
    color: var(--cyan);
}

.bloc_projet_infos h3 {
	font-size: 18px;
    font-weight: 900;
    margin: 0;	
}


.projet {
	width: 80%;
	margin: 50px auto;
	background-color: #fff;
	padding: 0 20px 40px;
    border-radius: 6px;
}

.titre_projet {
	color: currentcolor;
}

.event {
	width: 80%;
	margin: 50px auto;
	background-color: #fff;
	padding: 0;
    border-radius: 6px;
}

.sousprojet {
	width: 100%;
	margin: auto;
	background-color: #fff;
	padding: 0 20px 40px;
    border-radius: 6px;
}

.head {
	border-radius: 6px 6px 0px 0px;
}

.projet h3 {
	font-weight: 700;
	margin: 20px 0 0;
}

.signaletique {
	background-color: var(--bleugris);
	padding: 10px;
	border-radius: 6px;
	width: 50%;
}


.coordonnees {
	margin: 0 auto;
    background-color: #937e79;
    padding: 20px;
}

.coordonnees p {
	width: 300px;
    margin: 20px auto;
}

/******** Introduction *********/

.introduction {
	display:flex;
	gap : 5px;
	justify-content: center;
	margin-top: 5px;
}

.competence {
	margin-top: 5px;
}

.introduction .texte {
	background-color: white;
	padding: 10px;
	border-radius: 6px;
}

.introduction .slide {
		display: flex;
		align-items: center;
		justify-content: center;
}

.video {
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.mobile { width: 30%; }

.introduction img{
	border-radius: 6px;
	max-width: 100%;
	object-fit: cover;
	margin : 0;
	padding: 0;
}

/******** Photos *********/

.logo {
	max-width: 60%;
	margin: 20px 0px;
	place-self: center;

}

.logo30 {
	max-width: 60%;
	margin: 20px 0px;
	place-self: center;
}



.gallery {
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: stretch;
}

.gallery .slide {
	flex: 1;
	max-width: 100%;
}

.gallery .slide.moitie {
	flex: 1;
	max-width: 50%;
}

.gallery.pixelart .slide {
	max-width: 100%;
}

.gallery .slide.big {
	flex: 1;
	max-width: 60%;
}

.gallery .slide img {
	width: 100%;
}

.gallery .outils {
	max-width :20%
}



/******** Page A Propos ***********/

.apropos {
	display:flex;
	justify-content: center;
	margin: 30px 0;
	background-color: #fff;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 0 10px rgb(0 0 0 / 30%);
}

.apropos .texte {
	padding: 16px;
	box-sizing: border-box;
	width: 50%;
	line-height: 22px;
}

.apropos .image {
	width: 50%;
	height: 250px;
	
}

.apropos .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/******** Page Puzzle ***********/

.puzzle {
	display:flex;
	justify-content: center;
	margin: 30px 0;
	background-color: #fff;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 0 10px rgb(0 0 0 / 30%);
}

.puzzle .texte {
	padding: 16px;
	box-sizing: border-box;
	width: 50%;
	line-height: 22px;
}

.puzzle .image {
	width: 50%;
    height: 300px;
	
}

.puzzle .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 300ms;
}

.puzzle .image:hover img {
width: 105%;
height: 105%;
object-fit: cover;
}

/**************************************************************************************************************/
/******** Page Projet ***********/
/**************************************************************************************************************/

.tache {
	display:flex;
	justify-content: center;
	margin: 5px 0;
	background-color: var(--bleugris);
	border-radius: 6px;
	overflow: hidden;
	/*box-shadow: 0 0 10px rgb(0 0 0 / 30%);*/
}

.tache .texte {
	padding: 16px;
	box-sizing: border-box;
	width: 50%;
	line-height: 22px;
}

.tache .image {
	width: 50%;
	height: 300px;
	
}

.tache .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;

}

.resume {
	display:flex;
	justify-content: center;
	margin: 5px 0;
	background-color: white;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 0 10px rgb(0 0 0 / 30%);
}

.resume .texte {
	padding: 16px;
	box-sizing: border-box;
	width: 50%;
	line-height: 22px;
}

.resume .image {
	width: 50%;
	height: 300px;
	
}

.resume .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;

}

.puzzleresume {
	display:flex;
	justify-content: center;
	margin: 5px 0;
	/*background-color: white;*/
	border-radius: 6px;
	gap: 2%;
}
.puzzleresume .infos {
	width: 50%;
}

.puzzleresume .image {
	width: 50%;
	height: 300px;
	object-fit: cover;
	
}

.puzzleresume .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;

}

.puzzleresume .pitch {
	margin: 0;
}

.pitch {
	display:flex;
	justify-content: center;
	margin: 10px 0 5px 0;
	background-color: white;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 0 10px rgb(0 0 0 / 30%);
}

.pitch .texte {
	padding: 3px 16px 16px 16px;
	box-sizing: border-box;
}

.telechargement {
	display:flex;
	margin: 10px 0 0 0;
	/*background-color: white;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 0 10px rgb(0 0 0 / 30%);*/
}

.telechargement .bouton {
	padding: 3px 16px 16px 16px;
	margin: 0 15px 0 0;
	box-sizing: border-box;
	background-color: white;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 0 10px rgb(0 0 0 / 30%);
	display: block;
	border: none;
}

.telechargement .bouton:hover {
	
	background-color: var(--hover);
	
}

/******** Page CV ***********/

.cv {
	display: flex;
	flex-wrap: wrap;
	gap: 1%;
}

.cv_col {
	width: 30%;
}

.cv_col .cv_item {
	background: #b6afa8;
}

.cv_col_droite {
	width: 69%;
}
.cv_titre {
	display:flex;
	justify-content: space-between;
	margin:10px 0 5px;
}
.cv_titre_up {
	display:flex;
	justify-content: space-between;
	margin: 10px 0;
}
.cv_item {
	margin: 10px 0;
	background-color: #fff;
	border-radius: 6px;
	padding: 0;
	box-sizing: border-box;
	line-height: 22px;
	box-shadow: 0 0 10px rgb(0 0 0 / 30%);
	overflow: hidden;
}

.cv_item ul {
	padding-left: 15px;
}

.cv_item .no_link {
	padding: 16px;
}

.cv_item h3 {
    margin: 0;
	padding-bottom: 0;
}

.cv_item h2 {
    margin: 0;
}

.cv_item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cv_item blockquote {
	margin: 0 0 6px 17px;
    color: #534c4c;
    font-style: italic;
}

.cv_nopad {
	padding: 0;
	height: 490px;

}

.cv_item i{
	font-size: 13px;
}

.cv_logo img{
	width: 15%;
}



a.bouton {
	display: inline-block;
	margin: 10px 0;
	font-weight: 700;
	font-size: 16px;
	padding: 20px 50px;
	color: var(--darkblue);
	text-decoration: none;
	box-sizing: border-box;
	border: 1px solid #cfc6bc;
	box-shadow: 0 0 5px rgb(0 0 0 / 30%);
	background-color: white;
    border-radius: 6px;
}

a.bouton:hover {
	background-color: #cfc6bc;
}

.cv a{
	display: block;
	padding: 16px;
	position: relative;
}

.cv a:hover{
	background-color: var(--hover);
}

.cv a::after {
	content: "+";
	display: block;
    border: 2px solid var(--pluslink);
    color: var(--pluslink);
    padding: 0px;
    font-size: 30px;
    font-weight: 200;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    box-sizing: border-box;
    text-align: center;
    line-height: 26px;
    position: absolute;
    right: 16px;
    bottom: 22px;

}


/******** Override Slick **********/




.slick5 {
	width: 90%;
    margin: 0 auto;
}

.slick5 .slick-slide {
    max-width: 300px;
    margin: 3px;
}

.slick_art {
	width: 90%;
    margin: 0 auto;
}

.slick_art .slick-slide {
	width: 300px;
	height: 300px;
    margin: 3px;
}

.slick_art .slick-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/******** Override Fancybox **********/

.fancybox__caption {
	background-color: var(--cyan);
    padding: 10px;
    border-radius: 6px;
    margin-top: 10px;
}



.level_design{
	display:  flex;
	justify-self: center;
	align-items: flex-start;
	gap: 5px;
	width: 80%;
	margin: 40px auto 0;
	border-top: 2px solid var(--darkblue);
    padding-top: 20px;
}


.ld_item {
	flex: 1;
	flex-basis: 0;
	max-height: 300px;
    object-fit: contain
}


.fancybox__content>.carousel__button.is-close {
    position: fixed;
    top: 30px;
    right: 40px;
    color: var(--fancybox-color, #fff);
}



/******** RESPONSIVE **********/

/* Laptop */
@media (max-width: 1024px) {

	

	.container {
		margin: 0 2%;
    	width: 96%;
	}
	
}

/* tablet */
@media (max-width: 830px) {

	

	.intro {
		gap: 0;
 		flex-direction: column;
	}

	.bloc_projet {
    	width: 48%;
	}

	.fancybox__content>.carousel__button.is-close {
    	top: 6px;
    	background-color: var(--darkblue);
    }

	.bloc_projet.full_size .bloc_projet_vignette {
		height: auto;
	}

	.bloc_projet.cinquante_size {
    width: 98%;
	}

	.bloc_projet_vignette {
		height: auto;
	}

	.resume .image {
    width: 100%;
	}

	.resume .texte {
		width: 100%;
	}

	.resume {
		flex-wrap: wrap;
	}

	.tache {
		flex-wrap: wrap;
	}

	.tache .texte {
		width: 100%;
	}

	.tache .image {
		width: 100%;
	}

	.top3{
		width: 45%;
	}
	
}



/* Mobile */
@media (max-width: 640px) {

	

	.bloc_projet {
    	width: 98%;
    	margin-bottom: 20px;
	}

	.burger {
		display: flex;
		order: 1;
	}

	.header {
		order: 2;
		width: inherit;
	}


	nav {
		flex-direction: column;
		padding: 5px;
		gap: 0;
		position: absolute;
		top:80px;
		left:-200px;
		transition: all 300ms;
	}

	nav.show {
		left:0;
	}

	nav a {
		padding: 20px 50px;
	}

	.photo_presentation {
    	width: 60%;
    	margin: 0 auto;
	}

	.texte_intro {
		width: inherit;
	}

	.apropos {
		flex-wrap: wrap;
	}
	.apropos .texte, .apropos .image {
		width: 100%;
	}

	.apropos .texte {
		order: 2;
	}

	.projet {
		width: 98%;
    	margin: 0 auto;
	}


	.slick5 .slick-prev {
		left:-38px;	
	}

	.slick5 .slick-next {
		right:-38px;	
	}

	.gallery {
		flex-direction: column;
    	align-items: center;
	}

	.gallery .slide {
	    max-width: 70%;
	}

	.gallery .slide img{
	    max-width: 100%;
	}


	.level_design {
		width: 100%;
	    margin: 20px auto 0;
	    flex-direction: column;
	    align-items: center;
	}

	.level_design a {
		text-align: center;
	}

	.ld_item {
	    max-height: inherit;
	    max-width: 70%;
	}

	.top3{
		width: 100%;
	}

	.top3 img {
    height: auto;
	}

	.cv_col {
    width: 100%;
    order: 2;
	}

	.cv_col_droite {
    width: 100%;
    order: 1;
	}

	.cv_col .cv_item {
    background: #fff;
	}
	
	.cv_nopad {
		height: auto;
	}

	.cv_item img {
    object-fit: contain;
	}
}