:root {
	--angy-bordeaux: #974545;
	--angy-bordeaux-clair: #b77b7b;
	--angy-blanc: #fbfbfb;
	--angy-noir: #111111;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--angy-bordeaux) url("../img/bg.png") repeat;
	color: var(--angy-blanc);
	font-family: Arial, Helvetica, sans-serif;
}

/* ========================================
   HEADER
   ======================================== */

#header-wrap {
	width: 100%;
	background:
		var(--angy-bordeaux)
		url("../img/bg-header-wrap.png")
		repeat-x;
}

.angy-header-inner {
	width: min(960px, calc(100% - 40px));
	margin: 0 auto;
	padding: 18px 0 12px;
}

.angy-branding {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.angy-logo {
	display: block;
	flex: 0 0 auto;
}

.angy-logo img {
	display: block;
	max-width: 80px;
	height: auto;
}

.angy-identite {
	padding-top: 4px;
}

.angy-nom-site {
	margin: 0;
	padding: 0;
	font-family: "Comic Sans MS", "Segoe Print", cursive;
	font-size: 36px;
	line-height: 1.15;
	font-weight: normal;
}

.angy-nom-site a {
	color: var(--angy-blanc);
	text-decoration: none;
}

.angy-nom-site a:hover {
	text-decoration: none;
}

.angy-slogan {
	margin-top: 5px;
	font-size: 12px;
	color: var(--angy-blanc);
}


/* ========================================
   MENU PRINCIPAL
   ======================================== */

#angy-nav {
	display: flex;
	justify-content: flex-end;
	margin-top: 16px;
	position: relative;
	z-index: 1000;
}

/*
 * On cible volontairement les UL/LI génériques :
 * cela fonctionne avec le HTML généré par Menus
 * sans modifier le plugin.
 */

#angy-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#angy-nav > .menu-conteneur > ul,
#angy-nav > ul,
#angy-nav .menu-conteneur > ul.menu-liste,
#angy-nav .menu-conteneur > ul.menu-items {
	display: flex;
	align-items: center;
}

#angy-nav li {
	position: relative;
	margin: 0;
	padding: 0 15px;
	border-left: 1px dotted rgba(255,255,255,.4);
}

#angy-nav li:first-child {
	border-left: 0;
}

#angy-nav li > a,
#angy-nav li > span {
	display: block;
	padding: 4px 0;
	color: var(--angy-blanc);
	font-size: 14px;
	font-weight: bold;
	line-height: 16px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

#angy-nav li:hover > a,
#angy-nav li:focus-within > a,
#angy-nav li.on > a {
	color: var(--angy-noir);
}


/* ========================================
   SOUS-MENUS
   ======================================== */

/* ========================================
   SOUS-MENUS
   ======================================== */

/* Tous les UL situes dans un LI sont des sous-menus */
#angy-nav li > ul {
	display: none !important;
	position: absolute;
	top: 100%;
	left: 0;
	width: 180px;
	height: auto;
	margin: 0;
	padding: 5px 0 0;
	list-style: none;
	z-index: 2000;
}

/* Affichage uniquement au survol */
#angy-nav li:hover > ul,
#angy-nav li:focus-within > ul {
	display: block !important;
}


/* Elements d'un sous-menu */

#angy-nav li > ul > li {
	display: block;
	float: none;
	width: 180px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

#angy-nav li > ul > li > a,
#angy-nav li > ul > li > span {
	display: block;
	width: 180px;
	margin: 0;
	padding: 5px 15px;
	background: #333;
	border: 0;
	border-left: 1px solid #d9d9d7;
	color: #974545;
	font-size: 13px;
	font-weight: normal;
	line-height: 21px;
	text-decoration: none;
	text-transform: none;
	white-space: normal;
}

#angy-nav li > ul > li:hover > a,
#angy-nav li > ul > li:focus-within > a,
#angy-nav li > ul > li.on > a {
	color: #fff;
	border-left-color: #fff;
}


/* Niveau 3 */

#angy-nav li > ul > li > ul {
	display: none !important;
	top: 0;
	left: 180px;
	margin: 0;
	padding: 0;
}

#angy-nav li > ul > li:hover > ul,
#angy-nav li > ul > li:focus-within > ul {
	display: block !important;
}


/* ========================================
   RESPONSIVE MINIMAL
   ======================================== */

@media (max-width: 800px) {

	.angy-header-inner {
		width: calc(100% - 30px);
	}

	.angy-nom-site {
		font-size: 28px;
	}

	#angy-nav {
		justify-content: flex-start;
		overflow: visible;
	}

