/* @override 
	https://collections.rolandtisserand.fr/themes/collections/styles.css
	https://collections:8890/themes/collections/styles.css
	https://21-collections:8890/themes/collections/styles.css */

/* Ugly debugging tool */
/*div, h1, h2, img, ul, li, p, header, aside, section, footer {
	outline-width: 1px;
	outline-style: solid;
	outline-color: rgba(206,206,206,0.7);
}*/

/* @group Reset */

:root {
	--color-background: #fff;
	--color-default: black;
	--color-second: lightgrey;
	--color-three: #e9e9e9;
	--color-four: #7f7f7f;
	--light-only-shadow: 0px 0px 5px var(--color-second);
	--light-only-shadow-hover: 0 0 0 4px rgb(0 0 0 / 15%);
	--light-only-color: blue;
	--dark-only-color: #fff;
	--dark-only-color-2: #fff;
	--color-navbar: rgba(255, 255, 255, 0.8);
	--icon-search: url(images/search_light.svg);
	--icon-default: url(images/imageDefault.svg) center center #f6f6f6;
	--icon-protected: url(images/err-passwordprotected.svg) center center no-repeat #f6f6f6;
	--icon-textDefault: url(images/textDefault.svg) center center #f6f6f6;
	--icon-lightbulb: url(images/day.svg);
	--icon-fav-add: url(images/f_add.svg);
	--icon-textDefault-related: url(images/textDefault.svg);
}

.dark-mode {
	--color-background: #2f2f2f;
	--color-default: #e5e5e5;
	--color-second: #2b2b2e;
	--color-three: #4b4b4b;
	--color-four: #d1d1d1;
	--light-only-color: transparent;
	--light-only-shadow: 0px 0px 0px #000;
	--light-only-shadow-hover: 0px 0px 0px #000;
	--dark-only-color: #3c3c3c;
	--dark-only-color-2: #4c4c4c;
	--color-navbar: rgba(47, 47, 47, 0.8);
	--icon-search: url(images/search_dark.svg);
	--icon-default: url(images/imageDefault_night.svg) center center #4c4c4c;
	--icon-protected: url(images/err-passwordprotected_night.svg) center center no-repeat #4c4c4c;
	--icon-textDefault: url(images/textDefault_night.svg) center center #4c4c4c;
	--icon-lightbulb: url(images/night.svg);
	--icon-fav-add: url(images/f_add_night.svg);
	--icon-textDefault-related: url(images/textDefault_night.svg);
}

@media (prefers-color-scheme: dark) {
	:root {
		--color-background: #2f2f2f;
		--color-default: #e5e5e5;
		--color-second: #2b2b2e;
		--color-three: #4b4b4b;
		--color-four: #d1d1d1;
		--light-only-color: transparent;
		--light-only-shadow: 0px 0px 0px #000;
		--light-only-shadow-hover: 0px 0px 0px #000;
		--dark-only-color: #3c3c3c;
		--dark-only-color-2: #4c4c4c;
		--color-navbar: rgba(47, 47, 47, 0.8);
		--icon-search: url(images/search_dark.svg);
		--icon-default: url(images/imageDefault_night.svg) center center #4c4c4c;
		--icon-protected: url(images/err-passwordprotected_night.svg) center center no-repeat #4c4c4c;
		--icon-textDefault: url(images/textDefault_night.svg) center center #4c4c4c;
		--icon-lightbulb: url(images/night.svg);
		--icon-fav-add: url(images/f_add_night.svg);
		--icon-textDefault-related: url(images/textDefault_night.svg);
	}
}

*, *:after, *:before {
	box-sizing: border-box;
}

a {
	background: transparent;
	color: #000;
	color: var(--color-default);
	text-decoration: none;
}

a:active, a:hover {
	outline: 0;
}

abbr {
	border-bottom: none;
	cursor: help;
	text-decoration: underline dotted;
}

figure {
	margin: 0;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 1.5rem;
	font-weight: 500;
	line-height: 1.2;
}

hr {
	height: 0;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-top-style: none;
	border-left-style: none;
	border-right-style: none;
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th {
	text-align: left;
}

tr {
	border-bottom: 1px solid;
}

td, th {
	height: 3.5rem;
	padding-left: .7rem;
	padding-right: .7rem;
}

strong {
	font-weight: 500;
}

code {
	font-size: 110%;
	font-family: monospace;
}

/* @end */

/* @group Structure */

@font-face {
font-family: Inter;
src: url('fonts/Inter-Light.woff2') format('woff2'),
        url('fonts/Inter-Light.woff') format('woff');
font-weight: 300;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: Inter;
src: url('fonts/Inter-Medium.woff2') format('woff2'),
        url('fonts/Inter-Medium.woff') format('woff');
font-weight: 500;
font-style: normal;
font-display: swap;
}

html {
	box-sizing: border-box;
	font-size: 62.5%;
	color: var(--color-default);
	background-color: var(--color-background);
}

html, body {
	height: 100%;
}

body {
	font-family: Inter,-apple-system,system-ui,'Helvetica Neue', sans-serif;
	font-size: 1.4rem;
	line-height: 1.5;
	margin: 0;
	font-weight: 300;
	min-height: 100%;
	display: grid;
	font-variant: common-ligatures;
}

.grid-container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: auto 1fr auto;
	grid-template-areas: "header header header header" "main main main main" "footer footer footer footer";
}

