/* Common Styles */
@charset "utf-8";


@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

@import url(//spoqa.github.io/spoqa-han-sans/css/SpoqaHanSansNeo.css);

@import url("https://cdn.jsdelivr.net/gh/poposnail61/min-sans@main/web/css/minsansvf-dynamic-subset.css");


* {
    font-family: 'MinSansVF', 'spoqa han sans neo', sans-serif;
}

/* 기본공통스타일 */
.wrap {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    height: 100vh;
    position: relative;
}

.wrap_box {
    flex-grow: 1;
}

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #d2d2d2;
    border-radius: 10px;
    border: 3px solid #f5f5f5;
}

::-webkit-scrollbar-thumb:hover {
    background: #d9d9d9;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2;
}

h1 {
    letter-spacing: -0.6px;
}

/* Page Title - Custom Icon
h1.bb_text_pgtitle::before {
	clear: both;
	content: "";
	display: inline-block;
	background: url(../images/title_icon.svg);
	width: 24px;
	height: 24px;
	background-size: 20px auto;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 0.4rem;
} */

/* Button Style */
.bg_blue {
    color: #fff;
    background: #0080FF;
    /*가로 세로 길이는 레이아웃마다 상의해서 직접 지정 예정*/
}

.bg_blue:hover {
    background: #0066CC;
}

.bg_dark {
    background: #343537;
    color: #fff;
}

.bg_white {
    border: 1px solid;
    border-color: #E2E2E2;
    color: #333;
    background: #fff;
    font-weight: 500;
}

.bg_white:hover {
    background: none;
    color: #1273E4;
}

.bg_dark:hover {
    background: #303030;
}

.bb_btn.save {
    padding: 0 3rem;
    height: 3.8rem;
    border-radius: 0.6rem;
    font-size: 1.5rem;
}


.bb_title_round.secondary span {
    font-weight: 600;
}

.bb_title_round.danger {
    background-color: #FFEBEB;
    color: #920900;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 0.16rem 0.88rem;
}

.bb_title_round.secondary {
    background-color: #F4F5F7;
    color: #525D6C !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    padding: 0.16rem 0.88rem;
}

.project_info .bb_title_round.secondary {
    background-color: #E4F2FF !important;
    color: #1E7BD3 !important;
}


.change_circle {
    font-size: 1.34rem !important;
    padding: unset !important;
    height: unset !important;
    color: #3073D1;
    background: transparent !important;
    margin-left: 1rem;
}

.excel_download:hover,
.change_circle:hover {
    text-decoration: underline !important;
}

.pdf_download:hover,
.change_circle:hover {
    text-decoration: underline !important;
}

.excel_download {
    font-size: 1.38rem !important;
    font-weight: 500;
    padding: unset !important;
    height: unset !important;
    color: #09b55d;
    background: transparent !important;
}

.pdf_download {
    font-size: 1.38rem !important;
    font-weight: 500;
    padding: unset !important;
    height: unset !important;
    color: #454545;
    background: transparent !important;
}

.slickgrid-resizer .change_circle {
    position: absolute;
    top: 2px;
    right: 40px;
    background: transparent;
    height: 3rem !important;
    width: 3rem !important;
}

.slickgrid-resizer .change_circle:hover {
    background: #D1DEF0;
    border-radius: 300px;
}

.excel_download::before {
    clear: both;
    content: "";
    display: inline-block;
    background: url(../images/component/excel_down.png) no-repeat;
    background-position: center 1px;
    background-size: 1.6rem;
    width: 2rem;
    height: 2rem;
    margin-right: 0.4rem;
    vertical-align: middle;
}

.pdf_download::before {
    clear: both;
    content: "";
    display: inline-block;
    background: url(../images/component/pdf_down.png) no-repeat;
    background-position: center 1px;
    background-size: 1.6rem;
    width: 2rem;
    height: 2rem;
    margin-right: 0.4rem;
    vertical-align: middle;
}

.change_circle::before {
    clear: both;
    content: "";
    display: inline-block;
    background: url(../images/component/change_circle.svg) no-repeat;
    background-position: top center;
    background-size: 1.8rem;
    width: 2rem;
    height: 2rem;
    margin-right: 0.2rem;
    vertical-align: middle;
}

.excel_download:hover {
    background: unset !important;
    opacity: unset !important;
}

.pdf_download:hover {
    background: unset !important;
    opacity: unset !important;
}

/*관리자 프로세스 상단*/
.div_app .step_container .bg_white {
    padding: 0.6rem 1.4rem;
    color: #2265C2;
    font-size: 1.3rem;
    font-weight: 400;
    background: #FAFCFF;
    border-radius: 0.6rem;
    border: 2px solid #AFCFFD;
}

.div_app .step_container button[disabled] {
    opacity: unset !important;
}

.div_app .step_container .bg_white:hover {
    background: #EBF5FF;
    color: #2265C2;
}

.div_app .step_container .bg_lightblue {
    padding: 0.6rem 1.4rem;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 400;
    background: #012C6D;
    border-radius: 0.6rem;
    border: 2px solid #012C6D;
}

