/*----------------------Feuille de style du site web de la WebAgency----------------------*/

* {
	margin: 0;
	padding: 0;
	font-family: 'Roboto', sans-serif;
}

/*-------------------------------Polices personnalisés------------------------------------*/


@font-face {
	font-family: "FontAwesome";
	    src : url("../fonts/fontawesome-webfont.eot");
		src : url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),
			url("../fonts/fontawesome-webfont.woff") format("woff"),
			url("../fonts/fontawesome-webfont.ttf") format("truetype"),
			url("../fonts/fontawesome-webfont.svg#fontawesomeregular") format("svg");
	font-weight: normal;
	font-style : normal;
}


/*------------------------Barre de navigation fixé en haut--------------------------------*/


nav {
	position: fixed;
	background-color: #fff;
	width: 100%;
	height: 90px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	-webkit-box-shadow: 0px 0px 5px 0px #656565;
			box-shadow: 0px 0px 5px 0px #656565;
	z-index: 999;
}
nav div {
	margin: auto auto auto 15%;
}
.navigation {
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
}
.navigation li a {
	text-decoration: none;
	font-weight: 400;
	color: #656565;
	padding: 15px;
	padding-top: 33px;
	border-top: 3px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}
.navigation li a:hover {
	border-color: #5CADD3;
	padding-top: 33px;
	color: black;
}


/*----------------------------En-tête du site (carrousel d'image)---------------------------*/

/*Position des images et animations*/

.carrousel .imgCarrousel {
    width: 100%;
    height: 700px;
    position: absolute;
    top: 90px;
    left: 0px;
    color: white;
    background-size: cover;
    background-position: 60%;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-animation: imageAnimation 20s linear infinite 0s;
    		animation: imageAnimation 20s linear infinite 0s;
}
.carrousel {
    height: 790px; /*taille du carrousel + taille de la barre de navigation*/
}

@-webkit-keyframes imageAnimation { 
    0% { opacity: 0; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; z-index: 1 }
    8% { opacity: 1; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; z-index: 1 }
    46% { opacity: 1; z-index: 1 }
    54% { opacity: 0; z-index: 0 }
    100% { opacity: 0 }
}

@keyframes imageAnimation { 
    0% { opacity: 0; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; z-index: 1 }
    8% { opacity: 1; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; z-index: 1 }
    46% { opacity: 1; z-index: 1 }
    54% { opacity: 0; z-index: 0 }
    100% { opacity: 0 }
}

.carrousel .imgCarrousel:nth-child(1)  { 
    background-image: url(../img/imgHeader1.jpg);
}
.carrousel .imgCarrousel:nth-child(2) { 
    background-image: url(../img/imgHeader2.jpg);
    -webkit-animation-delay: 10s;
    		animation-delay: 10s;
}
.chargementCarrousel {
	width: 100%;
	height: 3px;
	position: absolute;
	bottom: 0;
	background-color: rgba(0,0,0,0.2);
	margin-left: -15%;
	-webkit-animation: disparitionChargement 10s linear infinite 0s;
			animation: disparitionChargement 10s linear infinite 0s
}
.barreChargementCarrousel {
	position: absolute;
	bottom: 0;
	background-color: #5CADD3;
	height: 3px;
	-webkit-animation: chargementCarrousel 10s ease-in-out infinite 0s;
			animation: chargementCarrousel 10s ease-in-out infinite 0s;
}

@-webkit-keyframes chargementCarrousel {
	0% { width: 0%; opacity: 0 }
	10% { opacity: 1 }
	90% { opacity: 1 }
	100% { width: 100%; opacity: 0 }
}
@keyframes chargementCarrousel {
	0% { width: 0%; opacity: 0 }
	10% { opacity: 1 }
	90% { opacity: 1 }
	100% { width: 100%; opacity: 0 }
}
@-webkit-keyframes disparitionChargement {
	0% { opacity: 0 }
	10% { opacity: 1 }
	90% { opacity: 1 }
	100% { opacity: 0 }
}
@keyframes disparitionChargement {
	0% { opacity: 0 }
	10% { opacity: 1 }
	90% { opacity: 1 }
	100% { opacity: 0 }
}

