/* 모바일 가로 스크롤 방지 */
html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

.text-end {text-align: end !important;}
.text-center {text-align: center !important;}
.fw-100 {font-weight: 100;}
.mb-5 { margin-bottom: 2.0rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.text-white {color:#ffffff;}
.fs-18 {font-size:18px !important;}
.mb30 {margin-bottom: 30px;}
.mt30 {margin-top: 30px;}
.mb50 {margin-bottom: 50px;}
.mt50 {margin-top: 50px;}
.text-start {text-align: start !important;}
.w-100 {width: 100% !important;}
.d-flex {display: flex !important;}
/* PC에서 mobile-br 숨기기 */
.mobile-br {
    display: none;
}
.margin_auto {margin: auto;}


.listBl {padding-left: 0px !important;}
    /* 상단 헤더 바 스타일 */
.top-header-bar {
    background-color: #fff;
    border-bottom: 1px solid #e0e0e0;
}

.top-header-bar .container {padding: 10px;}

.header-logo img {
    max-height: 50px;
}

/* 모바일 헤더 레이아웃 */
.mobile-header-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 10px;
    margin: 15px 0;
}

.mobile-header-layout .header-logo {
    flex: 0 1 auto;
    display: flex;
    justify-content: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.mobile-header-layout .header-logo img {
    max-height: 50px;
    height: auto;
}

.mobile-header-layout .dday-wrapper {
    gap: 0;
    flex-shrink: 0;
    margin-left: auto;
}

.mobile-header-layout .dday-box {
    padding: 6px 12px;
}

.dday-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 20px;
}

.dday-box {
    background-color: #ff6b35;
    color: white;
    padding: 8px 15px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

.dday-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.dday-count {
    font-size: 20px;
    font-weight: 700;
}

.dday-date {
    font-size: 16px;
    line-height: 1.3;
    text-align: left;
    color: #333;
    font-weight: 500;
}

/* 메인 네비게이션 스타일 */
.main-nav-bar {
    background-color: #0d6e6e;
}

.main-nav-bar .navbar {
    padding: 0;
}

.main-nav-bar .navbar-nav {
    width: 100%;
    justify-content: space-around;
}

.main-nav-bar .nav-item {
    position: relative;
}

.main-nav-bar .nav-link {
    color: white !important;
    padding: 20px 25px;
    font-size: 22px;
    font-weight: bolder;
    transition: all 0.3s ease;
    border-bottom: 3px solid transparent;
}

.main-nav-bar .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    border-bottom-color: #ff6b35;
}

.main-nav-bar .nav-link.active {
    border-bottom-color: #ff6b35;
}

/* 드롭다운 메뉴 (마우스 오버) */
.main-nav-bar .nav-item .dropdown-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    margin: 0;
    padding: 0;
    background-color: #0d6e6e;
    border: none;
    border-radius: 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s ease;
    z-index: 1000;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.main-nav-bar .nav-item:hover > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.main-nav-bar .dropdown-menu .nav-item {
    width: 100%;
}

.main-nav-bar .dropdown-menu .nav-link {
    display: block;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.main-nav-bar .dropdown-menu .nav-item:last-child .nav-link {
    border-bottom: none;
}

.main-nav-bar .dropdown-menu .nav-link:hover {
    background-color: #ff6b35;
    border-bottom-color: transparent;
}

/* 모바일 메뉴 토글 버튼 (헤더 왼쪽) */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    padding: 5px;
    margin-right: 0;
    width: 35px;
    height: 30px;
    position: relative;
    cursor: pointer;
    z-index: 1001;
    flex-shrink: 0;
}

.mobile-menu-toggle span {
    display: block;
    width: 25px;
    height: 3px !important;
    background-color: #333 !important;
    margin: 4px 0;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.mobile-menu-toggle span:first-child {
    margin-top: 0;
}

.mobile-menu-toggle span:last-child {
    margin-bottom: 0;
}

/* 모바일 사이드바 오버레이 */
.mobile-sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1100;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-sidebar-overlay.active {
    display: block;
    opacity: 1;
}

/* 모바일 사이드바 메뉴 */
.mobile-sidebar-menu {
    position: fixed;
    top: 0;
    left: -300px;
    width: 280px;
    height: 100%;
    background-color: #fff;
    z-index: 1200;
    transition: left 0.3s ease;
    overflow-y: auto;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

.mobile-sidebar-menu.active {
    left: 0;
}

.mobile-sidebar-header {
    padding: 20px;
    background-color: #0d6e6e;
    display: flex;
    justify-content: flex-end;
}

.mobile-menu-close {
    background: none;
    border: none;
    color: white;
    font-size: 28px;
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-sidebar-content {
    padding: 20px 0;
}

.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-nav-item {
    border-bottom: 1px solid #e0e0e0;
}

.mobile-nav-link {
    display: block;
    padding: 15px 20px;
    color: #333;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
    background-color: #0d6e6e;
    color: white;
}

.mobile-dropdown-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #f5f5f5;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.mobile-nav-item.active .mobile-dropdown-menu {
    max-height: 300px;
}

.mobile-dropdown-menu li {
    border-bottom: 1px solid #e0e0e0;
}

.mobile-dropdown-menu li:last-child {
    border-bottom: none;
}

.mobile-dropdown-menu a {
    display: block;
    padding: 12px 20px 12px 40px;
    color: #555;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    transition: all 0.3s ease;
}

.mobile-dropdown-menu a:hover {
    background-color: #ff6b35;
    color: white;
}

/* 모바일 네비게이션 토글 버튼 (기존 - 숨김) */
.main-nav-bar .navbar-toggler {
    display: none;
}

.main-nav-bar .navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

.main-nav-bar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    width: 25px;
    height: 25px;
}

/* 모바일에서 드롭다운 메뉴 스타일 */
@media (max-width: 991px) {
    /* 모바일 메뉴 토글 버튼 표시 */
    .mobile-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    /* TODAY 날짜 숨기기 */
    .dday-date {
        display: none !important;
    }

    /* 데스크톱 메뉴바 숨기기 */
    .main-nav-bar {
        display: none;
    }

    /* 기존 모바일 메뉴 스타일 (백업용) */
    .main-nav-bar .navbar-collapse {
        display: none !important;
    }

    /* 모바일 헤더 컨테이너 패딩 조정 */
    .top-header-bar .container {
        padding: 5px 15px;
    }

    /* D-Day 아이콘 크기 조정 */
    .dday-icon {
        width: 14px;
        height: 14px;
    }

    .dday-count {
        font-size: 16px;
    }
}

/* 히어로 섹션 스타일 */
.hero-section {
    background-image: url(/assets/img/kjt_main_3.jpeg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 350px;
    position: relative;
}

.hero-content {
    max-width: 1200px;
    margin: 0 auto;
}

.hero-title {
    font-size: 60px;
    font-weight: 700;
    color: #2c3e50;
    line-height: 1.2;
    margin-bottom: 20px;
}

.hero-subtitle {
    font-size: 24px;
    color: #16697a;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 10px;
}

.hero-subtitle-detail {
    font-size: 18px;
    color: #3498db;
    font-style: italic;
    margin-bottom: 30px;
}

.event-date-box {
    background-color: #5e3a8c;
    color: white;
    padding: 15px 30px;
    display: inline-block;
    margin-bottom: 10px;
}

.event-date-box h3 {
    font-size: 22px;
    margin: 0;
    font-weight: 600;
}

.event-location {
    font-size: 16px;
    color: #2c3e50;
    margin-top: 10px;
}

/* 데드라인 박스 스타일 */
.deadline-section {
    padding: 50px 0;
    background-color: #ebf7f7;
}

.deadline-box {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    height: 100%;
    transition: transform 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.deadline-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.deadline-content {
    padding: 30px 10px 20px;
    color: white;
}

.deadline-content.teal {
    background-color: #4db8c4;
}

.deadline-content.coral {
    background-color: #f4816f;
}

.deadline-content.dark-green {
    background-color: #4a6b4f;
}

.deadline-icon {
    font-size: 60px;
}

.deadline-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 0;
}

.deadline-date {
    font-size: 26px;
    font-weight: bolder;
    padding: 20px;
    background-color: #fff;
    color: #2c3e50;
}

/* 아이콘 버튼 & 공지사항 통합 섹션 */
.combined-section {
    padding: 50px 0;
    background-color: #fff;
}

.icon-buttons-wrapper {
    padding-right: 20px;
}

.icon-btn-card {
    background-color: #fff;
    border-radius: 50%;
    width: 230px;
    height: 230px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    /*box-shadow: 0 4px 12px rgba(0,0,0,0.1);*/
    transition: all 0.3s ease;
    cursor: pointer;
}

.icon-btn-card:hover {
    transform: scale(1.05);
    /*box-shadow: 0 6px 16px rgba(0,0,0,0.15);*/
}

.icon-btn-card.teal {
    background-color: #4db8c4;
}

.icon-btn-card.coral {
    background-color: #f4816f;
}

.icon-btn-card i {
    font-size: 55px;
    color: white;
}

.icon-btn-label {
    text-align: center;
    margin-top: 10px;
    font-size: 24px;
    font-weight: 600;
    color: #2c3e50;
    line-height: 1.3;
}

.notice-box {
    background-color: #fff;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.notice-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e9ecef;
}

.notice-header h3 {
    font-size: 22px;
    font-weight: 600;
    color: #2c3e50;
    margin: 0;
}

.view-all-link {
    color: #6c757d;
    font-size: 18px;
    text-decoration: none;
}

.view-all-link:hover {
    color: #495057;
}

.notice-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.notice-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #e9ecef;
}

.notice-item:last-child {
    border-bottom: none;
}

.notice-item a {
    color: #2c3e50;
    text-decoration: none;
    flex: 1;
    font-size: 18px;
}

.notice-item a:hover {
    color: #3498db;
}

.notice-date {
    color: #6c757d;
    font-size: 14px;
    margin-left: 18px;
}

/* 하단 정보 섹션 */
.info-section {
    padding: 20px 0;
    background-color: #ffe5dc;
    font-size: 12px !important;
}

.info-box {
    background-color: #ffe5dc;
    padding: 20px;
}

.info-title {
    font-size: 16px;
    color: #2c3e50;
    margin-bottom: 15px;
}

.info-content {
    font-size: 14px;
    color: #495057;
    line-height: 1.8;
}

.info-content a {
    color: #3498db;
    text-decoration: none;
}

.info-content a:hover {
    text-decoration: underline;
}
.info-content p {
    font-size: 14px !important;
}

.sub-banner {
    background-image: url(/assets/img/kjt_sub_main_4.jpeg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 251px;
    position: relative;
    z-index: 1;
}
/* Sub Navigation Tabs */
.sub-nav-tabs {
    display: flex;
    gap: 10px;

}

.sub-tab {
    flex: 1;
    padding: 15px 30px;
    text-align: center;
    border-radius: 25px 25px 0 0;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    transition: all 0.3s ease;
    background-color: #4db8c4;
    color: white;
}

.sub-tab:nth-child(2) {
    background-color: #4db8c4;
}

.sub-tab:nth-child(3) {
    background-color: #4db8c4;
}

.sub-tab:hover {
    opacity: 0.9;
    transform: translateY(-2px);
    color: #000000;
}

.sub-tab.active {
    background-color: #f4816f;
}

/* Welcome Message Content */
.congress-content {
    padding: 20px 20px;
    background-color: #fff;
    border: 1px solid #e2e2e2;
}

.president-section {
    margin-bottom: 30px;
}

.president-section .title {
    display: flex;
    gap: 20px;
}

.president-desc {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-self: flex-end;
}

.president-photo {
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    max-width: 150px;
    height: auto;
}

.president-name {
    font-size: 28px;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 5px;
}

.president-title {
    font-size: 16px;
    color: #6c757d;
    font-weight: 500;
}

.message-content {
    line-height: 1.8;
    color: #495057;
}

.message-content p {
    margin-bottom: 20px;
    font-size: 16px;
}

.congress {background-color: #ebf6f6;}
.congress .container {
    padding-top: 20px;
    padding-bottom: 40px;

}

.content-area {

}


.deadline_table{
    margin-bottom:40px;
}








.main-slides-item {
    background-image: url(../../public/assets/img/nsc_main_2.png);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 165px;
    height: 600px;
}

.nsc-header {
    background: transparent;
    padding: 0;
}

.pc-d-block {display: block;}
.mo-d-block {display: none;}
.mo-text-center {text-align: unset;}

/* Top Utility Bar */
.top-util {
    background: linear-gradient(to right, #c41e3a 0%, #003087 100%);
    padding: 10px 0;
    font-size: 14px;
}
.util-content {
    display: flex;
    align-items: center;
    gap: 15px;
    color: white;
}
.speaker-icon {
    font-size: 24px;
    color: white;
}
.opening-text {
    color: white;
    font-weight: 500;
    font-size: 18px;
}
.divider {
    color: white;
    font-size: 20px;
    font-weight: 300;
}
.dday-badge {
    color: white;
    padding: 5px 15px;
    border: 2px solid white;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
}
.date-label {
    color: white;
    font-weight: 400;
    font-size: 16px;
}

/* Main Header */
.main-header {
    background: #fff;
    padding: 10px 0;
}
.nsc-header .nav-link {
    color: #000;
    font-weight: 500;
    padding: 8px 15px;
    text-decoration: none;
    transition: all 0.3s;
}
.nsc-header .nav-link:hover {
    color: #f0f0f0;
    background: rgba(255,255,255,0.1);
    border-radius: 3px;
}
.nsc-banner {
    /*background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
    padding: 60px 0;
    position: relative;
    overflow: hidden;*/
    background-image: url(/assets/img/kjt_main_2.png);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 700px;
    position: relative;
    /*top:139px;*/
    top:84px;
}
.nsc-banner::before {
    /*content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 50px;
    background: repeating-linear-gradient(
        0deg,
        #d4af37,
        #d4af37 10px,
        #c9a129 10px,
        #c9a129 20px
    );*/
}
.nsc-quick-links {
    position: relative;
    z-index: 1;
    bottom:-30px;
}
.quick-link-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transition: all 0.3s;
    min-height: 150px;
    display: flex;
}
.quick-link-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}
.quick-link-card .card-content {
    display: flex;
    justify-content: space-between;
    align-items: stretch;    /* center → stretch */
    gap: 20px;
    flex: 1;                 /* 추가 — card-text가 높이 확보됨 */
}
.quick-link-card .card-text {
    flex: 1;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.quick-link-card .card-text h9 {
    /*font-weight: 700;*/
    margin-bottom: 10px;
    color: #333;
    font-size: 20px;
}
.quick-link-card .card-text p {
    font-size: 14px;
    color: #666;
    margin: 0;
}
.quick-link-card .card-image {
    flex-shrink: 0;
}
.quick-link-card .card-image img {width:80px;}
.quick-link-card .image-placeholder {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #e0e0e0;
}
.main_text_title {font-size: 30px; color: #333; margin:0;}
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.section-header h3 {
    font-weight: 700;
    color: #333;
    margin: 0;
}
.section-header a {
    color: #003087;
    text-decoration: none;
    font-weight: 500;
}
.speaker-card {
    text-align: center;
    padding: 15px;
}
.speaker-card img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
}
.speaker-card h6 {
    font-weight: 600;
    margin-bottom: 5px;
    color: #333;
}
.speaker-card p {
    font-size: 13px;
    color: #666;
    margin: 0;
}
.speaker-card .image-placeholder {
    /*width: 100%;*/
    width: 165px;
    height: 165px;
    border-radius: 50%;
    background: #e0e0e0;
    text-align: center;
    display: inline-block;
    margin-bottom: 20px;
}
.newsletter-item {
    background: white;
    border-bottom:1px solid #a9a6a7;
    padding: 15px 15px 15px 0;
}
.newsletter-item:first-child {border-top:1px solid #a9a6a7;}
.date-item {
    background: white;
    border-left: 4px solid #c41e3a;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.date-box {
    height: 80px;
    border-radius: 8px;
}
.date-item .date {
    font-size: 24px;
    font-weight: 700;
    color: #c41e3a;
    margin-bottom: 5px;
}
.date-item .month {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}
.date-item p {
    font-size: 14px;
    color: #333;
    margin: 0;
}
.video-card {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    height: 100%;
    min-height: 300px;
}
.video-card img {
    width: 100%;
    /*height: 100%;*/
    max-height:380px;
    object-fit: cover;
}

.partner-text {font-size:16px;position: relative;}
/*.partner-text::after {
    content: "|";
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    color: #706e6e;
    font-weight: 300;
    z-index: 2;
}*/
.nsc-footer {
    background: #5a5a5a;
    color: white;
    padding: 50px 0 30px;
}
.nsc-footer h6 {
    color: white;
    font-weight: 600;
    margin-bottom: 15px;
}
.nsc-footer p, .nsc-footer a {
    color: #ccc;
    font-size: 13px;
}
.nsc-footer a:hover {
    color: white;
}

/* Footer Logo */
.footer-logo {
    /*max-width: 150px;*/
    height: auto;
    top: -10px;
    position: relative;
}

/* Footer Info Section */
.footer-info {
    /*padding-left: 20px;*/
}
.footer-title {
    color: white;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
}
.footer-details p {
    color: #d0d0d0;
    font-size: 13px;
    line-height: 0.5;
}
.footer-details strong {
    color: white;
    font-weight: 600;
}
.footer-details .text-muted {
    color: #999 !important;
}
.footer-details .copyright {
    color: #aaa;
    font-size: 12px;
    margin-top: 10px;
}

/* Footer Right Section */
.footer-right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.footer-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}
.btn-footer-white {
    background: #5a5a5a;
    color: #333;
    border: 1px solid #fff;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s;
}
.btn-footer-white:hover {
    background: #f0f0f0;
    color: #000;
}
.friendly-links {
    width: 100%;
    max-width: 250px;
}
.friendly-links .form-label {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 8px;
}
.footer-select {
    background: white;
    border: 1px solid #ddd;
    color: #333;
    font-size: 13px;
    padding: 8px 12px;
    border-radius: 4px;
}
.footer-select:focus {
    border-color: #999;
    box-shadow: none;
}

/* committee table */

.cst-table{
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
}
.cst-table th,
.cst-table td{
    padding: 10px 20px;
    border: 1px solid #cccccc;
    border-top: 0;
    font-size: 1.2rem;
    line-height: 1.3;
    text-align: left;
    vertical-align: middle;
}
.cst-table th{
    background-color: #f9f6ff;
    font-weight: 500;
}
.cst-table thead th{
    background-color: #e0ddf5;
}
.cst-table tr > *:first-child {
    border-left: 0;
}
.cst-table tr > *:last-child {
    border-right: 0;
}
.cst-table .active th{
    padding: 16px 15px;
    background-color: #fff6e6;
    border-bottom: 0;
    font-size: 28px;
    font-weight: 500;
    color: #88672c;
}
.cst-table .btn-wrap > a{
    display: inline-block;
    vertical-align: top;
}
.cst-table td:has(.form-item){
    padding-top: 10px;
    padding-bottom: 10px;
}
.cst-table a{
    word-break: break-all;
}
.cst-table tr.active{
    background-color: #FFFDFA;
}

.abstract-th {width:200px;}
.abstract-btn {padding: 10px 30px;}


/* Responsive */
@media (max-width: 991px) {
    .footer-right {
        align-items: flex-start;
        margin-top: 20px;
    }
    .footer-info {
        padding-left: 0;
        margin-top: 20px;
    }
}

@media (max-width: 767px) {
    .footer-buttons {
        flex-direction: column;
        width: 100%;
    }
    .btn-footer-white {
        width: 100%;
        text-align: center;
    }
    .friendly-links {
        max-width: 100%;
    }

    /* table */
    .col-btn-wrap{
        width: 150px;
    }
    .cst-table th,
    .cst-table td{
        padding: 10px;
        font-size: 14px;
    }
    .cst-table th.text-left,
    .cst-table td.text-left{
        padding-left: 15px;
        padding-right: 15px;
    }
    .cst-table thead th{
        padding: 10px;
        font-size: 14px;
    }
    .cst-table .active th{
        padding: 10px;
        font-size: 17px;
    }
    .cst-table.col-2 colgroup col:nth-child(1){
        width: 35% !important;
    }



}


.congress-nsc-banner {
    background-image: url(/assets/img/kjt_sub_main_2.png);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 424px;
    margin-bottom: -30px;
    position: relative;
    z-index: 1;
    /*top:136px;*/
    top:84px;
}

.congress-tabs {
    background: transparent;
    padding: 0;
    position: relative;
    z-index: 2;
    /*bottom:-130px;*/
    bottom:-75px;
}
.congress-tabs .container {
    display: flex;
    justify-content: center;
}

.congress-tabs .nav-tabs {
    border: none;
    background: white;
    border-radius: 50px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
    display: flex !important;
    width: 90%;
    margin: 0 auto;
    justify-content: center;
    line-height: 47px;
    position: relative;
    overflow: visible;
}

/* Animated Pill Background */
.congress-tabs .nav-tabs::before {
    content: '';
    position: absolute;
    background: #5a4a9e;
    border-radius: 50px;
    box-shadow: 0 4px 12px rgba(90, 74, 158, 0.3);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    pointer-events: none;

    left: var(--pill-left, 0);
    width: var(--pill-width, 0);
    top: var(--pill-top, 0);
    height: var(--pill-height, 0);
}


/*.congress-tabs .nav-tabs .nav-item:not(:last-child) {
    border-right: 1px solid #ccc;
}
.congress-tabs .nav-tabs .nav-item .nav-link {
    padding-right: 30px; !* 오른쪽 여백 *!
}*/

/* li 정렬 및 분리선 */
.congress-tabs .nav-tabs .nav-item {
    flex: 1;
    position: relative;
    text-align: center;
    margin: 0;
}

/* 구분선 | 추가 */
/*.congress-tabs .nav-tabs .nav-item:not(:last-child)::after {
    content: "|";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #ccc;
    font-weight: 300;
    z-index: 2;
}*/

/* 마지막 탭은 구분선 없음 */
/*.congress-tabs .nav-tabs .nav-link:not(:last-child)::after {
    content: "|";
    color: #ccc;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    z-index: 1; !* 탭 텍스트보다 뒤 *!
    pointer-events: none;
}*/



/*.congress-tabs .nav-tabs .nav-item:not(:last-child)::after {
    content: "|";
    color: #ccc;
    position: absolute;
    right: -14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    line-height: 1;
    z-index: 0; !* separator는 뒤로 *!
    pointer-events: none;
}*/

.congress-tabs .nav-separator {
    display: flex;
    align-items: center; /* 세로 가운데 정렬 */
    padding: 0 10px;     /* 좌우 간격 */
    color: #ccc;
    font-size: 18px;     /* 필요하면 크기 조절 */
}

/* 탭 버튼 스타일 */
.congress-tabs .nav-tabs .nav-link {
    padding: 12px 35px;
    border: none;
    border-radius: 0;
    transition: color 0.3s ease;
    width: 100%;
    background: transparent;
    color: #333;
    font-weight: 500;
    position: relative;
    z-index: 2;

    padding-right: 24px; /* | 들어갈 여유 */
}

/* Active 탭 텍스트 스타일 */
.congress-tabs .nav-tabs .nav-link.active {
    color: #fff;
    font-weight: 600;
}

.sidebar-nav {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 0;
    overflow: hidden;
}
.sidebar-nav .nav {
    flex-direction: column;
}
.sidebar-nav .nav-item {
    border-bottom: 1px solid #e0e0e0;
}
.sidebar-nav .nav-item:last-child {
    border-bottom: none;
}
.sidebar-nav .nav-link {
    color: #333;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    transition: all 0.3s;
    border-radius: 0;
}
.sidebar-nav .nav-link:hover {
    background: #e9ecef;
    color: #5a4a9e;
}
.sidebar-nav .nav-link.active {
    background: #5a4a9e;
    color: white;
    font-weight: 600;
}
.sidebar-nav .nav-link::before {
    content: '';
    width: 8px;
    height: 8px;
    background: #5a4a9e;
    border-radius: 50%;
    margin-right: 12px;
}
.sidebar-nav .nav-link.active::before {
    background: white;
}

.welcome-header {
    margin-bottom: 30px;
}
.welcome-header h2 {
    color: #333;
    font-weight: 700;
    margin-bottom: 20px;
}
.president-info {
    display: flex;
    align-items: flex-start;
    margin-top: 30px;
}
.president-photo {
    flex-shrink: 0;
    margin-right: 30px;
}
.president-photo img {
    width: 150px;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.president-message {
    flex: 1;
}
.president-message h3 {
    color: #5a4a9e;
    font-style: italic;
    font-weight: 600;
    margin-bottom: 20px;
    font-size: 24px;
}
.president-message p {
    color: #555;
    line-height: 1.8;
    margin-bottom: 15px;
    text-align: justify;
}

.president-signature .signature {
    font-family: 'Brush Script MT', cursive;
    font-size: 36px;
    color: #333;
    margin-bottom: 5px;
}
.president-signature .name {
    font-weight: 700;
    color: #333;
    font-size: 16px;
}
.president-signature .title {
    color: #666;
    font-size: 14px;
}
.sub_title {
    color: #333;
    margin-bottom: 22px;
    line-height: 1.2;
    display: block;
    font-size: 34px;
    font-weight: bolder;
}


/* Floating Quick Menu */
.floating-quick-menu {
    position: fixed;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    transition: all 0.3s ease;
}

.quick-menu-list {
    list-style: none;
    margin: 0;
    padding: 20px 15px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    gap: 20px;
    backdrop-filter: blur(10px);
}

.quick-menu-item {
    position: relative;
}

.quick-menu-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #f5f5f5;
    color: #666;
    font-size: 24px;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}

.quick-menu-link:hover {
    background: #5a4a9e;
    color: white;
    transform: scale(1.1);
    box-shadow: 0 5px 20px rgba(90, 74, 158, 0.4);
}

.quick-menu-item.active .quick-menu-link {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.5);
    animation: pulse-glow 2s ease-in-out infinite;
}

.section-title {
    background: #d7d0df !important;
    /*font-weight: bold !important;*/
    padding: 12px !important;
    font-size: 22px !important;
}
.info-table th {
    width: 220px;
    background: #f8f8f8;
    font-weight: 600;
}
.info-table td,
.info-table th {
    padding: 12px 15px;
    vertical-align: top;
}
.info-table {
    border: 1px solid #ddd;
}

.date-table th {
    width: 220px;
    background: #f8f8f8;
    font-weight: 600;
}
.date-table td,
.date-table th {
    padding: 12px 15px;
}
.table.no-side-border {
    border-left: none !important;
    border-right: none !important;
}

.table.custom-border {
    border-left: none !important;      /* 좌측 제거 */
    border-right: none !important;     /* 우측 제거 */
    border-top: 2px solid !important;     /* 위쪽 2px */
    border-bottom: 2px solid !important;  /* 아래쪽 2px */
}

/* 셀 내부 좌/우 border 제거(위아래는 유지) */
.table.custom-border > :not(caption) > * > * {
    border-left: none !important;
    border-right: none !important;
}

.container.subpage{margin-top:20px;}


@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 8px 25px rgba(102, 126, 234, 0.5);
    }
    50% {
        box-shadow: 0 8px 35px rgba(102, 126, 234, 0.7);
    }
}

/* Registration */
.registration-cards-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 20px;
    margin-top: 50px;
}