.header {
	grid-area: header;
	position: sticky;
	top: 0;
	background-color: var(--color-navbar);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	z-index: 500;
}

.main {
	grid-area: main;
	/* Les 3 lignes poussent la navigation en pied de page. */
	display: flex;
	/*	justify-content: space-between;*/
	flex-direction: column;
}

.footer {
	grid-area: footer;
}

.centered {
	display: flex; /* contexte sur le parent */
	flex-direction: column; /* direction d'affichage verticale */
	justify-content: center; /* alignement vertical */
}

.container {
	margin: 0 auto;
	/*	max-width: 1800px;*/
	padding-left: 2rem;
	padding-right: 2rem;
	width: 100%;
}

#index_gal {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 2rem;
	grid-row-gap: 2rem;
	grid-template-rows: auto;
	max-width: 1700px;
	padding-left: 2rem;
	padding-right: 2rem;
}

#index_gal figure {
	display: flex;
	flex-direction: column;
}

#index_gal figure a {
	display: flex;
	flex-direction: column;
}

.index_gal_desc {
	margin-bottom: 3rem;
	max-width: 1700px;
}

figure.sub_album img, #index_gal figure img {
	border-radius: 10px;
	box-shadow: 0 1px 2px 0  rgba(60,64,67,0.2) ,0 2px 6px 2px rgba(60,64,67,0.2);
	border: 1px solid var(--color-background);
	display: block;
	margin-bottom: 1rem;
	/* Fixes to center thumbnails */
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: 50% 50%;	
}

.lightbulb {
	display: inline-block;
	background: var(--icon-lightbulb) center center no-repeat;
	border: var(--color-default) solid 1px;
	border-radius: 20px;
	text-indent: -999px;
	cursor: pointer;
	background-size: contain;
	width: 25px;
	height: 25px;
	overflow: hidden;
}

@media (min-width: 700px) {
	body {
		font-size: 1.5em;
	}
	
	.container {
		padding-left: 3rem;
		padding-right: 3rem;
	}
	
	#index_gal {
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 24px;
		grid-row-gap: 24px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
	
	.footer {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	
	.album-title {
		font-size: 125%;
		font-weight: 500;
		padding-top: 1rem;
	}
	
	.two-cols {
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-column-gap: 6%;
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.xl-space {
		margin-top: 2rem;
	}
}


@media screen and (min-width: 1280px) {
	body {
		font-size: 1.6rem;
	}
	
	.container {
		padding-left: 6rem;
		padding-right: 6rem;
	}
	
	#index_gal {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-column-gap: 56px;
		grid-row-gap: 56px;
		padding-left: 56px;
		padding-right: 56px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.xl-space {
		margin-top: 3rem;
	}
}

@media screen and (min-width: 1800px) {
	.container {
		padding-left: 76px;
		padding-right: 76px;
	}
	
	#index_gal {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-column-gap: 56px;
		grid-row-gap: 76px;
		padding-left: 76px;
		padding-right: 76px;
	}
	
	h1.page_title {
		font-size: 300%;
		line-height: 1.2;
	}
}

/* @end */

/* @group global */

a:active, a:hover, .imagetitle {
	color: black;
	color: var(--color-default);
}

.imagetitle {
	margin-left: 3px;
}

.disabledlink {
	opacity: 0;
	display: none;
}

.errorbox {
	color: red;
}

.errorbox h2 {
	font-size: unset;
	margin-bottom: 0;
}

.skip-to-content {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	white-space: nowrap;
	border: 0;
	visibility: inherit;
	clip: rect(0,0,0,0);
}

.skip-to-content:focus {
	top: 30px;
	left: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	width: auto;
	height: 3rem;
	padding: 0 1rem;
	color: #f4f4f4;
	background-color: #161616;
	border: 4px solid #0f62fe;
	outline: none;
	clip: auto;
}

/* @end */

/* @group navbar */

.navbar {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-weight: 300;
	position: -webkit-sticky;
	position: sticky;
	flex-direction: row;
	font-size: 100%;
}

.navbar a:hover {
	color: inherit;
}

.navbar_title_container {
	flex-grow: 1;
	padding-right: 15px;
	/*order: 1;*/
}

#nav-links {
	list-style: none;
	padding: 0;
	margin: 0;
	transform: translateY(-100%);
	transition: transform 0.3s ease;
}

#nav-links.active {
	transform: translateY(0);
	height: 100vh;
	overflow: hidden;
}

#nav-links a, #nav-links li.menu_menulabel, #nav-links .menu-active {
	display: inline-block;
	padding: 1rem;
	padding-top: 1.5rem;
	padding-bottom: .25rem;
	margin-bottom: .75rem;
	position: relative;
}

.navbar_title_container a {
	display: inline-block;
	position: relative;
}

.navbar .toggle_nav {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	background-color: unset;
	border: none;
	padding: 0;
	padding-top: 2px;
	font-size: unset;
	margin-left: 12px;
	z-index: 250;
	position: relative;
	display: flex;
	align-items: center;
	cursor: pointer;
}



/* Animation */

#menu-icon-anime {
	width: 15px;
	height: 13px;
	position: relative;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	overflow: hidden;
}

