/**
 * 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.js:hover
{
	border-color: #f0f0f0;
}
a:hover
{
	border-color: #000000;
}
a.u
{
	text-decoration-color: #888;
}
a.u:hover
{
	text-decoration-color: #000000;
}
body.bg #gallery_inner
{
	background: #3A3A3A;
}

/* Menu principal */
#menu nav,
#menu_browse
{
	background: #444;
}
body.bg #menu nav,
body.bg #menu_browse
{
	background: #555;
}
#menu li a,
#menu li a:hover,
#menu li a::before,
#menu li a:hover::before,
#menu_gallery span,
#menu_browse li > span,
#menu_browse a
{
	color: #f0f0f0;
	border-color: #606060;
}
#menu li.icon::before
{
	color: #000000;
	border-color: #606060;
	text-shadow: 0px 0px 4px rgb(255 255 255);
}
#menu li.icon:hover::before
{
	color: #f0f0f0;
	border-color: #606060;
	text-shadow: 0px 0px 4px rgb(0 0 0);
}
#menu_browse li[class$="locked"] a::before
{
	color: #5a5a5a;
}
body.bg #menu_browse li[class$="locked"] a::before
{
	color: #6a6a6a;
}



/**
 * 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_avatar img
{
    background: none;
    box-shadow: 5px 5px 10px #1A1A1A;
}
#user_links li#user_avatar img:hover
{
    box-shadow: 0 0 15px #000000;
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    transform: rotate(30deg);
}
#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
{
    justify-content: center;
}
.box_menu a
{
	background: #444;
	color: white;
	border-color: #333;
}
.box_menu a:hover,
#gallery .box_menu a:focus-visible
{
	background: #333;
}
.box_menu span
{
    color: #000000;
    text-shadow: 0px 0px 4px rgb(255 255 255);
}
.box_menu span:hover
{
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    transform: rotate(30deg);
	text-shadow: 2px 2px 3px #000000;
    color: #ffffff;
}
.box_menu span.emoji
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.box_menu span.emoji:hover
{
    text-shadow: 0px 0px 4px rgb(0 0 0);
}
#gallery .box_menu li.current a
{
    background: #3A3A3A;
    border-top: 3px solid #000000;
    text-shadow: 0px 0px 4px rgb(0 0 0);
    border-radius: 5px 5px 0px 0px;
}
body.bg .box_menu a
{
	background: #4D4D4D;
	border-color: #3A3A3A;
	border-radius: 5px;
}
body.bg .box_menu a:hover
{
	background: #3A3A3A;
	text-shadow: 2px 2px 3px #000000;
	border-top: 3px solid #000000;
}

/* Icône. */
#theme_options_icon a
{
    color: #000000;
    background: #3A3A3A;
    box-shadow: 5px 5px 10px #1A1A1A;
    text-shadow: 0px 0px 4px rgb(255 255 255);
}
#theme_options_icon a:hover
{
    color: #ffffff;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

/* Contenu. */
.box_content
{
	background: #333;
}
body.bg .box_content
{
	background: #3A3A3A;
	border-radius: 5px 5px 0px 0px;
    border-top: 2px solid #000000;
}
.box_page
{
	box-shadow: none;
	border-radius: 5px 5px 5px 5px;
}
#box_selection .select_tool span:first-child
{
	color: white;
}
#box_selection .selection_title
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    text-align: center;
	color: white;
}
#box_selection .select_tool a:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#box_selection .select_tool a:hover span:last-child
{
	border-color: #000000;
}
#box_selection .selection_count a
{
    background: #4D4D4D;
    border-radius: 50px;
    box-shadow: 5px 5px 10px #1A1A1A;
}
#box_selection .selection_count a:hover
{
    background: #777777;
    box-shadow: 0 0 15px #000000;
}
#box_selection .selection_count span
{
    box-shadow: 5px 5px 10px #1A1A1A;
    border-radius: 50px;:ho
}
#box_emoji .box_content .emoji:hover
{
    text-shadow: 0px 0px 8px rgb(0 0 0);
}
.box_thumb img
{
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
}

/* Boutons et rapport. */
.box_buttons,
#box_report
{
	border: 0;
	background: #444;
}
body.bg #box_report
{
	background: #4D4D4D;
	border-radius: 5px 5px 5px 5px;
}
body.bg .box_buttons
{
    border-radius: 0px 0px 5px 5px;
    justify-content: center;
    border-top: 1px solid #000000;
	background: #4D4D4D;
}

