@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap');

/* 초기화 */
html {overflow-y:scroll}
body {margin:0;padding:0;font-size:0.75em;font-family:'Noto Sans KR','Malgun Gothic',dotum,sans-serif;background:#fff;color:#333}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Noto Sans KR','Malgun Gothic',dotum,sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
ul, dl,dt,dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family:'Noto Sans KR','Malgun Gothic',dotum,sans-serif;font-size:1em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}
textarea, select {font-family:'Noto Sans KR','Malgun Gothic',dotum,sans-serif;font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#333;text-decoration:none}
*, :after, :before {-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
input[type=text],input[type=password], textarea {
    -webkit-transition:all 0.30s ease-in-out;-moz-transition:all 0.30s ease-in-out;
    -ms-transition:all 0.30s ease-in-out;-o-transition:all 0.30s ease-in-out;outline:none;
}
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
    box-shadow:0 0 5px #6C9BF2;border:1px solid #2563EB !important;
}
.placeholdersjs {color:#aaa !important}

/* ===== 공통 inner ===== */
.ds_inner {width:1200px;margin:0 auto}

/* ===== 레이아웃 크기 ===== */
#hd, #ft {min-width:1200px}
#wrapper {min-width:1200px}
#hd_pop, #hd_wrapper, #tnb .inner,
#gnb .gnb_wrap, #container_wr, #ft_wr {width:1200px}

.is-hidden { display: none !important; }
.is-visible { display: block !important; }
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; }}
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; }}

/* 사운드 온리 */
.sound_only {position:absolute;display:inline-block;overflow:hidden;border:0;width:1px;height:1px;clip:rect(0,0,0,0)}
#skip_to_container {position:relative;z-index:5000}
#skip_to_container a {z-index:5000;position:absolute;top:-100px;left:0;color:#333;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus,#skip_to_container a:active {top:0;height:40px;width:100%;font-size:1em;line-height:40px;text-align:center;color:#fff;background-color:#333}

/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}

/* 로그인 메시지 */
#hd_login_msg {position:fixed;top:0;right:0;padding:8px 15px;background:rgba(37,99,235,0.9);color:#fff;font-size:1.1em;z-index:1000;border-radius:0 0 0 8px}
#hd_login_msg a {color:#fbbf24;margin-left:10px}


/* ================================================================
   상단 레이아웃
   ================================================================ */
#hd {background:#1a1f36}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#tnb {border-bottom:1px solid rgba(255,255,255,0.08);margin:0 auto}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb .inner {margin:0 auto}

#hd_wrapper {position:relative;margin:0 auto;height:110px;zoom:1;
    display:flex;align-items:center}
#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""}