.div_app .step_container .bg_lightblue:hover {
    background: #052558;
    border: 2px solid #052558;
    color: #fff;
}

/*관리자 프로세스 상단 end*/

.bg_lightblue {
    padding: 0.6rem 1.4rem;
    color: #2265C2;
    font-size: 1.3rem;
    font-weight: 400;
    background: #FAFCFF;
    border-radius: 0.6rem;
    border: 2px solid #AFCFFD;
}

.bg_lightblue:hover {
    background: #EBF5FF;
    color: #2265C2;
}

/*추가*/
.bb_input.format_ym {
    border-color: #ebebeb !important;
    border-radius: 0.6rem !important;
    background-color: #fff !important;
    color: #707070 !important;
    font-weight: 500;
    font-size: 1.3rem !important;
    width: 8.8rem !important;
}

/******************************* 01. 공사선택 ***************************/

/*비주얼*/

.visual {
    position: relative;
    height: 380px;
    width: 100%;
}

.visual .cpr {
    text-align: center;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

.visual::before {
    display: block;
    clear: both;
    content: "";
    height: 388px;
    width: 100%;
    background: url('/eurecax/static-app/images/component/contents/visual_background.png');
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
}

.visual .cpr h3 {
    color: #E54848;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 14px;
}

.visual .cpr h1 {
    font-size: 3.6rem;
    margin-bottom: 1rem;
}

.c3rx_upload_btn button {
    border: none;
    padding: 1.2rem 2.4rem;
    border-radius: 300px;
    background: #F24452;
}

.c3rx_upload_btn button a {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.visual .cpr p {
    font-size: 20px;
    color: #767676;
    margin-bottom: 4.8rem;
}

h1.bb_text_pgtitle:not(.bb_text_pgtitle_bg)::before {
    clear: both;
    content: "";
    display: inline-block;
    background: url(/eurecax/static-app/images/component/title_icon.svg);
    width: 22px;
    height: 22px;
    background-repeat: no-repeat;
    vertical-align: sub;
    margin-right: 8px;
    background-size: 22px 22px;
    background-position: left center;
}

h1.bb_text_pgtitle_back::before {
    display: none !important;
}

.bb_sec_pgtitle > div {
    display: flex;
    align-items: center;
}

.bb_sec_pgtitle a.back_icon::before {
    clear: both;
    content: "";
    display: inline-block;
    background: url(/eurecax/static-app/images/component/back_icon.svg);
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: 22px 22px;
    background-position: center;
    margin-right: 0.8rem;
}

.bb_sec_pgtitle a.back_icon:hover {
    filter: drop-shadow(2px 4px 6px #eaeaea);
}

.prgpymntCnstwkList .bb_text_pgtitle::before {
    display: none !important;
}

.prgpymntCnstwkList .bb_text_pgtitle {
    font-size: 18px !important;
    font-variation-settings: "wght"710;
}

.prgpymntCnstwkList .bb_sec_pgtitle {
    margin: 1rem 0 2.4rem;
}

/*공사선택 tab*/
.sec_con {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.8rem;
}

.sec_con .bb_input.searchMain {
    height: 4.45rem !important;
}

.sec_con .bb_select.searchMain {
    height: 4.4rem;
    background: #fff;
    border-color: #D9D9D9;
    border: 1px solid #D9D9D9;
    width: 128px;
}

.tab-container {
    display: flex;
    gap: 8px;
}

.tab {
    padding: 7px 16px;
    border: none;
    background-color: transparent;
    cursor: pointer;
    border-radius: 300px;
    font-size: 14px;
    font-weight: 500;
    color: #343536;
    height: 36px;
}

.tab.active {
    color: #F24452;
    font-weight: 700;
}

.tab.active::after {
    display: block;
    clear: both;
    content: "";
    width: 100%;
    height: 2px;
    background: #F24452;
}


.sec_con .bb_btn.btn_add {
    height: 36px;
    color: #fff;
    border: none;
    background: #252525;
    font-size: 12px;
    font-weight: 400;
    margin-left: 8px;
    padding: 0 16px;
    border-radius: 300px;
    letter-spacing: -0.5px;
}

.sec_con .bb_btn.btn_add svg {
    margin-right: 2px;
    color: #fff;
}

.sec_con .bb_btn.btn_add::before {
    display: none;
}

.bb_sec_search svg.search_icon {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translate(50%, -50%);
    width: 16px;
    height: 16px;
    opacity: .65;
    cursor: pointer;
}

.sec_con span .bb_input.searchMain {
    border-radius: 300px !important;
    border: 1px solid #cccccc;
    background: #fff;
}

/* Card Design */

.bb_sec_card .bb_card {
    background: linear-gradient(180deg, #FFF 2.43%, #F4F5F5b8 67.19%) !important;
}

.bb_card {
    display: flex;
    flex-direction: row;
    padding: 3rem;
    border: 1px solid #EAEAEA;
    border-radius: 1.6rem;
    gap: 1.6rem;
    background: #fff;
}

.bb_card:hover {
    box-shadow: 1px 1px 14px #eeeeee65;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.bb_card .card_txt .title {
    width: 100%;
}

.bb_card .card_img {
    height: 100%;
    width: 180px;
    background: url(../images/component/contents/no_img.png);
    border-radius: 1.2rem;
    border: 1px solid #E6E6E6;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    min-width: 180px;

    animation: fadeIn 1s ease-in-out forwards;
}

/* .bb_card .card_img::before {
	display: block;
	clear: both;
	content: "";
	height: 100%;
	width: 210px;
	background: url(../images/component/contents/no_img.png);
	border-radius: 1.2rem;
	border: 1px solid #E6E6E6;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
}  */

.bb_title_round.primary.card_txt {
    margin-bottom: 1rem;
}

.bb_card .card_txt {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: space-between;
}

.bb_card .card_txt .percent {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.4rem;
    min-height: 3.4rem;
}

.bb_card .card_txt .percent h4 {
    color: #3D4859;
    font-size: 11.4px;
    background: #E8EEF3;
    padding: 0.5rem 1.3rem;
    width: fit-content;
    border-radius: 300px;
    font-weight: 600;
    letter-spacing: -0.5px;
}

.bb_card .card_txt .percent h4 span {
    font-weight: 700;
}

.bb_card .card_txt .percent p {
    font-size: 1.2rem;
    color: #707070;
    margin-bottom: 0;
}

.bb_card .card_txt .title h1 {
    font-size: 1.8rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    word-wrap: break-word;
    margin-bottom: 2rem;
    font-weight: 600;
    line-height: 140%;
    max-height: 5rem;
    height: 4.6rem;
    letter-spacing: -0.5px;
    padding-left: 8px;
}

.bb_card .card_txt .card_white_box {
    background: #fff;
    padding: 20px 24px;
    max-height: 180px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.bb_card .card_txt .card_white_box .card_bottom {
    display: unset;
}

.bb_card .card_txt .location {
    margin-bottom: 8px;
    min-height: 2rem;
}

.bb_card .card_txt .location p {
    font-size: 1.1rem;
    font-weight: normal;
    color: #666;
    margin-bottom: 0;
    position: relative;
    width: 340px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.8;
    letter-spacing: -0.6px;

}

.bb_card .card_txt .location p::before {
    display: inline-block;
    clear: both;
    content: "";
    width: 10px;
    height: 10px;
    background: url(../images/component/contents/icon01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 2px;
    background-position: center;
        margin-top: 3.5px;
    opacity: 1 !important;
    filter: grayscale(1);
    vertical-align: middle;
}

.prgpy_stat_info {
    display: flex;
    justify-content: space-between;
    padding: 0 1.6rem;
    height: 4.8rem;
    align-items: center;
    margin: 1.2rem 0;
    border-radius: 0.8rem;
}

.prgpy_stat_info h1 {
    font-size: 1.4rem;
    color: #707070;
    font-weight: 400;
    margin-bottom: 0;
}

.prgpy_stat p {
    margin-bottom: 0;
}

.prgpy_stat {
    display: flex;
    align-items: center;
    flex-direction: row;
}

.prgpy_stat .prgpy_stat_num {
    margin-right: 1rem;
}

.prgpy_stat .prgpy_stat_num p {
    font-size: 1.6rem;
    color: #222;
    margin-bottom: 0;
}

.prgpy_stat .prgpy_stat_num p span {
    font-weight: 800;
}


/*카드 ui 추가*/
@media (min-width: 1600px) {
    .prgpymntCnstwkList {
        padding: 0 16rem !important;
    }
}

@media (max-width: 1700px) and (min-width: 1280px) {
    .bb_sec_card .bb_card .card_bottom {
        display: flex;
        justify-content: space-between;
        align-items: flex-start !important;
        flex-direction: column;
        gap: 1.6rem;
    }

    .bb_sec_card .bb_card .card_bottom .right_btn {
        width: 100%;
    }



}

@media (max-width: 1280px) {
    .visual .cpr {
        width: 100%;
    }

    .visual .cpr h1 {
        font-size: 3rem;
        margin-bottom: 4rem;
    }

    .visual .cpr p {
        display: none;
    }

    .bb_sec_card {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .bb_sec_card .bb_card .card_bottom {
        flex-direction: row;
    }

    .bb_sec_card .bb_card .card_bottom .right_btn {
        width: unset !important;
    }

    .bb_sec_card .bb_card .card_bottom .right_btn button {
        width: unset !important;
    }
}

@media (max-width: 790px) {
    .visual {
        height: 300px;
    }

    .visual .cpr h1 {
        font-size: 2.4rem;
    }

    .bb_sec_card .bb_card .card_bottom {
        display: flex;
        justify-content: space-between;
        align-items: flex-start !important;
        flex-direction: column;
        gap: 1.6rem;
    }

    .bb_sec_card .bb_card .card_bottom .right_btn {
        width: 100% !important;
    }

    .bb_sec_card .bb_card .card_bottom .right_btn button {
        width: 50% !important;
    }
}


.bb_sec_card .bb_card .card_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bb_sec_card .bb_card .card_bottom .b_text {
    display: flex;
    font-size: 1.4rem;
    align-items: center;
    padding-left: 2px;
}

.bb_sec_card .bb_card .card_bottom .b_text p {
    font-size: 13px;
    color: #3D4859;
}

.bb_sec_card .bb_card .card_bottom .b_text p:nth-child(2) {
    margin-left: 1rem;
}

.bb_sec_card .bb_card .card_bottom .b_text p strong {
    font-size: 14px;
    color: #3D4859;
    margin-left: 2px;
    vertical-align: inherit;
}

.bb_sec_card .bb_card .card_bottom .b_text p strong span {
    font-size: 14px;
    color: #3D4859;
}

.bb_sec_card .bb_card .card_bottom .b_text p.state {
font-size: 1.13rem;
    font-weight: 600;
    padding: 0.32rem 0.8rem;
    border-radius: 300px;
    margin-left: 1.2rem;
}

.bb_sec_card .bb_card .card_bottom .b_text p.state.return {
    color: #D41313;
    background: #FFFAFA;
    border: 1px solid #F6C3C3;
}

.bb_sec_card .bb_card .card_bottom .b_text p.state.ongoing {
    color: #026BCD;
    background: #EDF5FF;
    border: 1px solid #90CAF9;
}

.bb_sec_card .bb_card .card_bottom .right_btn {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    margin-top: 24px;
}

.bb_sec_card .bb_card .card_bottom .right_btn .c3rx_d_btn::before {
    display: inline-block;
    clear: both;
    content: "";
    background: url('../images/component/contents/C3RX.svg');
    width: 4.1rem;
    height: 1.2rem;
    background-repeat: no-repeat;
    margin-right: 0.2rem;
}


.bb_sec_card .bb_card .card_bottom .right_btn .c3rx_d_btn {
    color: #222;
    font-size: 1.6rem;
    background: #fff;
    border: #E6E6E6 1px solid;
    outline: 0;
    padding: 1rem 2rem;
    border-radius: 0.8rem;
}

.c3rx_btn::before {
    display: inline-block;
    clear: both;
    content: "";
    background: url('/eurecax/static-app/images/component/contents/C3RX.svg');
    width: 4.1rem;
    height: 1.2rem;
    background-repeat: no-repeat;
    margin-right: 0.2rem;
    background-position: center center;
    vertical-align: middle;
    margin-top: -2px;
}

.c3rx_btn {
    background: #fff !important;
    border: #E6E6E6 1px solid;
    padding: 0.4rem 2rem;
    border-radius: 0.8rem;
}

.bb_sec_card .bb_card .card_bottom .right_btn button:hover {
    cursor: pointer;
    opacity: 0.7;
}

.card_c3rx_download {
    background: #fff;
    outline: 0;
    border-radius: 0.8rem;
    font-size: 12px;
    height: 32px;
    color: #444;
    max-height: 42px;
    padding: 0px 12px;
    font-weight: 400;
    border: 1px solid #E6E6E6;
}

.card_c3rx_download strong {
    color: #F93F3F;
    font-weight: 900;
}

.bb_sec_card .bb_card .card_bottom .right_btn .Registration {
    border: 0;
    background: #4780EE;
    outline: 0;
    border-radius: 0.8rem;
    font-size: 12px;
    height: 32px;
    color: #fff;
    max-height: 42px;
    padding: 0px 12px;
    font-weight: 400;
}

.bb_sec_card .bb_card .card_bottom .right_btn .Registration-blue {
	background: #3EA8FF;
}

footer {
    text-align: center;
    margin-top: 8rem;
    padding: 4rem;
    border-top: 1px solid #ededed;
    color: #8D8D8D;
    font-size: 1.3rem;
}

footer .copyright {
    margin-top: 1rem;
    color: #AEAEAE;
    font-size: 1.2rem;
}

/******************************* 02. 기성등록 ***************************/

/* 기성관리 오른쪽 일자정보 */
.project_info {
    display: flex;
    flex-direction: row;
    gap: 3.2rem;
    align-items: center;
    text-wrap: nowrap;
}

.project_info .info_count {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2.4rem;
}

.project_info .info_lngtm,
.project_info .info_cntrct,
.project_info .info_episode,
.project_info .info_prgpydate {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.project_info .info_prgpydate {
    gap: 3.2rem;
}

.project_info h1 {
    font-size: 1.34rem;
    font-weight: 450;
    color: #757C81;
    margin-bottom: 0;
    margin-right: 0.8rem;
}

.project_info .info_prgpydate .std_date {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.project_info .info_prgpydate .date_info {
    font-size: 1.28rem;
    font-weight: 400;
    color: #444444;
}

.bb_title_round.info::before {
    background: url('/eurecax/static-app/images/component/edit.svg') no-repeat;
    background-position: center center;
    background-size: 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
    margin-right: 0.2rem;
    vertical-align: middle;
    clear: both;
    content: "";
    display: inline-block;
    margin-right: 4px;
}

.bb_title_round.info > span {
    vertical-align: middle;
}

/* 기성 기준년월 */

.project_info .info_prgpydate > label::before {
    background: url('/eurecax/static-app/images/component/Calendar.svg') no-repeat;
    background-position: center center;
    background-size: 1.6rem;
    width: 1.6rem;
    height: 1.6rem;
    clear: both;
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-top: -1px;
    opacity: 0.6;
}

.project_info input:disabled {
    border-color: transparent !important;
    border-radius: 2rem !important;
    background-color: transparent !important;
    color: #343536 !important;
    font-weight: 500;
    padding: 0 !important;
    height: 2.5rem !important;
    width: 7rem !important;
    /* margin-left: -0.8rem; */
}

.info_prgpydate input[name="prgpymnt_std_date"] {
    width: 8rem;
    padding: 0;
    margin-right: 1rem;
    font-size: 1.3rem !important;
}

/* 예상 기성 금액 */

.text01 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2rem;
}

.text01 .text01_box {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    /* margin-bottom: 1rem; */
    margin-bottom: 1.5rem;
}

.text01 .text01_box > p {
    display: inline-flex;
    align-items: center;
    font-size: 1.3rem;
    color: #333;
    gap: 0.5rem;
}

.text01 .text01_title h1 {
    font-size: 20px;
    font-weight: 600;
    color: #4C4C50;
    display: flex;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.text01 .text01_title h1 span {
    font-weight: 800;
    color: #0071D9;
    ;
    margin-left: 0.8rem;
}

.text01 .text01_title {
    display: flex;
    flex-direction: column;
}

.text01 .text01_price {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.bb_box_white .text01 .text01_price p {
    font-size: 1.5rem;
    color: #333;
    font-weight: 400;
    width: fit-content;
    margin-bottom: 0;
}

.bb_box_white .text01 .text01_price p span {
    color: #101010;
    font-weight: 500;
}

.bb_box_white .text01 .text01_price p strong {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 0;
    margin-right: 1rem;
    color: #0080FF;
    background: #eaf2fd;
    border-radius: 300px;
    text-align: center;
    padding: 0.4rem 1rem;
    display: none;
}

.bb_sec_btn_write {
    display: flex;
    height: 44px;
}

.bb_box_white .bb_sec_btn_write .bb_btn:not(:first-child) {
    margin-left: 0.8rem;
}

.bb_box_white .bb_sec_btn_write .bb_btn {
    border-radius: 0.8rem;
    padding: 0 18px;
}


.bb_box_white .add_pri {
    background: #ffffff;
}

.bb_box_white .text02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.8rem 0;
}

.bb_box_white .text03 {
    border-top: 1px dashed #d1def0;
}

.bb_box_white .text02 .text02_box {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.bb_box_white .text02 .text02_box p {
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    color: #3A3A3C;
}

.bb_box_white .text02 .text02_box p span {
    color: #101010;
    font-weight: 500;
}

.bb_box_white .text02_price p {
    font-size: 1.5rem;
    color: #333;
    font-weight: 500;
    margin-bottom: 0;
}

.bb_box_white .text02_price p span {
    font-weight: 500;
    font-size: 1.5rem;
    color: #101010;
}

.bb_box_white .text03 {
    /* padding: 1.8rem 0 0; */
    padding: 2.6rem 0 0;
}

.total_pri {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.total_pri p {
    font-size: 1.5rem;
    color: #707070;
    font-weight: 500;
    margin-bottom: 0;
}

.total_pri p > span {
    font-weight: 400;
    color: #333;
    font-weight: 1.5rem;
}

.total_pri p > span strong {
    font-weight: 600;
}

.percent_chart p {
    color: #0B8E00;
    background: #E7F8D7;
    padding: 0.4rem 1.2rem;
    border-radius: 300px;
    font-size: 1.4rem;
    text-align: center;
}

/* 예상 기성 차트 */
.text01_chart {
    display: inline-flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 1.6rem;
}

.total_chart p {
    display: flex;
    flex-direction: row;
    font-weight: 500;
    color: #707070;
    font-size: 1.5rem;
    gap: 0.8rem;
}

.total_chart p > span > span {
    font-weight: 600;
    color: #333;
}

/* 기성 이력 */
.table_height_fix {
    max-height: 26rem;
}

.table_height_fix .list_table {
    table-layout: fixed;
    min-width: 1400px;
    max-width: 2000px;
    width: 100%;
}

.list_table tr td {
    text-align: right;
}

/* Loading */
.prgpyLoading {
    font-size: 1.4rem;
    text-wrap: nowrap;
}

.prgpyLoading span {
    color: #0080FF !important;
}

.uu-overlay .uu-overlay__box {
    background-color: transparent !important;
}

.uu-overlay:has(.prgpyLoading) {
    padding: 4rem;
    background: rgba(255, 255, 255, 0.8);
}

/******************************* 03. 내역서 ***************************/
/* 내역서 화면 - 하단 고정*/
.total_fixed {
    width: 100%;
    position: fixed;
    background: #fff;
    border-top: #5366f521 1px solid;
    height: 7.2rem;
    font-size: 1.4rem;
    z-index: 99;
    bottom: 0;
    left: 0;
    box-shadow: 0px 1px 16px rgb(83, 103, 245, 12%);
}

.total_fixed .bb_container {
    max-width: 1920px;
    margin: 0 auto;
    width: 100%;
}

.total_fixed p {
    margin-bottom: 0;
}

.total_fixed .total_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 7.2rem;
    padding-left: 0;
    margin-bottom: 0;
}

.total_list ul {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    padding-left: 0;
}

.total_list ul li {
    color: #666;
    font-size: 1.4rem;
}

.total_list ul li:nth-child(2) {
    display: flex;
    align-items: center;
}

.total_list ul li p > .price {
    margin-left: 0.8rem;
}

.total_list ul li.bb_title_round {
    padding: 0.3rem 1.4rem;
}

.total_list ul li.title_amt:not(:first-child) {
    margin-left: 4rem;
}

.total_list ul li:not(.bb_title_round) {
    margin-left: 0.8rem;
}

.total_list .total_p {
    font-size: 1.6rem;
    font-weight: 600;
    color: #333;
}

.total_list .plus {
    margin: 0 0.8rem;
}

.total_list ul li .price {
    color: #333;
    font-weight: 500;
}

/* ============== 내역서 - 표 상단 검색, input, button, toggle 등 ============== */
/***************************** WBS ********************************/
form[name=form_aplyBohalPctg] .bb_input {
    width: 80px;
    border-radius: 0.6rem !important;
}

#prgpymnt_wbs .search {
    background-color: field;
    width: unset;
}

#prgpymnt_wbs .bb_select {
    width: 10rem !important;
}

#move_month {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

/* 표 내부 tab */
.search_level {
    width: 100%;
    clear: both;
    display: block;
}

.search_level_unset {
    width: fit-content !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.search_level {
    display: flex;
    justify-content: space-between;
    background: #F4F6FB;
    padding: 1rem 1.2rem 1rem 2.8rem;
    margin-top: 1rem;
    align-items: center;
}

button[data-ename="btn_resetBohalPctg"] {
    width: 1.2rem;
    height: 1.2rem;
    margin-left: 0.3rem;
    color: #707070;
    border: none;
    background-color: transparent;
    transform: rotate(0deg);
    transition: transform 3s;
}

.rotate::before {
    clear: both;
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-size: 14px 14px !important;
    background: url(/eurecax/static-app/images/component/rotate.svg) no-repeat;
    background-position: center center;
    vertical-align: middle;
}

button[data-ename="btn_resetBohalPctg"]:hover .rotate::before {
    cursor: pointer;
    transform: rotate(-30deg);
}

button[data-ename="btn_reloadPrgpymntSpcs"] {
    /*
	margin-left: 1rem;
    margin-right: 1.2rem;
	*/
    padding: 0.6rem 2rem;
    font-size: 1.3rem;
    width: 100%;
}

/*홀짝*/
.bb_table:not(.cbs_table) tr:nth-child(even) {
    background: #F4F6FB;
}

/****************** 상세화면 그리드  *******************/
/* withToolBtn -4rem */
.cbs_table {
    margin-top: 1rem !important;
    /* Slick Grid랑 겹쳐서 !important 줌 */
    height: calc(100vh - 28rem) !important;
}

.cbs_table:nth-child(1).withToolBtn {
    height: calc(100vh - 32rem) !important;
}

.cbs_table.withFixed {
    height: calc(100vh - 32.5rem) !important;
}

/* 검색 영역 없고, 공종토글도 없는 쌩 그리드 */
.grid_container:not(:has(.search_level)) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 37.2rem) !important;
}

.cbs_table.withFixed:nth-child(1).withToolBtn,
.grid_cntr_spcs_container .cbs_table.withToolBtn,
#section2:has(.search_level) .cbs_table {
    height: calc(100vh - 34.5rem) !important;
}

#section2:has(.search_level) .cbs_table.withToolBtn {
    height: calc(100vh - 38rem) !important;
}

.cbs_table.withoutHeader {
    height: calc(100vh - 22.5rem) !important;
}

.cbs_table.withoutHeader.withToolBtn {
    height: calc(100vh - 25.5rem) !important;
}

#section2:has(.search_level) .cbs_table.withFixed {
    height: calc(100vh - 38.5rem) !important;
}

#section2:has(.search_level) .gj_toggle_table {
    height: calc(100vh - 36rem) !important;
}

#section2:has(.search_level) .cbs_table:nth-child(1).withFixed.withToolBtn {
    height: calc(100vh - 43.5rem) !important;
}

#section2:has(.search_level) .cbs_table.withFixed:has([data-ename="div_grid_gjtree"]) {
    height: calc(100vh - 40rem) !important;
}

#section2:has(.search_level) .cbs_table.withoutHeader:has([data-ename="div_grid_gjtree"]),
#section2:has(.search_level) .cbs_table.withoutHeader {
    height: calc(100vh - 29.5rem) !important;
}

