*::selection {
    color: white;
    background-color: black;
}

*{
    box-sizing: border-box;
    color:#18171b;
	font-family: "Product Sans";
}

p{
    color: #18171b;
    font-size: 14px;
}

body,
html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-weight: 400;
    position: relative;
}

@font-face {
	font-family: "Product Sans";
	src: url('Elements/ProductSans-Regular.ttf');
}
@font-face {
	font-family: "Product Sans Medium";
	src: url('Elements/ProductSans-Medium.ttf');
}
@font-face {
	font-family: "Georgia Pro Light";
	src: url('Elements/GeorgiaPro-Light.ttf');
}

/*   BASICS    */
.title {
    font-family: "Georgia Pro Light";
}

h1 {
    line-height: 120%;
    margin-bottom: 30px;
}

.easy-center {
    top: 15vh;
    left: 50%;
    transform: translateX(-50%);
    opacity: 1;
}

.easy-center-audio {
    top: 10vh;
    left: 50%;
    opacity: 1;
}

.vertical-align-propos {
    margin-top: 40vh;
    /* poussÃ© de la moitiÃ© de hauteur de viewport */
    transform: translateY(-50%);
    /* tirÃ© de la moitiÃ© de sa propre hauteur */
}

.vertical-align {
    padding-top: 90vh;
    /* poussÃ© de la moitiÃ© de hauteur de viewport */
    transform: translateY(-50%);
    /* tirÃ© de la moitiÃ© de sa propre hauteur */
}

.text-center {
    text-align: center;     /*centre logo*/
}

.text-uppercase {
    text-transform: uppercase;    /*Mets le nom de ma production (par ex une affiche) en majuscule*/
}

.container{
    background-color: white;
    position: relative;
    z-index: 10;
}

/* unvisited link */

a:link,
a:visited,
a:hover,
a:active {
    color: black;
    text-decoration: none;
}

.line{                             /*lignes des titres de sections*/
    width: 5px;
    height: 100px;
    background-color: #18171b;
    position: absolute;
    transform: translate(-50%,10px)
}

.sectionTitle{
    text-transform: uppercase;
    font-family: "Product Sans Medium";
    position: relative;
    top:110px;
    font-size: 60px;
}

.sectionSubtitle{
    position: relative;
	font-family: "Product Sans Medium";
    top:-20px;
    left: 10%;
    font-size: 25px;
}

/*----- SECTION HOME -----*/

#home {
    width: 100%;
    height: 100%;
    position: relative;
    background-color: #111;
    z-index: -1;
    margin-top: -150px;
}

#home svg{
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%,-50%);
}

#break{
    height: auto;
    background-color: rgba(0,0,0,0);
    position: relative;
    background-size: 100%;
    z-index: 1;
    padding: 0;
    opacity: 1;
}

#break img{
    width: 100%;
    height: 50px;
    user-drag: none; 
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
	margin-top: -750px;
}

#home h1{
    color: white;
    font-size: 85px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: -50px;
}

.nom{
    transform: rotate(25deg);
    margin-left: 590px;
    margin-bottom: 60px;
}

.prenom{
    transform: rotate(-25deg);
    margin-right: 510px;
    margin-bottom: -75px;
}

.titleRotate hr{
    transform: rotate(-90deg);
    margin-top: 40px;
}



.titleRotate{
    background-color: none;
	margin-top: 50px;
	bottom:50px;
}

#arrowdown{
    background-color: #111;
	margin-left: 0px;
}

/*----- MOI -----*/
#bonjour{
    width: 100%;
    height: auto;
    background-color: #111;
	margin-top: -358px;
}   

#moi{
    margin-bottom: 100px;
}

#bonjour h1{
	margin-top: -320px;
}

#bonjour p{
    text-align: justify;
	width: 160%;
	margin-top: -175px;
	margin-right: 200px;
	text-align: left;
	font-family: "Product Sans";
	font-size: 18px;
}

#texte {
	margin-left: 95px;
	margin-top: -40px;
}

#decalage{
	vertical-align: center;
	width: 105%;
}


#photoperso img{
  margin-top: -225px;
  margin-right: 110px;
  width: 30%;
  float: right;
}

#cv{
    display: block;
    margin-left:100px; 
}

