@charset "UTF-8";

/* 1. 굵은 글씨 (Bold / font-weight: 700) */
@font-face {
    font-family: 'GmarketSans';
    font-weight: 700; 
    font-style: normal;
    src: url('../fonts/GmarketSansBold.ttf') format('truetype');
}

/* 2. 기본 글씨 (Medium / font-weight: 400 or 500) */
@font-face {
    font-family: 'GmarketSans';
    font-weight: 500; /* GmarketSans는 Medium이 기본 본문용으로 적합 */
    font-style: normal;
    src: url('../fonts/GmarketSansMedium.ttf') format('truetype');
}

/* 3. 얇은 글씨 (Light / font-weight: 300) */
@font-face {
    font-family: 'GmarketSans';
    font-weight: 300;
    font-style: normal;
    src: url('../fonts/GmarketSansLight.ttf') format('truetype');
}

*, *::before, *::after { -webkit-box-sizing: inherit; box-sizing: inherit; -webkit-tap-highlight-color: transparent;}
html {overflow: hidden;overflow-y: scroll;-webkit-box-sizing: border-box;box-sizing: border-box;font-size: 10px;}
body {overflow: hidden;margin: 0;padding: 0;font-size: 1.6rem;line-height: 1.6875;color: #282828;font-weight: normal;font-family: 'GmarketSans', 'Malgun Gothic', 'AppleSDGothicNeo-Regular', sans-serif !important;, sans-serif;}
header, footer, main, section, article, nav, aside {display: block;}
ul, ol, li, dl, dt, dd {margin: 0;padding: 0;list-style: none;}
h1, h2, h3, h4, h5, h6, p, form, figure, figcaption {margin: 0;padding: 0;}
fieldset {display: block;margin: 0;padding: 0;border: 0 none;}
input, select {max-width: 100%;vertical-align: middle;}
input, select, button, textarea, optgroup {margin: 0;font-family: inherit;font-size: inherit;color: inherit;border-radius: 0;border: 1px solid #ddd;}
input { height: 1.9rem; line-height: 1.9rem; }
input:-moz-read-only, input:disabled { background: #fafafa; }
input:read-only, input:disabled { background: #fafafa; }
input[readonly] { background: #fafafa; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select::-ms-expand { display: none; }
address, em, i { font-style: normal; }
strong { font-weight: 600; }
a { color: inherit; text-decoration: none; }
button { padding: 0; border: 0 none; background: none; cursor: pointer; }
input[type='submit'] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
img { max-width: 100%; border: 0 none; font-size: 0; vertical-align: middle; }
table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
/* IR 효과 */
.ir_pm { display: block; overflow: hidden; font-size: 0; line-height: 0; text-indent: -9999px; }
/* 의미있는 이미지의 대체 텍스트를 제공하는 경우(Phark Method) */
.ir_wa { display: block; overflow: hidden; position: relative; z-index: -1; width: 100%; height: 100%; }
/* 의미있는 이미지의 대체 텍스트로 이미지가 없어도 대체 텍스트를 보여주고자 할 때(WA IR) */
.ir_su { overflow: hidden; position: absolute; width: 0; height: 0; line-height: 0; text-indent: -9999px; }
/* 대체 텍스트가 아닌 접근성을 위한 숨김 텍스트를 제공할 때 */
.blind { overflow: hidden; position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; line-height: 0; margin: -1px; }
/* 접근성을 위한 대체 텍스트(alt 값이 너무 길 때) */
#skip_nav { position: absolute; left: 0; top: -1000px; width: 100%; height: 0px; z-index: 1000; line-height: 0px; font-size: 0px; }
#skip_nav a { display: block; text-align: center; width: 100%; line-height: 0px; font-size: 0px; }
#skip_nav a:focus, #skip_nav a:hover, #skip_nav a:active { position: absolute; left: 0px; top: 1000px; padding: 8px 0; display: block; height: 30px; background: #20262c; font-size: 12px; font-weight: bold; line-height: 18px; color: #fff; }
/* optiopm */
.parallax__progress progress { position: fixed; top: 0; left: 0; z-index: 10000; width: 100%; height: 3px; border: none; background: transparent; }
progress::-webkit-progress-bar { background: transparent; }
progress::-webkit-progress-value { background: #ec661f; }
progress::-moz-progress-value { background: #ec661f; }



.fwb {font-weight: 600;}

#wrap {position: relative; overflow-x: hidden;}
/* 본문바로가기 */
#skip_menu a { position: absolute; display: block; top: 0; left: 0; width: 100%; height: 0; font-size: 0; line-height: 0; overflow: hidden; z-index: 10000; }
#skip_menu a:focus,
#skip_menu a:active { height: auto; background-color: #000; font-size: 1rem; color: #fff; font-weight: 500; text-align: center; line-height: 2rem; }

.container:after {content:'';clear: both;display: block;}

/* header */
.headmenu {position: absolute;left: 0;top: 0;z-index: 400;width: 100%;background: #fff;height: 80px;}
.header {display: flex;justify-content: space-between;align-items: center;width: 100%;margin: 0 auto;position: relative;max-width: 1450px;height: 80px;}
.header__tit a {display: flex;align-items: center;}
.header__tit .header__tit-txt { float: left; }
.header__tit .header__tit-txt img {width: 150px;}
.header__tit .logo__txt {font-size: 17px;margin: 15px 0 0 15px;font-weight: 400;}
.header__util {display: flex;align-items: flex-end;}
.header__util > a {border: 1px solid #4d9dd5;padding: 3px 12px 2px;border-radius: 18px;font-size: 16px;}
.header__util > a:hover {color: #fff;background: #ec661f !important;-webkit-transition: 0.2s;transition: 0.2s;font-weight: 500;}
.headmenu .nav_btn:hover:before, .headmenu .nav_btn:focus:before, .headmenu .nav_btn:active:before {-webkit-transform: scaleY(1);transform: scaleY(1);}
.headmenu.active.sticky .nav_btn {color: #fff;}
.headmenu.sticky {position: fixed;}
.headmenu.sticky .link {display: block;}

.header__util .webzine_issue select,
.header__util .icon_btn {
	height: 34px;
	cursor: pointer;
}


.gnb .menu2 {display: none;}
.gnb .menu {max-width: 1450px;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);width: 100%;margin-top: -80px;z-index: -1;}
.gnb .menu .gnb__list {display: flex;justify-content: space-evenly;}
.gnb .menu .gnb__list .gnb__depth-item {min-height: 130px;}
.gnb .menu .gnb__list .gnb__depth-item a {font-size: 23px;font-weight: 500;}
.gnb .menu .gnb__list .gnb__depth-item a span::before {content:'-';display: inline-block;}
.gnb .menu .gnb__list .gnb__depth-item a span {font-weight: 400;font-size: 18px;display: flex;gap: 5px;}
.gnb .menu .gnb__list .gnb__depth-item:hover a {color: #2396db;}
.gnb__list .gnb__item > a {font-size: 32px;font-weight: 800;background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
.gnb__item .tab1 {background: linear-gradient(90deg, rgb(20 30 168) 0%, rgba(59, 222, 255, 1) 100%);}
.gnb__item .tab2 {background: linear-gradient(90deg, rgba(255,54,54,1) 0%, rgba(252,176,69,1) 100%);}
.gnb__item .tab3 {background: linear-gradient(90deg, rgba(34,193,195,1) 0%, rgba(253,187,45,1) 100%);}
.gnb__item .tab4 {background: linear-gradient(90deg, #beff44 0%, #1ea1ff 100%);}

#gnb {width: 100%;position: fixed;background: #ffffff;overflow: hidden;top: 0;transform: translateY(0);opacity: 0;transition: all 1s;margin-top: 80px;height: 0;}
#gnb.active {opacity: 1;height: 100vh;background: hsl(0deg 0% 100% / 97%);}
.webzine_issue span.txt {display: block;color: #333;font-weight: 500;text-align: right;}
.webzine_issue .issue_btn, .webzine_issue .issue_btn1 {color: #fff;font-weight: 400;border-radius: 0;background-color: #000;border: none;width: 40px;height: 30px;margin-left: 5px;}
.webzine_issue.mobile { display: none; padding: 0 0.25rem; margin-bottom: 0.5rem; }

.img_tit{font-size: 18px; font-weight: bold;text-align: left}
.mo_links {display: none;}
.mo_util {opacity: 0;display: none;}

/* common */
.mhid {display: block; }
.visual_mhid {display: inline-block; }
.mshow {display: none; }
.visual_mshow {display: none; }
.mhid_960 {display: block; }
.mshow_960 {display: none; }

.top_btn {position: absolute;right: 0;bottom: 0;z-index: 100;width: 65px;height: 65px;text-align: center;background: #2098D1;color: #fff;padding: 1.4rem 0;}
.top_btn>* { display: block; line-height: 1; }
.top_btn span { font-size: 1.5rem; margin-top: 5px; letter-spacing: 1px; }
.top_btn i {display: block;-webkit-transform: translateZ(0);transform: translateZ(0);}
.top_btn:hover i { -webkit-animation-name: hvr-icon-up; animation-name: hvr-icon-up; -webkit-animation-duration: 0.75s; animation-duration: 0.75s; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; }
@keyframes hvr-icon-up {
  0%,
	50%,
	100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
	75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}


@charset "UTF-8";

/* 1. 헤더 레이아웃 재정렬 */
.header__util {
    display: flex;
    align-items: center; /* 수직 중앙 정렬 */
    gap: 10px; /* 아이템 간 간격 */
}

/* 2. 셀렉트 박스 스타일 */
.webzine_issue {
    position: relative;
}

.webzine_issue select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    border: 1px solid #4d9dd5;
    border-radius: 18px;

    font-weight: normal;

    padding: 0 26px 0 16px; /* 화살표 공간 마련 */
}

/* ▼ 화살표 */
.webzine_issue::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 14px;
    width: 8px;
    height: 8px;
	cursor: pointer;
	pointer-events: none; /* 해당 요소는 마우스 이벤트를 완전히 무시 클릭이 아래에 있는 select로 그대로 전달함 */
    border-right: 2px solid #2d8acd;
    border-bottom: 2px solid #2d8acd;

    transform: translateY(-60%) rotate(45deg);
}

/* 관리자 버튼 전용 스타일 */
.admin_btn_custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px; /* 옆에 있는 버튼들과 높이 맞춤 */
    padding: 0 12px;
    margin-right: 5px;
    background-color: #333; /* 진한 회색 배경 */
    color: #fff !important; /* 글자색 흰색 강제 */
    border-radius: 30px; /* 둥근 모서리 */
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    vertical-align: middle;
}

.admin_btn_custom:hover {
    background-color: #555; /* 호버 시 약간 밝아짐 */
    transform: translateY(-1px); /* 살짝 떠오르는 효과 */
}

/* 톱니바퀴 아이콘 (유니코드) */
.admin_icon_gear {
    font-style: normal;
    font-size: 16px;
    margin-right: 4px;
    line-height: 1;
    position: relative;
    top: -1px; /* 미세 위치 조정 */
}


/* 3. 헤더 버튼 스타일 */
.icon_btn {
    padding: 3px 12px 2px;
    border-radius: 18px;
    color: #282828; /* 기본 글자색 */
    background: #fff; /* 기본 배경색 */
}



/* 모바일 대응 (화면이 작아질 때) */
@media (max-width: 850px) {
    .header__tit .logo__txt {
        display: none; /* 모바일에서 긴 제목 숨김 */
    }
    .header__util {
        /* 모바일에서도 유틸리티 메뉴가 보이도록 조정 */
        display: flex; 
    }
}



/* =========================================
 *  갤러리 카드 디자인 보완
 * ========================================= */
 

/* 카드 안의 링크 */
.gallery_item_box a {
    display: block;
    height: 100%;
    padding-bottom: 20px; /* 텍스트 아래 여백 */
}

/* 이미지 스타일 조정 */
.gallery_item_box figure {
    margin: 0;
    width: 100%;
    /* 이미지가 카드 위쪽에 딱 붙게 하려면 패딩 제거, 
       여백을 주고 싶으면 padding 추가 */
    padding: 20px 20px 0 20px; 
}

.gallery_item_box img {
    position: relative !important; /* 기존 absolute 덮어쓰기 */
    width: 100%;
    border-radius: 15px; /* 이미지 자체도 살짝 둥글게 */
    bottom: auto !important; /* 기존 CSS 간섭 제거 */
    left: auto !important;
}

/* 텍스트 스타일 */
.gallery_item_box .tit {
    padding: 15px 20px 0; /* 텍스트 여백 */
    font-weight: bold;
    color: #333;
    text-align: center;
    word-break: auto-phrase;
    font-size: 1.25em;
}

/* 마우스 올렸을 때 효과 */
.gallery_item_box:hover {
    transform: translateY(-10px); /* 위로 살짝 떠오름 */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* 그림자 */
}



.header__util .dark:focus,
.header__util .nav_btn:focus,
.webzine_issue select:focus {
    outline: none;
    box-shadow: none;
}

body.dark_active .headmenu,
body.dark_active .header {
    background-color: #282828 !important; /* 어두운 배경 */
}

/* 헤더 내의 모든 텍스트/링크 흰색으로 */
body.dark_active .header__tit a,
body.dark_active .header__tit .logo__txt,
body.dark_active .webzine_issue select,
body.dark_active .detail_block .txt {
    color: #fff !important;
}

/* 헤더 버튼들 다크모드 */
body.dark_active .webzine_issue select,
body.dark_active .headmenu .icon_btn {
    background-color: #333;
    border-color: #555;
    color: white;
}

body.dark_active .webzine_issue::after {
	border-color: white;
}



/* footer */
#footer > div {padding: 20px 0;}
#footer .f_top {background: #ebebeb;}
#footer .f_top p {line-height: 2;font-size: 17px;}
#footer .f_top .link {font-weight: 500;border: 1px solid #6b6b6b;padding: 5px 10px;border-radius: 20px;margin-left: 10px;font-size: 16px;}
#footer .f_middle {background: #dbdbdb;color: #3791d0;font-size: 17px;position: relative;}
#footer .f_middle .container {display: flex;gap: 50px;}
#footer .f_bottom {background: #d6e1ca;text-align: right;}
#footer .f_bottom ul li {display: inline-block;margin-left: 10px;}
#footer .f_bottom .container {display: flex;justify-content: flex-end;align-items: center;}
#footer .f_bottom i {font-size: 2.5em;vertical-align: middle;width: 60px;height: 60px;background: #fff;line-height: 60px;border-radius: 100%;text-align: center;}
#footer .f_bottom ul {margin-left: 10px;}
#footer .f_bottom .naver-blog {display: inline-block;background: #fff url(../images/common/f_blog.png) 50% 50% no-repeat;background-size: 70% 68%;}

@media (max-width: 1450px) {
  .header {padding: 0 10px;}
  .gnb__wrap {display: none;}
  #footer > div {padding: 20px 10px;}
}

@media (max-width: 1240px) {
  #gnb li {min-height: auto;margin-bottom: 20px;}
  .gnb .menu {width: 95%;margin-top: 0;}
  .gnb .menu .gnb__list {gap: 15px;}
  .gnb .menu .gnb__list .gnb__depth-item a {font-size: 20px;}
  .gnb .menu .gnb__list .gnb__depth-item a span {font-size: 16px;}
}

@media (max-width: 850px) {
	#gnb.active {overflow: scroll;padding-bottom: 80px;}
  .header__util a, .last_view, .header__tit .logo__txt {display: none;}
  .gnb.active .mo_util {display: block;opacity: 1;}
  .gnb .menu {transform: translate(-50%, 0%);top: 20px;position: relative;padding-bottom: 30px;}
  .mo_util .header__util a {display: block; margin-bottom: 0;}
  .mo_util .last_view {display: block;margin-bottom: 15px;}
  .webzine_issue {padding: 0;text-align: center;border-top: 1px dashed #b1afaf;padding-top: 15px;width: 95%;margin: 0 auto;}
  .webzine_issue span.txt {text-align: center;}
  .mo_util .header__util .logo__txt {flex: 1;font-weight: 400;}
}

@media (max-width: 768px) {
  .gnb .menu .gnb__list {flex-wrap: wrap;justify-content: space-between;gap: 0;}
  .gnb .menu .gnb__list .gnb__item {width: 48%;margin-bottom: 0 !important;}
  .gnb .menu .gnb__list .gnb__depth-item {width: 100%;}
  #footer .f_middle, #footer .f_bottom {padding: 20px 10px 0;}
  #footer .f_middle .container, #footer .f_bottom .container {flex-direction: column;gap: 17px;}
  .top_btn i {animation: hvr-icon-up 3s steps(20) infinite;}
	.top_btn:hover i {animation: hvr-icon-up 3s steps(20) infinite;}
}

@media (max-width: 650px) {
  #footer .f_top div {display: flex;}
  #footer .f_top p {display: flex;flex-direction: column-reverse;gap: 10px;line-height: 1.4;justify-content: flex-end;align-items: flex-start;margin: 0 5px;font-size: 15px;word-break: keep-all;}
  #footer .f_top .link {margin-left: 0;font-size: 14px;padding: 5px 6px 3px;}
	.top_btn {width: 4.5rem;height: 4.5rem;padding: 1rem 0 0;top: 0;bottom: auto;}
	.top_btn span {margin-top: 0;font-size: 1.2rem;}
}

@media (max-width: 600px) {
  .header__tit .logo__txt {display: none;}
}

@media (max-width: 500px) {
  #gnb li {margin-bottom: 15px;}
	.gnb .menu .gnb__list {opacity: 0;transition: all 1s;}
	.gnb.active .menu .gnb__list {opacity: 1;}
  .gnb .menu .gnb__list .gnb__item {width: 100%;}
  #footer .f_middle {font-size: 15px;line-height: 1.4;text-align: justify;}
}

@media (max-width: 414px) {
  .gnb .menu .gnb__list .gnb__depth-item a {font-size: 18px;}
}

@media (max-width: 320px) {

}