/*
Theme Name: Feuillus libres - thème officiel
Theme URI: https://feuillus-libres.fr
Author: DEFI-Écologique
Author URI: https://www.defi-ecologique.com/services/eco-communication/creation-de-sites-internet/
Description: Thème pour le site officiel du Faune furieuse, adapté depuis le site Feuillus libres
Version: 1.0
*/

/*


Liste des couleurs :


#000	Noir
#808080	Gris moyen
#d4d4d4	gris clair
#fff	Blanc


- Rouge du message d'erreur : #ac1919



RESET -> NE JAMAIS MODIFIER 
Cette section sert à "niveler" les éléments de base du HTML, qui sont gérés différemment selon les navigateurs.
La "base" du CSS est ainsi uniformisée.
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, ctaintas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-weight: 300;
	max-width: 100%;    
	line-height: 1;
	transition: 150ms ease-in-out;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
p, ul{
	margin-bottom:1em;   
	line-height: 1.4;
}
ul {
	list-style: disc;
	text-align: left;
}
ol, ul{
	padding-left: 2.1em;
}
ul.no_list_style_type{
	list-style-type: none;
	-webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 0;
	padding: 0;
}
ul.no_list_style_type.centered{
	margin: 0 auto;
}
ul.fa_list li{
	display: table;
}
ul.fa_list li > *{
	display: table-cell;
	vertical-align: middle;
}
ul li,
ol li{
	line-height: 1.5em;
	margin-bottom: 0.6em;
}
nav ul li{
	margin-bottom: 0;
}
li p{
	margin-bottom: 0.5em;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
em,
.italic,
i.taxonomy{
	font-style: italic;
}
sup{
	vertical-align: super;
	font-size: 0.7em;
}
textarea, select, input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"]{
	box-sizing: border-box;
	background-clip:padding-box;
	background-color:#fff;
	color:#000;
	border-color:#808080;
	border-style: solid;
	outline:0;
	margin:0;
	padding:0 3%;
	display: inline-block;
	text-align: left;
	font-size:1em;
	height: 3em;
	vertical-align: middle;
    border-radius: 2.5em;
}
input[type="submit"]{
	letter-spacing: 1px;
    transition: 200ms ease-in-out;
    padding: 0.5rem 1.5rem;
    text-decoration: none;
    border-style: solid;
    border-width: 1px;
    border-radius: 2.5em;
    border-color: #808080;
    background: #808080;
    color: #fff;
	display: inline-block;
	vertical-align: middle;
	font-family: Arial, sans-serif;
}
input[type="submit"]:hover{
	cursor: pointer;
    border-color: #000;
    background: #000;
}
input[type="text"]:focus{
	border-color: #000;
}
.desktop input[type="text"]{
	height: 2.2em;
}
blockquote{
	clear: both;
	margin: 1em auto;
	display: table;
	padding: 0.5em 1em;
	border-left: 2px solid contrastcolor;
	font-style: italic;
}
/* END RESET */

/*
GENERAL
Les éléments présents dans cette section concernent le site en général et sont appliqués sur tous les éléments sans distinction. Ils correspondent au fonctionnement "par défaut" des éléments concernés.
*/
/* 
GENERAL - Définition des éléments de base
Ici, nous définissons les propriétés des éléments natifs HTML
*/
body{
	font-family: Arial, sans-serif;
	font-size: 12px;
    line-height: 1.4;
	letter-spacing: 0.03em;
	margin:0;
	font-weight: 300;
	color: #000;
	background: #fff;
}
::selection {
    background-color: #d4d4d4;
	color: #000;
}
strong, .bold, b, b em, b a, strong em, strong a, .bold a, strong .fa, .bold .fa, .bold em{
	font-weight: 600;
}
a{
	text-decoration: none;
	transition: 150ms ease-in-out;
	text-decoration: underline;
	color: #000;
}
a:hover{
	cursor: pointer;
	color: #808080;
}
/* 
GENERAL - Définition des classes utilisées dans le thème et utilisables en HTML et shortcode
Ici, nous définissons les noms de classes les plus utilisées et leurs propriétés
*/
.hidden{
	display: none;
}
.texte_centre{
	text-align: center;
}
.texte_gauche{
	text-align: left;
}
.texte_droite{
	text-align: right;
}
.fixed{
	position: fixed;
}
.content{
	max-width: 100% !important;
	display: table;
	margin: 0 auto;
}
.block{
	display: block !important;
}
.full_width{
	width: 100%;
}
.absolute{
	position: absolute;
}
.relative{
	position: relative;
}
.stripe{
	padding: 2rem 2em;
	clear: both;
}
.stripe > .content > h2:first-child{
	margin-top: 0;
}
.clear{
	clear: both;
}
.centered{
	margin: 0 auto;
    display: table;
}
.centered_marge{
	margin: 1em auto;
    display: table;
}
img {
    max-width: 100%;
    height: auto;
    display: block;
}
figcaption{
	color: #d4d4d4;
    caption-side: bottom;
	padding: 0.5em 0;
}
hr{
    display:block;
    border:none;
    color: #fff;
    height:1px;
}
section{
	min-height: 80vh;
	padding-top: 7em;
}
/* FIN GENERAL */


