/* ================================
   THEME TOKENS (LIGHT / DARK) + ALIASES
   ================================ */

/* Light */
:root[data-theme='light'] {
    /* Base surfaces & borders */
    --rd-bg: #fff;
    --rd-surface: #fff;
    --rd-surface-alt: #f6f6f6;
    --rd-surface-weak: #f7f7f8;
    --rd-border: #ddd;
    --rd-border-weak: #eee;
    --rd-border-strong: #c1d1d5;
    --rd-shadow-weak: rgba(97, 97, 97, 0.2);

    /* Text */
    --rd-text-primary: #000;
    --rd-text-secondary: #666;
    --rd-text-muted: #999;
    --rd-text-weak: #555;
    --rd-text-soft: #6b757c;

    /* Brand / accents */
    --rd-primary: #ff6a00;
    --rd-primary-strong: #d75e06;
    --rd-primary-weak: #e2eaf6;
    --rd-primary-weak-2: #bed4f4;
    --rd-primary-contrast: #fff;

    --rd-info: #6794d3;
    --rd-info-weak: #d6e9ff;

    --rd-danger: #ff3061;
    --rd-danger-strong: #ff484f;
    --rd-danger-weak: #fff6fa;
    --rd-danger-weak-border: #f8e6ee;

    --rd-success: #23db79;
    --rd-success-weak: #b9ffda;

    --rd-hot: #e52955;
    --rd-warning: #fec200;

    --rd-download: #e89f31;
    --rd-link: #ad68d8;

    /* Misc */
    --rd-focus-ring: #9ed4ff;
    --rd-focus-border: #558ab7;

    /* Inputs */
    --rd-input-bg: #fff;
    --rd-input-text: #000;

    /* Header / GNB / Footer */
    --rd-hd-bg: #212020;
    --rd-hd-border: #383838;
    --rd-hd-chip: #919191;
    --rd-hd-chip-active: #fff;
    --rd-search-bg: #2c2c2c;
    --rd-search-text: #fff;

    --rd-gnb-bg: #fff;
    --rd-gnb-border: #e0e2e5;
    --rd-gnb-menu-btn-bg: #4158d1;
    --rd-gnb-menu-btn-text: #fff;
    --rd-gnb-close-btn-bg: #fff;
    --rd-gnb-close-btn-text: #b6b9bb;
    --rd-gnb-all-border: #c5d6da;
    --rd-gnb-all-bg: #fff;
    --rd-gnb-all-title-border: #e7eeef;
    --rd-gnb-all-col-border: #e7eeef;

    --rd-ft-bg: #212020;
    --rd-ft-link: #fff;
    --rd-ft-company: #e3e3e3;
    --rd-ft-copy: #5b5b5b;
    --rd-ft-copy-border: #383838;

    /* Tooltip */
    --rd-tooltip-bg: #212121;
    --rd-tooltip-text: #fff;

    /* Upload / file chips */
    --rd-filechip-etc: #aaa;
    --rd-filechip-pdf: #e7191b;
    --rd-filechip-ppt: #f68100;
    --rd-filechip-jpg: #87cd6d;
    --rd-filechip-zip: #fec200;
    --rd-filechip-hwp: #006fbe;
    --rd-filechip-xls: #00753e;
    --rd-filechip-doc: #01528a;

    /* Others */
    --rd-newwin-border: #d6e9ff;
    --rd-newwin-text: #6794d3;
    --rd-newwin-desc-bg: #f2838f;
    --rd-newwin-desc-after: #da4453;
    --rd-newwin-total-bg: #f6f6f6;

    --rd-paging-bg: #eee;
    --rd-paging-text: #959595;
    --rd-paging-current-bg: var(--rd-primary);
    --rd-paging-current-text: #fff;

    --rd-popup-border: #e9e9e9;
    --rd-popup-bg: #fff;
    --rd-popup-footer-bg: #000;
    --rd-popup-footer-text: #fff;
    --rd-popup-footer-close-bg: #393939;

    --rd-sideview-bg: #333;
    --rd-sideview-text: #bbb;
    --rd-sideview-hover-bg: #000;
    --rd-sideview-hover-text: #fff;
    --rd-sideview-shadow: rgba(0, 0, 0, 0.2);
    --rd-sideview-tip: #333;

    --rd-sns-f: #3b5997;
    --rd-sns-t: #09aeee;
    --rd-sns-g: #ea4026;
    --rd-sns-k: #fbe300;

    --rd-top-btn-border: #333;
    --rd-top-btn-text: #333;
    --rd-top-btn-bg: rgba(255, 255, 255, 0.5);
    --rd-top-btn-hover: #3059c7;

    --rd-lock: #999;
    --rd-date: #777;
    --rd-mo-date: #999;

    --rd-badge-download: #e89f31;
    --rd-badge-link: #ad68d8;

    /* Shadows */
    --rd-card-shadow-1: 0px 1px 5px var(--rd-shadow-weak);
    --rd-file-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%);

    /* Button (for alias mapping) */
    --rd-button-border: #ddd;
    --rd-button-bg: #f8f8f8;
    --rd-button-text: #25282B;

    /* Header pieces (for alias mapping) */
    --rd-header-bg: #fff;
    --rd-topbar-bg: #f8f8f8;

    /* ===== Aliases for --color-* compatibility ===== */
    --color-bg: var(--rd-bg);
    --color-surface: var(--rd-surface);
    --color-border: var(--rd-border);
    --color-border-strong: var(--rd-border-strong);
    --color-text: var(--rd-text-primary);
    --color-text-muted: var(--rd-text-muted);
    --color-accent: var(--rd-primary);
    --color-accent-hover: var(--rd-primary-strong);
    --color-info: var(--rd-info);
    --color-disabled-bg: var(--rd-surface-weak);
}