#section2:has(.search_level) .cbs_table.withoutHeader.withToolBtn {
    height: calc(100vh - 34rem) !important;
}

.gj_toggle_table .slick-pane.slick-pane-top,
.gj_toggle_table .slick-viewport.slick-viewport-top,
.cbs_table:has([data-ename="div_grid_gjtree"]) .slick-pane.slick-pane-top,
.cbs_table:has([data-ename="div_grid_gjtree"]) .slick-viewport.slick-viewport-top {
    width: 100% !important;
    height: 100% !important;
}

/* section3 : 계약내역서 팝업 (section3은 헤더 없는 곳) */
#section3 .toolbar_search {
    margin: unset;
}

#section3 .toolbar_search .switch {
    position: inherit;
    left: unset;
    top: unset;
}

#section3 .gj_toggle_table {
    height: calc(100vh - 28rem) !important;
}

/* @ 내역서 */
#section3:has(.search_level) .cbs_table {
    height: calc(100vh - 30rem) !important;
}

#section3:has(.search_level) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 34rem) !important;
}

/* 스위치 달린애 */
#section3:has(.search_level:has(.switch_box)) .cbs_table {
    height: calc(100vh - 30rem) !important;
}

#section3:has(.search_level:has(.switch_box)) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 35rem) !important;
}