/* Rognage. */
#box_cropper_tools a:hover span:last-child
{
    border-bottom: 2px solid #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#box_cropper_tools a span:first-child
{
	color: #000000;
    text-shadow: 0px 0px 4px rgb(255 255 255);
}
#box_cropper_tools a span:first-child:hover
{
    color: #ffffff;
    text-shadow: 2px 2px 3px #000000;
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    transform: rotate(30deg);
}



/**
 * Bas de page.
 *
 */
#bottom 
{
    justify-content: center;
}
#bottom_random h3 a:hover
{
    color: #000000;
    text-shadow: 0px 0px 5px rgba(255, 255, 255);
}
#bottom > div
{
    text-align: center;
}
body.bg #bottom
{
	background: #4D4D4D;
	border-top: 3px solid #808080;
	position: relative;
	top: 1px;
	border-top: 3px solid #000000;
}
#bottom h3
{
	color: #f0f0f0;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
    border-top: 3px solid #000000;
    background: #3A3A3A;
    box-shadow: 5px 5px 10px #1A1A1A;
    -webkit-border-radius: 50px;
    padding: 2px 0;
}
#bottom h3 :hover
{
    transition: transform 0.8s cubic-bezier(0.15, 0.04, 0, 0.8);
    transform: rotate(360deg);
}
#bottom h3 a
{
	color: #f0f0f0;
}
#bottom_links li
{
	color: #000000;
}
#bottom_links li:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#bottom_stats li .icon
{
    color: #000000;
    text-shadow: 0px 0px 4px rgb(255 255 255);
}
#bottom_online li
{
    color: #000000;
}
#bottom_online li:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#bottom_stats li .icon:hover
{
	color: #f0f0f0;
	text-shadow: 2px 2px 3px var(--color);
}
#bottom_links > div
{
    justify-items: center;
}
#bottom_online > div
{
    justify-items: center;
}



/**
 * Contenu.
 *
 */
/* Titres */
h3.icon
{
	color: #ddd;
	font-weight: normal;
	justify-content: center;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    -webkit-border-radius: 50px;
    border-top: 3px solid #000000;
    box-shadow: 5px 5px 10px #1A1A1A;
}
span.error strong
{
	color: black;
}
.error_page
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.error_page h2
{
	color: #f0f0f0;
}
.error_page::after
{
	color: #555;
}
.object_desc
{
    max-width: none;
    justify-items: center;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
	text-align: center;
}
.object_desc strong
{
	color: #f0f0f0;
}



/**
 * Fil d'Ariane et outils.
 *
 */
#breadcrumb .current
{
	color: #f0f0f0;
}
#breadcrumb .current:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#breadcrumb a:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.breadcrumb_filter :is(.filter_name, #cat_name)
{
	color: #f0f0f0;
	border-color: #f0f0f0;
}
.breadcrumb_filter :is(.filter_name, #cat_name):hover
{
    border-color: #000000;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.breadcrumb_filter :is(#cat_name):hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    border-color: #000000;
}
.breadcrumb_filter :is(.filter_name):hover
{
    border-color: #000000;
}
#objects_count
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}


/* Pages */
#page_breadcrumb
{
    font-size: 16px;
    max-width: 800px;
    margin: 0 auto;
    -webkit-border-radius: 50px;
    border-top: 2px solid #000000;
    background: #4a4a4a;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    box-shadow: 5px 5px 10px #1A1A1A;
    text-align: center;
}
#page_breadcrumb :is(a, span)
{
	color: #f0f0f0;
	border-color: #f0f0f0;
	text-shadow: none;
}
#page_breadcrumb :is(a, span):hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    border-color: #000000;
}

/* Outils */
#tools :hover
{
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    transform: rotate(30deg);
}
#tools a
{
	color: #000000;
	text-shadow: 0px 0px 4px rgb(255 255 255);
}
#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;
	box-shadow: 0 0 15px #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
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;
}

/* Menu */
#thumb_menu a
{
    color: #ffffff;
}
#thumb_menu a:hover
{
    background: #3A3A3A;
    text-shadow: 2px 2px 2px rgb(0, 0, 0); 
}
#thumb_menu li + li:nth-child(1 of .admin)
{
    border-top: 1px solid #000000;
}
#menu ul 
{
    -webkit-border-radius: 50px;
    box-shadow: 5px 5px 10px #1A1A1A;
    border-top: 3px solid #000000;
    background: #4A4A4A;
}
#thumb_menu
{
    background: #555;
    box-shadow: 0 0 10px #555;
    border-radius: 5px;
    border-top: 2px solid #000000;
    box-shadow: 5px 5px 10px #1A1A1A;
}
#thumb_menu li a::before
{
    color: #020202;
    text-shadow: 0px 0px 4px rgb(255 255 255);
}
#thumb_menu li a:hover:before
{
    color: #ffffff;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    transform: rotate(30deg);
}