/* Dark */
:root[data-theme='dark'] {
    --rd-primary: #e89f31;

    --rd-bg: #1E1E20;
    --rd-surface: #272829;
    --rd-surface-alt: #2A2A2D;
    --rd-surface-weak: #252526;
    --rd-border: #3C3C3E;
    --rd-border-weak: #2a2a2d;
    --rd-border-strong: #515254;
    --rd-shadow-weak: rgba(0, 0, 0, 0.35);

    --rd-text-primary: #fff;
    --rd-text-secondary: #ccc;
    --rd-text-muted: #999;
    --rd-text-weak: #bbb;
    --rd-text-soft: #bbb;

    --rd-primary: #3a8afd;
    --rd-primary-strong: #2375eb;
    --rd-primary-weak: #2e3a4f;
    --rd-primary-weak-2: #3d5070;
    --rd-primary-contrast: #fff;

    --rd-info: #9cbcff;
    --rd-info-weak: #29415b;

    --rd-danger: #e52955;
    --rd-danger-strong: #ff5c5c;
    --rd-danger-weak: #3a1f29;
    --rd-danger-weak-border: #40212c;

    --rd-success: #23db79;
    --rd-success-weak: #1b3b2a;

    --rd-hot: #e52955;
    --rd-warning: #fec200;

    --rd-download: #e89f31;
    --rd-link: #ad68d8;

    --rd-focus-ring: #3d78b6;
    --rd-focus-border: #4b76a4;

    --rd-input-bg: #2A2A2D;
    --rd-input-text: #fff;

    --rd-hd-bg: #212020;
    --rd-hd-border: #383838;
    --rd-hd-chip: #919191;
    --rd-hd-chip-active: #fff;
    --rd-search-bg: #2c2c2c;
    --rd-search-text: #fff;

    --rd-gnb-bg: #1f2021;
    --rd-gnb-border: #2b2c2d;
    --rd-gnb-menu-btn-bg: #4158d1;
    --rd-gnb-menu-btn-text: #fff;
    --rd-gnb-close-btn-bg: #2a2a2a;
    --rd-gnb-close-btn-text: #b6b9bb;
    --rd-gnb-all-border: #2f3336;
    --rd-gnb-all-bg: #262728;
    --rd-gnb-all-title-border: #2f3336;
    --rd-gnb-all-col-border: #2f3336;

    --rd-ft-bg: #212020;
    --rd-ft-link: #fff;
    --rd-ft-company: #e3e3e3;
    --rd-ft-copy: #8a8a8a;
    --rd-ft-copy-border: #383838;

    --rd-tooltip-bg: #333;
    --rd-tooltip-text: #fff;

    --rd-newwin-border: #2a3c52;
    --rd-newwin-text: #9cbcff;
    --rd-newwin-desc-bg: #6a2b33;
    --rd-newwin-desc-after: #7a2a33;
    --rd-newwin-total-bg: #1f2021;

    --rd-paging-bg: #2a2a2a;
    --rd-paging-text: #b0b0b0;
    --rd-paging-current-bg: var(--rd-primary);
    --rd-paging-current-text: #fff;

    --rd-popup-border: #2f2f2f;
    --rd-popup-bg: #262626;
    --rd-popup-footer-bg: #000;
    --rd-popup-footer-text: #fff;
    --rd-popup-footer-close-bg: #393939;

    --rd-sideview-bg: #333;
    --rd-sideview-text: #bbb;
    --rd-sideview-hover-bg: #000;
    --rd-sideview-hover-text: #fff;
    --rd-sideview-shadow: rgba(0, 0, 0, 0.4);
    --rd-sideview-tip: #333;

    --rd-sns-f: #3b5997;
    --rd-sns-t: #09aeee;
    --rd-sns-g: #ea4026;
    --rd-sns-k: #fbe300;

    --rd-top-btn-border: #555;
    --rd-top-btn-text: #ddd;
    --rd-top-btn-bg: rgba(255, 255, 255, 0.08);
    --rd-top-btn-hover: #3059c7;

    --rd-lock: #999;
    --rd-date: #999;
    --rd-mo-date: #999;

    --rd-badge-download: #e89f31;
    --rd-badge-link: #ad68d8;

    --rd-card-shadow-1: 0px 1px 5px var(--rd-shadow-weak);
    --rd-file-shadow: 1px 1px 5px 0px rgba(255, 255, 255, 0.06);

    /* Dark-only extras from your block */
    --rd-header-bg: #272829;
    --rd-topbar-bg: #313233;

    --rd-button-border: #515254;
    --rd-button-bg: #343638;
    --rd-button-text: #fff;

    /* ===== Aliases for --color-* compatibility ===== */
    --color-bg: var(--rd-bg);
    --color-surface: var(--rd-surface);
    --color-border: var(--rd-border);
    --color-border-strong: var(--rd-border-strong);
    --color-text: var(--rd-text-primary);
    --color-text-muted: var(--rd-text-muted);
    --color-accent: var(--rd-primary);
    --color-accent-hover: var(--rd-primary-strong);
    --color-info: var(--rd-info);
    --color-disabled-bg: var(--rd-surface-weak);
}

