@font-face {
    font-family: 'GounBatang';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/GowunBatang-Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'SangjuGyeongcheonseom';
    src: url('https://gcore.jsdelivr.net/gh/projectnoonnu/noonfonts_2112@1.0/SANGJUGyeongcheonIsland.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'cairo';
    src: url('../font/Cairo.ttf') format('truetype');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SseulroneNetHandwrittenFont';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2402_1@1.0/SSRONETHandwritten.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bangers';
    src: url('../font/Bangers.ttf') format('truetype');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OwnglyphBrilliant';
    src: url('../font/OwnglyphBrilliant.ttf') format('truetype');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'KyoboHandwriting2021Seongjiyoung';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2212@1.0/KyoboHandwriting2021sjy.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SangjuDajeongdagam';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2112@1.0/SANGJUDajungdagam.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GangwonEducationModuche';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFBoldA.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'IsYun';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2202-2@1.0/LeeSeoyun.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

.section-box section span {
    -webkit-text-stroke: 0.1px #601717;
}

.template-wrap .row > .col.fixed-sidebar-pc {
    position: fixed !important;
    top: 20px !important;
    max-height: calc(100vh - 40px) !important;
    overflow-y: auto !important;
    z-index: 100 !important;
}

.nav-tabs {
    border: none !important;
}
.nav-tabs .nav-link {
    border: none !important;
}
#contact_modal .nav-link {
    color: #000 !important;
}
#contact_modal .nav-link.active {
    border-bottom: 1px solid #000 !important;
}

