@charset "utf-8";
:root{
    /*--bs-border-color:#efefef;*/
}
.wv-wrap {
    --wv-placeholer-color :#CFCFCF;
    --wv-container-gutter-x: var(--wv-md-64, var(120)); /*좌우합*/
    --wv-container-gutter-y: 1em;
    --wv-max-container-size: var(--wv-1517);
    --wv-vstack-row-gap: var(--wv-98);
    font-size: var(--wv-16);
    --wv-ini-width:1920;
    --wv-ini-max:1;
    --wv-site-wrapper-width: var(--wv-1920);

}
div[id*='skin'] .container {max-width: calc(var(--wv-max-container-size,100%))!important;}

html {
    overflow-y:initial;
    -webkit-tap-highlight-color: transparent;
    /*scroll-behavior: auto !important;*/
    /*overflow-x: clip!important;*/
}

body{
    overflow: initial;
    font-family: 'Pretendard','serif';
    color:#000;
    line-height: normal;
    overflow-x: clip!important;
    background-color: #fff;
}

/*::-webkit-scrollbar { width: 2px;}*/
/*::-webkit-scrollbar-thumb {background: #ad6c5a;border-radius: 10px;}*/
/*::-webkit-scrollbar-track {background: #ededee}*/
.ff-MalgunGothic{font-family:  "Malgun Gothic", "맑은 고딕", sans-serif}
a:focus-visible{outline:none!important;}
input[readonly],input[disabled]{background-color: #f9f9f9;user-select: none;pointer-events: none;}
video,iframe{clip-path: inset(0);display: inline-block;max-width: 100%}
video[poster]{width:100%}
a:focus,a:focus-visible,button:focus,button:focus-visible{outline: none!important;box-shadow: none!important;}
input{max-width: 100%}
input:focus,input:active,input:hover,input:active:focus-visible{outline:none!important; }
textarea:focus,textarea:active,textarea:hover,textarea:active:focus-visible{outline:none!important; }

p {
    margin: 0;
    padding: 0;
    word-break: break-all;
}
#content-wrapper {
    position: relative;
    z-index: 10;
}
#site-wrapper {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    width: 1920px;
    max-width: 100%;
    margin: 0 auto;
    position:static!important;
    background-color: #fff;

}
#content-wrapper{ ;}

/*!*좌우 fixed가 1920보다 클때 해당 넓이 만큼 설정 *!*/
/*.wv-wrap {*/
/*    --wv-ini-width: 2300;*/
/*}*/
/*!*site-wrapper 넓이가 1920보다 작을때 해당 넓이전까지는 줄어들지 않게*!*/
/*body[wv-layout-id="common"] #content-wrapper img{*/
/*    width:100%;*/
/*}*/
/*#content-wrapper section[class*='mobile:'] img{*/
/*    width:100%;*/
/*}*/
/*#content-wrapper section[class*='desktop:'] img{*/
/*    width:100%;*/
/*}*/
#header-wrapper{
    position: sticky;
    width: 100%;
    z-index: 1040;
    top:0;
}
#header-wrapper,#footer-wrapper{
    flex: 0 0 auto;
    height: auto;
}
#content-wrapper{
    flex: 1 1 auto !important;
    position:relative;

}
#header-menu{
    padding: var(--wv-19_5) 0;
    background-color: #0A2863;
}
#footer-wrapper{2
}
.modal-login .login-from-wrap{min-height: auto!important;background-color: #fff;padding: var(--wv-50) var(--wv-57);border-radius: var(--wv-40)}
#bo_cate ul { 
    display: flex;
    justify-content: center;
}
@media (max-width: 1919.98px) {

}
@media (max-width: 1399.98px) {

}
@media (max-width: 1199.98px) {

}
@media (max-width: 991.98px) {
    #site-wrapper {
        margin: 0 auto;

    }

    /*p만 확대 시(zoom사용시 아이폰은 불가)*/
    /*.wv-skin-widget  p{zoom: 1.1;} */
    /*.wv-skin-widget :not(.hstack)>p{white-space: pre-line !important}*/
    /*.wv-skin-widget :not(.hstack)>p br{display: none;}*/
    .wv-skin-widget .hstack >p{word-break: keep-all; }
    .wv-skin-widget .text-center :not(.text-start) p{transform-origin: center}
    .wv-wrap {
        --wv-ini-add: 2.4;
        --wv-ini-width-md:800!important;
    }


    .interior_wrap {
        width: 100% !important;
    }

}
@media (max-width: 767.98px) {

}
@media (max-width: 575.98px) {
    .wv-wrap {
        font-size: var(--wv-md-20, revert-layer);

    }
}


