@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600&display=swap');

:root {
    --maincolor : #2470c5;
    --bgcolor: #f2f2f2;
    --bordercolor: #ddd;
    --fontcolor: #333;
    --hovercolor: #e5f6ff;

    --fontXS: 0.75rem;
    --fontS: 0.875rem;
    --fontM: 1rem;
    --fontL: 1.125rem;
    --fontXL: 1.25rem;
}

* {margin: 0; padding: 0; font-family: 'Noto Sans KR', sans-serif; color: var(--fontcolor);}

html, body {font-size: 16px; font-family: 'Noto Sans KR', sans-serif; font-weight: 400;}

ol, ul, li, a {text-decoration: none; list-style: none;}

a, button {cursor: pointer;}

h1 { text-align: center;}
h2 {font-size: var(--fontXL);}

h1 img { height: 80px;}

textarea {
    display: block;
    width: 100%;
    border: 1px solid var(--bordercolor);
    resize: none;
    padding: 0.5rem;
    box-sizing: border-box;
}

.changed-textarea {
    display: block;
    width: 100%;
    border: 1px solid var(--bordercolor);
    resize: none;
    padding: 0.5rem;
    box-sizing: border-box;
    white-space: pre-wrap;
}

.cursorP {cursor: pointer;}

.widthMin {width: 0; white-space: nowrap;}

