/* Reset and Base Styles - Updated for modern browser normalization */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { 
    margin: 0; padding: 0; vertical-align: baseline; box-sizing: border-box; /* Added box-sizing */
} 
article, aside, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } 
body { line-height: 1.5; /* Updated default line-height */ } 
ol, ul { list-style: none; } 
blockquote, q { quotes: none; } 
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } 
table { border-collapse: collapse; border-spacing: 0; }

html { height: 100%; min-height: 100%; -webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape */ }
body { min-height: 100%; background: #000000; } /* Dark Background */
html, html a { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* Better font rendering */ }

@media (prefers-reduced-motion: no-preference) {
    @view-transition { navigation: auto; }  
}

/* Base Typography and Colors */
body, select, input, textarea, button {
    /* Modern system font stack */
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: .9rem;
    line-height: 1.5;
    color: #a0a0a0; /* Soft Grey for text instead of #353535 */
    outline: none;
}
a { outline: none; color: #3394e6; text-decoration: none; transition: color 0.2s ease, text-decoration 0.2s ease; /* Added transition */ }
a:hover { text-decoration: underline; color: #4fa8f7; /* Lighter blue on hover */ }
.meta a, .speedbar a, .tag_list a, .vote_more a, .story_tools .category a { color: #0c5f7e; }

a img { border: 0 none; }
a > img { vertical-align: bottom; }

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
    margin: 0 0 .7rem 0;
    line-height: 1.2; /* Better line height for headings */
    font-weight: 700; /* Use numeric weight */
    color: #d1d1d1; /* Light Grey for headings instead of implicitly dark */
    text-rendering: optimizeLegibility;
}

h1, .h1 { font-size: 22px; }
h2, .h2 { font-size: 20px; }
h3, .h3 { font-size: 18px; }
h4, .h4 { font-size: 16px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 12px; }

.addcomment h3 { margin: .3em 0 .6em 0; }
.dlevideoplayer ul[data-theme] { display: none; }

.strike { text-decoration: line-through; }
.nobr { white-space: nowrap; }
.hide { display: none; }
.title_hide { left: -9999px; position: absolute; top: -9999px; overflow: hidden; width: 0; height: 0; }
.uline { text-decoration: underline; }
.justify { text-align: justify; }
.center { text-align: center; }
.left { float: left; }
.right { float: right; }

fieldset { border: 1px solid rgba(255,255,255,0.1); /* Lighter border for dark mode */ padding: 20px; margin-bottom: 25px; }
fieldset legend { font-weight: bold; color: #b0b0b0; } /* Visible legend in dark mode */

.grey { color: #64748b; }
.grey a { color: inherit; }
.grey a:hover { color: #a0a0a0; }
.blue { color: #3394e6; }
.orange { color: #e85319; }

sup { vertical-align: super; font-size: smaller; }
sub { vertical-align: sub; font-size: smaller; }
.over { display: inline-block; vertical-align: middle; max-width: 100%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
a .over { cursor: pointer; }

.cover { background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; }

ul { padding-left: 40px; list-style: disc outside; margin-top: 1em; margin-bottom: 1em;}
ol { padding-left: 40px; list-style: decimal outside; margin-top: 1em; margin-bottom: 1em;}

strong, b { font-weight: bold; color: #c0c0c0; } /* Ensure bold stands out in dark mode */
em, cite, i { font-style: italic; }
caption { text-align: left; }
th, td { vertical-align: middle; }
small, .small { font-size: .9em; }
hr { height: 0; border: 0; border-top: 2px solid #2d2d2d; /* Dark grey hr */ margin: 20px 0; }

.clr { clear: both; }
.clrfix:after { clear: both; content: ""; display: table; }

.instagram-media, .twitter-tweet {display: inline-block !important;}

/* Grid System */
@media only screen and (min-width: 601px) {
    .grid_1_2, .grid_1_4 { float: left; margin-right: 4%; }
    .grid_1_2 { width: 48%; }
    .grid_1_4 { width: 22%; }
    .grid_last { margin-right: 0; }
}

/* Dropdowns */
.dropdown { position: relative; }
.dropdown-menu, .dropdown-form {
    min-width: 160px; padding: 12px 0; border-radius: 4px; margin-top: 5px !important; display: none; z-index: 99; position: absolute;
    box-shadow: 0 8px 40px -10px rgba(0,0,0,0.5); border: 1px solid #333; background-clip: padding-box;
    background-color: #1a1a1a; /* Dark Grey instead of white */
}
.dropdown-menu { list-style: none; margin: 0; }
.dropdown-form { padding: 40px; }

.dropdown-menu.dot:before, .dropdown-form.dot:before {
    content: ""; position: absolute; top: 0; left: 50%; margin: -11px 0 0 -11px;
    width: 22px; height: 22px; border-radius: 50%; background-color: #1a1a1a; /* Dark Grey */ border: 1px solid #333;
}

.dropdown-menu li a { height: 1%; padding: 5px 20px; border: 0 none; display: block; white-space: nowrap; text-decoration: none; color: #d1d1d1; }
.dropdown-menu li a:hover { background-color: #e05b37; color: #fff; }
.open .dropdown-menu, .open .dropdown-form { display: block; }

/* Transitions */
.fade { opacity: 0; transition: opacity 0.15s linear; }
.fade.in { opacity: 1; }
.collapse { overflow: hidden; height: 0; width: 0; display: inline-block; }
.collapse.in { display: block; width: auto; height: auto; }
.collapsing { position: relative; height: 0; overflow: hidden; transition: height 0.35s ease; }

.tab-content > .tab-pane { display: none; }
.tab-content > .active { display: block; }

/* Icons */
.icon { display: inline-block; width: 32px; height: 32px; fill: #0c5f7eed; vertical-align: middle; }
.icon-logo { width: 42px; height: 42px; }
.icon-vk { width: 10px; height: 1em; }
.icon-tw { width: 14px; height: 1em; }
.icon-fb { width: 8px; height: 1em; }
.icon-gp { width: 18px; height: 1em; }
.icon-ya { width: 7px; height: 1em; }
.icon-od { width: 10px; height: 1em; }
.icon-mail { width: 16px; height: 1em; }
.grey .icon { fill: #64748b; }

/* Layout Structure */
.wrp { max-width: 1437px; margin: 0 auto; /* Added margin auto for centering */ }

.conteiner:after, #header:after { clear: both; content: ""; display: table; }
.midside { float: left; padding: 0 350px 0 13%; width: 100%; }
.rightside { float: right; width: 300px; padding: 0 25px; margin-left: -350px; position: relative; }

/* Header */
#header { margin-bottom: 25px; }
#header, #header_menu { height: 80px; }
.header { width: 100%; height: 0; z-index: 22; position: fixed; left: 0; top: 0; }
.header .midside { height: 0; }
#header_menu {
    position: relative; z-index: 15; padding: 0 25px; 
    background-color: rgba(12, 95, 126, 0.93); backdrop-filter: blur(5px); /* Added modern blur */
    border-radius: 0 0 2px 2px; box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5); /* Darker shadow */
    display: flex; align-items: center; justify-content: space-between;
}

/* Mobile Menu Button */
#mobile_menu_btn {
    position: absolute; left: 0; top: 0; width: 40px; height: 80px; text-transform: lowercase; white-space: nowrap;
    border: 0 none; background-color: transparent; color: #d1d1d1; padding: 5px; text-align: center; border-right: 1px solid rgba(255,255,255,0.1);
}
#mobile_menu_btn > *, #mobile_menu_btn { cursor: pointer; }
.menu_toggle { display: inline-block; vertical-align: middle; width: 18px; height: 18px; margin: -2px 6px; position: relative; }
.menu_toggle > i { height: 2px; width: 100%; background-color: #d1d1d1; position: absolute; left: 0; top: 0; transition: all ease .2s; }
.mt_1 { margin-top: 2px; }
.mt_2 { margin-top: 8px; }
.mt_3 { margin-top: 14px; }
.menu_toggle__title { display: none; }
.mobile-menu_open #mobile_menu_btn .mt_1 { transform: rotate(-45deg); }
.mobile-menu_open #mobile_menu_btn .mt_2 { opacity: 0; }
.mobile-menu_open #mobile_menu_btn .mt_3 { transform: rotate(45deg); }

/* Logo */
.logotype { white-space: nowrap; color: #fff; text-decoration: none !important; display: flex; align-items: center; justify-content: space-around; height: 80px; }
.logotype .logo_title { margin: 0 0 0 18px; font-size: 20px; line-height: 34px; font-weight: normal; color: #e0e0e0; }
.logotype .icon-logo { fill: #e0e0e0; }

/* Top Menu */
#top_menu { margin: 0 25px; flex: 1 auto; white-space: nowrap; text-align: center; cursor: default; }
#top_menu > a { text-decoration: none !important; display: inline-block; color: #d1d1d1; position: relative; z-index: 2; padding: 10px 20px; opacity: .8; transition: opacity 0.2s; }
#top_menu > a:after { content: ""; position: absolute; left: 50%; top: 50%; margin: -5px 0 0 -5px; width: 10px; height: 10px; border-radius: 100%; background-color: #d1d1d1; overflow: hidden; opacity: 0; pointer-events: none; /* Prevent interaction with ripple */ }

@keyframes sun {
    0% { margin: -5px 0 0 -5px; width: 10px; height: 10px; opacity: 0; }
    50% { margin: -50px 0 0 -50px; width: 100px; height: 100px; opacity: .15; } 
    100% { margin: -80px 0 0 -80px; width: 160px; height: 160px; opacity: 0; }
}

#top_menu > a:hover { z-index: 1; opacity: 1; color: #fff; }
#top_menu > a:hover:after { animation: sun .3s ease; }
#top_menu > a.active { cursor: default; opacity: 1; color: #fff; }
#top_menu > a.active:before { content: ""; position: absolute; left: 50%; top: 100%; width: 4px; height: 4px; margin: -2px 0 0 -2px; border-radius: 50%; background-color: #fff; }
#top_menu > a.active:after { display: none; }

/* Login Pane */
#login_pane { list-style: none; padding: 0; margin: 0; }
#login_pane > li > .btn-border { border-color: rgba(255,255,255,0.2); color: #d1d1d1; white-space: nowrap; text-shadow: none; padding: 5px 10px; border-radius: 4px; transition: border-color 0.2s, color 0.2s;}
#login_pane > li > .btn-border:hover { border-color: #d1d1d1; color:#fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1); }
#login_pane > li > .btn-border .over { max-width: 120px; margin-top: -2px; }
#login_pane > li > .btn-border > .pm_num { margin-top: -3px; vertical-align: middle; display: inline-block; }
.pm_num { font-size: 11px; background-color: #2d2d2d; /* Dark Grey */ border-radius: 10px; min-width: 12px; height: 12px; line-height: 12px; margin: -2px -14px 0 12px; padding: 4px; color: #d1d1d1; text-align: center; vertical-align: middle; }

#login_pane .dropdown-form { text-align: center; left: 50%; padding: 39px; margin-left: -150px; width: 220px; background-color: #1a1a1a; border-color: #333; }
.dropdown-form .soc_links { margin: 0; }
.dropdown-form .soc_links > a { margin-bottom: 20px; }
.login_form { list-style: none; padding: 0; margin: 0; border-bottom: 1px solid #333; }
.login_form > li { border-top: 1px solid #333; display: block; position: relative; }
.login_form > li > label { display: none; }
.login_form > li > input { border: 0 none; padding: 19px; padding-left: 23px; border-radius: 0; background-color: transparent; width: 100%; height: 60px; color: #d1d1d1; }
.login_form > li > input::placeholder { color: #666; }
.login_form > li > .icon { position: absolute; left: 0; top: 50%; margin: -7px 0 0 0; height: 14px; width: 1em; fill: #888; }
.login_form > li.login_input-btn > input { padding-right: 65px; }
.login_form > li.login_input-btn > .btn { position: absolute; right: 0; top: 50%; margin-top: -18px; padding: 0; width: 54px; }
.login_form__foot { text-align: left; margin-top: 20px; color: #a0a0a0; }

.dropdown-form.logged:after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 99px; z-index: -1; }
.dropdown-form.logged:before, .dropdown-form.logged:after { background-color: #252525; /* Dark grey */ }
.login_pane__info .avatar { margin: 12px 0; }
.login_pane__menu { list-style: none; padding: 0; margin: 25px 0; text-align: left; border-bottom: 1px solid #333; }
.login_pane__menu li a { color: inherit; text-decoration: none !important; padding: 14px 0; display: block; border-top: 1px solid #333; transition: color 0.2s; }
.login_pane__menu li a:hover { color: #4fa8f7; }
.login_pane__foot { text-align: left; color: #a0a0a0; }
.login_pane__foot .plus_icon { margin: -3px 5px 0 0; }

/* Category Menu */
@media only screen and (min-width: 601px) {
    #cat_menu { float: left; width: 13%; position: relative; z-index: 10; margin-top: 105px; }
    .cat_menu a, .cat_menu a:after { transition: all ease .22s; }
    .cat_menu a { display: block; padding: 6% 10px; color: #8b949e; text-decoration: none !important; position: relative; }
    .cat_menu a:hover { color: #c0c0c0; }
    .cat_menu a:before, .cat_menu a:after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; background-color: #333; width: 0; height: auto; }
    .cat_menu a:hover:after { width: 5px; background-color: #4fa8f7; }
    .cat_menu a.active { cursor: default; color: #d1d1d1; }
    .cat_menu a.active:after { display: none; }
    .cat_menu a.active:before { width: 5px; background-color: #4fa8f7; }
}

.cat_menu ul { display: block; margin: 0; padding: 0; list-style: none; }
.cat_menu ul ul { padding-left: 10px; }

#cat_menu .soc_links { padding: 0 25px; margin-top: 35px; }
.soc_links { display: flex; justify-content: space-between; }
.soc_links > a { display: inline-block; width: 26px; height: 26px; line-height: 26px; border-radius: 50%; background-color: #2d2d2d; /* Dark Grey */ text-align: center; transition: all ease .2s; }
.soc_links > a:hover { transform: scale(1.1); /* Subtle scale */ }
.soc_links > a > .icon { fill: #d1d1d1; vertical-align: middle; margin: -3px 0 0 0; }

.soc_vk:hover { background-color: #5486ca; }
.soc_tw:hover { background-color: #1da1f2; } /* Updated Twitter Color */
.soc_fb:hover { background-color: #1877f2; } /* Updated FB Color */
.soc_gp:hover { background-color: #de553a; }
.soc_ya:hover { background-color: #ff0000; }
.soc_od:hover { background-color: #ff7800; }
.soc_mail:hover { background-color: #006cff; }

/* Search */
.q_search { position: relative; margin-top: 22px; }
.q_search > input {
    width: 100%; padding: 7px 72px 7px 18px; border-radius: 8px; background-color: #1a1a1a; /* Dark Grey */ display: block; border: 1px solid #333; color: #d1d1d1;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.3); transition: background-color 0.3s, border-color 0.3s;
}
.q_search > input::placeholder { color: #666; }
.q_search > input:focus { background-color: #252525; border-color: #555; outline: none; box-shadow: inset 0 1px 2px rgba(0,0,0,0.5); }
.q_search > .btn { width: 36px; padding: 0; position: absolute; right: 0; top: 18px; background: transparent; border: none; cursor: pointer; }
.q_search .icon-search { position: absolute; left: 50%; top: 50%; margin: -8px 0 0 -8px; width: 16px; height: 16px; fill: #888; transition: fill 0.2s;}
.q_search > .btn:hover .icon-search { fill: #c0c0c0; }
.q_search .q_search_adv { position: absolute; right: 0; top: 0; margin-right: 36px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.q_search .icon-set { width: 16px; height: 16px; fill: #888; transition: fill 0.2s;}
.q_search .q_search_adv:hover .icon-set { fill: #4fa8f7; }

/* Carousel */
.carousel { position: relative; padding-top: 49%; margin-bottom: 25px; overflow: hidden; width: 100%; border-radius: 4px; background: #1a1a1a; /* Dark Placeholder */ box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.carousel-inner { position: absolute; overflow: hidden; width: 100%; left: 0; top: 0; bottom: 0; }
.carousel-inner > .item { display: none; position: relative; width: 100%; height: 100%; overflow: hidden; transition: left 0.6s ease-in-out; }
.carousel-inner > .item > .cover { width: 100%; position: absolute; left: 0; top: 0; bottom: 0; background-color: #1a1a1a; }
.carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; vertical-align: top; width: 100%; height: 100%; object-fit: cover; }

.carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; }
.carousel-inner > .active { left: 0; }
.carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; }
.carousel-inner > .next { left: 100%; }
.carousel-inner > .prev { left: -100%; }
.carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; }
.carousel-inner > .active.left { left: -100%; }
.carousel-inner > .active.right { left: 100%; }
.carousel-control { position: absolute; top: 0; bottom: 0; right: 0; margin: 25px; width: 44px; display: flex; align-items: center; z-index: 10; }
.carousel-control_in { background-color: rgba(26, 26, 26, 0.7); backdrop-filter: blur(4px); border: 1px solid #333; border-radius: 22px; text-align: center; }
.carousel-control .up, .carousel-control .down { display: block; padding: 15px 12px; cursor: pointer; }
.carousel-control .icon { fill: #a0a0a0; width: 20px; height: 32px; transition: fill 0.2s;}
.carousel-control a:hover > .icon { fill: #fff; }
.carousel-indicators { list-style: none; padding: 0; margin: 0; text-align: center; position: absolute; bottom: 15px; left: 0; right: 0; z-index: 11;}
.carousel-indicators li { display: inline-block; width: 12px; height: 12px; margin: 0 4px; cursor: pointer; position: relative; border-radius: 50%; background-color: rgba(255,255,255,0.3); transition: background-color 0.2s;}
.carousel-indicators li:hover { background-color: rgba(255,255,255,0.6); }
.carousel-indicators li.active { background-color: #fff; }
.carousel-caption { position: absolute; left: 0; bottom: 0; right: 94px; margin: 0 0 5% 5%; z-index: 10; color: #fff; text-shadow: 0 2px 4px rgba(0,0,0, 0.8); background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); padding: 20px; border-radius: 8px;}
.carousel-caption .title { font-weight: bold; letter-spacing: -.02em; font-size: 2em; line-height: 1.2; margin-bottom: 5px; }
.carousel-caption .text { font-size: 1.1em; line-height: 1.4; color: #ddd; }

/* Content Areas */
#content, .content_top { position: relative; }

.pagetools { border: 1px solid #333; border-radius: 4px; margin-bottom: 25px; position: relative; padding-left: 8%; width: 100%; height: 52px; overflow: hidden; font-size: .9em; background-color: #121212; }
#combo-tools .pagetools_in { height: 100px; transition: all .3s ease .2s; }
.pagetools_in { color: #8b949e; }
.sortbar_in, .speedbar { display: block; height: 22px; padding: 14px 25px; line-height: 22px; color: #a0a0a0; }
.pagetools_back { position: absolute; left: 0; top: 0; width: 8%; height: 50px; border-right: 1px solid #333; text-align: center; }
.pagetools_back .icon { display: block; margin: 15px auto 0 auto; width: 30px; height: 20px; fill: #888; transition: fill 0.2s;}
.pagetools_back:hover .icon { fill: #c0c0c0; }
#combo-tools.active > .pagetools_in { margin-top: -50px; }
.breadcrumb .over { vertical-align: baseline; }
.sortbar_in { white-space: nowrap; }
.sortbar_in > form { display: inline; }

/* Main Content Boxes (Articles/Comments) */
.box, .com_list div.comment { background-color: #1a1a1a; /* Dark Grey */ margin-bottom: 25px; border-radius: 4px; position: relative; box-shadow: 0 4px 12px rgba(0,0,0,0.3); border: 1px solid #2d2d2d; }
.box > .heading { padding: 4% 4%; margin: 0; text-transform: uppercase; border-bottom: 1px solid #2d2d2d; color: #d1d1d1; }
.box > .heading .hnum { font-size: .6em; display: inline-block; vertical-align: top; margin: 0 0 0 .4em; color: #888; }
.box_in { padding: 1.8rem 2.5rem; }

.story .title { margin: -.1em 0 1em 0; font-size: 20px; }
.story .title > a { color: #e0e0e0; transition: color ease .2s; }
.story .title > a:hover { color: #4fa8f7; }

.story_icons { position: absolute; top: 0; left: 0; width: 2.5rem; list-style: none; padding: 1.875rem 0 0 0; margin: -.2em 0 0 0; }
.fixed_story .story_icons { z-index: 1; }
.story_icons > li { text-align: center; margin: 0 0 10px 0; }

.story .box_in > .text { font-size: 1rem; color: #b0b0b0; /* Better readability */ line-height: 1.6; }
.story .box_in > .text:after { content: ""; display: block; clear: both; }
.story .box_in > .text > img[style*="left"], .story .box_in > .text > .highslide img[style*="left"] { margin: 2px 4% 4% 0; border-radius: 4px; }
.story .box_in > .text > img[style*="right"], .story .box_in > .text > .highslide img[style*="right"] { margin: 2px 0 4% 4%; border-radius: 4px; }
.story .box_in > .text img { max-width: 100%; aspect-ratio: auto; height: auto; border-radius: 4px; }

.editdate { margin: 4% 0 0 0; font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; color: #666; }

.fav_btn > a, .edit_btn > a { display: inline-block; padding: 4px; width: 16px; height: 16px; }
.fav_btn .icon { width: 16px; height: 16px; vertical-align: top; transition: fill 0.2s;}
.fav_btn .icon-fav { fill: #64748b; }
.fav_btn:hover .icon-fav { fill: #c0c0c0; }
@media only screen and (min-width: 601px) {
    .fixed_story .fav_btn .icon-fav { fill: #d1d1d1; }
    .fixed_story .fav_btn:hover .icon-fav { fill: #fff; }
}
.fav_btn .icon-star { fill: #fed762; }

.edit_btn > a { position: relative; transition: transform ease .2s; }
.edit_btn > a > i, .edit_btn > a:after, .edit_btn > a:before { padding-top: 2px; width: 16px; height: 0; background-color: #64748b; overflow: hidden; display: block; margin: 3px 0; transition: background-color 0.2s;}
.edit_btn > a:after, .edit_btn > a:before { content: ""; }
.edit_btn > a:hover > i, .edit_btn > a:hover:after, .edit_btn > a:hover:before { background-color: #a0a0a0; }
.edit_btn > a:hover { transform: rotate(90deg); }

.fixed_label { position: absolute; left: 0; top: 0; width: 8%; height: 30px; padding-top: 4%; }
.fixed_label:before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; margin: 0 0 0 -15px; background-color: #e85319; width: 30px; }
.fixed_label:after { content: ""; position: absolute; bottom: 0; left: 50%; margin: 0 0 0 -15px; border: solid transparent; border-bottom-color: #1a1a1a; /* Match box bg */ border-width: 0 15px 5px 15px; z-index: 1; }

.story_tools { margin-top: 4%; border-top: 1px solid #2d2d2d; padding-top: 15px;}
.story_tools > .category { float: right; margin-top: .7em; font-size: .9em; }
.story_tools > .category .icon { width: 12px; height: 15px; margin: -.2em .4em 0 0; fill: #888;}
.story_tools > .btn { float: left; margin-right: 2em; }
.story_tools > .rate { float: left; }
.story_tools .rate_stars { margin-top: 6px; }

.rate_like > a, .rate_like-dislike { float: left; padding: 6px 12px; border: 1px solid #333; border-radius: 4px; color: #8b949e; background-color: #121212; transition: all ease .2s; }
.rate_like > a:hover { border-color: #4fa8f7; color: #4fa8f7; }
.rate_like .icon { width: 16px; height: 15px; margin: -.2em .3em 0 0; fill: #8b949e; transition: fill 0.2s;}
.rate_like > a:hover .icon { fill: #4fa8f7; }

.rate_like-dislike > a { display: inline-block; width: 22px; height: 22px; text-align: center; }
.rate_like-dislike > a .icon { width: 14px; height: 15px; fill: #666; vertical-align: middle; margin: -.3em 0 0 0; transition: fill 0.2s;}
.rate_like-dislike > a:hover .icon { fill: #a0a0a0; }
.rate_like-dislike .ratingplus { color: #88c54d; }
.rate_like-dislike .ratingminus { color: #e45757; }
.rate_like-dislike > span { cursor: default; margin: 0 .3em; color: #a0a0a0;}

.story > .meta { font-size: .9em; background-color: #121212; /* Darker bottom bar */ padding: 2% 7%; border-radius: 0 0 4px 4px; border-top: 1px solid #2d2d2d;}
.meta:after, .story_tools:after { clear: both; display: table; content: ""; }
.meta > ul { list-style: none; padding: 0; margin: 0; }
.meta > ul > li { display: inline; color: #888;}
.meta > ul.left > li { margin-right: 2em; }
.meta > ul.right > li { margin-left: 2em; }
.meta .icon { width: 16px; height: 16px; margin: -.2em .4em 0 0; fill: #666;}
.meta .icon-views { height: 18px; }

.signature { font-size: .9em; opacity: .5; margin-top: .9em; color: #a0a0a0;}

/* Pagination */
.navigation { margin: 25px 0; }
.navigation:after { clear: both; display: block; content: ""; }
.pages { text-align: left; }
.pages span, .pages a:hover, .page_next-prev { background-color: #1a1a1a; /* Dark grey */ box-shadow: 0 2px 5px rgba(0,0,0,0.3); border-radius: 4px; border: 1px solid #333;}
.pages span, .pages a { color: #a0a0a0; display: inline-block; position: relative; padding: 7px 12px; min-width: 22px; height: auto; text-align: center; text-decoration: none !important; font-weight: bold; transition: all 0.2s;}
.pages a:hover { color: #fff; background-color: #333; border-color: #4fa8f7;}
.pages span { color: #fff; background-color: #2d2d2d; border-color: #444;}

.page_next-prev { float: right; height: 36px; display: flex; align-items: center; border: 1px solid #333;}
.page_next-prev * { float: left; }
.page_next-prev .icon { width: 32px; height: 20px; fill: #666; transition: fill 0.2s;}
.page_next-prev > span >  a:hover .icon { fill: #c0c0c0; }
.page_next-prev > span > * { padding: 0 12px; display: flex; align-items: center; height: 100%;}
.page_next > span, .page_prev > span { opacity: 0.5; }

.splitnewsnavigation { margin-top: 4%; padding-top: 4%; font-weight: bold; border-top: 1px solid #2d2d2d; color: #a0a0a0;}
.splitnewsnavigation > a, .splitnewsnavigation > span { padding: 6px 10px; }

/* Side Blocks */
.hblock > .title { text-transform: uppercase; font-weight: bold; background-color: #121212; /* Dark bg */ border-radius: 4px 4px 0 0; font-size: 1em; padding: 15px 25px; margin: 0; color: #d1d1d1; border-bottom: 1px solid #2d2d2d;}
.banner img { vertical-align: top; max-width: 100%; border-radius: 4px;}
.midside .banner { padding: 2.5% 8%; text-align: center; }
.midside .next-prev a { margin:  10px; }
.hblock .banner { border-top: 1px solid #2d2d2d; }

.informer_list { list-style: none; margin: 0 -25px 0 0; padding: 0; }
.informer_list:after { clear: both; display: block; content: ""; }
.informer_list li { float: left; width: 33.33333%; padding-right: 25px; }
.informer_list li .title { font-weight: bold; margin-bottom: 1em; }
.informer_list li .title a { display: block; color: #d1d1d1; transition: color 0.2s;}
.informer_list li .title a:hover { color: #4fa8f7; }

.more_icon { display: inline-block; background-color: #2d2d2d; /* Dark grey */ border-radius: 4px; height: auto; padding: 7px 12px; margin-top: 1em; transition: background-color 0.2s;}
.more_icon:after { clear: both; display: block; content: ""; }
.more_icon > i { margin-left: 2px; float: left; width: 4px; height: 4px; border-radius: 50%; background-color: #888; transition: all ease .2s; }
.more_icon:hover { background-color: #333; }
.more_icon:hover > i { margin-left: 10px; background-color: #fff;}
.more_icon > i:first-child { margin-left: 0 !important; }

.block, .rightside .banner { margin-bottom: 25px; background-color: #1a1a1a; border: 1px solid #2d2d2d; border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
.block > .title { text-transform: uppercase; white-space: nowrap; overflow: hidden; margin: 0 0 15px 0; padding: 15px; border-bottom: 1px solid #2d2d2d; color: #d1d1d1;}
.block > .title > b, .block > .title:after, .block > .title > h4 { font-size: 1em; margin: 0; display: inline-block; vertical-align: middle; }
.block > .title:after { display: none; /* Removed the ugly line */ }

@media only screen and (max-width: 1279px) { .banner_300 { display: none; } }
@media only screen and (min-width: 1280px) { .banner_240 { display: none; } }

/* Top News */
ol.topnews { margin: 0; padding: 0; list-style: none; counter-reset: ol-counter; }
ol.topnews > li > a:after { content: ""; display: block; clear: both; }
ol.topnews > li > a { display: block; color: #a0a0a0; border-bottom: 1px solid #2d2d2d; padding: 15px 15px 15px 60px; position: relative; transition: background-color 0.2s;}
ol.topnews > li:last-child > a { border-bottom-width: 0; }
ol.topnews > li > a:hover { background-color: #222; }
ol.topnews > li > a:before {
    content: counter(ol-counter); counter-increment: ol-counter; font-weight: bold; font-size: 1.2em; border-radius: 4px;
    background-color: #2d2d2d; color: #888; width: 32px; height: 32px; text-align: center; position: absolute; left: 15px; top: 15px;
    line-height: 32px; transition: all ease .2s; border: 1px solid #333;
}
ol.topnews > li > a:hover:before { color: #fff; background-color: #3394e6; border-color: #3394e6;}
ol.topnews > li > a > * { display: block; }
ol.topnews > li > a > b { color: #d1d1d1; font-size: 1em; line-height: 1.3;}
ol.topnews > li > a > span { font-size: .85em; opacity: .6; margin-top: .4em; }
ol.topnews > li > a:hover > b { color: #4fa8f7; }

.block_grey { padding: 25px; margin-bottom: 25px; border-radius: 4px; background-color: #121212; border: 1px solid #2d2d2d;}
.block_grey > .title { margin: 0 0 1em 0; font-size: 1.1em; color: #d1d1d1; }
.vote_more { font-size: .9em; margin: -.7em 0 1em 0; }

/* Voting */
.vote_list { margin: 8% 0; color: #a0a0a0;}
.vote_list .vote, .vote_list .pollanswer { margin: .6em 0 .2em 0; }
.vote_list .vote > input, .vote_list .pollanswer > input { display:none;  }
.vote_list .vote > input + label:before, .vote_list .pollanswer > input + label:before {
    display:inline-block; width: 14px; height: 14px; border: 2px solid #555; background-color: transparent; margin: -3px 8px 0 0;
    vertical-align:middle; cursor:pointer; content: ""; border-radius: 4px; transition: border-color ease .2s, background-color ease .2s;
}
.vote_list .vote > input[type="radio"] + label:before, .vote_list .pollanswer > input[type="radio"] + label:before { border-radius: 50%; }
.vote_list .vote > input + label:hover:before, .vote_list .pollanswer > input + label:hover:before { border-color: #888; }
.vote_list .vote > input:checked + label:before, .vote_list .pollanswer > input:checked + label:before { background-color: #3394e6; border-color: #3394e6; }
.btn-border .icon-votes { width: 16px; height: 14px; margin: -3px 0 0 0; vertical-align: middle; fill: #a0a0a0;}
.vote_votes, .pollallvotes { font-size: .9em; color: #888;}
#dlevotespopupcontent { height: auto !important; overflow: visible !important; background: #1a1a1a; color: #d1d1d1; border-color: #333;}

/* Tabs */
.title_tabs { margin: -10px 0 10px 0 !important; }
.title_tabs ul { cursor: default; list-style: none; padding: 0; margin: 0 0 0 15px; }
.title_tabs * { display: inline-block; vertical-align: middle; }
.title_tabs ul li > a { display: block; width: 36px; height: 36px; padding: 10px 0; border-radius: 4px; margin-bottom: 2px; text-align: center; position: relative; background: #2d2d2d; transition: background 0.2s;}
.title_tabs ul li > a:hover { background: #333; }
.title_tabs ul li.active > a { background-color: #3394e6; }
.title_tabs ul li > a > .icon { width: 16px; height: 16px; fill: #a0a0a0; vertical-align: top; }
.title_tabs ul li.active > a > .icon { fill: #fff; }

.block_bg { margin-bottom: 25px; background-color: #1a1a1a; border-radius: 4px; border: 1px solid #333; padding: 25px; }
.block_bg > .title { font-size: 1.1em; color: #d1d1d1; margin: -.2em 0 1em 0; text-transform: uppercase; border-bottom: 1px solid #2d2d2d; padding-bottom: 10px;}
.change_skin { background: #2d2d2d; border-radius: 4px; padding: 10px;}
.change_skin .styled_select { background: #1a1a1a; border-radius: 4px; width: 100%; border: 1px solid #444; position: relative; }
.change_skin .styled_select > .icon { position: absolute; right: 10px; top: 50%; width: 12px; height: 8px; margin-top: -4px; fill: #888; left: auto;}
.change_skin .styled_select select { width: 100%; height: 36px; background-color: transparent; border-width: 0; padding: 0 10px; color: #d1d1d1; position: relative; z-index: 1; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.change_skin .styled_select select option { background: #1a1a1a; color: #d1d1d1; }

/* Tags */
.tag_list > span { margin: 0 4px 4px 0; }
.tag_list > span, .tag_list > span > a { display: inline-block; }
.tag_list > span > a { border: 1px solid #333; color: #a0a0a0; padding: 4px 10px; border-radius: 4px; background: #121212; transition: all 0.2s; font-size: 0.85em;}
.tag_list > span > a:hover { background-color: #2d2d2d; color: #fff; border-color: #555; text-decoration: none;}
.tags_more { margin-top: 1em; }

/* Related News */
.relnews { margin: 0; padding: 0; list-style: none; }
.relnews > li > a:after { content: ""; display: block; clear: both; }
.relnews > li > a { display: block; color: #a0a0a0; border-bottom: 1px solid #2d2d2d; padding: 15px; transition: background 0.2s; border-radius: 4px;}
.relnews > li:last-child > a { border-bottom-width: 0; }
.relnews > li > a .icon { width: 16px; height: 14px; float: left; margin: 2px 10px 0 0; fill: #666; transition: fill 0.2s;}
.relnews > li > a > * { display: block; }
.relnews > li > a > b { color: #d1d1d1; font-size: 0.95em;}
.relnews > li > a > span { font-size: .85em; opacity: .6; margin-top: .4em; }
.relnews > li > a:hover { background: #222; }
.relnews > li > a:hover > b { color: #4fa8f7; }
.relnews > li > a:hover .icon { fill: #4fa8f7; }

/* Last Comments */
.lastcomm { margin: 0; padding: 0; list-style: none; }
.lastcomm > li > a:after { content: ""; display: block; clear: both; }
.lastcomm > li > a { display: block; color: #a0a0a0; border-bottom: 1px solid #2d2d2d; padding: 15px; transition: background 0.2s; border-radius: 4px;}
.lastcomm > li:last-child > a { border-bottom-width: 0; }
.lastcomm > li > a .icon { width: 14px; height: 14px; float: left; margin: 3px 10px 0 0; fill: #666; transition: fill 0.2s;}
.lastcomm > li > a > * { display: block; }
.lastcomm > li > a > b { color: #d1d1d1; margin-bottom: .2em; font-size: 0.95em;}
.lastcomm > li > a > span { font-size: .85em; opacity: .7; line-height: 1.4;}
.lastcomm > li > a:hover { background: #222; }
.lastcomm > li > a:hover > b { color: #4fa8f7; }
.lastcomm > li > a:hover .icon { fill: #4fa8f7; }

/* Footer Menu */
.footer_menu { position: relative; padding: 0 0 25px 0; }
.foot_menu { list-style: none; padding: 0; margin: 0 -25px 0 0; }
.foot_menu > li { float: left; width: 33.33333%; padding-right: 25px; }
.foot_menu > li > b { display: block; margin-bottom: 1em; color: #d1d1d1; font-weight: bold; border-bottom: 1px solid #333; padding-bottom: 5px;}
.foot_menu > li > b > i { display: none; }
.foot_menu > li nav > a { color: #888; display: block; font-size: .9em; padding: .4em 0; transition: color 0.2s;}
.foot_menu > li nav > a:hover { color: #d1d1d1; text-decoration: none;}

@media only screen and (min-width: 601px) {
    .foot_menu > li > div { display: block !important; height: auto !important; width: auto !important; }
}

.upper { position: absolute; left: 0; width: 13%; text-align: center; }
#upper { display: block; margin: 0 auto; border-radius: 4px; width: 50px; height: 50px; background-color: #2d2d2d; position: relative; border: 1px solid #444; transition: background 0.2s;}
#upper .icon { width: 16px; height: 16px; fill: #a0a0a0; position: absolute; left: 50%; top: 50%; margin: -8px 0 0 -8px; transition: fill 0.2s;}
#upper:hover { background-color: #4fa8f7; border-color: #4fa8f7;}
#upper:hover .icon { fill: #fff; }

/* Footer */
.footer { font-size: .9em; padding: 25px 0; border-top: 1px solid #2d2d2d; background: #0a0a0a;}
.footer a, .footer { color: #666; }
.footer .midside { display: flex; align-items: center; justify-content: space-between;}
.footer .copyright { color: #888;}
.copyright a { font-weight: bold; color: #a0a0a0;}
.copyright a:hover { color: #fff; }

.ca { white-space: nowrap; }
.ca > .icon { margin: -.2em .4em 0 0; width: 24px; height: 14px; fill: #555; transition: fill 0.2s;}
.ca:hover > .icon { fill: #888; }
.counter { margin-left: 10px; opacity: .5; transition: opacity 0.2s;}
.counter:hover { opacity: 1; }
.counter > img { vertical-align: middle; border-radius: 2px;}

/* Showfull specific */
.showfull .pagetools { position: absolute; background: #121212; border-color: #333;}
.showfull .story { float: left; width: 100%; margin-top: 77px; }
.showfull .comments, .showfull #content .box { float: left; width: 100%; }
.showfull #content .rightside { margin: 0 -350px 0 0; }
.showfull #content .rightside .banner { padding: 0; }

.page_static { margin-bottom: 60px; color: #d1d1d1; line-height: 1.6;}
.page_static:after { clear: both; display: block; content: ""; }
.page_static > .text { font-size: 1.05em; }

/* Error Messages */
.berrors { background: #2a1111; border: 1px solid #4a1c1c; color: #e78c8c; padding: 15px 20px; margin-bottom: 25px; border-radius: 4px; box-sizing: border-box; font-size: 0.95em;}

/* Add Comment Form */
.addcomment { background-color: #1a1a1a; border: 1px solid #2d2d2d; border-radius: 4px; padding: 20px;}
.plus_icon { width: 16px; height: 16px; display: inline-block; vertical-align: middle; position: relative; }
.addcomment .plus_icon { display: none; /* Hide default plus icon */ }
.plus_icon.circle { width: 12px; height: 12px; padding: 4px; border-radius: 50%; border: 2px solid #555; }
.plus_icon.circle > span { width: 12px; height: 12px; margin: -6px 0 0 -6px; }
.plus_icon.circle > span:before, .plus_icon.circle > span:after { background-color: #555; }

ul.ui-form { list-style: none; padding: 0; margin: 0; }
ul.ui-form > li { margin-bottom: 15px; }
ul.ui-form > li:last-child { margin-bottom: 0; }
.form-group { margin-bottom: 15px; }
.form-group > label { display: block; margin-bottom: .4em; color: #a0a0a0;}
.imp:after { content: "*"; margin: 0 0 0 5px; color: #e45757; }

ul.ui-form input[type="text"], ul.ui-form input[type="password"], ul.ui-form textarea {
    width: 100%; padding: 10px; background: #121212; border: 1px solid #333; color: #d1d1d1; border-radius: 4px; font-family: inherit; box-sizing: border-box; transition: border-color 0.2s;
}
ul.ui-form input:focus, ul.ui-form textarea:focus { border-color: #555; }

@media only screen and (min-width: 601px) {
    .form-group.combo:after { clear: both; display: table; content: ""; }
    .form-group.combo > .combo_field { width: 50%; float: left; box-sizing: border-box; }
    .form-group.combo > .combo_field:last-child { padding-left: 10px; }
    .form-group.combo > .combo_field:first-child { padding-right: 10px; }
}
.form_submit { margin-top: 20px; }
.form-sep { border-top: 1px solid #2d2d2d; margin: 20px 0;}

#comment-editor .bb-editor textarea { padding: 10px; height: 200px; background: #121212; color: #d1d1d1; border: 1px solid #333; border-radius: 4px;}
.addpm #comment-editor .bb-editor textarea { height: 340px; }
.wseditor table, .bb-editor table { margin: 0px; }

/* Comments List */
.com_list div.comment { padding: 4%; border-top: 1px solid #2d2d2d; background-color: transparent; margin: 0; border-radius: 0; box-shadow: none; }
.avatar { display: inline-block; }
.avatar .cover { width: 100px; height: 100px; border-radius: 50%; white-space: nowrap; text-indent: -9999px; display: inline-block; background-color: #222;}
.comment .avatar { float: left; margin-right: 15px; position: relative; }
.comment .avatar .cover { width: 40px; height: 40px; border: 1px solid #333;}
.com_online { position: absolute; left: 100%; top: 50%; margin: -4px 0 0 -4px; overflow: hidden; text-indent: -9999px; background-color: #88c54d; border: 2px solid #1a1a1a; width: 8px; height: 8px; border-radius: 50%; }

.com_info { font-size: .9em; margin-bottom: 5px; color: #888;}
.com_info:after { clear: both; display: block; content: ""; }
.com_user { float: left; margin: 0 15px 0 0; color: #d1d1d1; font-weight: bold;}
.comment .meta { display: inline; }
.comment .meta .left { margin: 0; float: left;}
.comment .meta .left .mass input { margin: -2px 0 0 0; vertical-align: middle; }
.comment .meta > ul.left > li { margin-right: 10px; }

.comment .reply { text-transform: lowercase; }
.comment .meta .left a { display: inline-block; width: 24px; height: 24px; vertical-align: middle; padding: 4px; border-radius: 4px; background: #222; transition: background 0.2s;}
.comment .meta .left .reply a { padding: 4px 8px; width: auto; vertical-align: baseline; font-size: 0.9em;}
.comment .meta .left .del a { padding: 4px; }
.comment .meta .left .icon { margin: 0; fill: #888; vertical-align: top; width: 14px; height: 14px; transition: fill 0.2s;}
.comment .meta .left a:hover { background: #333; }
.comment .meta .left a:hover .icon { fill: #d1d1d1; }
.comment .meta .left a .icon-reply, .comment .meta .left a .icon-coms { width: 14px; height: 14px; fill: #888 !important; margin-right: .4em; vertical-align: middle; }
.comment .meta .left a:hover .icon-reply, .comment .meta .left a:hover .icon-coms { fill: #d1d1d1 !important; }
.comment .meta .left .edit_btn > a { padding: 4px; } 
.comment .icon-bad { width: 14px; height: 14px; }
.comment .icon-cross { width: 10px; height: 10px; }

.comment .meta .rate { float: right; }

#dle-comments-list { width: 100%; overflow: hidden; }
#dle-comments-list .comments-tree-list > li > .comments-tree-list { padding: 0 4%; border-top: 1px solid #2d2d2d; margin-top: 15px;}
#dle-comments-list .comments-tree-list > li .comments-tree-list > li { padding-left: 20px; border-left: 1px solid #333; margin-left: 20px;}
.comments-tree-list { list-style: none; padding: 0; margin: 0; }

.comments-tree-list > li > ol > li .comment, .comments-tree-list li ol li .comment { padding: 20px 0; position: relative; box-shadow: none; border-width: 0; }
.comments-tree-list > li > ol > li .comment:after { content: ""; position: absolute; width: 2000px; height: 1px; margin-left: -500px; left: 0; top: 0; background-color: #2d2d2d; display: none;} /* Hidden line */
.comments-tree-list > li > ol > li .comment:before { display: none; } /* Hidden line */

.mass_comments_action { text-align: right; border-top: 1px solid #2d2d2d; padding: 15px 4%; background: #121212; border-radius: 0 0 4px 4px;}
.mass_comments_action > select { margin-left: 1em; background: #1a1a1a; color: #d1d1d1; border: 1px solid #333; padding: 5px; border-radius: 4px;}

.com_content > .title { margin-top: 10px; color: #e0e0e0; font-weight: bold;}
.com_content > .text { font-size: .95rem; color: #b0b0b0; line-height: 1.5; margin-top: 10px;}

/* Map */
#map { width: 100%; height: 400px; filter: invert(90%) hue-rotate(180deg); /* Dark mode map trick */ border-radius: 4px;}
.map_resp { width: 100%; padding-top: 60%; height: 0; position: relative; }
.map_resp > #map { position: absolute; left: 0; top: 0; bottom: 0; height: 100%; }
.dark_top { border-radius: 4px 4px 0 0; color: #d1d1d1; background: #222; padding: 15px;}
.contacts { font-size: 1.1em; color: #a0a0a0;}
.contacts > .grid_1_2 { padding-left: 35px; }
.contacts > .grid_1_2 .icon { float: left; margin: 3px 0 0 -35px; width: 20px; fill: #888;}

/* Registration/Login Page */
.page_form_style body { background-color: #000000; }
.page_form { max-width: 1100px; padding-left: 7%; margin: 0 auto;}
.page_form__back { background-color: #1a1a1a; position: fixed; left: 0; top: 0; height: 100%; width: 4%; padding: 0; border-right: 1px solid #333; transition: background 0.2s;}
.page_form__back:after { display: none; }
.page_form__back > .icon { position: absolute; left: 50%; top: 30px; margin: 0 0 0 -15px; width: 30px; height: 20px; fill: #888; transition: fill 0.2s; }
.page_form__back:hover { background-color: #222; }
.page_form__back:hover > .icon { fill: #d1d1d1; }
.page_form__body { padding: 40px 10%; background: #0a0a0a; min-height: 100vh;}
.page_form__logo { margin-bottom: 30px; text-align: center;}
.page_form__logo .icon { width: 60px; height: 60px; fill: #d1d1d1;}

.page_form__inner > .title { font-weight: bold; font-size: 24px; margin: 20px 0; color: #e0e0e0; text-align: center;}
.page_form__form .form_submit { border-top: 1px solid #2d2d2d; padding: 20px 0 0 0; margin-top: 20px; }

@media only screen and (min-width: 701px) {
    .page_form__form { font-size: 1.1em; max-width: 600px; margin: 0 auto;}
    .page_form__form .form-group label { color: #888; font-size: 0.9em; text-transform: uppercase; letter-spacing: 1px;}
    .page_form__form .form-group input[type="text"], .page_form__form .form-group input[type="password"], .page_form__form .form-group input[type="email"], .page_form__form .form-group textarea,
    .page_form__form .form-group select, .page_form__form .c-captcha input {
        font-size: 1em; height: 50px; line-height: normal; background: #121212; border: 1px solid #333; color: #d1d1d1; border-radius: 4px; padding: 0 15px;
    }
    .page_form__form .form-group input:focus { border-color: #555; }
    .page_form__form .form-check-input { width: 20px; height: 20px; }
    .page_form__form .form-group textarea { height: 120px; padding: 15px;}
    .page_form__form .c-captcha img { width: 140px; height: 50px; border-radius: 4px;}
    .page_form__form .c-captcha input { width: calc(100% - 155px); float: right;}
    .page_form__form .form_submit { padding-top: 20px; margin-top: 20px; text-align: center;}
    .page_form__form ul.ui-form > li { margin-bottom: 20px; }
    .page_form__form .form_submit > .btn { font-size: 1em; font-weight: bold; height: 50px; border-radius: 4px; padding: 0 40px; background: #3394e6; color: #fff; border: none; cursor: pointer; transition: background 0.2s;}
    .page_form__form .form_submit > .btn:hover { background: #4fa8f7; }
}

.page_form__form .login_check { position: relative; margin-top: 20px;}
.page_form__form .login_check > input { padding-right: 130px; }
.page_form__form .login_check > .btn { width: 110px; position: absolute; right: 5px; top: 5px; height: 40px; background: #222; color: #d1d1d1; border: 1px solid #444; border-radius: 4px; cursor: pointer; transition: background 0.2s;}
.page_form__form .login_check > .btn:hover { background: #333; color: #fff;}
#result-registration { margin-top: 15px; font-size: .9em; color: #88c54d; text-align: center;}
.regtext { margin-bottom: 30px; color: #a0a0a0; text-align: center; line-height: 1.6;}

.page_form__foot { margin-top: 40px; padding-bottom: 20px; border-top: 1px solid #222; padding-top: 20px; text-align: center; color: #666;}
.page_form__foot > * { display: inline-block; vertical-align: middle;}
.page_form__foot .ca { display: inline-block; margin-left: 20px; float: none;}

/* PM Area */
@media only screen and (min-width: 601px) {
    #pm-menu:after { content: ""; clear: both; display: block; }
    #pm-menu { margin-bottom: 25px; border-bottom: 1px solid #2d2d2d; padding-bottom: 10px;}
    #pm-menu a { color: #a0a0a0; padding: 8px 15px; border-radius: 4px; margin-right: 5px; float: left; text-decoration: none !important; background: #1a1a1a; transition: background 0.2s, color 0.2s;}
    #pm-menu a:hover, #pm-menu a.active { background: #333; color: #fff; }
}

.pm-box { margin-bottom: 25px; }
.pm_status { padding: 20px; background-color: #121212; border-radius: 4px; border: 1px solid #2d2d2d; color: #a0a0a0;}
.pm_progress_bar { background-color: #222; margin-bottom: 10px; border-radius: 4px; overflow: hidden;}
.pm_progress_bar span { background: #3394e6; font-size: 0; height: 8px; display: block; }

/* User Info */
.userinfo_top { position: relative; padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid #2d2d2d;}
.userinfo_top .avatar { position: absolute; }
.user_tab { list-style: none; padding: 0; margin: 0; }
.user_tab > li { display: inline-block; margin-right: 15px; }
.user_tab > li > a { text-decoration: none !important; font-size: 0.9em; color: #888; transition: color 0.2s; text-transform: uppercase; font-weight: bold;}
.user_tab > li > a:hover { color: #d1d1d1; }
.user_tab > li.active > a { color: #fff; border-bottom: 2px solid #3394e6; padding-bottom: 5px;}

.usinf { list-style: none; padding: 0; margin: 0 0 25px 0; color: #a0a0a0;} 
.usinf li { padding: 12px 0; border-top: 1px dashed #333; }
.usinf li:first-child { border-top-width: 0; padding-top: 0;}

.ui-c1, .ui-c2 { display: inline-block; vertical-align: top; }
.ui-c1 { width: 30%; margin-right: 5%; color: #888;}
.ui-c2 { width: 60%; color: #d1d1d1;}

.userinfo { padding-left: 90px; min-height: 80px;}
.userinfo .avatar { position: absolute; left: 0; top: 0; }
.userinfo .avatar .cover { width: 70px; height: 70px; border: 2px solid #333;}
.userinfo > ul { list-style: none; padding: 0; margin: 0; }

.stats_head > ul { list-style: none; padding: 0; margin: 0; font-size: 1.1em; color: #d1d1d1;}
.stats_head > ul > li { margin-top: 15px; padding-left: 25px; position: relative;}
.stats_head > ul > li:before { content: ""; position: absolute; left: 0; top: 6px; width: 12px; height: 12px; border-radius: 50%; background-color: #3394e6; }
.stats_head > ul > li > b { display: block; font-size: .85em; color: #888; font-weight: normal; margin-top: 2px;}
.stats_head > ul > li.stats_d:before { background-color: #88c54d; }
.stats_head > ul > li.stats_w:before { background-color: #e45757; }

.stat_group { margin-bottom: 25px; background: #121212; padding: 20px; border-radius: 4px; border: 1px solid #2d2d2d;}
.stat_group > h5 { margin-top: 0; margin-bottom: 15px; color: #fff; border-bottom: 1px solid #333; padding-bottom: 10px;}
.stat_group > ul { list-style: none; padding: 0; margin: 0; color: #a0a0a0;}
.stat_group > ul > li { padding: 8px 0; border-top: 1px dashed #333; display: flex; justify-content: space-between;}
.stat_group > ul > li:first-child { border-top: none; padding-top: 0;}

.search_result_num { font-size: .9em; margin: 25px 0 15px; color: #888;}
.search table { width: 100%; border-spacing: 0; border-collapse: collapse; }
#searchtable td, #searchtable td div, #searchtable table { margin: 0 !important; padding: 0 !important; }
#searchtable td.search br { display: none; }
td.search .bbcodes { margin: 0 !important; }
td.search { vertical-align: top; padding: 10px !important; }
#searchtable { background: #1a1a1a; border: 1px solid #2d2d2d; border-radius: 4px; padding: 15px; display: block;}

/* Responsive Adjustments */
@media only screen and (max-width: 1279px) {
    .midside { padding-right: 290px; }
    .rightside { width: 240px; margin-left: -290px; }
    .showfull #content .rightside { width: 240px; margin-right: -290px; }
    #searchsuggestions { width: 240px; }
    .logotype .logo_title { font-size: 18px; }
    ol.topnews > li > a { padding-left: 55px; }
    ol.topnews > li > a:before { font-size: 1.1em; width: 28px; height: 28px; line-height: 26px; left: 12px; top: 18px; }
    #votes .btn-border { padding-left: 10px; padding-right: 10px; } 
}

@media only screen and (max-width: 1235px) {
    .midside { padding-left: 25px; }
    #top_menu { display: none; }
    #header_menu { padding-left: 65px; }
    body, .page { width: 100%; height: 100%; }
    #cat_menu, .page, .header { transition: all ease .3s; }
    #cat_menu {
        position: fixed; z-index: 1111; top: 0; left: 0; bottom: 0; margin: 0;
        overflow-y: auto; overflow-x: hidden; width: 240px; background-color: #121212; border-right: 1px solid #2d2d2d;
        margin-left: -240px; visibility: hidden; opacity: 0; -webkit-overflow-scrolling: touch;
    }
    #cat_menu .soc_links { padding-bottom: 20px; }
    .mobile-menu_open #cat_menu { margin-left: 0; visibility: visible; opacity: 1; }
    .mobile-menu_open .page { margin-left: 240px; overflow: hidden; }
    .mobile-menu_open body { overflow: hidden; }
    .mobile-menu_open .header { left: 240px; }
}

@media (min-width: 1236px) {
    .cat_menu__tm, #mobile_menu_btn { display: none; }
}

@media (min-width: 981px) { #search_btn { display: none; } }

@media (max-width: 980px) {
    .showfull #content .next-prev { text-align: center; }
    .showfull .comments, .showfull #content .next-prev a { float: none; }
    .midside { padding-right: 25px; }
    #header_menu { display: block; padding-right: 60px; }
    .logotype { float: left; }
    #login_pane { float: right; margin-top: 22px; }
    #search_btn { position: absolute; right: 0; top: 0; bottom: 0; width: 60px; height: 80px; padding: 0; border: 0 none; cursor: pointer; background-color: transparent; display: flex; align-items: center; justify-content: center;}
    #search_btn > span { display: block; width: 32px; height: 32px; border-radius: 50%; position: relative; }
    #search_btn > span > .icon { position: absolute; left: 50%; top: 50%; margin: -8px 0 0 -8px; width: 16px; height: 16px; fill: #d1d1d1; transition: all ease .3s; }
    .search_open #search_btn > span > .icon-search, #search_btn > span > .icon-cross { opacity: 0; visibility: hidden; transform: scale(0.3); }
    .search_open #search_btn > span > .icon-cross, #search_btn > span > .icon-search { opacity: 1; visibility: visible; transform: scale(1); }
    #q_search { display: block; position: fixed; z-index: 23; left: 15px; right: 60px; top: 0; margin: 0; width: auto; height: 80px; margin-top: -80px; }
    .q_search > input { background-color: #1a1a1a; border: 1px solid #333; height: 46px; margin-top: 17px;}
    .q_search > .btn { top: 22px;}
    .logotype, #mobile_menu_btn, #login_pane, #q_search { transition: all ease .3s; }
    .search_open .logotype, .search_open #mobile_menu_btn, .search_open #login_pane, #q_search { opacity: 0; visibility: hidden; }
    .search_open #q_search { margin-top: 0; opacity: 1; visibility: visible; }
    .q_search_adv { display: none; }

    .showfull .story { margin-top: 0; }
    .showfull .pagetools { position: relative; }
    .rightside, .tags_block, .showfull #content .rightside .banner_240, .midside .banner { display: none; }
    .showfull #content .rightside { float: none; width: auto; margin: 0; padding: 0; display: block; }
    .showfull .comments, .showfull #content .box { float: none; }

    .block { background-color: #1a1a1a; margin-bottom: 20px; border-radius: 4px; box-shadow: none; border: 1px solid #2d2d2d;}
    .block > .title { padding: 15px 20px; margin-bottom: 0; }
    
    .relnews { margin: 0; border-top: 1px solid #2d2d2d; }
    .relnews > li > a { border-bottom: 1px solid #2d2d2d; padding: 15px 20px; }
    .relnews > li > a .icon { margin: 3px 10px 0 0; }
    .relnews > li > a > b, .relnews > li > a > span { margin-left: 0; }

    .block_grey { padding: 20px; margin-bottom: 20px; }
    .block_grey > .title { font-size: 1.1em; } 
    .vote_list { margin: 15px 0; }
}

@media only screen and (max-width: 700px) {
    .page_form__form .login_check > .btn { margin: 5px; font-weight: normal; }
}

@media only screen and (max-width: 750px) {
    .informer_list { margin-right: 0; }
    .informer_list li { float: none; width: auto; padding: 0; margin-bottom: 20px; }
    .informer_list li:last-child { margin-bottom: 0; }
    .table_top_users, .pmlist { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
    table.userstop, table.pm { width: 800px; } /* Slightly narrower for mobile */
}

@media only screen and (max-device-width: 480px) {
    body { -webkit-text-size-adjust: 100%; }                
}

@media only screen and (max-width: 600px) {
    body, select, input, textarea, button { font-size: 14px; }
    .hblock, .mass_comments_action, #dofullsearch, .vote_more, .bb-pane { display: none; }
    .midside { padding: 0; }
    #content { padding: 15px 15px 0 15px; }
    .navigation { margin: 15px 0; }
    .box, .comment, .berrors { margin-bottom: 15px; }
    .box > .heading { padding: 15px; }
    .quote, blockquote { font-size: 1em; padding: 10px; background: #121212; border-left: 3px solid #333;}

    .mejs-container { max-width: 100%; }
    .story video { max-width: 100%; }
    .story iframe { max-width: 100%; aspect-ratio: 16 / 9; }

    .ui-dialog { width: 95% !important; left: 2.5% !important; background: #1a1a1a; border: 1px solid #333;} 
    .ui-dialog-buttonset > .ui-button { margin: 2px; }

    #header, .header { margin: 0; height: 60px; }
    .header { background-color: #1a1a1a; box-shadow: 0 2px 10px rgba(0,0,0,0.5); border-bottom: 1px solid #2d2d2d; }
    #header_menu { position: relative; height: 60px; border-radius: 0; box-shadow: none; padding: 0 60px; z-index: 1; background: transparent; backdrop-filter: none;}
    #header_menu:after { display: none; }
    
    .logotype { float: none; width: 100%; height: 60px; text-align: center; justify-content: center; } 
    .logo_title { display: none; }
    .logotype .icon-logo { width: 36px; height: 36px; }

    #mobile_menu_btn, #search_btn { width: 60px; height: 60px; padding: 0; border-width: 0; display: flex; align-items: center; justify-content: center;}
    .menu_toggle { margin: 0; }
    .mobile-menu_open .mt_1, .mobile-menu_open .mt_2, .mobile-menu_open .mt_3 { margin-top: 8px; }
    
    #cat_menu { position: fixed; z-index: 100; top: 60px; left: -100%; bottom: 0; width: 100%; background: #121212; transition: left 0.3s ease; margin: 0;}
    .mobile-menu_open #cat_menu { left: 0; }
    #cat_menu:after { display: none; }
    .cat_menu { padding: 0; margin-top: 0; }
    .cat_menu a { font-size: 1.1em; padding: 15px 25px; border-top: 1px solid #2d2d2d; color: #d1d1d1; }
    .cat_menu a:first-child { border-top-width: 0; }
    .cat_menu a:before, .cat_menu a:after { display: none;}
    #cat_menu .soc_links { display: flex; padding: 25px; justify-content: center; gap: 15px;}
    #cat_menu .soc_links a { width: 36px; height: 36px; line-height: 36px; background: #222;}

    .mobile-menu_open .header { left: 0; }
    .mobile-menu_open .page { margin-left: 0; }
    .mobile-menu_open body { overflow: hidden;}
    .mobile-menu_open #login_pane { opacity: 1; visibility: visible; }

    #login_pane { float: none; margin-top: 0; text-align: center; visibility: hidden; opacity: 0; transition: opacity ease .3s; }
    #login_pane .dropdown-form { position: fixed; top: 60px; left: 0; right: 0; bottom: 0; overflow-x: hidden; overflow-y: auto; margin: 0; padding: 20px; width: 100%; background: #1a1a1a; border: none; border-radius: 0;}
    .login_pane__foot, .login_form__foot { padding-bottom: 20px; }

    #search_btn { padding: 0; }
    #search_btn > span { border-width: 0; width: 24px; height: 24px; display: inline-block;}
    #search_btn > span > .icon { margin: -8px 0 0 -8px; }
    #q_search { left: 0; right: 60px; height: 60px; padding: 0 15px; background: #1a1a1a; margin-top: -60px;}
    .search_open #q_search { margin-top: 0; }
    .q_search { margin-top: 10px; }
    .q_search > input { height: 40px; background: #121212; border-color: #333;}
    .q_search > .btn { top: 12px; right: 5px;}

    .carousel { margin-bottom: 0; border-radius: 4px; padding-top: 60%;}
    .carousel-caption { position: absolute; left: 0; bottom: 0; width: 100%; margin: 0; padding: 15px;}
    .carousel-caption .title { font-size: 1.2em; font-weight: bold; margin-bottom: 5px;}
    .carousel-caption .text { font-size: 0.9em; display: none; /* Hide description on very small screens to save space */ }
    .carousel-control { position: absolute; z-index: 12; bottom: 10px; right: 10px; margin: 0; width: auto; flex-direction: row; gap: 5px;}
    .carousel-control_in { display: flex; background: rgba(0,0,0,0.5); border: none; border-radius: 4px;}
    .carousel-control .up, .carousel-control .down { position: static; padding: 8px 12px; margin: 0;}
    .carousel-indicators { display: none; }

    .block, .block_grey { margin-bottom: 15px; border-radius: 4px;}
    .block > .title, .block_grey, .relnews > li > a { padding: 15px; }

    .box_in { padding: 15px; }
    .story_icons { float: right; position: relative; padding: 0; margin: 0 0 10px 10px; width: auto;}
    .story_icons > li { display: inline-block; margin: 0 0 0 5px;}
    .story > .meta { padding: 10px 15px; flex-wrap: wrap; justify-content: center;}
    .meta > ul { text-align: center; width: 100%;}
    .meta > ul.left > li { margin: 0 8px 5px 8px; display: inline-block;}
    .meta > ul.right > li { margin: 5px 8px 0 8px; display: inline-block;}
    .story .title { font-size: 1.2em; line-height: 1.3;}
    .story .box_in > .text { font-size: 0.95em; }

    .story_date > * { display: none; }
    .story_date > time { display: inline; }
    .category { display: none; }

    .story_tools, .editdate { margin-top: 15px; padding-top: 15px;}
    .shortstory .story_tools > .rate { float: right; }
    .story_tools > .btn { padding: 0; height: 32px; width: 32px; display: flex; align-items: center; justify-content: center; background: #222; border-radius: 4px;}
    .story_tools > .btn:after, .story_tools > .btn:before { display: none; }
    .story_tools > .btn > b { display: block; overflow: hidden; text-indent: -9999px; background-color: #888; width: 4px; height: 4px; border-radius: 50%; margin: 0 2px; }
    .story_tools > .btn:hover > b { background-color: #fff;}

    .fixed_label { width: auto; height: auto; padding: 4px 8px; margin-top: 15px; background-color: #e85319; border-radius: 0 4px 4px 0; position: static; display: inline-block; font-size: 0.8em; font-weight: bold; color: #fff;}
    .fixed_label:after { display: none; }

    .pagetools { margin-bottom: 15px; border-radius: 4px; border-width: 1px; height: auto; min-height: 44px; padding-left: 44px; background: #1a1a1a;}
    .pagetools_back { width: 44px; height: 44px; }
    .pagetools_back .icon { margin: 12px auto 0 auto; width: 24px; height: 16px;}
    .sortbar, .breadcrumb_in { width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; padding: 12px 15px; box-sizing: border-box;}
    .sortbar_in, .speedbar { padding: 0; height: auto; line-height: 1.4;}
    .breadcrumb_in .over { display: block; overflow: visible; font-size: 0.9em;}
    .sortbar_in:after, .breadcrumb_in .over:after { content: ""; width: 15px; display: inline-block; }
    
    .page_next-prev { height: auto; float: none; background: none; border: none;}
    .page_prev { float: left; }
    .page_next { float: right; }
    .page_prev, .page_next { position: relative; z-index: 1; border-radius: 4px; background-color: #222; border: 1px solid #333;}
    .pages { text-align: center; margin: 10px 0;}
    .navigation .pages > * { border-radius: 4px; background: #222; border-color: #333;}
    .navigation .pages > span { background: #3394e6; border-color: #3394e6;}
    .navigation .pages > span.nav_ext { background: none; border: none; width: auto; min-width: 0; padding: 7px 2px;}

    .com_list div.comment { padding: 15px; padding-bottom: 50px; }
    .com_content > .title { font-size: 1.05em; }
    .comment .meta { position: absolute; bottom: 10px; left: 15px; right: 15px; background: transparent; padding: 0; border: none;}
    .com_info { margin: 0 0 15px 0; padding-left: 50px; }
    .com_user { display: block; font-size: 1.1em;}
    .comment .avatar { margin-left: -50px; margin-right: 0; }
    .comment .rate_like > a, .comment  .rate_like-dislike { border-color: #333; background: #121212; padding: 4px 8px; font-size: 0.9em;}
    .comment .meta .mass, .reply a span { display: none; }
    .comment .meta .left a { width: 26px; height: 26px; padding: 5px;}
    .comment .meta .left .reply a { width: auto; padding: 5px 10px;}

    #dle-comments-list > .comments-tree-list > li > .comments-tree-list { padding: 0 10px; border-top: 1px solid #2d2d2d;}
    .comments-tree-list li ol li .comment { padding: 15px 0; padding-bottom: 50px; }
    .comments-tree-list .comments-tree-list .comment .meta { left: 0; right: 0; }

    .contacts { font-size: 0.95em; }
    .contacts > .grid_1_2 { margin-top: 10px; padding-left: 25px; }
    .contacts > .grid_1_2 .icon { width: 14px; height: 16px; margin-left: -25px; margin-top: 2px;}

    .form_submit > .btn-big { width: 100%; margin-top: 5px; }
    .form_submit .c-captcha { float: none; margin-bottom: 15px; }
    .c-captcha img, .c-captcha > input { width: 120px; }
    .combo_field { margin-bottom: 15px; }

    .page_form { padding-left: 0; padding-top: 60px; margin: 0;}
    .page_form__body { padding: 20px 5%; }
    .page_form__logo { margin-bottom: 20px;}
    .page_form__logo .icon { margin-top: 0; width: 48px; height: 48px;}
    .page_form__back { left: 0; z-index: 999; width: 100%; height: 60px; padding: 0; background: #121212; border-bottom: 1px solid #2d2d2d; border-right: none;}
    .page_form__back > .icon { top: 50%; left: 15px; margin: -10px 0 0 0; }
    .page_form__inner > .title { font-size: 20px; margin: 15px 0;}

    .stats_head > ul { font-size: 0.95em; }

    #pm-menu { margin-bottom: 15px; border-bottom: none; padding-bottom: 0;}
    #pm-menu a { padding: 10px 0; display: block; border: 1px solid #333; margin-bottom: 5px; text-align: center; width: 100%; border-radius: 4px; float: none;}

    .userinfo_top { padding-bottom: 30px; margin-bottom: 20px; text-align: center;}
    .userinfo_top .avatar { position: static; display: inline-block; margin-bottom: 15px;}
    .user_tab { text-align: center;}
    .user_tab > li { display: inline-block; margin: 0 5px 10px 5px; }
    .user_tab > li > a { font-size: 11px; padding: 5px 10px; background: #222; border-radius: 4px; border: none;}
    .user_tab > li.active > a { background: #3394e6; color: #fff;}

    .ui-c1, .ui-c2 { width: 100%; margin: 0; display: block; }
    .ui-c1 { font-size: .9em; margin-bottom: 5px; color: #888;}
    
    .userinfo { padding-left: 0; text-align: center;}
    .userinfo .avatar { position: static; display: inline-block; margin: 0 0 15px 0; float: none;}
    
    .footer_menu { padding: 15px; }
    .foot_menu { margin: 0; }
    .foot_menu > li { float: none; width: auto; padding: 0; border-bottom: 1px solid #2d2d2d;}
    .foot_menu > li:last-child { border-bottom: none;}
    .foot_menu > li > b { cursor: pointer; margin: 0; padding: 15px 0; border: none; font-size: 1.05em;}
    .foot_menu > li > b i { display: block; float: right; width: 12px; height: 2px; position: relative; margin: 10px 0; background-color: #666; transition: background 0.2s;}
    .foot_menu > li > b.collapsed i, .foot_menu > li > b.collapsed i:after { background-color: #3394e6; }
    .foot_menu > li > b.collapsed i:after { content: ""; display: block; margin: -5px auto 0 auto; height: 12px; width: 2px; background-color: #3394e6;}
    .foot_menu > li .collapse { display: none; }
    .foot_menu > li .collapse.in { display: block; padding-bottom: 15px;}
    .foot_menu > li nav { padding: 0; }
    .foot_menu > li nav > a { padding: 8px 0; font-size: 0.95em;}

    .footer { padding: 20px 15px; text-align: center;}
    .footer .midside { display: block; padding: 0; }
    .footer .copyright { padding: 0 0 15px 0; border-bottom: 1px solid #222; font-size: 0.95em;}
    .footer .ca { display: block; float: none; margin: 0; padding: 15px 0 0 0; }
    .counter { float: none; display: inline-block; margin: 15px 0 0 0; }
}

/* DLE Specific Plugins and Overrides */
.dle-alert ul { padding-left: 0px; list-style: none; }
.dle-alert ul li { padding-top: 5px; color: #d1d1d1;}
.dle-alert ul li:first-child { padding-top: 0px; }
p { margin-block-start: 0; margin-block-end: .7em; }
p:last-child { margin-bottom: 0; }
.grecaptcha-badge { display: none !important; }

fieldset .soc_links { display: flex; justify-content: flex-start; gap: 10px;}
fieldset .soc_links > a { margin-right: 0; }

.dle-popup-mediaupload { font-size: 13px; }
#mediaupload-delete { background-color: #ef5350; border: none; color: #fff;}
.dle-popup-mediaupload.ui-dialog .ui-dialog-buttonpane { padding: 10px; background: #1a1a1a; border-top: 1px solid #333;}

.file-preview-card, .mediaupload-box { background-color: #1a1a1a; border: 1px solid #333; border-radius: 4px;}

.dle-popup-mediaupload .mediaupload-insert-params { background-color: #121212 !important; border-top: 1px solid #333 !important; }

.upload-options .checkbox-inline { padding-left: 0!important; color: #d1d1d1;}

.dle-popup-mediaupload textarea, .dle-popup-mediaupload input[type="text"] { height: auto; line-height: 1; padding: 8px; background: #121212; border: 1px solid #333; color: #fff;}
.dle-popup-mediaupload select { line-height: 1; background: #121212; border: 1px solid #333; color: #fff; padding: 5px;}
.less { box-shadow: rgba(0, 0, 0, 0.5) 0px 5px 15px; } /* Darker shadow */

figure.image { display: table; margin: 1rem auto; }
figure.image:first-child { margin-top: 0; }
figure.image:last-child { margin-bottom: 0; }
figure.align-left { float: left; margin-right: 1rem; margin-bottom: 1rem;}
figure.align-right { float: right; margin-left: 1rem; margin-bottom: 1rem;}
figure.image.align-center { display: table; margin-left: auto; margin-right: auto; }

figure.image figcaption { padding: 0.8rem; background-color: #1a1a1a; /* Dark bg for caption */ color: #a0a0a0; font-size: .85rem; caption-side: bottom; word-break: break-word; text-align: center; border: 1px solid #2d2d2d; border-top: none; border-radius: 0 0 4px 4px;}
figure.image img { border-radius: 4px 4px 0 0; display: block;}
figure.image.align-center figcaption { display: table-caption; }

#check-all-box { margin-bottom: .4rem; }
.searchtable .form-check-label { display: block; margin-bottom: .5rem; color: #d1d1d1;}

.checkbox, .dle-popup-mediaupload .checkbox { margin: .6rem 0 .2rem 0 !important; color: #d1d1d1;}
.form-check-label { cursor: pointer; color: #a0a0a0;}
.form-check-input {
    color: #3394e6; flex-shrink: 0; width: 1.12rem; height: 1.12rem; margin: -0.188rem 0.625rem 0 0;
    appearance: none; background-color: #121212; /* Dark bg */ background-image: none; background-repeat: no-repeat;
    background-position: center; background-size: contain; border: 1px solid #555; vertical-align: middle; transition: background-color 0.2s, border-color 0.2s;
}

.form-check-input:checked[type=checkbox] {
    background-color: #3394e6; border-color: #3394e6;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); /* White tick */
}

.form-check-input:checked[type=radio] {
    background-color: #121212; border-color: #3394e6;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2.5' fill='%233394e6'/%3e%3c/svg%3e"); /* Blue circle */
}

.form-check-input[type=checkbox] { border-radius: .25rem; }
.form-check-input[type=radio] { border-radius: 50%; }
.form-check-input:focus { border-color: #3394e6; box-shadow: 0 0 0 0.2rem rgba(51, 148, 230, 0.25); outline: none;}