/***********************************
    heoninmaeul & community page
***********************************/
#heoninmaeul-page,
#community-page { width: 100%; padding: 0; margin: 0; }
#heoninmaeul-page section,
#community-page section { min-height: 100vh; display: flex; justify-content: center; align-items: flex-start; background-position: center; background-repeat: no-repeat; background-size: cover; }
#heoninmaeul-page section .col,
#community-page section .col { position: relative; min-height: 100vh; display: flex; justify-content: center; align-items: center; background-position: center; background-repeat: no-repeat; background-size: cover; padding: 80px; }
#heoninmaeul-page section .col.vertical-between,
#community-page section .col.vertical-between { flex-direction: column; justify-content: space-between; align-items: flex-start; }
#heoninmaeul-page section .col .txt-wrap,
#community-page section .col .txt-wrap { display: flex; flex-direction: column; gap: 12px 0; align-items: flex-start; }
#heoninmaeul-page section .img-small,
#community-page section .img-small { max-width: 330px; height: auto; display: block; }
#heoninmaeul-page section .img-full { width: 80%; max-width: calc(100vh - 120px); height: auto; display: block; }
#community-page section .img-full { width: 100%; max-width: calc(100vh - 120px); height: auto; display: block; }

.al-it-st { align-items: flex-start !important; }
.al-it-ct { align-items: center !important; }
.al-it-ed { align-items: flex-end !important; }
.ju-co-st { justify-content: flex-start !important; }
.ju-co-ed { justify-content: flex-end !important; }

@media (max-width: 768px) {
    #heoninmaeul-page section,
    #community-page section { min-height: 0; flex-direction: column; justify-content: flex-start; }
    #heoninmaeul-page section.mo-col-reverse,
    #community-page section.mo-col-reverse { flex-direction: column-reverse; }
    #heoninmaeul-page section .col,
    #community-page section .col { min-height: 0; padding: 20px 30px; }
    #heoninmaeul-page section.mo-col-reverse .col:first-child { padding: 10px 30px 60px; }
    #heoninmaeul-page section.mo-col-reverse .col:last-child { padding: 60px 30px 10px; }
    #heoninmaeul-page section .col.vertical-between,
    #community-page section .col.vertical-between { gap: 20px 0; padding: 60px 30px; }
    #heoninmaeul-page section .img-small,
    #community-page section .img-small { max-width: 230px; }
    #heoninmaeul-page section .img-full,
    #community-page section .img-full,
    #heoninmaeul-page section .img-small.img-mo-full,
    #community-page section .img-small.img-mo-full { max-width: none; width: 100%; }
}

#heoninmaeul-page .section-1 img { width: 70%; max-width: 320px; display: block; }
#heoninmaeul-page .section-2 { background: var(--stone); }
#heoninmaeul-page .section-3 { text-align: center; background: var(--clay-3); }
#heoninmaeul-page .section-4 { background: var(--stone-3); }
#heoninmaeul-page .section-5 { text-align: center; background: var(--stone); }
#heoninmaeul-page .section-6 { text-align: center; background: var(--stone); }
#heoninmaeul-page .section-7 { text-align: center; }
#heoninmaeul-page .section-8 {  background: var(--stone-3); }
#heoninmaeul-page .section-7 .btn-wrap { display: flex; gap: 20px; }
#heoninmaeul-page .section-7 .btn-wrap a { background: rgba(229, 221, 213, 0.96); padding: 30px; display: flex; gap: 40px 0; flex-direction: column; width: 220px; }
#heoninmaeul-page .section-7 .btn-wrap a:hover { background: rgba(229, 221, 213, 0.86); }
#heoninmaeul-page .section-7 .btn-wrap a img { width: 100%; display: block; }
#heoninmaeul-page .section-7 .btn-wrap a span { line-height: 1.4; color: var(--bark); }
#heoninmaeul-page .section-7 .btn-wrap a span img { width: 12px; display: inline; }

@media (max-width: 768px) {
    #heoninmaeul-page .section-1 .col { min-height: 70vw; }
    #heoninmaeul-page .section-2 .col:first-child { min-height: 126vw; }
    #heoninmaeul-page .section-3 { text-align: left; }
    #heoninmaeul-page .section-4 .col:first-child { min-height: 126vw; }
    #heoninmaeul-page .section-5 { text-align: left; }
    #heoninmaeul-page .section-6 { text-align: left; }
    #heoninmaeul-page .section-7 .col { padding: 60px 30px; }
    #heoninmaeul-page .section-7 .btn-wrap { flex-direction: column; }
    #heoninmaeul-page .section-7 .btn-wrap a { width: 200px; }
    #heoninmaeul-page .section-8 .col:first-child { min-height: 126vw; }
}