.contact-box {
    background-color: #eef4f8;
    border-radius: 12px;
    padding: 18px;
    margin: 15px 0;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.contact-box h5 {
    font-size: 16px;
    color: #666;
    margin: 0 0 8px 0;
    font-weight: 500;
}

.contact-box h6 {
    font-size: 20px;
    color: #333;
    font-weight: 600;
}

.contact-box a {
    display: inline-block;
    padding: 10px 20px;
    margin: 0 5px;
    background-color: #fff;
    color: #333;
    text-decoration: none;
    border-radius: 8px;
    border: 1px solid #efefef;
    font-size: 14px;
    transition: all 0.3s ease;
}
.contact-box a:first-of-type {
    margin-right: 8px;
}

/* 인트로 */

.intro-title {
    position: absolute;
    top: 12.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: cairo;
}

.intro-title span {
    display: inline-block;
    margin: 0;
    -webkit-text-stroke: 1px #601717;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.66);
}

.intro-title span:nth-child(2) {
    margin-top: 12px;
    margin-right: 3px;
}
.intro-title span:nth-child(4) {
    margin-top: 2px;
    margin-left: 1px;
}
.intro-title span:nth-child(5) {
    margin-top: 12px;
    margin-left: 3px;
    margin-right: 3px;
}
.intro-title span:nth-child(6) {
    margin-top: 2px;
    margin-right: 2px;
}
.intro-title span:nth-child(9) {
    margin: 0;
    margin-right: -2px;
}
.intro-title span:nth-child(10) {
    margin: 0;
    margin-top: 5px;
}
.intro-title span:nth-child(11) {
    margin: 0;
    margin-left: -5px;
}

.ex_1 {
    position: absolute;
    top: 18.3%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 13px;
    color: #fff;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.66);
}

.ex_2 {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 13px;
    color: #fff;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 100%;
}

.bf_file_1 {
    position: absolute;
    top: 30.5%;
    left: 12.8%;
    transform: rotate(1.5deg);
    width: 76.5%;
    height: 33.6%;
    z-index: 12;
}

.ex_3 {
    position: absolute;
    top: 65%;
    left: 0;
    transform: rotate(1.5deg);
    font-size: 34px;
    color: #000;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 100%;
}

.intro-datetime {
    position: absolute;
    top: 84%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 33px;
    color: #ffedde;
    text-align: center;
    z-index: 13;
    width: 100%;
}

.intro-datetime span {
    -webkit-text-stroke: 0.5px #601717;
}


.ex_6 {
    position: absolute;
    top: 88%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 21px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 14;
    width: 100%;
    -webkit-text-stroke: 0.5px #601717;
}


/* 본문 */
.invation-title {
    position: absolute;
    top: 8.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 26px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
    -webkit-text-stroke: 0.5px #601717;
}

.invation-subtitle {
    position: absolute;
    top: 11.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
    -webkit-text-stroke: 0.5px #601717;
}

.ex_7 {    
    position: absolute;
    top: 27%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 21px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 100%;
    line-height: 1.1;
    -webkit-text-stroke: 0.1px #601717;
}

.bf_file_2 {
    position: absolute;
    top: 46%;
    left: 15.8%;
    transform: rotate(3.5deg);
    width: 48.7%;
    height: 16.2%;
    z-index: 12;
}

.bf_file_3 {
    position: absolute;
    top: 66.5%;
    left: 31.5%;
    transform: rotate(-3.5deg);
    width: 54.5%;
    height: 18.2%;
    z-index: 13;
}

.contact-us-title {
    position: absolute;
    top: 21.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 30px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.contact-us-wrap-1 {
    position: absolute;
    top: 37%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 21px;
    color: #913030;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    line-height: 1.1;
}

.contact-us-wrap-1 span:last-child {
    font-size: 30px;
    line-height: 0.9;
}

.contact-us-wrap-2 {
    position: absolute;
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 21px;
    color: #913030;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 100%;
    line-height: 1.1;
}

.contact-us-wrap-2 span:last-child {
    font-size: 30px;
    line-height: 0.9;
}

.contact-us-btn {
    position: absolute;
    top: 70.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #913030;
    color: #fff;
    border: none;
    padding: 14px 30px;
    font-size: 21px;
    border-radius: 13px;
    cursor: pointer;
    z-index: 12;
    width: 72%;
}

.about-us-title {
    position: absolute;
    top: 11.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 26px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
    -webkit-text-stroke: 0.5px #601717;
}

.about-us-subtitle {
    position: absolute;
    top: 16.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
    -webkit-text-stroke: 0.5px #601717;
}
.bf_file_4 {
    position: absolute;
    top: 31.9%;
    left: 15%;
    transform: rotate(-1.3deg);
    width: 32.5%;
    height: 19.1%;
    z-index: 11;
}
.about-us-name-1 {
    position: absolute;
    top: 35.5%;
    left: 78%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    color: #ffedde;
    text-align: center;
    z-index: 12;
    width: 100%;
}

.about-us-name-1 span:first-child {
    margin-right: 5px;
}
.bf_file_5 {
    position: absolute;
    top: 64.9%;
    left: 53%;
    transform: rotate(1.6deg);
    width: 32.5%;
    height: 19.1%;
    z-index: 11;
}
.about-us-name-2 {
    position: absolute;
    top: 67.2%;
    left: 24%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    color: #ffedde;
    text-align: center;
    z-index: 13;
    width: 100%;
}
.about-us-name-2 span:first-child {
    margin-right: 5px;
}
.ex_20 {    
    position: absolute;
    top: 42.5%;
    left: 78%;
    transform: translate(-50%, -50%);
    font-size: 17px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 30%;
    line-height: 1.1;
}
.ex_21 {    
    position: absolute;
    top: 75.8%;
    left: 24%;
    transform: translate(-50%, -50%);
    font-size: 17px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 30%;
    line-height: 1.1;
}

.about-us-wrap-1 {
    position: absolute;
    top: 49.5%;
    left: 78%;
    transform: translate(-50%, -50%);
    font-size: 13px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 40%;
    line-height: 1.1;
}

.about-us-wrap-2 {
    position: absolute;
    top: 83%;
    left: 24%;
    transform: translate(-50%, -50%);
    font-size: 13px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 40%;
    line-height: 1.1;
}

.ex_22 {    
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 21px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 100%;
    line-height: 1.3;
    -webkit-text-stroke: 0.1px #601717;
}

.story-title {
    position: absolute;
    top: 9.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
    -webkit-text-stroke: 0.5px #601717;
}

.story-subtitle {
    position: absolute;
    top: 12.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
    -webkit-text-stroke: 0.5px #601717;
}

.bf_file_6 {
    position: absolute;
    top: 22.9%;
    left: 11.3%;
    width: 34.4%;
    height: 14.1%;
    border-radius: 10px;
    z-index: 11;
}

.ex_24 {
    position: absolute;
    top: 28.3%;
    left: 57.3%;
    width: 34.4%;
    height: 8.9%;
    color: #fff;
    font-size: 17px;
    z-index: 11;
    line-height: 1.3;
    text-align: left;
}

.ex_28 {
    position: absolute;
    top: 23.5%;
    left: 57.5%;
    width: 34.4%;
    height: 5%;
    color: #fff;
    font-size: 22px;
    z-index: 11;
    line-height: 1.3;
    text-align: left;
}

.bf_file_7 {
    position: absolute;
    top: 38.98%;
    left: 58%;
    width: 34.5%;
    height: 14.1%;
    border-radius: 10px;
    z-index: 11;
}

.ex_25 {
    position: absolute;
    top: 45%;
    left: 6%;
    width: 40%;
    height: 8.9%;
    color: #fff;
    font-size: 17px;
    z-index: 11;
    line-height: 1.3;
    text-align: right;
}

.ex_29 {
    position: absolute;
    top: 40.2%;
    left: 10%;
    width: 34.4%;
    height: 5%;
    color: #fff;
    font-size: 22px;
    z-index: 11;
    line-height: 1.3;
    text-align: right;
}

.bf_file_8 {
    position: absolute;
    top: 55.2%;
    left: 11.3%;
    width: 34.4%;
    height: 14.1%;
    border-radius: 10px;
    z-index: 11;
}

.ex_26 {
    position: absolute;
    top: 61%;
    left: 59%;
    width: 34.4%;
    height: 8.9%;
    color: #fff;
    font-size: 17px;
    z-index: 11;
    line-height: 1.3;
    text-align: left;
}

.ex_30 {
    position: absolute;
    top: 56%;
    left: 57.5%;
    width: 34.4%;
    height: 5%;
    color: #fff;
    font-size: 22px;
    z-index: 11;
    line-height: 1.3;
    text-align: left;
}

.bf_file_9 {
    position: absolute;
    top: 70.9%;
    left: 58%;
    width: 34.5%;
    height: 14.1%;
    border-radius: 10px;
    z-index: 11;
}

.ex_27 {
    position: absolute;
    top: 77.3%;
    left: 6.5%;
    width: 40%;
    height: 8.9%;
    color: #fff;
    font-size: 17px;
    z-index: 11;
    line-height: 1.3;
    text-align: right;
}

.ex_31 {
    position: absolute;
    top: 72.4%;
    left: 11%;
    width: 34.4%;
    height: 5%;
    color: #fff;
    font-size: 22px;
    z-index: 11;
    line-height: 1.3;
    text-align: right;
}

.gallery-title {
    position: absolute;
    top: 12.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.gallery-subtitle {
    position: absolute;
    top: 15.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.gallery-desc {
    position: absolute;
    top: 20.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 19px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.representative_img {
    position: absolute;
    top: 55.9%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 66.5%;
}

.message-title {
    position: absolute;
    top: 11.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
    -webkit-text-stroke: 0.3px #601717;
}

.message-subtitle {
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 42px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
    -webkit-text-stroke: 0.5px #601717;
}

.rsvp-title {
    position: absolute;
    top: 21.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.rsvp-subtitle {
    position: absolute;
    top: 27.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 42px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.ex_32 {
    position: absolute;
    top: 43.3%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 8.9%;
    color: #ffedde;
    font-size: 22px;
    z-index: 11;
    line-height: 1.3;
    text-align: center;
}

.rsvp-btn {
    position: absolute;
    top: 74.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffedde;
    color: #631a1a;
    border: none;
    padding: 19px 30px;
    font-size: 21px;
    border-radius: 13px;
    cursor: pointer;
    z-index: 12;
    width: 75%;
}

.flower-btn {
    position: absolute;
    top: 49.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #631a1a;
    color: #ffedde;
    border: none;
    padding: 19px 30px; 
    font-size: 21px;
    border-radius: 13px;
    cursor: pointer;
    z-index: 12;
    width: 75%;
}
.interview-title {
    position: absolute;
    top: 11.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.interview-subtitle {
    position: absolute;
    top: 15.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.ex_33 {
    position: absolute;
    top: 25.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.ex_34 {
    position: absolute;
    top: 84.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffedde;
    color: #631a1a;
    border: none;
    padding: 19px 30px;
    font-size: 21px;
    border-radius: 13px;
    cursor: pointer;
    text-align: center;
    z-index: 12;
    width: 75%;
}
.ex_34:hover {
    background: #ffedde;
    color: #631a1a;
    text-decoration: none;
}
.bf_file_10 {
    position: absolute;
    top: 55.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68.5%;
    height: 42%;
    z-index: 13;
    border-radius: 40%;
}

#pay_1_modal .modal-content {
    background: #eef4f8;
}

#pay_2_modal .modal-content {
    background: #eef4f8;
}

.pay-box {
    background: #fff;
    border-radius: 12px;
    padding: 18px;
    margin: 15px 0;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.pay-sub-box {
    background: #efefef;
    border-radius: 12px;
    padding: 18px;
    margin: 15px 0;
    text-align: center;
}

.pay-box h5 {
    font-size: 16px;
    color: #666;
    font-weight: 500;
    margin: 0;
    padding-top: 2.5px;
}

.pay-box h6 {
    font-size: 20px;
    color: #333;
    font-weight: 600;
}

.pay-box .bank {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 19px;
}

.pay-box .account {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 20px;
}

.pay-box .copy {
    display: inline-block;
    padding: 5px 10px;
    margin-bottom: 5px;
    background-color: #fff;
    color: #333;
    text-decoration: none;
    border-radius: 5px;
    border: 1px solid #efefef;
    font-size: 14px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.pay-box .kakao_pay {
    display: inline-block;
    padding: 5px 10px;
    background-color: #fff;
    color: #333;
    text-decoration: none;
    border-radius: 5px;
    border: 1px solid #efefef;
    font-size: 14px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.interview-title {
    position: absolute;
    top: 11.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.interview-subtitle {
    position: absolute;
    top: 15.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.rsvp-btn {
    position: absolute;
    top: 74.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffedde;
    color: #631a1a;
    border: none;
    padding: 19px 30px;
    font-size: 21px;
    border-radius: 13px;
    cursor: pointer;
    z-index: 12;
    width: 75%;
}

.pay-title {
    position: absolute;
    top: 21.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.ex_36 {
    position: absolute;
    top: 41.3%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 15%;
    color: #ffedde;
    font-size: 22px;
    z-index: 11;
    line-height: 1.2;
    text-align: center;
}

.pay-btn-1 {
    position: absolute;
    top: 64.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffedde;
    color: #631a1a;
    border: none;
    padding: 12px 30px;
    font-size: 26px;
    border-radius: 13px;
    cursor: pointer;
    z-index: 12;
    width: 88%;
}

.pay-btn-2 {
    position: absolute;
    top: 77.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #ffedde;
    color: #631a1a;
    border: none;
    padding: 12px 30px;
    font-size: 26px;
    border-radius: 13px;
    cursor: pointer;
    z-index: 12;
    width: 88%;
}

.location-title {
    position: absolute;
    top: 28.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.location-subtitle {
    position: absolute;
    top: 38.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.call-warp {
    position: absolute;
    top: 63.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #631a1a;
    font-size: 30px;
    z-index: 11;
    line-height: 1.2;
    text-align: center;
    font-style: italic;
}

.call-warp a {
    margin-left: 15px;
    font-size: 15px;
    margin-top: 10px;
}

.ex_51 {
    position: absolute;
    top: 73.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #631a1a;
    font-size: 21px;
    z-index: 11;
    line-height: 1.2;
    text-align: center;
    font-style: italic;
}

.ex_49_addr1 {
    position: absolute;
    top: 89.3%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #631a1a;
    font-size: 17px;
    z-index: 11;
    line-height: 1.2;
    text-align: center;
}

#map {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.info-box {
    position: absolute;
    top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
    width: 100%;
}

.car-box {
    width: 100%;
    padding: 20px 0;
    border-bottom: 2px solid #ccc;
}

.info-title {
    font-size: 22px;
    color: #000;
    text-align: left;
    display: inline-block;
    width: 100%;
    font-family: 'GangwonEducationModuche';
}

.info-subtitle {
    font-size: 16px;
    color: #000;
    text-align: left;
    display: inline-block;
    width: 100%;
}

.navi-box {
    width: 100%;
}

.navi-box .navi-btn {
    width: 30%;
    margin: 0 1.5%;
    padding: 15px 0;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    background: #fff;
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.navi-box .navi-btn img {
    width: 20px;
    height: 20px;
}

.parking-box {
    width: 100%;
    padding: 20px 0;
    border-bottom: 2px solid #ccc;
}

.bus-box {
    width: 100%;
    padding: 20px 0;
    border-bottom: 2px solid #ccc;
}

.subway-box {
    width: 100%;
    padding: 20px 0;
    border-bottom: 2px solid #ccc;
}

.information-title {
    position: absolute;
    top: 7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.information-subtitle {
    position: absolute;
    top: 10.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}
.information-content {
    position: absolute;
    top: 23%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}
.information-content > ul > li {
    width: 33.33%;
}
.information-content > ul > li > button {
    width: 100%;
    font-size: 18px;
    color: #c5c5c5 !important;
    background: transparent;
    background-color: transparent !important;
    border: none;
    border-bottom: 2px solid #c5c5c5 !important;
    cursor: pointer;
    border-radius: 0;
    font-weight: bold;
}
.information-content > ul > li > button.active {
    color: #631a1a !important;
    border-bottom: 2px solid #631a1a !important;
}

.information-tabs {
    position: static;
    width: 100%;
}

.information-content > .tab-content {
    margin-top: 30px;
    min-height: 350px;
}

.bf_file_11 {
    width: 100%;
    border-radius: 10px;
    height: 305px;
}

.ex_56, .ex_57, .ex_58 {
    display: block;
    width: 100% !important;
    color: #631a1a;
    font-size: 21px;
    line-height: 1.2;
    text-align: center;
    margin-top: 30px;
}

.bf_file_12 {
    width: 100%;
    border-radius: 10px;
    height: 305px;
}

.bf_file_13 {
    width: 100%;
    border-radius: 10px;
    height: 305px;
}

.reception-title {
    position: absolute;
    top: 12.2%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.reception-subtitle {
    position: absolute;
    top: 16.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.ex_59 {
    position: absolute;
    top: 34.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 21px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 100%;
    line-height: 1.2;
}

.reception-desc-box {
    position: absolute;
    top: 64.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 15px;
    padding: 15px;
    width: 90%;
}

.reception-desc {
    font-size: 26px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 12;
    width: 100%;
    line-height: 1.5;
}

.ex_60 {
    margin-top: 1%;
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 13;
    width: 100%;
}

.ex_61 {
    margin-top: -2%;
    font-size: 25px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 14;
    width: 100%;
}

.ex_62 {
    margin-top : 5%;
    font-size: 21px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 15;
    width: 100%;
}

.reception-btn {
    position: absolute;
    top: 86%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    color: #631a1a;
    text-align: center;
    display: inline-block;
    z-index: 16;
    width: 91%;
    height: 64px;
    background-color: #ffedde;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: bold;
}

.calendar-title {
    position: absolute;
    top: 9.8%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 9;
    width: 100%;
    font-family: Bangers;
}

.calendar-subtitle {
    position: absolute;
    top: 14%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 41px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 10;
    width: 100%;
    font-family: OwnglyphBrilliant;
}

.calendar-desc-1 {
    position: absolute;
    top: 22.7%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 11;
    width: 100%;
}

.calendar-desc-2 {
    position: absolute;
    top: 26.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 21px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 12;
    width: 100%;
}

.calendar-desc-3 {
    position: absolute;
    top: 31%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 13;
    width: 100%;
}

.calendar {
    position: absolute;
    top: 53.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    padding: 20px;
    font-family: 'IsYun';
    width: 100%;
    border-radius: 8px;
}

.calendar table {
    width: 100%;
    border-collapse: collapse;
}

.calendar th, .calendar td {
    text-align: center;
    font-size: 26px;
}

.calendar th {
    font-weight: normal;
}

.calendar td {
    cursor: pointer;
}

.calendar .today {
    border: 2px solid white;
    border-radius: 50%;
    color: #631a1a;
    background: #fff;
}

.countdown-timer {
    position: absolute;
    top: 81.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #ffedde;
    font-family: 'IsYun';
    border-radius: 8px;
    display: inline-block;
}

.countdown-timer table {
    border-collapse: collapse;
    width: 85%;
    margin: auto;
}

.countdown-timer td {
    text-align: center;
}

.countdown-timer .label {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 2px;
}

.countdown-timer .number {
    font-size: 48px;
    font-weight: bold;
}

.countdown-timer .colon {
    font-size: 50px;
    font-weight: bold;
}

.input-container {
    margin: 20px;
    text-align: center;
}

.input-container input {
    padding: 10px;
    font-size: 16px;
    margin: 5px;
    border: 2px solid #6B3535;
    border-radius: 4px;
}

.input-container button {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #6B3535;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.input-container button:hover {
    background-color: #8B4545;
}

.calendar-desc-4 {
    position: absolute;
    top: 88%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    color: #ffedde;
    text-align: center;
    display: inline-block;
    z-index: 14;
    width: 100%;
}
.bf_file_14 {
    position: absolute;
    top: 34%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 68%;
    z-index: 13;
}
.copy_kakao {
    position: absolute;
    top: 78%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    width: 100%;
    color: #262626;
    cursor: pointer;
    z-index: 14;
}
.copy_kakao img {
    width: 24px;
    height: 24px;
    margin-right: 8px;
}

.copy_address {
    position: absolute;
    top: 81.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    width: 100%;
    color: #262626;
    cursor: pointer;
    z-index: 14;
}
.copy_light {
    position: absolute;
    bottom: 5%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    width: 100%;
    color: #888888;
    z-index: 14;
}

@media (max-width: 768px) {
    .contact-box a {
        padding: 10px 15px;
    }

    .pay-btn-2 {
        top: 79.5%;
    }
}

/* 모바일 슬라이드 오버레이 */
.mobile-slide-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    opacity: 0;
    transition: opacity 0.3s;
}

.mobile-slide-overlay.active {
    display: block;
    opacity: 1;
}

/* 모바일 슬라이드 폼 */
@media (max-width: 768px) {
    .template-wrap .col {
        position: relative;
    }
    
    .mobile-slide {
        position: fixed;
        top: 0;
        right: -100%;
        width: 90%;
        max-width: 500px;
        height: 100%;
        background: white;
        z-index: 1050;
        overflow-y: auto;
        transition: right 0.3s ease-in-out;
        box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3);
    }
    
    .mobile-slide.active {
        right: 0;
    }
    
    /* 슬라이드 헤더 */
    .mobile-slide-header {
        position: sticky;
        top: 0;
        background: white;
        padding: 15px 20px;
        border-bottom: 1px solid #dee2e6;
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 10;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    .mobile-slide-close {
        background: none;
        border: none;
        font-size: 24px;
        color: #333;
        padding: 0;
        cursor: pointer;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .mobile-slide-header h5 {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
    }
    
    /* body 스크롤 방지 */
    body.mobile-slide-open {
        overflow: hidden;
    }
}

html {
    scroll-behavior: auto !important; /* smooth 스크롤 비활성화 */
}

/* 모달이 열릴 때 body 위치 고정 */
body.modal-open {
    position: fixed;
    width: 100%;
    overflow-y: scroll; /* 스크롤바 공간 유지 */
}

.info-link-btn {
    background: #631a1a;
    color: #ffedde;
    border: none;
    padding: 19px 30px;
    font-size: 21px;
    border-radius: 13px;
    cursor: pointer;
    z-index: 12;
    width: 75%;
    display: block;
    margin: 20px auto 0;
    text-align: center;
    text-decoration: none;
}

.info-link-btn:hover {
    background: #631a1a;
    color: #ffedde;
    text-decoration: none;
}

.link-toggle {
    height: 38px;
    margin-bottom: 0 !important;
    position: absolute !important;
    top: -27px;
    right: 0;
}

/* RSVP Modal custom-btn */
.custom-btn {
    display: block;
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    color: #333;
    background-color: #fff;
    border: 2px solid #333;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15);
    border: 1px solid  rgba(202, 202, 202, 0.4);
}

.custom-btn:hover {
    background-color: #333;
    color: #fff;
    text-decoration: none;
}

#rsvp_modal .modal-footer {
    border-top: none;
}

#rsvp_modal .custom-btn {
    margin: 0;
}

/* RSVP Modal 라디오 버튼 스타일 */
#rsvp_modal .form-check {
    padding-left: 0;
    margin: 0;
}

#rsvp_modal .form-check-input {
    display: none;
}

#rsvp_modal .form-check-label {
    display: inline-block;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
}

#rsvp_modal .form-check-input:checked + .form-check-label {
    background-color: #333;
    color: #fff;
    border-color: #333;
}

#rsvp_modal .form-check-label:hover {
    background-color: #e8e8e8;
    border-color: #ccc;
}

#rsvp_modal .form-check-input:checked + .form-check-label:hover {
    background-color: #444;
}

/* 안내사항 섹션 스타일 */
.information-section-item {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 15px;
    position: relative;
}

.info-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e0e0;
}

.info-section-number {
    font-weight: 600;
    font-size: 14px;
    color: #333;
}

.info-section-delete {
    padding: 4px 8px;
    font-size: 12px;
}

/* 안내사항 추가 버튼 (중앙 동그란 버튼) */
.info-section-add-wrap {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.info-section-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #fff;
    border: 2px dashed #aaa;
    border-radius: 30px;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.info-section-add-btn:hover {
    border-color: #333;
    color: #333;
    background: #f5f5f5;
}

.info-section-add-btn i {
    font-size: 12px;
}

/* 사진/버튼 영역 */
.info-photo-area,
.info-btn-area {
    margin-top: 10px;
    padding: 10px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

/* 샘플 문구 버튼 */
.sample-text-btn {
    background: #fff8f0;
    border-color: #e0c4a8;
    color: #8b6914;
    display: block;
    width: 100%;
}

.sample-text-btn:hover {
    background: #f5e6d3;
    border-color: #d4a574;
    color: #6b4c0a;
}

.sample-quote-btn {
    background: #fff8f0;
    border-color: #e0c4a8;
    color: #8b6914;
    display: block;
    width: 100%;
}

.sample-quote-btn:hover {
    background: #f5e6d3;
    border-color: #d4a574;
    color: #6b4c0a;
}

/* 샘플 문구 모달 스타일 */
#sample_text_modal .modal-content {
    border-radius: 0;
    border: none;
}

#sample_text_modal .modal-header {
    padding: 20px 15px 10px;
}

#sample_text_modal .modal-title {
    font-size: 16px;
    font-weight: 400;
    color: #333;
}

#sample_text_modal .modal-body {
    padding: 10px 15px 20px;
}

.sample-text-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-height: 450px;
    overflow-y: auto;
}

.sample-text-item,
.sample-quote-item {
    padding: 20px 15px;
    background: #fff;
    border: none;
    border-bottom: 1px solid #eee;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.15s ease;
}

.sample-text-item:first-child,
.sample-quote-item:first-child {
    border-top: 1px solid #eee;
}

.sample-text-item:hover,
.sample-quote-item:hover {
    background: #f8f8f8;
}

.sample-text-preview {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    white-space: pre-line;
}

/* 샘플 사진 모달 스타일 */
.sample-photo-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    max-height: 400px;
    overflow-y: auto;
}

.sample-photo-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sample-photo-item:hover {
    background: #fff8f0;
    border-color: #d4a574;
}

.sample-photo-item img {
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 8px;
}

.sample-photo-item span {
    font-size: 12px;
    color: #666;
    text-align: center;
}

/* BGM 카테고리 스타일 */
.bgm-wrap {
    max-height: 400px;
    overflow-y: auto;
    padding-right: 10px;
}

.bgm-category {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.bgm-category:last-of-type {
    border-bottom: none;
    margin-bottom: 15px;
}

.bgm-category-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
    padding-left: 5px;
    border-left: 3px solid #631a1a;
}

.bf_file_15 {
    width: 100%;
    max-width: 400px;
    aspect-ratio: 2 / 1;
    object-fit: cover;
}