#angy-nav > .menu-conteneur > ul,
#angy-nav > ul,
#angy-nav .menu-conteneur > ul.menu-liste,
#angy-nav .menu-conteneur > ul.menu-items {
	flex-wrap: wrap;
}

	#angy-nav li {
		padding: 6px 10px;
	}

}

/* ========================================
   STRUCTURE GENERALE
   ======================================== */

#main-wrap {
	background: var(--angy-bordeaux) url("../img/bg-main-wrap.png") repeat-x bottom;
	padding: 20px 0 30px;
}

#main {
	width: min(960px, calc(100% - 40px));
	margin: 0 auto;
}

.angy-layout {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
}

#primary {
	width: 630px;
	min-width: 0;
}

#secondary {
	width: 300px;
	flex: 0 0 300px;
}


/* ========================================
   TYPOGRAPHIE
   ======================================== */

.angy-page-header h1,
.angy-section-title,
.angy-article-resume h2 {
	font-family: "Comic Sans MS", "Segoe Print", cursive;
	font-weight: normal;
	color: #000;
}

.angy-page-header h1 {
	margin: 10px 0;
	font-size: 38px;
	line-height: 1.15;
}

.angy-meta {
	font-size: 11px;
	color: #fff;
}

.angy-breadcrumb {
	margin: 0 0 18px;
	font-size: 11px;
	color: #000;
}

.angy-breadcrumb a {
	color: #000;
}


/* ========================================
   ARTICLES RUBRIQUE
   ======================================== */

.angy-articles-rubrique > h2 {
	margin-top: 45px;
	font-size: 18px;
	color: #fff;
}

.angy-article-resume {
	display: flex;
	gap: 38px;
	margin: 16px 0 40px;
}

.angy-article-image {
	width: 150px;
	flex: 0 0 150px;
}

.angy-article-image img {
	display: block;
	width: 150px;
	height: auto;
}

.angy-article-info {
	flex: 1;
}

.angy-article-info h2 {
	margin: 0 0 5px;
	font-size: 29px;
	line-height: 1.15;
}

.angy-article-info h2 a {
	color: #000;
	text-decoration: none;
}

.angy-introduction {
	line-height: 1.5;
}

.angy-read-more a {
	color: #000;
}


/* ========================================
   ARTICLE
   ======================================== */


.angy-chapo,
.angy-texte {
	line-height: 1.55;
}

.angy-texte img {
	max-width: 100%;
	height: auto;
}


/* ========================================
   SIDEBAR
   ======================================== */

.widget_search {
	padding: 20px;
	margin-bottom: 30px;
	background: rgba(255,255,255,.25);
}

.widget_search form {
	display: flex;
	margin: 0;
}

.widget_search input[type="text"],
.widget_search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	padding: 8px 10px;
}

.widget_search input[type="submit"],
.widget_search button {
	border: 0;
	background: #000;
	color: #fff;
	padding: 8px 12px;
	cursor: pointer;
}


.angy-sidebar-box {
	margin-bottom: 25px;
	background: rgba(255,255,255,.25);
	color: #000;
}

.angy-sidebar-box h2 {
	margin: 0;
	padding: 10px 15px;
	background: #000;
	color: #fff;
	font-size: 16px;
}

.angy-sidebar-box ul {
	list-style: none;
	margin: 0;
	padding: 12px 20px;
}

.angy-sidebar-box li {
	margin: 0;
	padding: 7px 0;
}

.angy-sidebar-box a {
	color: #000;
}

.angy-sidebar-box li.on a {
	font-weight: bold;
}


/* ========================================
   ACCUEIL
   ======================================== */

#home-wrap {
	background: var(--angy-bordeaux);
}

.angy-home {
	width: min(960px, calc(100% - 40px));
	margin: 0 auto;
	padding: 25px 0;
}

.angy-section-title {
	margin: 0 0 20px;
	text-align: center;
	font-size: 40px;
	text-transform: uppercase;
	color: #fff;
}

.angy-news-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px 35px;
}

.angy-news-card {
	position: relative;
	overflow: hidden;
	border: 5px solid #93989b;
	border-radius: 3px;
	aspect-ratio: 203 / 166;
}

.angy-news-card a {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
}

.angy-news-image,
.angy-news-image img {
	width: 100%;
	height: 100%;
}

.angy-news-image img {
	display: block;
	object-fit: cover;
}

.angy-news-overlay {
	position: absolute;
	inset: auto 0 0;
	padding: 10px;
	background: rgba(0,0,0,.75);
	transform: translateY(100%);
	transition: transform .25s ease;
}

