/**
 * Structure générale.
 *
 */
body
{
	color: #f0f0f0;
	background-color: #222;
}
body.bg
{
	background-color: #111;
}
body.bg.hatches #gallery_inner
{
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAH0lEQVQokWNgIAHY29v/t7e3/z+qYVQDpRpgmkhVDwCXwS0Z8PUhagAAAABJRU5ErkJggg==);
}
a
{
	color: #f0f0f0;
	border-color: #888;
}
a:hover,
a.js:hover
{
	border-color: #f0f0f0;
}
a.u
{
	text-decoration-color: #888;
}
a.u:hover
{
	text-decoration-color: #f0f0f0;
}
body.bg #gallery_inner
{
	background: #3A3A3A;
}

/* Menu principal */
#menu nav
{
	background: #444;
}
body.bg #menu nav
{
	background: #555;
}
#menu li a,
#menu li a:hover,
#menu li a::before,
#menu li a:hover::before,
#menu li.icon::before,
#menu li.icon:hover::before
{
	color: #f0f0f0;
	border-color: #808080;
}



/**
 * Header.
 *
 */
#header_top
{
	box-shadow: none;
}

/* Menu utilisateur. */
#user_links ul
{
	border: 0;
}
#user_links ul a,
#user_links ul a:hover
{
	color: #3A3A3A;
	border-width: 0;
	padding-left: 15px;
	border-top: 1px solid #808080;
}
#user_links li:first-child a
{
	border-top: 0;
}
#user_links li#user_login a
{
	color: #333;
}

/* Menu utilisateur : flèche */
#user_links ul::before
{
	display: none;
}
#user_links ul::after
{
	top: -15px;
	border-bottom-color: white;
}



/**
 * Footer.
 *
 */
