/*
 Theme Name:   Gravel Agenda
 Description:  Thème enfant bootScore du calendrier gravel Gravel Agenda
 Author:       Gravel Agenda
 Author URI:   https://gravelagenda.com
 Template:     bootscore-main
 Version:      1.0.0
 Text Domain:  gravelagenda
*/

/*
All style editing is done via scss/_bscore_custom.scss
*/

/* BASE CALENDRIER */

/* ################### BODY ########################### */
/* Set with value "no-break" par defaut par bootscore et ça casse la responsivité des tables*/
body {
    word-break: normal;
}

/* ################### PAGE ########################### */
.content-area {
	margin-top: 25px;
}

/* ################### TYPOGRAPHIE ########################### */
/* Accent color to green "success" */
.em {
	--accent-hue: 132;
	--accent-s: 36%;
	--accent-l: 39%;
}

pre {
	padding-top: 0px!important;
}

/* numéros de listes numérotées en gras */
ol>li::marker {font-weight: bold;}

/* .em.pixelbones {
	font-family: var(--bs-body-font-family)!important;
} */

/* ################### LINKS ########################### */
a:not(.btn),
a:visited:not(.btn),
a:active:not(.btn) {
	color: #005a31;
}

a:hover:not(.btn) {
	color: #91af16;
}

/* ################### TITRES ########################### */
h1 {
	color: #31502e;
	text-align: center;
	font-weight: 700!important;
	letter-spacing: -1px!important;
	margin-bottom: 65px;
}

.h1sub {
	font-size: 70%;
}

h2, h3, h4, h5 {
	font-weight: 600!important;
	letter-spacing: -1px!important;
}

h2,
.em.pixelbones h2 {
	color: #749072!important;
	font-size: calc(1.325rem + 0.9vw)!important;
	margin-top: 3rem!important;
    font-weight: 600!important;
    line-height: 1.2!important;
	font-family: var(--bs-body-font-family)!important;
}
h2:after {
    content: ""; /* This is necessary for the pseudo element to work. */ 
    display: block; /* This will put the pseudo element on its own line. */
    margin: 0 0; /* This will center the border. */
    width: 25%; /* Change this to whatever width you want. */
    padding-top: 8px; /* This creates some space between the element and the border. */
    border-bottom: 1px solid #628264; /* This creates the border. Replace black with whatever color you want. */
}

h3,
.em.pixelbones h3 {
	color: #bd0018!important;
	font-size: calc(1.3rem + 0.6vw)!important;
	margin-top: 0!important;
    margin-bottom: 0.5rem!important;
    font-weight: 600!important;
    line-height: 1.2!important;
}

h4 {
	color: #bb704f!important;
}

h5 {
	color: #4a7a8b;
}

/* Titre de liste groupée */
h3.h3listgroup {
	color: red;
	/* font-size: calc(.7rem + 0.5vw) !important; */
	margin-top: 3rem;
}

/* ################### TABLES ########################### */
.table-nonfluid {
	width: auto !important;
 }

/* ################### BUTTONS ########################### */
.btn {
	border-radius: 3px;
}


/* ################### ALERTS ########################### */
.alert {
	border-radius: 3px;
}

.alert-light {
	border: 1px solid lightgray !important;
}


/* ################### NAVIGATION ########################### */
.navbar {
	font-size: 100%;
}

.nav-link, .nav-link.active {
	color: white !important;
	margin: 2px 5px;
	padding: 8px;
	border-radius: 5px;
}

.nav-link:hover, .nav-link:focus {
	color: #3f864d !important;
	background-color: white;
	border-radius: 5px;
}

.dropdown-item {
	margin: 2px 0px;
}

.dropdown-item:hover, .dropdown-item.active {
	color: white!important;
	background-color: #3f864d;
}

.navbar .nav-link[href$="/proposer-un-evenement/"] {
	background-color: #d61f2c;
	color: white !important;
}
.navbar .nav-link[href$="/proposer-un-evenement/"]:hover,
.navbar .nav-link[href$="/proposer-un-evenement/"]:focus {
	background-color: #ffa4ab;
	color: black !important;
}

.navbar hr {
	margin: 0px!important;
}

/* ################### PAGE de SOUMISSION ########################### */
/* Titres h3 du form de soumission */
.css-event-form .em.pixelbones h3 {
	background: #bd0102 !important;
	color: white !important;
	font-size: calc(1.1rem + 0.5vw) !important;
	font-weight: 600 !important;
	padding: 5px 10px !important;
	border-radius: 3px;
	margin-bottom: 15px !important;
	margin-top: 40px !important;
}

/* Format des champs dates séparées */
.em.em-event-editor .input .event-form-when .em-event-dates.em-datepicker-until .em-datepicker-until-fields {
	display: grid;
	grid-template-columns: 100%;
}