/* Global base */
body {
    background: var(--rd-bg);
}

a {
    color: var(--rd-text-primary);
}

/* ================================
   COMPONENT STYLES (TOKENIZED)
   ================================ */

/* Module Borders */
.rb_module_border_ .module_latest_wrap,
.rb_module_border_ .module_widget_wrap,
.rb_module_border_ .module_poll_wrap,
.rb_module_border_ .module_banner_wrap,
.rb_module_border_ .module_item_wrap {
    border: 0;
}

.rb_module_border_solid .module_latest_wrap,
.rb_module_border_solid .module_widget_wrap,
.rb_module_border_solid .module_poll_wrap,
.rb_module_border_solid .module_banner_wrap,
.rb_module_border_solid .module_item_wrap, .rb_bbs_wrap .bo_vc_w_wr {
    border: 1px solid var(--rd-border) !important;
}

.rb_bbs_wrap .bo_vc_w_info{
    border-bottom: 1px solid var(--rd-border) !important;
}

.rb_module_border_dashed .module_latest_wrap,
.rb_module_border_dashed .module_widget_wrap,
.rb_module_border_dashed .module_poll_wrap,
.rb_module_border_dashed .module_banner_wrap,
.rb_module_border_dashed .module_item_wrap {
    border: 1px dashed var(--rd-border) !important;
}

/* Topbar & Header */
.topbar {
    background: var(--rd-topbar-bg, var(--rd-hd-bg));
}

.co_header_ffffff #header {
    background-color: var(--rd-header-bg, var(--rd-surface)) !important;
    border-bottom: 1px solid var(--rd-border) !important;
}

/* Backgrounds */
main,
body,
.contents_wrap,
.bo_sch {
    background: var(--rd-bg);
}

.module_latest_wrap,
.module_widget_wrap,
.module_item_wrap {
    background: var(--rd-surface, var(--rd-card-bg));
}

/* Text */
a,
h1,
h2,
h3,
h4,
h5 {
    color: var(--rd-text-primary) !important;
}

.rb_bbs_wrap .btm_btns .fl_btns{
    color: var(--rd-text-secondary);
    border: 1px solid var(--rd-button-border, var(--rd-border));
    background-color: var(--rd-button-bg, var(--rd-surface));
}

.rb_bbs_wrap .btm_btns .fl_btns,
.gallery-item-info {
    color: var(--rd-text-secondary);
}

#rb-theme-fab{
    color: var(--rd-text-primary);
}

.rb_bbs_wrap #bo_cate{
    border-bottom: 1px solid var(--rd-border);
}

/* Buttons */
.btn_bo_sch,
.event_filter_buttons .filter_btn {
    border: 1px solid var(--rd-button-border, var(--rd-border));
    background-color: var(--rd-button-bg, var(--rd-surface));
    color: var(--rd-button-text, var(--rd-text-primary));
}

/* 게시판 카테고리 */
#bo_cate a {
    border: 1px solid var(--rd-info-weak);
    color: var(--rd-info);
}

#bo_cate a:focus,
#bo_cate a:hover,
#bo_cate a:active {
    background: var(--rd-primary);
    color: var(--rd-primary-contrast);
}

#bo_cate #bo_cate_on {
    background: var(--rd-primary);
    color: var(--rd-primary-contrast);
    border: 1px solid var(--rd-primary);
    box-shadow: inset 0 2px 5px rgba(33, 135, 202, .8);
}

/* 체크박스 (custom) */
.chk_box input[type="checkbox"]+label {
    color: var(--rd-text-secondary);
}

.chk_box input[type="checkbox"]+label:hover {
    color: var(--rd-primary);
}

.chk_box input[type="checkbox"]+label span {
    background: var(--rd-surface);
    border: 1px solid var(--rd-border);
}

.chk_box input[type="checkbox"]:checked+label {
    color: var(--rd-primary);
}

.chk_box input[type="checkbox"]:checked+label span {
    background: url(./img/chk.png) no-repeat 50% 50% var(--rd-primary);
    border-color: var(--rd-primary);
}

/* 갤러리 */
#bo_gall .gall_now .gall_text_href a {
    color: var(--rd-danger);
}