@media (min-width: 576px) {

}
@media (min-width: 768px) {

}
@media (min-width: 992px) {

}

/* @layer base는 wv_tailwind의 @layer utilities보다 먼저 선언됨
   → !important 우선순위: base > utilities > 레이어밖 */
@layer base {
    @media (min-width: 992px) {
        /* 992px 이상 숨김 */
        .desktop\:hidden {
            display: none !important;
        }

        /* 992px 이상 표시 */
        .desktop\:block {
            display: block !important;
        }
        .desktop\:inline-block {
            display: inline-block !important;
        }
        .desktop\:flex {
            display: flex !important;
        }
        .desktop\:inline-flex {
            display: inline-flex !important;
        }
        .desktop\:inline {
            display: inline !important;
        }
        .desktop\:grid {
            display: grid !important;
        }

        /* 992px 이상 visibility */
        .desktop\:invisible {
            visibility: hidden !important;
        }
        .desktop\:visible {
            visibility: visible !important;
        }
    }
}
@media (min-width: 1200px) {

}
@media (min-width: 1400px) {

}

/* chrome */
@supports (text-box-trim:trim-both) {

    /* cap 없애기 */
    /*[class*=wv-skin]  p{text-box-trim:trim-both}*/
}
/* iOS devices */
@supports (-webkit-touch-callout: none) {

    /* cap 없애기 */
    /*p:first-line{line-height: 1;}*/
    /*[class*=wv-skin] p:after{content: 'x';display: block;line-height: 0;margin-top: calc((var(--wv-parent-line-height) - 1em) / 2* -1 + .05em);visibility: hidden;}*/

    /* 아이폰 인풋 확대 금지*/
    /*input[type=text], textarea,.wv-ios-16 {*/
    /*   zoom:1.2;*/
    /*}*/

}


/* ============================================
   그누보드5 글쓰기 폼 세련된 레이아웃 CSS
   - 모든 게시판 공통 적용 (important 사용)
   - #bo_w 기준
   ============================================ */

/* --- 전체 폼 컨테이너 --- */
#bo_w {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 40px 0 60px !important;
}
#bo_w form {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* --- 개인정보 동의 영역 --- */
#bo_w .agree {
    background: #f8f9fa !important;
    border: 1px solid #e9ecef !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 10px !important;
}
ul.bo_v_option{padding:0!important;}
#bo_w .agree h4 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0  1em 0 !important;
    padding: 0 !important;
    letter-spacing: -0.02em !important;
}
#bo_w .bo_w_flie .file_wr{border:0!important;}
#bo_w .agree_box {
    max-height: 120px !important;
    overflow-y: auto !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    color: #6c757d !important;
    background: #fff !important;
    border: 1px solid #e2e5e9 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
}
#bo_w .bo_w_link label{height: 100%;display: flex;justify-content: center;align-items: center}
#bo_w .agree_box::-webkit-scrollbar {
    width: 5px !important;
}

#bo_w .agree_box::-webkit-scrollbar-thumb {
    background: #ced4da !important;
    border-radius: 10px !important;
}

#bo_w .agree .ckw {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    color: #495057 !important;
    font-weight: 500 !important;
    padding-top: 4px !important;
}

#bo_w .agree .ckw input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #333 !important;
    cursor: pointer !important;
}

/* --- 공통 입력 행 --- */
#bo_w .write_div {
    margin-bottom: .1em !important;
    padding: 0 !important;
}

/* --- 텍스트 인풋 공통 --- */
#bo_w .frm_input {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    background: #fff !important;
    border: 1px solid #dde0e4 !important;
    border-radius: 10px !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
}

#bo_w .frm_input::placeholder {
    color: #adb5bd !important;
    font-weight: 400 !important;
}

#bo_w .frm_input:focus {
    border-color: #333 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06) !important;
}

/* --- 이름/비밀번호 2열 배치 --- */
#bo_w .bo_w_info {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
}

#bo_w .half_input {
    flex: 1 !important;
    min-width: 0 !important;
    width: auto !important;
}