/* BALISES SPECIFIQUES */
/* hn -> les titres et sous-titres */
h1{
	margin: 0 auto;
	display: table;
	font-size: 2.5em;
	clear: both;
    letter-spacing: 0.04em;
    line-height: 1.5em;
	font-weight: 500;
	color: #000;
	font-family: 'Oswald', serif;
}
h2, h3, h4{
	margin: 2rem 0 ;
	line-height: 1.4;
	font-size: 1em;
    letter-spacing: 0.04em;
}
h2{
	clear: both;
	font-size: 2em;
	display: table;
	margin: 3rem 0 2rem;
	color: #808080;
	font-weight: 500;
	font-family: 'Oswald', serif;
}
h2 svg{
	height: 1em;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5em;
}
h3{
	font-size: 1.7em;
	color: #fff;
	text-transform: uppercase;
	font-weight: 500;
	font-family: 'Oswald', serif;
}
h4{
	font-weight: 600;
    font-size: 1.2em;
    color: #000;
}
h1 i, h2 i, h3 i, h4 i{
	margin-right: 0.2em;
}
h1 i.taxonomy, h2 i.taxonomy, h3 i.taxonomy, h4 i.taxonomy,
h1 em, h2 em, h3 em, h4 em{
	margin-right: 0;
}
/* cta -> les boutons utilisés sur le thème des Feuillus libres */
.fl_cta{
    white-space: normal;
	margin: 1em auto;
	display: table;
	color: #fff;
}
.fl_cta:hover{
	cursor: pointer;
}
.fl_cta a{
	letter-spacing: 1px;
	transition: 200ms ease-in-out;
    padding: 0.5rem 1.5rem;
    text-decoration: none;
    border-style: solid;
	border-width: 1px;    
    border-radius: 2.5em;
	border-color: #808080;
	background: #808080;
	color: #fff;
	text-transform: uppercase;
	font-weight: 500;
	font-family: 'Oswald', serif;
}
.fl_cta a:hover{
	color: #808080;
	background: #fff;
	text-decoration: none;
}
.fl_cta_blanc a{
	background: #fff;
	color: #000;
	border-color: #fff;
}
.fl_cta_blanc a:hover{
	border-color: #d4d4d4;
	background: #d4d4d4;
	color: #000;
}
.fl_cta_ghost a{
	background: transparent;
	color: #000;
	border-color: #000;
}
.fl_cta_ghost a:hover{
	background: #000;
	color: #fff;
}
.fl_cta_ghost_blanc a{
	background: transparent;
	color: #fff;
	border-color: #fff;
}
.fl_cta_ghost_blanc a:hover{
	background: #fff;
	color: #000;
}
.fl_cta_cat a{
	background: #fff;
	color: #000;
	border-color: #000;
}
.fl_cta_cat a:hover{
	background: #000;
	color: #fff;
}
.fl_cta_small{
	font-size: 0.8em;
}
.fl_cta_small a{
	padding: 0.5rem 1rem;
}
.fl_cta_big a{
	padding: 1.5rem 4rem;
    display: block;
}
/* Message d'erreur */
.error{
	font-weight: 600;
	border: 1px solid;
	border-radius: 0.25rem;
	padding: 0.5rem;
	color: #ac1919;
	border-color: #ac1919;
}
/* Images sur les pages et articles */
.wp-caption{
	width: auto !important; /* Pour rendre les images "responsive" */
	margin: 1em auto;
}
.wp-block-image img, .wp-block-image figcaption{
	margin: 0 auto;
	display: table;
}
.wp-caption-text{
	margin: 0.25em auto;
	font-style: italic;
	display: table;
	font-size: 0.9em;
}
.wp-caption img, #post_single_content iframe{
	margin:0 auto;
	display: table;
	max-width: 300px;  /* Pour rendre les images "responsive" */
}
/* Image par défaut */
.fl_image_par_defaut{
	margin: 0 auto;
	background: #d4d4d4;
}
.fl_image_par_defaut svg{
	height: auto;
    width: 100%;
    margin: 0 auto;
    display: table;
}
.fl_image_par_defaut svg > g > path{
	fill: #d4d4d4 !important;
}
.fl_image_par_defaut svg > g > g  path{
	fill: #000 !important;
}
/* FIN STRUCTURE */