/* @ 원가계산서  */
/* 수정 */
#section3:has(.search_level.calcbll_mod):not(:has(.gj_toggle_table)) .cbs_table {
    height: calc(100vh - 31rem) !important;
}

#section3:has(.search_level.calcbll_mod):not(:has(.gj_toggle_table)) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 34rem) !important;
}

/* 스위치 달린거 */
#section3:has(.search_level.exists_switch):not(:has(.gj_toggle_table)) .cbs_table {
    height: calc(100vh - 31rem) !important;
}

#section3:has(.search_level.exists_switch):not(:has(.gj_toggle_table)) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 35.5rem) !important;
}

/* @ 원가계산서 설정 탭 */
#section3 #cstcalcbll_stp_wrap {}

#section3 #cstcalcbll_stp_wrap .left {
    /* 원가계산서 설정 */

}

#section3 #cstcalcbll_stp_wrap .left .form-grid-container {
    gap: 3rem;
}

#section3 #cstcalcbll_stp_wrap .left .form-row {
    padding: 3.4rem;
}

#section3 #cstcalcbll_stp_wrap .right {
    /* 제경비 설정 */

}

#section3 #cstcalcbll_stp_wrap .right .cbs_table {
    height: calc(100vh - 23.5rem) !important;
}

#section3 #cstcalcbll_stp_wrap .right .cbs_table.withToolBtn {
    height: calc(100vh - 27.5rem) !important;
}