#community-page { background: var(--clay-3); }
#community-page section .col { padding: 60px; }
#community-page .img-wrap { display: flex; gap: 10px; }
#community-page .img-wrap .img-line { display: flex; gap: 10px; flex-direction: column; width: calc(50% - 10px); }
#community-page .img-wrap img { width: 100%; height: auto; }
#community-page .section-3,
#community-page .section-4,
#community-page .section-8 { min-height: 0; }
#community-page .section-3 .col,
#community-page .section-4 .col,
#community-page .section-8 .col { min-height: 0; padding: 120px 60px; }

@media (max-width: 768px) {
    #community-page section .col { padding: 30px; }
    #community-page .img-wrap { gap: 6px; }
    #community-page .img-wrap .img-line { width: calc(50% - 5px); gap: 6px; }
    #community-page .section-1 { flex-direction: column-reverse; }
    #community-page .section-1 .img-full { margin-top: 60px; }
    #community-page .section-2 .col:first-child { min-height: 126vw; }
    #community-page .section-3 .col { min-height: 0; padding: 20px 30px;}
    #community-page .section-3 { padding: 40px 0 0; }
    #community-page .section-3 .col.al-it-st { align-items: flex-end !important; }
    #community-page .section-3 .col img { margin-top: 0 !important; }
    #community-page .section-4 { padding: 0 0 40px; }
    #community-page .section-4 .col { min-height: 0; padding: 20px 30px;}
    #community-page .section-5 .col:first-child { min-height: 126vw; }
    #community-page .section-6 { padding: 30px 0; }
    #community-page .section-7 .col:first-child { min-height: 126vw; }
}


/********************
    partners page
********************/
#partners-page { display: flex; flex-direction: column; gap: 50px 0; width: 100%; max-width: 1180px; padding: 60px 20px 200px; margin: 0 auto; }
#partners-page .partners-title { text-align: center; }
#partners-page .partners-list { display: flex; flex-wrap: wrap; gap: 40px 20px; line-height: 1.7; }
#partners-page .partners-list li { display: flex; flex-direction: column; gap: 20px; padding: 40px; width: calc(50% - 20px); }
#partners-page .partners-list li:hover { background-color: var(--stone-2); color: var(--black-2); }
#partners-page .partners-list li .txt-small { padding: 8px 0 0; border-top: 1px solid var(--bark-3); color: var(--bark-2); }
#partners-page .partners-list li img { width: 90%; height: auto; display: block; margin: 0 auto 10px; opacity: 0.70; }
#partners-page .partners-list li:hover img { opacity: 1; }
#partners-page .partners-list li .txt-h3 { margin: 8px 0 12px; }
#partners-page .partners-list li p { padding: 0 2px; }

@media (max-width: 768px) {
    #partners-page { padding: 40px 20px 120px; max-width: 480px; }
    #partners-page .partners-list { flex-wrap: unset; flex-direction: column; gap: 20px 0; }
    #partners-page .partners-list li { width: 100%; padding: 30px 20px; }
    #partners-page .partners-list li p { padding: 0 2px; }
}


/********************
    contact page
********************/
#contact-page { display: flex; flex-direction: row; padding: 60px 40px 200px; }
#contact-page .page-left { display: flex; flex-direction: column; gap: 12px 0; width: 50%; }
#contact-page .page-right { display: flex; flex-direction: column; gap: 40px 0; width: 50%; }
#contact-page .page-right li { display: flex; flex-direction: column; gap: 20px 0; max-width: 600px; }
#contact-page .page-right li .location-label { padding-left: 12px; border-left: 1px solid var(--clay-2); line-height: 1.7; }

@media (max-width: 1024px) {
    #contact-page { flex-direction: column; gap: 40px 0; padding: 40px 20px 120px; }
    #contact-page .page-left { width: 100%; }
    #contact-page .page-right { width: 100%; }
    #contact-page .page-right li { max-width: 100%; }
}


/********************
    news page
********************/
#news-page { display: flex; flex-direction: column; gap: 40px 0; width: 100%; max-width: 740px; padding: 60px 20px 200px; margin: 0 auto; }
#news-page .news-title,
#news-page .kboard-title { text-align: center; }
#news-page #kboard-default-list .kboard-list-header { display: none; }