/* BOUTON CV */
button {
    letter-spacing: 2px;
    background-color: #49CD85;
    color:white;
    text-transform: uppercase;
    position: relative;
    outline: none;
    border: none;
    height: 60px;
    width: 210px;
    font-size: 15px;
	font-family: "Product Sans";
    z-index: 2; 
    -webkit-transition: .01s .23s ease-out all;
    transition: .01s .23s ease-out all;
    overflow: hidden;
    display: block;
    margin: auto;
    margin-top: 40px;
}
button:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: #36C1B2;
    z-index: -1;
    -webkit-transition: .3s ease-in all;
    transition: .3s ease-in all;
}
button:after {
    content: '';
    position: absolute;
    left: -5%;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 5%;
    background: white;
    z-index: -1;
    -webkit-transition: .4s .02s ease-in all;
    transition: .4s .02s ease-in all;
}
button:hover {
    cursor: pointer;
    color: transparent;
}
button:hover:before {
    left: 100%;
    width: 25%;
}
button:hover:after {
    left: 100%;
    width: 50%;
}
button:hover .icon-right.after:after {
    left: -80px;
    color: black;
    -webkit-transition: .2s .2s ease all;
    transition: .2s .2s ease all;
}
button:hover .icon-right.after:before {
    left: -128px;
    top: 14px;
    opacity: 1;
    color: white;
}
.icon-right {
    position: absolute;
    top: 0;
    right: 0;
}
.icon-right.after:after {
    left: -250px;
    -webkit-transition: .15s .25s ease left, .5s .05s ease color;
    transition: .15s .25s ease left, .5s .05s ease color;
}
.icon-right.after:before {
    font-size: 20px;
    text-transform: uppercase;
    content: 'Voir';
    position: absolute;
	font-family: "Product Sans";
    left: -250px;
	margin-top: 5px;
    top: 14px;
    opacity: 0;
    -webkit-transition: .2s ease-in all;
    transition: .2s ease-in all;
    color: white;
    letter-spacing: 4px;
}


/*----- PORTFOLIO -----*/
#portfolio{
    height: auto;
    width: 100%;
    background-color: #111;
    position: relative;
    text-align: center;
}

#portfolio .sectionSubtitle{
    left: 12%;   
}

#portfolio .row{
    margin-bottom: -200px;   
}

#portfolio .text-center{
    margin-top: 0px;   
	margin-bottom: -50px;
}

#portfolio .slideshow{
	position: relative;
	width: 790px;
	height: 400px;
	padding: 15px;
	margin: 0 auto 2em;
	border: 1px solid #ddd;
	background: #FFF;
	background: linear-gradient(#FFF, #FFF 20%, #EEE 80%, #DDD);
	border-radius: 2px 2px 2px 2px;
	box-shadow: 0 0 3px rgba(0,0,0, 0.2);
}
#portfolio .slideshow:before,
#portfolio .slideshow:after {
	position: absolute;
	bottom: 16px;
	z-index: -10;
	width: 50%;
	height: 20px;
	content: " ";
	background: rgba(0,0,0,0.1);
	border-radius: 50%;
	box-shadow: 0 0 3px rgba(0,0,0, 0.4), 0 20px 10px rgba(0,0,0, 0.7);
}
#portfolio .slideshow:before {
	left: 0;
	transform: rotate(-4deg);
}
#portfolio .slideshow:after {
	right:0;
	transform: rotate(4deg);
}
/* gestion des dimensions et débordement du conteneur */
#portfolio .slideshow .container2 {
	position:relative;
	width: 770px;
	height: 400px;
	margin-right: -0px;
	margin-left: -7px;
	margin-top: -4px;
	margin-bottom: 0px;
	overflow: hidden;
}

