/*
--------------------Fonts--------------------
*/

@font-face {
    font-family: 'RobotoRegular';
    src: url('fonts/Roboto-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'RobotoMedium';
    src: url('fonts/Roboto-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'RobotoBlack';
    src: url('fonts/Roboto-Black.ttf') format('truetype');
}

@font-face {
    font-family: 'RobotoBold';
    src: url('fonts/Roboto-Bold.ttf') format('truetype');
}

/*
--------------------Flexbox--------------------
*/

header, nav ul, .services_article, .services_article_paragraphe, .portfolio_nav ul, .portfolio_article
{
	display: flex;
}

header
{
	justify-content: space-around;
}

/*
--------------------Classes & Général--------------------
*/

.blue_color
{
	color: #5CADD3;
}

.grey_color
{
	color: grey;
}

.roboto_bold
{
	font-family: 'RobotoBold';
}

.emphasize
{
	font-size: 3em;
}

a:link
{
	text-decoration: none;
}

nav ul, .portfolio_nav ul
{
	list-style-type: none;
	position: relative;
	right: 20px;
}

nav a, .portfolio_nav a 
{
	color: grey;
}

.button
{
	background: #5CADD3;
	padding: 0.5em 1em;
	border-radius: 5%;
	box-shadow: 0px 3px 0px #4494BB;
	color: white;
}

.separateur hr
{
	width: 200px;	
	opacity: 0.1;
}

.separateur_point
{
	position: relative;
	bottom: 23px;
	border: 5px solid white;
	border-radius: 50%;
}

#anchor_services, #anchor_projets, #anchor_contact
{
	position: absolute;
	bottom: 100px;
}

/*
--------------------Sections/General--------------------
*/

body
{
	font-family: 'RobotoMedium';
	margin: 0px;
	background: white;
}

header, section, footer
{
	width: 100%;
	overflow: hidden;
}

section, footer
{
	position: relative;
}

/*
--------------------Header--------------------
*/

header
{
	position: fixed;
	height: 100px;
	background: white;
	align-items: center;
	z-index: 2;
}

nav a
{
	padding: 38px 20px;
	border-top: 4px solid white;
}

nav a:hover
{
	color: black;
	border-top: 4px solid #5CADD3;
}

/*
--------------------Accueil--------------------
*/

#accueil
{
	padding-top: 100px;
}

#accueil img
{
	width: 100%;
}

.slider_fleche_gauche, .slider_fleche_droite
{
	position: absolute;
	top: 45%;
	color: white;
	font-size: 2em;
	background: rgba(0, 0, 0, 0.3);
}

.slider_fleche_gauche
{
	left: -35px;
	padding: 20px 10px 20px 40px;
	border-radius: 0% 50% 50% 0%;
}

.slider_fleche_droite
{
	right: -35px;
	padding: 20px 40px 20px 10px;
	border-radius: 50% 0% 0% 50%;
}

.slider_texte
{
	position: absolute;
	color: white;
	left: 5%;
	width: 55%;
	top: 35%;
}

.slider_texte em
{
	font-style: normal;
}

.slider_texte h1
{
	margin: 0px;
	line-height: 1em;
}

.slider_texte p
{
	margin: 0px;
	padding: 20px 0px;
}

#accueil em
{
	font-style: unset;
}

.progressbar
{
	position: relative;
	width: 100%;
	height: 5px;
	background: rgba(0, 0, 0, 0.1);
	bottom: 9px;
}

.progressbar div
{
	width: 10%;
	height: 5px;
	background: #5CADD3;
}

/*
--------------------Services--------------------
*/

.services_header, .services_article_image, .colonne_icone
{
	text-align: center;
}

.services_article
{
	margin: 50px 0px;
}

.services_article, .services_article_paragraphe
{
	align-items: center;
}

.services_article_paragraphe h3, .services_article_paragraphe p
{
	margin: 0px;
}

.services_article_image, .services_article_texte
{
	width: 50%;
}

.services_article_paragraphe
{
	padding: 10px 0px;
}

.colonne_icone
{
	min-width: 100px;
}

.services_icone_principale
{
	border: 1px solid lightgrey;
	border-radius: 50%;
	padding: 0.6em;
	font-size: 1.7em;
	position: relative;
	left: 7px;
}

.services_icone_point
{
	font-size: 0.8em;
	border: 5px solid white;
	border-radius: 50%;
	position: relative;
	bottom: 0.3em;
	right: 10px;
}

/*
--------------------Portfolio--------------------
*/

#portfolio
{
	background: #F5F5F5;
}

.portfolio_header, .portfolio_article
{
	width: 100%;
}

.portfolio_header
{
	text-align: center;
}

/*
-----Menu-----
*/

.portfolio_nav
{
	margin: 50px 0px;
	text-align: center;
}

.portfolio_nav ul
{
	justify-content: center;
}

.portfolio_nav li
{
	padding: 1em;
	background: #e5e5e5;
	border-bottom: 3px solid #e5e5e5;
	position: relative;
}

.portfolio_nav li:first-child
{
	border-radius: 5px 0px 0px 5px;
}

.portfolio_nav li:last-child
{
	border-radius: 0px 5px 5px 0px;	
}

.portfolio_nav li:hover, .portfolio_nav .active
{
	background: #5CADD3;
	border-bottom: 3px solid #468cad;
}

.portfolio_nav li:hover .fleche_active, .portfolio_nav .active .fleche_active
{
	opacity: 1;
}

.portfolio_nav li:hover a, .portfolio_nav .active a
{
	color: white;
}

.fleche_active
{
	position: absolute;
	top: 33px;
	left: 40px;
	color: #468cad;
	opacity: 0;
}

/*
-----Article-----
*/

.portfolio_article
{
	flex-wrap: wrap;
	justify-content: center;
}

.portfolio_article img
{
	max-width: 100%;
}

.portfolio_article figure
{
	position: relative;
	max-width: 22%;
	margin: 15px;
}

.portfolio_article figcaption
{
	position: absolute;
	background: rgba(0, 0, 0, 0.7);
	color: white;
	width: 100%;
	height: 33%;
	bottom: 4px;
	opacity: 0;
}

.portfolio_article figure:hover figcaption
{
	opacity: 1;
	transition-duration: 0.5s;
}

.portfolio_article figcaption h3, .portfolio_article figcaption p
{
	margin: 0px 0px 0px 10px;
}

#portfolio figcaption
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.figcaption_icone
{
	background: #4692B1;
	color: white;
	border: 2px solid white;
	padding: 1em;
	border-radius: 50%;
	position: relative;
	right: 10%;
	bottom: 50%;
}

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

.overlay_map
{
	width: 100%;
	height: 600px;
	background: #5CADD3;
}

#contact iframe
{
	position: absolute;
	top: 0px;
	width: 100%;
	height: 600px;
	border: 0;
	opacity: 0.8;
}

#contact aside
{
	position: absolute;
	top: 50px;
	right: 50px;
	background: rgba(255, 255, 255, 0.9);
	opacity: 0.9;
	padding: 20px;
	z-index: 1;
}

#contact aside input, #contact aside textarea
{
	width: 300px;
}

#contact aside textarea
{
	height: 150px;
	resize: vertical;
}

#contact aside h2
{
	margin: 0px;
}

#contact aside textarea
{
	font-family: RobotoRegular;
	font-size: 0.9em;
}
