/**
 * Structure générale.
 *
 */
@font-face
{
	font-family: "IcoMoon";
	src: url("icomoon.woff?v=10a") format("woff");
}
*
{
	image-rendering: optimizeSpeed;
	image-rendering: -moz-crisp-edges;
	image-rendering: -o-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: pixelated;
	image-rendering: optimize-contrast;
}
h1,h2,h3,h4,h5,h6,p,td,form,ul,img,dl,dt,dd,body,html
{
	border: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
html,table,input,textarea,select
{
	font-size: 100%;
}
body
{
	color: black;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: .8em;
}
table
{
	border-collapse: collapse;
}
pre
{
	font-family: "Courier New", serif;
	white-space: pre-wrap;
}
img
{
	display: block;
}
img[src*="video-no-thumb.png"]
{
	object-fit: cover;
}
#content
{
	padding: 0 8px 1px;
}
main
{
	padding: 10px 0 40px;
}
main.dark::before
{
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.5;
	z-index: 10;
}

/* Sélection de texte */
::selection
{
	color: white;
	background: #3B5EB5;
}

/* Liens */
a
{
	color: black;
	text-decoration: none;
	border-bottom: 1px solid gray;
	margin-bottom: 1px;
}
a.js
{
	border-bottom-style: dotted;
}
a:hover
{
	border-width: 2px;
	margin-bottom: 0;
}
a.js:hover
{
	border-bottom: 2px solid gray;
}
a:focus
{
	outline: none;
	background: none;
}

/* Émojis. */
.emoji
{
	font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji",
		Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
	font-variant-emoji: emoji;
}
span.emoji[title]
{
	cursor: help;
}

/* Espaces. */
span[class^="space_"]
{
	display: inline-block;
}
span.space_tab,
span.space_4
{
	width: 4ch;
}
span.space_3
{
	width: 3ch;
}
span.space_2
{
	width: 2ch;
}



/**
 * Header.
 *
 */
#header_top
{
	position: relative;
	z-index: 0;
	display: flex;
	height: 44px;
	padding: 0 9px 0 7px;
	align-items: center;
	margin-bottom: 5px;
	background: #3B5EB5;
	box-shadow: 0 0 5px #555;
	z-index: 11;
}
#user_style_large
{
	display: none;
}

/* Titre. */
#title
{
	display: flex;
	flex: 1;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
}
header.banner #title,
header.user #title
{
	text-align: left;
}
header h1
{
	position: relative;
	z-index: 0;
	font-size: 150%;
	font-weight: normal;
	font-family: Georgia, serif;
	font-style: italic;
	display: inline-block;
}
header h1 a
{
	border: 0;
	margin: 0;
	color: #fafafa;
}
header h1 a .emoji
{
	font-style: normal;
}

/* Menu utilisateur. */
#user_links
{
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 10px;
}
#user_links img
{
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
}
#user_links > a
{
	border: 0;
	margin: 0;
}
#user_links ul
{
	display: none;
	position: absolute;
	top: 58px;
	right: -2px;
	border-top: 1px solid silver;
}
#user_links ul a
{
	display: block;
	padding: 15px;
	margin: 0;
	background: white;
	border: 1px solid silver;
	border-top: 0;
	white-space: nowrap;
	font-size: 120%;
}
#user_links li#user_login a
{
	font-weight: bold;
	color: #3B5EB5;
}
#user_links li#user_avatar
{
	display: none;
}
#user_links > a img,
#user_links li#user_avatar img
{
	background: #eee;
}
#header_top #user_style_small a
{
	display: flex;
	align-items: center;
	font-family: "IcoMoon";
	font-size: 200%;
	color: #555;
}
#header_top > #user_style_small a
{
	border: 0;
	padding: 0;
	margin: 0 0 0 15px;
	color: white;
}

/* Menu utilisateur : flèche */
#user_links ul::after,
#user_links ul::before
{
	content: '';
	position: absolute;
	top: -17px;
	right: 10px;
	display: block;
	border: 10px solid transparent;
	border-width: 0 10px 16px;
	border-bottom-color: silver;
}
#user_links ul::after
{
	top: -15px;
	border-bottom-color: white;
}

/* Menu principal */
#menu_link
{
	border: 0;
	margin: 0 10px 0 0;
	font-family: "IcoMoon";
	font-size: 250%;
	color: #fafafa;
}
#menu
{
	display: none;
	position: absolute;
	top: 44px;
	width: 100%;
	background: #fff;
	z-index: 100;
}
#menu li a
{
	display: flex;
	padding: 0 10px 0 48px;
	height: 44px;
	font-size: 120%;
	border-bottom: 1px solid silver;
	margin: 0;
	align-items: center;
	text-transform: uppercase;
	position: relative;
}
#menu li:nth-last-child(-n+2) a
{
	border: none;
}
#menu li.icon
{
	display: none;
}

/* Icônes */
#menu a::before
{
	font-family: "IcoMoon";
	position: absolute;
	left: 10px;
	width: 30px;
	height: 100%;
	font-size: 160%;
	align-items: center;
	justify-content: center;
	display: flex;
	color: #555;
}
li[id^="menu_custom"] a::before
{
	content: '\e943';
}
#menu_cameras a::before
{
	content: '\e903';
}
#menu_comments a::before
{
	content: '\e932';
}
#menu_contact a::before
{
	content: '\e90f';
}
#menu_gallery a::before
{
	content: '\e95e';
}
#menu_history a::before
{
	content: '\e954';
}
#menu_members a::before
{
	content: '\e930';
	top: -1px;
}
#menu_tags a::before
{
	content: '\f02c';
}
#menu_search a::before
{
	content: '\e90a';
}
#menu_worldmap a::before
{
	content: '\e947';
}
#browse,#search
{
	display: none;
}



/**
 * Contenu.
 *
 */
#top
{
	position: absolute;
	top: 0;
}
#theme_options
{
	display: none;
}
#gallery_closed
{
	font-size: 130%;
	margin: 50px auto;
	line-height: 1.5em;
}

/* Titres */
h3.icon
{
	font-size: 130%;
	font-weight: bold;
	color: #555;
	margin: 0 0 15px;
	display: flex;
	align-items: center;
}
h3.icon span:first-child
{
	font-family: "IcoMoon";
	font-size: 140%;
	display: block;
	margin-right: 8px;
	font-weight: normal;
	position: relative;
	top: -1px;
}

/* Erreurs */
.error_page
{
	position: relative;
	z-index: 0;
	margin: 60px auto 80px;
	max-width: 650px;
}
.error_page h2
{
	font-size: 250%;
	font-weight: normal;
	color: #555;
}
.error_page p
{
	font-size: 110%;
	line-height: 1.5em;
	margin: 40px 0;
}
.error_page::after
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: right;
	z-index: -1;
	font-size: 1200%;
	color: #f0f0f0;
}
#error_404::after
{
	top: -30px;
	content: '404';
}
#error_internal::after
{
	content: '\e999';
	font-family: "IcoMoon";
}

/* Description */
.object_desc
{
	margin: 20px auto 40px;
	max-width: 800px;
	font-size: 120%;
	line-height: 1.7em;
	word-break: break-word;
	overflow-wrap: break-word;
}
.object_desc .emoji
{
	font-size: 130%;
}

/* Aide contextuelle. */
.infos_container
{
	display: none;
}



/**
 * Tableaux.
 *
 */