.angy-news-card:hover .angy-news-overlay {
	transform: translateY(0);
}

.angy-news-overlay h2 {
	margin: 0;
	font-size: 16px;
}

.angy-news-overlay p {
	margin: 5px 0 0;
	font-size: 11px;
}

.angy-archives {
	padding: 20px 0 5px;
	text-align: center;
}

.angy-archives a {
	font-family: "Comic Sans MS", "Segoe Print", cursive;
	font-size: 36px;
	color: #000;
	text-decoration: none;
	text-transform: uppercase;
}


/* ========================================
   FOOTER
   ======================================== */

#footer-wrap {
	border-top: 4px dotted #fff;
	background: url("../img/bg.png") repeat;
}

.angy-footer-inner {
	width: min(960px, calc(100% - 40px));
	margin: 0 auto;
	padding: 14px 0;
	color: #888;
	font-size: 10px;
	text-align: center;
}

.angy-footer-inner p {
	margin: 0;
	text-align: center;
}

/* ========================================
   SLIDER ACCUEIL
   ======================================== */

#home-wrap {
	background: url("../img/bg.png") repeat;
}

#slideshow-wrap {
	padding: 0 0 36px;
	background: url("../img/bg.png") repeat;
}

#slideshow {
	width: 960px;
	max-width: 100%;
	margin: 0 auto;
}

#slideshow-box {
	position: relative;
	width: 960px;
	max-width: 100%;
	height: 311px;
	margin: 0 auto;
	padding: 33px 89px 23px;
	overflow: hidden;

	background:
		transparent
		url("../img/bg-slideshow.png")
		center top
		no-repeat;
}

#slideshow-box .list {
	position: relative;
	width: 782px;
	height: 255px;
	max-width: 100%;
}


/* Slides */

.angy-slide {
	position: absolute;
	inset: 0;

	display: flex;
	align-items: flex-start;
	justify-content: space-between;

	width: 100%;
	height: 252px;

	margin: 0;
	padding: 0;

	opacity: 0;
	visibility: hidden;

	transition: opacity .5s ease;
}


/* Premier slide visible meme sans JS */

.angy-slider:not(.is-ready) .angy-slide:first-child {
	opacity: 1;
	visibility: visible;
}


/* Slide actif avec JS */

.angy-slider.is-ready .angy-slide.is-active {
	opacity: 1;
	visibility: visible;
}


/* Photo */

#slideshow-box .item .image {
	flex: 0 0 auto;
}

#slideshow-box .item .image a {
	display: block;
}

#slideshow-box .item .image img {
	display: block;

	box-sizing: content-box;

	border: 8px solid #fff;
	padding: 1px;

	background: #c8c8c8;

	box-shadow: 3px 3px rgba(0,0,0,.5);
}


/* Texte */

#slideshow-box .item .meta {
	width: 440px;
	max-height: 210px;

	overflow: hidden;

	color: #eee;
}

#slideshow-box .item .meta h3 {
	margin: 0 0 .1em;

	font-family:
		"Comic Sans MS",
		"Segoe Print",
		cursive;

	font-size: 28px;
	font-weight: normal;
	line-height: 36px;
}

#slideshow-box .item .meta h3 a,
#slideshow-box .item .meta .texte-intro a {
	color: #eee;
	text-decoration: none;
}

#slideshow-box .item .meta h3 a:hover {
	text-decoration: underline;
}

#slideshow-box .item .meta .datecat {
	margin: 0 0 1.5em;

	color: #aaa;

	font-size: 10px;
	line-height: 16px;

	text-transform: uppercase;
}

#slideshow-box .item .meta .texte-intro {
	font-size: 12px;
	line-height: 1.5;
}


/* Zones precedent / suivant
   Elles recouvrent les accolades originales */

.dir-button {
	position: absolute;
	top: 0;

	width: 88px;
	height: 311px;

	padding: 0;
	border: 0;

	background: transparent;

	cursor: pointer;

	z-index: 20;
}

.dir-button-l {
	left: 0;
}

.dir-button-r {
	right: 0;
}


/* Petits boutons en bas */

#slideshow-controller {
	position: absolute;

	left: 430px;
	bottom: 30px;

	z-index: 30;

	display: flex;
	gap: 5px;
}

#slideshow-controller button {
	width: 17px;
	height: 17px;

	margin: 0;
	padding: 0;

	border: 0;

	background:
		transparent
		url("../img/button-slideshow.png")
		0 0
		no-repeat;

	cursor: pointer;
}