/* 로고 */
#logo {flex-shrink:0}
#logo a {display:flex;align-items:center;text-decoration:none}
.logo_text {display:flex;flex-direction:column}
.logo_text strong {font-size:2.6em;font-weight:900;color:#fff;letter-spacing:3px;line-height:1.2}
.logo_text em {font-style:normal;font-size:0.95em;color:rgba(255,255,255,0.45);letter-spacing:-0.3px;margin-top:3px}

/* 검색 - 로고 오른쪽, flex-grow로 가운데 배치 */
.hd_sch_wr {flex:1;display:flex;align-items:center;justify-content:center;padding:0 40px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {display:flex;border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:340px;height:45px;padding-left:18px;border-radius:30px 0 0 30px;
    background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-right:0;font-size:1.1em;color:#fff}
#hd_sch #sch_stx::placeholder {color:rgba(255,255,255,0.35)}
#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2563EB;color:#fff;
    border-radius:0 30px 30px 0;cursor:pointer;font-size:16px;transition:background 0.3s}
#hd_sch #sch_submit:hover {background:#1d4ed8}

/* 탑바 */
#hd_define {float:left}
#hd_define:after {display:block;visibility:hidden;clear:both;content:""}
#hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid rgba(255,255,255,0.12);
    position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_define li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_define li a {display:inline-block;color:rgba(255,255,255,0.5)}
#hd_define li.active a {color:#fff}

#hd_qnb {float:right;text-align:right}
#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid rgba(255,255,255,0.12);
    position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_qnb li a {display:inline-block;color:rgba(255,255,255,0.5)}
#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;
    border-radius:10px;background:#2563EB;color:#fff;font-size:10px}

/* 로그인 링크 */
.hd_login {flex-shrink:0;display:flex;align-items:center}
.hd_login li {float:left;margin:0 5px;border-left:1px solid rgba(255,255,255,0.2);padding-left:10px;line-height:13px}
.hd_login li:first-child {border-left:0}
.hd_login a {color:rgba(255,255,255,0.7);transition:color 0.3s}
.hd_login a:hover {color:#fff}


/* ================================================================
   메인메뉴
   ================================================================ */
#gnb {position:relative;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,0.06)}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb .gnb_wrap {margin:0 auto;position:relative}
#gnb .gnb_wrap:hover,#gnb .gnb_wrap:focus,#gnb .gnb_wrap:active{z-index:3}
#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:0;zoom:1}
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb .gnb_1dli {float:left;line-height:58px;padding:0;position:relative}
#gnb .gnb_1dli:hover > a {color:#2563EB;transition:color 0.3s}

.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;
    background:url('../img/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px}
.gnb_1da {display:block;font-weight:600;padding:0 18px;color:#1a1f36;text-decoration:none;letter-spacing:-0.3px}
.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:28px}
.gnb_2dli:first-child {border:0}
.gnb_2dul {display:none;position:absolute;top:57px;min-width:160px;padding-top:2px}
.gnb_2dul .gnb_2dul_box {border:1px solid #e8eaf0;border-top:2px solid #2563EB;padding:0;
    box-shadow:0 4px 15px rgba(0,0,0,0.1);border-radius:0 0 6px 6px}
.gnb_2da {display:block;padding:0 15px;line-height:42px;background:#fff;color:#444;text-align:left;text-decoration:none;font-weight:400}
a.gnb_2da:hover {color:#2563EB;background:#f0f5ff;transition:all 0.3s}
.gnb_2da:focus,.gnb_2da:hover {color:#2563EB}
.gnb_1dli_over .gnb_2dul {display:block;left:0}
.gnb_1dli_over2 .gnb_2dul {display:block;right:0}
.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2.7em;color:#666}
.gnb_wrap .gnb_empty a {color:#2563EB;text-decoration:underline}
.gnb_wrap .gnb_al_ul .gnb_empty,.gnb_wrap .gnb_al_ul .gnb_empty a {color:#555}

#gnb .gnb_menu_btn {background:#2563EB;color:#fff;width:50px;height:58px;border:0;vertical-align:top;font-size:18px;transition:background 0.3s}
#gnb .gnb_menu_btn:hover {background:#1d4ed8}
#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:0;right:0}
#gnb .gnb_mnal {float:right;padding:0}

#gnb_all {display:none;position:absolute;border:1px solid #e0e4ea;width:100%;background:#fff;z-index:1000;
    box-shadow:0 4px 20px rgba(0,0,0,0.12);border-radius:0 0 8px 8px}
#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef;color:#1a1f36}
#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb_all .gnb_al_ul > li:nth-child(5n+1) {border-left:0}
#gnb_all .gnb_al_li {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef}
#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#2563EB}
#gnb_all .gnb_al_li li {line-height:2em}
#gnb_all .gnb_al_li li a {color:#555}
#gnb_all_bg {display:none;background:rgba(0,0,0,0.15);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999}


/* ================================================================
   히어로 배너 - 풀와이드!
   ================================================================ */
#hero_banner {
    width:100%;
    background:linear-gradient(135deg, #1a1f36 0%, #0f1729 50%, #1a2750 100%);
    min-height:480px;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
}
#hero_banner::before {
    content:'';position:absolute;top:-50%;right:-20%;width:700px;height:700px;
    background:radial-gradient(circle, rgba(37,99,235,0.15) 0%, transparent 70%);border-radius:50%;
}
#hero_banner::after {
    content:'';position:absolute;bottom:-30%;left:-10%;width:500px;height:500px;
    background:radial-gradient(circle, rgba(99,102,241,0.1) 0%, transparent 70%);border-radius:50%;
}
.hero_inner {
    width:1200px;margin:0 auto;display:flex;align-items:center;
    justify-content:space-between;position:relative;z-index:1;padding:60px 0;
}
.hero_content {max-width:650px}
.hero_sub {display:inline-block;font-size:1.1em;color:#60a5fa;font-weight:500;margin-bottom:14px;letter-spacing:2px;text-transform:uppercase}
.hero_title {font-size:3em;font-weight:700;color:#fff;line-height:1.4;margin-bottom:22px;letter-spacing:-1px}
.hero_title strong {color:#60a5fa;font-weight:900}
.hero_desc {font-size:1.2em;color:rgba(255,255,255,0.55);line-height:1.8;margin-bottom:38px}
.hero_btns {display:flex;gap:15px}
.btn_hero {display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:8px;font-size:1.15em;font-weight:600;text-decoration:none;transition:all 0.3s}
.btn_primary {background:#2563EB;color:#fff;box-shadow:0 4px 15px rgba(37,99,235,0.4)}
.btn_primary:hover {background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,99,235,0.5);color:#fff}
.btn_outline {background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.25)}
.btn_outline:hover {background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.5);color:#fff}

.hero_visual {position:relative;width:420px;height:360px}
.hero_icon_item {position:absolute;width:120px;height:120px;background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.1);border-radius:20px;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:8px;backdrop-filter:blur(10px);transition:transform 0.3s,background 0.3s}
.hero_icon_item:hover {transform:translateY(-5px);background:rgba(255,255,255,0.1)}
.hero_icon_item i {font-size:2.5em;color:#60a5fa}
.hero_icon_item span {color:rgba(255,255,255,0.7);font-size:1em;font-weight:500}
.hi_1 {top:10px;left:20px;animation:float1 6s ease-in-out infinite}
.hi_2 {top:0;right:30px;animation:float2 7s ease-in-out infinite}
.hi_3 {bottom:40px;left:50px;animation:float3 5s ease-in-out infinite}
.hi_4 {bottom:20px;right:10px;animation:float4 8s ease-in-out infinite}
@keyframes float1 {0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)}}
@keyframes float2 {0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)}}
@keyframes float3 {0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)}}
@keyframes float4 {0%,100%{transform:translateY(0)} 50%{transform:translateY(-15px)}}


/* ================================================================
   섹션 공통
   ================================================================ */
.section_header {text-align:center;margin-bottom:50px}
.section_sub {display:inline-block;font-size:1em;color:#2563EB;font-weight:700;letter-spacing:3px;margin-bottom:10px}
.section_title {font-size:2.4em;font-weight:800;color:#1a1f36;margin-bottom:12px;letter-spacing:-1px}
.section_desc {font-size:1.15em;color:#6b7280}


/* ================================================================
   서비스 - 풀와이드
   ================================================================ */
#ds_service {width:100%;padding:80px 0}
.service_list {display:flex;gap:30px}
.service_item {flex:1;background:#fff;border:1px solid #e8eaf0;border-radius:16px;padding:40px 30px;text-align:center;
    transition:all 0.4s;position:relative;overflow:hidden}
.service_item::before {content:'';position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg, #2563EB, #6366f1);opacity:0;transition:opacity 0.4s}
.service_item:hover {transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,0.08);border-color:transparent}
.service_item:hover::before {opacity:1}
.service_icon {width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 25px;font-size:2em}
.si_web {background:linear-gradient(135deg, #dbeafe, #eff6ff);color:#2563EB}
.si_blog {background:linear-gradient(135deg, #e0e7ff, #eef2ff);color:#6366f1}
.si_marketing {background:linear-gradient(135deg, #fce7f3, #fdf2f8);color:#ec4899}
.service_item h4 {font-size:1.6em;font-weight:700;color:#1a1f36;margin-bottom:15px}
.service_item p {font-size:1.05em;color:#6b7280;line-height:1.7;margin-bottom:20px}
.service_tags {display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.service_tags li {display:inline-block;padding:5px 14px;background:#f1f5f9;color:#475569;border-radius:20px;font-size:0.95em;font-weight:500}


/* ================================================================
   WHY DOOSAY - 풀와이드
   ================================================================ */
#ds_why {width:100%;padding:80px 0;background:#f8fafc}
.why_list {display:flex;gap:25px}
.why_item {flex:1;background:#fff;border-radius:12px;padding:35px 30px;border:1px solid #e8eaf0;transition:all 0.3s}
.why_item:hover {box-shadow:0 8px 25px rgba(0,0,0,0.06);transform:translateY(-4px)}
.why_num {font-size:2.5em;font-weight:900;color:#2563EB;opacity:0.2;margin-bottom:15px;line-height:1}
.why_item h4 {font-size:1.35em;font-weight:700;color:#1a1f36;margin-bottom:12px}
.why_item p {font-size:1.05em;color:#6b7280;line-height:1.7}


/* ================================================================
   프로세스 - 풀와이드
   ================================================================ */
#ds_process {width:100%;padding:80px 0}
.process_list {display:flex;align-items:center;justify-content:center}
.process_item {flex:1;text-align:center;padding:30px 20px}
.process_step {font-size:0.9em;font-weight:700;color:#2563EB;letter-spacing:1px;margin-bottom:15px}
.process_icon {width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg, #2563EB, #6366f1);
    display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:1.8em;color:#fff;
    box-shadow:0 6px 20px rgba(37,99,235,0.3)}
.process_item h4 {font-size:1.3em;font-weight:700;color:#1a1f36;margin-bottom:8px}
.process_item p {font-size:1em;color:#6b7280}
.process_arrow {font-size:1.5em;color:#cbd5e1;padding:0 5px;margin-top:30px}


/* ================================================================
   CTA - 풀와이드
   ================================================================ */
#ds_cta {width:100%;background:linear-gradient(135deg, #2563EB 0%, #1d4ed8 50%, #6366f1 100%);padding:50px 0;text-align:center}
.cta_inner {width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:50px}
.cta_text h3 {font-size:2em;color:#fff;font-weight:700;margin-bottom:8px}
.cta_text h3 strong {color:#fbbf24}
.cta_text p {font-size:1.15em;color:rgba(255,255,255,0.7)}
.btn_cta {display:inline-flex;align-items:center;gap:10px;padding:16px 40px;background:#fff;color:#2563EB;
    border-radius:8px;font-size:1.2em;font-weight:700;text-decoration:none;transition:all 0.3s;
    box-shadow:0 4px 15px rgba(0,0,0,0.1)}
.btn_cta:hover {transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,0.2);color:#1d4ed8}


/* ================================================================
   중간 레이아웃 (게시판 영역)
   ================================================================ */
#wrapper {}
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
#container_wr {margin:0 auto;zoom:1}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;font-size:1em;width:930px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.4em;margin:0 auto;font-weight:700;color:#1a1f36}
#container_title span {margin:0 auto 10px;display:block;line-height:30px}

.lt_wr {width:32%}
.lt_wr:nth-child(3n+1) {clear:both}
.latest_wr {margin-bottom:20px}
.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
.latest_top_wr {margin:0 -10px 20px}
.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}


/* ================================================================
   하단
   ================================================================ */
#ft {background:#1a1f36;margin:0 auto;text-align:center}
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#ft_wr {max-width:1240px;margin:0;padding:40px 0;position:relative;display:inline-block;text-align:left}
#ft_wr:after {display:block;visibility:hidden;clear:both;content:""}
#ft_wr .ft_cnt {width:25%;float:left;padding:0 20px}

#ft_link {border-bottom:1px solid rgba(255,255,255,0.08);padding:0 0 15px !important;margin-bottom:30px;width:100% !important;text-align:center}
#ft_link a {color:rgba(255,255,255,0.6);padding:0 15px;font-size:1.1em;transition:color 0.3s}
#ft_link a:hover {color:#fff}
#ft_company h2 {color:#fff;font-size:1.3em;margin-bottom:15px;font-weight:700}
.ft_info {color:rgba(255,255,255,0.5);line-height:2em;font-size:1.05em}
.ft_info strong {color:rgba(255,255,255,0.8);font-weight:600}
#ft_copy {clear:both;padding:25px 0;margin-top:30px;border-top:1px solid rgba(255,255,255,0.08);color:rgba(255,255,255,0.35);font-size:1em}

#top_btn {position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:#2563EB;color:#fff;border:0;
    border-radius:50%;font-size:18px;box-shadow:0 4px 15px rgba(37,99,235,0.3);cursor:pointer;transition:all 0.3s;z-index:100}
#top_btn:hover {background:#1d4ed8;transform:translateY(-3px);box-shadow:0 6px 20px rgba(37,99,235,0.4)}


/* ================================================================
   버튼 공통
   ================================================================ */
a.btn01 {display:inline-block;padding:7px;border:1px solid #e0e4ea;background:#fafafa;color:#333;text-decoration:none;vertical-align:middle;border-radius:4px}
a.btn01:focus,a.btn01:hover {text-decoration:none;background:#f0f5ff}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #e0e4ea;background:#fafafa;color:#333;text-decoration:none;border-radius:4px}
a.btn02 {display:inline-block;padding:7px;border:1px solid #1a1f36;background:#1a1f36;color:#fff;text-decoration:none;vertical-align:middle;border-radius:4px}
a.btn02:focus,.btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #1a1f36;background:#1a1f36;color:#fff;text-decoration:none;border-radius:4px}
.btn_confirm {text-align:right}
.btn_submit {border:0;background:#2563EB;color:#fff;cursor:pointer;border-radius:6px;transition:background 0.3s}
.btn_submit:hover {background:#1d4ed8}
.btn_close {border:1px solid #e0e4ea;cursor:pointer;border-radius:6px;background:#fff}
a.btn_close {text-align:center;line-height:50px}
a.btn_cancel {display:inline-block;background:#6b7280;color:#fff;text-decoration:none;vertical-align:middle;border-radius:4px}
button.btn_cancel {display:inline-block;background:#6b7280;color:#fff;text-decoration:none;vertical-align:middle;border-radius:4px}
.btn_cancel:hover {background:#9ca3af}
a.btn_frmline,button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#1a1f36;border-radius:6px;color:#fff;text-decoration:none;vertical-align:top}
button.btn_frmline {font-size:1em}

/* 게시판 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover {color:#1a1f36}
a.btn_b02,.btn_b02 {display:inline-block;background:#2563EB;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle;border-radius:4px}
a.btn_b02:hover,.btn_b02:hover {background:#1d4ed8}
a.btn_b03,.btn_b03 {display:inline-block;background:#fff;border:1px solid #c7d2fe;color:#4f46e5;text-decoration:none;vertical-align:middle;border-radius:4px}
a.btn_b03:hover,.btn_b03:hover {background:#eef2ff}
a.btn_b04,.btn_b04 {display:inline-block;background:#fff;border:1px solid #e0e4ea;color:#6b7280;text-decoration:none;vertical-align:middle;border-radius:4px}
a.btn_b04:hover,.btn_b04:hover {color:#1a1f36;background:#f8fafc}
a.btn_admin,.btn_admin {display:inline-block;color:#ef4444;text-decoration:none;vertical-align:middle}
.btn_admin:hover,a.btn_admin:hover {color:#dc2626}


/* ================================================================
   테이블
   ================================================================ */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #e8eaf0;border-bottom:1px solid #e8eaf0}
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:20px 0;font-weight:500;text-align:center;border-bottom:1px solid #e8eaf0;height:40px;color:#374151}
.tbl_head01 thead th input {vertical-align:top}
.tbl_head01 tfoot th,.tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c7d2fe;border-bottom:1px solid #c7d2fe;background:#eef2ff;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8eaf0}
.tbl_head01 td {color:#4b5563;padding:10px 5px;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#f8fafc}
.tbl_head01 a:hover {text-decoration:underline;color:#2563EB}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #c7d2fe;border-bottom:1px solid #c7d2fe;background:#eef2ff;color:#1e1b4b;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#1e1b4b}
.tbl_head02 thead th input {vertical-align:top}
.tbl_head02 tfoot th,.tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c7d2fe;border-bottom:1px solid #c7d2fe;background:#eef2ff;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e8eaf0;border-bottom:1px solid #e8eaf0;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e8eaf0;border-bottom:1px solid #e8eaf0;background:#fff;line-height:1.4em;word-break:break-all}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e8eaf0;border-left:0;background:#f8fafc;text-align:left;font-weight:500}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e8eaf0;border-bottom:1px solid #e8eaf0;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea,.frm_input {border:1px solid #d1d5db;background:#fff;color:#333;vertical-align:middle;border-radius:6px;padding:8px;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:42px}
.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea,.write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
.frm_info.add_info {margin-top:10px !important;padding:8px 12px;background:#fff;border:1px solid #e0e4ea;border-radius:6px;line-height:1.6}
.btn_info_toggle {display:block;margin:5px 0 0 21px;font-size:12px;color:#2563EB;background:none;border:none;cursor:pointer;text-decoration:underline}

.list_01 ul {border-top:1px solid #e8eaf0}
.list_01 li {border-bottom:1px solid #e8eaf0;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f8fafc}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f0f5ff}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#6b7280}

.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

.empty_table {padding:50px 0 !important;text-align:center;color:#6b7280}
.empty_list {padding:20px 0 !important;color:#6b7280;text-align:center}
.required,textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}
.txt_active {color:#16a34a}
.txt_done {color:#ef4444}
.txt_expired {color:#d1d5db}
.txt_rdy {color:#2563EB}

/* 새창 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#1a1f36;box-shadow:0 1px 10px rgba(0,0,0,.06)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #c7d2fe;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#4f46e5}
.new_win .win_ul .selected {background:#2563EB;border-color:#2563EB;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:8px;font-size:1em;background:#2563EB;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#1d4ed8;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#6b7280}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#2563EB;background:#eef2ff;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

.sch_word {color:#fff;background:#2563EB;padding:2px 5px 3px;line-height:18px;margin:0 2px;border-radius:3px}

#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em;color:#1a1f36}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e8eaf0;background:#fff;border-radius:8px}

/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#1a1f36;border-radius:6px;box-shadow:2px 2px 8px rgba(0,0,0,0.15)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #1a1f36 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:rgba(255,255,255,0.6)}
.sv_wrap .sv a:hover {background:#2563EB;color:#fff;border-radius:4px}
.sv_member {color:#1a1f36}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap {clear:both;float:left;display:inline-block}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""}
.pg {text-align:center}
.pg_page,.pg_current {display:inline-block;vertical-align:middle;background:#f1f5f9;border:1px solid #e2e8f0}
.pg a:focus,.pg a:hover {text-decoration:none}
.pg_page {color:#64748b;font-size:1.083em;height:32px;line-height:30px;padding:0 6px;min-width:32px;text-decoration:none;border-radius:6px}
.pg_page:hover {background:#eef2ff;color:#2563EB}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #f1f5f9;padding:0;border:1px solid #e2e8f0}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #f1f5f9;padding:0;border:1px solid #e2e8f0}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #f1f5f9;padding:0;border:1px solid #e2e8f0}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #f1f5f9;padding:0;border:1px solid #e2e8f0}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#eef2ff}
.pg_current {display:inline-block;background:#2563EB;border:1px solid #2563EB;color:#fff;font-weight:bold;height:32px;line-height:32px;padding:0 10px;min-width:32px;border-radius:6px}

.cheditor-popup-window *,.cheditor-popup-window :after,.cheditor-popup-window :before {box-sizing:content-box}
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #e8eaf0;border-radius:2em;background:#fff;color:#1a1f36;font-size:2em;text-decoration:none;text-align:center}


/* ================================================================
   최근 게시글 영역 - 풀와이드
   ================================================================ */
#ds_boards {
    width:100%;
    padding:80px 0 60px;
    background:#f8fafc;
}
.ds_latest_row {
    display:flex;
    gap:25px;
}
.ds_latest_row > .ds_lat {
    flex:1;
    min-width:0;
}