#bo_gall .gall_img {
    border-bottom: 1px solid var(--rd-border-weak);
}

#bo_gall .gall_img span {
    background: var(--rd-surface-alt);
    color: var(--rd-text-muted);
}

#bo_gall .bo_tit {
    color: var(--rd-text-primary);
}

#bo_gall .bo_tit .cnt_cmt {
    background: var(--rd-primary-weak);
    color: var(--rd-primary);
}

#bo_gall .bo_cnt {
    color: var(--rd-text-secondary);
}

#bo_gall .bo_tit .fa-download {
    background: var(--rd-download);
    color: #fff;
}

#bo_gall .bo_tit .fa-link {
    background: var(--rd-link);
    color: #fff;
}

#bo_gall .bo_tit .new_icon {
    color: var(--rd-success);
    background: var(--rd-success-weak);
}

#bo_gall .bo_tit .hot_icon {
    color: #fff;
    background: var(--rd-hot);
}

#bo_gall .bo_tit .fa-lock {
    color: var(--rd-lock);
}

#bo_gall .gall_info .gall_date,
#bo_gall .gall_info .gall_view {
    color: var(--rd-date);
}

#bo_gall .gall_option strong {
    background: var(--rd-surface);
}

/* 게시판 공통 */
#bo_list_total {
    color: var(--rd-text-weak);
}

.btn_bo_user li {
    background: var(--rd-surface);
}

.btn_bo_adm input {
    background: var(--rd-border-strong);
    color: var(--rd-text-soft);
}

.bo_notice td {
    background: var(--rd-danger-weak);
    border-bottom: 1px solid var(--rd-danger-weak-border);
}

.bo_notice .notice_icon {
    color: var(--rd-danger);
}

.more_opt {
    background: var(--rd-surface);
    border: 1px solid var(--rd-border);
}

.more_opt:before {
    border-color: transparent transparent var(--rd-border) transparent;
}

.more_opt:after {
    border-color: transparent transparent var(--rd-surface) transparent;
}

.more_opt li {
    border-bottom: 1px solid var(--rd-border-weak);
    color: var(--rd-text-soft);
}

.more_opt li button,
.more_opt li a {
    background: var(--rd-surface);
    color: var(--rd-text-soft);
}

.more_opt li:hover a,
.more_opt li:hover button {
    color: var(--rd-text-primary);
}

.td_num strong {
    color: var(--rd-text-primary);
}

.bo_cate_link {
    background: var(--rd-primary-weak);
    color: var(--rd-primary);
}

.bo_current {
    color: #e8180c;
}

#bo_list .cnt_cmt {
    color: #ed6478;
}

/* 게시판 보기 */
#bo_v_table {
    background: var(--rd-danger);
    color: #fff;
}

#bo_v_title .bo_v_cate {
    background: var(--rd-primary-weak);
    color: var(--rd-primary);
}

#bo_v_info {
    border-bottom: 1px solid var(--rd-border-weak);
    color: var(--rd-text-soft);
}

#bo_v_info .sv_member {
    color: var(--rd-text-primary);
}

#bo_v_info .if_date {
    color: var(--rd-text-muted);
}

#bo_v_file li {
    border: 1px solid #dfdfdf;
    box-shadow: var(--rd-file-shadow);
}

#bo_v_file i {
    color: #b2b2b2;
}

#bo_v_file a {
    color: var(--rd-text-primary);
}

#bo_v_file a:hover {
    color: var(--rd-primary);
}

#bo_v_file .bo_v_file_cnt {
    color: #b2b2b2;
}

#bo_v_file li:hover {
    border-color: var(--rd-primary-weak-2);
    color: var(--rd-primary-weak-2);
}

#bo_v_file li:hover i {
    color: var(--rd-primary);
}

#bo_v_file li:hover .bo_v_file_cnt {
    color: #99c2fc;
}

#bo_v_act a {
    color: #4a5158;
}

#bo_v_act a:hover {
    color: var(--rd-danger-strong);
    border-color: var(--rd-danger-strong);
}

#bo_v_act_good,
#bo_v_act_nogood {
    background: var(--rd-danger);
    color: #fff;
}

/* SNS 버튼 */
#bo_v_sns li .sns_f {
    background: var(--rd-sns-f);
}

#bo_v_sns li .sns_t {
    background: var(--rd-sns-t);
}

#bo_v_sns li .sns_g {
    background: var(--rd-sns-g);
}

#bo_v_sns li .sns_k {
    background: var(--rd-sns-k);
}

#bo_v_share .btn {
    color: #555;
}

#bo_v_share .btn i {
    color: #4b5259;
}

/* 댓글 */
.cmt_btn {
    border-bottom: 1px solid var(--rd-border-weak);
    background: var(--rd-surface);
}

.cmt_btn span.total {
    color: var(--rd-primary);
}

.cmt_btn b {
    color: var(--rd-text-primary);
}

.cmt_btn span.total:after {
    background: var(--rd-primary);
}

.bo_vc_hdinfo {
    color: var(--rd-text-muted);
}