.mobileView {
    text-align: left !important;
}
input::placeholder {color: #999;}

input:disabled,
input:read-only,
textarea:disabled,
textarea:read-only {background: var(--bgcolor);
    margin-right: 5px}

.marginL10 {margin-left: 0.625rem;}

.importantTh {position: relative;}

.importantTh:after {
    content: '*';
    color: #f60;
    margin-left: 0.25rem;
}

.required::after {
    content: "*";
    top: 18px;
    display: inline-block;
    margin-left: 4px;
    color: rgb(232, 57, 57);
}

.fontMainColor {background: #00A9ff1A !important;}
.fontMainColor div {color: var(--maincolor) !important;}

.tbLayoutFix {table-layout: fixed;}

.widthMax {width: 100% !important;}
.floatR {float: right;}

.thWidth {width: 10rem;}

.tbWrap {
    width: 100%;
    overflow-x: auto;
}

/********************** 버튼 **********************/

.btnDefault {
    display: inline-block;
    min-width: 7.5rem;
    height: 2rem;
    padding: 0 1rem;
    line-height: calc(2rem - 2px);
    background-color: #fff;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    border-radius: 0.3125rem;
    box-sizing: border-box;
}

.btnMain {
    border: 1px solid var(--maincolor);
    color: var(--maincolor);
}

.btnExcel {
    padding: 0 1rem;
    border: 1px solid #0e6c39;
    color: #0e6c39;
}

.btnGray {
    background: #ddd !important;
    color: #666 !important;
    margin-left: 0.3125rem;
}

.btnSolidGray {
    border: 1px solid #999;
    color: #999;
    margin-left: 0.3125rem;
}

.btnRed {
    border: 1px solid #e94c4b;
    color: #e94c4b;
    margin-left: 0.3125rem;
}

.btnHome {
    margin-top: 1.25rem;
    background: var(--maincolor);
    color: #fff;
}

.btnMore {
    width: 100%;
    margin-top: 1.25rem;
}

.btnMore:hover {background: var(--hovercolor);}

/********************** 페이징 **********************/

.paging_wrap {
    width: 100%;
    height: 2rem;
    margin-top: 1.25rem;
    text-align: center;
    position: relative;
}
.paging_wrap .paging_box {
    overflow: hidden;
    text-align: center;
    display: inline-block;
}
.paging_wrap .paging_box button {
    float: left;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    color: #999;
    border-radius: 50%;
    border: 0;
    background: none;
    margin: 0 0.3125rem;
    cursor: pointer;
}

.paging_wrap .paging_box button.now_page {
    color: var(--maincolor);
    font-weight: 500;
}

.paging_wrap .paging_box .paging_btn.paging_normal {background: url(../img/icon_next.png) no-repeat 50% 50%;}
.paging_wrap .paging_box .paging_btn.paging_max {background: url(../img/icon_nextmax.png) no-repeat 50% 50%;}

.paging_wrap .paging_box .paging_btn.paging_btn_prev,
.paging_wrap .paging_box .paging_btn.paging_btn_prevmax {transform: rotate(180deg);}
.paging_wrap .paging_box .paging_btn:hover {background-color: #f3f3f3;}

.paging_wrap .paging_box .paging_btn.is_deact {opacity: 0.3; cursor: default;}

.paging_wrap .btnBox {position: absolute;}
.paging_wrap .btnBox.btnBoxLeft {top: 0; left: 0;}
.paging_wrap .btnBox.btnBoxRight {top: 0; right: 0;}

.paging_wrap.paging_toast .btnBox.btnBoxLeft {top: -3.125rem;}
.paging_wrap.paging_toast .btnBox.btnBoxRight {top: -3.125rem;}

.titleBox {overflow: hidden;}
.titleBox .btnBox.btnBoxRight {float: right;}


/********************************************/

.designTb {width: 100%; border-collapse: collapse;}
.designTb>thead>tr {border-top: 1px solid var(--bordercolor);}
.designTb tr {border-bottom: 1px solid var(--bordercolor);}

.designTb th, .designTb td {
    line-height: 1.875rem;
    padding: 0.625rem;
    text-align: center;
    white-space: nowrap;
}

.designTb th {background: var(--bgcolor);}

.designTb input[type='text'],
.designTb input[type='password'],
.designTb select,
.designTb input[type='number'],
.designTb input[type='date'] {
    width: 12rem;
    height: 2rem;
    line-height: 1.875rem;
    border: 1px solid var(--bordercolor);
    padding: 0 0.625rem;
    box-sizing: border-box;
    font-size: var(--fontM);
}

.designTb label {
    margin: 0.5rem 1.25rem 0.25rem 0;
    cursor: pointer;
    white-space: nowrap;
    display: inline-block;
}

.designTb td button {
    display: inline-block;
    font-size: var(--fontM);
    font-weight: 500;
    background-color: transparent;
}

.designTb .noList td {
    padding: 2.5rem 0;
    text-align: center;
}

.designTb .noList td p {
    font-weight: 600;
    margin-bottom: 0.625rem;
}

.designTb tbody .width5 { width: 5rem;}
.designTb tbody .width10 { width: 10rem;}
.designTb tbody .width15 { width: 15rem;}
.designTb tbody .width20 { width: 20rem;}
.designTb tbody .width25 { width: 25rem;}
.designTb tbody .width30 { width: 30rem;}
.designTb tbody .width50 { width: 50rem;}

.btnSelectUi {
    display: inline-flex;
    flex-direction: column;
    position: relative;
}

.btnSelectUi * {
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
}

.btnSelectUi>input[type='checkbox'] {display: none;}

.btnSelectUi>label {cursor: pointer; margin: 0;}

.btnSelectUi>ul {
    position: absolute;
    top: 2rem;
    left: 50%;
    z-index: -999;
    margin-top: 0.5rem;
    background: #fff;
    opacity: 0;
    border: solid var(--maincolor);
    border-width: 1px 1px 0;
    border-radius: 0.3125rem;
    overflow: hidden;
    transform: translateX(-50%);
    margin-bottom: 1.25rem;
}

.btnSelectUi>input[type='checkbox']:checked~ul {z-index: 1; opacity: 1;}

.btnSelectUi>ul>li {
    padding: 0;
    border-bottom: 1px solid var(--maincolor);
}

.btnSelectUi>ul>li>button {
    width: 100%;
    border: 0;
    font-weight: normal;
    white-space: nowrap;
}
.btnSelectUi>ul>li>button:hover {background: var(--hovercolor);}




.updateWrap {
    width: 90%;
    margin: 1.25rem auto;
}

.updateBox table {
    border-collapse: collapse;
}

.updateBox table th {font-weight: 600; font-size: var(--fontS);}

.updateWrap .btnBox {margin-top: 0.625rem;}

.updateWrap .btnBox button {margin: 0 0.5rem 0 0;}

.uploadList, #egov_file_view_table {
    margin-top: 0.625rem;
    width: 100%;
}

.file_add, #egov_file_view_table tr {
    border-bottom: 1px dashed var(--bordercolor);
    overflow: hidden;
}

#egov_file_view_table a,
.uploadList a{
    display: inline-block;
    width: calc(100% - 8rem);
    max-width: 80%;
    box-sizing: border-box;
    padding: 0.25rem 0.25rem 0.25rem 1.25rem;
    line-height: 1.5rem;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    float: left;
}

#egov_file_view_table a:hover,
.uploadList a:hover {color: #000; background-color: #f3f3f3;}

#egov_file_view_table a:before,
.uploadList a:before {
    content: '';
    width: 1rem;
    height: 1.5rem;
    position: absolute;
    top: 0.25rem;
    left: 0;
    background: url(../img/icon_docu.png) no-repeat 50% 50%;
    background-size: 1rem;
}

.uploadList .file_tool {
    float: right;
    white-space: nowrap;
    padding: 0.25rem;
}

.file_tool * {
    display: inline-block;
    text-indent: -9999px;
    border: 0;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0.25rem;
    margin: 0 0.5rem;
    cursor: pointer;
    float: left;
}

.file_tool .btn_file_download {background: url(../img/icon_download.png) no-repeat 50% 50%; background-size: 1.25rem;}
.file_tool .btn_file_preview {background: url(../img/icon_preview.png) no-repeat 50% 50%; background-size: 1.25rem;}
.file_tool .btn_file_Delete {background: url(../img/icon_trash.png) no-repeat 50% 50%; background-size: 1.25rem;}

.file_tool *:hover {background-color: #f3f3f3;}

.last-service-5-months-later {background: #4b96e6 !important;}
.last-service-5-months-later div {color: white !important;}

input[type='radio']:checked:disabled {
    position: relative;
}
input[type='radio']:checked:disabled::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 2px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: #2977ff;
    box-sizing: border-box;
    outline: 1px solid #2977ff;
}
/*input[type='checkbox']:checked:disabled {
    position: relative;
}

input[type='checkbox']:checked:disabled::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #2977ff no-repeat 50% 50%;
    background-size: 70%;
    border-radius: 2px;
    z-index: 1;
}*/

.layerPopupWrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100000;
    background: rgba(0, 0, 0, 0.6);
}

.layerPopupWrap>.layerPopupBox{
    position: absolute;
    top: 10vh;
    left: 50%;
    transform: translateX(-50%);
    width: 92%;
    max-width: 1200px;
    height: 70vh;
    background: #fff;
    overflow: auto;
}

.layerPopupWrap>button {
    display: inline-block;
    position: absolute;
    top: calc(80vh + 1.25rem);
    left: 50%;
    transform: translateX(-50%);
    border: 2px solid #fff;
    background-color: var(--maincolor);
    font-size: var(--fontM);
    font-weight: 600;
    color: #fff;
    width: 7.5rem;
    line-height: 2.5rem;
    border-radius: 0.3125rem;
}

.modal-plan-box span {
    display: inline-block;
    width: 7rem;
    margin: 15px 0 5px;
}


/************************* 추가 250402************************/

.tabWrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.625rem;
}

.tabDesign {
    display: flex;
    align-items: center;
}

.tabDesign > button {
    display: block;
    padding: 0.625rem 1rem;
    border: solid var(--bordercolor);
    border-width: 1px;
    font-size: var(--fontM);
    background-color: #f6f6f6;
}

.tabDesign > button.active {
    background-color: #fff;
    color: var(--maincolor);
    font-weight: 500;
    border-color: var(--maincolor);
    border-bottom: 1px solid transparent;
}




@media screen and (max-width: 1489px) {
    .paging_wrap.paging_toast .btnBox.btnBoxLeft {top: 0rem;}
    .paging_wrap.paging_toast .btnBox.btnBoxRight {top: 0rem;}
}

@media screen and (max-width: 600px) {
    body {min-width: auto;}

    .introWrapper .introBox.loginBox {width: 100%;}

    .btnDefault {min-width: auto;}
}