footer
{
	border-top: 1px solid #3A3A3A;
}
footer a,
footer p
{
	color: #888;
	border-color: #888;
}
:is(footer, #footer_lang) a:hover,
:is(footer, #footer_lang) a:hover span
{
	color: #aaa;
	border-color: #aaa;
}
body.bg footer
{
	border: none;
}

/* Menu des langues */
#lang_switch::before
{
	opacity: 0.75;
}
#lang_switch ul
{
	background: #333;
}
body.bg #lang_switch ul
{
	background: #3a3a3a;
}
#lang_switch li a,
#lang_switch li a span,
#lang_switch li a:hover
{
	border: 1px solid #5a5a5a;
	color: #a0a0a0;
	background: none;
}
#lang_switch li a span
{
	border: none;
}
#lang_switch li a:hover,
#lang_switch li a:hover span
{
	border-color: #7a7a7a;
	color: #f0f0f0;
}
#lang_switch li.current
{
	outline: 1px solid #f0f0f0;
}
#lang_switch li.current a,
#lang_switch li.current a span
{
	border-color: #f0f0f0;
	color: #f0f0f0;
}



/**
 * Boîtes flottantes.
 *
 */
/* Menu. */
.box_menu a
{
	background: #444;
	color: white;
	border-color: #333;
}
.box_menu a:hover,
#gallery .box_menu a:focus-visible
{
	background: #333;
}
body.bg .box_menu a
{
	background: #4D4D4D;
	border-color: #3A3A3A;
}
body.bg .box_menu a:hover
{
	background: #3A3A3A;
}

/* Contenu. */
.box_content
{
	background: #333;
}
body.bg .box_content
{
	background: #3A3A3A;
}
.box_page
{
	box-shadow: none;
}
#box_selection .selection_title,
#box_selection .select_tool span:first-child
{
	color: white;
}
#box_selection .select_tool a:hover span:last-child
{
	border-color: #F0F0F0;
}

/* Boutons et rapport. */
.box_buttons,
#box_report
{
	border: 0;
	background: #444;
}
body.bg .box_buttons,
body.bg #box_report
{
	background: #4D4D4D;
}



/**
 * Bas de page.
 *
 */
body.bg #bottom
{
	background: #4D4D4D;
	border-top: 3px solid #808080;
	position: relative;
	top: 1px;
}
#bottom h3,
#bottom h3 a
{
	color: #f0f0f0;
}
#bottom_links li,
#bottom_online li,
#bottom_stats li .icon
{
	color: #f0f0f0;
}
#bottom_stats li .icon:hover
{
	color: #f0f0f0;
	text-shadow: 2px 2px 3px var(--color);
}



/**
 * Contenu.
 *
 */
/* Titres */
h3.icon
{
	color: #ddd;
	font-weight: normal;
}
span.error strong
{
	color: black;
}
.error_page h2
{
	color: #f0f0f0;
}
.error_page::after
{
	color: #555;
}
.object_desc strong
{
	color: #f0f0f0;
}



/**
 * Fil d'Ariane et outils.
 *
 */
#breadcrumb .current
{
	color: #f0f0f0;
}
.breadcrumb_filter :is(.filter_name, #cat_name)
{
	color: #f0f0f0;
	border-color: #f0f0f0;
}

/* Pages */
#page_breadcrumb :is(a, span)
{
	color: #f0f0f0;
	border-color: #f0f0f0;
}

/* Outils */
#tools a
{
	color: #f0f0f0;
}
#tools a:hover
{
	color: #f0f0f0;
	text-shadow: 2px 2px 3px var(--color);
}



/**
 * Liens de navigation entre les pages.
 *
 */
/* Liens. */
.pages .link > *
{
	border: 1px solid #6A6A6A;
	height: 3.5em;
	width: 3.5em;
	background: none;
	border: none;
}
.pages a:hover::after
{
	background: #555;
}
body.bg .pages a:hover::after
{
	background: #777;
}
.pages .first > *,
.pages .last > *
{
	width: 3.5em;
}

/* Liens inactifs. */
.pages .link > span
{
	background: none;
	border-color: #3A3A3A;
}

/* Icônes. */
.pages .link > *::after
{
	background: #444;
	color: #ddd;
	border-radius: 50%;
}
body.bg .pages .link > *::after
{
	background: #555;
}



/**
 * Formulaires.
 *
 */
legend
{
	color: #f0f0f0;
}
form.standard h2
{
	color: #f0f0f0;
	text-shadow: 2px 2px 3px var(--color);
}
a.dt_now,
a.dt_now:hover,
a.dt_reset,
a.dt_reset:hover
{
	color: #f0f0f0;
}
.field.disabled
{
	color: #777;
}
.field.disabled textarea
{
	border-color: #777;
	background: #777;
}

/* Cases à cocher. */
input[type="checkbox"],
input[type="radio"]:not(.leaflet-control-layers-selector)
{
	filter: grayscale(1) contrast(0.5) invert(1);
}
input[type="checkbox"]:disabled + label
{
	color: #777;
}

/* Champs texte. */
input[type="email"],
input[type="number"],
input[type="password"],
input[type="text"],
input[type="url"],
textarea,
select
{
	color: black;
	border-color: #aaa;
	background: #aaa;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus
{
	color: black;
	border-color: #DADADA;
	background: #DADADA;
}
select[disabled]
{
	color: #777;
	border-color: #ddd;
}

/* Champs texte (avec fond). */
body.bg input[type="email"],
body.bg input[type="number"],
body.bg input[type="password"],
body.bg input[type="text"],
body.bg input[type="url"],
body.bg textarea,
body.bg select
{
	border-color: #BABABA;
	background: #BABABA;
}
body.bg input[type="email"]:focus,
body.bg input[type="number"]:focus,
body.bg input[type="password"]:focus,
body.bg input[type="text"]:focus,
body.bg input[type="url"]:focus,
body.bg textarea:focus,
body.bg select:focus
{
	border-color: #EAEAEA;
	background: #EAEAEA;
}

/* <input type="range"> */
input[type="range"]
{
	--range-thumb-color: #898989;
	--range-track-color: #898989;
}
input[type="range"]:hover
{
	--range-thumb-color: #959595;
	--range-track-color: #959595;
}

/* Bouton d'envoi. */
.button,
.button:active,
.button:focus,
.button:hover
{
	border: none;
	background: var(--color);
	color: #f0f0f0;
	padding: 8px 12px;
	font-size: 120%;
	box-shadow: none;
}
.button:focus,
.button:hover
{
	background: white;
	color: var(--color);
}
.button:active
{
	outline: 2px solid var(--color);
	box-shadow: 0 0 6px var(--color);
}
.button[disabled],
.button[disabled]:active,
.button[disabled]:focus,
.button[disabled]:hover
{
	color: #222;
	background: #555;
	border-color: #555;
	outline: none;
	box-shadow: none;
}
body.bg .button[disabled],
body.bg .button[disabled]:active,
body.bg .button[disabled]:focus,
body.bg .button[disabled]:hover
{
	color: #333;
	background: #666;
	border-color: #666;
}

/* Boutons de formulaires : style 2 */
body.btn_2_dark .button,
body.btn_2_dark .button:active,
body.btn_2_dark .button:hover
{
	padding: 8px 14px;
	border-radius: 20px;
}
body.btn_2_dark .button:active
{
	outline: 2px solid var(--color);
}
body.btn_2_dark .button:focus
{
	border: 0;
}

/* Bouton de sélection de fichier. */
.js .button_file
{
	background: #4A4A4A;
	padding: 4px 12px;
	font-size: 120%;
}
.js input[type="file"]:focus + label,
.js .button_file:hover
{
	background: #5A5A5A;
}
.js .button_file:active
{
	outline: 1px solid #999;
}
.js body.bg .button_file
{
	background: #5A5A5A;
}
.js body.bg input[type="file"]:focus + label,
.js body.bg .button_file:hover
{
	background: #6A6A6A;
}
.js body.bg .button_file:active
{
	outline: 1px solid #ddd;
}



/**
 * Formulaire standard.
 *
 */
form.standard .required::before
{
	color: #f0f0f0;
}
#register_form #password_validation_text span:last-child
{
	color: #fff;
}



/**
 * Tableaux.
 *
 */
table.default
{
	box-shadow: 5px 5px 10px #1A1A1A;
	background: #444;
}
body.bg table.default
{
	background: #555;
}
table.default th
{
	background: #505050;
	border: 0;
	border-bottom: 3px solid #888;
	border-right: 1px solid #777;
	color: #f0f0f0;
}
body.bg table.default th
{
	background: #707070;
	border-bottom-color: #A0A0A0;
	border-right-color: #888;
}
table.default th:first-child,
table.default td:first-child
{
	border-left: 0;
}
table.default th:last-child,
table.default td:last-child
{
	border-right: 0;
}
table.default td
{
	border-color: #666;
	background: none;
}
table.default tr:last-child td
{
	border-bottom: 0;
}
table.default tr:nth-child(odd) td
{
	background: #4a4a4a;
}
body.bg table.default tr:nth-child(odd) td
{
	background: #505050;
}



/**
 * Pages personnalisées.
 *
 */
#page_custom h1,
#page_custom h2,
#page_custom h3,
#page_custom h4,
#page_custom h5,
#page_custom h6
{
	color: #fff;
}



/**
 * Envoi de fichiers.
 *
 */
/* Liste des fichiers */
#upload_list
{
	outline: none;
	background: #4a4a4a;
	color: black;
}
body.bg #upload_list
{
	background: #5A5A5A;
}
#upload_list.dragover
{
	outline: 3px dashed var(--color);
	border-color: transparent;
}
#upload_list.dragleave
{
	border-color: #808080;
}
#upload_startmsg
{
	color: #e0e0e0;
}
#upload_list .upload_file_delete::before
{
	color: #222;
}

/* Fichier */
#upload_list .upload_file
{
	border-color: #707070;
	background: #aaa;
	border-left: 4px solid #aaa;
}
#upload_list .upload_file:last-child
{
	border-bottom: 0;
}
#upload_list .upload_file_progress > div
{
	border-color: #808080;
}
#upload_list .upload_file_progress div div
{
	background: #808080;
}

/* Fichier : non autorisé */
#upload_list .upload_file_warning
{
	border-left-color: #825600;
}
#upload_list .upload_file_warning .upload_file_progress p
{
	color: #825600;
}

/* Fichier : échec de l'envoi */
#upload_list .upload_file_error
{
	border-left-color: #C30D0D;
}
#upload_list .upload_file_error .upload_file_progress p
{
	color: #C30D0D;
}

/* Fichier : envoi réussi */
#upload_list .upload_file_success
{
	border-left-color: #4F7800;
}
#upload_list .upload_file_success .upload_file_progress p
{
	color: #4F7800;
}



/**
 * Messages de rapport.
 *
 */
*[class^="message_"],
*[class^="message_"]::before
{
	color: #f0f0f0;
}
*[class^="message_"] :is(a, span)
{
	color: #f0f0f0;
	border-color: #f0f0f0;
}



/**
 * Stats de catégories.
 *
 */
#bottom_stats li.rating
{
	color: #bbb;
}



/**
 * Tags de catégories.
 *
 */
#cat_tags li a
{
	color: #F5F5F5;
}
#cat_tags li a:hover
{
	border-bottom-color: #f0f0f0;
}



/**
 * Géolocalisation.
 *
 */
#worldmap .leaflet-popup-content-wrapper,
#worldmap .leaflet-popup-tip
{
	background: #3A3A3A;
	color: #f0f0f0;
}
#popup_thumbs #thumbs_pagination span
{
	color: #f0f0f0;
}
#popup_thumbs #thumbs_cat dl a:hover
{
	border-color: #C0C0C0;
}
#worldmap #popup_thumbs #thumbs_cat dl a
{
	border: 1px solid #555;
}



/**
 * Page des images & vidéos.
 *
 */
#item
{
	background: #050505;
}
video:focus
{
	outline: 0;	
}

/* Titre */
#item_title,
#item_title a
{
	color: #f0f0f0;
}

/* Listes */
#item_columns ul li span
{
	color: #f0f0f0;
}

/* Utilisateur */
#item_user_login,
#item_user_login a
{
	color: #f0f0f0;
	text-decoration-color: #888;
	font-weight: normal;
}
#item_user_login a:hover
{
	text-decoration-color: #f0f0f0;
}
#item_user_avatar img,
.comment_avatar img
{
	background: #555;
}

/* Votes */
#item_note .rating
{
	color: #eee;
}

/* Tags */
#item_tags ul li a
{
	border: 0;
	background: #444;
	padding: 8px 10px;
}
#item_tags ul li a:hover
{
	background: #555;
}
body.bg #item_tags ul li a
{
	background: #555;
}
body.bg #item_tags ul li a:hover
{
	background: #777;
}



/**
 * Page des images & vidéos : commentaires.
 *
 */
/* Formulaire */
#item_comments_add h3
{
	color: #f0f0f0;
	border-color: #808080;
}

/* Commentaires */
.comment_top
{
	border-color: #808080;
}
.comment_name,
.comment_name a
{
	color: #f0f0f0;
	border-color: #f0f0f0;
}
.comment_date,
.comment_date_short
{
	color: #ddd;
}
.comment_edit a
{
	color: #f0f0f0;
}
.comment_edit a:hover
{
	color: #f0f0f0;
	text-shadow: 2px 2px 3px var(--color);
}



/**
 * Page des commentaires.
 *
 */
#page_comments .comment_top
{
	background: #444;
}
#page_comments .comment_message
{
	border-color: #777;
}
#page_comments .comment_thumb a,
#page_comments .comment_thumb a:hover,
#page_comments .comment:hover .comment_thumb a
{
	border-color: #444 #777 #777 #444;
}
#page_comments .comment .comment_thumb a:hover
{
	background: #555;
	border-color: #555 #777 #777 #555;
}
#page_comments .comment:hover .comment_message
{
	border-color: #777;
}

/* Avec fond */
body.bg #page_comments .comment_top
{
	background: #5a5a5a;
}
body.bg #page_comments .comment_message
{
	border-color: #808080;
}
body.bg #page_comments .comment_thumb a,
body.bg #page_comments .comment_thumb a:hover,
body.bg #page_comments .comment:hover .comment_thumb a
{
	border-color: #5a5a5a #808080 #808080 #5a5a5a;
}
body.bg #page_comments .comment .comment_thumb a:hover
{
	background: #6a6a6a;
	border-color: #6a6a6a #808080 #808080 #6a6a6a;
}
body.bg #page_comments .comment:hover .comment_message
{
	border-color: #808080;
}



/**
 * Pages des membres.
 *
 */
/* Menu */
.member_menu_icon
{
	color: #f0f0f0;
}

/* Nom d'utilisateur et description */
#member_page h2 > a
{
	color: #f0f0f0;
	text-shadow: 2px 2px 2px var(--color);
}
#member_page h2 span:not(#member_page_admin),
#member_page h2 span a
{
	color: #f0f0f0;
}
#member_page_description
{
	border-color: #808080;
	border: none;
}

/* Listes */
#member_page_content li span
{
	color: #f0f0f0;
}

/* Édition de l'avatar */
#member_page_edit_avatar h4
{
	color: #f0f0f0;
}



/**
 * Historique.
 *
 */
#history_type a,
#history_type a:hover
{
	color: #F0F0F0;
	background: #4A4A4A;
	border-color: #4A4A4A;
}
body.bg #history_type a,
body.bg #history_type a:hover
{
	background: #5A5A5A;
	border-color: #5A5A5A;
}
#history_type a:hover
{
	background: #5A5A5A;
}
body.bg #history_type a:hover
{
	background: #6A6A6A;
}
#history::before
{
	border-color: #5A5A5A;
}
body.bg #history::before
{
	border-color: #6A6A6A;
}
.history_date,
.history_date a,
#history_current,
#gallery #history_type a.current
{
	color: #f0f0f0;
}
.history_thumb
{
	background: #444;
}



/**
 * Vignettes de catégories.
 *
 */
/* Image */
#thumbs_cat dt a,
#thumbs_cat dt a:hover,
#thumbs_cat dt a:focus-visible
{
	border: 1px solid #555;
	border-radius: 5px;
	outline: none;
	background: #404040;
}
body.bg #thumbs_cat dt a,
body.bg #thumbs_cat dt a:hover
{
	border-color: #6A6A6A;
	background: #555;
}
#thumbs_cat dt a:hover,
#thumbs_cat dt a:focus-visible
{
	box-shadow: 0 0 15px #7A7A7A;
}
body.bg #thumbs_cat dt a:hover,
body.bg #thumbs_cat dt a:focus-visible
{
	box-shadow: 0 0 15px #9A9A9A;
}

/* Titre */
#thumbs_cat .title a
{
	color: #F5F5F5;
}
#thumbs_cat .title a:hover
{
	border-color: #f0f0f0;
}

/* Stats */
#thumbs_cat dl ul.stats li,
.thumbs_items dl ul.stats li,
dl ul.stats li.rating span span
{
	color: #aaa;
	font-weight: normal;
}
dl ul.stats li.rating span span
{
	text-shadow: 2px 2px 1px #333;
}
dl ul.stats li a
{
	color: #aaa;
}
dl ul.stats li a:hover
{
	border-color: #aaa;
}

body.bg #thumbs_cat dl ul.stats li,
body.bg .thumbs_items dl ul.stats li,
body.bg dl ul.stats li.rating span span
{
	color: #bbb;
}
body.bg dl ul.stats li a
{
	color: #bbb;
}
body.bg dl ul.stats li a:hover
{
	border-color: #bbb;
}

/* Protection par mot de passe */
#thumbs_cat dl.locked dt a span::before
{
	color: #f0f0f0;
}
#thumbs_cat dl.locked dt a:hover span::before
{
	color: #f0f0f0;
	text-shadow: 2px 2px 2px var(--color);
}



/**
 * Vignettes de fichiers.
 *
 */
.thumbs_items dt a
{
	background: #404040;
}
#gallery .thumbs_items dt a:hover,
#gallery .thumbs_items dt a:focus-visible
{
	outline: none;
	box-shadow: 0 0 15px #7A7A7A;
}
body.bg .thumbs_items dt a
{
	background: #555;
}
body.bg .thumbs_items dt a:hover
{
	box-shadow: 0 0 15px #9A9A9A;
}
.thumbs_items.standard dt a,
.thumbs_items.standard dt a:hover
{
	outline: 1px solid #555;
	background: #444;
}
body.bg .thumbs_items.standard dt a,
body.bg .thumbs_items.standard dt a:hover
{
	outline: 1px solid #6A6A6A;
	background: #555;
}
.thumbs_items dd span.title a
{
	font-weight: normal;
	color: #f0f0f0;
}
.thumbs_items.large dd span.title a,
.thumbs_items.superlarge dd span.title a
{
	font-size: 120%;
}
.thumbs_items dd span.title a:hover
{
	border-color: #f0f0f0;
}
.thumbs_items dl ul.stats li.filter
{
	color: #ddd;
}

/* Stats en icônes */
.thumbs_items dl ul.stats_icon
{
	top: -1px;
	right: -1px;
	height: calc(100% + 2px);
}



/**
 * Flux RSS.
 *
 */
#rss span:first-child
{
	color: #f0f0f0;
}
#rss span:last-child
{
	color: #f0f0f0;
	border-color: #888;
}
#rss a:hover span:last-child
{
	border-color: #f0f0f0;
}



/**
 * Moteur de recherche.
 *
 */
#search_options_link a,
#search_query_container a
{
	color: #ddd;
}
#search_query_container a:hover,
#search_infos span::before,
#search_options_link a:hover
{
	color: #fff;
}
#search ul
{
	border-color: #606060;
}
#search ul a:hover
{
	background: #363636;
}
body.bg #search ul a:hover
{
	background: #4a4a4a;
}



/**
 * Debug.
 *
 */
#debug .log
{
	background: #4D4D4D;
	margin: 20px 0;
	border-color: #111;
	border: 0;
}
#debug .log p
{
	background: #3A3A3A;
	border-color: #808080;
	padding: 10px;
}
#debug .log pre
{
	padding-bottom: 20px;
}
#debug #debug_sql
{
	background: #3A3A3A;
}
#debug #debug_sql td,
#debug #debug_sql th
{
	border: 1px solid #555;
}



/**
 * Media queries : écrans larges.
 *
 */
@media (min-width: 1180px)
{
	/**
	 * Structure générale.
	 *
	 */
	body.bg
	{
		background-color: var(--background-color);
		background-image: var(--background-image);
	}
	#gallery_inner
	{
		background: none;
		box-shadow: none;
	}
	body.bg #gallery_inner
	{
		background: #3A3A3A;
		box-shadow: none;
		padding-bottom: 0;
	}
	body.bg #bottom
	{
		background: #4A4A4A;
		border-top: 3px solid #808080;
	}
	body:not(.bg).bottom_bg #gallery[class*="large"] #bottom
	{
	   border-color: #333;
	   background-color: #2a2a2a;
	}

	/* Menu principal */
	#menu nav,
	body.bg #menu nav
	{
		background: none;
	}
	#menu li a
	{
		color: #F5F5F5;
		border: none;
	}
	#menu li a:hover
	{
		color: #f0f0f0;
	}
	#menu li.current :is(a, a:hover)
	{
		color: #F5F5F5;
		text-shadow: none;
	}
	#menu li:not(.current) a::after
	{
		content: '';
		display: block;
		height: 2px;
		background: #f0f0f0;
		width: 0;
		position: absolute;
		bottom: -2px;
		left: 50%;
		transition: all 0.2s ease-out;
	}
	#menu li:not(.current) a:hover::after
	{
		left: 0;
		width: 100%;
		transition: all 0.2s ease-in;
	}
	#menu #menu_gallery.browse::before,
	#menu #menu_gallery.browse:hover::before,
	#menu #menu_gallery.browse.current::before,
	#menu #menu_gallery.browse.current:hover::before,
	#menu li.icon.current::before,
	#menu li.icon.current:hover::before
	{
		color: #F5F5F5;
	}



	/**
	 * Header.
	 *
	 */
	header h1 a
	{
		color: #f0f0f0;
	}
	header.banner h1 a
	{
		color: #333;
	}

	/* Liens utilisateur. */
	#user_links ul a
	{
		padding: 0;
		border-width: 0 0 1px;
		color: #f0f0f0;
	}
	#user_links ul a:hover
	{
		padding: 0;
		border-width: 0 0 2px;
		color: #f0f0f0;
	}
	#user_links li#user_login a
	{
		border-color: #888;
		border-top: none;
		color: #f0f0f0;
	}
	header.none #header_top #user_links li a
	{
		border-color: #f0f0f0;
	}
	#user_links li#user_login a:hover
	{
		border-width: 2px;
	}
	header.banner #user_links ul :is(a, a:hover),
	header.banner #user_links li#user_login a
	{
		color: #333;
	}

	/* Changement du style. */
	header.none #user_style_large a
	{
		color: #f0f0f0;
		background: none;
	}
	header.banner.user #user_style_large a
	{
		color: #eee;
		background: #2A2A2A;
	}
	header.banner.user #user_style_large a:hover
	{
		color: #fff;
	}
	body:not(.bg) header.banner.user #user_style_large a
	{
		background: #333;
	}


	/**
	 * Formulaires.
	 *
	 */
	.field_sublvl
	{
		border-color: #808080;
	}



	/**
	 * Liens de navigation entre les pages.
	 *
	 */
	/* Liens. */
	#gallery .pages .link > *
	{
		height: 3em;
		width: 3em;
	}
	#gallery .pages .first > *,
	#gallery .pages .last > *
	{
		width: 3em;
	}



	/**
	 * Page des images & vidéos.
	 *
	 */
	#pages_top.visible + #item #item_container :is(video, img)
	{
		max-height: calc(100vh - 12.25em);
	}
	#gallery:has(.breadcrumb_filter) #pages_top.visible + #item #item_container :is(video, img)
	{
		max-height: calc(100vh - 14.5em);
	}

	/* Pagination */
	#item_prev a,
	#item_next a
	{
		color: #d0d0d0;
	}
	#item_prev a:hover,
	#item_next a:hover
	{
		color: #f0f0f0;
		text-shadow: 2px 2px 3px var(--color);
	}
	#item_stats li
	{
		color: #f0f0f0;
	}



	/**
	 * Liste des catégories.
	 *
	 */
	#browse_path
	{
		border-color: #808080;
	}
	#browse li a i
	{
		color: #ccc;
	}
	#browse li:not([id*="c"]):hover *,
	#gallery #browse li:has(a:focus-visible) *
	{
		background: #363636;
	}
	#gallery #browse li > i:hover,
	#gallery #browse li[id*="c"] > i:hover
	{
		background: #282828;
	}
	body.bg #browse li:not([id*="c"]):hover *,
	body.bg #gallery #browse li:has(a:focus-visible) *
	{
		background: #4a4a4a;
	}
	body.bg #gallery #browse li > i:hover,
	body.bg #gallery #browse li[id*="c"] > i:hover
	{
		background: #3a3a3a;
	}
	#gallery #browse li:is([id*="l"], [id*="u"]) b::before
	{
		color: #f0f0f0;
	}



	/**
	 * Boîtes flottantes.
	 *
	 */
	.box_page
	{
		box-shadow: 8px 8px 10px #1A1A1A;
	}

	/* Boîtes flottantes avec flèche. */
	.box_arrow:not(#user_menu)
	{
		border-color: #606060;
		box-shadow: 8px 8px 10px #1A1A1A;
		background: hsla(255, 0%, 25%, 0.95);
	}
	body.bg .box_arrow:not(#user_menu)
	{
		border-color: #808080;
		background: hsla(255, 0%, 32.94%, 0.95);
	}

	/* Flèche */
	.arrow_top_border
	{
		border-bottom-color: #606060;
	}
	.arrow_top
	{
		border-bottom-color: #404040;
	}
	body.bg .arrow_top_border
	{
		border-bottom-color: #808080;
	}
	body.bg .arrow_top
	{
		border-bottom-color: #545454;
	}



	/**
	 * Viewer.
	 *
	 */
	#viewer img
	{
		border: 5px solid #333;
		border-radius: 0;
		background: #333;
	}
	#viewer img:not([data-type="image/jpeg"])
	{
		background: white;
	}



	/**
	 * Pages des membres.
	 *
	 */
	#member_menu a
	{
		border: 0;
		background: #4a4a4a;
		border-left: 4px solid #4a4a4a;
	}
	body.bg #member_menu li:not(.current) a
	{
		background: #5a5a5a;
		border-left: 4px solid #5a5a5a;
	}
	#member_menu a > span
	{
		padding-left: 6px;
		height: auto;
	}
	#gallery #member_menu :is(a:focus, a:hover)
	{
		border-color: #4D4D4D;
		border-left: 4px solid #f0f0f0;
	}
	#member_menu a::before,
	#member_menu a::after,
	#member_menu span + span::before,
	#member_menu span + span::after,
	#member_menu a > span::before,
	#member_menu li:has(a:focus-visible)::before
	{
		display: none;
	}



	/**
	 * Pages des commentaires.
	 *
	 */
	#page_comments .comment_message::before
	{
		background: #f0f0f0;
	}



	/**
	 * Options de thème.
	 *
	 */
	#theme_options.open #theme_options_inner
	{
		box-shadow: 0 0 10px #1A1A1A;
	}
	#theme_options_menu
	{
		border-color: #808080;
		background: #4D4D4D;
	}
	#theme_options_menu a:hover
	{
		background: #606060;
	}
	#theme_options_menu a.current
	{
		background: #808080;
	}
	#theme_options_menu a:focus-visible,
	#theme_options_menu a.current:focus-visible
	{
		background: #404040;
	}
	#theme_options_content
	{
		background: #3A3A3A;
	}
	#theme_options h2
	{
		color: #f0f0f0;
	}
	#theme_options_buttons
	{
		border-color: #808080;
		background: #4D4D4D;
	}
	#theme_options .infos_icon,
	.theme_file_icons a[data-dir]
	{
		color: #f0f0f0;
	}
	.theme_file_icons a[data-dir].load
	{
		color: #787878;
	}

	/* Couleurs. */
	#theme_palette
	{
		background: #111;
	}
	#theme_palette a[data-code]::before
	{
		border-color: #111;
	}

	/* Messages de rapport */
	div[id^="theme_report"]
	{
		background: #4D4D4D;
	}

	/* Textures */
	.theme_textures
	{
		border-color: #6a6a6a;
	}
	.theme_textures_prev,
	.theme_textures_next
	{
		border-color: #6a6a6a;
	}
	.theme_textures_prev span,
	.theme_textures_next span
	{
		color: #ddd;
	}
	.theme_textures_images > div
	{
		border-color: #6a6a6a;
	}
	.theme_textures_prev:hover,
	.theme_textures_next:hover,
	.theme_textures_prev:hover span,
	.theme_textures_next:hover span
	{
		background: #4a4a4a;
		color: white;
	}
	.theme_textures_prev.disabled,
	.theme_textures_next.disabled,
	.theme_textures_prev.disabled span,
	.theme_textures_next.disabled span
	{
		color: #5a5a5a;
		background: none;
	}
	.theme_textures_images > div.selected::after
	{
		background: var(--color);
		color: #f0f0f0;
		border: 1px solid white;
	}
}

@media (min-width: 1720px)
{
	#gallery[class*="large"] .pages .link > *
	{
		height: 3.2em;
		width: 3.2em;
	}
	#gallery[class*="large"] .pages .first > *,
	#gallery[class*="large"] .pages .last > *
	{
		width: 3.2em;
	}
}