@charset "utf-8";
/* 초기화 */
html {overflow-y:scroll;height:100%;min-width:320px}
body {margin:0;padding:0;font-size:0.75em;background:#f8f8f8;height:100%;font-family:'Malgun Gothic', dotum, sans-serif}
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:'Malgun Gothic', dotum, sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
legend {position:absolute;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle}
input, button {margin:0;padding:0;font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif}
button {cursor:pointer}
input[type=text], input[type=password], input[type=submit], input[type=image], button {font-size:1em;-webkit-appearance:none}
textarea, select {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif}
textarea {border-radius:0;-webkit-appearance:none;font-family:'Malgun Gothic', dotum, sans-serif}
select {margin:0;background:none;font-family:'Malgun Gothic', dotum, sans-serif}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#000;text-decoration:none}
ul,li,dl,dt,dd {padding:0;margin:0}
ul {list-style:none}
*,:after,:before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
/* 중간 레이아웃 */
#wrapper {}
#wrapper:after {display:block;visibility:hidden;clear:both;content:""}
#container {position:relative;min-height:300px}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.2em;font-weight:bold;height:50px;padding:10px 15px;line-height:30px;background:#fff;color:#333;
-webkit-box-shadow:0 0 10px rgba(181, 181, 181, 0.4);
-moz-box-shadow:0 0 10px rgba(181, 181, 181, 0.4);
box-shadow:0 0 10px rgba(181, 181, 181, 0.4);
}
#container_title a {display:inline-block;margin-right:5px}
.fixed {position:fixed;top:0;right:0;z-index:999}
#container_title.fixed {width:100%}
/* 하단 레이아웃 */
#ft {background:#222;padding:0px 20px 20px}
#ft h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#ft p {margin:0;padding:10px 0;line-height:1.8em}
#ft_copy {padding:10px;line-height:2em;text-align:center;color:#777}
#ft_copy #ft_company {text-align:center}
#ft_copy #ft_company a {display:inline-block;padding:0 10px;line-height:1em;border-left:1px solid #333;color:#fff}
#ft_copy #ft_company a:first-child {border:0}
.ft_cnt {font-weight:normal;color:#e3e3e3;line-height:2em;text-align:center}
.ft_cnt h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#ft_copy b {color:inherit}
#ft_copy a {color:inherit;text-decoration:none}
#top_btn {position:fixed;bottom:10px;right:15px;width:50px;height:50px;line-height:36px;border:2px solid #d2d2d2;border-radius:50%;background:#fff;color:#d2d2d2;text-align:center;font-size:15px;z-index:99;}
#top_btn i {font-size:1.4em}
#top_btn:hover {background:#3b8afb;border-color:#3b8afb;color:#fff}
#device_change {display:block;line-height:40px;border-radius:5px;background:#302e2e;color:#777;font-size:1em;text-decoration:none;text-align:center}
/* ==========================================================================
[LOGICAL FIX] Mobile Navigation Panel
========================================================================== */
/* Mobile Header */
header#header #mobile-header {
position: sticky;
top: 0;
z-index: 1000;
background-color: #fff;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
header#header .mobile-header-container {
display: flex;
justify-content: space-between;
align-items: center;
height: 60px;
padding: 0 15px;
}
header#header .mobile-logo img {
height: 30px;
}
header#header .mobile-menu-open-btn {
font-size: 1.5rem;
color: #333;
background: none;
border: none;
padding: 5px;
}
/* Navigation Panel (메뉴 패널) */
header#header > #mobile-nav-panel {
position: fixed;
top: 0;
left: 0;
width: 85%;
max-width: 320px;
height: 100%;
background-color: #fff;
z-index: 1002; /* 💡 [수정] 오버레이보다 높은 z-index */
transform: translateX(-100%);
transition: transform 0.3s ease-in-out;
display: flex;
flex-direction: column;
}
header#header > #mobile-nav-panel.is-active {
transform: translateX(0);
}
/* Panel Header */
header#header > #mobile-nav-panel .mobile-nav-header {
display: flex;
align-items: center;
padding: 15px;
border-bottom: 1px solid #eee;
flex-shrink: 0;
}
header#header > #mobile-nav-panel .btn-mobile-login,
header#header > #mobile-nav-panel .btn-mobile-join {
padding: 8px 15px;
border: 1px solid #ddd;
border-radius: 5px;
font-size: 0.9rem;
margin-right: 10px;
}
header#header > #mobile-nav-panel .btn-mobile-join {
background-color: #0056b3;
color: #fff;
border-color: #0056b3;
}
header#header > #mobile-nav-panel .mobile-user-info {
font-size: 1rem;
font-weight: 700;
}
header#header > #mobile-nav-panel .mobile-menu-close-btn {
margin-left: auto;
font-size: 2rem;
background: none;
border: none;
color: #888;
}
/* GNB (Global Navigation) */
header#header > #mobile-nav-panel .mobile-gnb {
flex-grow: 1;
}
header#header > #mobile-nav-panel .mobile-gnb ul {
list-style: none;
padding: 0;
margin: 0;
}
header#header > #mobile-nav-panel .mobile-gnb li {
border-bottom: 1px solid #f5f5f5;
}
header#header > #mobile-nav-panel .mobile-gnb li a {
display: flex;
align-items: center;
padding: 15px 20px;
font-size: 1.1rem;
color: #333;
text-decoration: none;
}
header#header > #mobile-nav-panel .sub-menu-indicator {
margin-left: auto;
font-size: 0.9rem;
color: #aaa;
padding: 5px;
}
header#header > #mobile-nav-panel .sub-menu {
display: none;
background-color: #f9f9f9;
}
header#header > #mobile-nav-panel .sub-menu li a {
padding-left: 40px;
font-size: 1rem;
color: #555;
}
/* Overlay (뒷배경) */
header#header > #mobile-nav-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.5);
z-index: 1001; /* 💡 [수정] 메뉴 패널보다 낮은 z-index */
opacity: 0;
visibility: hidden;
transition: opacity 0.3s, visibility 0.3s;
}
header#header > #mobile-nav-overlay.is-active {
opacity: 1;
visibility: visible;
}
/* 화면낭독기 사용자용 */
.sound_only {display:inline-block;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0 !important;line-height:0 !important;overflow:hidden}
/* 본문 바로가기 */
.to_content a {z-index:100000;position:absolute;top:0;left:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
/* 이미지 등비율 리사이징 */
.img_fix {width:100%;height:auto}