@charset "UTF-8";

@import url(../_plugin/froala-editor/latest/css/froala_style.min.css);
@import url(define.min.css);
/*@import url(row-col.min.css);*/

body { background: #fff; }

html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, address,
img,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas,
footer, header,
nav, section,
audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

ol, ul {list-style-type:none;}
a{color:inherit;text-decoration:none;}
input:not([type="checkbox"]):not([type="radio"]), button{font-family:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none;}
input[type="text"]{border-radius:0;}
noscript, caption {width:0px;height:0px;text-indent:-20000px;}
pre {font-family:inherit;white-space:pre;white-space:pre-wrap;white-space:pre-line;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:-moz-pre-wrap;white-space:-hp-pre-wrap;word-wrap:break-word;}
ul.short-cut {position:absolute;top:-5000px;}
img, input, select, textarea {vertical-align:middle;}

/*.hide { display: none !important; } */
.display-none { display: none !important; }
.hide { position : absolute !important; top:0; left:-999999px}
.cmp-common { margin-top:5px; padding-left:5px; padding-right:5px;}
.cmp-common:after { content: ' '; clear: both; display: table; }
.widget-froala { position: relative; user-select: none; min-height: 22px; min-width:22px; }
.widget-froala.inline-block { display: inline-block ;}
.widget-froala widget .garbage.mask {position: absolute !important;width: 100%;height: 100%;left: 0;top: 0; cursor: pointer; border: 1px dotted #c8e6ff; box-sizing: border-box; z-index: 100;} /* froala mask */
.widget-froala widget .garbage.mask:hover { border: 1px dotted #93cdff; }
.widget-froala widget .garbage.mask:hover:after { content: attr(data-title); left: 4px; display: block; position: absolute; top: 0px; width: 100%; font-size: 14px; color: #1e73c6; opacity: 0.6; white-space: nowrap; text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;}
.widget-froala.widget-active widget .garbage.mask { border: 1px solid #93cdff; }
.fr-video { text-align: center;  position: relative; }
.fr-video.fr-dvb { display: block;  clear: both; }
.fr-video>* { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; max-width: 100%; border: 0;}
.cms-front-edit { position: fixed; right: 0; bottom: 0; background-color: #000; border-top-left-radius: 4px; border-bottom-left-radius: 4px; list-style-type: none; opacity: 0.5; z-index:99999999; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.16), 2px 4px 10px rgba(0, 0, 0, 0.12); font-family: nanumgothic; font-size:12px; color:#ffffff;}
.cms-front-edit * {color:#ffffff ;}
.cms-front-edit.collpase a.front-edit, .cms-front-edit.editing a.front-edit, .cms-front-edit.collpase a.front-access, .cms-front-edit.collpase a.front-page-mng { display: none; }
.cms-front-edit.collpase a.show-hide-toggle i:before { content: '\f104'}

.cms-front-edit.collpase a.front-edit-cancel, .cms-front-edit a.front-edit-cancel { display: none; }
.cms-front-edit.editing:not(.collpase) a.front-edit-cancel { display: inline-block; padding: 9px 11px; cursor: pointer; }
.cms-front-edit i { vertical-align: middle; font-size: 24px;}

.cms-front-edit a.front-edit, .cms-front-edit a.front-access, .cms-front-edit a.front-page-mng { display: inline-block; padding: 9px 11px; cursor: pointer; position: relative;}
.cms-front-edit a.front-edit, .cms-front-edit a.front-access i { vertical-align: middle; font-size: 24px;}
.cms-front-edit a.show-hide-toggle { display: inline-block; padding:13px 6px 14px 8px; cursor: pointer;}
.cms-front-edit a.show-hide-toggle i {vertical-align: middle; font-size: 14px;}
.cms-front-edit a.l-bar:before { content: ""; color: #787676; position: absolute; height: calc(100% - 20px); width: 1px; top: 12px; background-color: #5d5d5d; left: 0; }
.cms-edit-wrap { position: absolute; top:0; left:0; width: calc(100% - 2px); height: calc(100% - 2px); border: 1px dotted red; z-index: 100; background: #dfdada; opacity: 0.3; }
.cms-edit-wrap:hover { opacity: 0.4; background: #1b6dba; cursor: pointer; }
.front-content-edit {position: absolute; top: 10px; right: 10px; padding: 10px 8px 10px 12px; opacity: 1;border-radius: 30px; cursor: pointer; bottom: auto; line-height: 24px !important;}
.front-content-edit i {vertical-align: middle; font-size: 24px;}
.flash-map { display: none; }
html.cms-iframe-manage, html.cms-iframe-manage body { height: auto !important; }
html.cms-iframe-manage body { padding-right: 20px; }

#go_main { position: absolute; height:0; }
#go_main a { display: block; left: -9000px; position: absolute; text-align: center; width: 400px; }
#go_main a:focus, #go_main a:active, #go_main a:hover { background-color: #ffffff; color: black; left: 50%; padding: 5px 0; position: absolute; top: 10px; z-index: 1000000; border: 1px dotted red; }
.input[type=password] {-webkit-ime-mode:inactive;-moz-ime-mode:inactive;-ms-ime-mode:inactive;ime-mode:inactive;}
iframe.full-screen { position: fixed; width: 100% !important; height: 100% !important; left:0; top:0; right:0; bottom:0; z-index:1;}
@media(max-width:992px) {
	.cms-front-edit { display: none; }
}
/* 에디터 숫자 리스트에 적용될 스타일 */
ol.cms-froala-ol {list-style: decimal !important; padding-left: 20px; }
/* 에디터 점 리스트에 적용될 스타일 */
ul.cms-froala-ul {list-style: disc !important; padding-left: 20px; }


/* 블록에디터 */
.jini-row { display:flex;justify-content:flex-start; align-items:stretch; flex-wrap:nowrap; box-sizing: border-box;}
.jini-cell { min-height:75px; flex-grow:1; flex-basis:100%; padding: 8px; box-sizing: border-box;}
.jini-table { width: 100%; border-collapse: collapse;}
.jini-table td, .jini-table th { border: 1px solid #dddddd; height: 20px; }
.jini-table th { background: #e6e6e6; }
.jini-space { min-height: 10px; }
@media (max-width: 768px){
  .jini-row { flex-wrap:wrap; }
  .jini-cell { flex-basis: 100% !important; }
}













.popup-carousel{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;font-family:'Pretendard',sans-serif;animation:pc-fade .25s ease;padding:20px}
.popup-carousel *:focus{outline:none}
.popup-carousel *:focus-visible{outline:3px solid #F7D300;outline-offset:2px;border-radius:6px}

.popup-carousel-backdrop{position:absolute;inset:0;background:rgba(10,18,36,.55);backdrop-filter:blur(4px)}

.popup-carousel-frame{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:14px;animation:pc-pop .3s ease;max-height:calc(100vh - 40px);width:min(92vw,400px);box-shadow:0 20px 50px rgba(0,20,60,.22)}
.popup-carousel-frame[data-popup-carousel-type="image"]{width:min(92vw,500px)}

.popup-carousel-inner{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;max-height:calc(100vh - 40px)}

.popup-carousel-top{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 0 18px;flex-shrink:0;gap:8px}
.popup-carousel-count{font-size:13px;color:#6b7280;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.popup-carousel-count b{color:#003B84;font-weight:800;font-size:15px}

.popup-carousel-close{width:40px;height:40px;border-radius:50%;background:#f4f7fb;border:0;color:#3a475c;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}
.popup-carousel-close:hover{background:#111827;color:#fff;transform:rotate(90deg)}
.popup-carousel-close:active{transform:rotate(90deg) scale(.94)}
.popup-carousel-close svg{width:16px;height:16px;stroke-width:2.2}

.popup-carousel-progress{position:relative;height:2px;margin:12px 18px 0;background:#edf0f5;flex-shrink:0;border-radius:2px;overflow:hidden}
.popup-carousel-progress-bar{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#0068B7,#003B84);transition:width .4s ease}

/* 사이드 네비 — 프레임 밖으로 살짝 튀어나오게 (데스크탑), 모바일은 프레임 안쪽 */
.popup-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.97);border:1px solid rgba(0,0,0,.06);color:#003B84;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;padding:0;box-shadow:0 6px 18px rgba(0,20,60,.18)}
.popup-carousel-nav:hover{background:#003B84;color:#fff;transform:translateY(-50%) scale(1.08);box-shadow:0 10px 28px rgba(0,59,132,.35)}
.popup-carousel-nav:active{transform:translateY(-50%) scale(.95)}
.popup-carousel-nav-prev{left:-24px}
.popup-carousel-nav-next{right:-24px}
.popup-carousel-nav svg{width:20px;height:20px;stroke-width:2.4}

.popup-carousel-track{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin-top:12px;cursor:grab}
.popup-carousel-track:active{cursor:grabbing}

/* -------------------------------------------------------------------
 * 원본 .layer-popup-wrap — 트랙 안에서만 스타일링. 클래스/속성 추가 없음.
 * 이미지 포함 여부는 `:has(img)` 로 감지.
 *
 * .popup-0 / .popup-1 / .popup-2 ... 는 CMS 가 순서대로 찍는 인덱스 마커라
 * 의미 단위가 아니므로 개별 타겟팅 하지 않음. 대신 사이트가 추후 이들에
 * 절대위치/고정폭 같은 규칙을 추가하더라도 캐러셀 레이아웃이 안 깨지도록
 * 방어 리셋을 아래에 선언.
 * ------------------------------------------------------------------- */
.popup-carousel-track > .layer-popup-wrap{
  /* 캐러셀 슬롯 레이아웃 */
  flex:1 1 auto;min-height:0;min-width:0;flex-direction:column;margin:0;
  /* 방어 리셋 — .popup-N 또는 .layer-popup-wrap 에 사이트 CSS 가 걸어둘 수 있는
     포지셔닝/크기를 무효화. 현재 사이트는 이 클래스들에 규칙 없음(2026-04 확인). */
  position:relative;top:auto;left:auto;right:auto;bottom:auto;
  inset:auto;transform:none;z-index:auto;
  width:auto;height:auto;max-width:none;max-height:none
}

/* 텍스트 슬라이드 — 컴팩트, 스크롤, btn-box sticky */
.popup-carousel-track > .layer-popup-wrap:not(:has(img)){overflow-y:auto;padding:16px 22px 0;font-size:14px;line-height:1.7;color:#374151}
.popup-carousel-track > .layer-popup-wrap:not(:has(img))::-webkit-scrollbar{width:6px}
.popup-carousel-track > .layer-popup-wrap:not(:has(img))::-webkit-scrollbar-thumb{background:#dce1ea;border-radius:6px}
.popup-carousel-track > .layer-popup-wrap:not(:has(img)) > .btn-box{position:sticky;bottom:0;margin:18px -22px 0;background:#fff;border-top:1px solid #edf0f5;padding:10px 14px 12px;display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}

/* 이미지 슬라이드 — 풀블리드 contain, 스크롤 없음 */
.popup-carousel-track > .layer-popup-wrap:has(img){background:#f4f7fb;padding:0}
.popup-carousel-track > .layer-popup-wrap:has(img) img{display:block;width:100%;max-width:100%;height:auto;max-height:calc(100vh - 260px);object-fit:contain;margin:0 auto;pointer-events:none}
.popup-carousel-track > .layer-popup-wrap:has(img) > p{margin:0;padding:0}
.popup-carousel-track > .layer-popup-wrap:has(img) > .btn-box{margin-top:auto;background:#fff;border-top:1px solid #edf0f5;padding:10px 14px 12px;display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}

/* 원본 .btn-layer-close 링크 외형만 재스타일링 (구조·클래스·속성 그대로) */
.popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close{color:#475467;font-size:12.5px;padding:8px 12px;text-decoration:none;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;transition:all .18s ease;background:transparent;border:1px solid transparent;font-family:inherit;line-height:1;cursor:pointer;user-select:none;white-space:nowrap}
.popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close:hover{color:#111827;background:#f4f7fb;border-color:#e4e8ef}
.popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close:active{transform:scale(.97)}
.popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close[data-popup-close]{background:#111827;color:#fff;padding:9px 18px;min-height:40px;border-radius:7px;font-weight:600;margin-left:2px;border-color:#111827;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close[data-popup-close]:hover{background:#003B84;border-color:#003B84;transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,59,132,.35)}
.popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close[data-popup-close]:active{transform:translateY(0) scale(.97)}

.popup-carousel-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@keyframes pc-fade{from{opacity:0}to{opacity:1}}
@keyframes pc-pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* 반응형 — 모바일 */
@media(max-width:640px){
  .popup-carousel{padding:14px}
  .popup-carousel-frame,.popup-carousel-frame[data-popup-carousel-type="image"]{width:94vw}
  .popup-carousel-nav{width:44px;height:44px}
  .popup-carousel-nav-prev{left:8px}
  .popup-carousel-nav-next{right:8px}
  .popup-carousel-track > .layer-popup-wrap:has(img) img{max-height:calc(100vh - 220px)}
  .popup-carousel-track > .layer-popup-wrap:not(:has(img)) > .btn-box,
  .popup-carousel-track > .layer-popup-wrap:has(img) > .btn-box{padding:8px 10px 10px;gap:4px}
  .popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close{font-size:11.5px;padding:7px 9px;min-height:36px;border-radius:6px}
  .popup-carousel-track > .layer-popup-wrap > .btn-box a.btn-layer-close[data-popup-close]{padding:8px 14px;min-height:38px;border-radius:6px}
}
@media(max-width:380px){
  .popup-carousel-nav{width:40px;height:40px}
  .popup-carousel-nav-prev{left:4px}
  .popup-carousel-nav-next{right:4px}
}

/* 모션 민감 사용자 대응 */
@media(prefers-reduced-motion:reduce){
  .popup-carousel,.popup-carousel-frame{animation:none!important}
  .popup-carousel-progress-bar,.popup-carousel-close,.popup-carousel-nav{transition:none!important}
}