#menu-icon-anime span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: var(--color-default);
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}

.toggle_nav:hover > #menu-icon-anime span {
	background: var(--color-default);
}

#menu-icon-anime span:nth-child(1) {
	top: 0px;
}

#menu-icon-anime span:nth-child(2), #menu-icon-anime span:nth-child(3) {
	top: 5px;
}

#menu-icon-anime span:nth-child(4) {
	top: 10px;
}

#menu-icon-anime.open span:nth-child(1) {
	top: 18px;
	width: 0%;
	left: 50%;
}

#menu-icon-anime.open span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

#menu-icon-anime.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#menu-icon-anime.open span:nth-child(4) {
	top: 18px;
	width: 0%;
	left: 50%;
}
/* End Animation */

.navbar .toggle_nav a {
	display: flex;
}

.navbar .toggle_nav:hover {
	color: grey;
}

a.navbar_title {
	font-weight: 500;
}

.navbar_title_container {
	/*white-space: nowrap;*/
}

#nav-links a::after, #nav-links li.menu_menulabel::after, #nav-links .menu-active::after, .navbar_title_container a::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: var(--color-default);
	opacity: 0;
	transform: scaleX(0);
	transition: transform .5s cubic-bezier(.165,.84,.44,1),opacity .3s cubic-bezier(.165,.84,.44,1);
}

#nav-links a:hover::after, a.menu-active::after, #nav-links li.menu_menulabel:hover::after, #nav-links .menu-active::after, .navbar_title_container a:hover::after {
	opacity: 1;
	transform: scaleX(1);
}

#nav-links li {
	display: flex;
	align-items: center;
	justify-content: center;
}

#nav-links li:hover, li:focus-within {
	cursor: pointer;
}

#nav-links li:focus-within a {
	outline: none;
}

[hidden] {
	display: none;
}


/* Sub-Menu */

ul.nav-links-sub {
	background: white;
	/*  visibility: hidden;*/
	/*  opacity: 0;*/
	position: absolute;
	transition: all 0.5s ease !important;
	margin-top: 0;
	left: 12px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 10px;
	border-radius: 5px;
	box-shadow: 0 3px 5px #bfbfbf;
	z-index: 20;
	display: flex;
	flex-direction: column;
}
/* Hide sub-menu count */

ul.nav-links-sub span {
	display: none;
}

ul#nav-links li:hover > ul.nav-links-sub, ul#nav-links li:focus-within > ul.nav-links-sub, ul#nav-links li ul.nav-links-sub:hover, ul#nav-links li ul.nav-links-sub:focus {
	visibility: visible;
	opacity: 1;
	display: block
}

ul.nav-links-sub li {
	clear: both;
	width: 100%;
	justify-content: unset !important;
}

ul.nav-links-sub a {
	padding: 0rem !important;
	margin: 0!important;
	text-align: left;
	width: 100%;
	padding-bottom: 10px !important;
}

#search {
	display: flex;
}

#search #search_form div {
	display: flex;
	align-items: center;
	justify-content: center;
}

#search #search_input {
	border-radius: 5px;
	transition: width .6s ease-in-out 0s;
	will-change: transform;
	width: 20px;
	height: 20px;
	float: right;
	background: var(--icon-search) right bottom no-repeat;
	background-size: 18px;
	border: none;
	cursor: pointer;
	color: transparent;
}

#search #search_input:focus {
	width: 200px;
	background: var(--color-three);
	background-repeat: no-repeat;
	background-position: 13px center;
	color: var(--color-default);
}

#search_alt #search_form div {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}

#search_alt  .tagSuggestContainer {
	width: 100%;
}

#search_alt #search_submit {
	margin-left: 20px;
}

#search_alt #search_input {
	
}

#search #search_submit {
	margin-bottom: 0;
	margin-right: 0;
	display: none;
}

#search .toggle_searchextrashow, #search_alt .toggle_searchextrashow {
	display: none;
}

span.tagMatches {
	width: 300px !important;
	position: absolute;
	z-index: 100;
	max-height: 300px;
	text-align: left;
	overflow: auto;
	border: 0;
	top: 30px;
	left: -5px;
}

span.tagMatches span {
	color: var(--color-default);
	cursor: pointer;
	background-color: var(--dark-only-color);
	box-shadow: var(--light-only-shadow);
	padding: 5px;
	border-radius: 5px;
	margin-top: 2px;
	margin-bottom: 2px;
	margin-left: 5px;
	margin-right: 5px;
	width: 200px;
	transition: box-shadow .3s ease-in-out 0s;
}

span.tagMatches span:hover {
	background-color: var(--color-three);
}

div.bloc-multi-favs span.tagMatches {
	top: 5px;
}

.tagSuggestContainer {
	position: relative;
}

span.breadcrumb a:before {
	content: '\00a0/ ';
}