/* Icônes. */
.pages .link > *::after
{
	background: #444;
	color: #ddd;
	border-radius: 50%;
	box-shadow: 5px 5px 10px #1A1A1A;
}
body.bg .pages .link > *::after
{
	background: #555;
}



/**
 * Formulaires.
 *
 */
legend
{
	color: #f0f0f0;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
form.standard h2
{
	color: #f0f0f0;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
    -webkit-border-radius: 50px;
    border-top: 3px solid #000000;
    background: #4a4a4a;
    box-shadow: 5px 5px 10px #1A1A1A;
    text-align: center;
}
a.dt_now,
a.dt_reset
{
	color: #f0f0f0;
}
a.dt_now:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
	color: #f0f0f0;
}
a.dt_reset:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
	color: #f0f0f0;
}

.field.disabled
{
	color: #777;
}
.field.disabled input,
.field.disabled textarea
{
	border-color: #777;
	background: #777;
}
#contact_form input[type="email"]
{
    box-shadow: rgb(26, 26, 26) 5px 5px 10px;
}

/* 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="password"],
input[type="text"],
input[type="url"],
select
{
	color: black;
	border-color: #aaa;
	background: #aaa;
}
input[type="number"]
{
	color: black;
	border-color: #aaa;
	background: #aaa;
    -webkit-border-radius: 5px;
}
textarea
{
	color: black;
	border-color: #aaa;
	background: #aaa;
	border-radius: 5px;
    box-shadow: rgb(26, 26, 26) 5px 5px 10px;
}
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 textarea
{
	border-color: #BABABA;
	background: #BABABA;
}
body.bg input[type="url"]
{
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
	border-color: #BABABA;
	background: #BABABA;
}
body.bg input[type="password"]
{
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
	border-color: #BABABA;
	background: #BABABA;
}

body.bg input[type="number"]
{
    box-shadow: 5px 5px 10px #1A1A1A;
	border-color: #BABABA;
	background: #BABABA;
}

body.bg input[type="email"]
{
	border-color: #BABABA;
	background: #BABABA;
	border-radius: 5px;
	box-shadow: 5px 5px 10px #1A1A1A;
}
body.bg select
{
	border-color: #BABABA;
	background: #BABABA;
	border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
}
body.bg input[type="text"]
{
	border-color: #BABABA;
	background: #BABABA;
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;	
}
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;
}
form .field .password_container input[type] + .password_view a 
{
    background: #5A5A5A;
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
}
form .field .password_container input[type] + .password_view a:hover
{
    background: #777777;
    box-shadow: 0 0 15px #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}



/* <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:active
{
	border: none;
	background: var(--color);
	color: #f0f0f0;
	padding: 8px 12px;
	font-size: 120%;
	box-shadow: none;
}
.button
{
	border: none;
	background: #555555;
	color: #f0f0f0;
	padding: 8px 12px;
	font-size: 120%;
	box-shadow: 5px 5px 10px #1A1A1A;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.button:hover
{
	border: none;
	background: #777;
	color: var(--color);
	padding: 8px 12px;
	font-size: 120%;
	box-shadow: 0 0 15px #000000;
    text-shadow: none;
}
.button:focus
{
	border: none;
	padding: 8px 12px;
	font-size: 120%;
}
.button:active
{
	outline: 2px solid var(--color);
	box-shadow: 0 0 6px var(--color);
}
.button[disabled]:active,
.button[disabled]:focus,
.button[disabled]:hover
{
	color: #222;
	background: #555;
	border-color: #555;
	outline: none;
	box-shadow: none;
}
.button[disabled]
{
    text-shadow: none;
	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;
}
 *[class="message_error"]::before
{
    color: #931e1e;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
 *[class="message_success"]::before
{
    color: #44bb34;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
*[class^="message_"] :is(a, span):hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    border-color: #000000;
}

/* 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 #00000000;
}
body.btn_2_dark .button:focus
{
	border: 0;
}

/* Bouton de sélection de fichier. */
.button_file
{
    -webkit-border-radius: 50px;
}
.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: #555555;
    box-shadow: 5px 5px 10px #1A1A1A;
}
.js body.bg input[type="file"]:focus + label
{
	background: #555555;
}
.js body.bg input[type="file"]:focus + label:hover
{
    background: #777;
}
.js body.bg .button_file:hover
{
    background: #777;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    box-shadow: 0 0 15px #000000;
}
.js body.bg .button_file:active
{
	outline: 1px solid #ddd;
}
.js #gallery[class*="large"] #item_geolocation #worldmap
{
    height: 280px;
}
#gallery[class*="large"] #search_page.adv
{
    max-width: 50%;
}
#item_geolocation #worldmap
{
    box-shadow: 5px 5px 10px #1A1A1A;
    border-radius: 5px;
    background: #3A3A3A;
}



