@font-face {
	font-family: 'Open Sans';
	src: url(/font/open-sans-light.woff2);
	font-weight: 300;
	font-display: swap;
}
@font-face {
	font-family: 'Open Sans';
	src: url(/font/open-sans-regular.woff2);
	font-weight: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Open Sans';
	src: url(/font/open-sans-semibold.woff2);
	font-weight: bold;
	font-display: swap;
}
@font-face {
	font-family: 'Oswald';
	src: url(/font/oswald-regular.woff2);
	font-display: swap;
}

/* VARIABLES */
:root {
	--dark2: #0f0f0f;
	--dark2-rgb: 15, 15, 15;
	--light2: #f5f5f5;
	--light2-rgb: 245, 245, 245;
}

/* ========================================= */
/* NAVIGATION */
/* ========================================= */
nav.navbar {
	font: 20px 'Open Sans';
	max-width: 900px;
	letter-spacing: -0.02em;
	font-weight: 300;
	background: rgba(var(--dark2-rgb), 1);
	padding: 0px;
}
@media (max-width:992px) {
	nav.navbar {
		max-width: 100%;
		height: 50px;
		padding: 0px;
		z-index: 99;
	}
	nav .navbar-toggler {
		font: 24px 'Open Sans';
		font-weight: 300;
		color: var(--bs-light);
		height: 100%;
		padding: 0px;
	}
	nav .navbar-toggler:hover {
		background: var(--bs-green);
		color: black;
	}
	nav .navbar-toggler .fa {
		font-size: 28px;
	}
	nav .navbar-toggler:focus {
		box-shadow: none;
	}
	nav .navbar-collapse .nav-link {
		padding: 15px;
		color: var(--bs-light);
		background: rgba(var(--dark2-rgb), 0.95);
		border-top: 1px solid #fff1;
		backdrop-filter: blur(5px);
		transition: none;
	}
	nav .navbar-collapse .nav-link:hover {
		background: var(--bs-green);
	}
 }
 @media (min-width:992px) {
	nav .nav-link {
		color: var(--bs-light);
		padding: 20px 15px !important;
		transition: none;
	}
 }
nav .nav-link:hover, nav .nav-link.show {
	color: black;
	background: var(--bs-green);
}
nav .dropdown-toggle::after {
	vertical-align: .10em;
	margin-left: 0px;
}
nav .dropdown-menu {
	background: rgba(var(--dark2-rgb), 0.95);
	backdrop-filter: blur(5px);
	border: none;
	padding: 0px;
	margin: 0px;
}
nav .dropdown-item {
	font: 18px 'Open Sans';
	letter-spacing: -0.02em;
	font-weight: 300;
	color: var(--bs-light);
	padding: 15px 30px;
}
nav .dropdown-item:not(:first-child){
	border-top: 1px solid #fff2;
}
nav .dropdown-item:hover {
	color: black;
	background: var(--bs-green);
}
.navbar .fa, .navbar .fas, .navbar .far {
	margin-right: 15px;
	font-size: 16px;
}
img.logo {
	width: auto;
	height: 100%;
	margin-bottom: -100px;
}
picture.banniere > * {
	position: absolute;
	top: 0px;
	width: 100%;
	height: 500px;
	object-fit: none;
	object-position: center top;
	box-shadow: 0px 10px 20px #0003;
	z-index: -1;
}
@media (max-width: 992px) {
	picture.banniere > * {
		top: 50px;;
	}
	.logo {
		max-height: 300px;
	}
}
@media (max-width: 768px) {
	.logo {
		max-height: 250px;
	}
}
@media (max-width: 576px) {
	.logo {
		max-height: 200px;
	}
}

/* ========================================= */
/* FOOTER */
/* ========================================= */
footer {
	max-width: 900px;
	padding-top: 10px;
	padding-bottom: 10px;
	background: var(--dark2);
	text-align:justify;
	color: var(--bs-light);
	font: 15px 'Open Sans';
	font-weight: 300;
}
footer a {
	color: var(--bs-light);
	text-decoration: none;
}
footer a:hover {
	color: var(--bs-dark-bg-subtle);
	text-decoration: underline;
}
footer h5 {
	color: var(--bs-dark-bg-subtle);
	font: 16px 'Open Sans';
	font-weight: 300;
}