@media (max-width:700px) {
	.navbar_title_container {
		order: 1;
	}
	
	#nav-links {
		order: 2;
	}
	
	#search {
		order: 3;
	}
	
	.navbar .toggle_nav {
		order: 4;
	}
	
	.index_gal_desc h1 {
		display: none;
	}
	
	.grid-container {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-template-rows: auto 1fr auto;
		grid-template-areas: "header header header header" "main main main main" "footer footer footer footer";
	}
	
	.header {
		min-height: auto;
		padding-bottom: .8rem;
	}
	
	#nav-links {
		position: fixed;
		justify-content: space-evenly;
		z-index: 200;
		background-color: var(--color-navbar);
		width: 100vw;
		left: 0;
		top: 0;
		padding-top: 30px;
		padding-bottom: 10%;
		flex-direction: column;
		display: flex;
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
	}
	
	#nav-links li {
		font-size: 125%;
	}
	
	span.breadcrumb {
		font-size: 1.2rem;
	}
}

@media (min-width: 700px) {
	.navbar .toggle_nav {
		display: none
	}
	
	.navbar {
		padding-left: 3rem;
		padding-right: 3rem;
		padding-top: 0;
		padding-bottom: 0;
		font-size: 100%;
		flex-direction: row;
	}
	
	a.navbar_title {
		padding-right: 1rem;
	}
	
	#nav-links {
		list-style: none;
		display: flex;
		flex-direction: row;
		padding: 0;
		margin: 0;
		transform: translateY(0);
	}
}

@media (min-width:1280px) {
	#nav-links a, #nav-links li.menu_menulabel, #nav-links .menu-active, a.navbar_title {
		padding: 2rem;
		padding-bottom: .5rem;
		margin-bottom: 1.5rem;
		font-size: 90%;
	}
	
	.breadcrumb a {
		font-size: 90%;
		padding-bottom: .5rem;
		margin-bottom: 1.5rem;
	}
	
	a.navbar_title {
		padding-right: 0;
	}
	
	.navbar {
		padding-left: 56px;
		padding-right: 56px;
	}
	
	#search #search_input {
		width: 30px;
		height: 35px;
		background: var(--icon-search) right center no-repeat;
		background-size: 20px;
	}
	
	#search #search_input:focus {
		width: 300px;
	}
	
	span.tagMatches {
		top: 45px;
	}
}
@media (min-width:1800px) {
	#nav-links a, #nav-links li.menu_menulabel, #nav-links .menu-active, a.navbar_title {
		padding-top: 2rem;
		padding-bottom: 2rem;
		margin-top: 2rem;
		margin-bottom: 2rem;
		font-size: 100%;
	}
	
	.breadcrumb {
		
	}
	
	.breadcrumb a {
		font-size: 100%;
		padding-bottom: .5rem;
		margin-bottom: 1.5rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
		margin-top: 2rem;
		margin-bottom: 2rem;
	}
	
	.navbar {
		padding-left: 76px;
		padding-right: 76px;
	}
	
	#search #search_input {
		width: 30px;
		height: 40px;
		background-size: 25px;
	}
}

/* Just remove left padding for site title */

a.navbar_title {
	padding-left: 0;
}

/* @end */

/* @group Album */

figure.document img[src*="textDefault"] {
	background: var(--icon-textDefault);
	background-size: cover;
}

img[src*="imageDefault"] {
	background: var(--icon-default);
	background-size: 100%;
}

.galeries figcaption strong {
	display: block;
}

.galeries figcaption {
	margin-top: 1rem;
}

/* @end */

/* @group Pagination */

.pagelist {
	padding-left: 0;
	padding-right: 0;
}

.pagelist a {
	display: inline-block;
	margin-bottom: 1rem;
}

.pagelist-container {
	width: 100%;
	text-align: center;
	padding-bottom: 3rem;
	padding-top: 3rem;
}

.pagelist ul {
	display: inline-block;
	padding: 0;
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.pagelist li {
	display: inline-block;
	list-style-type: none;
	margin-right: 1rem;
	cursor: pointer;
	font-size: 100%;
}

.pagelist li.next {
	margin-right: 0;
}

.pagelist li.current {
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

/* @end */

/* @group Galeries */

.album_thumbnail img, .galeries #album_masonry img {
	width: 100%;
}

.album_thumbnail figure, .galeries #album_masonry figure, .search_images_bloc figure {
	transition: all .3s ease-out;
}

.album_thumbnail figure:hover, .galeries #album_masonry figure:hover, .search_images_bloc figure:hover {
	transform: translateY(-3px);
}

img[alt*="protected"] {
	background: var(--icon-protected);
	background-size: 100%;
}

.galeries #album_masonry img {
	width: 100%;
	height: auto;
	cursor: zoom-in;
	display: block !important;
}

.album_head h1 {
	margin-top: 1.5rem;
	font-size: 200%;
	text-align: center;
	line-height: 1.2;
}

.album_head .albumdes {
	max-width: 130rem;
	max-width: 100ch;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.album_head {
	margin-bottom: 2rem;
}

@media (min-width:700px) {
	.album_head {
		margin-bottom: 2rem;
		margin-top: 3rem;
	}
}

@media (min-width:1280px) {
	.album_head {
		margin-bottom: 8rem;
		margin-top: 4rem;
	}
}

/* @end */

/* @group Image */

.picture_container img {
	width: auto;
	display: block;
	max-height: 85vh;
}

.picture_container {
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 6rem;
	overflow: hidden;
	background: url(images/icon-loader-2.gif) center center no-repeat;
	background-size: 30px;
	min-height: 75vh;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	position: relative;
}

.album_detail {
	display: flex;
	margin-bottom: 3rem;
}

.picture_detail {
	max-width: 1700px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 3rem;
	padding-right: 3rem;
	display: block;
	margin-bottom: 3rem;
}

.picture_detail_nav .desc {
	text-align: center;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}

.picture_descr, .album_descr {
	flex-grow: 1;
	padding-right: 6rem;
}

.picture_descr h1 {
	font-weight: 500;
	font-size: 125%;
}

#picture_breadcrumb {
	text-align: center;
	font-size: 1.3rem;
}