/**
 * Formulaire standard.
 *
 */
form.standard .required::before
{
	color: #b92828;
}
#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;
	border-radius: 0px 0px 5px 5px;
    margin: 20px 0 40px;
}
table.default th
{
	background: #505050;
	border: 0;
	border-bottom: 3px solid #888;
	border-right: 1px solid #777;
	color: #000000;
}
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
{
	border-right: 0;
}
table.default td:last-child
{
	border-right: 0;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
    text-align: center;
}
table.default td
{
	border-color: #666;
	background: none;
	text-align: center;
}
table.default td :hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
table.default td.date_created
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
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: none;
}



/**
 * Page des membres.
 *
 */
#members_list table img
{
	box-shadow: 5px 5px 10px #1A1A1A;
	width: 50px;
    height: 50px;
    margin-right: auto;
    margin-left: auto;
}
#members_list table img:hover
{
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    transform: rotate(30deg);
    box-shadow: 0 0 15px #000000;
}
	
	
	
/**
 * Pages personnalisées.
 *
 */
#page_custom
{
    justify-items: center;
	text-align: center;
} 
#page_custom h1,
#page_custom h2,
#page_custom h4,
#page_custom h5,
#page_custom h6
{
	color: #fff;
}
#page_custom h3 
{ 
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
	color: #fff;
}
#page_custom td 
{ 
    box-shadow: 5px 5px 10px #1A1A1A;
	border-radius: 5px;
	outline: 1px solid rgb(0 0 0);
	padding: 5px;
	border-top: 1px solid #000000;
}
#page_custom td a:hover 
{ 
    text-shadow: 2px 2px 2px rgb(0, 0, 0); 
}



/**
 * Envoi de fichiers.
 *
 */
/* Liste des fichiers */
#upload_list
{
	outline: none;
	background: #4a4a4a;
	color: black;
}
body.bg #upload_list
{
	background: #5A5A5A;
	border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
}
#upload_list.dragover
{
	outline: 3px dashed var(--color);
	border-color: transparent;
}
#upload_list.dragleave
{
	border-color: #808080;
}
#upload_startmsg
{
	color: #e0e0e0;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#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;
}

/* Fichiers récents */
#thumbs_cat .recent::after
{
    box-shadow: 0 0 5px #000000;
    background: rgb(143 0 0 / 70%);
    border-radius: 5px;
}
#thumbs_cat .recent:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    box-shadow: 0 0 15px #000000;
}
.thumbs_items dt span.new::after
{ 
    box-shadow: 0 0 5px #000000;
    background: rgb(143 0 0 / 70%);
    border-radius: 5px;
}
.thumbs_items dt span.new
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.thumbs_items dt .selection_icon
{
    background: #2a2a2a;
}


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



/**
 * Stats de catégories.
 *
 */
#bottom_stats li a:hover
{
    text-shadow: rgb(0, 0, 0) 2px 2px 2px;
} 
#bottom_stats li.rating
{
	color: #000000;
}



/**
 * Tags de catégories.
 *
 */