/*  le conteneur des slides en largeur il fait 100% x le nombre de slides*/
#portfolio .slideshow .slider {
	position: absolute;
	left:0; top:0;
	margin-top: -30px;
	width: 1800%;
	height: 400px;
    animation: slider 100s infinite;
}
/* annulation des marges sur figure */
#portfolio .slideshow figure {
	position:relative;
	display:inline-block;
	padding:0; margin:0;
	top:0; left:0;
}
/* petit effet de vignette sur les images */
#portfolio .slideshow figure:after {
	position: absolute;
	display:block;
	content: " ";
	top:0; left:0;
	width: 100%; height: 100%;
	box-shadow: 0 0 65px rgba(0,0,0, 0.5) inset;
}
@keyframes slider {
	0%, 1%, 100%	{ left: -180% }
	4%, 6%		{ left: -260% }
	9%, 10%		{ left: -345% }
	13%, 15%		{ left: -415% }
	18%, 20%		{ left: -455% }
	23%, 25%		{ left: -490% }
	28%, 29%		{ left: -562% }
	32%, 34%		{ left: -653% }
	37%, 39%		{ left: -713% }
	42%, 44%		{ left: -754% }
	47%, 49%		{ left: -794% }
	52%, 53%		{ left: -854% } 
	56%, 57%		{ left: -912% }
	60%, 61%		{ left: -971% }
	64%, 65%		{ left: -1061% }
	68%, 69%		{ left: -1148% }
	72%, 74%		{ left: -1220% }
	77%, 79%		{ left: -1291% }
    82%, 84%		{ left: -1352% }
    87%, 88%		{ left: -1402% }
    91%, 92%		{ left: -1457% }
	95%, 96%		{ left: -1526% }

}

.presTravaux {
    width: 24%;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    overflow: hidden;
    margin: 0px;
    height: auto;
	transform: scale(0.9);
}

.presTravaux2{
    width: 100%;
    position: relative;
    overflow: hidden;
    margin: 0px;
    height: auto;
	transform: scale(1.4);
	margin-top: 60px;
	margin-bottom: 40px;
}

.presTravaux3 {
    width: 100%;
	top: -10px;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
	overflow: hidden;
    margin: -15px;
    height: auto;
	transform: scale(0.9);
}

.presTravaux3 p{
	position: absolute;
	margin-left: auto;
	margin-right: auto;
	width: 1100px;
	top: 53%;
	left: 33px;
    transform: translateY(0%) translateX(0%);
	font-size: 20px;
	text-align: center;
	transition: 0.5s ease;
	font-family: "Product Sans Medium";
	color: white;
	z-index: 100;
	opacity: 0;
}

.presTravaux3:hover p {
    transform: translateY(0%) translateX(0%);
    opacity: 1;
	top: 48%;
}

.presTravaux3 img {
    max-width: 100%;
    max-height: 100%;
    transition: 0.5s ease;
    transform: scale(1);
    display: block;
}

.presTravaux3::before {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    background-color: transparent;
    border: 2px transparent solid;
    transition: 0.5s ease;
    z-index: 100;
}

.presTravaux3:hover:before {
    content: "";
    position: absolute;
    left: 30px;
    right: 30px;
    top: 30px;
    bottom: 30px;
    border: 2px white solid;
    z-index: 100;
}

.presTravaux3::after {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    background: red;
    /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(transparent, transparent);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(transparent, transparent);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(transparent, transparent);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(transparent, transparent);
    /* Standard syntax */
    background-color: transparent;
    transition: 0.5s ease;
    z-index: 10;
    opacity: 0;
}

.presTravaux3:hover:after {
    content: "";
    position: absolute;
	left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    background: -moz-linear-gradient(-45deg, rgba(104, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.51) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(104, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.51) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(104, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.51) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#a6680000', endColorstr='#82000000', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
    z-index: 10;
    opacity: 1;
}

.presTravaux3 h3 {
    position: absolute;
    top: 48%;
    transform: translateY(-100%) translateX(-50%);
    font-size: 35px;
    left: 50%;
	font-family: "Product Sans Medium";
    transition: 0.5s ease;
    opacity: 0;
    z-index: 100;
    color: white;
}

.presTravaux3:hover h3 {
    top: 33%;
    opacity: 1;
}








.presTravaux img {
    max-width: 100%;
    max-height: 100%;
    transition: 0.5s ease;
    transform: scale(1);
    display: block;
}

.presTravaux::before {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    background-color: transparent;
    border: 2px transparent solid;
    transition: 0.5s ease;
    z-index: 100;
}

.presTravaux:hover:before {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    top: 20px;
    bottom: 20px;
    border: 2px white solid;
    z-index: 100;
}

.presTravaux::after {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    background: red;
    /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(transparent, transparent);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(transparent, transparent);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(transparent, transparent);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(transparent, transparent);
    /* Standard syntax */
    background-color: transparent;
    transition: 0.5s ease;
    z-index: 10;
    opacity: 0;
}

.presTravaux:hover:after {
    content: "";
    position: absolute;
    background: -moz-linear-gradient(-45deg, rgba(104, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.51) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(104, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.51) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(104, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.51) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#a6680000', endColorstr='#82000000', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */
    z-index: 10;
    opacity: 1;
}

.presTravaux h3 {
    position: absolute;
    top: 50%;
    transform: translateY(-100%) translateX(-50%);
    font-size: 25px;
    left: 50%;
	font-family: "Product Sans Medium";
    transition: 0.5s ease;
    opacity: 0;
    z-index: 100;
    color: white;
}

.presTravaux:hover h3 {
    top: 40%;
    opacity: 1;
}

.presTravaux p {
    position: absolute;
    top: 50%;
    transform: translateY(0%) translateX(0%);
    font-size: 20px;
    left: 0;
    right: 0;
	font-family: "Product Sans";
    transition: 0.3s ease;
    opacity: 0;
    z-index: 100;
    color: white;
    text-align: center;
}

.presTravaux:hover p {
    transform: translateY(-50%) translateX(0%);
    opacity: 1;
}

#portfolio .mix {
    display: none;
}

#filterWrap {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
	font-family: "Product Sans Medium";
}