.chevronGauche {
	position: absolute;
	background-color: rgba(0,0,0,0.3);
	top: 42%;
	left: 0;
	width: 2.5rem;
	height: 5rem;
	border-bottom-right-radius: 2.5rem 2.5rem;
	border-top-right-radius: 2.5rem 2.5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
}
.chevronGauche:before {
	font-family: 'FontAwesome';
	font-size: 1.8em;
	content: '\f104';
	color: white;
	text-align: center;
}
.chevronDroit {
	position: absolute;
	background-color: rgba(0,0,0,0.3);
	top: 42%;
	width: 2.5rem;
	height: 5rem;
	right: 0;
	border-bottom-left-radius: 2.5rem 2.5rem;
	border-top-left-radius: 2.5rem 2.5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
}
.chevronDroit:before {
	font-family: 'FontAwesome';
	font-size: 1.8em;
	content: '\f105';
	color: white;
	text-align: center;
}


/*Textes, lien et bouton dans le carrousel*/


.contenuCarrousel {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	height: 90%;
	margin-left: 15%;
	margin-right: 50%;
}
.contenuCarrousel strong {
	color: #5CADD3;
}
.contenuCarrousel h1, .contenuCarrousel h2 {
	text-transform: uppercase;
	font-size: 2.3em;
	margin-bottom: 20px;
}
.contenuCarrousel p {
	font-size: 0.9em;
}
.contenuCarrousel a { /*Bouton "Plus d'infos"*/
	width: 100px;
	margin-top: 30px;
	text-decoration: none;
	text-align: center;
	color: white;
	padding: 12px;
	background-color: #5CADD3;
	border-radius: 2px;
	border-bottom: 2.5px solid #4192BA;
	-webkit-transition: background-color 0.3s, border-color 0.3s;
	-o-transition: background-color 0.3s, border-color 0.3s;
	transition: background-color 0.3s, border-color 0.3s;
}
.lienInfosA:hover, .lienInfosB:hover {
	background-color: #4192BA;
	border-color: #4192BA;
}


/*--------------------------------Section Nos services---------------------------------*/


section h2 {
	text-transform: uppercase;
	text-align: center;
	padding-top: 100px;
	margin-bottom: 30px;
	font-size: 2.5em;
}

/*Barre de séparation*/

hr {
	margin: auto;
	width: 150px;
	opacity: 0.5;
}
.separateur .posRondSeparateur {
	top: -11px;
}
.rondBleu {
	position: relative;
	margin: auto;
	width: 12px;
	height: 12px;
	background-color: #5CADD3;
	border-radius: 100%;
	border: 4px solid white;
}
.contenuServices {
	margin-right: 15%;
	margin-left: 15%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
		justify-content: space-around;
}
.paraphServices {
	margin: 30px 30% 50px 30%;
	text-align: center;
	color: rgb(120,120,120);
}
.imgContenuService {
	width: 50%;
}
.descriptionContenuServices {
	width: 50%;
	height: 300px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-ms-flex-pack: distribute;
		justify-content: space-around;
	padding-bottom: 100px;
}
.blocContenuServices {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

}
.cercleImgServices {
	display: block;
	margin: auto 30px auto auto;
}
.iconeServices {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	width: 60px;
	height: 60px;
	border: 1px solid rgba(80,80,80,0.3);
	border-radius: 50%;
	text-align: center;
}
.posCercleServices {
	top: -41px;
	right: -30px;
}
.iconeServices:before {
    font-family: FontAwesome;
    color: #5CADD3;
    font-size: 1.5em;
}
.iconeServiceA:before {
	content: "\f201";
}
.iconeServiceB:before {
	content: "\f1b3";
}
.iconeServiceC:before {
	content: "\f200";
}
.textServices p {
	color: rgb(120,120,120);
	margin-top: 5px;
}



/*--------------------------------Section Nos projets---------------------------------*/


#projets {
	background-color: #F5F5F5;
}

/*Groupement de boutons*/