/* // section3 END */

/* section4 : 제공화면(카이로스, PAD, ...) */
#section4 .toolbar_search {
    margin: unset;
}

#section4 .toolbar_search .switch {
    position: inherit;
    left: unset;
    top: unset;
}

#section4 .gj_toggle_table {
    height: calc(100vh - 28rem) !important;
}

/* @ 내역서 */
#section4:has(.search_level) .cbs_table {
    height: calc(100vh - 30rem) !important;
}

#section4:has(.search_level) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 34rem) !important;
}

/* 검색 O, 스위치 O */
#section4:has(.search_level.exists_switch) .cbs_table {
    height: calc(100vh - 31rem) !important;
}

#section4:has(.search_level.exists_switch) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 34rem) !important;
}

/* @ 원가계산서 설정 탭 */
#section4 #cstcalcbll_stp_wrap {}

#section4 #cstcalcbll_stp_wrap .left {
    /* 원가계산서 설정 */

}

#section4 #cstcalcbll_stp_wrap .left .form-grid-container {
    gap: 3rem;
}

/* 카이로스 팝업에서 깨져서 주석 처리
#section4 #cstcalcbll_stp_wrap .left .form-row {
	padding: 3.4rem;
}
*/

#section4 #cstcalcbll_stp_wrap .right {
    /* 제경비 설정 */

}

