
.header_top {
    .btn.bg-blue-900 {
        background-color: var(--blue-900);
    }
    .btn {
        border-radius: 0;
    }
}
ul.list-line {
    padding: 0 30px;
    gap: 20px;
    > li {
        position: relative;
    }
    > li + li::before {
        width: 1px;
        height: 10px;
        background-color: var(--white, #FFF);
        opacity: 0.5;
        position: absolute;
        top: calc(50% - 5px);
        left: -10px;
        content: '';
    }
}
.sitemap-btn:hover {
    background-color: #185BD8 !important;
}
.icon-sm {
    display: inline-block;
    height: 1.25rem;
    width: 1.25rem;
    background-repeat: no-repeat;
    background-position: center;
}
a.logo {
    position: relative;
    z-index: 10;
}
.ic-menu {
    background-image: url("/theme/bootstrap5-basic/img/tabler_menu-2.svg");
}
.subtext {
    color: var(--sub_text);
}
.logo-img {
    height: 48px;
    width: auto;
}
.header_main {
    height: 60px;
    background-color: var(--white);
    border-bottom: 1px solid var(--border, #D9D9D9);
    > .container-xxl {
        height: 100%;
        > .nav {
            height: 100%;
            .nav-link {
                font-size: 1.25rem;
                font-weight: 700;
                height: 100%;
                padding: 20px 40px;
            }
            .nav-link:hover {
                color: var(--primary-500);
            }
        }
    }
}
.icon.icon-dropdown {
    width: 24px;
    height: 24px;
    background-image: url("/theme/bootstrap5-basic/img/dropdown.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: block;
}
.icon.icon-menu {
    width: 32px;
    height: 32px;
    background-image: url("/theme/bootstrap5-basic/img/menu-icon.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: block;
}
.mobile_menu {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    z-index: 2;
    > button {
        width: 60px;
        height: 60px;
    }
    #mobileMenu {
        width: 100%;
        > ul {
            width: 100%;
                        box-shadow: 0px 18px 15px rgb(0 0 0 / 20%);
            > li {
                width: 100%;
                line-height: 34px;

                ul {
                    background-color: var(--light-50);
                    border-top: 1px solid var(--blue-500);
                    padding-left: 0;
                    a {
                        width: 100%;
                        padding: 0.5rem 1rem;
                        display: block;
                    }
                }

            }
            > li:has(.show) {
                color: var(--blue-500);
            }
        }
    }
}
/* header_main 위에 마우스 올렸을 때 전체 메뉴 오픈 */
@media (min-width: 992px) {
    .header_main:hover .all-sub-menu-wrap {
        display: block !important;
    }
    .all-sub-menu-wrap {
        top: 100%;
        left: 0;
        width: 100%;
        z-index: 1000;
        border-top: 1px solid var(--border, #D9D9D9);
        border-bottom: 1px solid var(--border, #D9D9D9);
        background: rgba(253, 253, 254, 0.80);
        backdrop-filter: blur(6px);
    }
}

/* 전체 서브메뉴 레이아웃 */
.all-sub-menu-wrap {
    top: 100%;
    /* header_main 바로 아래 */
    left: 0;
    width: 100%;
    background: rgba(253, 253, 254, 0.80);
    z-index: 1000;
    .container-xxl > ul {
        > li:first-child {
            width: 150px;
        }
        > li:nth-child(2) {
            width: 184px;
        }
        > li:nth-child(3) {
            width: 150px;
        }
        > li:nth-child(4) {
            width: 167px;
        }
    }
    .container-xxl > ul > li > ul {
        height: 100%;
    }
    .container-xxl > ul > li > ul:hover,
    .container-xxl > ul > li.hover > ul {
        border-top: 1px solid #185BD8;
        background: #EEF3FD;
    }
    .nav-link.depth2 {
        text-align: center;
        padding: 12px 0;
    }
    .nav-link.depth2:hover {
        color: var(--primary-500);
    }
}

/* 서브메뉴 스타일 */
.all-sub-menu-wrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.all-sub-menu-wrap > .container-xxl > ul {
    padding-right: 95px;
}
.all-sub-menu-wrap > .container > li {
    min-width: 180px;
}
.all-sub-menu-wrap a {
    display: block;
    padding: 5px 0;
    color: #333;
    text-decoration: none;
}
/*사이트맵*/
#sitemapModal {
    .modal-content {
        background-color: rgba(45, 47, 57, 0.9);
        backdrop-filter: blur(10px);
    }
    .btn-close {
        --bs-btn-close-color: #fff;
        fill: var(--white);
        --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
        filter: var(--bs-btn-close-filter);
    }
    .sitemap_cont ul > li {
        background-color: transparent;
        color: var(--white);
        > a {
            color: var(--white);
            display: block;
            padding: 1rem;
            font-size: 1rem;
            background-color: var(--dark-600);
        }
        > a:hover {
            background-color: var(--blue-500);
        }

    }
    .sitemap_cont ul li + li {
        border-top: 1px solid var(--dark-400);
    }
    .sitemap_cont .big_menu {
        width: 100%;
        font-size: 1.25rem;
        color: var(--blue-100);
        padding: 0.75rem;
        border-bottom: 1px solid var(--blue-100);
        display: block;
    }
    .sitemap_close {
        width: 100%;
        max-width: 320px;
        border-radius: 50px;
    }
}

/*main-visual*/

.main_visual {
    margin-bottom: 80px;
    position: relative;
    background: url("/theme/bootstrap5-basic/img/main_visual.png") no-repeat center center;
    background-size: cover;
    background-position: center;
    height: 320px;

    h1 {
        color: #FFF;
        text-align: center;
        font-weight: 800;
        word-break: keep-all;
    }
    .relative {
        height: 100%;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .main_search {
        border-radius: 1.25rem;
        border: 1px solid #FFF;
        background: rgba(251, 253, 255, 0.60);
        box-shadow: 0 4px 20px 0 rgba(116, 143, 194, 0.25);
        backdrop-filter: blur(10px);
        position: absolute;
        bottom: -50px;
        padding: 20px;
        width: 100%;
        max-width: 1320px;
        > form {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;
            > input,
            select {
                width: 100%;
                height: 60px;
                border-radius: var(--border_radius_sm, 10px);
                padding: 0 20px;
                border: none;
                background-color: #FFF;
                font-size: 1.25rem;
            }
            > select {
                width: auto;
                min-width: 300px;
            }
            > button {
                min-width: 120px;
                padding: 0 20px;
                border-radius: var(--border_radius_sm, 10px);
                border: 1px solid var(--primary-500, #185BD8);
                background: var(--primary-500, #185BD8);
                height: 60px;
            }
        }
    }
}
.form-control::placeholder {
    color: var(--placehold);
}
/* 기관 선택 select placeholder 색상 */
.main_search .form-select.placeholder-selected {
    color: var(--placehold);
}
.main_search .form-select option {
    color: var(--bs-body-color, #212529);
    /* Bootstrap 5 기본 텍스트 색상 */
}

/*퀵메뉴*/
.main_cont {
    }
.q_menu {
    position: relative;
    width: 100%;
    padding: 30px 30px 87px;
    z-index: 9;
    display: flex;
    justify-content: space-between;
    word-break: keep-all;
    .q_menu_txt {
        z-index: 2;
        position: relative;
        color: var(--white);
        > h4 {
            color: var(--white);
        }
        > p {
            color: var(--white);
            margin-top: 15px;
            font-weight: 300;
        }
    }
    .q_menu_list {
        z-index: 3;
        position: relative;
        > ul {
            gap: 20px;
            align-items: stretch;
            .q_card {
                background-color: var(--white);
                border: 1px solid var(--border);
                padding: 30px;
                display: flex;
                flex-direction: column;
                gap: 30px;
                transition: 0.3s;
                align-items: center;
                border-radius: 10px;
                height: 100%;
                > .ic_round_bx {
                    width: 100px;
                    height: 100px;
                    border-radius: 50px;
                    padding: 20px;
                    background: #F4F8FF;
                    .q_card_icon {
                        width: 60px;
                        height: 60px;
                        background-image: url("/theme/bootstrap5-basic/img/q_menu_icon.png");
                        background-size: 60px auto;
                        background-position: 0 0;
                        background-repeat: no-repeat;
                    }
                }
                > h5 {
                    position: relative;
                    z-index: 5;
                    text-align: center;
                    font-weight: 700;
                }
                > h5::after {
                    width: 0;
                    height: 20px;
                    content: '';
                    background-color: var(--primary-50);
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    transition: 0.3s;
                    z-index: -1;
                }

            }
            .q_card:hover {
                border: 1px solid var(--primary-500);
                margin-top: -8px;
                transition: 0.3s;
                box-shadow: 0 4px 20px 0 rgba(116, 143, 194, 0.25);
                > .ic_round_bx {

                    background: var(--primary-50);
                }
                > h5::after {
                    width: 100%;
                    transition: 0.3s;

                }
            }
            > li:first-child .q_card > .ic_round_bx .q_card_icon {
                background-position: 0 0;
            }
            > li:nth-child(2) .q_card > .ic_round_bx .q_card_icon {
                background-position: 0 -60px;
            }
            > li:nth-child(3) .q_card > .ic_round_bx .q_card_icon {
                background-position: 0 -120px;
            }
            > li:nth-child(4) .q_card > .ic_round_bx .q_card_icon {
                background-position: 0 -180px;
            }
            > li:nth-child(5) .q_card > .ic_round_bx .q_card_icon {
                background-position: 0 -240px;
            }
        }
    }
}
.q_menu::before {
    position: absolute;
    width: 100%;
    background-color: var(--blue-500);
    border-radius: 20px;
    height: 220px;
    z-index: 0;
    content: '';
    top: 0;
    left: 0;
}
.q_menu::after {
    width: 300px;
    height: 210px;
    background-image: url("/theme/bootstrap5-basic/img/q_menu_ill.png");
    background-repeat: no-repeat;
    background-size: 300px auto;
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
}

/*main program*/

.main_program {
    padding: 60px 0;
    position: relative;
    > .h1 {
        font-weight: 700;
        margin-bottom: 20px;
    }
    .main_program_list {
        padding-top: 20px;
    }
}
.program_card {
    border-radius: 20px;
    border: 1px solid var(--border, #D9D9D9);
    background: var(--white, #FFF);
    display: inline-block;
    width: 100%;
    .program_card_top {
        padding: 30px 30px 16px;
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: 10px;
        .badge {
            padding: 8px 16px;
            width: auto;
            border-radius: 20px;
        }

    }

    .apl_period {
        padding: 16px 30px 30px;
        background: #FAFAFA;
        border-radius: 0 0 20px 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
}
.icon_info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    > li {
        padding-left: 28px;
        position: relative;
        height: 20px;
        display: flex;
        align-items: center;
    }
    > li::before {
        width: 20px;
        height: 20px;
        background-repeat: no-repeat;
        background-size: 20px;
        background-position: center;
        content: '';
        position: absolute;
        left: 0;
    }
    > li.location::before {
        background-image: url("/theme/bootstrap5-basic/img/map_icon.svg");
    }
    > li.date::before {
        background-image: url("/theme/bootstrap5-basic/img/date_icon.svg");
    }
}
.program_card:hover {
    border: 1px solid var(--primary-500);
    margin-top: -8px;
    transition: 0.3s;
    box-shadow: 0 4px 20px 0 rgba(116, 143, 194, 0.25);
}

.swiper-button-next,
.swiper-button-prev {
    width: 40px;
    height: 40px;
    z-index: 90;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: '';
    background-image: url("/theme/bootstrap5-basic/img/left_arrow.svg");
    background-size: 40px;
    width: 40px;
    height: 40px;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: '';
    background-image: url("/theme/bootstrap5-basic/img/right_arrow.svg");
    background-size: 40px;
    width: 40px;
    height: 40px;
}
.main_program .swiper-button-next {
    right: -40px;
    top: auto;
    bottom: calc(50% - 70px);
}
.main_program .swiper-button-prev {
    left: -40px;
    top: auto;
    bottom: calc(50% - 70px);
}
/*login*/

/*main_notice*/
.main_notice {
    padding: 60px 0;
    position: relative;
    .h1 {
        color: var(--white);
        white-space: nowrap;
    }
}
.notice_swiper_btns {
    display: flex;
    margin-top: 20px;
    gap: 10px;

}
.nt_button_next,
.nt_button_prev {
    background-color: var(--white);
    padding: 10px;
    width: 60px;
    height: 60px;
    margin-top: 0;
    border-radius: 50px;
    position: relative;
    border: 1px solid var(--border);
}
.nt_button_next {
    right: auto;
    top: auto;
}
.nt_button_prev {
    left: auto;
    top: auto;
}
.notice_tit {
    min-width: 140px;
    position: relative;
    padding: 20px 0;
}
.main_notice_list {
    padding: 20px 0;
    width: 100%;
    .swiper-wrapper{
        align-items: stretch;
        .swiper-slide{
            height: auto;
        }
    }
}
.main_notice::before {
    width: 37.5%;
    min-width: 720px;
    height: 100%;
    border-radius: 0 10rem 0 0;
    background-color: var(--primary-800);
    background-image: url("/theme/bootstrap5-basic/img/notice_back.svg");
    background-size: cover;
    background-position: center;
    content: '';
    position: absolute;
    left: 0;
    z-index: -1;
    bottom: 0;
}
.main_notice_list .swiper-wrapper {
  justify-content: left;
}
.notice_card {
    border-radius: 20px;
    border: 1px solid var(--border, #D9D9D9);
    background: var(--white, #FFF);
    display: inline-flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    padding: 30px;
    height: 100%;
    h4{
        display: -webkit-box;    
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; 
  overflow: hidden;  
    }
    p{
        display: -webkit-box;          /* 멀티라인 줄임 핵심 */
  -webkit-box-orient: vertical;  /* 세로 방향 */
  -webkit-line-clamp: 2;         /* 보여줄 줄 수 */
  overflow: hidden;  
  line-height: 160%;
    }
}
.notice_card:hover {
    border: 1px solid var(--primary-500);
    transition: 0.3s;
    box-shadow: 0 4px 20px 0 rgba(116, 143, 194, 0.25);
}

/*footer*/
.footer {
    background-color: #515865;
    padding: 30px 0;
    color: #D9D9D9;
    ul.list-line {
        padding: 0;
        color: #D9D9D9;
        gap: 40px;
        row-gap: 10px;
        > li {
            color: #D9D9D9;
        }
        > li + li::before {
            left: -21px;
        }
    }
    .tail-menu {
        padding: 16px 0;
        border-bottom: 1px solid #6A7281;
        color: #D9D9D9;
    }
    .footer_logo {
        height: 32px;
        width: auto;
    }
    .footer_cont {
        padding-top: 20px;
    }
    .footer_logo_bx {
        margin-right: 40px;
        margin-bottom: 20px;
    }
    .list-group-item {
        display: inline-flex;
        gap: 20px;
        align-items: center;
        > b {
            font-weight: 700;
        }
    }
}

/*FORMS*/
.form-check-lg.form-check {
    display: flex;
    gap: 10px;
    align-items: center;
    width: 100%;
    justify-content: center;
}
.form-check-lg.form-check .form-check-input {
    width: 2em;
    height: 2em;
    background-image: url("/theme/bootstrap5-basic/img/check_lg_off.svg");
    background-size: 32px;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid var(--light-200, #E5E8EA);
    border-radius: 10px;
}
.form-check-lg.form-check .form-check-label {
    font-size: 1.25rem;
}
.form-check-lg.form-check .form-check-input:checked {
    background-image: url("/theme/bootstrap5-basic/img/check_lg_on.svg");
    border: 0;
    background-color: transparent;
    border: 1px solid var(--blue-500, #598AE6);
}
.form-check-md.form-check,
.form-radio-md.form-check {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}
.form-check-md.form-check .form-check-input {
    width: 1.25em;
    height: 1.25em;
    background-image: url("/theme/bootstrap5-basic/img/check_md_off.svg");
    background-size: 20px;
    background-position: center;
    background-repeat: no-repeat;
    border: 0;
    border-radius: 5px;
    border: 1px solid var(--light-200, #E5E8EA);
}
.form-radio-md.form-check .form-check-input {
    width: 1.25em;
    height: 1.25em;
    background-image: url("/theme/bootstrap5-basic/img/radio_md_off.svg");
    background-size: 20px;
    background-position: center;
    background-repeat: no-repeat;
    border: 0;
    border-radius: 10px;
    border: 1px solid var(--light-200, #E5E8EA);
}
.form-check-md.form-check .form-check-label {
    font-size: 1rem;
}
.form-check-md.form-check .form-check-input:checked {
    background-image: url("/theme/bootstrap5-basic/img/check_md_on.svg");
    border: 0;
    background-color: transparent;
    border: 1px solid var(--blue-500, #598AE6);
}
.form-radio-md.form-check .form-check-input:checked {
    background-image: url("/theme/bootstrap5-basic/img/radio_md_on.svg");
    border: 0;
    background-color: transparent;
    border: 1px solid var(--blue-500, #598AE6);
}
.form-check-sm.form-check {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}
.form-check-sm.form-check .form-check-input {
    width: 1.25em;
    height: 1.25em;
    background-image: url("/theme/bootstrap5-basic/img/check_sm_off.svg");
    background-size: 20px;
    background-position: center;
    background-repeat: no-repeat;
    border: 0;
    border-radius: 5px;
}
.form-check-sm.form-check .form-check-label {
    font-size: 1rem;
}
.form-check-sm.form-check .form-check-input:checked {
    background-image: url("/theme/bootstrap5-basic/img/check_sm_on.svg");
    border: 0;
    background-color: transparent;
}
.lh-2 {
    line-height: 120%;
}
.lh-3 {
    line-height: 140%;
}
.lh-4 {
    line-height: 160%;
}

.input_item_label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    width: 100%;

    > label {
        width: auto;
        min-width: 120px;
        padding-top: 14px;
    }
    > label.nes_input::after {
        content: '*';
        color: var(--blue-500);
        display: inline-block;
    }
    > .input_bx {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 4px;
        .input_error {
            color: var(--danger-400);
            font-size: 0.875rem;
        }
        > h5 {
            padding-top: 10px;
        }
    }
    button {
        white-space: nowrap;
        height: 48px;
        padding: 0 20px;
    }
}
.form-control,
.form-select {
    height: 48px;
    border-radius: 10px;
    border: 1px solid var(--border, #D9D9D9);
    width: 100%;
}
.form-control.datepicker {
    z-index: 1;
    position: relative;
    padding: 0.375rem 0.75rem;
}
.datepicker-container {
    position: relative;
}
.datepicker-container::after {
    width: 24px;
    height: 24px;
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url("/theme/bootstrap5-basic/img/input_icons.png");
    background-size: auto 24px;
    background-position: -24px 0;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 2;
}

.datepicker td,
.datepicker th {
    text-align: center;
    width: 30px;
    height: 30px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    border: none;
    vertical-align: middle;
}
.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active.disabled:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active[disabled] {
    background-color: #185BD8;
    background-image: none;
}
input.form-control[type="file"]::file-selector-button {
    background: var(--blue-50);
    /* 버튼 배경 */
    color: var(--dark-500);
    /* 글자색 */
    border: none;
    height: 48px;
    padding: 8px 16px;
    /* 버튼 여백 */
    border-radius: 10px 0 0 10px;
    /* 둥근 모서리 */
    cursor: pointer;
}
/**/
.badge-outline-blue {
    color: var(--blue-500);
    border-radius: 20px;
    border: 1px solid var(--blue-500, #598AE6);
    background: var(--white, #FFF);
}

.nav-tabs-lg {
    display: flex;
    gap: 10px;
    border-bottom: 0;
    width: 100%;
    flex-wrap: nowrap;
    .nav-item {
        width: 100%;
    }
    .nav-item .nav-link {
        width: 100%;
        border-radius: 10px;
        border: 1px solid var(--light-500);
        color: var(--light-500);
        height: 60px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: 0.3s;
    }

    .nav-item .nav-link.active {
        border: 1px solid var(--primary-500);
        color: var(--primary-500);
    }
    .nav-item .nav-link:hover {
        color: var(--white);
        background-color: var(--primary-300);
        border: 1px solid var(--primary-300);

        margin-top: -5px;
    }
}
.table > :not(caption) > * > * {
    padding: 1rem 0.75rem;
    vertical-align: middle;
}
.table {
    thead {
        border-top: 2px solid var(--blue-500);
    }
    th {
        background-color: var(--light-50);
    }
    .table-primary {
        --bs-table-bg: #f7f9fc;
    }
    tr {
        border-bottom: 1px solid var(--border, #D9D9D9);
    }
}
.table-responsive .table{
     word-break: keep-all;
     white-space: nowrap;
}
.table-bordered.table{
    border: 1px solid var(--border, #D9D9D9);
    th, td {
        border: 1px solid var(--border, #D9D9D9);
    }
}
/*회원가입*/
.register_btns {
    margin-top: 40px;
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 10px;
    button {
        width: 100%;
    }
}
.register_btns .back_btn {
    max-width: 160px;
}
/*프로그램*/
.program_detail {
    display: flex;
    width: 100%;
    gap: 0;
    flex-wrap: wrap;
    border-top: 2px solid var(--blue-500);
    .program_detail_item {
        width: 50%;
        display: flex;
        gap: 0;
        height: 48px;
        align-items: center;

        > h6 {
            width: 30%;
            padding: 12px;
            height: 48px;
            display: flex;
            align-items: center;
            background-color: var(--light-50);
            border-bottom: 1px solid var(--border, #D9D9D9);
            font-weight: 700;
        }
        > span {
            width: 70%;
            padding: 12px;
            height: 48px;
            border-bottom: 1px solid var(--border, #D9D9D9);
            display: flex;
            align-items: center;
        }
        > div {
            width: 70%;
            padding: 12px;
            height: 48px;
            border-bottom: 1px solid var(--border, #D9D9D9);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
    }
    .program_detail_item_pull {
        width: 100%;
        > h6 {
            width: 15%;
        }
        > span {
            width: 85%;
        }
        > div {
            width: 85%;
        }
    }
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 20px 0;
    margin-top: 10px;
}

.page-item .page-link {
    border: none;
    background: transparent;
    color: var(--dark-300);
    font-weight: 500;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s, color 0.3s;
}

.page-item .page-link:hover {
    background: #e9ecef;
    color: #000;
}

.page-item.active .page-link {
    background: var(--blue-500,#007bff);
    color: #fff;
}
i.page_icon {
    width: 20px;
    height: 20px;
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}
i.page_icon.double-left {
    background-image: url("/theme/bootstrap5-basic/img/page_double_left.svg");
}
i.page_icon.left {
    background-image: url("/theme/bootstrap5-basic/img/page_left.svg");
}
i.page_icon.double-right {
    background-image: url("/theme/bootstrap5-basic/img/page_double_right.svg");
}
i.page_icon.right {
    background-image: url("/theme/bootstrap5-basic/img/page_right.svg");
}
.page-item.disabled i.page_icon {
    opacity: 0.3;
}

/*common_list*/
.common_ul {
    > li {
        padding-left: 12px;
        line-height: 140%;
        position: relative;
        padding-left: 16px;
    }
    > li::before {
        width: 4px;
        height: 4px;
        border-radius: 2px;
        content: '';
        position: absolute;
        top: 8px;
        left: 0;
        background-color: var(--blue-500);
    }
    li + li {
        margin-top: 8px;
    }
}

/*모바일 최적화 테이블*/
.mo-table > .table{

}

/*0915 추가 프로그램 탭*/

.program-tab{
.nav.nav-tabs{
        display: flex;
        gap: 10px;
        border-bottom: 0;
        margin-bottom: 20px;
        justify-content: center;
        flex-wrap: wrap;
            > .nav-link{
                padding: 0.75rem 1rem;
                border: 1px solid var(--light-300);
                border-radius: 20px;
            }
            > .nav-link.active{
                border: 1px solid var(--blue-500);
                background-color: var(--blue-50);
                color: var(--blue-500);
            }   
    }
}
@media screen and (max-width: 1399.98px) {
    .main_visual {
        .main_search {
            width: calc(100% - 30px);
            margin: 0 15px;
            > form {
                > select {
                    min-width: fit-content;
                    padding-right: 30px;
                }
            }
        }
    }
    .program_card {
        .program_card_top {
            padding: 16px 16px 12px;
        }
        .apl_period {
            padding: 12px 16px 16px;
            word-break: keep-all;
        }
    }

    .main_program {
        .main_program_list {
            margin: 0 40px;
        }
    }
    .main_program .swiper-button-prev {
        left: 0;
        background-color: var(--white);
    }
    .main_program .swiper-button-next {
        right: 0;
        background-color: var(--white);
    }
}
@media screen and (max-width: 1199.98px) {

    .q_menu {
        flex-direction: column;
        padding: 30px 30px 40px;
        & .q_menu_list {
            > ul {
                margin-top: 20px;
                width: 100%;
                > li {
                    width: 100%;
                }
                .q_card {
                    padding: 20px;
                    gap: 20px;
                    width: 100%;
                }
            }
        }
    }
    .q_menu::after {
        right: -20px;
        left: auto;
        top: -20px;
    }
    .footer {
    .footer_cont {
        flex-direction: column;
    }
}
}

@media screen and (max-width: 991.98px) {
    .logo-img {
        height: 36px;
    }
    .main_visual {
        height: 240px;
        margin-bottom: 160px;
        .relative {
            display: flex;
            padding-top: 60px;
            align-items: flex-start;
        }
        & .main_search {
            bottom: -90px;
            > form {
                flex-wrap: wrap;
                justify-content: center;
                .btn {
                    width: 100%;
                    height: 48px;
                    font-size: 1rem;
                }
                > input {
                    padding: 0 12px;
                    height: 48px;
                    font-size: 1rem;
                    width: calc(100% - 185px);
                }
                > select {
                    height: 48px;
                    padding: 0 30px 0 12px;
                    font-size: 1rem;
                }
            }
        }
    }
    .q_menu {
        padding: 24px;
        & .q_menu_list {
            > ul {
                width: 100%;
                flex-wrap: wrap;
                > li {
                    width: calc(50% - 10px);
                }
                .q_card {
                    padding: 12px;
                    gap: 20px;
                    flex-direction: row;
                    width: 100%;
                    > .ic_round_bx {
                        width: 60px;
                        height: 60px;
                        padding: 10px;
                        .q_card_icon {
                            width: 40px;
                            height: 40px;
                            background-size: 40px auto;
                        }
                    }
                }
                > li:first-child .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 0;
                }
                > li:nth-child(2) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -40px;
                }
                > li:nth-child(3) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -80px;
                }
                > li:nth-child(4) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -120px;
                }
                > li:nth-child(5) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -160px;
                }
                .q_card:hover {
                    margin-top: 0;
                }
            }
        }
    }
    .q_menu::before {
        height: 100%;
    }
    .main_notice {
        .d-flex {
            flex-direction: column;
            .notice_tit {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0 20px;
                .h1 {
                    margin-bottom: 0;
                }
                .notice_swiper_btns {
                    margin-top: 0;
                    gap: 10px;
                }
            }
        }
        .main_notice_list {
            width: 100%;
        }
    }
    .pagination {
    gap: 4px;
    }
    .page-item .page-link {
    width: 24px;
    height: 24px;
    padding: 0;
    }
    
}

@media screen and (max-width: 767.98px) {
    ul.list-line {
    padding: 0 10px;
}
    .main_notice::before {
        width: 70%;
        min-width: 240px;
    }
    .input_item_label {
    flex-direction: column;
        button {
        height: 40px;
    }
}
.form-control, .form-select {
    height: 40px;
    padding: .375rem .5rem;
}
.program_detail {
    .program_detail_item {
        width: 100%;
        position: relative;
    }
    .program_detail_item_pull {
        position: relative;
        > h6 {
            width: 30%;
        }
        > div {
            width: 70%;
        }
    }
    .nav-tabs-lg {
        align-items: stretch;
    .nav-item .nav-link {
        height: 100%;
    }
}

}
.mo-table > .table{
         > thead{
            display: none;
        }
        > tbody{
            display: flex;
            flex-direction: column;
            gap: 8px;
            > tr{
            display: flex;
            flex-direction: column;
            border: 1px solid var(--border);
            border-radius: 10px;
            padding: 4px;
            > .table-primary{
                border-radius: 5px;
                font-weight: 700;
                padding: 0.75rem;
                text-align: center;
                display: block;
            }
            > td{
                padding: 0.5rem 0.75rem;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 10px;
            }
            > td:not(.table-primary){
                background-color: transparent;
            }
            > td + td {
            }
            > td:last-child{
                border-radius: 0 0 10px 10px;
            }
            > td:before{
                content: attr(data-table-tit);
                display: inline-block;
                font-weight: 700;
                color: var(--blue-500);
                font-size: 0.875rem;
                width: auto;
                white-space: nowrap;
            }
            > td.mo-left{
                text-align: left !important;
            }
            > td.d-none{
                border-top: 0;
            }
            > td.mo-tit{
                font-size: 1.25rem;
                font-weight: 700;
            }
            > td.table-primary:before, .mo-tit:before, > td.mo-nolabel:before{
                display: none;
            }
            }
        }
       
    }
.mo-table > .table-hover > tbody > tr:hover > * {
           background-color: transparent !important;
               --bs-table-color-state: var(--text);
    --bs-table-bg-state: var(--white);
        }
        .mo-table > .table.table-bordered{
            border: 0;
            th, td{
                border: 0;
            }
        }
    
}


@media screen and (max-width: 575.98px) {
    .main_visual {
        .relative {
            padding-top: 48px;
        }
        & .main_search {
            bottom: -110px;
            > form {

                > input {
                    width: 100%;
                    margin-right: 0;
                }
                > select {
                    width: 100%;
                }
            }
        }
    }
    .q_menu {
        padding: 20px;
        & .q_menu_list {
            & > ul {
                gap: 8px;
                > li {
                    width: 100%;
                    .q_card {
                        > .ic_round_bx {
                            width: 40px;
                            height: 40px;
                            padding: 5px;
                            .q_card_icon {
                                width: 30px;
                                height: 30px;
                                background-size: 30px auto;
                            }
                        }
                    }
                }
                > li:nth-child(2) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -30px;
                }
                > li:nth-child(3) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -60px;
                }
                > li:nth-child(4) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -90px;
                }
                > li:nth-child(5) .q_card > .ic_round_bx .q_card_icon {
                    background-position: 0 -120px;
                }

            }
        }
    }
    .q_menu::after {
        right: -15px;
        top: 30px;
        width: 180px;
        background-size: 180px auto;
    }
}
/*대기모달*/

#queueModal{
    .queue-box{
        padding: 30px;
        border-radius: 20px;
        text-align: center;
        border-radius: 10px;
border: 1px solid var(--light-200, #E5E8EA);
background: var(--light-50, #F9FAFB);
        > h1{
            color: var(--primary-500);
        }
        > p{
            color: var(--sub_text);
        }
        .custom-progress{
            height: 16px;
            width: 100%;
            border-radius: 8px;
background: var(--light-200, #E5E8EA);
position: relative;
.progress-bar{
    border-radius: 8px;
}
        }
    }
}