.groupBoutons {
	width: 400px;
	text-align: center;
	margin: auto;
}
.groupBoutons li a:first-child {
	border-radius: 3px 0 0 3px;
}
.groupBoutons li a:last-child, .groupBoutons li:last-child {
	border-radius: 0 3px 3px 0;
}
.groupBoutons li {
	display: inline-block;
	background-color: #E5E5E5;
	width: 100px;
	border: none;
	line-height: 45px;
	margin-right: -2px;
	margin-left: -2px;
	position: relative;
}
.groupBoutons li a {
	display: block;
	text-decoration: none;
	color: rgb(100,100,100);
	height: 100%;
	-webkit-transition: background-color 0.2s;
	-o-transition: background-color 0.2s;
	transition: background-color 0.2s;
}
.groupBoutons li a:hover, .actifBouton {
	outline: none;
	background-color: #5CADD3;
	border-bottom: 2px solid #478DAE;
	color: white !important;
	font-weight: 500;
}
.groupBoutons li ::after {
	content: '';
	position: absolute;
	display: none;
	top: 45px;
	left: 50%;
	height: 0;
	width: 0;
	border: solid transparent;
	pointer-events: none;
	border-top-color: #478DAE;
	border-width: 8px;
	margin-left: -8px;
}
.groupBoutons ul:not(:hover) li .actifBouton::after, .groupBoutons li :hover::after {
	display: block;
}


/*Portfolio*/


.portfolioProjets {
	margin: 50px auto auto auto;
	padding-bottom: 100px;
	text-align: center;
}
.portfolioProjets a {
	text-decoration: none;
}
figure img {
	width: 260px;
	height: auto;
	display: block;
}
figure {
	width: 260px;
	display: inline-block;
	position: relative;
	margin: 10px;
}
figcaption {
	text-align-last: left;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 35%;
	background-color: transparent;
	cursor: pointer;
	color: transparent;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-transition: color 0.3s, background-color 0.3s;
	-o-transition: color 0.3s, background-color 0.3s;
	transition: color 0.3s, background-color 0.3s;
}
figcaption h4, figcaption p {
	margin: 4px auto 4px 10px;
}
figure:hover figcaption {
	color: white;
	background-color: rgba(0,0,0,0.5);
}
.iconeHoverProjets:before {
	content: "\f06e";
	font-family: FontAwesome;
    font-size: 1em;
	position: absolute;
	top: -25px;
	right: 15px;
	border: 1.5px solid;
	border-radius: 50%;
	padding: 15px;	
	color: transparent;
	background-color: transparent;
	border-color: transparent;
	-webkit-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	-o-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
figure:hover .iconeHoverProjets:before {
	color: white;
	background-color: #4DA1B1;
	border-color: white;
}


/*--------------------------------Section Contact---------------------------------*/


#contact {
	position: relative;
	background-color: #5CADD3;
}
#contact iframe {
	opacity: 0.75;
	height: 90vh;
}
.mapContact {
	height: 100%;
}
.formContact {
	position: absolute;
	height: 75%;
	width: 420px;
	background-color: rgba(255,255,255,0.8);
	top: 10%;
	right: 10%;
	z-index: 99;
}
.formContact form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
	height: auto;
	margin: 25px;
}
.formContact h3 {
	font-size: 1.7em;
}
.formContact p {
	color: rgb(80,80,80);
}
.formContact p span:first-child {
	font-weight: 600;
}
.formContact p span:last-child {
	-webkit-text-decoration: underline dotted;
			text-decoration: underline dotted;
}
.formContact input, .formContact textarea {
	font-weight: 500;
	font-size: 0.9em;
	border-radius: 3px;
	border: 1px solid lightgrey;
	margin-top: 5px;
	margin-bottom: 5px;
}
.formContact input {
	padding: 10px;
}
.formContact textarea {
	padding: 10px 10px 80px 10px;
	margin-bottom: 10px;
}
.formContact button {
	width: 125px;
	height: 38px;
	font-weight: 500;
	color: white;
	background-color: #5CADD3;
	border-radius: 3px;
	border: none;
	border-bottom: 2.5px solid #4192BA;
	-webkit-transition: background-color 0.3s, border-color 0.3s;
	-o-transition: background-color 0.3s, border-color 0.3s;
	transition: background-color 0.3s, border-color 0.3s;
	cursor: pointer;
}
.formContact button:hover {
	background-color: #4192BA;
	border-color: #4192BA;
}


/*--------------------------------Responsive---------------------------------*/



/*Responsive pour les très grands écrans (XXL)*/
@media all and (min-width: 1441px) {
	.portfolioProjets {
		max-width: 90%;
	}
	.formContact textarea {
		padding: 10px 10px 170px 10px;
	}
	.formContact form, .formContact {
		height: auto;
	}
} 