@media (min-width:700px) {
	.picture_detail {
		display: flex;
	}
}
@media (max-width:700px) {
	.picture_detail img {
		margin-bottom: 2rem;
		margin-top: 1rem;
	}
	
	.picture_detail_nav {
		grid-template-columns: 50px 1fr 50px;
		margin-bottom: 3rem;
	}
	
	.picture_container {
		margin-bottom: 2rem;
		margin-top: 0;
		min-height: unset;
	}
	
	.picture_descr, .album_descr {
		flex-grow: 1;
		padding-right: 2rem;
	}
}

ul.taglist {
	list-style-type: none;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}

.taglist li {
	display: inline-block;
}

.article_single ul.taglist {
	margin-bottom: 2rem;
}

.taglist a {
	text-transform: uppercase;
	letter-spacing: .1rem;
	font-weight: 500;
	font-size: 1rem;
	display: inline-block;
	margin-left: 0.2rem;
	margin-right: 0.2rem;
	margin-bottom: 0.8rem;
	padding-top: 4px;
	padding-bottom: 4px;
	padding-left: 7px;
	padding-right: 7px;
	text-decoration: none;
	transition: box-shadow .1s ease-out 0s,transform .1s ease-out 0s;
	color: var(--color-default);
	border-radius: 5px;
	box-shadow: var(--light-only-shadow);
	background-color: var(--dark-only-color-2);
}

.taglist a:hover, .pagelist a:hover {
	transition: box-shadow .1s ease-out 0s,transform .1s ease-out 0s, background-color .1s ease-out 0s;
	box-shadow: var(--light-only-shadow-hover);
	background-color: var(--dark-only-color);
}

.taglist li:first-child > a {
	margin-left: -1px;
}

.prev_img, .next_img {
	-webkit-tap-highlight-color: transparent;
	box-shadow: 0 1px 2px 0  rgba(60,64,67,0.2) ,0 2px 6px 2px rgba(60,64,67,0.2);
	background: var(--dark-only-color-2);
	border: 0;
	border-radius: 50%;
	bottom: auto;
	display: block;
	height: 24px;
	width: 24px;
	top: calc(50vh - 30px);
	outline: none;
	position: absolute;
	transition: background-color 200ms ease-out,opacity 150ms ease-out,box-shadow 150ms ease-out;
	z-index: 500;
	cursor: pointer;
	opacity: 1;
	pointer-events: auto;
}

.prev_img {
	left: 24px;
}

.next_img {
	right: 24px;
}

.next_img:hover, .prev_img:hover {
	box-shadow: 0 1px 2px 0  rgba(60,64,67,0.5) ,0 2px 6px 2px rgba(60,64,67,0.5);
}

.next_img:hover svg {
	fill: var(--color-default);
}

.next_img svg, .prev_img svg {
	color: #dadce0;
	cursor: pointer;
	pointer-events: auto;
	-webkit-tap-highlight-color: transparent;
	fill: var(--color-four);
	height: 20px;
	left: 50%;
	margin: -10px 0 0 -10px;
	position: absolute;
	top: 50%;
	width: 20px;
}

.next_img svg {
	transform: rotate(180deg);
}

.overlay_nav_container {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
}

.cursor_prev {
	border: none;
	z-index: 2;
	cursor: url(images/cursor_left.svg),w-resize;
	width: 100%;
	height: 100%;
}

.cursor_next {
	border: none;
	z-index: 2;
	width: 100%;
	height: 100%;
	cursor: url(images/cursor_right.svg),e-resize;
}

.cursor_close {
	border: none;
	z-index: 2;
	width: 100%;
	height: 100%;
	cursor: url(images/cursor_close.png),auto;
	cursor: url(images/cursor_close.svg),auto;
}

.picture_icons {
	display: flex;
	flex-direction: row;
}

a.svg_button {
	display: inline-block;
	padding-top: 12px;
	padding-left: 14px;
	width: 45px;
	height: 45px;
	transition: box-shadow .1s ease-out 0s,transform .1s ease-out 0s;
	border-radius: 5px;
	box-shadow: var(--light-only-shadow);
	background-color: var(--dark-only-color-2);
}

a.svg_button.download path {
	fill: var(--color-four);
}

a.svg_button:hover {
	box-shadow: var(--light-only-shadow-hover);
	transform: translateY(-2px);
}

.img_responsive {
	position: relative;
}

.close_icon {
	position: absolute;
	right: 0;
	top: 0;
	width: 40px;
	height: 40px;
	overflow: hidden;
	background: url(images/cursor_close.svg) center center no-repeat;
	box-shadow: var(--light-only-shadow);
	border-radius: 50px;
	text-indent: 500px;
	margin: -10px;
	z-index: 900;
}