#section4 #cstcalcbll_stp_wrap .right .cbs_table {
    height: calc(100vh - 23.5rem) !important;
}

#section4 #cstcalcbll_stp_wrap .right .cbs_table.withToolBtn {
    height: calc(100vh - 27.5rem) !important;
}

/* 검색 영역 없고, 공종토글도 없는 쌩 그리드 */
#section4 .grid_container:not(:has(.search_level)) .cbs_table.withToolBtn:not(.gj_toggle_table) {
    height: calc(100vh - 37.2rem) !important;
}

/* @ PAD 제공 하도급 */
/* * 원가계산서 설정 */
#section4 #subcntr_ovrhdcst_stp .cbs_table {
    height: calc(100vh - 23.5rem) !important;
}
#section4 #subcntr_ovrhdcst_stp .cbs_table.withToolBtn {
    height: calc(100vh - 28rem) !important;
}

/* * 원가계산서 */
#section4 #subcntr_ovrhdcst .cbs_table {
    height: calc(100vh - 23.5rem) !important;
}
#section4 #subcntr_ovrhdcst .cbs_table.withToolBtn {
    height: calc(100vh - 28rem) !important;
}
/* // section4 END */

.cbs_table tr td:nth-child(2),
.cbs_table tr td:nth-child(3) {
    text-align: center;
}

