body {
	margin: 0;
	font-family: 'Open Sans', sans-serif;
	background-color: #f4f4f9; /* Not fully white */
}

header, footer, h2 {
	background-color: #679AC0;
	color: white;
}

header nav ul {
	margin: 30px 0px;
    padding: 0px;
}

h2 {
	text-indent: 0.5em;
}

header, footer{
	height: 85px;
}

main {
	padding: 0.5em;
}

header nav {
	padding: 8px;
}

header nav ul li a {
	padding: 10px 10px;
	font-size: 20px;
	border: 1px solid;
	border-radius: 10px;
	transition: all 0.3s ease; /* For the header buttons */
}

header nav ul li a:hover {
	background-color: #000;
}

.logo {
	width: 1.5em;
	padding: 0 4px;
	top: 5px;
	position: relative;
}

footer div {
	position: fixed;
	background-color: #3c83bf;
	bottom: 0;
	width: 100%;
	text-align: center;
	font-size: 20px;
}

p {
	font-size: 22px;
	padding: 0 1.5em;
}

h1 {
	font-variant: petite-caps;
	display: inline;
	position: relative;
	top: -1em;
}

a {
	text-decoration: none;
	color: darkblue;
	transition: color 0.3s ease; /* Transition */
}

a:hover {
	color: black;
}

nav {
	float: right;
	list-style: none;
}

nav li {
	list-style: none;
	float: left;
	padding: 0 5px;
}

nav ul li a {
	color: white;
}

nav ul li a:hover {
	color: white;
}

.btn-bleu {
	background-color: darkblue;
	color: white;
	padding: 1em 3em;
	border: none;
	cursor: pointer;
	font-size: 1.2em;
	transition: background-color 0.3s ease;
}

.btn-bleu:hover {
	background-color: #062478;
	color: white;
}

.centered {
	display: flex;
	justify-content: center;
	padding: 5px;
}

/* DIAPORAMA */
.diapo {
	position: relative;
	overflow: hidden;
}

.diapo_body {
	width : 75%;
}

.elements {
	display: flex;
}

.element {
	flex: 1 0 100%;
	position: relative;
}

.element > img { /* <img> inside <element> */
	width: 100%;
}

.caption {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	background-color: rgba(255, 255, 255, 0.7);
	padding: 10px;
}

#nav-gauche {
	left: 15px;
	transform: rotate(135deg);
}

#nav-droite {
	right: 15px;
	transform: rotate(-45deg);
}

.triangle {
	position: absolute;
	top: 50%;
	color: darkblue;
	cursor: pointer;
	border-right: 7px solid;
	border-bottom: 7px solid;
	height: 25px;
	width: 25px;
}

/* Ajout d'une marge pour la liste de Skills (mais pas pour les sous section) */
section ul li:not(ul > ul > li) {
	margin: 20px 0 0 0;
	text-decoration-color: blue;
}

/* Barre de progression des Skills */
.container {
	display: flex;
}
.column {
	flex: 1;
	margin: 10px;
}
.barre {
	background-color: #d0dbe9;
	border-radius: 5px;
	overflow: hidden;
	margin: 5px 0;
}
.niveau {
	height: 15px;
	background-color: #316a9b;
}

.container .column > ul > li { /* uniquement les <li> directement enfants de <ul> */
	padding: 0 0 15px 0;
}

/* Vertical navigation */
.verticalnav {
	position: fixed;
	right: 1em;
	opacity: .25;
	transition: opacity 0.3s ease;
}

.verticalnav:hover {
	opacity: 1;
}

.verticalnav li{
	float: none;
	border: 1px solid;
	margin: 4px;
	font-size: 18px;
	background: #316a9b;
}

details > summary {
	cursor: pointer;
}