#bo_vc p a.s_cmt {
    color: #ed6479;
}

#bo_vc_empty {
    color: var(--rd-text-muted);
}

.bo_vc_act {
    background: var(--rd-surface);
    border: 1px solid var(--rd-border);
}

.bo_vc_act:before {
    border-color: transparent transparent var(--rd-border) transparent;
}

.bo_vc_act:after {
    border-color: transparent transparent var(--rd-surface) transparent;
}

.bo_vc_act li a:hover {
    color: var(--rd-primary);
}

.bo_vc_w textarea {
    border: 1px solid #ccc;
    background: var(--rd-input-bg);
    color: var(--rd-input-text);
}

.bo_vc_w .btn_confirm label {
    color: var(--rd-text-primary);
}

/* 파일 업로드 */
.au_btn_search_file {
    background-color: #279e6b;
    color: #fff;
}

.au_progress {
    background-color: rgba(0, 0, 0, 0.05);
}

.au_bars {
    color: rgba(0, 0, 0, 1);
    background-color: rgba(0, 0, 0, 0.1);
}

.au_btn_del {
    background-color: #f00;
    color: #fff;
}

.au_btn_del2 {
    background-color: #279e6b;
    color: #fff;
}

.au_btn_search_file {
    border: 2px dashed #f0f0f0;
    background-color: var(--rd-surface);
    color: #999;
}

.w_etc {
    background-color: var(--rd-filechip-etc);
    color: #fff;
}

.w_pdf {
    background-color: var(--rd-filechip-pdf);
    color: #fff;
}

.w_ppt,
.w_pptx {
    background-color: var(--rd-filechip-ppt);
    color: #fff;
}

.w_jpg {
    background-color: var(--rd-filechip-jpg);
    color: #fff;
}

.w_zip {
    background-color: var(--rd-filechip-zip);
    color: #fff;
}

.w_hwp {
    background-color: var(--rd-filechip-hwp);
    color: #fff;
}

.w_xlsx,
.w_xls {
    background-color: var(--rd-filechip-xls);
    color: #fff;
}

.w_doc,
.w_docx {
    background-color: var(--rd-filechip-doc);
    color: #fff;
}

/* 툴팁 */
.rb_bbs_wrap .tooltips {
    color: var(--rd-tooltip-text);
    background-color: var(--rd-tooltip-bg);
}

.rb_bbs_wrap .tooltips:after {
    border-left: 4px solid var(--rd-tooltip-bg);
    border-bottom: 4px solid var(--rd-tooltip-bg);
}

/* 반응형 */
.mo_date_wrap {
    color: var(--rd-mo-date);
}

/* 폼 공통 체크박스/라디오 */
input[type="radio"]+label:before,
input[type="checkbox"]+label:before {
    border: 1px solid var(--rd-border);
    background-color: var(--rd-input-bg);
}

input[type="radio"]+label:after {
    border-color: 1px solid (--rd-border);
}

input[type="checkbox"]+label:after {
    border-color: 1px solid (--rd-border);
}

input[type="checkbox"]:checked+label:before {
    border-color: 1px solid (--rd-border);
    background: var(--rd-input-bg);
}

input[type="radio"]:checked+label:before {
    border-color: 1px solid (--rd-border);
    background: var(--rd-input-bg);
}

input[type="checkbox"]:checked[disabled]+label:before {
    border: 1px solid var(--rd-border);
    background: var(--rd-input-bg);
}

/* 인풋류 */
input[type=text],
input[type=tel],
input[type=password],
input[type=date],
input[type=time],
input[type=file],
input[type=email],
input[type=number],
textarea,
.rb_bbs_wrap .wr_content textarea,
.input,
.input_tiny,
.select {
    border: 1px solid var(--rd-border);
    background: var(--rd-input-bg);
    color: var(--rd-input-text);
}

/* select */
.select {
    background: url(../rb.img/icon/arr_down.svg) no-repeat right 20px center;
    background-color: transparent;
    color: var(--rd-text-primary);
}

.select:hover,
.select:focus,
.input:focus,
.input_tiny:focus,
textarea:focus {
    border: 1px solid var(--rd-primary) !important;
}

/* Focus ring */
input[type=text]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
    -webkit-box-shadow: 0 0 5px var(--rd-focus-ring);
    -moz-box-shadow: 0 0 5px var(--rd-focus-ring);
    box-shadow: 0 0 5px var(--rd-focus-ring);
    border: 1px solid var(--rd-focus-border) !important;
}

/* 팝업 */
.hd_pops {
    border: 1px solid var(--rd-popup-border);
    background: var(--rd-popup-bg);
}

.hd_pops_footer {
    background: var(--rd-popup-footer-bg);
    color: var(--rd-popup-footer-text);
}

.hd_pops_footer .hd_pops_reject {
    background: var(--rd-popup-footer-bg);
}

.hd_pops_footer .hd_pops_close {
    background: var(--rd-popup-footer-close-bg);
    color: #fff;
}