/* ========================================= */
/* MAIN */
/* ========================================= */
body {
	background: url(/img/plaid.png), var(--dark2);
	background-size: 600px;
	background-repeat: repeat;
	background-position: center top;
}
@media (max-width: 900px) {
	body {
		background: var(--dark2);
	}
}
main {
	max-width: 900px;
	background: var(--light2);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
	padding-top: 15px;
	padding-bottom: 10px;
	margin-top: 85px;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	text-align: justify;
	font-family: 'Open Sans';
	font-size: 16px;
	font-weight: normal;
}
main p {
	font-family: 'Open Sans';
	font-size: 16px;
	font-weight: normal;
	text-align: justify;
	line-height: normal;
	margin-bottom: 10px;
}
main p:last-child {
	margin-bottom: 0px;
}
main p em {
	font-weight: 400;
	font-style: normal;
	color: #053000;
}
main p a {
	font-weight: bold;
	text-decoration-line: underline;
	text-decoration-style: dotted;
}
main p a:hover {
	text-decoration-style: solid;
}
main form .input-group {
	margin-bottom: 5px;
}
main form .input-group-text .fa-fw {
	font-size: 18px;
}
input:disabled, select:disabled, textarea:disabled, button:disabled {
	cursor: not-allowed;
}

/* ========================================= */
/* HEADERS */
/* ========================================= */
h1 {
	font-family: 'Oswald';
	color: var(--bs-green);
	font-size: 2rem;
}
h2 {
	font-family: 'Open Sans';
	font-size: 1.25rem;
	color: var(--bs-green);
	font-weight: bold;
	letter-spacing: -0.03em;
}
h3 {
	font-family: 'Vibur';
	font-size: 32px;
	color: var(--bs-green);
	margin: 0px;
}
h4 {
	font: 18px 'Open Sans';
	font-weight: bold;
	letter-spacing: -0.03em;
	color: var(--bs-green);
	margin: -2px 0px 0px 0px;
}

/*
@media (max-width: 768px) {
	main p, main ul {
		font-size: 14px;
		line-height: normal;
	}
	h1 {
		font-size: 24px;
		margin-bottom: 5px;
	}
	h2 {
		font-size: 16px;
	}
	h4 {
		font-size: 18px;
	}
	.alert-heading {
		font-size: 18px;
	}
	.alert-heading .fas, .alert-heading .far {
		font-size: 24px;
		vertical-align: middle;
	}
}
*/

/* ========================================= */
/* TABLE POUR LES FACTURES */
/* ========================================= */
table.facture-table {
	width: 100%;
	font-size: 14px;
	border: 1px solid #007bff;
}
table.facture-table thead {
	background-color: #007bff;
	color: white;
}
table.facture-table td, table.facture-table th {
	padding: 4px;
}
table.facture-table tbody tr:hover {
	background-color: rgba(0, 123, 255, 0.15);
	cursor: pointer;
}

/* ========================================= */
/* IMAGES */
/* ========================================= */
.img-frame {
	border-radius: 5px;
	box-shadow:0px 0px 10px rgba(0, 0, 0, 0.15);
	width: 100%;
}

/* ========================================= */
/* On réduit les marges et la grosseur des titres pour les petits écrans */
/* ========================================= */
@media (max-width: 768px) {
	/*
	main, .btn, .form-control {
		font-size: 14px;
	}
	*/
	h1 {
		font-size: 1.5rem;
	}
	.container-fluid, .row {
		--bs-gutter-x: 1rem;
	}
	.modal-body {
		--bs-modal-padding: 0.5rem;
	}
	.alert {
		--bs-alert-padding-x: 0.5rem;
		--bs-alert-padding-y: 0.5rem;
	}
}

/* ========================================= */
/* COULEURS */
/* ========================================= */
.bg-blue {
	background: var(--bs-blue);
}
.bg-teal {
	background: var(--bs-teal);
}
.bg-cyan {
	background: var(--bs-cyan);
}
.bg-pink {
	background: var(--bs-pink);
}
.bg-green {
	background: var(--bs-green);
}
.bg-purple {
	background: var(--bs-purple);
}
.bg-indigo {
	background: var(--bs-indigo);
}
.bg-orange {
	background: var(--bs-orange);
}