@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;}

body {min-width: 1480px;}

ol, ul, li, a {text-decoration: none; list-style: none;}

a, button {cursor: pointer;}

h1 {height: 3.125rem; text-align: center;}
h2 {font-size: var(--fontXL);}

h1 img {height: 50px;}

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;
    word-break: break-all;
}

.cursorP {cursor: pointer;}

.widthMin {width: 0; white-space: nowrap;}
.widthMax {width: 100% !important;}

input::placeholder {color: #999;}

input:disabled,
input:read-only,
textarea:disabled,
textarea:read-only {background: var(--bgcolor);}

.marginL10 {margin-left: 0.625rem;}

.importantTh {position: relative;}

.importantTh:after {
	content: '*';
	color: #f60;
	margin-left: 0.25rem;
}

.fontMainColor {background: #00A9ff1A !important;}
.fontMainColor div {color: var(--maincolor) !important;}

.tbLayoutFix {table-layout: fixed;}

.floatR {float: right;}

/********************** 버튼 **********************/

.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;
  border-width: 1px;
}

.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>tbody>tr:hover {background-color: var(--hovercolor);}
.designTb tr {border-bottom: 1px solid var(--bordercolor);}

.designTb th, .designTb td {
    line-height: 1.25rem;
    padding: 0.625rem;
    text-align: center;
}

.designTb.noticeTb th, .designTb.noticeTb td {
    border: 1px solid var(--bordercolor);
}

.designTb th {background: var(--bgcolor);}

.designTb input[type='text'],
.designTb input[type='password'],
.designTb input[type='number'],
.designTb select,
.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 label.subOption {
    margin: 0.5rem 0 0.25rem 0;
}

.designTb label.dateLabel {
    margin: 0.25rem 0.25rem 0.5rem 0;
}

.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;
}

.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;}

.user-service-alert {background: #4b96e6 !important;}
.user-service-alert div {color: white !important;}

input[type='radio']:checked:disabled {
    position: relative;
}
input[type='radio']:checked:disabled::after {
    content: '';
    position: absolute;
    left: 0;
    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 url(../img/check.png) no-repeat 50% 50%;
    background-size: 70%;
    border-radius: 2px;
    z-index: 1;
}

.tui-grid-cell-has-input .tui-grid-cell-content { text-overflow: ellipsis; }