.filter {
    display: inline-block;
    font-size: 1.2em;
    width: 200px;
    text-transform: uppercase;
    padding: 15px;
    border-right: 2px solid black;
    cursor: pointer;
}

#filterWrap .filter:first-child {
    border-left: 2px solid black;
}


/*----- CONTACT -----*/
#contact{
    height: auto;
    width: 100%;
    background-color: #111;
    position: relative;
    padding-bottom: 0px;
}

form {
	display: flex;
	flex-direction: row;
	align-items: center;
	background-color: white;
	font-family: "Product Sans";
	padding-left: 40px;
	padding-right: 40px;
}

#gauche_contact + #droite_contact {
	display: flex;
	flex-direction: column;
	font-family: "Product Sans";
}

#gauche_contact {
	margin-top: -150px;
}

#droite_contact {
	margin-top: -65px;
}

input, textarea {
	background-color: #FFF;
	color: black;
	border: solid 2px #49CD85;
	width: 400px;
	height: 50px;
	font-size: 17px;
	margin: 10px;
	padding: 5px;
}

textarea{
	height: 215px;
	width: 620px;
}

input::placeholder, textarea::placeholder{
  color: black;
}

input[type=submit] {
	background-color: #49CD85;
	color: white;
	margin-top: 3px;
	width: 25%;
 }
 
 
/*----- FOOTER -----*/
footer{
    height: auto;
    padding: 15px 0px;
	background-color: transparent;
    opacity: 0.6;
    z-index: 1;
    text-align: center;
	position: relative;
}

footer:hover{
	background-color: transparent;
    opacity: 1;
}

footer ul{
    list-style: none;
    padding: 0;
}

footer p{
    color: white;
	font-family: "Product Sans";
}

footer li {
    display: inline-block;
    vertical-align: bottom;
}

footer ul li img{
	margin-top: -10px;
	margin: 10px;
    width: 30px;
}


/*----- RESPONSIVE -----*/
@media (max-width: 992px){
    .presTravaux {
        width: 30%;
    } 
    #filterWrap .filter{
        width: calc((100%/4) - 5px);
        font-size: 16px;
    }
}

@media (max-width: 768px){
    #cvMobile{
        display: block;
    }

    #cv{
        display: none;
    }

    .sectionTitle{
        top:140px;
        font-size: 40px;
    }

    .sectionSubtitle, #competences .sectionSubtitle, #portfolio .sectionSubtitle{
        position: relative;
        top:25px;
        left: 0px;
        font-size: 20px;
    }

    #competences img{
        text-align: center;
        margin: 10px auto;
    }

    #filterWrap .filter{
        width: calc((100%/4) - 5px);
        font-size: 16px;
    }

    .presTravaux {
        width: 48%;
    } 

    #contact a{
        font-size: 16px;
        display: block;
        margin: auto;
        text-align: center;
    }

    #filterWrap .filter{
        width: calc((100%/2) - 5px);
        font-size: 16px;
    }

    #filterWrap .filter:nth-child(odd) {
        border-left: 2px solid black;
    }
}

@media screen and (max-width: 480px) {

    #bonjour img{
        display: none;
    }

    #bonjour button{
        margin: auto;
    }

    .sectionTitle{
        top:140px;
        font-size: 35px;
    }

    .sectionSubtitle, #competences .sectionSubtitle, #portfolio .sectionSubtitle{
        position: relative;
        top:30px;
        left: 0px;
        font-size: 20px;
    }
}   