.reg_cont_wrap h3{
    background-image: url(/assets/img/title_bg_2.png);
    font-size: 24px;
    height: 61px;
    padding: 20px 40px;
    line-height: 21px;
    color:#253873;
    /*padding-bottom:15px; margin-bottom:15px; color:#253873; border-bottom:2px solid #253873; font-size:24px;*/
}
.reg_cont_wrap h3.bd-b-none{border-bottom:none; margin-bottom:0; padding-bottom:15px;}

.reg_cont_wrap p {
    line-height: 30px;
}
.reg_cont_wrap ul li {
    list-style: none;
}

ul.listBl > li {position: relative;padding-left: 1em; padding-bottom: 20px;}
ul.listBl > li:last-child {padding-bottom: 0px;}
ul.listBl > li:before {position: absolute;left: 0;top: 0;content: "·";font-weight: bold;}

ul.listBl2 > li {position: relative;padding-left: 1em;}
ul.listBl2 > li:before {position: absolute;left: 0;top: 0;content: "·"; color:#556fb5; font-weight: bold;}

ul.listStar > li {position: relative;padding-left: 1em;}
ul.listStar > li:before {position: absolute;left: 0;top: 15px;content: "*";line-height: 0;}

.cont-wrap-a{font-size:16px; color:#253873 !important; }
.overview_title{background:#293c7a !important; color:#fff !important; text-align:center; font-weight:600;}
.reg_fee_title{background:#c2c8e1; color:#1c2a51; text-align:center; font-weight:600; padding: 10px 25px; background:#293c7a !important; color:#fff; }

.reg_cont_wrap {
    margin-bottom: 70px;
    width: 100%;
}
.m_deadline_table {
    display: none;
}
table {
    border: 1px solid #ddd;
}

table tbody tr td {
    padding: 10px 25px;
    border-right: 1px solid #e2e2e2;
}

table {
    border: 1px solid #ddd;
}

.deadline_table{
    margin-bottom:40px;
}
.reg_deadline {
    width: 100%;
    border-top: 2px solid #253873;
    margin-top: 15px;
}
.reg_deadline.no_border {border-top: 0px !important;}
.reg_deadline tbody tr th{
    width:35%;
    background-color: #dde1f0;
    color:#474f70;
    font-weight:600;
    padding:10px 25px;
    border-bottom:1px solid #d5d8e5;
    border-right:1px solid #d5d8e5;
    /*font-size:16px;*/
}

.reg_deadline tbody tr td {
    border-bottom: 1px solid #d5d8e5;
    /*font-size:16px;*/
}
.reg_deadline.mobile tbody tr th{
    font-weight: 600;
    border-left:none;
    background-color:#dde1f0;
    color:#474f70;
}
.reg_deadline.mobile tbody tr td {
    font-weight: normal;
    background-color: #fff;
}
.reg_fee {
    width: 100%;
    margin-top:15px;
}
.reg_fee_title{background:#c2c8e1;}
.reg_fee tbody tr td {
    padding: 3px;

    text-align: center;
    border-right: 1px solid #ddd;
    border-bottom:1px solid #ddd;
}
/*.reg_fee tbody tr:nth-child(1) td {
    font-weight: 600;
    text-align: center;
    background-color: #f2f2f2;
}*/
.reg_fee tbody tr td:nth-child(1) {
}

.reg_fee tbody tr td:last-child{
    /*border-right:none;*/
}

.reg_fee th{background:#e5e8f3; text-align:center; border:1px solid #ddd;  width:25%;}

.reg_info {
    width: 95%;
}
.reg_info tbody tr td {
    padding: 3px 10px;

    border-right: 1px solid #ddd;
}
.reg_info tbody tr:nth-child(1) td {
    font-weight: 600;
    background-color: #f2f2f2;
}
@media (max-width: 1000px) {
    .reg_deadline {
        width: 100%;
    }
}
@media (max-width: 800px) {
    .deadline_table {
        /*display: none;*/
    }
    .m_deadline_table {
        display: block;
    }
}

/* abstract */
.important_wrap{position:relative; margin:30px 0; display: flex; flex-wrap: wrap; background:#e7e9f4; padding:40px 70px; width:100%;}
.important_wrap .important_title{color:#556fb5; font-size:18px;}
.important_wrap .clock_content_wrap{box-sizing:border-box;float:left; width:100%; padding-left:181px;}
.important_wrap .clock_content_wrap::before{
    background:url(/assets/images/big_clock.png) no-repeat 0px 0px;
    content:"";
    width:150px;
    height:151px;
    position:absolute;
    top:50px;
    left:50px;
}
.listBl2{margin-bottom:30px;}
.listBl2.mb0{margin-bottom:0px;}
table.normal{width:100%;}
table.normal tr td{width:33.33%; text-align:center; border:1px solid #ddd;}

@media (max-width: 750px) {
    .mo-d-none {display: none !important;}
    .mo-d-block {display: block !important;}
    .reg_deadline {
        width: 100%;
    }
    .reg_cont_wrap ul li img{
        width:90%;
    }
    .important_wrap{padding:25px;}
    .important_wrap .clock_content_wrap{
        padding-left:0px;
    }
    .important_wrap .clock_content_wrap::before{
        display:none;
    }
    .important_wrap ul {padding-left: 0px !important;}
    .dday-box {
        gap: 0px;
    }
}
@media (max-width: 500px) {
    .deadline_table {
        /*display: none;*/
    }
    .m_deadline_table {
        display: block;
    }
}


/* Responsive */

@media (max-width: 1200px) {
    .nsc-banner{
        top:96px;
    }
}

@media (max-width: 991px) {
    .floating-quick-menu {
        left: 10px;
    }
    .quick-menu-list {
        padding: 15px 10px;
        gap: 15px;
    }
    .quick-menu-link {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .footer-right {
        align-items: flex-start;
        margin-top: 20px;
    }
    .footer-info {
        padding-left: 0;
        margin-top: 20px;
    }


}

@media (max-width: 1000px) {

    .nsc-banner{
        top:96px;
    }

    .nsc-banner .container{
        max-width:100%;
    }

    .floating-quick-menu {
        display: none;
    }

    .pc-d-block {display: none;}
    .mo-d-block {display: block;}
    .mo-text-center {text-align: center;}
    .mo-mt-2 {margin-top: 2rem;}
    .mo-fs-14 {font-size:14px;}
    .footer-details p {
        line-height: 1.5;
    }


    .footer-buttons {
        /*flex-direction: column;*/
        width: 100%;
    }
    .btn-footer-white {
        width: 100%;
        text-align: center;
    }
    .friendly-links {
        max-width: 100%;
    }

    .nsc-banner {
        background-image: unset;
        height: unset;
    }

    .container.mainpage{max-width:100%; margin-top:100px;}
    .container.subpage{max-width:100%; margin-top:20px;}

    .nsc-banner .container {margin: 0;padding: 0;}
    .nsc-quick-links {margin-top: 0px; bottom:-100px;}
    .nsc-quick-links .container{max-width:100%;}

    .congress-tabs{bottom:-90px;}

    .congress-nsc-banner {
        background-image: unset;
        height: unset;
        margin-bottom: -10px;
        top:96px;
    }
    .congress-tabs .nav-tabs {
        width: 100% ;
        margin: 0;
        justify-content: center;
        line-height: 20px;
    }
    .congress-tabs .nav-tabs .nav-link {
        padding: 12px 0px 12px 12px;
        font-size: 14px;
        padding-right: 10px;
    }
    .congress-tabs .nav-separator {
        padding: 0;
        font-size: 14px;
        margin: 0 3px;
        width:1px;
    }
    .congress-tabs .nav-item:nth-child(1) {
        flex: 0 0 40%; /* Welcome Message - 35% */
        padding-left: 0;
    }

    .congress-tabs .nav-item:nth-child(3) {
        flex: 0 0 28%; /* Overview - 30% */
    }

    .congress-tabs .nav-item:nth-child(5) {
        flex: 0 0 28%; /* Committee - 35% */
    }

    .content-area {
        padding: 0px 0px;
    }

    .speaker-card .image-placeholder {
        /*width: 95px;*/
        width: 122px;
        height: 122px;
    }
}

@media (max-width: 767px) {
    .main-header{height:76px;}
    .nsc-banner{top:76px;}
}

/* Form Validation Error Styles */
.form-control.is-invalid,
.form-select.is-invalid {
    border-color: #dc3545 !important;
    background-color: #fff5f5 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15) !important;
}

.form-control.is-invalid:focus,
.form-select.is-invalid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25) !important;
}

.is-invalid-radio {
    background-color: #fff5f5 !important;
    border-left: 3px solid #dc3545 !important;
}

/* 버튼 스타일 */

.btnArea {padding-top: 40px;text-align: center;}

.btn a,
.btn input,
.btn button,
.btnArea a,
.btnArea input,
.btnArea button {display:inline-block;text-decoration:none;cursor:pointer;height:36px;padding:0 16px 2px;font-size:14px;line-height: 20px;border-style:solid;border-width:1px;vertical-align:top;text-align: center !important;}

.btn a,
.btnArea a {padding:7px 16px 7px;}
.btn .eng_chk_id, .btn .sssize{height:18px; line-height:18px !important; padding:1px 16px;}

/* 검정색 */		.btnBlack {background-color:#3e3e3e;border-color:#3e3e3e;color:#fff !important;}
/* 회색 */		.btnDef {background-color:#a69684;border-color:#958777;color:#fff !important;}
/* 오렌지색 */		.btnPoint {background-color:#1b72e7;border-color:#1b72e7 !important;color:#fff !important;}
/* 진녹색 */		.btnGPoint {background-color:#88a331;border-color:#88a331 !important;color:#fff !important;}
/* 흰색 */		.btnWhite {background-color:#fff;border-color:#bdbdbd;color:#242424 !important;}
/* 진회색 */		.btnLightGrey {background-color:#444;border-color:#444;color:#fff !important;}
/* 갈색 */		.btnBrown {background-color:#6c5e50;border-color:#584c3f;color:#fff !important;}
/* 하늘색 */		.btnLime {background-color:#00b2ce;border-color:#00b2ce;color:#fff !important;}
/* 보라색 */		.btnPurple {background-color:#d79b00;border-color:#d79b00;color:#fff !important;}

/* border+회색 */			.btnBdDef {background-color:#fff;border-color:#545454;color:#545454 !important;}
/* border+주황색 */		.btnBdPoint {background-color:#fff;border-color:#c87310;color:#c87310 !important;}

a.btnReset,
.btnReset input,
.btnReset button {height: auto;border: 0 none;padding: 0;}

.btn .btnBig,
.btnArea .btnBig {height: 26px;padding:14px 25px 12px;line-height: 18px;}


.btn .btnSmall,
.btnArea .btnSmall {height: 26px;padding:2px 5px 0;line-height: 18px;}

span.btn {display: inline-block;vertical-align: middle;}

.btn a.btnSmall,
.btnArea a.btnSmall {height: 19px;padding:2px 5px 0;}


/* Venue */

dt,dd,dl{margin-bottom:0px;}

ul.subMenu2.menu02.vetr {margin-block: 67px 55px !important;}

.transportation {letter-spacing: -0.040em;}
.transportation h3 {display: flex;align-items: center;gap: 14px;font-size: 28px;color: #000000; margin-top:15px;}
.transportation h3::before {content: '';width: 15px;height: 15px;background-color: #1b72e7;border-radius: 50%;}
/*.transportation h3:not(:first-of-type) {margin-top: 76px;}*/
.transportation h3 .highlight {color: #1b72e7;}

.transportation h4 {display: flex;align-items:center;gap: 7px;margin-top: 30px;margin-bottom: 11px;font-size: 22px;font-weight: bold;color: #4c4c4c;}
.transportation h3 + h4 {margin-top: 19px;}
.transportation h4::before {content: '';width: 28px;height: 28px;}
.transportation h4.subway::before {background: url('/assets/images/transportation_subway.png') no-repeat center center;}
.transportation h4.bus::before {background: url('/assets/images/transportation_bus.png') no-repeat center center;}
.transportation h4.taxi::before {background: url('/assets/images/transportation_taxi.png') no-repeat center center;}
.transportation h4 :is(b.shadow-yellow, b.shadow-blue) {position: relative;z-index: 0;}
.transportation h4 :is(b.shadow-yellow, b.shadow-blue)::after {content: '';position: absolute;left: -3px;right: -3px;bottom: 4px;height: 11px;z-index: -1;}
.transportation h4 b.shadow-yellow::after {background-color: #ffff00;}
.transportation h4 b.shadow-blue::after {background-color: #87ceeb;}

.transportation .btn + h4.taxi{
    margin-top: 40px;
}

.transportation h5 {display: flex;align-items: center;gap: 9px;margin-top: 21px;margin-bottom: 6px;font-size: 16px;font-weight: bold;color: #ff6600;}
.transportation h5::before {content: '';width: 16px;height: 16px;background: url('/assets/images/gr_tit.png') no-repeat center center/cover;}
.transportation span {display: flex;align-items: center;gap: 10px;margin-top: 10px;color: #4c4c4c;}
.transportation span::before {content: '';width: 16px;height: 16px;background: url('/assets/images/gr_tit.png') no-repeat center center/cover;}

.transportation .img-box {margin-top: 26px;border: 1px solid #cccccc;}
.transportation .img-box img {width: 100%;}

.transportation .btn {margin-top: 20px;}

.transportation .flex-box {display: flex;gap: 3px;}
.transportation .flex-box.terminal {gap: 10px;}
.transportation .flex-box ul li + li {position: relative;margin-top: 44px;}
.transportation .flex-box ul li + li::before {content: '';position: absolute;width: 13px;height: 28px;top: -35px;left: calc(50% - 9px);transform: translateX(-50%);background: url('/image/sub/transportation_arrow_down.png') no-repeat;}

.transportation table {margin-top: 6px;border-top: 1px solid #ccc}
.transportation table :is(th, td) {padding: 11px 10px;}
.transportation table th {padding-left: 20px;background-color: #e6f3e4;text-align: left;}
.transportation table td {text-align: center;}

.transportation dl.tall {margin-top: 40px;}
.transportation dl + dl {margin-top: 2px;}
.transportation dl dd + dd {margin-top: 20px;}
.transportation p + dl {margin-top: 19px;}
.transportation .img-box + dl {margin-top: 20px;}
.transportation dl dd > .img-box {margin-top: 20px;}

/* Hotel Information Page */
.accommodation {
    margin-top: 20px;
}

.accommodation .subTit {
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #5a4a9e;
}

.accommodation .basicTbl {
    width: 100%;
    border: 1px solid #ddd;
    border-collapse: collapse;
}

.accommodation .basicTbl td {
    padding: 12px 15px;
    border: 1px solid #ddd;
    vertical-align: middle;
}

.accommodation .basicTbl th {
    padding: 12px 15px;
    border: 1px solid #ddd;
    vertical-align: middle;
}

.accommodation .registerWrap {
    background: #e7e9f4;
    padding: 30px;
    border-radius: 8px;
    margin: 30px 0;
}

.accommodation .registerWrap .importantDates {
    text-align: center;
}

.accommodation .registerWrap .fcPoint a {
    color: #556fb5;
    font-size: 18px;
    text-decoration: none;
    font-weight: 600;
}

.accommodation .registerWrap .fcPoint a:hover {
    text-decoration: underline;
}

.program .table th {
    background-color: #0e6e6e;
    text-align: center;
    color: #fff;
}
.program .table td {
    /*text-align: center;*/
    vertical-align: middle;
}
.program_title p {font-size: 24px;font-weight: bolder;color: #333;}
.program_title span {font-size: 18px;color: #333;}
.program_bg1 td {background-color: #e0d3c4;}
.program_bg2 td {background-color: #f3ede9;}
.program_bg3 td {background-color: #d9e1f2;}
.program_bg4 td {background-color: #f4816f;}
.program_bg5 td {background-color: #f9bbb1;}
.program_bg6 td {background-color: #dbdbdb;}

.search-section {
    background-color: #e8eaf6; padding: 60px 80px; border-radius: 8px; margin-top: 40px;margin-bottom: 40px;
}

/* Responsive styles for hotel page */
@media (max-width: 768px) {

    .hero-section {
        background-image: url(/assets/img/kjt_main_mo_3.png);
        height: auto;
        aspect-ratio: 2 / 1;
        min-height: 200px;
    }

    .sub-banner {
        background-image: url(/assets/img/kjt_sub_main_mo_3.png);
        height: auto;
        aspect-ratio: 2 / 1;
        min-height: 200px;
    }

    /* 모바일 탭 스와이프 */
    .sub-nav-tabs {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE and Edge */
        gap: 8px;
        padding: 0 10px;
    }

    .sub-nav-tabs::-webkit-scrollbar {
        display: none; /* Chrome, Safari */
    }

    .sub-tab {
        flex: 0 0 auto;
        min-width: 140px;
        padding: 12px 20px;
        font-size: 14px;
        white-space: nowrap;
    }

    .hero-title {
        font-size: 36px;
    }

    .hero-subtitle {
        font-size: 18px;
    }

    .hero-subtitle-detail {
        font-size: 16px;
    }

    .deadline-box {
        margin-bottom: 20px;
    }

    .icon-btn-card {
        /*width: 230px;
        height: 230px;*/
        width: 100%;
        height: auto;
    }

    .icon-btn-card i {
        font-size: 40px;
    }

    .icon-btn-label {
        /* font-size: 14px;*/
    }

    .icon-buttons-wrapper {
        padding-right: 0;
        margin-bottom: 30px;
    }

    .combined-section .col-md-5,
    .combined-section .col-md-7 {
        margin-bottom: 20px;
    }


    .accommodation .subTit {
        font-size: 20px;
    }

    .accommodation .basicTbl {
        font-size: 14px;
    }

    .accommodation .basicTbl td,
    .accommodation .basicTbl th {
        padding: 8px 10px;
        font-size: 13px;
    }

    .accommodation .basicTbl td[colspan="3"],
    .accommodation .basicTbl td[colspan="2"] {
        word-break: break-word;
    }

    .accommodation .registerWrap {
        padding: 20px 15px;
    }

    .accommodation .registerWrap .fcPoint a {
        font-size: 16px;
    }

    /* Make table scrollable on mobile */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 576px) {
    .accommodation .subTit {
        font-size: 18px;
    }

    .accommodation .basicTbl {
        font-size: 12px;
    }

    .accommodation .basicTbl td,
    .accommodation .basicTbl th {
        padding: 6px 8px;
        font-size: 12px;
    }

    .accommodation .basicTbl td[rowspan] {
        font-size: 13px;
        font-weight: 600;
    }

    /* 모바일에서 테이블 숨기고 카드 보이기 */
    .reg_fee_pc {
        display: none !important;
    }

    .reg_fee_mobile {
        display: block !important;
    }

    .reg_deadline_pc {
        display: none !important;
    }

    .reg_deadline_mobile {
        display: block !important;
        margin-top: 15px;
    }

    /* 모바일에서 타이틀 폰트 크기 조정 및 세로 정렬 */
    .reg_cont_wrap h3 {
        font-size: 16px;
        height: auto;
        min-height: 60px;
        padding: 12px 10px 12px 40px;
        line-height: 1.2;
        display: flex;
        align-items: center;
    }

    .reg_cont_wrap h3.bd-b-none {
        padding-bottom: 12px;
    }

    /* 모바일에서 president section 세로 정렬 */
    .president-section .title {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0px;
    }

    .president-desc {
        align-self: center;
        align-items: center;
    }

    .president-photo {
        margin-bottom: 15px;
        margin-right: 0px;
    }

    .info-table td, .info-table th {
        padding: 12px 5px;
    }

    /* 모바일에서 테이블 텍스트 줄바꿈 강제 */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table td, .table th {
        word-wrap: break-word;
        word-break: break-word;
        white-space: normal !important;
        min-width: 50px;
        font-size: 12px;
        padding: 8px 4px;
    }

    .table th {
        font-size: 13px;
    }

    /* 모바일에서 registration 카드 세로 정렬 */
    .registration-cards-container {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
        margin-top: 30px;
        padding: 0 15px;
    }

    .registration-cards-container > div {
        width: 100% !important;
    }

    .registration-card {
        width: 100% !important;
        max-width: none !important;
        padding: 25px 40px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 60px;
        box-sizing: border-box !important;
    }

    .registration-card .mb-4 {
        margin-bottom: 0 !important;
        flex-shrink: 0;
    }

    .registration-card > div:first-child > div {
        width: 80px !important;
        height: 80px !important;
        margin: 0 !important;
    }

    .registration-card > div:first-child img {
        width: 50px !important;
        height: auto !important;
    }

    .registration-card-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        flex: 1;
    }

    .registration-card h4 {
        font-size: 18px;
        margin-bottom: 5px !important;
        text-align: center !important;
    }

    .registration-card h5 {
        font-size: 16px;
        margin: 0 !important;
        text-align: center !important;
    }

    /* 모바일에서 mobile-br 보이기 */
    .mobile-br {
        display: block;
    }

    .search-section {
        padding: 60px 40px;
    }
    .abstract-th {width:30%;}
    .abstract-btn {padding: 10px 30px;}
    .info-table th {width:30%;}
    .info-table td, .info-table th {
        vertical-align: middle;
    }
}

/* PC에서 카드 숨기고 테이블 보이기 */
.reg_fee_mobile {
    display: none;
}

/* 모바일 카드 스타일 */
.reg_fee_mobile_title {
    background-color: #1e3a5f;
    color: white;
    padding: 15px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
    border-radius: 8px;
}

.reg_fee_card {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.reg_fee_card_category {
    font-size: 16px;
    font-weight: bold;
    color: #1e3a5f;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 2px solid #4db8c4;
}

.reg_fee_card_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
}

.reg_fee_card_item:last-child {
    border-bottom: none;
}

.reg_fee_card_label {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
    flex: 1;
}

.reg_fee_card_label small {
    font-size: 11px;
    color: #888;
    display: block;
    margin-top: 3px;
}

.reg_fee_card_price {
    font-size: 16px;
    font-weight: bold;
    color: #1e3a5f;
    white-space: nowrap;
    margin-left: 15px;
}

.reg_fee_card_free {
    background-color: #4db8c4;
    color: white;
    padding: 15px;
    border-radius: 6px;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 15px;
}

.reg_fee_card_periods {
    background-color: #f8f9fa;
    border: 1px dashed #4db8c4;
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 15px;
}

.reg_fee_period_item {
    font-size: 12px;
    color: #555;
    padding: 4px 0;
    line-height: 1.6;
}

.reg_fee_card_categories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.reg_fee_card_categories li {
    padding: 8px 10px;
    background-color: white;
    border-left: 3px solid #4db8c4;
    margin-bottom: 8px;
    font-size: 14px;
    color: #333;
}

/* PC에서 deadline 카드 숨기기 */
.reg_deadline_mobile {
    display: none;
}

/* 모바일 deadline 카드 스타일 */
.reg_deadline_card {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.reg_deadline_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #e0e0e0;
}

.reg_deadline_item:last-child {
    border-bottom: none;
}

.reg_deadline_label {
    font-size: 14px;
    font-weight: 600;
    color: #1e3a5f;
}

.reg_deadline_value {
    font-size: 14px;
    color: #333;
    text-align: right;
}