div.textobject {
	background-color: white;
	max-width: 80rem;
	padding-left: 2rem;
	padding-right: 2rem;
	max-height: 50vh !important;
	overflow: auto;
}

@media (min-width:1280px) {
	.prev_img, .next_img {
		height: 56px;
		top: calc(50vh - 28px);
		width: 56px;
	}
	
	.picture_descr h1 {
		font-size: 200%;
	}
	
	.taglist a {
		font-size: 1.2rem;
		padding-top: 7px;
		padding-bottom: 7px;
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* @end */

/* @group Blocks */

.media_supp_content section {
	padding: 2rem;
	border-radius: 5px;
	margin-bottom: 3vw;
	background-color: var(--dark-only-color);
}

div.bloc-favs .imagesFavorites_add, div.bloc-favs .albumsFavorites_add {
	background: var(--icon-fav-add) 7px center no-repeat;
	background-size: 30px;
}

div.bloc-favs .imagesFavorites_remove, div.bloc-favs .albumsFavorites_remove {
	background: url(images/f_rem.svg) 7px center no-repeat;
	background-size: 30px;
}

div.bloc-favs {
	display: inline-block;
	width: 45px;
	height: 45px;
	overflow: hidden;
	border-radius: 5px;
	transition: box-shadow .1s ease-out 0s,transform .1s ease-out 0s;
	box-shadow: var(--light-only-shadow);
	background-color: var(--dark-only-color-2);
	margin-left: 12px;
}

div.bloc-favs:hover {
	box-shadow: var(--light-only-shadow-hover);
	transform: translateY(-2px);
}

div.bloc-favs form {
	margin: 0;
	padding: 0;
	display: inline-block;
}

div.bloc-favs input {
	margin: 0;
	padding: 0;
	width: 45px;
	height: 45px;
	border-radius: 0;
	background-color: unset;
	color: blue;
	text-indent: 500px;
	cursor: pointer;
}

div.bloc-favs input:hover {
	background-color: unset;
}

div.bloc-multi-favs {
	margin-left: 15px;
}

div.bloc-multi-favs .button {
	margin-bottom: 15px;
	width: 100%;
}

div.bloc-multi-favs .imagesFavorites_remove .button, div.bloc-multi-favs .albumsFavorites_remove .button {
	color: red;
	border: 1px solid #e2e2e2;
	height: 45px;
	border-radius: 25px;
	box-shadow: none;
	transition: transform .2s ease-out 0s;
}

div.bloc-multi-favs .imagesFavorites_remove .button:hover, div.bloc-multi-favs .albumsFavorites_remove .button:hover {
	transform: translateY(-2px);
}

div.comment {
	background-color: var(--color-three);
	border-radius: 5px;
	padding: 1rem;
	margin-bottom: 2rem;
}

section.bloc-rating form {
	display: flex;
}

section.bloc-rating .star-rating-control {
	display: inline-block;
	transform-origin: top left;
	align-self: center;
	padding-right: 2rem;
}

section.bloc-rating .vote {
	flex-grow: 1;
	align-self: center;
	padding-left: 2rem;
}

.bloc-rating-content {
	display: flex;
	flex-direction: column;
}

section.bloc-rating .star-rating-control::after {
	content: "";
	display: table;
	clear: both;
}

div.commentinfo {
	display: inline-block;
}

div.commentinfo h4 {
	margin: 0;
	font-weight: 500;
}

#commentcontent h3 {
	font-size: 100%;
	font-weight: 500;
}

#commentcontent h3:first-child {
	display: none;
}

#commentcontent h3.empty {
	color: grey;
}

div.commentinfo h4:after {
	display: inline-block;
	content: '\00a0—\00a0';
}

div.commenttext {
	display: inline;
}

#commentform p {
	display: block;
	font-size: 1.2rem;
}

#commentform input {
	display: block;
	width: 100%;
	font-size: 120%;
}

#commentform input[type='checkbox'] {
	display: inline-block;
	width: auto;
}

input#comment_dataconfirmation {
	display: block;
	float: right;
}

#commentform .inputbox {
	flex-grow: 2;
}

#imagemetadata_data table {
	width: 100%;
}

#imagemetadata_data tr {
	border-bottom: 1px solid var(--color-second);
}

.media_supp, .bloc_relat_item {
	width: 100%;
	border-top: 1px solid var(--color-second);
	padding-top: 3rem;
	display: block;
	padding-left: 1rem;
	padding-right: 1rem;
}

.media_supp_content, .bloc_relat_item_content {
	max-width: 1700px;
	margin-left: auto;
	margin-right: auto;
}

.bloc_relat_item ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	font-size: 90%;
	padding: 0;
	margin: 0;
	padding-bottom: 3rem;
}

.bloc_relat_item li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: inline-block;
	position: relative;
	padding: 5px;
	border-radius: 10px;
	box-shadow: var(--light-only-shadow);
	background-color: var(--dark-only-color);
	transition: box-shadow .1s ease-out 0s,transform .1s ease-out 0s;
}

.bloc_relat_item p {
	margin: 0;
}

.bloc_relat_item li:hover {
	box-shadow: var(--light-only-shadow-hover);
	transform: translateY(-3px);
}

.bloc_relat_item li h4 a {
	color: inherit;
	padding-top: 15px;
	line-height: 1.3;
}

