@charset "utf-8";

body {position: relative; margin:0 auto; padding:0; width: 100%; height: 100%; color:#000; background: #fff;}

/****************************************************************************************************************************************
Header
*****************************************************************************************************************************************/
header {position: relative; width: 100%; background: #81d8d0; transition: 0.3s;}

.tnb {position: relative; z-index: 3; margin:0; padding:0; width: 100%; height: 70px; background: #81d8d0;}
.tnb-inner {position: relative; margin:0 auto; padding:0 15px; width: 1430px; height: 100%; display: flex; align-items: center;}

/* 로고 */
.logo {position: relative;}
.logo > img {cursor: pointer;}


/* top-notice */
.top-notice {margin:0 20px; padding:0 10px; width: 350px; height: 40px; line-height: 40px; color: #000; background: #77c0b9; border-radius: 40px;}

/* 로그인 전 */
.before-tnb {position: relative; margin-left:auto; display: flex; justify-content: flex-end; align-items: center; gap: 5px;}
.before-tnb > button {margin:0; padding:10px 30px; min-width: 134px; font-weight: 500; color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); border-radius: 22px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25); }

/* 로그인 후 */
.after-tnb {position: relative; margin-left:auto; padding:0;}
.after-inner {position: relative;}
ul.tnb-info {position: relative; margin: 0; padding:0; display: flex; gap: 15px; justify-content: flex-end; align-items: center;}
ul.tnb-info > li {position: relative; margin:0; padding:0; font-weight: 600; color:#0a524c;}
ul.tnb-info > li.nickname {padding: 0 15px 0 0;}
ul.tnb-info > li.nickname::before {content: ''; position: absolute; right: 0; top: 0; bottom: 0; margin: 0 auto; padding:0; height: 100%; max-height: 28px; border-right: solid 1px rgba(0, 0, 0, 0.25);}
ul.tnb-info > li.nickname > i {font-size: 20px; margin-right: 5px;}
ul.tnb-info > li > button {margin:0; padding:10px 30px; min-width: 134px; font-weight: 500; color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); border-radius: 22px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);}

.tnb-icon {position: relative; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; background: #1f9f9d; border-radius: 50%; transition: 0.3s; cursor: pointer;}
.tnb-icon > i {position: relative; font-size: 16px; color: #8cfff4; transition: 0.3s;}
.msg-cnt {position: absolute; top: 5px; right: 5px; width: 15px; height: 15px; display: flex; justify-content: center; align-items: center; font-size: 9px; color: #fff; background: #015352; border-radius: 50%;}

.drop-down.active .tnb-icon {background: #0b7775;}
.drop-down.active .tnb-icon > i {top:-3px; transition: 0.3s;}
.drop-down.active .meg-icon > i {top:0;}

.drop-menu {opacity: 0; position: absolute; top: 40px; left: 50%; transform: translateX(-50%); margin: 0; padding: 10px 15px; width: 200px; background: #c3e0e4; border: solid 3px #fff; border-radius: 15px; transition: 0.3s; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);}
.drop-down.active .drop-menu {opacity: 1;}
ul.drop-list {position:relative; margin:0; padding:0; width: 100%;}
ul.drop-list > li {position:relative; margin:0; padding:0; width: 100%; cursor: pointer;}
ul.drop-list > li > h3 {margin:0; padding:0; width: 100%; height: 25px; display: flex; gap:5px; justify-content: flex-start; align-items: center; font-size: 12px; font-weight: 600; color: #189a8e;}
ul.drop-list > li > h3 > i {margin-top:2px; font-size: 16px; color:#0a524c;}
ul.drop-list > li > p {margin:0; padding:0 10px; width:100%; line-height: 30px; text-align: left; color: #000; background: #dcf4f7; border-radius: 5px; box-shadow: 0 1px 1px rgba(59, 119, 113, 0.25);}


/*  top버튼 공통 색상 */
.btn-green {background: linear-gradient(180deg, #46c8bb, #229389); border: solid 1px #7aeae0;}
.btn-green > i {margin-right:3px; font-size: 16px; color: #81fff4;}

.btn-blue {background: linear-gradient(180deg, #25c0cf, #1c6e8d); border:1px #3be3f5 solid;}
.btn-blue > i {margin-right:3px;  font-size: 16px; color: #51eeff;}

.btn-orange {background: linear-gradient(180deg, #ffb610, #ca4100); border:1px #f58a07 solid;}
.btn-orange > i {margin-right:3px;  font-size: 16px; color: #fff;}


/* nav */
.nav {position: relative; z-index: 2; padding:0 15px; width: 100%;}
.nav-inner {position: relative; margin: 0 auto; width: 1430px; height: 60px; border: solid 1px rgba(255, 255, 255, 0.75); border-radius: 30px;}
.nav-inner::before, 
.nav-inner::after {content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1; margin: auto; width: calc(100% - 10px); height: calc(100% - 10px); background: #34ada2;border: solid 1px #17938c; border-radius: 30px;}
.nav-inner::after {opacity: 0.4; border: none; background: url('../img/main-bg.jpg') top center no-repeat; background-size: cover;}

ul.menu {position: relative; margin:0 auto; width: 100%; height: 100%; display: flex; justify-content: space-around; align-items: center;}
ul.menu > li {margin:0; padding:0 20px; height: 35px; display: flex; justify-content: center; align-items: center; font-weight: 600; color:#fff; text-shadow: rgba(0,0,0,0.5) 1px 1px 1px; border-radius: 15px; transition: 0.3s; cursor: pointer;}
ul.menu > li > i {margin-right:3px; font-size: 18px; color: #8cfff4;}
ul.menu > li.active {background: rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);}
.icon-yellow {color:#fff67c !important;}

/* sticky */
.sticky {position: fixed; left: 0; top: 0; z-index: 10; width: 100%; border-bottom: solid 1px rgba(255, 255, 255, 0.75); transition: 0.3s;}
.sticky .tnb {display: none;}
.sticky .nav {position: relative; margin: 0 auto; width: 100%; height: 60px;}
.sticky .nav::before, 
.sticky .nav::after {content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1; margin: auto; width: 100%; height:100%; background: #34ada2;}
.sticky .nav::after {opacity: 0.4; border: none; background: url('../img/main-bg.jpg') top center no-repeat; background-size: cover;}

.sticky .nav-inner,
.sticky .nav-inner::before, 
.sticky .nav-inner::after {background:none; border: none; border-radius:none;}

@media (hover: hover) and (pointer: fine) {
    .btn-green:hover {background: linear-gradient(180deg, #3bab9f, #157a71);}
    .btn-blue:hover {background: linear-gradient(180deg, #1398c9, #015879);}
    .btn-orange:hover {background: linear-gradient(180deg,#ff844a, #ac3902);}

    .tnb-icon:hover {background: #0b7775;}
    .tnb-icon:hover > i {top:-3px; transition: 0.3s;}
    .meg-icon:hover > i {top:0;}

    ul.menu > li:hover {background-color: rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);}
}

/* pc-hidden처리 */
.mo-bar,
.mo-after-tnb,
.mo-left-close,
.pc-hid {display: none;}

/****************************************************************************************************************************************
페이지 공통
*****************************************************************************************************************************************/
.container {position: relative; margin:0 auto; padding:0 15px; width: 1430px; text-align: center;}


/****************************************************************************************************************************************
footer
*****************************************************************************************************************************************/
footer {position:relative; margin:0 auto; padding:0; width: 100%; height: 130px; text-align: center;}
.ft-logo {position: relative; margin:0 auto; padding:30px 0 15px 0; width: 100%; text-align: center; font-family: 'GmarketSansBold'; font-size: 28px; color:#000;}
.copyright {margin:0 auto; padding:0 0 30px 0; width: 100%; text-align: center; color:#000;}

/* back-to-top */
.back-to-top {position: fixed; bottom: 20px; right: 30px; z-index: 10; padding: 0; width: 90px; height: 90px; background: rgba(255, 255, 255, 0.5); border-radius: 50%; box-shadow: 0 1px 2px rgba(59, 119, 113, 0.5); cursor: pointer;}
.back-to-top > i {position: absolute; left: 0; right: 0; top:6px; margin: 0 auto; text-align: center; color: #18645d; font-size: 50px; transition: 0.3s;}
.back-to-top span {position: absolute; left: 0; right: 0; bottom: 18px; margin:0 auto; padding:0; width: 100%; text-align: center; font-size: 14px; color: #555;}

@media (hover: hover) and (pointer: fine) {
    .back-to-top:hover {color: #000; background: #fff;box-shadow: 0 2px 3px rgba(59, 119, 113, 1.0);}
    .back-to-top:hover > i {top:0; color: #22ab9e;text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);}    
}

/****************************************************************************************************************************************
미디어쿼리문
*****************************************************************************************************************************************/
@media (max-width: 1460px) {
    .tnb-inner,
    .nav-inner,
    .container {width: 100%;}
}/* 미디어쿼리문 끝 */

@media (max-width: 1024px) {
    header {position: fixed; top:0; left:0; right:0; z-index: 9; height: 80px;}
    
    /* tnb */
    .tnb {height:unset;}
    .tnb-inner {padding:0; flex-wrap: wrap; justify-content: space-between;}

    /* logo */
    .logo {width: 135px; padding:5px 5px; min-height: 53px;}

    /* top-notice */
    .top-notice {position: relative; margin:0; padding:0 5px; width: 100%; height: 25px; line-height: 25px; font-size: 13px; border-radius: 0;}

    /* 모바일 메뉴바 */
    .mo-bar {display: block; position: relative; margin:0 10px 0 0; padding: 0; width: 35px; cursor: pointer;}
    .mo-bar > span {display: block; margin: 0 0 8px;  width: 100%; height: 2px; background: #000;}
    .mo-bar > span:nth-child(1) {position: relative; top: 0; margin-top: 0; transition: top .3s .3s, transform .3s 0s;}
    .mo-bar > span:nth-child(2) {margin-left: auto; width: calc(100% - 8px); opacity: 1; transition: opacity .3s;}
    .mo-bar > span:nth-child(3) {position: relative; top: 0; margin-bottom: 0; transition: top .3s .3s, transform .3s 0s;}
    .mo-bar.active > span:nth-child(1) {top: 10px; width: 100%; transform: rotate(-45deg); transition: top .3s 0s, transform .3s .3s, color .3s .3s;}
    .mo-bar.active > span:nth-child(2) {opacity: 0;}    
    .mo-bar.active > span:nth-child(3) {top: -10px; width: 100%; transform: rotate(45deg); transition: top .3s 0s, transform .3s .3s;}

    /* 모바일 일때 로그인 전후 버튼 */
    .mo-tnb {display:block; position: relative; margin:0; padding:8px 0; width: 100%; display: flex; gap: 0; justify-content: center; height: 40px; border-bottom: 1px #fff solid;}
    .mo-tnb::before, 
    .mo-tnb::after {content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1; margin: auto; width: 100%; height:100%; background: #34ada2;}
    .mo-tnb::after {opacity: 0.4; border: none; background: url('../img/main-bg.jpg') top center no-repeat; background-size: cover;}
    .mo-tnb > button {margin:0; padding:0; width: calc(100% / 2); font-weight: 500; color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); background: none; border: none; border-radius:0; box-shadow: none;}
    .mo-tnb > button:nth-child(1) {border-right: solid 1px rgba(19, 92, 85, 0.5);}
    .mo-tnb > button:nth-child(2) {border-left: solid 1px rgba(105, 236, 224, 0.5);}
    .mo-tnb > button:hover {background:none;}

    /* 모바일 로그인후 left 메뉴*/    
    .after-tnb.active {position: fixed; top: 80px; bottom:0; left:0; right:0; padding:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index: 999;}
    .after-inner {position: fixed; top: 80px; left: -240px; margin:0; padding:0 10px; width: 240px; height: 100%; background: linear-gradient(#1fa498, #057b70); border: none; border-left: solid 1px #74d1c8; border-radius: 0; transition: all 0.3s; z-index: 999; overflow-y: auto;}
    .after-inner.active {left: 0;}
    .mo-left-close {display: block; margin:0 auto; padding:5px 0; width: 100%; text-align: right;}
    .mo-left-close > i {font-size: 30px; cursor: pointer;}

    .pc-hid {display: block;}
    ul.tnb-info {gap:0; justify-content: flex-start; align-items: flex-start; flex-direction: column;}
    ul.tnb-info > li {margin:0 auto; padding:0; width: 100%;}

    ul.tnb-info > li.nickname,
    ul.tnb-info > li.message,
    ul.tnb-info > li > button.logout,
    .tnb-icon {display: none;}

    ul.drop-list > li > h3 {color:#fff;}
    ul.drop-list > li > h3 > i {color: #81fff4;}

    .drop-menu {opacity:1; position: relative; top:unset; left:unset; transform:unset; padding:0; width: 100%; background: none; border: none; box-shadow: none;}
    ul.drop-list > li {padding:10px 0; border-bottom: dashed 1px #aacace;}

    .mo-leftBtns {position: relative; margin:0 auto; padding:0; width: 100%;}
    .mo-leftBtns > button {position: relative; margin:10px auto; padding:0; width: 100%; height: 40px; display: flex; justify-content: center; align-items: center; font-weight: 500; color:#fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); border-radius: 10px;}
    .msg-cnt {top:12px; right:65px;}

    /* nav */
    .nav.active {position: fixed; top: 80px; bottom:0; left:0; right:0; padding:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index: 999;}
    .nav-inner {position: fixed; top: 80px; right: -240px; padding:0 10px; width: 240px; height: 100%; background: linear-gradient(#1fa498, #057b70); border: none; border-left: solid 1px #74d1c8; border-radius: 0; transition: all 0.3s; z-index: 999; overflow-y: auto;}
    .nav-inner::after,
    .nav-inner::before {display: none;}
    .nav-inner.active {right: 0;}

    ul.menu {margin-top:20px; flex-direction: column; align-items: flex-start; justify-content: flex-start; background: none; border: none;}
    ul.menu > li {margin:2px auto; padding:10px 15px; height: auto; justify-content: flex-start; width: 100%; text-align: left;}
}/* 미디어쿼리문 끝 */

@media (max-width: 767px) {
    .container {padding:0 5px;}
    .ft-logo {font-size: 20px;}
    .copyright {font-size: 13px;}
}/* 미디어쿼리문 끝 */