/*Adaptation de la taille des images*/
@media all and (min-width: 1441px) and (max-width: 1585px) {
	.formContact textarea {
		padding: 10px 10px 130px 10px;
	}
}

@media all and (max-width: 1585px) {
	figure img, figure {
		width: 250px;
	}
}
@media all and (min-width: 1518px) {
	figure img, figure {
		width: 300px;
	}
}
@media all and (min-width: 1596px) {
	figure img, figure {
		width: 330px;
	}
}

/*Responsive pour écrans larges (Laptop L)*/
@media all and (max-width: 1440px) {
	.portfolioProjets {
		max-width: 94%;
	}
}

/*Adaptation de la section Nos Services*/
@media all and (max-width: 1200px) {
	.contenuServices {
		display: block;
		margin-right: 10%;
		margin-left: 10%;
		text-align: justify;
	}
	.descriptionContenuServices {
   		width: 100%;
	}
	.imgContenuService {
		width: 100%;
		text-align: center;
		margin-right: 0;
	}
	.paraphServices {
		margin: 30px 10% 50px 10%;
	}
	.formContact {
	    position: initial;
	    width: 100%;
	}
	#contact iframe {
		height: 60vh;
	}
	#contact form {
		margin: 0 100px auto 100px;
		padding-bottom: 40px;
		padding-top: 40px;
	}
	.formContact form {
		height: auto;
	}
}

/*Responsive pour ordinateur normal (Laptop)*/
@media all and (max-width: 1024px) {
	.contenuCarrousel {
	    margin-left: 10%;
	    margin-right: 30%;
	}
	.chargementCarrousel {
		margin-left: -10%;
	}
}

/*Responsive pour tablettes*/
@media all and (max-width: 768px) {
	nav div {
	    margin: auto;
	}
	.formContact form {
		height: auto;
	}
	#contact form {
		margin: 0 40px auto 40px;
		padding-bottom: 40px;
		padding-top: 40px;
	}
	#contact button {
		padding-top: 10px;
		padding-bottom:25px;
	}
}

/*Adaptation de la barre de navigation*/
@media all and (max-width: 628px) {
	.navigation li a:hover {
		border: none;
		padding-top: 0;
		color: #5CADD3;
		border-color: transparent;
	}
	nav {
		height: 120px;
	}
	.carrousel .imgCarrousel {
		top: 120px;
	}
	.contenuCarrousel {
	    margin-left: 10%;
	    margin-right: 10%;
	}
}


/*Responsive pour smartphones larges (Mobile L)*/
@media all and (max-width: 583px) {
	.contenuServices img {
		width: 100%;
		height: auto;
	}
	.descriptionContenuServices {
		margin: 20px auto auto auto;
		height: auto;
	}
	.blocContenuServices {
		margin-bottom: 20px;
	}
	section h2 {
		padding-top: 130px;
	}
	figure img, figure {
		width: 330px;
	}
}

/*Responsive pour smartphones larges - (Mobile L-)*/
@media all and (max-width: 425px) {
	.contenuCarrousel {
		margin-left: 10%;
		margin-right: 10%;
	}
	.paraphServices {
		text-align: justify;
	}
	
	.portfolioProjets {
		max-width: 100%;
	}
	figure {
		margin: auto;
	}
	.chevronGauche, .chevronDroit {
		width: 2rem;
		height: 4rem;
	}
	.groupBoutons {
		width: auto;
	}
	.groupBoutons li {
		width: 80px;
	}
}

/*Responsive pour smartphones en mode paysage*/
@media all and (max-width: 812px) and (orientation: landscape) {
	.formContact form {
		height: auto;
	}
	#contact form {
		margin: 0 40px auto 40px;
		padding-bottom: 40px;
		padding-top: 40px;
	}
	#contact button {
		padding-top: 10px;
		padding-bottom:25px;
	}
}

/*Responsive pour smartphones moyens (Mobile M)*/
@media all and (max-width: 375px) {
	.contenuServices {
		display: block;
		margin-right: 3%;
		margin-left: 5%;
		text-align: justify;
	}
	
	
}

/*Responsive pour petits smartphones (Mobile S)*/
@media all and (max-width: 320px) {
	figure {
		width: auto;
	}
	figure img {
		width: 85%;
		height: auto;
		margin: auto;
	}
	figcaption {
		width: 85%;
		margin-left: 7.5%;
	}
	.navigation li {
		font-size: 0.8em;
	}
}