/* 이메일, 전화번호 행의 flex 컨테이너 */
#bo_w .bo_w_info .flex {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* 답변메일받기 체크박스 라벨 */
#bo_w .bo_w_info label:has(input[type="checkbox"]) {
    font-size: 13px !important;
    color: #6c757d !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* --- 제목 입력 --- */
#bo_w .bo_w_tit {
    margin-bottom: .1em !important;
}

#bo_w .bo_w_tit .full_input,
#bo_w #autosave_wrapper .frm_input {
    width: 100% !important;
}

#bo_w #autosave_wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

/* --- 내용 (textarea) --- */
#bo_w .wr_content textarea,
#bo_w #wr_content {
    width: 100% !important;
    min-height: 220px !important;
    padding: 16px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #1a1a1a !important;
    background: #fff !important;
    border: 1px solid #dde0e4 !important;
    border-radius: 10px !important;
    resize: vertical !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#bo_w .wr_content textarea:focus,
#bo_w #wr_content:focus {
    border-color: #333 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06) !important;
}

/* --- 파일 업로드 --- */
#bo_w .bo_w_flie {
    margin-bottom: 8px !important;
}

#bo_w .file_wr {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#bo_w .file_wr .lb_icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: #f1f3f5 !important;
    border: 1px solid #e2e5e9 !important;
    border-radius: 8px !important;
    color: #868e96 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.2s ease !important;
}

#bo_w .file_wr .lb_icon:hover {
    background: #e9ecef !important;
}

#bo_w .frm_file {
    flex: 1 !important;
    font-size: 13px !important;
    color: #868e96 !important;
}

#bo_w .frm_file::file-selector-button {
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #495057 !important;
    background: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    margin-right: 10px !important;
    transition: background 0.2s ease !important;
}

#bo_w .frm_file::file-selector-button:hover {
    background: #e9ecef !important;
}

/* --- 캡차 --- */
#bo_w .captcha {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    background: #f8f9fa !important;
    border: 1px solid #e9ecef !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin: 8px 0 !important;
}

#bo_w .captcha legend {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
}

#bo_w .captcha img {
    border-radius: 6px !important;
    height: 40px !important;
}

#bo_w .captcha_box {
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
    border: 1px solid #dde0e4 !important;
    border-radius: 8px !important;
    outline: none !important;
    width: 100px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

#bo_w .captcha_box:focus {
    border-color: #333 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06) !important;
}

#bo_w .captcha button {
    height: 36px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6c757d !important;
    background: #fff !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

#bo_w .captcha button:hover {
    background: #f1f3f5 !important;
}

#bo_w #captcha_info {
    display: block !important;
    width: 100% !important;
    font-size: 12px !important;
    color: #adb5bd !important;
    margin-top: 2px !important;
}

/* --- 버튼 영역 --- */
#bo_w .btn_confirm {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid #f1f3f5 !important;
}

#bo_w .btn_confirm .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 36px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    letter-spacing: -0.01em !important;
    border: none !important;
}

#bo_w .btn_cancel {
    background: #f1f3f5 !important;
    color: #6c757d !important;
}

#bo_w .btn_cancel:hover {
    background: #e9ecef !important;
    color: #495057 !important;
}

#bo_w .btn_submit {
    background: #1a1a1a !important;
    color: #fff !important;
    min-width: 160px !important;
}

#bo_w .btn_submit:hover {
    background: #333 !important;
}

#bo_w .btn_submit:disabled {
    background: #adb5bd !important;
    cursor: not-allowed !important;
}

/* --- 반응형 (모바일) --- */
@media (max-width: 640px) {
    #bo_w {
        padding: 24px 0 40px !important;
    }

    #bo_w .agree {
        padding: 18px !important;
    }

    #bo_w .bo_w_info {
        flex-direction: column !important;
        gap: 10px !important;
    }

    #bo_w .half_input {
        width: 100% !important;
        flex: unset !important;
    }

    #bo_w .frm_input {
        height: 44px !important;
        font-size: 15px !important;
    }

    #bo_w .wr_content textarea,
    #bo_w #wr_content {
        min-height: 180px !important;
        font-size: 15px !important;
    }

    #bo_w .captcha {
        padding: 14px !important;
    }

    #bo_w .btn_confirm {
        flex-direction: column-reverse !important;
    }

    #bo_w .btn_confirm .btn {
        width: 100% !important;
        height: 50px !important;
    }
}

/* --- sound_only 접근성 유지 --- */
#bo_w .sound_only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 992px) {
    .agree {
        margin: 0!important;
    }
}