/* HEADER */
header{
	z-index: 99;
	border-bottom: 1px solid #fff;
	background: #000;
}
#header_container > div{
	display: table-cell;
	vertical-align: middle;
	padding: 0 1em; /* Attention, affecte la hauteur du header et impacte le padding-top de la balise <section> et #hbm_container */
}
header a{
	display: block;
}
/* HEADER - Logo */
#logo_header svg{
	width: auto;
    height: 7em; /* Attention au padding-top de la balise <section> et #hbm_container */
}
#logo_header svg > g > path{
	fill: #000 !important;
}
#logo_header svg > g > g  path{
	fill: #fff !important;
}
#logo_header a:hover svg > g > g  path{
	fill: #d4d4d4 !important;
}
/* HEADER - Menus */
/* Hamburger menu */
.hbm_container,
#hbm_checkbox{
	display: none;
}
.hbm_label{
    display: table;
    margin: 0 auto;
    cursor: pointer;
	border-color: #fff;
}
#menu_label{
	display: block;	
}
.hbm_label .menu_bars{
	font-size: 1.2rem;
    border-radius: 99em;
    padding: 0.5rem;
	color: #fff;
	display: block;
}
.hbm_label .menu_bars svg{
	height: 25px;
	display: block;
}
.hbm_container{
	z-index: 3;
	position: absolute;
	right: 0px;
	left: 0%;
	top: 7em;
	min-height: 95vh;
	background-color: #000; 
	color: #fff;
	padding-top: 2em;
}
#hbm_checkbox:checked ~ .hbm_container {
	display: block;
}
#menu_header .hbm_container ul.fl_menu > li > a{
	display: block;
	padding: 1rem 0;
	width: 100%;
	font-size: 1.2rem;
	text-align: center;
	color: #fff;
	font-weight: 500;
	font-family: 'Oswald', serif;
	text-transform: uppercase;
}
#menu_header .hbm_container ul.fl_menu > li > a:hover{
	color: #fff;
}
.desktop #menu-header{
	margin-right: 0;
}
.desktop header #menus_div nav li a{
	color: #fff;
	text-align: center;
	padding: 1rem;
	font-weight: 500;
	font-family: 'Oswald', serif;
	text-transform: uppercase;
	text-decoration: none;
}
.desktop header #menus_div nav li:hover a,
.desktop header #menus_div li:hover{
	color: #d4d4d4;
	text-decoration: underline;
}
.desktop header #menus_div li{
	display: table-cell;
	vertical-align: middle;
	padding: 0;
}
/* FIN HEADER */
/* FOOTER */
#footer{
	color: #fff;
	background: #000;
}
#footer p{
	margin-bottom: 0;
	text-align: center;
}
#footer #footer_bg{
	background: #fff;
	color: #000;
}
#footer #copyright .texte_centre a{
	text-decoration: underline;
	color: #fff;
}
#footer #copyright .texte_centre a:hover{
	color: #808080;
}
#footer #copyright p{
	padding: 1em;
	font-size: 0.8rem;
	margin-bottom: 0;
}
#footer #copyright p:first-child{
	padding-top: 2em;
}
#footer #copyright .texte_centre span{
	margin: 0 1em;
}
/* FOOTER - Logo */
#logo_footer{
	margin-bottom: 2em;
	margin-left: 0;
}
#logo_footer svg{
	width: auto;
	height: 150px;
	margin: 0 auto;
    display: table;
}
#logo_footer svg .cls-1 {
	fill: #000 !important;
}
/* FIN FOOTER */
/* Breadcrumbs */
#breadcrumbs{
	font-size: 0.75em;
	margin: 2em auto;
}
#breadcrumbs li{
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	font-weight: 600;
	color: #808080;	
}
#breadcrumbs li:after{
	content: '>';
	padding: 0 0.5em;
	font-weight: 600;
	color: #d4d4d4;
}
#breadcrumbs li:last-child:after{
	content: '';
	padding: 0;
}
#breadcrumbs a{
	color: #808080;
	font-weight: 300;
}
#breadcrumbs a:hover{
	color: #000;
}
/* Menus de catégories et tags */
.cat-item{
    white-space: normal;
	margin: 1em;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
}
.cat-item:hover{
	cursor: pointer;
}
.cat-item a{
	letter-spacing: 1px;
	transition: 200ms ease-in-out;
    padding: 0.5rem 1.5rem;
    text-decoration: none;
    border-style: solid;
	border-width: 2px;    
    border-radius: 2.5em;
	border-color: #d4d4d4;
	background: #fff;
	color: #808080;
	font-weight: 600;
}
.cat-item a:hover{
	border-color: #808080;
}
.tag_menu{
	margin: 1em 0;
}
.tag_menu .article_tags a{
	color: #808080;	
    font-style: italic;
}
.tag_menu .article_tags a:before{
	content:'#';
}
.tag_menu .article_tags a:hover{
	text-decoration: underline;
}
.tag_menu li{
	margin-bottom: 0;
}