/* 상단 */
#hd {
    background: var(--rd-hd-bg);
}

#tnb {
    border-bottom: 1px solid var(--rd-hd-border);
}

#hd_sch #sch_stx {
    background: var(--rd-search-bg);
    color: var(--rd-search-text);
}

#hd_sch #sch_submit {
    background: var(--rd-search-bg);
    color: var(--rd-search-text);
}

#hd_define li {
    border-right: 1px solid #4a4a4a;
}

#hd_define li a {
    color: var(--rd-hd-chip);
}

#hd_define li.active a {
    color: var(--rd-hd-chip-active);
}

#hd_qnb li {
    border-right: 1px solid #4a4a4a;
}

#hd_qnb li a {
    color: var(--rd-hd-chip);
}

#hd_qnb .visit .visit-num {
    background: #da22f5;
    color: #fff;
}

.hd_login li {
    border-left: 1px solid #616161;
}

.hd_login a {
    color: #fff;
}

/* GNB */
#gnb {
    background: var(--rd-gnb-bg);
}

#gnb #gnb_1dul {
    border-bottom: 1px solid var(--rd-gnb-border);
}

#gnb .gnb_1dli:hover>a {
    color: var(--rd-primary);
}

.gnb_1da {
    color: #080808;
}

:root[data-theme='dark'] .gnb_1da {
    color: #e5e5e5;
}

.gnb_2dul .gnb_2dul_box {
    border: 1px solid var(--rd-gnb-border);
    box-shadow: 0px 1px 5px var(--rd-shadow-weak);
}

.gnb_2da {
    background: var(--rd-surface);
    color: #080808;
}

:root[data-theme='dark'] .gnb_2da {
    color: #e5e5e5;
}

a.gnb_2da:hover {
    color: var(--rd-primary);
    background: var(--rd-surface-weak);
}

.gnb_wrap .gnb_empty {
    color: #080808;
}

.gnb_wrap .gnb_empty a {
    color: var(--rd-primary);
}

.gnb_wrap .gnb_al_ul .gnb_empty,
.gnb_wrap .gnb_al_ul .gnb_empty a {
    color: #555;
}

#gnb .gnb_menu_btn {
    background: var(--rd-gnb-menu-btn-bg);
    color: var(--rd-gnb-menu-btn-text);
}

#gnb .gnb_close_btn {
    background: var(--rd-gnb-close-btn-bg);
    color: var(--rd-gnb-close-btn-text);
}

#gnb_all {
    border: 1px solid var(--rd-gnb-all-border);
    background: var(--rd-gnb-all-bg);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

#gnb_all h2 {
    border-bottom: 1px solid var(--rd-gnb-all-title-border);
}

#gnb_all .gnb_al_li {
    border-left: 1px solid var(--rd-gnb-all-col-border);
}

#gnb_all .gnb_al_a {
    color: var(--rd-primary);
}

#gnb_all .gnb_al_li li a {
    color: #555;
}

#gnb_all_bg {
    background: rgba(0, 0, 0, 0.1);
}

/* 하단 */
#ft {
    background: var(--rd-ft-bg);
}

#ft_link a {
    color: var(--rd-ft-link);
}

#ft_company {
    color: var(--rd-ft-company);
}

#ft_copy {
    color: var(--rd-ft-copy);
    border-top: 1px solid var(--rd-ft-copy-border);
}

#top_btn {
    border: 2px solid var(--rd-top-btn-border);
    color: var(--rd-top-btn-text);
    background: var(--rd-top-btn-bg);
}

#top_btn:hover {
    border-color: var(--rd-top-btn-hover);
    background: var(--rd-top-btn-hover);
    color: #fff;
}

/* copymove */
.copymove_current {
    background: var(--rd-danger);
    color: #fff;
}

.copymove_currentbg {
    background: #f4f4f4;
}

:root[data-theme='dark'] .copymove_currentbg {
    background: #2b2b2b;
}

/* skip */
#skip_to_container a:focus,
#skip_to_container a:active {
    background: #21272e;
    color: #fff;
}

/* captcha */
#captcha #captcha_img {
    border: 1px solid #898989;
}

#captcha #captcha_key {
    border: 1px solid #ccc;
    background: var(--rd-surface);
    color: var(--rd-text-primary);
}

#captcha.m_captcha #captcha_img {
    border: 1px solid var(--rd-border-weak);
}

#captcha.m_captcha #captcha_key {
    border: 1px solid #b8c9c2;
    background: #f7f7f7;
}

:root[data-theme='dark'] #captcha.m_captcha #captcha_key {
    background: #2a2a2a;
}

/* 버튼 */
a.btn01,
button.btn01 {
    border: 1px solid #ccc;
    background: #fafafa;
    color: #000;
}

:root[data-theme='dark'] a.btn01,
:root[data-theme='dark'] button.btn01 {
    border: 1px solid var(--rd-border);
    background: var(--rd-surface);
    color: var(--rd-text-primary);
}

a.btn02,
button.btn02 {
    border: 1px solid #3b3c3f;
    background: #4b545e;
    color: #fff;
}

