@charset "UTF-8";

html {
	scroll-behavior: smooth;
}

main,
section,
article,
nav,
header,
footer {
	display: block;
}

.page-ouverture {
	background-color: #f0debf;
}

.ouverture-main {
	width: 100%;
	max-width: 580px;
	min-height: 100%;
	margin: 0 auto;
	padding: 100px 0 110px 0;
	background-color: #f0debf;
}

.ouverture-perspective {
	display: block;
	width: 100%;
	height: auto;
	margin: -130px 0 20px 0;
	border-bottom: 10px solid #F2A2A2;
}

.ouverture-intro,
.ouverture-espaces,
.ouverture-semaine,
.ouverture-acces {
	margin: 0 20px 20px 20px;
	padding: 28px 18px;
	background-color: #f7ecd8;
	border-top: 10px solid #F2A2A2;
	border-bottom: 1px solid rgba(132, 122, 110, .28);
}

.ouverture-surtitre {
	margin: 0 0 12px 0;
	padding: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #AF9588;
	text-align: center;
}

.ouverture-main h1,
.ouverture-main h2,
.ouverture-main h3 {
	margin: 0;
	padding: 0;
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	line-height: 1.55;
	text-align: center;
	text-transform: uppercase;
	color: #847A6E;
}

.ouverture-main h1 {
	font-size: 17px;
}

.ouverture-main h2 {
	font-size: 15px;
}

.ouverture-main p {
	margin: 16px 0 0 0;
	padding: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.65;
	text-align: center;
	color: #847A6E;
}

.ouverture-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 24px;
}

.ouverture-actions a {
	display: block;
	padding: 14px 10px;
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	color: #847A6E;
	background-color: transparent;
	border: 1px solid rgba(132, 122, 110, .55);
}

.ouverture-actions .ouverture-action-principale {
	color: #fff;
	background-color: #d98b8b;
	border-color: #d98b8b;
}

.ouverture-espaces {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	padding: 0;
	background-color: transparent;
	border: 0;
}

.horaire-carte {
	padding: 24px 18px;
	background-color: #f7ecd8;
	border-top: 10px solid #F2A2A2;
	border-bottom: 1px solid rgba(132, 122, 110, .28);
}

.horaire-carte-bar {
	background-color: #f4e7cf;
}

.horaire-texte {
	font-size: 14px;
}

.horaire-ligne {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px;
	margin: 16px auto 0 auto;
	padding: 13px 12px;
	max-width: 270px;
	text-align: center;
	background-color: #f0debf;
	border: 1px solid rgba(132, 122, 110, .45);
}

.horaire-ligne span,
.horaire-ligne strong {
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	line-height: 1.35;
	text-transform: uppercase;
}

.horaire-ligne span {
	font-size: 10px;
	color: #AF9588;
}

.horaire-ligne strong {
	font-size: 15px;
	color: #847A6E;
}

.horaire-bouton {
	display: block;
	max-width: 270px;
	margin: 20px auto 0 auto;
	padding: 14px 12px;
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
	background-color: #d98b8b;
	border: 1px solid #d98b8b;
}

.horaire-bouton-secondaire {
	color: #847A6E;
	background-color: transparent;
	border-color: rgba(132, 122, 110, .55);
}

.jour-ligne {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: center;
	margin-top: 10px;
	padding: 13px 12px;
	background-color: rgba(255, 255, 255, .24);
	border-left: 8px solid #F2A2A2;
}

.jour-ligne:first-of-type {
	margin-top: 22px;
}

.jour-ligne span,
.jour-ligne strong {
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1.35;
	text-transform: uppercase;
	color: #847A6E;
}

.jour-ligne strong {
	text-align: right;
	color: #0e8e01;
}

.jour-ferme {
	border-left-color: #AF9588;
}

.jour-ferme strong {
	color: #ac5454;
}

.ouverture-acces nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 22px;
}

.ouverture-acces a {
	display: block;
	text-decoration: none;
	text-align: center;
}

.plan-acces a {
	display: block;
}

.plan-acces figcaption {
	margin: 0;
	padding: 12px 14px 14px 14px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.45;
	text-align: center;
	color: #847A6E;
	background-color: rgba(255, 255, 255, .24);
	border-bottom: 1px solid rgba(132, 122, 110, .22);
}

.ouverture-acces img {
	display: block;
	width: 70px;
	height: auto;
	margin: 0 auto;
}

.ouverture-acces span {
	display: block;
	padding-top: 14px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1.4;
	text-transform: uppercase;
	color: #AF9588;
}

#acces-stationnement {
	scroll-margin-top: 24px;
}

.stationnement-liste {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 24px;
}

.stationnement-liste article {
	padding: 16px 14px;
	background-color: rgba(255, 255, 255, .24);
	border-left: 8px solid #F2A2A2;
	border-bottom: 1px solid rgba(132, 122, 110, .22);
}

.stationnement-liste h3 {
	font-size: 12px;
	line-height: 1.45;
}

.stationnement-liste p {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.55;
}

.stationnement-officiel {
	display: block;
	max-width: 310px;
	margin: 22px auto 0 auto;
	padding: 14px 12px;
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	font-size: 11px;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	color: #847A6E;
	border: 1px solid rgba(132, 122, 110, .55);
	background-color: transparent;
}

.stationnement-liste .parking-walktime {
	display: inline-block;
	margin: 12px auto 0 auto;
	padding: 7px 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.35;
	text-align: center;
	color: #847A6E;
	background-color: #f0debf;
	border: 1px solid rgba(132, 122, 110, .28);
}

.stationnement-liste .parking-walktime strong {
	color: #0e8e01;
	font-weight: 700;
}

.parking-type{
	display:inline-block;

	padding:5px 12px;
	margin-top:10px;

	border-radius:999px;

	font-size:12px;
	font-weight:600;
	letter-spacing:0.4px;
	text-transform:uppercase;
}

/* Parking gratuit */
.parking-type.free{
	background:#e8f3ea;
	color:#2f6b3f;
}

/* Parking payant */
.parking-type.paid{
	background:#f3ede5;
	color:#7a5c3e;
}

.plan-grand-main {
	width: 100%;
	max-width: 900px;
	min-height: 100%;
	margin: 0 auto;
	padding: 100px 0 40px 0;
	background-color: #f0debf;
}

.plan-grand {
	margin: 0 12px 24px 12px;
	padding: 28px 12px 22px 12px;
	background-color: #f7ecd8;
	border-top: 10px solid #F2A2A2;
	border-bottom: 1px solid rgba(132, 122, 110, .28);
}

.plan-grand h1 {
	margin: 0 0 22px 0;
	padding: 0;
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	font-size: 17px;
	line-height: 1.55;
	text-align: center;
	text-transform: uppercase;
	color: #847A6E;
}

.plan-grand img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	border-top: 10px solid #F2A2A2;
	border-bottom: 10px solid #F2A2A2;
}

.plan-retour {
	display: block;
	max-width: 310px;
	margin: 24px auto 0 auto;
	padding: 14px 12px;
	font-family: myFirstFont, Arial, Helvetica, sans-serif;
	font-size: 11px;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
	background-color: #d98b8b;
	border: 1px solid #d98b8b;
}

@media (min-width: 800px) {
	.ouverture-main {
		width: 580px;
	}
}