.bloc_relat_item img {
	display: block;
	border-radius: 4px;
	width: 100%;
}

a.relateditems_thumb {
	display: inherit;
	margin-bottom: 15px;
}

.clearfix {
	border: 1px solid #333;
	content: "";
	display: table;
	clear: both;
	padding-bottom: 2px;
}

@media (min-width:700px) {
	.media_supp_content {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 3vw;
	}
	
	.bloc_relat_item ul {
		grid-template-columns: repeat(auto-fill, calc(24.20%));
		gap: 1%;
	}
	
	div.bloc-rating-content {
		flex-direction: row;
	}
	
	.picture_detail, .media_supp, .bloc_relat_item {
		margin-bottom: 6rem;
	}
	
	.media_supp, .bloc_relat_item {
		padding-top: 6rem;
		padding-left: 3rem;
		padding-right: 3rem;
	}
	
	.media_supp_content section {
		box-shadow: var(--light-only-shadow);
	}
	
	.bloc_relat_item li h4 {
		font-size: 110%;
		margin-bottom: 1rem;
	}
	
	.bloc_relat_item li.news h4:before, .bloc_relat_item li.pages h4:before {
		content: var(--icon-textDefault-related);
		display: block;
		margin-bottom: 15px;
		width: 100%;
		aspect-ratio: 1 / 1;
		background-color: var(--color-three);
	}
	
	#commentform p {
		display: flex;
		font-size: 100%;
	}
	
	#commentform label {
		align-self: center;
		flex-grow: 1;
	}
	
	#commentform input {
		width: auto;
		font-size: unset;
	}
}

@media (min-width:960px) {
	.bloc_relat_item ul {
		grid-template-columns: repeat(auto-fill, calc(19.20%));
		gap: 1%;
	}
}

@media (min-width:1280px) {
	.bloc_relat_item ul {
		grid-template-columns: repeat(auto-fill, calc(19.20%));
		gap: 1%;
		font-size: 100%;
	}
	
	.picture_detail, .media_supp, .bloc_relat_item {
		margin-bottom: 12rem;
		padding-left: 12rem;
		padding-right: 12rem;
	}
	
	.media_supp, .bloc_relat_item {
		padding-top: 11rem;
	}
}

/* @end */

/* @group News Template */

.singlenews_prev, .singlenews_next {
	display: inline-block;
	font-size: .8em;
	padding-right: 2rem;
	display: none;
}

.singlenews_prev a, .singlenews_next a {
	text-decoration: underline;
}

.news_template h2, .article_single h1 {
	margin-bottom: 0;
}

.article_loop .article_infos {
	font-size: 1.1rem;
	padding-bottom: .5rem;
	margin-bottom: 1rem;
}

.news_template article {
	margin-bottom: 2rem;
}

.news_template ul.newscategories {
	display: inline;
	margin: 0;
	padding: 0;
}

.news_template ul.newscategories a {
	text-decoration: underline;
}

.news_template ul.newscategories li {
	display: inline-block;
}

.news_template ul#categories_list {
	margin: 0;
	padding: 0;
	list-style-type: none;
	margin-bottom: 3rem;
}

.news_template ul#categories_list li {
	border-bottom-style: solid;
	border-bottom-width: 1px;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.news_template ul#categories_list li:hover {
	background-color: var(--color-three);
	transition: background .3s ease-in-out 0s;
}

.news_template .categories_list_active {
	font-weight: 500;
}

.news_template ul#categories_list li a {
	display: block;
}



/*.news_template ul#categories_list li a:hover {
	background-color: #ebebeb;
}*/

.article_single .bloc-rating, .article_single .bloc-comments {
	padding-top: 2rem;
	padding-bottom: 2rem;
	border-top: 1px solid #333;
}

@media (min-width:700px) {
	.article_side {
		order: 1;
	}
	
	.article_loop, .article_single {
		order: 2;
	}
}

@media (min-width:1280px) {
	.article_loop .article_infos, .article_single .article_infos {
		font-size: 1.2rem;
		padding-bottom: .5rem;
		margin-bottom: 2rem;
	}
	
	.article_loop article, .article_single {
		margin-bottom: 6rem;
	}
}

/* @end */

/* @group My favorites Page */

div.fav_thumb {
	position: relative;
}

div.fav_thumb div.bloc-favs {
	position: absolute;
	top: 5px;
	left: 5px;
	border: none;
	box-shadow: none;
	transition: opacity .3s ease-in-out 0s;
	margin: 0;
	background: none;
}

div.fav_thumb .bloc-favs:hover {
	box-shadow: none;
	transform: translateY(-0px);
	opacity: .5;
}

/* @end */

/* @group Search */

ul.pages_search_blocs {
	padding: 0;
	list-style-type: none;
}

ul.pages_search_blocs li {
	box-shadow: 0 0 3px #434343;
	padding: 1rem;
	border-radius: 5px;
	transition: box-shadow .3s ease-in-out 0s;
	margin-bottom: 1rem;
}

ul.pages_search_blocs li:hover {
	box-shadow: 0 0 5px #434343;
}

ul.pages_search_blocs h3, ul.pages_search_blocs p {
	display: inline-block;
	margin: 0;
}

ul.pages_search_blocs h3 {
	margin-right: 15px;
}