/* FRONT PAGE */
#hero_shot{
	background: #fff;
	color: #000;
}
#hero_shot h1{
	color: #000;
}
#hero_shot .content > *{
	margin-bottom: 2em;
	text-align: center;
}
#hero_shot .content > *:last-child{
	margin-bottom: 0;
}
/* FIN FRONT PAGE */

/* SINGLE.PHP 
Ici, on spécifie tous les design du template single.php et ses alternatives*/
.single #partage_rs{
	text-align: right;
}
.single .hustle-ui .hustle-social{
	display: block;
	padding: 0;
}
.single #post_meta {
	font-size: 0.9em;
	text-align: right;
	color: #000;
}
.single #post_meta > .content li{
	text-align: right;
	font-weight: 600;
}
.single #post_meta > .content li:last-child{
	margin-bottom: 0;
}
#meta_stripe_wrapper > ul{
	padding: 1em 0;
}
#meta_stripe_wrapper > ul .fl_cta{
	margin: 0;
}
#meta_stripe_wrapper > ul .fl_cta a{
	text-transform: none;
	font-size: 0.9em;
}
#meta_stripe_wrapper > ul .fl_cta a:hover{
	box-shadow: none;
}
#meta_stripe_wrapper > ul > li{
	display: inline-block;
	margin: 0 1em 0 0;
	vertical-align: middle;
}
#meta_stripe_wrapper > ul > li:last-child{
	margin-right: 0;
	margin-left: auto;
}
#meta_stripe_wrapper .article_categories li,
#meta_stripe_wrapper .article_tags li{
	margin: 0 1em 0 0 ;
}
#meta_stripe_wrapper .article_categories li:last-child,
#meta_stripe_wrapper .article_tags li:last-child{
	margin-right: 0 ;
}
#meta_stripe_wrapper .article_tags{
	text-align: right;
}
#meta_stripe_wrapper .article_tags a{
	color: #808080;	
    font-style: italic;
}
#meta_stripe_wrapper .article_tags a:before{
	content:'#';
}
#meta_stripe_wrapper .article_tags a:hover{
	text-decoration: underline;
}
#post_single_content #content_wrapper h2:first-child{
	margin-top: 0;
}
.hustle-ui .hustle-social[data-grid-desktop=inline] ul{
	display: table !important;
	margin: 0 0 0 auto !important
}
.hustle-ui .hustle-social[data-grid-desktop=inline] ul li{
	display: table-cell !important;
}
/* FIN SINGLE.PHP */
/* INDEX.PHP */
#title_stripe h1{
	display: block;
	text-align: left;
}
#title_stripe .chapeau{
	font-size: 1.2em;
	font-weight: 600;
	margin-top: 2em;
}
#index #title_stripe h1{
	color: #fff;
}
#index{
	background: #000;
	color: #fff;
}
/* Pages et posts */
.black_background{
	background: #000;
	color: #fff;
}
.black_background a{
	color: #fff;
}
.black_background h2,
.black_background a:hover{
	color: #d4d4d4;
}
/* BOUCLES ET TUILES
Ici on spécifie l'affichage des boucles et des tuiles : articles, vidéos
*/
/* Actualités */
#actualites{
	background: #000;
	color: #fff;
}
#actualites h2,
#actualites h3{
	color: #fff;
}
.article-tuile{
	margin: 2em auto;
	text-align: left;
	border: 1px solid #fff;
	padding: 2em;
	color: #fff;
	display: block;
}
.article-tuile h3{
	text-align: center;
}
.mobile .article-tuile h3{
	max-width: 500px;
}
.article-tuile p.date{
	color: #d4d4d4;
	font-size: 0.8em;
	margin: 1em 0;
	text-align: center;
}
.article-tuile p.extrait{
	color: #fff;
	font-size: 1.3em;
	font-weight: 600;
	margin: 3em 0;
	text-align: center;
}
.article-tuile > :first-child{
	margin-top: 0;
}
.article-tuile > :last-child{
	margin-bottom: 0;
}
.article-tuile:hover{
	color: #000;
	border-color: #000;
}
.article-tuile:hover {
	border-color: #d4d4d4;
}
.desktop .article-tuile .fl_image_par_defaut{
	width: 500px;
}
.article-tuile .fl_image_par_defaut svg{
	max-width: 500px;
	max-height: 280px;
}
/* FIN BOUCLES ET TUILES */





