﻿.sec-title { font-weight: 700; }
.sec-title > a { display: inline-block; position: relative; font-weight: 700; }
.sec-title > a::after { content: ''; display: block; border-bottom: 2px solid #39c0c7; position: absolute; left: 0; right: 0; }

section.hero { padding: 0; }
.hero {
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden; 
}
.hero .slogan { color: #fff; }
.hero .slogan > span,
.hero .slogan > strong {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; 
    animation-name: fadeInSlogan;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
}
.hero .slogan > span { font-weight: 100; }
.hero .slogan > strong { font-weight: 700; animation-delay: 0.6s; }
.hero .hero-btn { position: relative; color: #fff; font-weight: 700; text-align: center; }
.hero .hero-login { background-color: #39c0c7; }
.hero .hero-join > a { color: #fff; font-weight: 700; text-decoration: underline; }
.hero .user-info > span.name { font-weight: 700; }
.hero .user-info .hero-logout { background-color: #343c45; font-weight: 700; color: #fff; }
.hero .user-info .hero-logout:hover { background-color: #424f5f; }
.hero .hero-remote { background-color: #f37168; }
.hero .hero-fadein-animation { 
    opacity: 0;
    animation-name: fadeIn;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out;
    animation-delay: 1.4s; 
}
.hero .hero-fadein-animation + .hero-fadein-animation { animation-delay: 1.7s; }
.hero .hero-fadein-animation + .hero-fadein-animation + .hero-fadein-animation { animation-delay: 2s; }

@media only screen and (min-width: 961px) {
    section { padding: 80px 0; }
    .sec-title { font-size: 24px; margin-bottom: 35px; }
    .sec-title > a { font-size: 14px; margin-left: 10px; }
    .sec-title > a::after { bottom: -5px; }
    .sec-title > a:hover::after { border-bottom-color: #f37268; }
    .hero { height: 700px; background-image: url('../images/hero_bg.jpg'); }
    .hero .slogan { font-size: 56px; margin-bottom: 30px; }
    .hero .slogan > span, .hero .slogan > strong { display: inline-block; }
    .hero .hero-btn {
        width: 320px;
        -webkit-transition: transform .2s ease-in-out;
        -moz-transition: transform .2s ease-in-out;
        -o-transition: transform .2s ease-in-out;
        transition: transform .2s ease-in-out;
    }
    .hero .hero-btn:hover {
        -webkit-transform: scale(1.05);
        -moz-transform: scale(1.05);
        -o-transform: scale(1.05);
        transform: scale(1.05);
    }
    .hero .hero-login {
        height: 80px; border-radius: 40px;
        font-size: 24px; padding: 24px 60px 24px 30px;
        margin-bottom: 20px;
    }
    .hero .hero-login img { margin-right: 54px; height: 24px; width: auto; padding-bottom: 2px; }
    .hero .hero-join { font-size: 16px; color: #fff; }
    .hero .hero-join > a { margin-left: 15px; font-size: 18px; }
    .hero .user-info > span { font-size: 20px; color: #fff; }
    .hero .user-info > br { display: none; }
    .hero .user-info .hero-logout {
        height: 40px; border-radius: 20px;
        padding: 0 40px; line-height: 40px;
        font-size: 14px; margin-left: 20px; 
    }
    .hero .hero-remote {
        margin-top: 40px; 
        height: 48px; border-radius: 24px;
        font-size: 20px; padding: 10px 20px;
    }
    
}
@media only screen and (max-width: 960px) {
    section { padding: 40px 0; }
    .sec-title { font-size: 20px; margin-bottom: 20px; }
    .sec-title > a { font-size: 13px; margin-left: 10px; }
    .sec-title > a::after { bottom: -3px; }
    .hero { height: 520px; text-align: center; background-image: url('../images/hero_bg_mobile.jpg'); }

    .hero .slogan { font-size: 38px; margin-top: 40px; margin-bottom: 30px; line-height: 1.24; }
    .hero .slogan > span, .hero .slogan > strong { display: block; }
    .hero .slogan > strong { margin-left: -8px; }
    .hero .hero-login {
        height: 60px; border-radius: 30px;
        font-size: 20px; padding: 16px 30px;
        margin-bottom: 20px;
    }
    .hero .hero-login img { margin-right: 16px; height: 20px; width: auto; padding-bottom: 2px; }
    .hero .hero-join { font-size: 16px; color: #fff; }
    .hero .hero-join > a { display: block; font-size: 18px; margin-top: 5px; }
    .hero .user-info > span { font-size: 20px; color: #fff; }
    .hero .user-info .hero-logout {
        height: 40px; border-radius: 20px;
        padding: 0 40px; line-height: 40px;
        font-size: 14px; 
    }
    .hero .hero-remote {
        margin-top: 40px; 
        height: 40px; border-radius: 20px;
        font-size: 16px; padding: 8px 20px;
    }
}

@keyframes fadeInSlogan {
    0% { 
        opacity: 0;
        -webkit-transform: translateX(20px);
        -moz-transform: translateX(20px);
        -o-transform: translateX(20px);
        transform: translateX(20px);
    }
    100% { 
        opacity: 1;
        -webkit-transform: translateX(0px);
        -moz-transform: translateX(0px);
        -o-transform: translateX(0px);
        transform: translateX(0px);
    }
}

@keyframes fadeIn {
    0% { 
        opacity: 0;
    }
    100% { 
        opacity: 1;
    }
}


/* Message */
.message { position: relative; background-color: #e4e4e4; border: 1px solid #dedede; }
.message.message-warning { background-color: #f37268; border-color: #e26056; color: #fff; }
.message.message-success { background-color: #39c0c7; border-color: #31b6bd; color: #fff; }
.message .close-alarm { text-indent: -9999px; font-size: 0px; position: absolute; display: block; background-color: transparent; }
.message .close-alarm:before,
.message .close-alarm:after { content: ''; display: block; background-color: #fff; position: absolute; left: 50%; top: 50%;  }
.message .close-alarm:before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.message .close-alarm:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 대시보드 */
.dashboard { margin-bottom: 40px; }
.dashboard > div { padding: 30px; }
.dashboard .summary { background-color: #fff; border: 1px solid #e7e7e7; margin-top: -1px; margin-left: -1px; }
.dashboard .summary > div { overflow: hidden; }
.dashboard .summary .sum-icon img { width: 100%; height: auto; }
.dashboard .summary .value { font-weight: 700; line-height: 1.3; }
.dashboard .summary .value span { vertical-align: baseline; }
.dashboard .summary .value em { font-style: normal; vertical-align: baseline; }
.dashboard .summary .desc { line-height: 1.4; }
.dashboard .graph { margin-bottom: 0; }
.dashboard .graph .box-header { border-bottom: none; }

/* UI */
.ui-fold  { cursor: pointer; }
.ui-fold .arrow {
    position: relative; top: 2px; 
    border: solid #999; border-width: 0 2px 2px 0; padding: 5px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    -webkit-transition: transform .3s;
    transition: transform .3s, top .3s;
}
.ui-fold.ui-folded .arrow { top: -4px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }



.label {
    display: inline-block; position: relative;
    background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 3px;
    color: #666; font-size: 12px; padding: 4px 8px; margin-right: 8px;
}
.label.label-reply { background-color: #00b8d8; margin-left: 20px; }
.label.label-reply:before { content: '\2515'; color: #999; position: absolute; left: -20px; top: 0; }

/* List */
.list-A, .list-B { margin-bottom: 0; padding-left: 0; }
.list-A > li { padding-left: 12px; position: relative; list-style: none; text-align: left; }
.list-A > li:before { content:'\00B7'; position: absolute; left: 0; top: 0; font-weight: bold; }
.list-B { margin-bottom: 0; padding-left: 0; }
.list-B > li { padding: 8px 10px; list-style: none; border-bottom: 1px solid #e0e0e0; text-align: left; }
.list-B > li:last-child { border-bottom: none; }




/* 마이페이지 */
.submenus { padding-bottom: 20px; }
.submenus:before, .submenus:after { content: ''; display: table; }
.submenus:after { clear: both; }
.submenus > li { float: left; margin-left: -1px; margin-bottom: 6px; }
.submenus > li > a {
    display: block; border: 1px solid #ccc; padding: 10px 14px;
    font-size: 14px; color: #666; background-color: #fff; 
}
.submenus > li.active > a { background-color: #f37268; color: #fff; border-color: #f37268;}


/* 게시글 상세 */
.article { background-color: #fff; border: 1px solid #e1e1e1; margin-bottom: 10px; }
.article-header { position: relative; }
.article-header .article-title .status { display: inline-block; background-color: #666; color: #fff; }
.article-header .article-title .status.status-ing { background-color: #f37268; }
.article-header .article-subinfo span { color: #999; }
.article-body .cke_chrome { border: none; }
.article .attached-file { padding-top: 0; }
.article .attached-file ul { border-left: none; border-right: none; border-top: none; border-bottom: 1px solid #e8e8e8; background-color: #f9f9f9; }
.article-footer { border-top: 1px solid #e8e8e8; }
.article-comment { background-color: #f8f8f8; position: relative; border-top: 1px solid #e1e1e1; }
.article-comment .comment-info .label.label-reply { display: inline-block; }
.article-comment .comment-info p { font-weight: 700; color: #777; }
.article-comment .comment-info p.date { font-weight: 400; color: #aaa; letter-spacing: 0; }
.article-comment .reply-delete { position: absolute; }

.reply { margin-top: 25px; }
.reply-title { font-size: 14px; font-weight: bold; color: #666; margin-bottom: 10px; }
.reply-read { background-color: #fff; border: 1px solid #e1e1e1; margin-bottom: 10px; }
.reply-read ul { padding: 0; }
.reply-read ul li { list-style: none; padding: 16px 20px; display: flex; border-bottom: 1px solid #e8e8e8; }
.reply-read ul li:last-child { border-bottom: none; }
.reply-read .reply-name { font-size: 14px; color: #666; font-weight: bold; min-width: 100px; line-height: 1.4; }
.reply-read .reply-content { flex-grow: 1; font-size: 14px; color: #666; line-height: 1.4; margin-right: 10px; word-break: break-word; }
.reply-read .reply-date { font-size: 11px; color: #999; line-height: 20px; letter-spacing: 0; min-width: 125px; }
.reply-read .reply-delete { margin-left: 10px; }
.reply-write { display: flex; }
.reply-write textarea { flex: 1; height: 80px; }
.reply-write .add-reply {
    margin-left: 5px;
    background-color: #abb4b6; border-color: #9aa6a9;
    color: #fff; font-size: 14px; font-weight: bold;
    width: 80px; height: 80px; line-height: 1.2; padding: 0; 
}
.auth-disable { background-color: #f1f1f1; color: #ccc; }
.auth-able { background-color: #ddfeff; color: #1e9aa0; }

.editor-content { border: 1px solid #e0e0e0; background-color: #fff; border-radius: 0.25rem; padding: 8px 10px; width: 100%; min-height: 36px; }
.editor-content.readonly { background-color: transparent; border-color: transparent; }
.editor-content.readonly:focus { outline: none; }
textarea.editor-content.readonly { resize: none; }

@media only screen and (min-width: 961px) {
    .article { margin-bottom: 10px; }
    .article-header { padding: 20px; }
    .article-header .article-title { padding-right: 220px; }
    .article-header .article-title .title { font-size: 20px; font-weight: 700; }
    .article-header .article-title .status { font-size: 14px; height: 30px; line-height: 30px; padding: 0 10px; margin-right: 14px; }
    .article-header .article-subinfo { position: absolute; right: 16px; top: 16px; }
    .article-header .article-subinfo span { margin: 0 8px; font-size: 14px; color: #999; }
    .article-body { padding: 20px; min-height: 400px; }
    .article .attached-file h6 { padding-left: 10px; }
    .article-footer { padding: 10px; }
    .article-comment { padding: 18px 20px; min-height: 64px; }
    .article-comment .comment { padding-left: 120px; }
    .article-comment .comment-info { position: absolute; top: 12px; left: 20px; bottom: 20px; width: 110px; }
    .article-comment .comment-info .label.label-reply { Margin-bottom: 12px; margin-left: 14px; }
    .article-comment .comment-info p { font-size: 12px; margin-bottom: 4px; }
    .article-comment .reply-delete + .comment { padding-right: 40px; }
    .article-comment .reply-delete { right: 20px; top: 16px; }
}
@media only screen and (max-width: 960px) {
    .article { margin-bottom: 10px; }
    .article-header { padding: 15px; }
    .article-header .article-title .title { font-size: 18px; font-weight: 700; }
    .article-header .article-title .status { font-size: 14px; height: 30px; line-height: 30px; padding: 0 10px; margin-right: 14px; }
    .article-header .article-title .label { margin-bottom: 8px; }
    .article-header .article-title .label + span { display: block;}
    .article-header .article-subinfo { margin-top: 6px; }
    .article-header .article-subinfo span { margin-right: 8px; font-size: 13px; color: #999; }
    .article-body { padding: 15px; min-height: 400px; }
    .article .attached-file h6 { padding-left: 10px; }
    .article-footer { padding: 10px; }
    .article-comment { padding: 18px 20px; min-height: 64px; font-size: 14px; }
    .article-comment .comment-info {  margin-bottom: 4px;}
    .article-comment .comment-info .label.label-reply { margin-bottom: 12px; margin-left: 14px; }
    .article-comment .comment-info p { display: inline-block; font-size: 12px; }
    .article-comment .comment-info p.date { margin-left: 6px; }
    .article-comment .reply-delete + .comment { padding-right: 40px; }
    .article-comment .reply-delete { right: 20px; top: 16px; }
}

/* ADPs 소개 */
.pdf-container { position: relative; padding-bottom: 60%; height: 0; overflow: hidden; }
.pdf-container #pdfview { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

/* 캠페인 목록 */
.campaign-list .form-search { margin-bottom: 20px; }
.campaign-list a { display: inline-block; }
.campaign-list tbody td { padding-left: 14px; padding-right: 14px; padding-top: 0; padding-bottom: 0; }
.campaign-list .cplink {
    height: 70px; text-align: left;
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.campaign-list .cplink a { vertical-align: middle; }
.campaign-list .group .cplink a { font-weight: 700; }
.campaign-list .group .cplink a::before {
    content: "\ED6F";
    font-family: remixicon;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
    color: #9ea4ab;
    margin-right: 8px; 
    transform: translateY(-1px);
}
.campaign-list .child td { background-color: #f9f9f9; }
.campaign-list .child { position: relative; }
.campaign-list .group + .child::after {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; height: 4px; 
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);

}
.campaign-list .child .cplink { padding-left: 26px; position: relative; }
.campaign-list .child .cplink::before,
.campaign-list .child .cplink::after { content: ""; display: block; position: absolute; }
.campaign-list .child .cplink::before { width: 1px; left: 7px; top: 0; bottom: 0; border-left: 1px dotted #999; }
.campaign-list .child .cplink::after { width: 10px; height: 1px; left: 7px; top: 50%; border-top: 1px dotted #999; }
.campaign-list .child.child-last .cplink::before { bottom: 50%; }
.campaign-list img { border: 1px solid #e4e4e4; height: 50px; width: auto; }

/* 캠페인 상세 */
.report-summary { background-color: #e7eaee; border: 1px solid #d0d5da; margin-bottom: 14px; padding: 12px 20px 10px; }
.report-summary dt, .report-summary dd { display: inline-block; }
.report-summary dt { font-size: 13px; color: #86909b; font-weight: 700; margin-right: 10px; }
.report-summary dd { font-size: 14px; margin-left: 0; }
.report-summary dd .empty-info { color: #999; }

.graph { position: relative; width: 100%; }
/*.report-major .graph { height: 480px; }*/
/*.report-minor .graph { height: 250px; }*/
.reports { margin-bottom: 40px; }
.reports > div[class^="report-"] { margin: 0 -10px; }
.reports > .flex > div { padding: 10px; }

.report-major div:first-of-type .box-body { padding-bottom: 0; }
/*
.report-major .prices,
.report-major .counts { width: 316px; }
    */
.report-price-count { min-width: 300px; }
.report-price-count .box + .box { margin-top: 20px; }
.report-major .prices > div { padding: 5px 0; position: relative; padding-left: 80px; }
.report-major .prices dt { position: absolute; left: 0; top: 10px; font-size: 16px; font-weight: 500; }
.report-major .prices dd { text-align: right; white-space: nowrap; }
.report-major .prices dd strong { font-size: 24px; }
.report-major .prices dd em { font-size: 16px; font-style: normal; margin-left: 10px; }
.report-major .counts > div { padding: 18px 20px 8px; }
.report-major .counts > div + div { border-top: 1px solid #d7dce0; }
.report-major .counts dt { position: relative; font-size: 16px; font-weight: 500; margin-bottom: 10px; }
.report-major .counts dt .counts-help {
    position: absolute; right: 0; top: 0;
    font-size: 13px; font-weight: 500; color: #8d96a0; }
.report-major .counts dd { font-size: 28px; text-align: right; line-height: 1.2; white-space: nowrap; }
.report-major .counts dd span,
.report-major .counts dd strong { font-weight: 700; }
.report-major .counts dd strong { font-size: 56px; }
.report-major .counts dd em { font-size: 24px; font-style: normal; margin-left: 10px; }

.report-material { margin-bottom: 30px; }
.report-material ul > li { margin-bottom: 20px; }
.report-material ul > li:last-of-type { margin-bottom: 0px; }
.report-material ul > li .box { padding: 20px; background-color: #e7ebee; border-color: #d8dcdf; text-align: center; }
.report-material .image-gallery { display: inline-block; border: 1px solid #d7d8da; cursor: pointer; }
.report-material .image-gallery img { width: auto; height: auto; max-width: 100%; }
.report-material .tag {
    position: absolute; left: 20px; top: 20px; 
    display: inline-block; padding: 4px 6px; 
    font-size: 11px; color: #fff; 
    background-color: #343c45; border-radius: 4px;
}
.report-material ul > li p { font-size: 12px; color: #666; margin-bottom: 0; padding-top: 18px; }

@media (min-width: 961px) {
    .report-summary::before, .report-summary::after { content: ''; display: table; }
    .report-summary::after { clear: both; }
    .report-summary > div { float: left; padding-right: 25px; }
    .report-summary > div + div { padding-left: 20px; border-left: 1px solid #b3b7bc; }
}
@media (max-width: 960px) {
    .report-summary > div + div { margin-top: 8px; }
    .report-summary dt { width: 80px; }
    .report-material ul > li { margin-bottom: 10px; }
    .report-material ul > li .box { padding: 10px; }
    .report-material ul > li p { font-size: 11px; padding-top: 10px; }
}




.table.table-sticky thead th { top: 99px; }
.table.table-sticky thead th[colspan],
.table.table-sticky thead th[rowspan] { top: 70px; }

.tree { overflow-y: auto; }
.tree ul { position: relative; }
.tree li { list-style: none; padding-left: 27px; }
.tree li a { padding: 6px 0; color: #666 !important; text-decoration: none !important; display: block; position: relative; cursor: pointer; }
.tree li a:hover { background-color: #e7e7e7; }
.tree li a.atc-child:hover { background-color: #39c0c7; color: #fff !important; }
.tree li a.atc-parent span { font-size: 16px; }
.tree li a.atc-parent + ul { padding: 5px 0 15px; }
.tree > li { padding-left: 0; border-bottom: 1px solid #d7d7d7; }
.tree > li > ul { display: none; }
.tree > li > a { padding: 13px 0; }
.tree .fold { display: block; width: 13px; height: 13px; background-image: url(../images/icon_treefold.png); float: left; margin: 1px 7px; }
.tree .fold.folded { background-position-x: -13px; }
.tree span { display: block; float: left; font-size: 14px; text-align: left; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.tree span[class^="code"] { padding-left: 10px; }
.tree a.current, .tree a.current:hover { background-color: #e7f6fc; }
.tree ul:before { content: ''; display: block; position: absolute; left: 13px; top: -14px; bottom: 24px; border-left: 1px dotted #bbb; }
.tree li a:before { content: ''; display: block; position: absolute; left: -12px; top: 16px; width: 13px; border-top: 1px dotted #bbb; }
.tree a.current:before { width: 8px; }
.tree > li > a:before { content: none; }


/* 서브페이지 공통 */
.sub-header { width: 100%; background-color: #8baaaf; background-repeat: no-repeat; background-size: cover; background-position: center center; }
.sub-header h1 { color: #fff; text-align: center; font-weight :700; }

@media only screen and (min-width: 961px) { /* desktop */
    .sub { padding-bottom: 100px; }
    .sub-header { height: 200px; padding-top: 50px; }
    .sub-header h1 { font-size: 32px; }
}
@media only screen and (max-width: 960px) { /* mobile */
    .sub { padding-bottom: 40px; }
    .sub-header { height: 180px; padding-top: 85px; }
    .sub-header h1 { font-size: 32px; }
}


/* 고객센터 */
.search-faq { position: relative; margin: 0 auto; border-bottom: 2px solid #666; }
.search-faq .search-box { position: relative; cursor: text; }
.search-faq .search-box .input-placeholder { color: #ccc; }
.search-faq .search-box input[type="text"] {
    position: absolute; left: 0; right: 0; top: 0; bottom: 0;
    display: block; width: 100%; height: 100%;
    background-color: transparent; border: none; outline: none; color: #222;
}
.search-faq .search-box input[type="text"]:focus { outline: none; }
.search-faq .button-search { position: absolute; }
.search-faq .button-search i { color: #222; }
.search-faq .button-cancel { position: absolute; display: none; }
.search-faq .button-cancel i { color: #ccc; }
.search-faq.form-focus .button-cancel { display: block; }
.search-faq.form-focus .search-box .input-placeholder { display: none; }
.sub-header .support > div { vertical-align: middle; }
.sub-header .support > div > div { display: inline-block; }
.sub-header .support .support-title { color: #fff; }
.sub-header .support .support-phone > span, 
.sub-header .support .support-phone > a { font-weight: 200; color: #fff; }

.faq-list h2 { font-weight: 400; }
.faq > li { position: relative; background-color: transparent; border-bottom: 1px solid #dcdcdc; }
.faq > li:first-child { border-top: 1px solid #dcdcdc; }
.faq > li.active { background-color: #fff; border: 1px solid #666; }
.faq > li > div { position: relative; }
.faq > li .qst { color: #666; cursor: pointer; }
.faq > li.active .qst { color: #222; font-weight: 700; }
.faq > li .asw { display: none; }
.faq > li .asw ol li { list-style-type: decimal; }
.faq > li .qst .arrow {
    display: block;
    position: absolute; 
    border: solid #999; border-width: 0 2px 2px 0; 
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: transform .2s;
    transition: transform .2s, top .2s;
}
.faq > li.active .qst .arrow { border-color: #666; -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }

.contact .map-container { position: relative; z-index: 1; margin: 0 auto; }
.contact .map { width: 100%; }    
.contact .company { text-align: center; }
.contact .company > .company-name h3 { font-weight: 700; color: #222; }
.contact .company > .company-name p { color: #222; margin: 0; }
.form-contact { text-align: center; }
.form-contact .form input, .form-contact .form textarea { width: 100%; background-color: #efefef; border: none; border-radius: 0px; }
.form-contact .form input[type="text"] { height: 50px; line-height: 50px; padding: 0 16px; }
.form-contact .form input::-webkit-input-placeholder { font-size: 16px; color: #adadad; }
.form-contact .form input:-ms-input-placeholder { font-size: 16px; color: #adadad; }
.form-contact .form input::placeholder { opacity: 1; }
.form-contact .form textarea::-webkit-input-placeholder { font-size: 16px; color: #adadad; }
.form-contact .form textarea:-ms-input-placeholder { font-size: 16px; color: #adadad; }
.form-contact .form textarea::placeholder { opacity: 1; }

.form-contact button[type="submit"] { display: inline-block; font-weight: 700; color: #fff; text-align: center; background-color: #f37268; }

.term-menu { overflow: hidden; text-align: center; }
.term-menu li { display: inline-block; }
.term-menu li a { display: block; font-weight: 300; color: #666; }
.term-menu li.active a:hover,
.term-menu li.active a { font-weight: 700; color: #343c45; border-bottom: 2px solid #343c45; }
.term p.t-h1 { font-weight: bold; }
.term ol > li { list-style-type: decimal; }

@media only screen and (min-width: 961px) { /* desktop */
    .search-faq { width: 680px; height: 60px; padding: 0 60px; margin-bottom: 70px; }
    .search-faq .search-box { height: 60px; }
    .search-faq .search-box .input-placeholder,
    .search-faq .search-box input[type="text"] { font-size: 20px; line-height: 60px; }
    .search-faq .button-search { left: 15px; top: 15px; width: 30px; height: 30px; }
    .search-faq .button-search i { font-size: 30px; }
    .search-faq .button-cancel { right: 15px; top: 15px; width: 30px; height: 30px; }
    .search-faq .button-cancel i { font-size: 24px; }
    .sub-header .support { margin-top: 40px; text-align: center; }
    .sub-header .support > div { padding: 0 20px; display: inline-block; }
    .sub-header .support > div:first-child { border-right: 1px solid rgba(255,255,255,.5); }
    .sub-header .support .support-title { font-size: 16px; margin-right: 20px; }
    .sub-header .support .support-phone > span, 
    .sub-header .support .support-phone > a { font-size: 20px; }

    .faq-list { padding: 20px 0; }
    .faq-list h2 { font-size: 24px; margin-bottom: 50px; }
    .faq > li { padding: 26px 50px 30px 40px; }
    .faq > li .qst { font-size: 20px; }
    .faq > li .asw { margin-top: 20px; }
    .faq > li .asw p { font-size: 18px; line-height: 1.5; }
    .faq > li .asw ol { padding-left: 16px; }
    .faq > li .asw li { padding: 5px 0; }
    .faq > li .qst .arrow { top: 8px; right: -18px; padding: 5px; }
    .faq > li.active .qst .arrow { top: 4px; }

    .contact .map-container { padding: 0 10px; }
    .contact .map { height: 400px; }
    .contact .company { padding-top: 60px; padding-bottom: 50px; }
    .contact .company > * { display: inline-block; vertical-align: middle; text-align: left; }
    .contact .company > img { width: 135px; height: 40px; margin-right: 30px; }
    .contact .company > .company-name { padding-right: 30px; margin-right: 30px; border-right: 1px solid #d0d0d0; }
    .contact .company > .company-name h3 { font-size: 24px; margin-bottom: 6px; }
    .contact .company > .company-name p { font-size: 14px; }
    .contact .company > .company-addr { font-size: 16px; line-height: 1.4; }
    
    .form-contact .form.form-phone, .form-contact .form.form-email { width: 50%; float: left; padding: 10px; }
    .form-contact .form.form-content { clear: left; padding: 10px; }
    .form-contact .form.form-content textarea { min-height: 400px; }
    .form-contact .checkbox { margin-top: 10px; }
    .form-contact button[type="submit"] { width: 320px; height: 60px; line-height: 60px; font-size: 18px; margin-top: 30px; }

    .term-menu { margin-bottom: 40px; }
    .term-menu li a { padding: 14px 20px; font-size: 28px; }
    .term-menu li a:hover { border-bottom: 2px solid #ccc;}
    .term .box { padding: 40px; margin-bottom: 80px; }
    .term h1 { font-size: 24px; margin-bottom: 15px; }
    .term p { font-size: 14px; margin-bottom: 6px; }
    .term p.t-h1 { font-size: 18px; margin: 40px 0 20px; }
    .term p.t-h2 { font-size: 16px; margin: 25px 0 15px; }
    .term ol { padding-left: 15px; }
    .term li { margin-bottom: 6px; font-size: 13px; }
    .term li > ul { margin-top: 5px; }
    .term .table { margin: 20px 0 30px; }
}

@media only screen and (max-width: 960px) { /* mobile */
    .search-faq { height: 40px; padding: 0 40px; margin-bottom: 20px; }
    .search-faq .search-box { height: 40px; }
    .search-faq .search-box .input-placeholder,
    .search-faq .search-box input[type="text"] { font-size: 14px; line-height: 40px; }
    .search-faq .button-search { left: 10px; top: 10px; width: 24px; height: 24px; }
    .search-faq .button-search i { font-size: 24px; }
    .search-faq .button-cancel { right: 10px; top: 10px; width: 24px; height: 24px; }
    .search-faq .button-cancel i { font-size: 18px; }
    .sub-header .support { margin-top: 14px; padding-left: 15px; padding-right: 15px; }
    .sub-header .support > div { padding: 0 10px; }
    .sub-header .support .support-title { font-size: 12px; width: 100px; }
    .sub-header .support .support-phone > span, 
    .sub-header .support .support-phone > a { font-size: 14px; }

    .faq-list { padding-top: 20px; }
    .faq-list h2 { font-size: 18px; margin-bottom: 20px; }
    .faq > li { padding: 18px 0; }
    .faq > li .qst { font-size: 14px; padding-right: 30px;}
    .faq > li .asw { margin-top: 20px; }
    .faq > li .asw p { font-size: 15px; line-height: 1.4; }
    .faq > li .asw ol { padding-left: 8px; }
    .faq > li .asw li { padding: 5px 0; }
    .faq > li .qst .arrow { top: 8px; right: 0; padding: 3px; }
    .faq > li.active { padding-left: 20px; padding-right: 20px; }
    .faq > li.active .qst .arrow { top: 5px; }


    .contact .map-container { width: 100%; }
    .contact .map { height: 300px; }
    .contact .company { padding-top: 40px; padding-bottom: 50px; }
    .contact .company > * { text-align: center; }
    .contact .company > img { width: auto; height: 20px; margin-bottom: 20px; }
    .contact .company > .company-name { margin-bottom: 8px; }
    .contact .company > .company-name h3 { font-size: 14px; display: inline-block; }
    .contact .company > .company-name p { font-size: 14px; display: inline-block; }
    .contact .company > .company-addr { font-size: 13px; line-height: 1.4; text-align: center; }
    .form-contact .form { margin-bottom: 10px; }
    .form-contact .form.form-content textarea { min-height: 200px; }
    .form-contact .checkbox { margin-top: 10px; }
    .form-contact button[type="submit"] { width: 100%; height: 60px; line-height: 60px; font-size: 18px; margin-top: 30px; }

    .term .term-menu { position: relative; margin-bottom: 10px; }
    .term .term-menu:after {
        content: ''; display: block; border-top: 1px solid #e7e7e7; 
        position: absolute; left: 0; right: 0; bottom: 0; z-index: 0;
    }
    .term .term-menu li { position: relative; z-index: 1; margin-bottom: 0; }
    .term .term-menu li a { padding: 10px 15px; font-size: 14px; }

    .term.container { padding: 0; }
    .term .box { padding: 24px; margin-bottom: 40px; }
    .term h1 { font-size: 18px; margin-bottom: 12px; }
    .term p { font-size: 13px; margin-bottom: 4px; }
    .term p.t-h1 { font-size: 16px; margin: 30px 0 15px; }
    .term p.t-h2 { font-size: 14px; margin: 20px 0 10px; }
    .term ol { padding-left: 10px; }
    .term li { margin-bottom: 4px; font-size: 11px; }
    .term li > ul { margin-top: 3px; }
    .term .table { margin: 14px 0 20px; table-layout: fixed;}
}



/* 공지사항 */
.article-notice > * { word-break: keep-all; }
.article-notice h1,
.article-notice h2,
.article-notice h3 { font-weight: 700; }
.article-notice p { font-weight: 400; }
.article-notice img { width: auto; height: auto; max-width: 100%; }
.article-notice video { width: 100%; }
.article-notice ul > li::before { content: '∙'; position: absolute; left: 0; top: 0; }
.article-notice table { background-color: #fff; width: 100%; border: 1px solid #dadada; }
.article-notice table td,
.article-notice table th { text-align: left; vertical-align: middle; border-right: 1px solid #e4e4e4; }
.article-notice table th:last-child,
.article-notice table td:last-child { border-right: none;}
.article-notice table thead th { border-bottom: 2px solid #dadada; vertical-align: middle; }
.article-notice table th { font-weight: 700; color: #999; background-color: #f2f2f2; }
.article-notice table tbody th,
.article-notice table tbody td { border-bottom: 1px solid #e4e4e4; }

@media (max-width: 960px) {
	.article-notice { padding: 20px; }
	.article-notice h1 { font-size: 24px; letter-spacing: -2px; margin-bottom: 12px; }
	.article-notice h2 { font-size: 20px; letter-spacing: -1.2px; margin-bottom: 11px; }
	.article-notice h3 { font-size: 16px; letter-spacing: -0.6px; margin-bottom: 10px; }
	.article-notice p { font-size: 15px; letter-spacing: -0.3px; line-height: 1.4; margin-bottom: 10px; }
	.article-notice ul { margin-bottom: 14px; }
	.article-notice ul > li { position: relative; font-size: 12px; margin-bottom: 10px; padding-left: 10px; }
	.article-notice table th,
	.article-notice table td { font-size: 12px; }
	.article-notice table thead th { padding: 6px; }
	.article-notice table tbody th,
	.article-notice table tbody td { padding: 6px 8px; }
}

@media (min-width: 961px) {
	.article-notice { padding: 40px; }
	.article-notice h1 { font-size: 36px; letter-spacing: -3px; margin-bottom: 20px; }
	.article-notice h2 { font-size: 28px; letter-spacing: -2px; margin-bottom: 18px; }
	.article-notice h3 { font-size: 20px; letter-spacing: -1px; margin-bottom: 14px; }
	.article-notice p { font-size: 18px; letter-spacing: -0.5px; line-height: 1.4; margin-bottom: 10px; }
	.article-notice ul { margin-bottom: 20px; }
	.article-notice ul > li { position: relative; font-size: 14px; margin-bottom: 16px; padding-left: 20px; }
	.article-notice table th,
	.article-notice table td { font-size: 14px; }
	.article-notice table thead th { padding: 12px; }
	.article-notice table tbody th,
	.article-notice table tbody td { padding: 12px 18px; }
}


.article-list { overflow: hidden; }
.article-list > li > a { position: relative; display: block; overflow: hidden; }
.article-list > li > a > img { width: 100%; height: 100%; object-fit: cover; }
.article-list > li > a > p { position: absolute; color: #fff; font-weight: 400; line-height: 1.3; word-break: keep-all; }
.article-list .overtime { content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-color: rgba(255, 255, 255, .9); }
.article-list .overtime > p {
    position: absolute; left: 50%; top: 50%; margin-left: -60px; margin-top: -60px; width: 120px; height: 120px; border-radius: 50%;
    padding: 38px 0; text-align: center;
    font-size: 18px; font-weight: 700; color: #fff; background-color: rgba(100,100,100,.75);
}
.article-header { border-bottom: 1px solid #e7e7e7; }
.article-header > h3 { display: inline-block; }
.article-body h1 { font-weight: 700; word-break: keep-all; }
.article-body p { line-height: 1.5; word-break: keep-all; }
.article-body img { display: block; width: auto; height: auto; }

.article-text { margin-bottom: 50px; }
.article-text > li { border-bottom: 1px solid #f0f0f0; }
.article-text .article-date { font-size: 14px; color: #ccc; line-height: normal; }
.article-text .article-source { font-size: 14px; color: #666; font-weight: 700; line-height: normal; }
.article-text a { position: relative; display: inline-block; width: auto; }
.article-text > li.article-new a::before {
    content: 'NEW'; display: inline-block; position: absolute; 
    font-size: 10px; font-weight: 700; color: #fff; line-height: normal; 
    background-color: #f37268; 
}
@media only screen and (min-width: 961px) { /* desktop */
    .article-list { margin-bottom: 40px; margin-left: -10px; margin-right: -10px; }
    .article-list > li { float: left; padding: 10px; }
    .article-list.now-major > li { width: 25%; }
    .article-list.now-minor > li { width: 25%; }
    .article-list > li > a > img {
        -webkit-transition: transform .5s;
        -moz-transition: transform .5s;
        -o-transition: transform .5s;
        transition: transform .5s;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        transform-origin: center center;
    }
    .article-list > li > a:hover > img  {
        -webkit-transform: scale(1.05);
        -moz-transform: scale(1.05);
        -o-transform: scale(1.05);
        transform: scale(1.05);
    }
    .article-list > li > a > p { left: 20px; right: 20px; bottom: 20px; font-size: 18px; letter-spacing: -1px; }
    
    .article-header > h1 { font-size: 36px; margin-bottom: 10px; }
    .article-header > h3 { font-size: 24px; line-height: 1.6; border-top-width: 2px; }
    .article-header > .date { font-size: 14px; color: #999; margin-left: 20px; }
    .article-body { padding: 40px 0; min-height: 400px; max-width: 960px; margin: 0 auto; }
    .article-body h1 { font-size: 40px; letter-spacing: -2.5px; margin-bottom: 60px; }
    .article-body p { font-size: 18px; margin-bottom: 24px; letter-spacing: -0.5px; }
    .article-body img { float: left; margin-right: 40px; max-width: 500px; max-height: 500px; }
    
    .article-text > li { padding: 12px 0; margin-bottom: 6px; }
    .article-text .article-date { float: left; width: 92px; padding-top: 4px; }
    .article-text .article-source { float: left; width: 114px; padding-top: 4px; }
    .article-text a { font-size: 20px; color: #666; }
    .article-text a::after {
        content: ''; display: block; width: 0;
        position: absolute; left: 0; bottom: -13px;
        border-bottom: 2px solid #39c0c7; 
        -webkit-transition: width .3s ease-in-out;
        -moz-transition: width .3s ease-in-out;
        transition: width .3s ease-in-out;
    }
    .article-text > li:hover a { color: #39c0c7; }
    .article-text > li:hover a::after { width: 100%; }
    .article-text > li.article-new a::before {
        right: -40px; top: 5px; padding: 2px 5px 2px 4px; border-radius: 4px;  
    }
}
@media only screen and (max-width: 960px) { /* mobile */
    .article-list { margin-bottom: 10px; }
    .article-list.now-minor > li { float: left; padding: 10px; width: 50%; }
    .article-list > li { margin-bottom: 20px; }
    .article-list > li > a > p { left: 15px; right: 15px; bottom: 15px; font-size: 14px; letter-spacing: -0.7px; }
    
    .article-header { padding: 15px 20px; }
    .article-header > h3 { font-size: 16px; line-height: 1.6; border-top-width: 2px; }
    .article-header > span { font-size: 14px; margin-left: 12px; color: #999; }
    .article-body { padding: 20px; min-height: 320px; }
    .article-body h1 { font-size: 24px; letter-spacing: -2px; margin-bottom: 40px; }
    .article-body p { font-size: 14px; margin-bottom: 20px; letter-spacing: -0.3px; }
    .article-body img { margin: 0 auto 20px; max-width: 100%; max-height: 100%; }

    .article-text > li { padding: 10px 15px; }
    .article-text .article-date { float: right; font-size: 12px; }
    .article-text .article-source { margin-bottom: 4px; }
    .article-text a { font-size: 16px; color: #39c0c7; }
    .article-text > li.article-new a::before {
        right: -32px; top: 4px; 
        padding: 0 4px 1px 3px; border-radius: 2px;
    }
}


/* 운영가이드 */
.operating-guide .box { padding: 40px; }
.operating-guide .guide-section { margin-bottom: 50px; }
.operating-guide .guide-section + .guide-section { padding-top: 50px; border-top: 1px dashed #ccc; }
.operating-guide img { max-width: 100%; width: 100%; height: auto; }
.operating-guide .title { display: block; font-size: 24px; font-weight: 700; letter-spacing: -2px; margin-bottom: 30px; }
.operating-guide .title ~ .title { margin-top: 70px; }
.operating-guide .item { display: block; font-size: 20px; letter-spacing: -1.5px; }
.operating-guide .item ~ .item { margin-top: 30px; }
.operating-guide .list-number { margin-top: 12px; padding-left: 20px; }
.operating-guide .list-number > li { display: block; font-size: 16px; line-height: 1.8; }
.operating-guide .list-dot,
.operating-guide .list-hyphen { margin-top: 10px; margin-bottom: 15px; padding-left: 20px; }
.operating-guide .list-dot > li,
.operating-guide .list-hyphen > li { display: block; font-size: 15px; line-height: 1.8; }
.operating-guide .list-dot > li:before, 
.operating-guide .list-hyphen > li:before { display: inline-block; margin-top: -2px; margin-right: 5px; font-size: 13px; color: inherit; line-height: 1.4; vertical-align: middle; }
.operating-guide .list-dot > li:before { content: '•'; }
.operating-guide .list-hyphen > li:before { content: '-'; }