.cbs_table tr td:nth-child(7),
.cbs_table tr td:nth-child(8),
.cbs_table tr td:nth-child(9),
.cbs_table tr td:nth-child(10),
.cbs_table tr td:nth-child(11),
.cbs_table tr td:nth-child(12),
.cbs_table tr td:nth-child(13),
.cbs_table tr td:nth-child(14),
.cbs_table tr td:nth-child(15),
.cbs_table tr td:nth-child(16),
.cbs_table tr td:nth-child(17) {
    text-align: right;
}

.cbs_table tr td:nth-child(9) {
    background: #ecf6ff;
}

.toggle_header li {
    position: relative;
}

.toggle_header li button::before {
    display: inline-block;
    clear: both;
    content: "";
    width: 20px;
    height: 13px;
    background-image: url(/eurecax/static-app/images/folder_tree.svg);
    background-repeat: no-repeat;
    background-position: center -1px;
    background-size: contain;
    vertical-align: middle;
    opacity: 0.5;
}


/* 총차 변경내역서, 차수 계약내역서 등록 버튼 박스 (관리자)  */
.top_btn_box {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}

.top_btn_box > div {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: 2rem;
}

.top_btn_box > div button:first-child {
    margin-right: 0.4rem;
}

.top_btn_box > div button {
    padding: 0.8rem 1.8rem !important;
    font-size: 1.24rem !important;
}