.btn_submit {
    background: var(--rd-primary);
    color: #fff;
}

.btn_submit:hover {
    background: var(--rd-primary-strong);
}

.btn_close {
    border: 1px solid #dcdcdc;
    background: var(--rd-surface);
}

a.btn_cancel,
button.btn_cancel {
    background: #969696;
    color: #fff;
}

.btn_cancel:hover {
    background: #aaa;
}

a.btn_frmline,
button.btn_frmline {
    background: #434a54;
    color: #fff;
}

a.btn_b01,
.btn_b01 {
    color: #bababa;
}

.btn_b01:hover {
    color: #000;
}

a.btn_b02,
.btn_b02 {
    background: #253dbe;
    color: #fff;
}

a.btn_b02:hover {
    background: #0025eb;
}

a.btn_b03,
.btn_b03 {
    background: var(--rd-surface);
    border: 1px solid #b9bdd3;
    color: #646982;
}

a.btn_b03:hover {
    background: #ebedf6;
}

a.btn_b04,
.btn_b04 {
    background: var(--rd-surface);
    border: 1px solid #ccc;
    color: #707070;
}

a.btn_b04:hover {
    background: #f9f9f9;
    color: #333;
}

a.btn_admin,
.btn_admin {
    color: #d13f4a;
}

a.btn_admin:hover {
    color: #ff3746;
}

/* 테이블 */
.tbl_wrap table {
    background: var(--rd-surface);
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
}

:root[data-theme='dark'] .tbl_wrap table {
    border-top: 1px solid var(--rd-border);
    border-bottom: 1px solid var(--rd-border);
}

.tbl_head01 thead th {
    border-bottom: 1px solid #ececec;
}

.tbl_head01 tfoot th,
.tbl_head01 tfoot td {
    border-top: 1px solid var(--rd-border-strong);
    border-bottom: 1px solid var(--rd-border-strong);
    background: #d7e0e2;
}

:root[data-theme='dark'] .tbl_head01 tfoot th,
:root[data-theme='dark'] .tbl_head01 tfoot td {
    background: #2a3133;
}

.tbl_head01 tbody th {
    border-bottom: 1px solid #e8e8e8;
}

.tbl_head01 td {
    color: var(--rd-text-soft);
    border-top: 1px solid #ecf0f1;
    border-bottom: 1px solid #ecf0f1;
}

:root[data-theme='dark'] .tbl_head01 td {
    border-top: 1px solid var(--rd-border);
    border-bottom: 1px solid var(--rd-border);
}

.tbl_head01 tbody tr:hover td {
    background: #fafafa;
}

:root[data-theme='dark'] .tbl_head01 tbody tr:hover td {
    background: #242527;
}

.tbl_head02 thead th {
    border-top: 1px solid #d1dee2;
    border-bottom: 1px solid #d1dee2;
    background: #e5ecef;
    color: #383838;
}

:root[data-theme='dark'] .tbl_head02 thead th {
    background: #283036;
    color: #ddd;
    border-color: var(--rd-border);
}

.tbl_head02 tfoot th,
.tbl_head02 tfoot td {
    border-top: 1px solid var(--rd-border-strong);
    border-bottom: 1px solid var(--rd-border-strong);
    background: #d7e0e2;
}

:root[data-theme='dark'] .tbl_head02 tfoot th,
:root[data-theme='dark'] .tbl_head02 tfoot td {
    background: #2a3133;
}

.tbl_head02 tbody th {
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    background: var(--rd-surface);
}

.tbl_head02 td {
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    background: var(--rd-surface);
}

:root[data-theme='dark'] .tbl_head02 td {
    border-color: var(--rd-border);
}

/* list */
.list_01 ul {
    border-top: 1px solid #ececec;
}

.list_01 li {
    border-bottom: 1px solid #ececec;
    background: var(--rd-surface);
}

.list_01 li:nth-child(odd) {
    background: var(--rd-surface-alt);
}

.list_01 li:hover {
    background: #f9f9f9;
}

:root[data-theme='dark'] .list_01 li:hover {
    background: #242527;
}

.list_01 li.empty_li {
    color: var(--rd-text-soft);
}

/* required */
.required {
    background-image: url('../img/require.png');
}

/* text colors */
.txt_active {
    color: #5d910b;
}

.txt_done {
    color: #e8180c;
}

.txt_expired {
    color: #ccc;
}

.txt_rdy {
    color: #8abc2a;
}

/* new_win */
.new_win #win_title {
    background: var(--rd-surface);
    color: var(--rd-text-primary);
}

.new_win .win_ul li {
    background: var(--rd-surface);
    border: 1px solid var(--rd-newwin-border);
}

.new_win .win_ul li a {
    color: var(--rd-newwin-text);
}

.new_win .win_ul .selected {
    background: var(--rd-primary);
    border-color: var(--rd-primary);
}

.new_win .win_ul .selected a {
    color: #fff;
}

.new_win .win_desc {
    background: var(--rd-newwin-desc-bg);
    color: #fff;
}