ul.search_images_bloc {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-column-gap: 24px;
	grid-row-gap: 24px;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.search_template {
	margin-bottom: 3rem;
}

/* @end */

/* @group Footer */

.footer {
	border-top: 1px solid var(--color-second);
	text-align: center;
}

.footer a:hover {
	text-decoration: underline;
}

ul.foot-links li {
	display: inline-block;
	padding-top: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width:700px) {
	ul.foot-links li {
		padding-top: 2rem;
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

/* @end */

/* @group Page (general template page, news, password…) */

.page_template article {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
	padding-left: 2rem;
	padding-right: 2rem;
	margin-bottom: 3rem;
}

@media (min-width:700px) {
	.page_template article {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}
@media (min-width:1280px) {
	.page_template {
		margin-top: 6rem;
		font-size: 120%;
	}
	
	.page_template article {
		margin-bottom: 10rem;
	}
}

.page a {
	text-decoration: underline;
}

/* @end */

/* @group Archive Page */

.archive_grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	column-gap: 3%;
}

ul.archive {
	list-style-type: none;
	padding-left: 0;
}

.archive_grid h3 {
	padding-bottom: 1rem;
	border-bottom-style: solid;
	border-bottom-width: 1px;
}

ul.month, ul.tags {
	padding-left: 0;
	list-style-type: none;
	margin-top: 1rem;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding-top: 1rem;
	padding-bottom: 2rem;
}

ul.month li, ul.tags li {
	flex-grow: 1;
	padding-left: 1rem;
	padding-right: 1rem;
	margin-bottom: 1rem;
}

ul.month li a, ul.tags li a {
	width: 100%;
	display: inline-block;
	text-align: center;
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 10px;
	padding-right: 10px;
	text-decoration: none;
	border-radius: 4px;
transition: box-shadow .2s ease-out 0s,transform .2s ease-out 0s,background-color .2s ease-out 0s;
	box-shadow: var(--light-only-shadow);
	background-color: var(--dark-only-color-2);
}

ul.month li a:hover, ul.tags li a:hover {
	box-shadow: var(--light-only-shadow-hover);
	background-color: var(--dark-only-color);
}

li.year {
	padding-top: 1rem;
}

/* @end */

/* @group Formulaires + Password */

.contact-form, .password-form {
	margin-bottom: 3rem;
}

.password-form fieldset {
	border: 0;
	padding-left: 0;
	padding-right: 0;
	margin-top: 2rem;
}

#disclose_password {
	border: 1px solid #333;
	display: inline-block;
	width: 30px;
	bottom: 2px;
	position: relative;
}

.password-form button, input[type='submit'], .bloc-rating .button, main #register_link, .pagelist a {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border: none;
	border-radius: 4px;
transition: box-shadow .2s ease-out 0s,transform .2s ease-out 0s,background-color .2s ease-out 0s;
	box-shadow: var(--light-only-shadow);
	width: auto;
	background-color: var(--dark-only-color-2);
	color: unset;
	font-size: 100%;
}

.password-form button:hover, input[type='submit']:hover, .bloc-rating .button:hover, main #register_link:hover, .pagelist a:hover {
	/*	background-color: #606060;*/
	box-shadow: var(--light-only-shadow-hover);
	cursor: pointer;
	background-color: var(--dark-only-color);
}

.password-form img {
	display: none;
}

.password-form button[type*="reset"] {
	display: none;
}

#logon_box legend {
	font-weight: 500;
}

#logon_box fieldset legend {
	font-weight: 300;
}

.link_to_sub {
	margin-top: 3rem;
	margin-top: 6vh;
}

input, textarea {
	border: 1px solid var(--color-second);
	padding: 1rem;
	color: var(--color-default);
	width: 100%;
	display: block;
	border-radius: 3px;
	font-size: 100%;
	font-weight: 300;
	background-color: var(--dark-only-color-2);
}

textarea {
	width: 100%;
	min-height: 20rem;
}

input[type='reset'] {
	display: none;
}

#mailform input[type='checkbox'] {
	display: inline-block;
	width: auto;
	margin-right: 10px;
}

/* @end */

/* @group Theme Switcher */

.themeSwitcherControlLink {
	position: fixed;
	z-index: 600;
	font-size: 12px;
	border: none;
	height: 30px;
	background-color: rgb(173, 173, 173) !important;
	bottom: 0 !important;
	left: 30vw;
}

.themeSwitcherControlLink input {
	display: inline-block;
	width: auto;
}

/* @end */

/* @group Bonus */

.btn-action {
	padding: 18px;
	margin: 6px;
	text-align: center;
	cursor: pointer;
	text-decoration: none;
	font-weight: 500;
	border-radius: 4px;
	transition: box-shadow 0.1s ease-in-out 0s, background-color 0.1s ease-in-out 0s;
	box-shadow: rgba(0, 0, 0, 0.45) 0px 1px 2px 0px,0 0 0 1px rgb(0 0 0 / 9%);
}

.btn-action:hover {
	box-shadow: var(--light-only-shadow-hover);
}

.btn-space {
	margin-top: 36px;
	margin-bottom: 36px;
	display: flex;
	flex-basis: auto;
	justify-content: center;
	text-align: center;
}

.shadow {
	box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
}

.space-up-bottom {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

/* @end */