.bg_b_line.down_icon::after {
    display: inline-block;
    clear: both;
    content: "";
    width: 14px;
    height: 14px;
    background: url('/eurecax/static-app/images/component/Download_bule.svg') no-repeat center;
    background-size: 13px 13px;
    vertical-align: middle;
    margin-left: 4px;
    margin-top: -1px;
}

.bg_blue.w_icon::after {
    display: inline-block;
    clear: both;
    content: "";
    width: 14px;
    height: 14px;
    background: url('/eurecax/static-app/images/component/edit_white.svg') no-repeat center;
    background-size: 14px 14px;
    vertical-align: middle;
    margin-left: 4px;
    margin-top: -2px;
}


/*new footer*/
.site-footer {
    background: radial-gradient(circle at top left, #222, #000 70%);
    padding: 6.4rem 4.8rem;
}

.site-footer .footer-inner {
    max-width: 1920px;
    margin: 0 auto;
}

/* 상단 */
.site-footer .footer-top {
    display: flex;
    gap: 48px;
    margin-bottom: 48px;
    justify-content: space-between;
	align-items: center;
}

.site-footer .footer-top .footer_left {
    text-align: left;
}

.site-footer .footer-title {
    font-size: 22px;
    line-height: 1.4;
    font-weight: 300;
    margin-bottom: 32px;
    text-align: left;
    color: #c9c9c9;
    letter-spacing: -0.8px;
}

.site-footer .footer-title strong {
    display: block;
    font-weight: 500;
}


.site-footer .footer-buttons {
    display: flex;
    gap: 12px;
}

.site-footer .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.25s ease;
    cursor: pointer;
}

.site-footer .btn-primary {
    background: #ff4d5a;
    color: #fff;
    gap: 72px
}

.site-footer .btn-primary:hover {
    background: #ff2f3f;
}

.site-footer .btn-secondary {
    background: #2a2a2a;
    color: #fff;
    gap: 48px;
}

.site-footer .btn-secondary:hover {
    background: #3a3a3a;
}

/* 우측 정보 */
.site-footer .footer-right dl {
    display: grid;
    grid-template-columns: 130px 1fr;
    row-gap: 6px;
    font-size: 13px;
}

.site-footer .footer-right dt {
    color: #c4c4c4;
    text-align: left;
}

.site-footer .footer-right dd {
    color: #8f8f8f;
    line-height: 1.6;
    text-align: left;
}

/* 하단 */
.site-footer .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.site-footer .footer-contact {
    display: flex;
    gap: 24px;
    font-size: 13px;
    color: #ccc;
	width: calc(100% / 3);
}

.footer-copy {
	width: calc(100% / 3);
	    font-size: 12px;
    font-weight: 400;
}

.site-footer .footer-contact svg {
	width: 14px;
    height: 14px;
    vertical-align: middle;
    margin-top: -3px;
}

.site-footer .footer-meta {
    display: flex;
    gap: 24px;
    align-items: center;
    font-size: 13px;
    color: #888;
	    width: calc(100% / 3);
    justify-content: flex-end;
}

.site-footer .footer-links a {
    color: #aaa;
    text-decoration: none;
    margin-left: 12px;
}

.site-footer .footer-links a:hover {
    text-decoration: underline;
}

.site-footer .footer-links a strong::after {
	display: inline-block;
	clear: both;
	content: "";
	width: 1px;
	height: 8px;
	background: #ddd;
	margin-left: 24px;
}

/* 반응형 */
@media (max-width: 768px) {
    .site-footer .footer-top {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* new footer - white */
.site-footer.site-footer-white {
	background: #fff;
	pointer-events: auto;
    border-top: 1px solid #eaeaea;
}

.site-footer.site-footer-white .footer-title {
	color: #222;
}

.site-footer .footer-bottom {
    border-top: 1px solid #eaeaea;
}

.site-footer.site-footer-white .footer-right dt {
	color: #545454;
	font-weight: 500;
}

.site-footer.site-footer-white .footer-right dd {
	color: #686868;
}