.new_win .win_desc:after {
    background: var(--rd-newwin-desc-after);
}

.new_win .frm_info {
    color: #919191;
}

.new_win .win_total {
    color: var(--rd-primary);
    background: var(--rd-newwin-total-bg);
}

/* 검색결과 */
.sch_word {
    color: #fff;
    background: #ff005a;
}

/* validation */
#validation_check p {
    border: 1px solid var(--rd-border-weak);
    background: var(--rd-surface);
}

/* sideview */
.sv_wrap .sv {
    background: var(--rd-sideview-bg);
    box-shadow: 2px 2px 3px var(--rd-sideview-shadow);
}

.sv_wrap .sv:before {
    border-color: transparent transparent var(--rd-sideview-tip) transparent;
}

.sv_wrap .sv a {
    color: var(--rd-sideview-text);
}

.sv_wrap .sv a:hover {
    background: var(--rd-sideview-hover-bg);
    color: var(--rd-sideview-hover-text);
}

.sv_member {
    color: #333;
}

:root[data-theme='dark'] .sv_member {
    color: #ddd;
}

/* 페이징 */
.pg_page,
.pg_current {
    background: var(--rd-paging-bg);
    border: 1px solid var(--rd-paging-bg);
}

.pg_page {
    color: var(--rd-paging-text);
}

.pg_page:hover {
    background-color: #fafafa;
}

:root[data-theme='dark'] .pg_page:hover {
    background-color: #2c2c2c;
}

.pg_start,
.pg_prev,
.pg_end,
.pg_next {
    background: var(--rd-paging-bg);
    border: 1px solid var(--rd-paging-bg);
}

.pg_start:hover,
.pg_prev:hover,
.pg_end:hover,
.pg_next:hover {
    background-color: #fafafa;
}

:root[data-theme='dark'] .pg_start:hover,
:root[data-theme='dark'] .pg_prev:hover,
:root[data-theme='dark'] .pg_end:hover,
:root[data-theme='dark'] .pg_next:hover {
    background-color: #2c2c2c;
}

.pg_current {
    background: var(--rd-paging-current-bg);
    border: 1px solid var(--rd-paging-current-bg);
    color: var(--rd-paging-current-text);
}

/* device change */
#device_change {
    border: 1px solid var(--rd-border-weak);
    background: var(--rd-surface);
    color: var(--rd-text-primary);
}



/* 신규 작업 */
:root[data-theme='light'] .rb-board-table td {
    border-bottom: 1px solid #eee;
    color: #000;
}

:root[data-theme='light'] .rb-board-table th {
    border-bottom: 0px !important;
    color: #222;
    background-color: #f9f9f9;
}

:root[data-theme='light'] .point_list_point{
    color: #000;
}

:root[data-theme='light'] .rb_bbs_wrap .guest_inp_wrap{
    background-color: #f9f9f9;
}

:root[data-theme='light'] .cmt_btn{
    background: #fff;
}

:root[data-theme='dark'] .rb-board-table td {
    border-bottom: 1px solid #272829;
    color: #fff;
}

:root[data-theme='dark'] .rb-board-table th {
    border-bottom: 0px !important;
    color: #fff;
    background-color: #272829;
}

:root[data-theme='dark'] .point_list_point{
    color: #fff;
}

:root[data-theme='dark'] .rb_bbs_wrap .guest_inp_wrap{
    background-color: #2a2a2d;
}

:root[data-theme='dark'] .cmt_btn{
    background: #1e1e20;
}

:root[data-theme='dark'] footer .footer_gnb_ul2{
    background-color: var(--rd-bg);
}

:root[data-theme='dark'] nav#cbp-hrmenu-btm{
    background-color: #fff;
}

:root[data-theme='dark'] .user_prof_bg{
    background-color: #fff;
}

:root[data-theme='dark'] .cbp-hrmenu-btm > ul > li{
    border-bottom: 1px solid #eee;
}

:root[data-theme='dark'] footer .footer_gnb_ul2{
    background-color: var(--rd-bg);
}

:root[data-theme='dark'] nav#cbp-hrmenu-btm{
    background-color: #222;
}

:root[data-theme='dark'] .user_prof_bg{
    background-color: #222;
}

:root[data-theme='dark'] .cbp-hrmenu-btm > ul > li{
    border-bottom: 1px solid #555;
}

:root[data-theme='light'] input[type="checkbox"] + label {
    color: var(--rd-text-primary)
}

:root[data-theme='dark'] input[type="checkbox"] + label {
    color: #fff;
}

.bo_sch h3{
    border-bottom: 1px solid var(--rd-border);
}

#search_box_wrap{
    background: var(--rd-bg);
}

#search_box_wrap ul input.w100{
    border-bottom: 1px solid var(--rd-border-strong) !important;
    background-color: var(--rd-gnb-bg);
}

#search_box_wrap .ser_ul_pd .ser_label{
    background-color: var(--rd-hd-bg);
}

li.font-B, li.font-B.mt-5{
    color: var(--rd-text-primary);
}