/* RESPONSIVE -> Gestion du CSS en fonction de différentes largeurs d'écran */
/* Pour rendre les images "responsive" */
@media screen and (min-width: 400px) {
	.wp-caption img, #post_single_content iframe, #post_single_content img{
		max-width: 400px;  
	}
}
@media screen and (min-width: 600px) {
	.wp-caption img, #post_single_content iframe, #post_single_content img{
		max-width: 600px;  
	}
	.wp-caption.alignleft{
		float:left;
		margin-right: 1em;
	}
	.wp-caption.alignright{
		float:right;
		margin-left: 1em;
	}
	#hs_wrapper > div{
		display: table-cell !important;
		vertical-align: middle;
		width: 50%;
		padding: 1em 0;
	}
}
@media screen and (min-width: 800px) {
	.wp-caption img, #post_single_content iframe, #post_single_content img{
		max-width: 800px;  
	}
}
@media screen and (min-width: 1000px) {
	.wp-caption img, #post_single_content iframe{
		max-width: 100%;  
	}
	#post_single_content img{
		max-width: 1000px;
	}
}
/* Pour rendre le reste du site "responsive" */
@media screen and (min-width: 45rem) {
	body{
		font-size: 14px;
		line-height: 1.5rem;
	}
	.stripe{
		padding: 4rem 5%;
	}
}
@media screen and (min-width: 55rem) {	
	.content{
		max-width:  55rem !important;
	}
	/* FOOTER */
	.desktop #footer #logo_footer{
		margin-bottom: 2em;
	}
	.desktop footer #footer_container > div{
		display: table-cell;
		vertical-align: middle;
	}
	.desktop #footer #footer_container > div > div{
		margin-bottom: 1em;
	}
	.desktop #footer #footer_container > div > div:last-child{
		margin-bottom: 0;
	}
	.desktop #footer_desktop_wrapper{
		width: 33%;
	}
	/* HOME */
	#homepage_menu{
		table-layout: fixed;
		text-align: center;
	}
	#homepage_menu .homepage_menu_item_wrapper{
		display: table-cell;
		vertical-align: middle;
		padding: 0 1em;
	}
	#homepage_menu .homepage_menu_item_wrapper:first-child{
		padding-left: 0;
	}
	#homepage_menu .homepage_menu_item_wrapper:last-child{
		padding-right: 0;
	}
	/* BOUCLES ET TUILES */
	/* Articles */
	.articles_liste{
		text-align: center;
	}
	.article-tuile{
		display: inline-block;
		vertical-align: middle;
		margin: 3em;
	}
	/* INDEX */
	#title_stripe{
		padding: 6rem 5%;
	}
}
@media screen and (min-width: 65rem) {	
	body{
		font-size: 16px;
	}
	.content{
		max-width:  64rem !important;
	}
}
@media screen and (min-width: 70rem) {	
	.content{
		max-width:  69rem !important;
	}
}
@media screen and (min-width: 75rem) {	
	header .content,
	footer .content{
		max-width:  74rem !important;
	}
}