#bottom_tags > a:hover
{
    text-shadow: rgb(0, 0, 0) 2px 2px 2px;
} 
#cat_tags li a
{
	color: #F5F5F5;
}
#cat_tags li a:hover
{
    border-bottom-color: #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#section_tags #cat_tags
{
    grid-template-columns: repeat(3, 1fr);
    display: grid;
    margin: 30px;
    text-align: center;
    align-items: center;
}

/* Carte du monde */
#section_worldmap #worldmap
{
    box-shadow: 5px 5px 10px #1A1A1A;
    border-radius: 5px;
    background: #3A3A3A;
	height: 70vh;
    width: 140vh;
    margin-left: auto;
    margin-right: auto;
}


/**
 * Géolocalisation.
 *
 */
.leaflet-touch .leaflet-control-layers
{
    border: none;
    box-shadow: 5px 5px 10px #1A1A1A;
}
.leaflet-container .leaflet-control-attribution
{ 
    display: none;
}
.leaflet-touch .leaflet-bar
{
    display: none;
}
#worldmap .leaflet-popup-tip
{
	background: #3A3A3A;
	color: #f0f0f0;
}
#worldmap .leaflet-popup-content-wrapper
{
    box-shadow: 5px 5px 10px #1A1A1A;
    border-radius: 5px;
	background: #3A3A3A;
	color: #f0f0f0;
}
#popup_thumbs #thumbs_pagination a
{
    color: #f0f0f0;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#popup_thumbs #thumbs_pagination a:hover
{
    color: #000000;
    text-shadow: 0px 0px 4px rgb(255 255 255);
}
#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;
}
#popup_thumbs .thumbs_items :is(dl, dd)
{
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
        text-align: center;
}



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

/* Titre */
#item_title,
#item_title a
{
	color: #f0f0f0;
}
#item_title, #item_title a
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

/* 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: #000000;
}
#item_user_avatar img
{
	background: #555;
	width: 50px;
    height: 50px;
}
.comment_avatar img
{
    margin-left: 9px;
	background: #555;
	width: 50px;
    height: 50px;
}
.comment_avatar img:hover
{
    box-shadow: 0 0 15px #000000;
    transform: rotate(30deg);
    transition: transform 0.2s cubic-bezier(0,.5,1,.5);
}
#item_user_avatar img:hover
{
    box-shadow: 0 0 15px #000000;
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    transform: rotate(30deg);
}
#item_user_note
{
    justify-content: center;
}
#item_user_avatar img, .comment_avatar img
{
    box-shadow: 5px 5px 10px #1A1A1A;
}

/* Votes */
#item_note .rating
{
	color: #eee;
	color: #000000;
    font-weight: normal;
}
#item_user_note > span :hover
{
    text-shadow: 1px 1px 10px rgba(255, 255, 255, 0.87);
}
#item_user_note_delete:hover
{
    text-shadow: 0px 0px 5px rgba(255, 255, 255);
}
#item_user div
{
    justify-content: center;
}

/* Tags */
#item_tags ul li a
{
	border: 0;
	background: #444;
	border-radius: 50px;
    box-shadow: 5px 5px 10px #1A1A1A;
    padding: 6px 10px;
}
#item_tags ul li a:hover
{
	background: #555;
    box-shadow: 0 0 15px #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
body.bg #item_tags ul li a
{
	background: #555;
}
body.bg #item_tags ul li a:hover
{
	background: #777;
}
#item.favorite.selection::before
{
    background: #4A4A4A;
    text-shadow: 0px 0px 20px rgb(0, 0, 0);
}
#item.selection::before
{
    background: #4A4A4A;
    text-shadow: 0px 0px 20px rgb(0, 0, 0);
    box-shadow: 5px 5px 10px #000000;
}
#item.favorite::after
{
    background: #4A4A4A;
    text-shadow: 0px 0px 20px rgb(0, 0, 0);
    box-shadow: 5px 5px 10px #000000;
}



/**
 * Page des images & vidéos : commentaires.
 *
 */
/* Formulaire */
#item_comments_add h3
{
	color: #f0f0f0;
	border-color: #808080;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
	border-bottom: 2px solid #000000;
}
#item_comment_emoji_link span:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

/* Commentaires */
.comment_top
{
	border-color: #000000;
	border-radius: 5px 5px 0px 0px;
}
.comment_name,
.comment_name a
{
	color: #f0f0f0;
	border-color: #f0f0f0;
}
.comment_num:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.comment_date,
.comment_date_short
{
	color: #ddd;
}
.comment_date > span:first-child
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.comment_edit a
{
	color: #000000;
    text-shadow: 0px 0px 4px rgb(255 255 255);
}
.comment_edit a:hover
{
	color: #f0f0f0;
	text-shadow: 2px 2px 3px var(--color);
}



/**
 * Page des commentaires.
 *
 */
.comment_infos
{
    text-align: center;
}
.comment_name a:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    border-color: #000000;
}
#page_comments .comment_top
{
	background: #444;
	box-shadow: 5px 5px 10px #1A1A1A;
}
#page_comments .comment_message
{
	border-color: #777;
}
#page_comments .comment_thumb a,
#page_comments .comment:hover .comment_thumb a
{
	border-color: #444 #777 #777 #444;
}
#page_comments .comment_thumb a:hover
{
	border-color: #444 #777 #777 #444;
    box-shadow: 0 0 15px #000000;
}
#page_comments .comment .comment_thumb a:hover
{
	background: #555;
	border-color: #555 #777 #777 #555;
}
#page_comments .comment:hover .comment_message
{
	border-color: #777;
}
.comment_thumb a
{
    border-radius: 5px 0px 0px 0px;
}

/* 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: #000000;
	text-shadow: 0px 0px 4px rgb(189 189 189);
}
.member_menu_icon:hover
{
    text-shadow: 2px 2px 2px #000000;
    transform: rotate(30deg);
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    color: #f0f0f0;
}
#member_page_profile h3
{
    justify-content: center;
    text-align: left;
    background: #5a5a5a;
    box-shadow: 5px 5px 10px #1A1A1A;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    -webkit-border-radius: 50px;
    border-top: 3px solid #000000;
}
#member_page_stats h3
{
    justify-content: center;
    text-align: left;
    background: #5a5a5a;
    box-shadow: 5px 5px 10px #1A1A1A;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    -webkit-border-radius: 50px;
    border-top: 3px solid #000000;
}
#member_page_stats .link_number > *
{
    -webkit-border-radius: 50px;
    padding: 4px 20px;
    box-shadow: 5px 5px 10px #1A1A1A;
}
#member_page_stats .link_number span
{
    text-shadow: none;
}
#member_page_stats .link_number a
{
    background: #5A5A5A;
    box-shadow: 5px 5px 10px #1A1A1A;
    text-shadow: none;
}
#member_page_stats .link_number a:hover
{
    background: #777777;
    box-shadow: 0 0 15px #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

/* Nom d'utilisateur et description */
#member_page_avatar img
{
    margin-right: auto;
    margin-left: auto;
    border-radius: 5px;
    background: #3a3a3a;
    box-shadow: 5px 5px 10px #1A1A1A;
}
#member_page h2
{
    text-align: center;
    -webkit-border-radius: 50px;
    border-top: 3px solid #000000;
    background: #5a5a5a;
    box-shadow: 5px 5px 10px #1A1A1A;
}
#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 h2 span a:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#member_page_description
{
	border-color: #808080;
	border: none;
}

/* Listes */
#member_page_content
{
    padding: 0 30px 0 30px;
}
#member_page_content li span
{
	color: #f0f0f0;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

/* Édition de l'avatar */
#member_page_edit_avatar h4
{
	color: #f0f0f0;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#member_page_edit_avatar img
{
    margin-right: auto;
    margin-left: auto;
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
	background: #ffffff00;
}



/**
 * Historique.
 *
 */
#history_type a:hover
{
	color: #F0F0F0;
	background: #4A4A4A;
	border-color: #4A4A4A;
}
#history_type a
{
    -webkit-border-radius: 50px;
    box-shadow: 5px 5px 10px #1A1A1A;
	color: #F0F0F0;
	background: #4A4A4A;
	border-color: #4A4A4A;
}
body.bg #history_type a
{
	background: #5A5A5A;
	border-color: #5A5A5A;
}
#history_type a:hover
{
	background: #5A5A5A;
}
body.bg #history_type a:hover
{
	background: #6A6A6A;
	text-shadow: 2px 2px 2px rgb(0, 0, 0);
    box-shadow: 0 0 15px #000000;
}
#history::before
{
	border-color: #5A5A5A;
}
body.bg #history::before
{
	border-color: #1A1A1A;
}
.history_date a
{
	color: #f0f0f0;
}
.history_date
{ 
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
	color: #f0f0f0;
}
#history_current
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
	color: #f0f0f0;
}

.history_date a:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#gallery #history_type a.current
{
    background: #5A5A5A;
    border-color: #5A5A5A;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    box-shadow: 0 0 15px #000000;
	color: #f0f0f0;
}
.history_thumb
{
	background: #444;
}
#history .history_count :hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#history .history_thumb
{
    border-radius: 6px;
}
#history .history_thumb :hover
{
    box-shadow: 0 0 15px #000000;
}
#history .history_thumb img
{
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
}




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

/* Icône du menu des vignettes */
dt a.icon_menu
{
    background: #3a3a3a82;
    color: #ffffff;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
dt a.icon_menu:hover
{
    background: #3A3A3A;
}
dt a.icon_menu.show
{
    box-shadow: 5px 5px 10px #1A1A1A;
}
dt a.icon_menu.show:hover
{
    box-shadow: 0 0 15px #000000;
}
dt:has(a.icon_menu) .duration
{ 
    border-radius: 5px;
    box-shadow: 5px 5px 10px #1A1A1A;
    background: #3a3a3a;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

/* Titre */
#thumbs_cat .title a
{
	color: #F5F5F5;
}
#thumbs_cat .title a:hover
{
	border-color: #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

/* 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;
}
#thumbs_cat dl ul.stats li.rating span span
{
    color: #000000;
}
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
{
	color: #bbb;
}
body.bg dl ul.stats li.rating span span
{
    color: #000000;
}
body.bg dl ul.stats li a
{
	color: #bbb;
}
body.bg dl ul.stats li a:hover
{
    border-color: #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}

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



/**
 * Vignettes de fichiers.
 *
 */
.thumbs_items dt a:first-of-type
{
	background: #404040;
}
#gallery .thumbs_items dt a:first-of-type:focus-visible
{
	outline: none;
	box-shadow: 0 0 15px #7A7A7A;
}
#gallery .thumbs_items dt a:first-of-type:hover
{
	outline: none;
    box-shadow: 0 0 15px #000000;
}
body.bg .thumbs_items dt a:first-of-type
{
    background: #555;
    border-radius: 5px;
}
body.bg .thumbs_items dt a:first-of-type:hover
{
	box-shadow: 0 0 15px #9A9A9A;
}
.thumbs_items.standard dt a:first-of-type,
.thumbs_items.standard dt a:first-of-type:hover
{
	outline: 1px solid #555;
	background: #444;
}
body.bg .thumbs_items.standard dt a:first-of-type,
body.bg .thumbs_items.standard dt a:first-of-type: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: #000000;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
.thumbs_items dl ul.stats li.filter
{
	color: #ddd;
}
.thumbs_items:is(.landscape, .portrait, .square) dt a:first-of-type img
{ 
    border-radius: 5px;
}
.thumbs_items.superlarge.landscape dt a:first-of-type
{
    padding-top: 66.67%;
}
.thumbs_items.superlarge.portrait dt a:first-of-type
{
    padding-top: 149.74%;
}


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



/**
 * 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;
}

/* Recherche. */
#browse_search
{
	margin: 8px 5px;
}


/**
 * Moteur de recherche.
 *
 */
#search a:hover
{
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#search_query_container
{
    margin-right: auto;
    margin-left: auto;
}
#search_options_link a
{
	color: #ddd;
}
#search_query_container a
{
    color: #6065a1;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
}
#search_options_link a:hover
{
	color: #fff;
}
#search_infos span::before
{
    color: #000000;
}
#search_query_container a:hover
{
    color: #fff;
    text-shadow: 2px 2px 2px rgb(0, 0, 0);
    transform: rotate(30deg);
    transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
}
#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 #000000;
	}
	body:not(.bg).bottom_bg #gallery[class*="large"] #bottom
	{
	   border-color: #333;
	   background-color: #2a2a2a;
	}
	a:focus
	{
		outline: none;
	}

	/* Menu principal */
	#menu nav,
	body.bg #menu nav
	{
		background: none;
	}
	#menu li a
	{
		color: #F5F5F5;
		border: none;
	}
	#menu li a:hover
	{
		color: #f0f0f0;
		text-shadow: 2px 2px 2px rgb(0, 0, 0);
	}
	#menu li.current :is(a, a:hover)
	{
		color: #F5F5F5;
		text-shadow: 2px 2px 2px rgb(0, 0, 0);
	}
	#menu li:not(.current) a::after
	{
		content: '';
		display: block;
		height: 2px;
		background: #000000;
		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.current::before,
	#menu #menu_gallery.browse.current:hover::before,
	#menu li.icon.current:hover::before
	{
		color: #F5F5F5;
	}
	#menu li.icon.current::before
{
    color: #000000;
}
	#menu #menu_gallery.browse:hover::before
	{
		color: #F5F5F5;
		text-shadow: 2px 2px 2px rgb(0, 0, 0);
	}



	/**
	 * Header.
	 *
	 */
	header h1 a
	{
		color: #f0f0f0;
		text-shadow: 2px 2px 2px rgb(0, 0, 0);
	}
	header h1 a:hover
	{
        color: #000000;
		text-shadow: none;
    }
	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;
	}
	header.none #header_top #user_links li a:hover
	{
        border-color: #000000;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
    }
	#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: #000000;
		background: none;
		text-shadow: 0px 0px 4px rgb(255 255 255);
	}
    header.none #user_style_large a:hover
    {
	    color: #f0f0f0;
        text-shadow: 0px 0px 4px rgb(0 0 0);
	    transform: rotate(30deg);
	    transition: transform 0.2s cubic-bezier(0,.5,1,.5);
    }
	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: #000000;
	}



	/**
	 * 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);
	}
	#item video
    {
        background: #2A2A2A;
    }

	/* 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
    {
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
    }
	#item_stats li
	{
		color: #f0f0f0;
	}
	#item_left
    {
        text-align: center;
    }
    #item_right
    {
        text-align: center;
    }



	/**
	 * Liste des catégories.
	 *
	 */
	#browse_path
	{
		border-color: #808080;
	}
	#browse li .count
	{
		color: #ccc;
	}
	#browse li[id*="c"] *
    {
        background-color: #2e2e2e;
        border-radius: 5px;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
    }
	#browse ul :hover
    {
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
    }
	#gallery #browse li:has(a:focus-visible) *
	{
		background: #363636;
	}
	#browse li:not([id*="c"]):hover *
	{
		background: #363636;
		border-radius: 5px;
	}
	#gallery #browse li .icon:hover,
	#gallery #browse li[id*="c"] .icon: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 .icon:hover,
	body.bg #gallery #browse li[id*="c"] .icon:hover
	{
		background: #3a3a3a;
	}
	#gallery #browse li:is([id*="l"], [id*="u"]) .title::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);
		border-radius: 5px;
	}

	/* 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
    {
        margin: 0px 0px 0 30px;
    } 
	#member_menu a
	{
		border: 0;
		background: #4a4a4a;
		border-left: 4px solid #4a4a4a;
	}
	#member_menu a:hover
    {
        border-color: #888;
        box-shadow: 0 0 15px #000000;
    }
	body.bg #member_menu li:not(.current) a
	{
		background: #5a5a5a;
		border-left: 4px solid #5a5a5a;
	}
	body.bg #member_menu li:not(.current) a:hover
    {
        background: #777777;
    }
	#member_menu a > span
	{
		padding-left: 6px;
		height: auto;
	}
	#gallery #member_menu :is(a:focus, a:hover)
	{
		border-color: #4D4D4D;
		border-left: 4px solid #000000;
		text-shadow: 2px 2px 2px rgb(0, 0, 0);
	}
	#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;
	}
	#member_menu li a
    {
        -webkit-border-radius: 50px;
        box-shadow: 5px 5px 10px #1A1A1A;
    }
	#member_menu li.current :is(a, .member_menu_icon)
    {
        background: #3a3a3a;
        -webkit-border-radius: 50px;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
    }
	#member_menu li.current a
    {
        box-shadow: 0 0 15px #000000;
    }



	/**
	 * Pages des commentaires.
	 *
	 */
	#page_comments .comment_message::before
	{
		background: #000000;
	}
	.comment_message
    {
        margin-left: 10%;
        margin-right: 10%;
        text-align: left;
    }



	/**
	 * Options de thème.
	 *
	 */
	#theme_options.open #theme_options_inner
{
    box-shadow: none;
} 
	#theme_options_menu
	{
		border-color: #000000;
		background: #4D4D4D;
	}
	#theme_options_menu a
    {
        margin: 1px;
    }
	#theme_options_menu a:hover
	{
		background: #606060;
		border-radius: 5px;
        box-shadow: 0 0 15px #000000;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
	}
	#theme_options_menu a.current
	{
	    background: #777777;
        border-radius: 5px;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
        box-shadow: 0 0 15px #000000;
	}
	#theme_options_menu a:focus-visible,
	#theme_options_menu a.current:focus-visible
	{
		background: #404040;
	}
	#theme_options_menu ul
    {
        border-top: 1px solid #000000;
        justify-content: center;
    }
	#theme_options_content
	{
		background: #3A3A3A;
	}
	#theme_options h1
    {
        background: #3A3A3A;
        border-top: 3px solid #000000;
        border-radius: 5px 5px 0px 0px;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
        text-align: center;
    }
	#theme_options h2
	{
		color: #f0f0f0;
		text-shadow: 2px 2px 2px rgb(0, 0, 0);
	}
	#theme_options form
    {
        box-shadow: 5px 5px 10px #1A1A1A;
		border-radius: 6px;
    }
	#theme_options_inner
    {
        border-radius: 5px 5px 0px 0px;
    }
	#theme_options_buttons
	{
		border-color: #000000;
		background: #4D4D4D;
	    border-radius: 0px 0px 5px 5px;
        justify-content: center;	
	}
	.theme_file_icons a[data-dir]
	{
		color: #000000;
        text-shadow: 0px 0px 4px rgb(255 255 255);
	}
	.theme_file_icons a[data-dir].rotate
    {
        transform: rotate(360deg);
        transition: transform 0.4s linear;
    }
	.theme_file_icons a[data-dir].rotate:hover
    {
        color: #ffffff;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
    }
	#theme_options .icon
    {
        color: #000000;
        text-shadow: 0px 0px 4px rgb(255 255 255);
    }
	#theme_options .icon:hover
    {
        color: #ffffff;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
        transform: rotate(30deg);
        transition: transform 0.2s cubic-bezier(0, .5, 1, .5);
    }
	.theme_file_icons a[data-dir].load
	{
		color: #787878;
	}
	
	/* Boîte CSS. */
	#box_css
	{
		box-shadow: 8px 8px 10px #1A1A1A;
		border-radius: 0px 0px 5px 5px;
	}
	#box_css_content
	{
		background: #333;
		border-color: #555;
		border-radius: 0px 0px 5px 5px;
	}
	#box_css_header
    {
        background: #555;
        border-radius: 5px 5px 0px 0px;
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
        border-top: 3px solid #000000;
    }
	#box_css_header a
    {
        text-shadow: none;
    }
	#box_css_header a:hover
    {
        background: rgb(0 0 0 / 0%);
        text-shadow: 2px 2px 2px rgb(0, 0, 0);
    }
	#box_css_header span
    {
        text-align: center;
    }

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

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

	/* 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;
	}
}