/* Modification taille de l'entete du datepicker (mois et année) augmentée sinon l'année n'est pas visible, pas réussi à trouver pourquoi */
.flatpickr-months .flatpickr-month {
	height: 52px;
}
.flatpickr-current-month {
	width: 25%;
}

/* Styling du bouton de la page de soumission */
.em.pixelbones .input input[type=submit] {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	height: unset !important;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

/* Réduction de la margin du menu déroulant du nom de l'évenement de 15px 5px pour réduire l'espace avec le texte en-dessous */
.em .selectize-control.em-selectize:not(.always-open).selectize-control {
    margin-bottom: 5px!important;
}

/* margin entre categories et inforamtions sur le trail */
.event-editor {
	margin-top: 15px;
}

/* ################### PAGE ÉVÉNEMENT SEUL ########################### */
.entry-header h1 {
	margin-bottom: 35px;
}

/* Titres page événement seul */
.em.pixelbones.em-item-single.em-event-single h3 {
	margin-bottom: 6px!important;
}

.entry-content {
	border-top: 4px solid #a8d144;
	padding-top: 2.5rem!important;
}

.em-event-content {
	border: 1px solid #d5d5d5;
	padding: 10px !important;
	border-radius: 3px !important;
}

/* Image mise en avant */
.post-thumbnail {
    border: 0;
    text-align: center!important;
}
.post-thumbnail img {
	margin-bottom: 15px!important;
	max-width: 650px !important;
	margin-right: auto!important;
    margin-left: auto!important;
}

/* Pour que le bandeau d'alerte de trail annulé s'affiche sur toute la largeur de l'écran */
section.em-item-header.mb-0 {
	display:block!important;
}

/* Margin top du bouton "Ajouter au calendrier" 6px au lieu de 15px */
/* .em-event-when .em.em-item.em-item-single .em-item-meta button */

.em button.input.em-event-add-to-calendar{
	margin-top: 6px !important;
} 

/* ################### CARTE ########################### */
/* Enlevé le padding de la bulle d'info des cartes */
.em-map-balloon .em-map-balloon-content {
	padding: 0px!important;
}

/* ################### BLOG ########################### */
h2.blog-post-title {
    font-size: calc(1rem + 0.9vw)!important;
    margin-top: 0px!important;
    font-weight: 500!important;
    line-height: 1!important;
}

h2.blog-post-title:after {
    content: none;
}

/* ################### PAGE de RECHERCHE / CALENDRIER INTÉGRAL ########################### */
/* Style des options avancées */
.em.em-search-advanced .em-search-advanced-sections>section.em-search-advanced-section header {
font-size: inherit;
}


/* ################### TABLE LISTE GROUPÉE CALENDRIER COMPLET ########################### */
/* Suppression des bullet-points des listes de catégories dans le tableau du calendrier */
.em.pixelbones ul {
    list-style: none!important;
	margin-bottom: 0px!important;
}
.em.pixelbones li {
    margin-bottom: 0px!important;
}

.em.pixelbones ul.event-categories a {
    text-decoration: var(--accent-color)!important;
	white-space: nowrap;
}

.em.pixelbones ul ul {
	margin: 0px!important;
}

/* Suppression du padding left 0 pour la premiere colonne d'une table */
.em.pixelbones td:first-child, .em.pixelbones th:first-child {
    padding-left: 10px!important;
}
.em.pixelbones td:last-child, .em.pixelbones th:last-child {
    padding-right: 5px!important;
}

.em-events-list-grouped {
	display: block;
	overflow-x: auto;
}

.em-events-list-grouped > h2 {
	margin: 2rem 0 .5rem;
	padding-bottom: .45rem;
	border-bottom: 2px solid var(--ga-border);
	color: var(--ga-forest-deep);
	font-size: 1.35rem;
}

.ga-calendar-head,
.em-events-list-grouped > .ga-calendar-row {
	display: grid;
	grid-template-columns: 8.5rem minmax(17rem, 2.2fr) minmax(12rem, 1.1fr) minmax(12rem, 1.1fr) minmax(12rem, 1.2fr);
	gap: .5rem .85rem;
	align-items: center;
	min-width: 68rem;
}

.ga-calendar-head {
	padding: .35rem .5rem;
	background: var(--ga-forest-deep);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.em-events-list-grouped > .ga-calendar-row {
	padding: .45rem .5rem;
	border-bottom: 1px solid var(--ga-border);
	color: var(--ga-forest-deep);
	font-size: .76rem;
	line-height: 1.25;
}

.em-events-list-grouped > .ga-calendar-row.ga-calendar-day-start {
	border-top: 3px solid var(--ga-forest);
}


.em-events-list:not(.em-events-list-grouped) > .em-item .em-item-image {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.ga-calendar-row .em-item-title {
	margin: 0;
	font-size: .78rem;
	line-height: 1.2;
}

.ga-calendar-row .em-item-title a {
	color: var(--ga-forest);
}

.ga-calendar-date {
	font-weight: 700;
}

.ga-calendar-department,
.ga-calendar-place,
.ga-calendar-type {
	overflow-wrap: anywhere;
}

.ga-calendar-place a,
.ga-calendar-type a {
	color: inherit;
}

@media (max-width: 767.98px) {
	.em-events-list-grouped {
		margin-right: -.75rem;
		margin-left: -.75rem;
		padding: 0 .75rem;
	}

	.em-events-list-grouped > h2 {
		font-size: 1.15rem;
	}

	.ga-calendar-head,
	.em-events-list-grouped > .ga-calendar-row {
		grid-template-columns: 7rem 15rem 10rem 11rem 11rem;
		min-width: 64rem;
		gap: .4rem .65rem;
	}

	.ga-calendar-head {
		font-size: .65rem;
	}

	.em-events-list-grouped > .ga-calendar-row,
	.ga-calendar-row .em-item-title {
		font-size: .72rem;
	}
}
body.gravelagenda-site .em.em-list.em-events-list-grouped > .ga-calendar-row {
	display: grid !important;
	grid-template-columns: 8.5rem minmax(17rem, 2.2fr) minmax(12rem, 1.1fr) minmax(12rem, 1.1fr) minmax(12rem, 1.2fr) !important;
	font-size: .76rem !important;
}

body.gravelagenda-site .em.em-list.em-events-list-grouped .ga-calendar-row .em-item-title {
	font-size: .78rem !important;
	line-height: 1.2 !important;
}

@media (max-width: 767.98px) {
	body.gravelagenda-site .em.em-list.em-events-list-grouped > .ga-calendar-row {
		grid-template-columns: 7rem 15rem 10rem 11rem 11rem !important;
		font-size: .72rem !important;
	}

	body.gravelagenda-site .em.em-list.em-events-list-grouped .ga-calendar-row .em-item-title {
		font-size: .72rem !important;
	}
}


.em-search-form .em-search-sort {
	display: none !important;
}

.em-events-list-grouped > h2 {
	border-bottom: 0 !important;
}

body.gravelagenda-site .em.em-list.em-events-list-grouped > .ga-calendar-row {
	align-items: center !important;
	padding-top: .25rem !important;
	padding-bottom: .25rem !important;
	font-size: .95rem !important;
	line-height: 1.15 !important;
}

body.gravelagenda-site .em.em-list.em-events-list-grouped .ga-calendar-row .em-item-title {
	font-size: 1rem !important;
	line-height: 1.15 !important;
}

body.gravelagenda-site .em.em-list.em-events-list-grouped .ga-calendar-row a {
	text-decoration: none !important;
}

.ga-calendar-type ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 767.98px) {
	body.gravelagenda-site .em.em-list.em-events-list-grouped > .ga-calendar-row {
		font-size: .9rem !important;
	}

	body.gravelagenda-site .em.em-list.em-events-list-grouped .ga-calendar-row .em-item-title {
		font-size: .95rem !important;
	}
}
body.gravelagenda-site .em.em-list.em-events-list-grouped .ga-calendar-event .em-item-title {
	margin: 0 !important;
}
.em.em-list.em-events-list {
	display: block;
	overflow-x: auto;
}

.em.em-list.em-events-list > .ga-calendar-row {
	display: grid !important;
	grid-template-columns: 8.5rem minmax(17rem, 2.2fr) minmax(12rem, 1.1fr) minmax(12rem, 1.1fr) minmax(12rem, 1.2fr) !important;
	gap: .5rem .85rem;
	align-items: center;
	min-width: 68rem;
	padding: .25rem .5rem;
	font-size: .95rem !important;
	line-height: 1.15 !important;
}

.em.em-list.em-events-list > .ga-calendar-row .em-item-title {
	margin: 0 !important;
	font-size: 1rem !important;
	line-height: 1.15 !important;
}

.em.em-list.em-events-list > .ga-calendar-row a {
	text-decoration: none !important;
}

@media (max-width: 767.98px) {
	.em.em-list.em-events-list > .ga-calendar-row {
		grid-template-columns: 7rem 15rem 10rem 11rem 11rem !important;
		min-width: 64rem;
		gap: .4rem .65rem;
		font-size: .9rem !important;
	}

	.em.em-list.em-events-list > .ga-calendar-row .em-item-title {
		font-size: .95rem !important;
	}
}


.ga-calendar-table {
	overflow-x: auto;
}

.ga-calendar-table .em.em-list.em-events-list {
	overflow: visible;
}

/* Liens des événements dans tables liste groupée calendrier complet */
/* .em.pixelbones .eventlinktable a { 
	color:orange!important
}  */

/* ################### WIDGETS ########################### */
.widget {
	border-radius: 3px;
}

.widget-area a {
	text-decoration: none;
}

.widget-area h5 {
	text-align: center;
	border-bottom: 1px dotted gray;
	padding-bottom: 5px;
}

.widget-area ul {
	list-style: inherit;
	padding-left: 10px;
}

/* ################### COMMENTAIRES ########################### */
/* Ne pas afficher l'alert sur "les commentaires sont fermés */
.no-comments {
	display: none;
}

/* ################### METAS & FIL D'ARIANE ########################### */
/* Ne pas afficher fil d'ariane et meta de Posts */
.entry-meta,
.breadcrumb,
.breadcrumb-scroller,
.time-updated-separator,
.updated,
.byline {
	display: none !important;
}

/* ################### DROPDOWNS ########################### */
/* Font weight normal in dropdown regions/dpts */
.alert a:not(.alert a.btn),
.must-log-in a:not(.alert a.btn) {
	font-weight: 400;
}



















.ga-image-upload-help {
	margin: .5rem 0 0;
	color: #4b5563;
	font-size: .875rem;
}

.ga-image-preview {
	min-height: 1.5rem;
	margin-top: .75rem;
	color: #166534;
	font-size: .875rem;
}

.ga-image-preview img {
	display: block;
	width: 120px;
	height: 120px;
	object-fit: contain;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	background: #f9fafb;
}

.ga-image-preview.is-error {
	color: #b42318;
}
.ga-section-help {
	margin: 0 0 1rem;
	color: #4b5563;
	font-size: .9rem;
}

body.gravelagenda-site form.em-event-editor > .em-event-editor-section,
body.gravelagenda-site form.em-event-editor > .event-form-details {
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	background: #fff;
}

.ga-image-upload-label {
	display: block;
	margin-bottom: .5rem;
	font-weight: 600;
	color: #1f2937;
}

body.gravelagenda-site form.em-event-editor input:focus,
body.gravelagenda-site form.em-event-editor select:focus,
body.gravelagenda-site form.em-event-editor textarea:focus,
body.gravelagenda-site form.em-event-editor button:focus-visible {
	outline: 3px solid rgba(245, 158, 11, .45);
	outline-offset: 2px;
}

body.gravelagenda-site form.em-event-editor .ga-form-invalid {
	border-color: #b42318;
}

@media (max-width: 767.98px) {
	body.gravelagenda-site form.em-event-editor > .em-event-editor-section,
	body.gravelagenda-site form.em-event-editor > .event-form-details {
		padding: 1rem;
	}

}
.ga-routes-fields {
	display: grid;
	gap: .45rem;
	margin: 0 0 1.25rem;
	padding: 1rem;
	border: 1px solid #d9e4d8;
	border-radius: 5px;
	background: #f6faf5;
}

.ga-routes-fields legend {
	padding: 0 .35rem;
	font-weight: 700;
	color: #173c2a;
}

.ga-routes-fields p,
.ga-recurrence-help {
	margin: 0 0 .5rem;
	color: #4b5563;
	font-size: .875rem;
}

.ga-routes-fields label {
	font-weight: 600;
}

.ga-routes-fields input {
	width: 100%;
}
.ga-route-row {
	display: grid;
	grid-template-columns: minmax(10rem, .7fr) minmax(10rem, 1fr) minmax(10rem, .7fr) minmax(10rem, 1fr);
	gap: .45rem .75rem;
	align-items: center;
	margin-bottom: .75rem;
}

.ga-route-row label {
	font-weight: 600;
}

.ga-route-add {
	justify-self: start;
}

@media (max-width: 767.98px) {
	.ga-route-row {
		grid-template-columns: 1fr;
		gap: .35rem;
	}
}

body.gravelagenda-site :is(
	.ga-hero,
	.ga-stat,
	.ga-link-card,
	.ga-callout,
	.ga-event-facts,
	.ga-event-links,
	.ga-submission-intro,
	.ga-story-split__photo,
	.ga-map-panel,
	.ga-blog-card,
	.ga-post-card,
	.ga-blog-hero,
	.ga-article__hero img,
	.vt-location-finder,
	.vt-advanced-search,
	.vt-suggestions,
	.vt-event-item,
	.vt-region-count,
	.alert,
	.card,
	.widget,
	.dropdown-menu,
	.em-item,
	.em-item-image,
	form.em-event-editor > section
) {
	border-radius: 3px !important;
}

body.gravelagenda-site :is(
	.btn,
	.nav-link,
	.dropdown-item,
	.form-control,
	.form-select,
	input:not([type="checkbox"]):not([type="radio"]),
	select,
	textarea
) {
	border-radius: 2px !important;
}

body.gravelagenda-site main img:not(.leaflet-tile) {
	border-radius: 2px !important;
}