/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/
::selection { background-color: rgb(255, 215, 117, .9) !important; color: #1e1e1e !important; }
.avada-has-rev-slider-styles .avada-skin-rev { border: none !important; }

.songak_slider { width: 100%; position: relative; align-items: center; overflow: hidden; }
.songak_slider .slider-wrapper { display: flex; gap: 20px; cursor: grab; user-select: none; white-space: nowrap; width: 100%; }
.songak_slider .slider-wrapper .slide-item { flex-shrink: 0; }

.songak-banner { width: 100%; position: relative; height: 532px; border-radius: 62px; overflow: hidden; }
.songak-banner .banner-wrapper { display: flex; cursor: grab; user-select: none; white-space: nowrap; width: 100%; height: 100%; }
.songak-banner .banner-wrapper .banner-item { flex-shrink: 0; width: 100%; height: 100%; }
.songak-banner .banner-wrapper .banner-item .image_wrap img { width: 100%; height: 100%; object-fit: contain;}

/* map css */
.songak-map { width: 100%; height: 625px; border-radius: 4rem; border: 1px solid #ddd; }

/* tabmenu css */
.songak-tabmenu { width: 100%; }
.songak-tabmenu .tabmenu-wrapper { display: flex; gap: 3rem; align-items: flex-end; }
.songak-tabmenu .tabmenu-wrapper .tabmenu-item a { display: flex; flex-flow: column; align-items: center; font-family: "IBM Plex Sans KR"; font-weight: 500; font-size: 1.688rem; color: rgba(0, 0, 0, 0.5); transition: all ease-out .6s; }
.songak-tabmenu .tabmenu-wrapper .tabmenu-item.active a { color: rgba(0, 0, 0, 1); }
.songak-tabmenu .tabmenu-wrapper .tabmenu-item.active a:before { content: ''; display: block; width: 8px; height: 8px; border-radius: 50%; background-color: rgba(39, 136, 113, 1); }

/* 송악면 둘러보기 */
.songak-map-slider .wrapper { display: flex; align-items: center; }
.songak-map-slider .wrapper .map-list { width: 50vw; position: relative; flex-shrink: 0; }
.songak-map-slider .wrapper .map-list img { min-width: 848px; height: 923px; white-space: nowrap; }
.songak-map-slider .wrapper .map-list .map-item { cursor: pointer; position: absolute; width: 119px; top: 0; left: 0; height: 37px; box-sizing: border-box; /*border: 3px solid rgba(71 71 71 / 14%);*/ }
.songak-map-slider .wrapper .map-list .map-item.map1 { top: 331px; left: 639px; }
.songak-map-slider .wrapper .map-list .map-item.map2 { top: 211px; left: 632px; }
.songak-map-slider .wrapper .map-list .map-item.map3 { top: 325px; left: 128px; }
.songak-map-slider .wrapper .map-list .map-item.map4 { top: 290px; left: 19px; }
.songak-map-slider .wrapper .map-list .map-item.map5 { top: 253px; left: 119px; }
.songak-map-slider .wrapper .map-list .map-item.map6 { top: 726px; left: 366px; }
.songak-map-slider .wrapper .map-list .map-item.map7 { top: 812px; left: 359px; }
.songak-map-slider .wrapper .map-list .map-item.map8 { top: 295px; left: 375px; }
.songak-map-slider .wrapper .map-list .map-item.map9 { top: 114px; left: 207px; }
.songak-map-slider .wrapper .map-list .map-item.map10 { top: 94px; left: 320px; }
.songak-map-slider .wrapper .map-list .map-item.map11 { top: 259px; left: 250px; }
.songak-map-slider .wrapper .map-list .map-item.map12 { top: 179px; left: 181px; }
.songak-map-slider .wrapper .map-list .map-item.map13 { top: 425px; left: 499px; }
.songak-map-slider .wrapper .map-list .map-item.map14 { top: 354px; left: 467px; }
.songak-map-slider .wrapper .map-list .map-item.map15 { top: 531px; left: 518px; }
.songak-map-slider .wrapper .map-list .map-item.map16 { top: 666px; left: 239px; }
.songak-map-slider .wrapper .map-list .map-item.map17 { top: 556px; left: 302px; }
.songak-map-slider .wrapper .map-list .map-item.map18 { top: 91px; left: 59px; }
.songak-map-slider .wrapper .map-list .map-item.map19 { top: 188px; left: 62px; }
.songak-map-slider .wrapper .map-list .map-item.map20 { top: 168px; left: 531px; }
.songak-map-slider .wrapper .map-list .map-item.map21 { top: 227px; left: 477px; }
.songak-map-slider .wrapper .map-list .map-item.map22 { top: 97px; left: 648px; }
.songak-map-slider .wrapper .map-list .map-item.map23 { top: 14px; left: 577px; }
.songak-map-slider .wrapper .map-list .map-item.map24 { top: 44px; left: 486px; }
.songak-map-slider .wrapper .map-list .map-item.map25 { top: 58px; left: 613px; }
.songak-map-slider .wrapper .map-list .map-item.map26 { top: 339px; left: 274px; }
.songak-map-slider .wrapper .map-list .map-item.map27 { top: 413px; left: 296px; }
.songak-map-slider .wrapper .map-list .map-item.map28 { top: 477px; left: 261px; }
.songak-map-slider .wrapper .map-list .map-item.map29 { top: 435px; left: 182px; }
.songak-map-slider .wrapper .map-list .map-item.map30 { top: 659px; left: 453px; }
.songak-map-slider .wrapper .map-list .map-item.map31 { top: 60px; left: 380px; }
.songak-map-slider .wrapper .map-list .map-item.map32 { top: 126px; left: 403px; }
.songak-map-slider .wrapper .map-list .map-item.map33 { top: -5px; left: 438px; }
.songak-map-slider .wrapper .map-info-list { width: 50vw; font-family: "IBM Plex Sans"; font-weight: 400; }
.songak-map-slider .wrapper .map-info-list .info-item { opacity: 0; display: none; transition: all .8s; }
.songak-map-slider .wrapper .map-info-list .info-item .info-image { width: 100%; height: 352px; border-radius: 40px; overflow: hidden; background-color: #C8CED5; margin-bottom: 1.563rem; border: 1px solid #ddd; }
.songak-map-slider .wrapper .map-info-list .info-item .info-image img { width: 100%; height: 100%; }
.songak-map-slider .wrapper .map-info-list .info-item .info-text { font-size: 1rem; }
.songak-map-slider .wrapper .map-info-list .info-item .info-text .title {  }
.songak-map-slider .wrapper .map-info-list .info-item .info-text .content { margin-top: 1rem; }
.songak-map-slider .wrapper .map-list .map-item.active { /*border-color: #278871;*/ }
.songak-map-slider .wrapper .map-info-list .info-item.active { opacity: 1; display: block; transition: all .8s; }

.songak-years { width: 100%; }
.songak-years .songak-years-wrapper { width: 100%; }
.songak-years .songak-years-wrapper .swiper-wrapper { width: 100vw; }
.songak-years .songak-years-wrapper .swiper-wrapper .swiper-slide {  }
.songak-years .songak-years-wrapper .swiper-wrapper .swiper-slide .year-card { width: 100%; height: 280px; background-color: #FFF7BD; border-radius: 32px; position: relative; overflow: hidden; display: flex; align-items: flex-end;  box-sizing: border-box; }
.songak-years .songak-years-wrapper .swiper-wrapper .swiper-slide .year-card:hover {  }
.songak-years .songak-years-wrapper .swiper-wrapper .swiper-slide .year-card img { position: absolute; top: 0; left: 0; }
.songak-years .songak-years-wrapper .swiper-wrapper .swiper-slide .year-card .content { width: 100%; box-sizing: border-box; padding: 30px; font-family: "IBM Plex Sans"; font-weight: 600; font-size: 22px; line-height: normal; color: #fff; z-index: 1; }
.songak-years .songak-years-wrapper .swiper-wrapper .swiper-slide .year-card .content:after { display: block; content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-image: linear-gradient(rgba(0,0,0,0) 60%, rgba(0,0,0,1) 90%); z-index: -1; }

.songak-table { width: 100%; font-family: "IBM Plex Sans"; }
.songak-table .table-title { font-size: 1rem; padding-top: 1rem; padding-bottom: 0.4rem; }
.songak-table .table-title::before { display: inline-block; content: ""; width: 12px; height: 12px; margin-right: 0.5rem; border-radius: 12px; background-color: #133930; }
.songak-table:nth-child(1) .table-title { padding-top: 0rem; }
.songak-table table { width: 100%; border-collapse: collapse; }
.songak-table table tr { border: 1px solid #c2c2c2; }
.songak-table table tr td { text-align: center; padding: 1rem; color: #322212; }
.songak-table table tr td.first { border-right: 1px solid #c2c2c2; background-color: #e5e2db; font-weight: 600; }
.songak-table table thead tr td { background-color: #e5e2db; color: #133930; font-weight: 600; }

.songak-business-slide { width: 100%; }
.songak-business-slide .swiper-button-next,
.songak-business-slide .swiper-button-prev { color: white; }
.songak-business-slide .swiper-slide img { height: 334px; }
.songak-flowerbox { position: relative !important; }
.songak-flowerbox .songak-flower { position: absolute !important; width: 150px !important; bottom: -30px !important; right: -50px !important; animation: flower_rotate 5s ease-in-out infinite; }

/*송악 조직도 css*/
.songak-org { font-family: "Pretendard Medium"; }
.songak-org p { margin-bottom: 0 !important; }
.songak-org .tree { display: flex; flex-direction: column; align-items: center; }
.songak-org .node { display: flex; justify-content: center; }
.songak-org .link-v { width: 2px; height: 18px; background: #b7c3bc; }

.songak-org .card { width: 152px; background: #fff; border: 1px solid #dde5e0; border-radius: 4px; overflow: hidden; box-shadow: 0 3px 10px -4px rgba(28, 64, 44, .28); }
.songak-org .card__role { margin: 0; height: auto; text-align: center; font-size: 12.5px; font-weight: 700; color: #fff; background: #26895a; }
.songak-org .card__name { margin: 0; height: auto; text-align: center; font-size: 15px; font-weight: 600; letter-spacing: .15em; color: #1f2523; }
.songak-org .card__name + .card__name { border-top: 1px solid #e6ede8; }

.songak-org .branch { position: relative; display: flex; justify-content: center; align-items: flex-start; gap: 14px; width: 100%; margin-top: 36px; }
.songak-org .branch::after { /* 버스로 내려오는 진입 세로선 */ content: ""; position: absolute; top: -36px; left: 50%; transform: translateX(-50%); width: 2px; height: 18px; background: #b7c3bc;  }
.songak-org .branch::before { /* 가로 버스 */ content: ""; position: absolute; top: -18px; height: 2px; background: #b7c3bc; }
.songak-org .branch__item { flex: 1 1 0; position: relative; display: flex; justify-content: center; }
.songak-org .branch__item::before { /* 각 항목 낙하선 */ content: ""; position: absolute; top: -18px; left: 50%; transform: translateX(-50%); width: 2px; height: 18px; background: #b7c3bc; }

.branch--pair { max-width: 370px; }
.branch--pair::before { left: 25%; right: 25%; }
.songak-org .division {
    --c: #2593a8;
    --hd: #2593a8;
    --ht: #fff;
    flex-direction: column;
    align-items: stretch;
    background: #ffffff;
    border: 1px solid #dde5e0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 4px 12px -6px rgba(28, 64, 44, .24);
}
.songak-org .division__head {
    margin: 0;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px !important;
    font-weight: 800;
    background: var(--hd);
    color: var(--ht);
}
.songak-org .division__lead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 16px;
    border-left: 4px solid var(--c);
    background: color-mix(in srgb, var(--c) 12%, #fff);
}
.songak-org .division__leadlabel { font-size: 10.5px; font-weight: 700; color: var(--mut); letter-spacing: .12em; }
.songak-org .division__leadname  { font-size: 17px;  font-weight: 700; color: var(--ink); letter-spacing: .14em; }

.division--planning { --c: #2593a8; --hd: #2593a8; --ht: #fff; }
.division--safety   { --c: #7cb069 !important; --hd: #7cb069 !important; --ht: #fff; }
.division--welfare  { --c: #86715e !important; --hd: #86715e !important; --ht: #fff; }
.division--edu      { --c: #f4d14f !important; --hd: #f4d14f !important; --ht: #4a3b12 !important; }

.members { padding: 12px 14px 15px; }
.members__label {
    margin: 0 0 9px;
    font-size: 10px;
    font-weight: 700;
    color: var(--mut);
    letter-spacing: .18em;
    text-align: center;
}
.members__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 7px;
}
.members__grid li {
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .1em;
    color: var(--ink);
    background: #f8fbf9;
    border: 1px solid var(--name-line);
    border-radius: 8px;
}


/* 인사말 */
#songak-sign { position: absolute !important; bottom: 20px; right: 210px; width: 100px; z-index: -1; }

@keyframes loop_origin {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
    50% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    100% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes loop_clone { /* 클론용 */
    0% {
        -webkit-transform: translate3d(-200%, 0, 0);
        transform: translate3d(-471%, 0, 0);
    }

    100% {
        -webkit-transform: translate3d(300%, 0, 0);
        transform: translate3d(-271%, 0, 0);
    }
}

@keyframes flower_rotate {
    0% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(-20deg);
    }
}

@media (min-width: 640px) {

    .branch--divs {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .legend__note { margin-left: 0; width: auto; }

}

@media (min-width: 1024px) {
    .card { width: 158px; }
    .card__name { height: 36px; line-height: 36px; font-size: 16px; letter-spacing: .16em; }

    /* 부회장 → 분과 진입 세로선 표시 */
    .link-v--divs { display: block; margin: 0 auto; }

    /* 분과를 한 줄 4열로 되돌리고 트리 커넥터 복원 */
    .branch--divs {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 24px;
        max-width: 1040px;
        margin: 18px auto 0;
    }
    .branch--divs::before {          /* 4열 버스 */
        content: "";
        left: 12.5%;
        right: 12.5%;
    }
    .branch--divs::after {           /* 진입 세로선 */
        content: "";
    }
    .branch--divs .branch__item::before { content: ""; } /* 각 분과 낙하선 */


    .division__head { height: 48px; font-size: 18px; }
    .members__grid { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
}

@media screen and (max-width: 1025px) {
    .songak-map-slider .wrapper .map-list { width: 100%; overflow: auto; }

}

@media screen and (max-width: 425px) {
    .songak-org .branch.branch--divs .branch__item { flex: unset; width: 100%; }
    .songak-org .branch.branch--divs { flex-flow: column; }
}