.table_default_container
{
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.table_default_container > table.default
{
	margin: 10px -8px 0;
}
table.default
{
	margin: 0 auto;
}
table.default th
{
	text-align: center;
	font-weight: bold;
	padding: 15px;
	border: 1px solid #3B5EB5;
	border-right-color: #B0B0B0;
	background: #3B5EB5;
	color: white;
}
table.default th:last-child
{
	border-right-color: #3B5EB5;
}
table.default td
{
	border: 1px solid #B0B0B0;
	background: white;
	padding: 14px 8px;
	vertical-align: top;
}
table.default tr:nth-child(odd) td
{
	background: #F8F8F8;
}
table.default .num
{
	text-align: right;
}



/**
 * Formulaires.
 *
 */
fieldset
{
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}
legend
{
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: bold;
	color: #333;
}
.field
{
	margin: 15px 0;
	line-height: 2em;
}
.field > br
{
	margin: 0 0 5px;
}

/* Boutons. */
.button
{
	border: 1px solid silver;
	margin: 10px 10px 10px 0;
	padding: 6px 10px;
	background: linear-gradient(0deg, #E5E5E5, #FFFFFF);
	white-space: nowrap;
	outline: none;
	cursor: pointer;
	font-size: 120%;
}
.button:active
{
	background: linear-gradient(0deg, #FFFFFF, #E5E5E5);
}
.button:focus
{
	border-color: gray;
}
.button:hover
{
	box-shadow: 0 0 6px silver;
}
.button[disabled],
.button[disabled]:active,
.button[disabled]:focus,
.button[disabled]:hover
{
	color: #aaa;
	border-color: #ddd;
	background: none;
	outline: none;
	box-shadow: none;
	cursor: default;
}

/* Bouton de sélection de fichier. */
.nojs .button_file
{
	display: block;
}
.js input[type="file"]
{
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}
.js .button_file
{
	background: #ddd;
	display: inline-block;
	padding: 2px 8px;
	margin: 10px 0 0;
	max-width: 90%;
	overflow: hidden;
	cursor: pointer;
	word-break: break-word;
}
.js input[type="file"]:focus + label,
.js .button_file:hover
{
	background: #ccc;
}
.js .button_file:active
{
	outline: 1px solid #555;
}

/* Champs texte. */
input[type="email"],
input[type="password"],
input[type="text"],
input[type="url"]
{
	border: 1px solid silver;
	margin: 0;
	padding: 0 4px;
	background: #FAFAFA;
	height: 2.2em;
	outline: none;
}
input[type="email"].large,
input[type="password"].large,
input[type="text"].large,
input[type="url"].large
{
	display: block;
	margin-top: 4px;
	width: 95%;
	max-width: 30em;
}
textarea
{
	font-family: monospace, sans-serif;
	line-height: 1.3em;
	border: 1px solid silver;
	background: #FAFAFA;
	padding: 4px;
	display: block;
	margin-top: 5px;
	width: 95%;
	max-width: 40em;
	min-height: 2em;
	outline: none;
}

/* Cases à cocher. */
input[type="checkbox"],
input[type="radio"]
{
	position: relative;
	top: 2px;
	margin: 0 3px 0 0;
	filter: grayscale(1);
}
@-moz-document url-prefix()
{
	input[type="checkbox"],
	input[type="radio"]
	{
		top: 0;
		filter: grayscale(1) brightness(1.3);
	}
}
input[type="checkbox"]:disabled
{
	cursor: not-allowed;
}
input[type="checkbox"]:disabled + label
{
	color: silver;
	cursor: not-allowed;
}

/* Listes. */
select
{
	border: 1px solid silver;
	background: #FAFAFA;
	max-width: 15em;
	height: 2.2em;
	outline: none;
}
option[selected]
{
	background: #cecece;
}
option[disabled]
{
	color: #aaa;
}

/* Éléments:focus */
input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
select:focus, textarea:focus
{
	border-color: gray;
}

/* Champs erronés */
.field_error input,
.field_error input:focus,
.field_error select,
.field_error select:focus,
.field_error textarea,
.field_error textarea:focus
{
	border: 1px solid #3B5EB5;
	outline: 1px solid #3B5EB5;
}



/**
 * Formulaire standard.
 *
 */
form.standard
{
	max-width: 340px;
	margin: 20px auto;
	padding: 0;
}
form.standard h2
{
	font-size: 180%;
	color: #555;
	font-weight: normal;
	margin-bottom: 30px;
}
form.standard *[class^="message_"]
{
	margin-bottom: 30px;
}
form.standard .required
{
	position: relative;
}
form.standard .required label
{
	padding-left: 1.5em;
}
form.standard .required::before
{
	content: '\2731';
	position: absolute;
	font-size: 120%;
	color: #3B5EB5;
}

/* Formulaire d'inscription. */
#register_form #password_validation + span
{
	line-height: 2em;
	margin-top: 10px;
	display: block;
}
#register_form #password_validation + span span:last-child
{
	display: block;
	font-weight: bold;
	color: #333;
}

/* Nouveau mot de passe. */
#new_password
{
	font-size: 120%;
	padding: 15px;
	margin-left: -15px;
	border: 1px solid silver;
	background: #fafafa;
	text-align: center;
}



/**
 * Pages personnalisées.
 *
 */
#page_custom
{
	margin: 20px 0 30px;
	max-width: 800px;
	font-size: 120%;
	line-height: 1.7em;
}
#page_custom .emoji
{
	font-size: 130%;
}
#page_custom h1,
#page_custom h2,
#page_custom h3,
#page_custom h4,
#page_custom h5,
#page_custom h6
{
	color: #444;
}
#page_custom h1
{
	font-size: 160%;
}
#page_custom h2
{
	font-size: 130%;
}



/**
 * Viewer.
 *
 */
#viewer
{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0,0,0,0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: zoom-out;
}
#viewer img
{
	max-width: 100%;
	max-height: 100%;
	background: white;
}
#viewer img:not([data-type="image/jpeg"])
{
	background: white;
}



/**
 * Page contact.
 *
 */
#contact_form
{
	max-width: 520px;
}
#contact_form input[type="email"],
#contact_form input[type="text"],
#contact_form input[type="url"]
{
	max-width: 400px;
}
#contact_message
{
	max-width: 100%;
	margin-bottom: 30px;
}



/**
 * Messages de rapport.
 *
 */
#messages
{
	margin: 0 0 30px;
}
*[class^="message_"]
{
	margin: 15px 0;
	font-size: 120%;
	padding-left: 1.8em;
	position: relative;
	color: #3B5EB5;
}
*[class^="message_"] a,
*[class^="message_"] span
{
	color: #3B5EB5;
	border-color: #3B5EB5;
}
*[class^="message_"]::before
{
	font-family: "IcoMoon";
	position: absolute;
	font-size: 140%;
	color: #3B5EB5;
	margin-top: -2px;
	top: 0;
	left: 0;
	display: flex;
	height: 100%;
	width: 1.8em;
}
@-moz-document url-prefix()
{
	*[class^="message_"]::before { margin-top: -4px; }
}
*[class="message_error"]::before
{
	content: '\e904';
	top: 1px;
}
*[class="message_info"]::before
{
	content: '\f06a';
}
*[class="message_success"]::before
{
	top: -1px;
	content: '\e905';
}



/**
 * Page de déconnexion.
 *
 */
#logout
{
	margin: 30px 0 60px;
	text-align: center;
}



/**
 * Fil d'Ariane et outils.
 *
 */
#breadcrumb_tools
{
	margin-bottom: 5px;
}
#breadcrumb,.breadcrumb_filter,#tools
{
	min-height: 1.8em;
}
#breadcrumb_tools nav
{
	flex: 1;
	align-items: center;
}
#breadcrumb
{
	font-size: 110%;
}
#breadcrumb a
{
	line-height: 1.6em;
}
#breadcrumb .current
{
	font-weight: bold;
	border-width: 0;
	color: #333;
}
#breadcrumb .current:hover
{
	border-width: 2px;
}
.breadcrumb_filter
{
	font-size: 110%;
	line-height: 1.6em;
	margin-bottom: 4px;
}
.breadcrumb_filter .filter_name,
.breadcrumb_filter #cat_name
{
	font-weight: bold;
	color: #3B5EB5;
	border-color: #3B5EB5;
}
#objects_count
{
	font-weight: normal;
}

/* Pages */
#page_breadcrumb
{
	font-size: 110%;
	line-height: 1.6em;
	margin-bottom: 30px;
}
#page_breadcrumb span,
#page_breadcrumb a
{
	font-weight: bold;
	color: #3B5EB5;
	border-color: #3B5EB5;
}
#page_breadcrumb + .message_info
{
	margin-top: 40px;
}

/* Outils */
#tools
{
	margin: 10px 0 30px;
	text-align: center;
	position: relative;
	height: 0;
}
#section_item #tools
{
	margin: 10px 0 20px;
}
#tools li
{
	display: inline-block;
	margin: 0 5px;
}
#tools a
{
	font-family: "IcoMoon";
	border: 0;
	padding: 0;
	margin: 0;
	font-size: 200%;
	color: #555;
	display: flex;
	height: 38px;
	width: 38px;
	align-items: center;
	justify-content: center;
}
#tools a:hover
{
	color: #3B5EB5;
}
#link_prev
{
	position: absolute;
	left: -10px;
}
#link_next
{
	position: absolute;
	right: -10px;
}
#link_prev a,
#link_next a
{
	display: flex;
	justify-content: center;
	margin-top: 1px;
}

/* Icônes */
#link_logout
{
	position: relative;
	top: -1px;
}
#tools #link_delete a,
#tools #link_edit a
{
	font-size: 170%;
	position: relative;
	top: -1px;
}
#tools #link_admin,
#tools #link_cameras,
#tools #link_delete,
#tools #link_diaporama,
#tools #link_download,
#tools #link_edit,
#tools #link_favorites,
#tools #link_history,
#tools #link_logout,
#tools #link_upload
{
	display: none;
}
@media (min-width: 200px)
{
	#tools #link_diaporama
	{
		display: inline-block;
	}
}
@media (min-width: 250px)
{
	#tools.cat #link_upload
	{
		display: inline-block;
	}
	#tools.item #link_download
	{
		display: inline-block;
	}
}
@media (min-width: 300px)
{
	#tools.cat #link_edit
	{
		display: inline-block;
	}
	#tools.item #link_favorites
	{
		display: inline-block;
	}
}
@media (min-width: 350px)
{
	#tools.cat #link_logout
	{
		display: inline-block;
	}
	#tools.item #link_edit
	{
		display: inline-block;
	}
}
@media (min-width: 400px)
{
	#tools.cat #link_favorites
	{
		display: inline-block;
	}
	#tools.item #link_logout
	{
		display: inline-block;
	}
}
@media (min-width: 450px)
{
	#tools.cat #link_download
	{
		display: inline-block;
	}
	#tools.item #link_admin
	{
		display: inline-block;
	}
}
@media (min-width: 500px)
{
	#tools.cat #link_delete
	{
		display: inline-block;
	}
}
@media (min-width: 550px)
{
	#tools.cat #link_admin
	{
		display: inline-block;
	}
}
@media (min-width: 600px)
{
	#tools.cat #link_history
	{
		display: inline-block;
	}
}
@media (min-width: 650px)
{
	#tools.cat #link_cameras
	{
		display: inline-block;
	}
}



/**
 * Boîtes flottantes.
 *
 */
.box_outer
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: hsla(0, 0%, 0%, 0.5);
	z-index: 999;
}
.box_inner
{
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
.box
{
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	position: absolute;
}
.box.box_center
{
	top: auto;
	margin-top: -43px;
}

/* Menu. */
.box_menu
{
	display: flex;
	overflow: auto;
}
.box_menu a
{
	cursor: pointer;
	padding: .6em 1em;
	background: white;
	display: flex;
	align-items: center;
	font-size: 120%;
	white-space: nowrap;
	color: #555;
	border: 0;
	border-left: 1px solid #ddd;
	margin: 0;
}
.box_menu li:first-child a
{
	border: 0;
}
.box_menu a:hover
{
	background: #f0f0f0;
}
.box_menu li.current a
{
	color: white;
	background: #3B5EB5;
}
.box_menu li.current a,
.box_menu li.current + li a
{
	border-color: transparent;
}
.box_menu span
{
	font-family: "IcoMoon";
	font-size: 120%;
	margin-right: 10px;
}
.box_menu span.emoji
{
	font-size: 110%;
}
.box_menu span.emoji[title]
{
	cursor: pointer;
}

/* Contenu. */
.box_page
{
	display: none;
}
.box_menu + .box_page
{
	display: block;
}
.box_content
{
	border-top: 3px solid #3B5EB5;
	padding: 15px 20px 0;
	background: white;
	overflow: auto;
}
.box_content::after
{
  content: '';
  display: block;
  height: 15px;
  width: 100%;
}
.box_content .field
{
	margin-top: 0;
}
.box_content input[type="text"],
.box_content input[type="password"],
.box_content textarea
{
	margin: 5px 0 0;
	display: block;
	width: calc(100% - 10px);
	min-width: calc(100% - 10px);
	max-width: calc(100% - 10px);
}
.box_content textarea
{
	max-height: 250px;
}

/* Boutons. */
.box_buttons
{
	padding: 5px 20px;
	border-top: 1px solid #ddd;
	background: #fafafa;
	display: flex;
	align-items: center;
	position: relative;
}

/* Loading */
#box_loading
{
	margin: 0 0 0 10px;
	width: 24px;
	height: 24px;
}
#box_loading::after
{
	content: '';
	background: #aaa;
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	transform: scale(0);
	opacity: 1;
	animation: box-loading 0.8s ease-out infinite;
}
@keyframes box-loading
{
	100%
	{
		transform: scale(1.0);
		opacity: 0;
	}
}

/* Rapport. */
#box_report
{
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 40px);
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 20px;
	background: #fafafa;
	overflow: auto;
	cursor: pointer;
}
#box_report > span[class^="message_"]::before
{
	top: 0;
}

/* Media queries */
@media (min-height: 0px)
{
	.box
	{
		top: 5vh;
	}
	.box_content
	{
		max-height: calc(85vh - 150px);
	}
}
@media (min-height: 600px)
{
	.box
	{
		top: 10vh;
	}
	.box_content
	{
		max-height: calc(85vh - 180px);
	}
}
@media (min-height: 800px)
{
	.box
	{
		top: 15vh;
	}
	.box_content
	{
		max-height: calc(85vh - 200px);
	}
}

/* Édition du fichier. */
#box_category .box,
#box_item .box
{
	max-width: 650px;
}
#box_comment_delete .box_content,
#box_item_delete .box_content
{
	padding: 25px 20px 30px;
}

/* Console de connexion. */
/* Mot de passe de catégorie. */
#box_login .box,
#box_password .box
{
	max-width: 380px;
}
.box_menu *[data-box-page-id="box_login_page"] span
{
	font-size: 130%;
}



/**
 * Liens de navigation entre les pages.
 *
 */
#section_category #pages_top,
#section_album #pages_top,
#section_item #pages_top
{
	display: none;
}
.pages
{
	margin: 20px auto;
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.pages form
{
	display: none;
}
#item_columns + #pages_bottom
{
	margin-top: 80px;
}

/* Liens. */
.pages .link > *
{
	display: flex;
	height: 33px;
	width: 33px;
	margin: 0 8px;
	border: 1px solid silver;
	background: #FAFAFA;
	position: relative;
}
.pages .link > *:not(::after)
{
	font-size: 0;
}
.pages a:hover::after
{
	background: #eee;
}
.pages .first > *,
.pages .last > *
{
	width: 32px;
}
.pages .link > * span
{
	display: none;
}

/* Icônes. */
.pages .link > *::after
{
	position: absolute;
	font-family: "IcoMoon";
	font-size: 150%;
	color: #333;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: white;
}
.pages .first > *::after
{
	content: '\f104\f104';
}
.pages .prev > *::after
{
	content: '\f104';
}
.pages .next > *::after
{
	content: '\f105';
}
.pages .last > *::after
{
	content: '\f105\f105';
}

/* Liens inactifs. */
.pages .link > span
{
	background: none;
	border-color: #E6E6E6;
}
.pages .link > span::after
{
	opacity: .25;
}



/**
 * Vignettes de catégories.
 *
 */
#thumbs_cat
{
	margin: 0 -8px;
	display: flex;
	flex-wrap: wrap;
}
#thumbs_cat dl
{
	margin: 10px auto;
	position: relative;
	width: calc(100% - 10px);
	max-width: 244px;
}

/* Image */
#thumbs_cat dt
{
	position: relative;
	margin-bottom: 5px;
}
#thumbs_cat dt a
{
	display: flex;
	justify-content: center;
	border: 1px solid silver;
	background: white;
	margin: 0;
	padding: 5px;
}
#thumbs_cat dt a:hover
{
	border-color: #3B5EB5;
	outline: 1px solid #3B5EB5;
}
#thumbs_cat dt img
{
	width: 100%;
	height: 100%;
	min-height: 100px;
}

/* Fichiers récents */
#thumbs_cat .recent,
#thumbs_cat .recent:hover
{
	position: absolute;
	top: 4px;
	left: 9px;
	padding: 8px;
	font-size: 110%;
	font-weight: normal;
	margin: 0;
	border: 0;
	color: white;
	z-index: 0;
}
#thumbs_cat .recent::after
{
	z-index: -1;
	position: absolute;
	content: '';
	background: #3B5EB5;
	width: calc(100% + 10px);
	height: 100%;
	top: 0;
	left: -5px;
	transform: rotate(-6deg);
}

/* Fichiers récents : transition */
#thumbs_cat .recent::after
{
	transition: transform 0.1s ease;
}
#thumbs_cat .recent:hover::after
{
	transform: scale(1.15) rotate(6deg);
	transition: transform 0.1s linear;
}

/* Titre */
#thumbs_cat dd
{
	overflow: hidden;
	margin: 0 5px;
}
#thumbs_cat .title
{
	display: block;
	padding: 2px 0;
	overflow: hidden;
	line-height: 1.45em;
	max-height: 5.8em;
}
#thumbs_cat .title a
{
	border: 0;
	font-size: 100%;
	font-weight: bold;
	color: #333;
}
#thumbs_cat .title a:hover
{
	border-bottom: 2px solid gray;
}

/* Stats */
dl ul.stats li
{
	font-weight: bold;
	color: #808080;
	white-space: nowrap;
	margin: 5px 0;
	overflow: hidden;
}
dl ul.stats li:not(.rating) span:nth-child(2)
{
	margin-left: 6px;
	padding-left: 8px;
	border-left: 1px solid #929292;
	position: relative;
}
dl ul.stats li.rating span span
{
	font-family: "IcoMoon";
	font-size: 130%;
	color: #3B5EB5;
}
#thumbs_cat dl ul.stats li.rating span span
{
	font-size: 120%;
}
.thumbs_items dl ul.stats li.filter
{
	font-size: 100%;
	color: #3B5EB5;
}
dl ul.stats li a
{
	color: #808080;
	display: inline-block;
	border-color: transparent;
}
dl ul.stats li a:hover
{
	border-color: #808080;
}

/* Stats en icônes */
dl ul.stats_icon
{
	opacity: 0;
	position: absolute;
	top: 6px;
	right: 6px;
	height: calc(100% - 12px);
	width: 60%;
	background: linear-gradient(90deg, transparent, #3B5EB5);
}
dl ul.stats_icon li
{
	display: flex;
	color: #fff;
	padding: 4px;
	margin-left: -40%;
	text-align: right;
	text-shadow: 1px 1px 1px #000;
}
dl ul.stats_icon li span:first-child
{
	flex: 1;
	white-space: nowrap;
}
dl ul.stats_icon li span.icon
{
	font-family: "IcoMoon";
	font-size: 120%;
	position: relative;
	top: 0;
	width: 1.5em;
}
dl ul.stats_icon li.votes span.icon
{
	top: -1px;
}

/* Protection par mot de passe */
#thumbs_cat dl.locked dt a span
{
	display: flex;
	position: relative;
	width: 100%;
	padding-top: 72%;
}
#thumbs_cat.portrait dl.locked dt a span
{
	padding-top: 150%;
}
#thumbs_cat.square dl.locked dt a span
{
	padding-top: 100%;
}
#thumbs_cat dl.locked dt a span::before
{
	content: '\e92e';
	font-family: "IcoMoon";
	font-size: 300%;
	color: #555;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#thumbs_cat dl.locked dt a:hover span::before
{
	color: #3B5EB5;
}
#thumbs_cat dl.unlocked dt a::before
{
	content: '\e94e';
	font-family: "IcoMoon";
	font-size: 150%;
	background: white;
	color: #333;
	position: absolute;
	bottom: 20px;
	left: 20px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	opacity: 0.8;
}



/**
 * Vignettes de fichiers.
 *
 */
.thumbs_items
{
	margin: 10px -8px 0;
	display: flex;
	flex-wrap: wrap;
}
.thumbs_items dl
{
	position: relative;
	margin: 10px auto;
	width: calc(100% - 10px);
	width: 100%;
}
.thumbs_items.standard dl
{
	max-width: 151px;
}
.thumbs_items.portrait dl,
.thumbs_items.square dl
{
	max-width: 161px;
}

/* Image */
.thumbs_items dt
{
	position: relative;
	margin-bottom: 5px;
}
.thumbs_items dt a
{
	display: flex;
	border: 0;
	margin: 0;
	align-items: center;
	justify-content: center;
	padding-top: 100%;
	width: 100%;
	background: white;
}
.thumbs_items.square dt a,
.thumbs_items.standard dt a
{
	padding-top: 100%;
}
.thumbs_items.portrait dt a
{
	padding-top: 149.7%;
}
.thumbs_items dt a img
{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.thumbs_items.standard dt a img
{
	max-height: 151px;
	max-width: 151px;
}
.thumbs_items.portrait dt a img,
.thumbs_items.square dt a img
{
	max-width: 161px;
}
.thumbs_items.standard dt a
{
	outline: 1px solid silver;
}
.thumbs_items.standard dt a:hover
{
	outline: 1px solid #3B5EB5;
}

/* Fichiers récents */
.thumbs_items dt span.new
{
	position: absolute;
	top: -2px;
	left: 2px;
	padding: 6px;
	font-weight: normal;
	margin: 0;
	border: 0;
	color: white;
	z-index: 1;
	font-size: 80%;
}
.thumbs_items dt span.new::after
{
	z-index: -1;
	position: absolute;
	content: '';
	background: #3B5EB5;
	width: calc(100% + 10px);
	height: 100%;
	top: 0;
	left: -5px;
	transform: rotate(-6deg);
}

/* Titre */
.thumbs_items dd span.title
{
	display: block;
	margin-bottom: 2px;
	padding: 2px;
	overflow: hidden;
	line-height: 1.45em;
	max-height: 5.8em;
	text-align: center;
}
.thumbs_items dd span.title a
{
	border: 0;
	padding: 0;
	font-weight: bold;
	font-size: 90%;
	color: #333;
}
.thumbs_items dd span.title a:hover
{
	border-bottom: 2px solid gray;
}

/* Type de fichier : vidéo */
.thumbs_items dl.video dt a
{
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Durée */
.thumbs_items .duration
{
	position: absolute;
	z-index: 1;
	bottom: 10px;
	right: 0;
	display: flex;
	align-items: center;
	padding: 3px 5px;
	background: #222;
	color: #fff;
	font-size: 100%;
}
.thumbs_items .duration span:first-child
{
	font-family: "IcoMoon";
	font-size: 100%;
	margin-right: 3px;
}

/* Stats */
.thumbs_items ul.stats li
{
	text-align: center;
	font-weight: normal;
	color: #333;
	font-size: 85%;
	margin-bottom: 5px;
}

/* Stats en icônes */
.thumbs_items dl ul.stats_icon
{
	top: 0;
	right: 0;
	height: 100%;
	width: 60%;
}



/**
 * Page des images & vidéos.
 *
 */
#item
{
	margin: 0 0 0 -8px;
	width: calc(100% + 16px);
	display: flex;
	justify-content: center;
	align-items: center;
	background: #111;
	min-height: 100px;
	position: relative;
}
#item img
{
	max-width: 100%;
	max-height: 700px;
}
#item img:not([data-type="image/jpeg"])
{
	background: white;
}
#item video
{
	width: 100%;
	max-height: 700px;
	background: black;
}
#item_link
{
	position: relative;
	border: 0;
	padding: 0;
	margin: 0;
}
#item_link[href]
{
	cursor: zoom-in;
}
#item_link::after
{
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
#item_title
{
	font-size: 120%;
	font-weight: bold;
	color: #333;
	overflow: hidden;
	margin: 15px auto 20px;
	max-width: 650px;
	text-align: center;
}
#item_title a
{
	color: #333;
	border: 0;
}
#item_description
{
	margin: 0 auto 40px;
}

/* Favori */
#item.favorite::before
{
	content: '\e910';
	font-family: "IcoMoon";
	position: absolute;
	font-size: 150%;
	top: 12px;
	right: 12px;
	color: white;
	background: #3B5EB5;
	z-index: 1;
	border-radius: 50%;
	padding: 1px 0 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.9;
}

/* Listes */
#item_columns ul li
{
	margin: 5px 0;
}
#item_columns ul li span
{
	font-weight: bold;
	color: #333;
}

/* Colonnes */
#item_columns
{
	margin-top: 50px;
}
#item_columns > div > div > div
{
	margin-bottom: 40px;
}
#item_left > div:last-child
{
	margin-bottom: 0;
}
#item_left,
#item_right
{
	margin: 0 auto;
	max-width: 530px;
}
#item_exif,
#item_iptc,
#item_xmp
{
	word-break: break-word;
	overflow-wrap: break-word;
}
#item_xmp h3.icon span
{
	font-size: 150%;
}

/* Statistiques */
#item_stats
{
	display: flex;
	justify-content: center;
	order: 1;
	margin: 0 -8px;
	padding: 6px 8px;
	background: #333;
}
#item_stats li
{
	margin: 0 10px;
	font-size: 120%;
	color: white;
	display: flex;
	align-items: center;
}
#item_stats span:last-child
{
	font-family: "IcoMoon";
	margin-left: 8px;
}

/* Tags */
#item_tags ul li
{
	display: inline-block;
	margin: 7px 10px 7px 0;
}
#item_tags ul li a
{
	display: inline-block;
	padding: 6px 8px;
	border: 0;
	border-radius: 6px;
	font-size: 110%;
	border: 1px solid silver;
	margin: 0;
}
#item_tags ul li a:hover
{
	border-color: gray;
}

/* Description */
#item_columns .object_desc
{
	margin: 0;
}

/* Utilisateur */
#item_user div
{
	display: flex;
}
#item_user_avatar
{
	margin-right: 10px;
}
#item_user_avatar > a
{
	border: 0;
	margin: 0;
	display: inline-block;
}
#item_user_avatar img
{
	object-fit: cover;
	margin: 0;
	border-radius: 50%;
	background: #eee;
}
#item_user div > p
{
	line-height: 1.8em;
}
#item_user_login,
#item_user_login a
{
	font-weight: bold;
	color: #3B5EB5;
	border-color: #3B5EB5;
}

/* Pagination */
#item_prev,
#item_next
{
	display: none;
}

/* Votes */
#item_rating h3:not(.icon)
{
	color: #555;
	margin-bottom: 10px;
}
#item_rating .message_info
{
	margin-top: 35px;
	padding-bottom: 10px;
}
#item_note
{
	margin-top: 5px;
	margin-bottom: 30px;
}
#item_note .rating
{
	position: relative;
	top: 2px;
	font-family: "IcoMoon";
	font-weight: bold;
	font-size: 160%;
	color: #555;
}
#item_user_note
{
	height: 48px;
	display: flex;
	align-items: center;
}
#item_user_note > span,
#item_user_note a span
{
	font-size: 220%;
	margin-left: -5px;
	font-family: "IcoMoon";
	color: #3B5EB5;
	cursor: pointer;
}
#item_user_note .rating
{
	margin: 0 5px;
}
#item_user_note #item_user_note_delete
{
	position: relative;
	top: 2px;
	margin: 0 0 0 20px;
	font-size: 150%;
	border: 0;
	padding: 0;
}
#item_user_note #item_user_note_delete.hidden
{
	visibility: hidden;
}



/**
 * Page des images & vidéos : commentaires.
 *
 */
#item_no_comment
{
	margin-bottom: 50px;
}
#item_comments
{
	max-width: 500px;
}
#item_comments #rss
{
	margin: 0;
}
#item_comments .message_info
{
	margin-top: 60px;
}
#comment-form
{
	top: -10px;
	position: relative;
}

/* Formulaire. */
#item_comments_add
{
	margin-top: 60px;
}
#item_comments_add form
{
	max-width: 100%;
}
#item_comments_add input
{
	max-width: 300px;
}
#item_comments_add textarea
{
	max-width: 500px;
}
#item_comments_add h3
{
	color: #555;
	margin-bottom: 20px;
	padding-bottom: 3px;
	border-bottom: 1px solid silver;
}
#item_comments_add .message_info
{
	margin-top: 25px;
	margin-bottom: 20px;
}
#item_comments_add #submit
{
	display: flex;
	flex-direction: column;
}
#item_comments_add #submit p:first-child
{
	order: 2;
}
#item_comments_add #submit p:last-child
{
	order: 1;
}
#item_comment_remember
{
	margin-bottom: 20px;
}
#comment_preview
{
	background: #3B5EB5;
	color: white;
	padding: 6px 10px;
	margin-top: 20px;
}

/* Émojis. */
#item_comment_emoji_link
{
	float: right;
	display: inline-block;
	border: 0;
	padding: 0;
	margin: 0;
}
#item_comment_emoji_link span
{
	font-size: 130%;
}
#box_emoji .box_content
{
	padding: 10px 10px 0;
}
#box_emoji .box_content .emoji
{
	border: 0;
	padding: 0;
	margin: 5px;
	font-size: 200%;
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
}
#box_emoji .box_menu a
{
	height: auto;
	padding: 10px;
	font-size: 200%;
}
#box_emoji .box_menu span
{
	margin: 0;
	padding: 0;
}



/**
 * Commentaires.
 *
 */
.comment
{
	padding-top: 10px;
	margin: 20px 0 40px;
}

/* Image. */
.comment_avatar
{
	margin-right: 12px;
}
.comment_avatar a
{
	display: block;
	border: 0;
	margin: 0;
}
.comment_avatar img
{
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 50%;
	background: #eee;
}

/* Partie supérieure. */
.comment_top
{
	padding-bottom: 5px;
	border-bottom: 1px solid silver;
	display: flex;
}
.comment_infos
{
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
}
.comment_infos > div
{
	display: flex;
}
.comment_infos > div > p:first-child
{
	flex: 1;
}

/* Auteur et date. */
.comment_author
{
	padding-bottom: 10px;
}
.comment_name
{
	font-weight: bold;
	font-size: 120%;
}
.comment_name,
.comment_name a
{
	color: #3B5EB5;
	border-color: #3B5EB5;
}
.comment_author,
.comment_date
{
	overflow: hidden;
	white-space: nowrap;
	width: 0;
}
.comment_date > span:first-child
{
	display: none;
}
.comment_edit,
.comment_num
{
	margin-left: 15px;
}
.comment_website
{
	display: none;
}

/* Icône d'édition. */
.comment_edit a
{
	font-family: "IcoMoon";
	font-size: 130%;
	color: #555;
	border: 0;
	margin: 0;
	padding: 0;
}
.comment_edit a:hover
{
	color: #000;
}

/* Message */
.comment_message
{
	margin-top: 10px;
	line-height: 1.6em;
	word-break: break-word;
	overflow-wrap: break-word;
}
.comment_message .emoji
{
	font-size: 130%;
}



/**
 * Page des commentaires.
 *
 */
#page_comments
{
	max-width: 650px;
	margin: 0 auto;
}
#page_comments .comment
{
	margin: 0 0 10px;
}
#page_comments .comment_thumb
{
	margin-right: 12px;
	margin-bottom: -1px;
}
#page_comments .comment_thumb a
{
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 5px;
	width: 60px;
	height: 60px;
	border: 1px solid transparent;
	border-right: 1px solid silver;
	border-bottom: 1px solid silver;
	position: relative;
}
#page_comments .comment_thumb img
{
	width: 100%;
	object-fit: contain;
}
#page_comments .comment_thumb.video a::after
{
	content: '';
	width: 30px;
	height: 30px;
	position: absolute;
	top: 20px;
	left: 20px;
	background: white;
	border-radius: 50%;
	opacity: 0.7;
}
#page_comments .comment_thumb.video a::before
{
	content: '\ea1c';
	font-family: "IcoMoon";
	font-size: 100%;
	color: black;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	position: absolute;
	top: 0;
	left: 1px;
	z-index: 1;
	opacity: 0.7;
}
#page_comments .comment_thumb.video a:hover::after,
#page_comments .comment_thumb.video a:hover::before
{
	opacity: 0;
}
#page_comments .comment_top
{
	padding: 0;
	border: 0;
}
#page_comments .comment_infos > div
{
	margin-right: 10px;
}
#page_comments .comment_author
{
	padding-bottom: 15px;
}
#page_comments .comment_message
{
	border-top: 1px solid silver;
	padding: 10px 10px 10px 5px;
	margin: 0;
}
#page_comments .comment_message .emoji
{
	font-size: 130%;
}



/**
 * Moteur de recherche.
 *
 */
#search_query
{
	width: 100%;
	max-width: calc(100% - 10px);
}
#search_query_container span
{
	display: flex;
	align-items: center;
}
#search_query_container label
{
	flex: 1;
}
#search_query_container a,
#search_query_container a:hover
{
	font-family: "IcoMoon";
	font-size: 130%;
	padding: 0;
	border: 0;
	margin: 0;
	color: #555;
}
#search_query_container a:hover
{
	color: #111;
}
#search_options
{
	margin-top: 30px;
}
#search_options > div:first-child fieldset:nth-child(-n+3) label
{
	margin-right: 15px;
}
#search_page input[type="text"]:not(.large)
{
	width: 4em;
}
#search_options select:first-child
{
	margin-bottom: 15px;
}
#search_page input[type="submit"]
{
	margin-top: 20px;
}
#search_options_link
{
	display: flex;
	align-items: center;
	margin: 30px 0 20px;
}
#search_options_link a
{
	border: 0;
	margin: 0;
	font-size: 130%;
	color: #333;
	display: flex;
	align-items: center;
}
#search_options_link span
{
	font-family: "IcoMoon";
	font-size: 100%;
	color: #3B5EB5;
	margin: 1px 8px 0 0;
}
#search_options_link a:hover
{
	color: #3B5EB5;
}
#search_infos span
{
	display: block;
	margin: 0 0 10px 1.3em;
	max-width: 42em;
	position: relative;
}
#search_infos span::before
{
	content: '\f105';
	font-family: "IcoMoon";
	font-size: 155%;
	top: -1px;
	left: -0.8em;
	color: #555;
	margin-right: 0.5em;
	position: absolute;
}



/**
 * Géolocalisation.
 *
 */
#worldmap
{
	z-index: 0;
}
#worldmap *:not(#popup_thumbs) a,
#worldmap *:not(#popup_thumbs) a:hover
{
	border: none;
	margin: 0;
}

/* Popup */
#worldmap .leaflet-popup-close-button
{
	display: none;
}
#worldmap .leaflet-popup-content-wrapper
{
	border-radius: 0;
}
#worldmap .leaflet-popup-content
{
	margin: 0;
}
#popup_thumbs #thumbs_cat,
#popup_thumbs .thumbs_items
{
	margin: 5px 4px 5px 5px;
	font-size: 110%;
}
#popup_thumbs .thumbs_items dl,
#popup_thumbs #thumbs_cat dl
{
	margin: 0;
	display: none;
}
#popup_thumbs #thumbs_cat dl a
{
	border: 1px solid silver;
}
#popup_thumbs #thumbs_cat dl a:hover
{
	border: 1px solid #3B5EB5;
}
#popup_thumbs .thumbs_items dd,
#popup_thumbs #thumbs_cat dd
{
	padding-top: 5px;
	overflow: hidden;
}
#popup_thumbs dl#popup_1
{
	display: block;
}
#popup_thumbs .thumbs_items dl,
#popup_thumbs .thumbs_items dd
{
	width: 110px;
}
#popup_thumbs #thumbs_cat dt img
{
	width: 100px;
	height: auto;
	min-height: auto;
}
#popup_thumbs #thumbs_cat dl,
#popup_thumbs #thumbs_cat dd
{
	width: 130px;
}
#popup_thumbs #thumbs_cat dt img
{
	width: 120px;
	height: auto;
	min-height: auto;
}
#popup_thumbs #thumbs_cat dd
{
	margin: 0 1px;
}

/* Popup : pagination */
#popup_thumbs #thumbs_pagination
{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: .8em;
	position: relative;
	text-align: center;
	max-width: 150px;
	margin: 5px auto 10px;
	color: #333;
}
#popup_thumbs #thumbs_pagination span
{
	font-size: 130%;
}
#popup_thumbs #thumbs_pagination a
{
	font-family: "IcoMoon";
	font-size: 130%;
	cursor: pointer;
	color: #999;
	display: inline-block;
	padding: 0;
	border: 0;
}
#popup_thumbs #thumbs_pagination a:hover
{
	color: #777;
}
#popup_thumbs #thumbs_pagination_prev
{
	visibility: hidden;
	float: left;
	margin-left: 15px;
}
#popup_thumbs #thumbs_pagination_next
{
	float: right;
	margin-right: 15px;
}

/* Carte du monde */
#section_worldmap #worldmap
{
	height: 400px;
}

/* Page des photos */
#item_geolocation h3.icon span
{
	margin: 0 2px 0 -6px;
}
#item_geolocation #worldmap
{
	text-align: left;
	height: 300px;
}



/**
 * Pages des membres.
 *
 */
#member_page_content
{
	max-width: 600px;
	margin: 0 auto;
}
#member_page_edit
{
	width: 100%;
	min-width: 100%;
	max-width: 100%;
}

/* Menu : icônes */
#member_menu
{
	display: flex;
	margin: 0 auto;
	justify-content: center;
	flex-wrap: wrap;
}
#member_menu li
{
	margin: 10px 5px;
}
#member_menu a
{
	display: inline-block;
	border: 0;
	margin: 0;
}
#member_menu span + span
{
	display: none;
}
.member_menu_icon
{
	font-family: "IcoMoon";
	font-size: 180%;
	color: #555;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#member_menu li.current .member_menu_icon
{
	background: #3B5EB5;
	border-radius: 50%;
	color: white;
}
#member_menu_admin .member_menu_icon,
#member_menu_avatar .member_menu_icon
{
	font-size: 200%;
}
#member_menu_upload .member_menu_icon
{
	padding-left: 2px;
	width: 42px;
	font-size: 190%;
}

/* Nom d'utilisateur et description */
#member_page h2
{
	margin: 5px 0 15px;
	padding: 0 0 5px;
	font-size: 100%;
	font-weight: normal;
	text-align: center;
}
#member_page h2 > a
{
	font-weight: bold;
	font-size: 180%;
	color: #3B5EB5;
	border: 0;
}
#member_page h2 span:not(#member_page_admin)
{
	font-size: 125%;
	margin-top: 8px;
	display: block;
}
#member_page h2 span:not(#member_page_admin),
#member_page h2 span a
{
	color: #444;
}
#member_page_description
{
	margin: 15px auto;
	left: -15px;
	position: relative;
	width: calc(100% - 7px);
	padding: 15px;
	border: 1px solid silver;
	border-width: 1px 0;
}
#member_page_description > span
{
	display: block;
	max-width: 600px;
	font-size: 110%;
	line-height: 1.5em;
}
#member_page_description .emoji
{
	font-size: 130%;
}

/* Titres */
#member_page_content h3
{
	font-size: 140%;
	margin: 15px 0 30px;
	justify-content: center;
	text-align: center;
}

/* Listes */
#member_page_content li
{
	margin-bottom: 15px;
}
#member_page_content li span
{
	font-weight: bold;
	display: block;
	margin-bottom: 5px;
	color: #333;
}

/* Formulaires */
#member_page form.standard
{
	max-width: 400px;
}

/* Page de profil */
#member_page_profile
{
	margin-top: 20px;
}
#member_page_stats
{
	margin-top: 40px;
}
#member_page_avatar img
{
	margin: 0 auto 40px;
	max-width: 250px;
	background: #eee;
}
#member_page_stats .link_number > *
{
	display: inline-block;
	margin: 0;
	border: 0;
	font-size: 100%;
	padding: 10px 12px;
	color: white;
}
#member_page_stats .link_number a
{
	background: #3B5EB5;
}
#member_page_stats .link_number span
{
	background: #555;
}

/* Édition de l'avatar */
#member_page_edit_avatar h4
{
	margin: 50px 0 15px;
	color: #333;
	font-weight: bold;
	font-size: 110%;
}
#member_page_edit_avatar img
{
	margin: 15px auto 0;
	max-width: 100%;
	background: #eee;
}



/**
 * Historique.
 *
 */
#history_type
{
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	margin: 20px 0 30px;
}
#history_type a
{
	font-size: 120%;
	border: 1px solid silver;
	display: inline-block;
	margin: 10px;
	padding: 10px 15px;
	text-align: center;
}
#history_type a:hover
{
	border-color: #888;
}
#history_type a.current
{
	color: white;
	background: #3B5EB5;
	border-color: #3B5EB5;
}
#history_current
{
	text-align: center;
	font-size: 150%;
	margin: 0 0 40px;
	color: #555;
}
#history
{
	margin: 0 auto 20px;
	padding: 0;
	width: 95%;
}
#history > div
{
	position: relative;
	display: flex;
	flex-direction: column;
	width: 50%;
	padding-bottom: 40px;
}
#history .history_count
{
	line-height: 1.6em;
}
#history > div:nth-child(odd)
{
	left: -11.5px;
	margin-right: auto;
	padding-right: 10px;
	border-right: 3px solid #ddd;
	text-align: right;
}
#history > div:nth-child(odd) > *
{
	margin-left: auto;
}
#history > div:nth-child(even)
{
	left: 11.5px;
	margin-left: auto;
	padding-left: 10px;
	border-left: 3px solid #ddd;
}
#history > div:nth-child(even) > *
{
	margin-right: auto;
}
#history > div:first-child
{
	padding-top: 30px;
}
#history > div:last-child
{
	padding-bottom: 30px;
}
.history_date
{
	font-size: 140%;
}
.history_date,
.history_date a
{
	color: #555;
}
#history .history_thumb
{
	margin: 15px 0 8px;
	border: 0;
	background: #fafafa;
}
#history .history_thumb img
{
	max-width: 140px;
	max-height: 140px;
}
@media (min-width: 600px)
{
	#history_type
	{
		flex-direction: row;
	}
	#history_type p
	{
		width: 50%;
		display: flex;
	}
	#history > div:nth-child(odd)
	{
		left: -16.5px;
		padding-right: 15px;
	}
	#history > div:nth-child(even)
	{
		left: 16.5px;
		padding-left: 15px;
	}
	#history_type > p:first-child
	{
		justify-content: flex-end;
	}
	#history .history_thumb img
	{
		max-width: 200px;
		max-height: 200px;
	}
}



/**
 * Envoi de fichiers.
 *
 */
#upload
{
	margin-top: 20px;
	max-width: 575px;
}
.upload_limits
{
	margin: 10px 0;
	line-height: 1.5em;
}

/* Liste des fichiers */
#upload_list
{
	outline: 1px solid silver;
	overflow-y: scroll;
	height: 183px;
	background: white;
}
#upload_list.dragover
{
	outline: 3px dashed #69A644;
	border-color: transparent;
}
#upload_list.dragleave
{
	border-color: silver;
}
#upload_startmsg
{
	color: #bbb;
	font-size: 150%;
	margin: auto;
	text-align: center;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

/* Fichier */
#upload_list .upload_file
{
	width: calc(100%-4px);
	border-bottom: 1px solid #ddd;
	background: #FCFCFC;
	height: 60px;
}
#upload_list .upload_file_body
{
	overflow: hidden;
	border-left: 4px solid #FCFCFC;
}
#upload_list .upload_file_infos
{
	display: flex;
	padding: 10px 15px 0;
	height: 20px;
}
#upload_list .upload_file_progress
{
	display: flex;
	align-items: center;
	padding: 0 15px 5px;
	height: 25px;
}
#upload_list .upload_file_name
{
	overflow: hidden;
	white-space: nowrap;
	flex: 1;
	width: 0;
}
#upload_list .upload_file_size
{
	overflow: hidden;
	white-space: nowrap;
	width: 7em;
	text-align: right;
}
#upload_list .upload_file_progress p
{
	position: relative;
	padding-left: 24px;
	font-weight: bold;
}
#upload_list .upload_file_progress p::before
{
	top: -4px;
	left: 0;
	position: absolute;
	font-family: "IcoMoon";
	font-size: 150%;
}
#upload_list .upload_file_progress > div
{
	border: 1px solid silver;
	flex: 1;
}
#upload_list .upload_file_progress div div
{
	height: 4px;
	background: #385074;
	width: 0%;
}
#upload_list .upload_file_delete
{
	float: right;
	margin: 6px 11px 0 0;
	height: 22px;
	width: 22px;
	display: inline-block;
	border: 0;
	padding: 0;
	position: relative;
}
#upload_list .upload_file_delete::before
{
	content: '\e916';
	position: absolute;
	font-family: "IcoMoon";
	font-size: 160%;
}

/* Fichier : non autorisé */
#upload_list .upload_file_warning
{
	background: #F0F0F0;
}
#upload_list .upload_file_warning .upload_file_body
{
	border-left-color: #CB9225;
}
#upload_list .upload_file_warning .upload_file_progress p
{
	color: #BC8722;
}
#upload_list .upload_file_warning .upload_file_progress p::before
{
	content: '\f06a';
}
#upload_list .upload_file_warning .upload_file_thumb
{
	display: none;
}

/* Fichier : échec de l'envoi */
#upload_list .upload_file_error
{
	background: #F0F0F0;
}
#upload_list .upload_file_error .upload_file_body
{
	border-left-color: #D60E0E;
}
#upload_list .upload_file_error .upload_file_progress p
{
	color: #D60E0E;
}
#upload_list .upload_file_error .upload_file_progress p::before
{
	content: '\f06a';
}

/* Fichier : envoi réussi */
#upload_list .upload_file_success .upload_file_body
{
	border-left-color: #739C2C;
}
#upload_list .upload_file_success .upload_file_progress p
{
	color: #648F27;
}
#upload_list .upload_file_success .upload_file_progress p::before
{
	content: '\e905';
}

/* Informations générales */
#upload_infos
{
	margin: 10px 0 15px;
}
#upload_infos_total
{
	margin-bottom: 5px;
}

/* Catégories */
#list_categories
{
	padding: 6px 0 10px;
}
#list_categories_msg
{
	line-height: 2em;
}
#select_path
{
	margin: 0 0 30px;
	line-height: 1.5em;
}
#select_path::before
{
	top: .2em;
}
#list_categories select
{
	margin-bottom: 5px;
	min-width: 90%;
	max-width: 90%;
}
#list_categories option:first-child
{
	font-weight: bold;
}
#new_cat_form #list_categories
{
	padding: 6px 0 4px;
}
#new_cat_form #list_categories select
{
	margin: 0;
	width: calc(95% + 10px);
	min-width: auto;
	max-width: calc(30em + 10px);
}



/**
 * Page des membres.
 *
 */
#members_list table img
{
	width: 50px;
	height: 50px;
	border-radius: 50%;
	object-fit: cover;
}
#members_list .date_created,
#members_list .date_lastvisited
{
	display: none;
}
#members_list .avatar a
{
	display: block;
	border: 0;
	margin: 0;
}



/**
 * Flux RSS.
 *
 */
#rss
{
	text-align: right;
	margin: 20px 10px 0 0;
}
#rss li
{
	display: inline-block;
	margin: 20px 0 0 15px;
}
#rss a
{
	border: 0;
	margin: 0;
}
#rss span:first-child
{
	font-family: "IcoMoon";
	font-size: 130%;
	color: #3B5EB5;
	top: 3px;
	position: relative;
	margin-right: 2px;
}
#rss span:last-child
{
	border-bottom: 1px solid gray;
	margin-bottom: 1px;
}
#rss a:hover span:last-child
{
	border-width: 2px;
	margin-bottom: 0;
}

/* Page des fichiers */
#item_columns #rss
{
	margin-top: 50px;
}
#item_columns #rss a span
{
	font-weight: normal;
}



/**
 * Tags de catégories.
 *
 */
#bottom_tags > a
{
	margin-top: 25px;
	display: inline-block;
}

/* Style 1 : classique */
#cat_tags li
{
	display: inline-block;
	margin: 10px 5px;
}
#cat_tags li a
{
	font-size: 120%;
	border-width: 0;
	color: #3B5EB5;
}
#cat_tags li a:hover
{
	border-bottom: 2px solid #3B5EB5;
}
#cat_tags li a span:first-child
{
	display: none;
}
.tag_weight_1 { font-size: 100% }
.tag_weight_2 { font-size: 110%; }
.tag_weight_3 { font-size: 120%; }
.tag_weight_4 { font-size: 130%; }
.tag_weight_5 { font-size: 140%; }
.tag_weight_6 { font-size: 150%; }
.tag_weight_7 { font-size: 160%; }
.tag_weight_8 { font-size: 170%; }
.tag_weight_9 { font-size: 180%; }
.tag_weight_10 { font-size: 190%; }

/* Page des tags. */
#section_tags #cat_tags li
{
	margin: 10px;
}



/**
 * Bas de page.
 *
 */
#bottom
{
	background: #fafafa;
	border-top: 2px solid #ddd;
	margin: 0 -8px;
	padding: 20px 8px 10px;
	display: flex;
	flex-direction: column;
	overflow-wrap: anywhere;
}
#bottom > div
{
	margin: 0 auto 40px;
	max-width: 520px;
	width: 100%;
}
#bottom > div:last-child
{
	margin-bottom: 20px;
}
#bottom h3
{
	color: #555;
	font-weight: bold;
	font-size: 135%;
	margin-bottom: 15px;
	text-align: center;
}

/* Statistiques des catégories */
#bottom_stats li
{
	display: inline-block;
	margin: 10px 5px;
	line-height: 1.5em;
}
#bottom_stats li.rating
{
	font-family: "IcoMoon";
	font-size: 130%;
	color: #3B5EB5;
}

/* Liens externes et utilisateurs en ligne */
#bottom_links > div,
#bottom_online > div
{
	columns: auto 150px;
	margin: 20px 0 0 20px;
}
#bottom_links ul,
#bottom_online ul
{
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid-column;
    display: table;
}
#bottom_links li,
#bottom_online li
{
	list-style: square;
	color: #3B5EB5;
	margin-bottom: 15px;
	line-height: 1.5em;
}

/* Au hasard */
#bottom #bottom_random
{
	max-width: 100%;
	margin-bottom: 40px;
}
#bottom #bottom_random dl
{
	margin: 7px auto 0;
}



/**
 * Debug.
 *
 */
#debug
{
	display: none;
}



/**
 * Footer.
 *
 */
footer
{
	margin: 0 auto 10px;
	padding-top: 10px;
	border-top: 1px solid #ddd;
}
footer p
{
	text-align: center;
	color: #333;
	font-size: 90%;
	margin-bottom: 8px;
}
footer a,
footer a:hover
{
	color: #333;
	border-color: #333;
	padding: 1px;
}
footer a:hover,
footer a:hover span
{
	color: #333;
	border-color: #333;
}
#footer_text
{
	margin: 0 0 10px;
}

/* Lien du menu des langues */
#footer_lang
{
	display: flex;
	justify-content: center;
}
#footer_lang a
{
	border: 0;
	display: flex;
	align-items: center;
	margin: 0 10px 0 0;
}
#footer_lang a:hover,
#footer_lang a:hover span
{
	color: black;
}
#footer_lang a span
{
	font-family: "IcoMoon";
	font-size: 170%;
	margin: -1px 5px 0 0;
}

/* Menu des langues */
#lang_switch
{
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	display: none;
}
#lang_switch::before
{
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.5;
	z-index: 100;
}
#lang_switch ul
{
	max-width: 800px;
	max-height: calc(100% - 30px);
	padding: 15px;
	background: white;
	z-index: 100;
	overflow: auto;
}
#lang_switch li
{
	margin: 10px;
}
#lang_switch li a
{
	padding: 10px;
	padding-right: 25px;
	border: 1px solid silver;
	margin: 0;
	display: flex;
	align-items: center;
	color: #000;
}
#lang_switch li a span
{
	font-family: "Courier New", serif;
	margin: 0 5px;
	top: 1px;
	position: relative;
}
#lang_switch li a:hover
{
	background: #eee;
}
#lang_switch li.current
{
	outline: 2px solid #3B5EB5;
}
#lang_switch li.current a
{
	border-color: #3B5EB5;
}



/**
 * Media queries : vignettes de catégories.
 *
 */
@media (min-width: 350px)
{
	#thumbs_cat
	{
		margin: 10px -5px 0;
		max-width: 1016px;
	}
	#thumbs_cat dl
	{
		width: calc(50% - 10px);
		margin: 10px 5px;
	}
}
@media (min-width: 515px)
{
	#thumbs_cat dl
	{
		width: calc(33.3333% - 10px);
	}
}
@media (min-width: 768px)
{
	#thumbs_cat dl
	{
		width: calc(25% - 10px);
	}
}
@media (min-width: 1046px)
{
	#thumbs_cat
	{
		margin: 10px auto 0;
	}
}



/**
 * Media queries : vignettes de fichiers.
 *
 */
@media (min-width: 250px)
{
	.thumbs_items
	{
		margin: 10px -5px 0;
		max-width: 1016px;
	}
	.thumbs_items dl
	{
		width: calc(50% - 10px);
		margin: 10px 5px;
	}
}
@media (min-width: 325px)
{
	.thumbs_items dl
	{
		width: calc(33.3333% - 10px);
	}
}
@media (min-width: 500px)
{
	.thumbs_items dl
	{
		width: calc(25% - 10px);
	}
}
@media (min-width: 650px)
{
	.thumbs_items.standard
	{
		margin: 10px auto 0;
		max-width: 680px;
	}
	.thumbs_items dl
	{
		width: calc(22%);
		margin: 10px 1.5%;
	}
}
@media (min-width: 750px)
{
	.thumbs_items.standard
	{
		margin: 10px -8px 0;
		max-width: 1016px;
	}
	.thumbs_items dl
	{
		width: calc(16.6666% - 10px);
		margin: 10px 5px;
	}
}
@media (min-width: 972px)
{
	.thumbs_items,
	.thumbs_items.standard
	{
		margin: 10px auto 0;
	}
	.thumbs_items.standard dl
	{
		max-width: 161px;
	}
	.thumbs_items.standard dt a img
	{
		padding: 5px;
		width: calc(100% - 10px);
		height: calc(100% - 10px);
	}
}
@media (min-width: 1180px)
{
	.thumbs_items,
	.thumbs_items.standard
	{
		margin: 10px -10px 20px;
		max-width: none;
		padding-left: 4px;
	}
	.thumbs_items dl
	{
		margin: 10px 7.5px;
	}
	.thumbs_items dt span.new
	{
		top: 0;
		padding: 8px;
		font-size: 90%;
	}
}



/**
 * Media queries : écrans larges.
 *
 */
@media (min-width: 1180px)
{
	/**
	 * Structure générale.
	 *
	 */
	*
	{
		image-rendering: auto;
	}
	html,table,input,textarea,select
	{
		font-size: 100%;
	}
	#gallery
	{
		margin: 0 auto;
		max-width: 1045px;
	}
	#content
	{
		padding: 0;
	}
	main.dark::before
	{
		display: none;
	}
	a:focus
	{
		outline: 1px dotted #808080;
	}
	#small_screen
	{
		display: none;
	}



	/**
	 * Header.
	 *
	 */
	#gallery header
	{
		margin-bottom: 5px;
	}
	#header_top
	{
		height: auto;
		margin: 0 0 30px;
		padding: 0;
		border: 0;
		align-items: flex-start;
		box-shadow: none;
		background: none;
	}

	/* Changement du style. */
	#user_style_large
	{
		position: absolute;
		top: 15px;
		right: -40px;
		display: block;
	}
	#user_style_large a
	{
		font-family: "IcoMoon";
		font-size: 175%;
		color: #555;
		padding: 0;
		border: 0;
		margin: 0;
		background: white;
		outline: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
	}
	#user_style_large a:hover
	{
		color: #333;
	}
	header:not(.banner):not(.color) #user_style_large
	{
		right: -50px;
	}

	/* Titre. */
	header h1
	{
		font-size: 250%;
		margin: 15px auto;
	}
	header h1 a
	{
		color: #333;
	}
	header.user h1
	{
		margin: 15px 0;
	}

	/* Couleur. */
	header.color #header_top
	{
	   background: #3B5EB5;
	   margin: 0 0 5px;
	}
	header.color #title a,
	header.color #user_menu
	{
		margin: 0 10px;
	}
	header.color #title a,
	header.color #user_links #user_menu a
	{
		color: white;
		border-color: white;
	}
	header.color #user_links
	{
		margin: auto;
	}

	/* Bannière. */
	header.banner #title
	{
		overflow: visible;
		display: block;
		white-space: normal;
		margin-right: 200px;
	}
	header.banner h1,
	header.banner #user_links
	{
		padding: 0 15px;
	}
	header.banner h1
	{
		border-left: 5px solid #3B5EB5;
		margin-left: -5px;
	}
	header.banner #header_top
	{
		margin: 0;
		height: 120px;
	}
	header.banner #header_top
	{
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
	header.banner #header_top h1
	{
		padding: 5px 15px;
		background: hsla(255, 100%, 100%, 0.75);
	}

	/* Menu */
	#menu_link
	{
		display: none;
	}
	#menu
	{
		display: block !important;
		margin: 0 auto 20px;
		position: relative;
		top: 0;
		background: none;
	}
	#menu ul
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#menu li,
	#menu li.icon
	{
		display: inline-block;
		margin: 0 8px 5px;
	}
	#menu li a
	{
		display: flex;
		border: 0;
		padding: 8px 8px 5px;
		font-size: 120%;
		text-transform: uppercase;
		color: #555;
		height: auto;
	}
	#menu li.current a
	{
		border-bottom: 2px solid #3B5EB5;
		margin-bottom: -2px;
		color: #3B5EB5;
	}
	#menu li a:hover
	{
		color: #000;
		background: none;
	}
	#menu a::before
	{
		display: none;
	}

	/* Icônes. */
	#menu li.icon a
	{
		font-family: "IcoMoon";
		color: #555;
	}
	#menu li.icon
	{
		position: relative;
		display: flex;
		justify-content: center;
	}
	#menu li.icon::before
	{
		font-family: "IcoMoon";
		position: absolute;
		color: #555;
	}
	#menu li.icon:hover::before
	{
		color: #000;
	}
	#menu li.icon a span
	{
		visibility: hidden;
		display: block;
	}

	/* Liste des catégories : icône */
	#menu #menu_gallery.browse
	{
		position: relative;
	}
	#menu #menu_gallery.browse a
	{
		padding-right: 28px;
	}
	#menu #menu_gallery.browse::before
	{
		content: '\f105';
		position: absolute;
		font-family: "IcoMoon";
		top: 7px;
		right: 7px;
		margin-right: 2px;
		font-size: 160%;
		transform: rotate(90deg);
		color: #555;
	}
	@-moz-document url-prefix()
	{
		#menu #menu_gallery.browse::before
		{
			top: 5px;
		}
	}
	#menu #menu_gallery.browse.current::before
	{
		color: #3B5EB5;
	}
	#menu #menu_gallery.browse:hover::before
	{
		color: #000;
	}

	/* Home. */
	#menu li#menu_home_icon::before
	{
		content: '\e906';
		font-size: 175%;
		bottom: 3px;
	}
	@-moz-document url-prefix()
	{
		#menu li#menu_home_icon::before
		{
			bottom: 1px;
		}
	}
	#menu li#menu_home_icon
	{
		top: -0.05em;
	}
	#menu li#menu_home_icon a span
	{
		margin: 0 2px;
	}

	/* Recherche. */
	#menu li#menu_search
	{
		display: none;
	}
	#menu li#menu_search_icon
	{
		top: -0.5px;
	}
	#menu li#menu_search_icon::before
	{
		content: '\e986';
		font-size: 120%;
		bottom: .4em;
	}
	@-moz-document url-prefix()
	{
		#menu li#menu_search_icon::before
		{
			bottom: .3em;
		}
	}

	/* Liens utilisateur. */
	#user_style_small
	{
		display: none;
	}
	#user_links
	{
		margin-top: 15px;
	}
	#user_links img
	{
		width: 40px;
		height: 40px;
	}
	#user_links > a
	{
		display: none;
	}
	header.banner #user_links
	{
		background: hsla(255, 100%, 100%, 0.75);
	}
	#user_links ul
	{
		display: flex !important;
		align-items: center;
		position: relative;
		top: 0;
		right: 0;
		border: 0;
	}
	#user_links ul a,
	#user_links ul a:hover
	{
		display: inline;
		padding: 0;
		margin: 0;
		border: 0;
		background: none;
		border-bottom: 1px solid gray;
		margin-bottom: 1px;
		font-size: 100%;
	}
	#user_links ul a:hover
	{
		border-width: 2px;
		margin-bottom: 0;
	}
	#user_links ul::after,
	#user_links ul::before
	{
		display: none;
	}
	#user_links li#user_avatar
	{
		display: block;
		margin: 0 10px 0 0;
	}
	#user_links li#user_avatar a
	{
		display: block;
		margin: 0;
		border: 0;
	}
	#user_links li#user_login,
	#user_links li#user_register
	{
		margin-right: 10px;
	}
	#user_links li#user_login a
	{
		border-color: #3B5EB5;
	}



	/**
	 * Contenu.
	 *
	 */
	#top
	{
		margin: -10px 0 10px;
		position: relative;
	}
	#gallery_closed
	{
		max-width: 520px;
	}

	/* Description */
	.object_desc
	{
		margin: 20px 0 30px;
		max-width: 80%;
	}
	#gallery[data-auth="0"] #cat_desc
	{
		margin-top: 10px;
	}



	/**
	 * Tableaux.
	 *
	 */
	table.default td
	{
		padding: 10px;
	}
	



	/**
	 * Formulaires.
	 *
	 */
	.field_sublvl
	{
		margin-left: 20px;
		padding-left: 15px;
		border-left: 1px solid silver;
	}
	.js .button_file
	{
		max-width: 400px;
	}

	/* Bouton d'envoi. */
	input[type="reset"],
	input[type="submit"]
	{
		min-height: 26px;
	}

	/* Formulaire standard. */
	form.standard
	{
		padding: 0;
		margin-top: 10px;
	}
	form.standard .required label
	{
		padding-left: 0;
	}
	form.standard .required::before
	{
		left: -1.2em;
	}



	/**
	 * Pages personnalisées.
	 *
	 */
	#page_custom
	{
		max-width: 80%;
	}



	/**
	 * Fil d'Ariane et outils.
	 *
	 */
	#breadcrumb_tools nav
	{
		margin-right: 30px;
	}



	/**
	 * Viewer.
	 *
	 */
	#viewer
	{
		padding: 15px;
	}
	#viewer img
	{
		border: 5px solid white;
	}



	/**
	 * Liens de navigation entre les pages.
	 *
	 */
	#gallery #pages_top
	{
		display: block;
	}
	.pages form
	{
		display: block;
		margin: 0 10px;
	}
	.pages form input
	{
		width: 2.5em;
		height: 2.2em;
	}

	/* Liens. */
	.pages .link > *
	{
		height: 27px;
		width: 27px;
		margin: 0 5px;
	}

	/* Icônes. */
	.pages .link > *::after
	{
		font-size: 120%;
		font-weight: bold;
	}

	/* Page des fichiers. */
	#item_columns + #pages_bottom
	{
		margin-top: 30px;
	}



	/**
	 * Fil d'Ariane et outils.
	 *
	 */
	#breadcrumb_tools
	{
		display: flex;
	}
	#gallery #breadcrumb_tools #tools
	{
		margin: -2px 0 0;
		text-align: left;
		height: auto;
		display: flex;
		align-items: flex-end;
	}
	#tools li
	{
		margin: 0 0 0 13px;
	}
	#tools a
	{
		font-size: 180%;
		display: inline;
		height: auto;
	}
	#tools #link_prev,
	#tools #link_next
	{
		display: none;
	}
	#tools #link_edit a
	{
		font-size: 150%;
	}
	#tools #link_delete a
	{
		font-size: 160%;
	}



	/**
	 * Boîtes flottantes.
	 *
	 */
	.box
	{
		width: 600px;
		min-width: 600px;
		max-width: 600px;
	}
	.box_page
	{
		box-shadow: 0 0 10px #555;
	}

	/* Édition du fichier. */
	#box_category .box,
	#box_item .box
	{
		width: 650px;
		min-width: 650px;
		max-width: 650px;
	}
	
	/* Console de connexion. */
	/* Mot de passe de catégorie. */
	#box_login .box,
	#box_password .box
	{
		width: 380px;
		min-width: 380px;
		max-width: 380px;
	}

	/* Émojis. */
	#box_emoji .box
	{
		width: 800px;
		min-width: 800px;
		max-width: 800px;
	}



	/**
	 * Boîtes flottantes avec flèche.
	 *
	 */
	.box_arrow:not(#user_menu)
	{
		display: none;
		position: absolute;
		right: 0;
		top: 40px;
		background: #fff;
		border: 1px solid #aaa;
	}

	/* Flèche */
	.arrow_top,
	.arrow_top_border
	{
		content: '';
		position: absolute;
		top: -17px;
		left: 20px;
		display: block;
		border: 10px solid transparent;
		border-width: 0 10px 16px;
		border-bottom-color: #aaa;
	}
	.arrow_top
	{
		top: -15px;
		border-width: 0 10px 16px;
		border-bottom-color: white;
	}



	/**
	 * Liste des catégories.
	 *
	 */
	#browse
	{
		width: 45em;
		max-width: 45em;
	}
	#browse_inner
	{
		overflow-x: hidden;
	}
	#browse ul
	{
		overflow-x: hidden;
		overflow-y: auto;
		max-height: 600px;
	}
	#browse[data-subcats="1"] li
	{
		display: none;
	}
	#browse[data-subcats="0"] li,
	#browse[data-subcats="1"] li[data-level="0"],
	#browse[data-subcats="1"] li[data-level="1"]
	{
		display: flex;
	}
	#browse a
	{
		display: flex;
		flex: 1;
		align-items: center;
		height: 1.9em;
		margin: 0;
		padding: 0 5px;
		border: 0;
		white-space: nowrap;
	}

	/* Largeur. */
	#browse[data-levels="1"] { width: 35em; max-width: 35em; }
	#browse[data-levels="2"] { width: 37em; max-width: 37em; }
	#browse[data-levels="3"] { width: 39em; max-width: 39em; }
	#browse[data-levels="4"] { width: 41em; max-width: 41em; }
	#browse[data-levels="5"] { width: 43em; max-width: 43em; }
	#browse[data-levels="6"] { width: 45em; max-width: 45em; }
	#browse[data-levels="7"] { width: 47em; max-width: 47em; }
	#browse[data-levels="8"] { width: 49em; max-width: 49em; }
	#browse[data-levels="9"] { width: 50em; max-width: 50em; }
	#browse[data-levels="10"] { width: 52em; max-width: 52em; }
	#browse[data-levels="11"] { width: 54em; max-width: 54em; }
	#browse[data-levels="12"] { width: 56em; max-width: 56em; }

	/* Indentation. */
	#browse li[data-level="1"] a span { margin-left: 15px; }
	#browse li[data-level="2"] a span { margin-left: 30px; }
	#browse li[data-level="3"] a span { margin-left: 45px; }
	#browse li[data-level="4"] a span { margin-left: 60px; }
	#browse li[data-level="5"] a span { margin-left: 75px; }
	#browse li[data-level="6"] a span { margin-left: 90px; }
	#browse li[data-level="7"] a span { margin-left: 105px; }
	#browse li[data-level="8"] a span { margin-left: 120px; }
	#browse li[data-level="9"] a span { margin-left: 135px; }
	#browse li[data-level="10"] a span { margin-left: 150px; }
	#browse li[data-level="11"] a span { margin-left: 165px; }
	#browse li[data-level="12"] a span { margin-left: 180px; }
	#browse li[data-level="13"] a span { margin-left: 195px; }
	#browse li[data-level="14"] a span { margin-left: 210px; }
	#browse li[data-level="15"] a span { margin-left: 225px; }
	#browse li[data-level="16"] a span { margin-left: 240px; }
	#browse li[data-level="17"] a span { margin-left: 255px; }
	#browse li[data-level="18"] a span { margin-left: 270px; }
	#browse li[data-level="19"] a span { margin-left: 285px; }
	#browse li[data-level="20"] a span { margin-left: 300px; }

	/* Boutons "+" et "-". */
	#browse li > span
	{
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: "Courier New", serif;
		font-size: 150%;
		cursor: pointer;
		width: 1.3em;
		max-width: 1.3em;
		min-width: 1.3em;
		overflow-x: hidden;
	}
	#browse ul li > span[data-status]:hover
	{
		background: #aaa;
	}
	#browse ul li.current > span[data-status]:hover
	{
		background: #777;
	}
	#browse[data-subcats="0"] li > span
	{
		display: none;
	}

	/* Liens. */
	#browse li.current a,
	#browse li.current > span
	{
		background-color: #3B5EB5;
		color: white;
	}
	#browse li.current a span
	{
		color: white;
	}
	#browse li:not(.current):hover a,
	#browse li:not(.current):hover > span
	{
		background: #dedede;
	}
	#browse[data-subcats="1"] li > span:not([data-status]) + a
	{
		margin-left: -24px;
		padding-left: 29px;
	}
	#browse[data-subcats="0"] li > span + a
	{
		margin-left: -24px;
		padding-left: 32px;
	}

	/* Icône de catégorie (dé)verrouillée. */
	#browse li[class*="locked"] a span
	{
		position: relative;
		padding-left: 1.5em;
	}
	#browse li[class*="locked"] a span::before
	{
		font-family: "IcoMoon";
		font-size: 120%;
		color: #555;
		position: absolute;
		top: -1px;
		left: 0;
		height: 100%;
		width: 19px;
		display: flex;
		align-items: center;
	}
	#browse li[class*="locked"].current a span::before
	{
		color: white;
	}
	#browse li.locked a span::before
	{
		content: '\e92e';
	}
	#browse li.unlocked a span::before
	{
		content: '\e94e';
	}

	/* Recherche. */
	#browse_search
	{
		margin: 4px 5px;
	}
	#browse_search input
	{
		width: calc(100% - 10px);
		min-width: calc(100% - 10px);
		max-width: calc(100% - 10px);
	}



	/**
	 * Moteur de recherche.
	 *
	 */
	#search
	{
		width: 28em;
		max-width: 28em;
		min-width: 28em;
		padding: 5px;
	}
	#search form
	{
		display: flex;
		align-items: center;
	}
	#search a
	{
		margin-top: 5px;
		display: inline-block;
	}
	#search input[type="text"]
	{
		flex: 1;
	}
	#search input[type="submit"]
	{
		margin: 0 0 0 5px;
	}



	/**
	 * Vignettes de catégories.
	 *
	 */
	#thumbs_cat
	{
		margin: 10px -15px 20px 0;
		max-width: none;
	}
	#thumbs_cat dl
	{
		margin: 10px 15px 10px 0;
		width: 250px;
		max-width: 250px;
	}
	#thumbs_cat dd
	{
		width: 232px;
		margin: 0 8px;
	}

	/* Image */
	#thumbs_cat dt a
	{
		padding: 8px;
	}
	#section_category #thumbs_cat dt img,
	#section_category #thumbs_cat.landscape dt img
	{
		height: 167px;
	}
	#section_category #thumbs_cat.square dt img
	{
		height: 232px;
	}
	#section_category #thumbs_cat.portrait dt img
	{
		height: 348px;
	}

	/* Stats */
	#thumbs_cat ul
	{
		margin-top: 2px;
	}

	/* Stats en icônes */
	dl ul.stats_icon
	{
		top: 7px;
		right: 9px;
		height: calc(100% - 18px);
		font-size: 120%;
		width: 50%;
	}
	dl ul.stats_icon li
	{
		padding: 2px 6px;
		margin-left: -50%;
	}
	dl ul.stats_icon li:first-child
	{
		padding-top: 5px;
	}
	dl ul.stats_icon li span.icon
	{
		top: -1px;
	}
	dl ul.stats_icon li.votes span.icon
	{
		top: -3px;
	}

	/* Stats en icônes : transition */
	dl dt ul.stats_icon
	{
		transition: opacity 0.4s linear;
	}
	dl dt:hover ul.stats_icon
	{
		opacity: 1;
	}

	/* Mot de passe */
	#thumbs_cat dl.locked dt a span::before
	{
		font-size: 400%;
	}
	#thumbs_cat dl.unlocked dt a::before
	{
		font-size: 200%;
		width: 50px;
		height: 50px;
	}

	/* Fichiers récents */
	#thumbs_cat .recent,
	#thumbs_cat .recent:hover
	{
		top: 4px;
		font-size: 120%;
	}



	/**
	 * Page des images & vidéos.
	 *
	 */
	#item
	{
		margin: 0 0 10px 0;
		width: 100%;
		min-height: 350px;
	}
	#item img
	{
		max-height: 820px;
	}

	/* Pagination */
	#item_prev,
	#item_next
	{
		position: absolute;
		display: flex;
		align-items: center;
		top: 0;
		width: 0;
		height: 100%;
	}
	#item_prev
	{
		left: -10px;
		justify-content: flex-end;
	}
	#item_next
	{
		right: -10px;
		justify-content: flex-start;
	}
	#item_prev a,
	#item_next a
	{
		font-family: "IcoMoon";
		font-size: 250%;
		color: #777;
		margin: 0;
		padding: 0;
		border: 0;
	}
	#item_prev a:hover,
	#item_next a:hover
	{
		color: #3B5EB5;
	}

	/* Favori */
	#item.favorite::before
	{
		font-size: 200%;
		top: 15px;
		right: 15px;
		padding: 4px 2px 0px;
		width: 50px;
		height: 50px;
	}

	/* Titre et description. */
	#item_title
	{
		font-size: 130%;
		margin: 0 30px 20px 0;
		max-width: auto;
		text-align: left;
	}
	#item_stats
	{
		float: right;
		background: none;
		margin: 0;
		padding: 0;
	}
	#item_stats li
	{
		font-size: 140%;
		margin: 0 0 0 20px;
		color: #555;
	}
	#item_description
	{
		margin: 0 0 40px;
	}

	/* Colonnes */
	#item_columns
	{
		display: flex;
		width: 100%;
	}
	#item_columns > div > div
	{
		margin: 0 20px;
	}
	#item_right
	{
		margin: 0;
		width: 50%;
		order: 1;
	}
	#item_left
	{
		margin: 0 0 0 20px;
		width: calc(50% - 20px);
		order: 2;
	}
	#item_columns #item_right > div
	{
		margin-left: 40px;
	}
	#item_columns textarea
	{
		width: 95%;
		min-width: 95%;
		max-width: 95%;
	}

	/* Votes */
	#item_user_note > span
	{
		font-size: 200%;
		margin-left: -2px;
	}
	#item_user_note .rating
	{
		margin: 0 2px;
	}
	#item_user_note .rating:nth-child(1)
	{
		margin-left: 0;
	}
	#item_user_note .rating:nth-child(5)
	{
		margin-right: 0;
	}
	#item_user_note #item_user_note_delete
	{
		font-size: 110%;
	}



	/**
	 * Page des images & vidéos : commentaires.
	 *
	 */
	#item_comments
	{
		max-width: 100%;
	}
	#item_comments_container
	{
		max-height: 80vh;
		overflow: auto;
		padding-right: 15px;
		margin-right: -15px;
	}
	#item_comments_container .comment:first-child
	{
		margin-top: 5px;
	}
	#item_comments_container .comment:last-child
	{
		margin-bottom: 0;
	}

	/* Formulaire */
	#item_comments_add textarea
	{
		width: calc(100% - 10px);
		max-width: calc(100% - 10px);
		min-width: calc(100% - 10px);
	}
	#item_comments_add #submit
	{
		display: block;
	}
	#item_comments_add #submit p
	{
		display: inline-block;
	}
	#item_comment_remember
	{
		margin: 0 0 0 10px;
	}
	#box_emoji .box_content .emoji
	{
		margin: 5px 3px;
		font-size: 190%;
	}
	#box_emoji .box_menu a
	{
		font-size: 190%;
	}

	/* Commentaires */
	.comment_website
	{
		margin-left: 5px;
		display: inline;
	}
	.comment_date > span:first-child
	{
		display: inline;
		font-style: italic;
	}
	.comment_date > span:last-child
	{
		display: none;
	}



	/**
	 * Pages des commentaires.
	 *
	 */
	#page_comments .comment
	{
		margin: 20px 0 40px;
	}
	#page_comments .comment_message
	{
		border-left: 1px solid silver;
		margin-left: 85px;
		padding: 12px;
		position: relative;
	}
	#page_comments .comment_message::before
	{
		content: '';
		position: absolute;
		top: -4px;
		left: -4px;
		width: 7px;
		height: 7px;
		background: #3B5EB5;
		transform: rotate(45deg);
	}
	#page_comments .comment_thumb a
	{
		width: 74px;
		height: 74px;
	}
	#page_comments .comment_author
	{
		padding-bottom: 20px;
	}
	#page_comments .comment:hover .comment_thumb a
	{
		border-right-color: #3B5EB5;
		border-bottom-color: #3B5EB5;
	}
	#page_comments .comment:hover .comment_message,
	#page_comments .comment_thumb a:hover
	{
		border-color: #3B5EB5;
	}
	#page_comments .comment_thumb.video a::after
	{
		width: 35px;
		height: 35px;
		top: 25px;
		left: 25px;
	}
	#page_comments .comment_thumb.video a::before
	{
		width: 85px;
		height: 85px;
		font-size: 120%;
	}



	/**
	 * Géolocalisation.
	 *
	 */
	/* Carte du monde */
	#section_worldmap #worldmap
	{
		height: 600px;
	}
	#worldmap .leaflet-popup-content
	{
		margin: 0;
	}
	#popup_thumbs .thumbs_items
	{
		margin: 11px 10px 8px 7px;
	}
	#popup_thumbs #thumbs_cat
	{
		margin: 10px 9px 10px 10px;
	}
	#popup_thumbs .thumbs_items dl,
	#popup_thumbs .thumbs_items dd
	{
		width: 150px;
	}
	#popup_thumbs #thumbs_cat dt img
	{
		width: 130px;
	}
	#popup_thumbs #thumbs_cat dl,
	#popup_thumbs #thumbs_cat dd
	{
		width: 180px;
	}
	#popup_thumbs #thumbs_cat dt img
	{
		width: 162px;
	}



	/**
	 * Pages des membres.
	 *
	 */
	#member_page
	{
		margin: 10px auto 20px;
		width: 85%;
	}
	#member_page > div
	{
		display: flex;
	}
	#member_page_content
	{
		padding: 0 30px 0 0;
		flex: 1;
		margin: 0;
		max-width: 100%;
	}
	#member_page_content h3
	{
		display: none;
	}
	#member_page_profile h3,
	#member_page_stats h3
	{
		display: flex;
		font-size: 130%;
		margin: 0 0 15px;
		justify-content: flex-start;
		text-align: left;
	}
	#member_page_stats .link_number > *
	{
		padding: 8px 10px;
	}

	/* Nom d'utilisateur et description */
	#member_page h2
	{
		text-align: left;
		margin: 0 0 20px;
	}
	#member_page_description
	{
		margin: 0 0 20px;
		width: 100%;
	}

	/* Menu */
	#member_menu
	{
		display: block;
		margin: -20px -20px 0 30px;
		order: 2;
	}
	#member_menu li
	{
		margin: 10px 0 0;
	}
	#member_menu li#member_menu_upload
	{
		margin-top: 40px;
	}
	#member_menu a
	{
		border: 1px solid silver;
		position: relative;
		display: flex;
		margin: 0;
		font-size: 110%;
		background: white;
	}
	#member_menu a > span
	{
		position: relative;
		display: flex;
		align-items: center;
		padding: 0 10px;
		height: 38px;
		width: 100%;
	}
	#member_menu span + span
	{
		display: inline-block;
	}
	.member_menu_icon
	{
		font-size: 140%;
		margin-right: 8px;
	}
	#member_menu_options .member_menu_icon
	{
		font-size: 150%;
	}
	#member_menu_admin .member_menu_icon,
	#member_menu_avatar .member_menu_icon
	{
		font-size: 180%;
	}
	#member_menu_upload .member_menu_icon
	{
		font-size: 170%;
	}

	/* Menu : contour */
	#member_menu span + span
	{
		position: relative;
		display: inline-block;
		height: 100%;
		width: 100%;
		display: flex;
		align-items: center;
		margin-right: 20px;
	}
	#member_menu a::before,
	#member_menu a::after,
	#member_menu span + span::before,
	#member_menu span + span::after
	{
		content: '';
		position: absolute;
		top: 0;
		display: block;
		border: 10px solid transparent;
		border-width: 0 0 39px 20px;
		border-bottom-color: silver;
	}
	#member_menu a::before
	{
		left: -21px;
	}
	#member_menu a::after
	{
		left: -20px;
		border-bottom-color: #fff;
	}
	#member_menu span + span::before
	{
		right: -30px;
	}
	#member_menu span + span::after
	{
		right: -31px;
		border-bottom-color: #fff;
	}
	#member_menu a > span::before
	{
		content: '';
		position: absolute;
		z-index: 1;
		bottom: -1px;
		left: -20px;
		height: 1px;
		width: 100%;
		display: block;
		background: silver;
	}

	/* Menu : hover */
	#member_menu a:hover
	{
		border-color: #888;
	}
	#member_menu a:hover::before,
	#member_menu a:hover span + span::before
	{
		border-bottom-color: #888;
	}
	#member_menu a:hover > span::before
	{
		background: #888;
	}

	/* Menu : Current */
	#member_menu li.current a
	{
		border-color: #3B5EB5;
	}
	#member_menu li.current a::before,
	#member_menu li.current span + span::before
	{
		border-bottom-color: #3B5EB5;
	}
	#member_menu li.current a > span::before
	{
		background: #3B5EB5;
	}
	#member_menu li.current a,
	#member_menu li.current .member_menu_icon
	{
		color: white;
		background: #3B5EB5;
		border-radius: 0;
	}
	#member_menu li.current .member_menu_icon
	{
		background: none !important;
	}
	#member_menu li.current a::after
	{
		border-bottom-color: #3B5EB5;
	}

	/* Menu : focus */
	#member_menu a:focus,
	#member_menu li.current a:focus
	{
		border-color: #3B5EB5;
		outline: none;
	}
	#member_menu a:focus::before,
	#member_menu a:focus span + span::before,
	#member_menu li.current a:focus::before,
	#member_menu li.current a:focus span + span::before
	{
		border-bottom-color: #3B5EB5;
	}
	#member_menu a:focus > span::before,
	#member_menu li.current a:focus > span::before
	{
		background: #3B5EB5;
	}

	/* Formulaires */
	#member_page form.standard
	{
		margin: 0;
	}

	/* Informations */
	#member_page_infos
	{
		margin: 0 0 30px 0;
		display: flex;
	}
	#member_page_infos > div
	{
		width: 50%;
	}
	#member_page_infos #member_page_avatar
	{
		margin: 0 50px 0 0;
	}
	#member_page_avatar img
	{
		margin: 0 0 40px;
		max-width: 100%;
	}
	#member_page_profile
	{
		margin: 0 50px 0 0;
	}
	#member_page_stats
	{
		margin: 0 50px 0 0;
	}
	#member_page_avatar + div + div
	{
		margin-right: 0;
	}

	/* Édition de l'avatar */
	#member_page_edit_avatar img
	{
		margin: 0;
	}



	/**
	 * Envoi de fichiers.
	 *
	 */
	#upload_list
	{
		height: 244px;
	}
	#upload_startmsg
	{
		font-size: 225%;
	}
	#upload_infos_total
	{
		display: inline-block;
		float: left;
		width: 70%;
	}
	#upload_infos_total + p
	{
		display: inline-block;
		text-align: right;
		width: 30%;
	}
	#list_categories select
	{
		width: 400px;
		min-width: 400px;
		max-width: 400px;
	}
	#new_cat_form textarea
	{
		min-width: 40em;
	}



	/**
	 * Page des membres.
	 *
	 */
	#members_list table img
	{
		width: 60px;
		height: 60px;
	}
	#members_list .date_created,
	#members_list .date_lastvisited
	{
		display: table-cell;
	}



	/**
	 * Moteur de recherche.
	 *
	 */
	#search_page
	{
		max-width: 32em;
	}
	#search_page.adv
	{
		max-width: 700px;
	}
	#search_page.adv #search_query_container
	{
		max-width: 32em;
	}
	#search_options
	{
		display: flex;
		margin-right: -160px;
	}
	#search_options > div:nth-child(1)
	{
		margin-right: 50px;
		padding-right: 50px;
	}
	#search_options > div:nth-child(2) fieldset:last-child
	{
		margin-bottom: 0;
	}



	/**
	 * Tags de catégories.
	 *
	 */
	#section_tags #cat_tags
	{
		padding: 5px 20px 20px;
	}
	#section_tags #cat_tags li
	{
		margin: 8px;
	}



	/**
	 * Bas de page.
	 *
	 */
	#bottom
	{
		padding: 20px 0;
		margin: 0 -10px;
		background: none;
		border: 0;
		flex-direction: row;
	}
	#bottom > div,
	#bottom > div#bottom_random
	{
		margin: 0;
		min-width: 15%;
		max-width: 50%;
		padding: 0 20px;
		width: auto;
	}
	#bottom > div:last-child
	{
		border: 0;
	}

	/* Titre */
	#bottom h3
	{
		margin: -10px 0 0px;
		padding: 10px 0;
	}

	/* Statistiques */
	#bottom_stats ul
	{
		margin-top: 7px;
	}
	#bottom_stats li
	{
		display: block;
		text-align: center;
		margin: 5px;
	}

	/* Liens externes et utilisateurs en ligne */
	#bottom_links > div,
	#bottom_online > div
	{
		margin-top: 7px;
	}
	#bottom_links li,
	#bottom_online li
	{
		margin-bottom: 8px;
	}

	/* Au hasard */
	#bottom_random dl
	{
		width: 100%;
	}
	#bottom_random .thumbs_items.portrait dl img
	{
		width: 161px;
		height: 241px;
	}
	#bottom_random .thumbs_items.square dl img
	{
		width: 161px;
		height: 161px;
	}
	#bottom_random .thumbs_items.standard dl img
	{
		width: 151px;
		height: 151px;
	}



	/**
	 * Footer.
	 *
	 */
	footer
	{
		width: 50%;
		padding-top: 8px;
	}
	footer p
	{
		font-size: 100%;
		margin-bottom: 5px;
	}
	#footer_text
	{
		margin-left: -50%;
		margin-right: -50%;
	}



	/**
	 * Options de thème.
	 *
	 */
	#theme_options
	{
		display: flex;
		position: fixed;
		top: 3%;
		left: -360px;
		z-index: 100;
		max-height: 100%;
	}
	#theme_options_content
	{
		background: white;
		width: 360px;
	}
	#theme_options .theme_options_sep
	{
		border-bottom: 1px solid silver;
		padding-bottom: 30px;
		margin-bottom: 40px;
	}
	#theme_options h1
	{
		width: 100%;
		font-size: 120%;
		font-style: normal;
		font-weight: normal;
		font-family: Verdana, Arial, Helvetica, sans-serif;
		color: white;
		background: #3B5EB5;
		padding: 6px 10px 6px 12px;
		margin: 0;
		box-sizing: border-box;
	}
	#theme_options .button
	{
		margin-bottom: 0;
	}
	#theme_options form
	{
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}
	#theme_options form > div:nth-child(2)
	{
		padding: 15px 10px 15px 12px;
		overflow-y: auto;
		max-height: 70vh;
	}
	#theme_options form > div:nth-child(3)
	{
		background: #fafafa;
		padding: 0 10px 10px;
		display: flex;
		align-items: center;
		position: relative;
		min-height: 48px;
		border: 1px solid #ddd;
	}
	#theme_banner_file select,
	#theme_background_file select
	{
		display: block;
		margin-top: 8px;
		width: 100%;
		max-width: 100%;
	}
	#theme_options span.sep
	{
		display: block;
		margin-top: 10px;
	}
	#theme_options #theme_banner_texture + p,
	#theme_options #theme_background_texture + p
	{
		margin-top: 25px;
	}

	/* Icône. */
	#theme_options_icon
	{
		margin-top: 60px;
	}
	#theme_options_icon a
	{
		font-family: "IcoMoon";
		font-size: 180%;
		padding: 8px 8px 8px 5px;
		border-radius: 0 8px 8px 0;
		border: 0;
		margin: 0;
		color: white;
		background: #3B5EB5;
	}

	/* Couleurs. */
	#theme_palette
	{
		margin-bottom: 15px;
	}
	#theme_color_picker > div
	{
		margin: 0 auto;
	}
	#theme_palette
	{
		font-size: 0;
		padding: 4px;
		background: #fff;
		width: 310px;
	}
	#theme_palette span[data-code]
	{
		display: inline-block;
		width: 36px;
		height: 36px;
		margin: 4px;
		cursor: pointer;
		position: relative;
	}
	#theme_palette span[data-code]::before
	{
		content: '';
		position: absolute;
		display: block;
		width: 28px;
		height: 28px;
		border: 5px solid #fff;
		top: -1px;
		left: -1px;
	}
	#theme_palette span[data-code].current::before
	{
		width: 26px;
		height: 26px;
		border-width: 3px;
		top: 2px;
		left: 2px;
	}

	/* Loading */
	#theme_loading
	{
		margin: 10px 0 0 10px;
		display: none;
		width: 24px;
		height: 24px;
		position: relative;
	}
	#theme_loading::after
	{
		content: '';
		background: #aaa;
		position: absolute;
		width: 26px;
		height: 26px;
		border-radius: 50%;
		transform: scale(0);
		opacity: 1;
		animation: theme-loading 0.8s ease-out infinite;
	}
	@keyframes theme-loading
	{
		100%
		{
			transform: scale(1.0);
			opacity: 0;
		}
	}

	/* Aide. */
	#theme_options .infos_icon
	{
		font-family: "IcoMoon";
		font-size: 140%;	
		cursor: pointer;
		margin-left: 10px;
		font-weight: normal;
		color: #555;
	}
	.theme_file_icons + .infos_container
	{
		margin: 10px 0;
		line-height: 1.5em;
	}

	/* Icône de rechargement de liste. */
	.theme_file_icons
	{
		display: flex;
		align-items: center;
	}
	.theme_file_icons label
	{
		flex: 1;
	}
	.theme_file_icons span[data-dir]
	{
		font-family: "IcoMoon";
		font-size: 140%;
		cursor: pointer;
		margin-left: 10px;
		color: #555;
	}
	.theme_file_icons span[data-dir].load
	{
		color: #ddd;
		cursor: default;
	}
	.theme_file_icons span[data-dir].rotate
	{
		transform: rotate(360deg);
		transition: transform 0.4s linear;
	}

	/* Textures */
	.theme_textures
	{
		display: flex;
		border: 1px solid silver;
	}
	.theme_textures_prev,
	.theme_textures_next
	{
		width: 12%;
		font-family: "IcoMoon";
		font-size: 250%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-right: 1px solid silver;
		cursor: pointer;
		position: relative;
	}
	.theme_textures_next
	{
		border: 0;
		border-left: 1px solid silver;
	}
	.theme_textures_prev span,
	.theme_textures_next span
	{
		position: relative;
		top: -3px;
		transform: scaleY(1.75);
		color: gray;
	}
	.theme_textures_prev::after,
	.theme_textures_next::after
	{
		content: '';
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		position: absolute;
	}
	.theme_textures_prev:hover span,
	.theme_textures_next:hover span
	{
		color: #555;
	}
	.theme_textures_prev.disabled,
	.theme_textures_next.disabled,
	.theme_textures_prev.disabled span,
	.theme_textures_next.disabled span
	{
		color: #ddd;
		cursor: default;
	}
	.theme_textures_images
	{
		flex: 1;
		display: flex;
	}
	.theme_textures_images > div
	{
		height: 85px;
		width: 33.33%;
		border-right: 1px solid silver;
		cursor: pointer;
		position: relative;
	}
	.theme_textures_images > div:nth-child(3)
	{
		border: 0;
	}
	.theme_textures_images > div.selected::after
	{
		content: '\e905';
		font-family: "IcoMoon";
		font-size: 100%;
		position: absolute;
		top: 8px;
		right: 8px;
		background: #333;
		padding: 5px;
		border-radius: 50%;
		color: white;
		opacity: 0.75;
		line-height: 1em;
	}

	/* Code CSS */
	#theme_css legend > span
	{
		display: flex;
		align-items: center;
	}
	#theme_css_infos pre
	{
		overflow: auto;
		white-space: pre;
		max-width: 320px;
	}
	#theme_css_code
	{
		height: 240px;
		width: 310px;
		min-width: 310px;
		max-width: 310px;
	}

	/* Messages de rapport */
	div[id^="theme_report"]
	{
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		padding: 0 10px;
		align-items: center;
		background: white;
		display: none;
		box-sizing: border-box;
		cursor: pointer;
	}



	/**
	 * Fond.
	 *
	 */
	body.bg #gallery
	{
		max-width: 1065px;
	}
	body.bg #gallery_inner
	{
		background: white;
		padding: 0 10px;
		box-shadow: 0 0 15px silver;
	}
	body.bg main
	{
		padding-bottom: 20px;
	}
	body.bg #item
	{
		margin-left: -10px;
		margin-right: -10px;
		width: calc(100% + 20px);
	}
	body.bg header.banner,
	body.bg header.color
	{
		margin: 0 -10px;
	}
	body.bg #bottom
	{
		margin: 0 -10px;
		padding: 20px 0;
		background: #fafafa;
		border-top: 2px solid #ddd;
	}
	body.bg footer
	{
		margin-top: 2px;
		border: none;
	}



	/**
	 * Debug.
	 *
	 */
	#debug
	{
		display: block;
	}
	#debug .log
	{
		background: white;
		margin: 20px 0;
	}
}