#slideshow-controller button.is-active {
	background-position: 0 100%;
}


/* Fond bordeaux des actualites */

.angy-home-main {
	background: var(--angy-bordeaux);
}

/* ========================================
   PAGES INTERNES - RETOUR AU LAYOUT ORIGINAL
   ======================================== */


/* Bande claire entre header et contenu,
   comme dans le theme Einsteiniumist original */

.page-rubrique #header-wrap,
.page-article #header-wrap {
	margin-bottom: 36px;
}


/* Z-Core apporte quelques alignements que
   l'ancien theme n'avait pas */

.page-rubrique #main,
.page-article #main,
.page-rubrique #primary,
.page-article #primary,
.page-rubrique #content,
.page-article #content,
.page-rubrique .angy-page-header,
.page-article .angy-page-header,
.page-rubrique .angy-article-info,
.page-article .angy-article,
.page-article .angy-chapo,
.page-article .angy-texte {
	text-align: left;
}


/* ========================================
   CARTOUCHE RUBRIQUE / ARTICLE
   ======================================== */

.page-rubrique .angy-page-header,
.page-article .angy-page-header {
	min-height: 100px;
	text-align: left;
}

.page-rubrique .angy-page-header h1,
.page-article .angy-page-header h1 {
	margin: 0 0 .3em;
	font-size: 36px;
	line-height: 42px;
	text-align: left;
}


/* Dans l'ancien theme, les logos de cartouche
   etaient limites a 85px de hauteur */

.page-rubrique .angy-page-header img,
.page-article .angy-page-header img,
.page-article .angy-article .angy-page-header img {
	display: block;
	float: right;
	width: auto;
	max-width: 200px;
	max-height: 85px;
	margin: 0 0 10px 20px;
}


/* ========================================
   LISTE D'ARTICLES DANS UNE RUBRIQUE
   ======================================== */

.angy-articles-rubrique > h2 {
	text-align: left;
}

.angy-article-resume {
	align-items: flex-start;
}

.angy-article-info,
.angy-article-info h2,
.angy-article-info .angy-meta,
.angy-article-info .angy-introduction,
.angy-read-more {
	text-align: left;
}

.angy-article-info h2 {
	margin-top: 0;
}

.angy-introduction {
	line-height: 1.5;
}


/* ========================================
   ARTICLE
   ======================================== */

.page-article .angy-article {
	text-align: left;
}

.page-article .angy-texte,
.page-article .angy-chapo,
.page-article .angy-ps {
	text-align: left;
}


/* ========================================
   SIDEBAR
   ======================================== */

#secondary {
	text-align: left;
}


/* Recherche : reproduit les dimensions
   du theme Einsteiniumist original */

.widget_search {
	margin: 0 0 30px;
	padding: 20px;
	background:
		transparent
		url("../img/bg-sidebar-widget.png")
		repeat;
}

.widget_search form {
	display: block;
	height: 28px;
	margin: 0;
	padding: 0;
}

.widget_search form > div {
	display: block;
	height: 28px;
	margin: 0;
	padding: 0;
}

.widget_search label {
	display: none !important;
}

.widget_search #recherche,
.widget_search input[name="recherche"],
.widget_search input.text,
.widget_search input[type="search"] {
	box-sizing: border-box;

	float: left;

	width: 203px;
	height: 28px;

	margin: 0;
	padding: 5px 10px;

	border: 0;

	background: #fff;

	color: #000;

	font-size: 12px;
	line-height: 17px;
}

.widget_search .submit,
.widget_search input[type="submit"],
.widget_search button[type="submit"] {
	box-sizing: border-box;

	float: left;

	width: 34px;
	height: 28px;

	margin: 0;
	padding: 0;

	border: 1px solid #999;

	background: #000;

	color: #eee;

	font-size: 12px;
	line-height: 26px;

	text-align: center;
	cursor: pointer;
}


/* Nettoyage des flottants dans le cartouche */

.angy-page-header::after {
	content: "";
	display: table;
	clear: both;
}

/* ========================================
   MOBILE
   ======================================== */

@media (max-width: 800px) {

	.angy-layout {
		display: block;
	}

	#primary,
	#secondary {
		width: 100%;
	}

	#secondary {
		margin-top: 30px;
	}

	.angy-news-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.angy-article-resume {
		gap: 20px;
	}

}

@media (max-width: 500px) {

	.angy-news-grid {
		grid-template-columns: 1fr;
	}

	.angy-article-resume {
		display: block;
	}

	.angy-article-image {
		margin-bottom: 15px;
	}

}