/* 조건검색폼 */
.searchLineItem2, .searchLineItem3, .searchLineItem4, .searchLineItem5 {
  position:relative; display:flex; flex-wrap:nowrap; justify-content: flex-start;
}
.searchLineItem2 label {
  display:flex; 
  width:50%; 
  align-items:center; gap:5px;
}
.searchLineItem3 label {
  display:flex; 
  width:33%; 
  align-items:center; gap:5px;
  margin-top:10px;
}
.searchLineItem4 label, .searchLineItem4 > span {
  display:flex; 
  width:25%; 
  align-items:center; gap:5px;
  margin-bottom:5px;
}
.searchLineItem5 label {
  display:flex; 
  width:20%; 
  align-items:center; gap:5px;
}
.searchLineItem2 label span {
  display:flex; min-width:15%; justify-content: center;
}
.searchLineItem3 label span {
  display:flex; min-width:calc(23% - 1px); justify-content: center;
}
.searchLineItem4 label span, .searchLineItem4 > span span {
  display:flex; min-width:30%; justify-content: center;
}
.searchLineItem5 label span {
  display:flex; min-width:30%; justify-content: center;
}
.searchLineItem2 label input, .searchLineItem2 label select,
/* .searchLineItem3 label input, .searchLineItem3 label select, */
.searchLineItem4 label input, .searchLineItem4 label select {
  width:60% !important;
}
.searchLineItem3 label input, .searchLineItem3 label select {
  /* width:73% !important; */
  width:calc(46% - 2px) !important;
}
.searchLineItem5 label input, .searchLineItem5 label select {
  /* width:73% !important; */
  width:calc(46% - 2px) !important;
}
.searchLineItem {
  position:relative; display:flex; align-items:center; padding-left:0px; margin-top:10px; justify-content: space-between;
}
.searchLineItem .spanLeftBox {
  display:flex;
  width: calc(100% - 200px);
}
.searchLineItem label {
  display:flex;
  width:50%;
  flex-wrap: nowrap;
  align-items:center;
}
.searchLineItem label .transLineDiv {
  display:flex;
  width: 100%;
  align-items:center;
}

.searchLineItem label span.labelTitle, .searchLineItem span span.labelTitle {
  display:flex;
  width:24%;
  justify-content: center;
}
.searchLineItem .quarterMinuteTwoBoxArea {
  display:flex;
  flex-wrap:nowrap;
  flex-shrink:0;
  width:25%;
  align-items:center;
  gap: 5px;
}
.searchLineItem .quarterMinuteTwoAndBtnBox {
  flex-shrink:0;
  justify-content: end;
  position:absolute;
  right:1px;
  gap:5px;
}

.freeGrayLine label, .freeGrayLine > span {
  display:flex;
  align-items:center;
  margin-right:34px;
}
.freeGrayLine label:last-child, .freeGrayLine > span:last-child {
  margin-right:0;
}
.freeGrayLine label span.labelTitle, .freeGrayLine > span span.labelTitle {
  margin-right:5px;
  flex-shrink:0;
}



.table-accept-status tfoot.statusTotalCount td:nth-child(odd) {
  background-color: #f8f8f8;
  padding: 0 10px;  
}
.table-accept-status tfoot.statusTotalCount td {
  font-weight: 700 !important;
}
.table-accept-status tbody.tbodyRegionalOffice tr:last-child td {
  border-bottom:1px solid #777 !important;
}

/* 현황 테이블 관련 css */
table.statusTable>tbody>tr:last-child>td, 
table.statusTable>tfoot>tr:last-child>td,
table.statusTable>tbody>tr:last-child>th, 
table.statusTable>tfoot>tr:last-child>th {
  border-bottom: none;
}
table.statusTable {
  border-bottom: 1px solid #ddd;
}

@media (max-width:1024px) {
  /* 검색조건 소제목 크기 이슈로 인한 비율 수정 40->30 텍스트 가운데정렬 추가 */
  .freeGrayLine > span {
    margin: 10px 0 5px;
  }
  .freeGrayLine > span span.labelTitle {
    font-size:12px;
    font-weight:bold;
  }
  .freeGrayLine label span.labelTitle, .freeGrayLine > span span.labelTitle {
    width:30%;
    text-align:center;
    margin-left:0px !important;
  }
  .freeGrayLine label div {
    width:100%;
  }
  .freeGrayLine > span {
    width:100%;
    margin-right:0;
  }
}


.calWidth {
  width:128px !important;
}
.freeInputFromType {
  width:104px !important;
}

.searchFormBtnBox {
  padding:0;
  margin:0;
  display:flex;
  align-self:flex-start;
  width:122px;
  margin-right:23px;
  /* position: absolute; 
  right: 24px; 
  top: 0; 
  margin: 0; */
}
.spanFromDate {
  display:flex;
  width:20px !important;
  justify-content: center;
  flex-shrink:0;
  min-width:0 !important;
  font-size:14px;
}

.inputFromType {
  display:flex !important;
  width: calc((100% - 20px) / 2) !important;
}

.labelSearchForm {
  display:flex;
  align-items:center;
  width:200px;
}

.tablePopTbody tr {
  cursor: pointer;
}

@media (max-width:1024px) {
  .searchLineItem4 > span {
    font-size:12px;
    font-weight:bold;
    margin: 10px 0 5px;
  }
  .searchLineItem4 label, .searchLineItem4 > span {
    display:flex; 
    width:100%; 
    align-items:center; gap:5px;
  }
  .searchLineItem .spanLeftBox {
    width:100%;
    flex-wrap:wrap;
  }
  .box_gray .form-control.cal_input2 {
    width:calc((100% - 20px) / 2)  !important;
    background: url('../images/calendar.png') 97% center no-repeat #fff;
  }
  .searchLineItem label {
    width:100%;
    gap: 5px;
  }
  .searchLineItem label .transLineDiv {
    width:70%;
  }
  .searchLineItem > div > span {
    margin: 10px 0 5px !important;
  }
  .searchLineItem span span.labelTitle {
    font-size: 12px;
    font-weight: bold;  
  }  
  .searchLineItem label span.labelTitle, .searchLineItem span span.labelTitle {
    width:30%;
  }
  .searchLineItem .quarterMinuteTwoBoxArea {
    width:100%;
    flex-wrap:nowrap;
  }
  .searchLineItem .quarterMinuteTwoAndBtnBox {
    position:relative;													
  }
  .searchFormBtnBox {
    display:flex;
    align-self:flex-start;
    width:100%;
    justify-content:space-between;
    margin-right:0;    
  }
}
@media (max-width:520px) {
  .box_gray > div.searchLineItem4 {
    display:block;
  }
  .searchLineItem4 label {
    display:block;
  }
  .searchLineItem4 label span {
    display:block;
  }
  .searchLineItem4 > span {
    flex-wrap:wrap;
    gap:0px;
  }
  .searchLineItem4 > span span.labelTitle {
    justify-content: flex-start;
  }

  .searchLineItem {
    display:block;
  }

  .searchLineItem label {
    display:block;
  }

  .searchLineItem label span.labelTitle, .searchLineItem span span.labelTitle {
    display:block;
    text-align:left;
  }
  .searchLineItem label .transLineDiv {
    width:100%;
  }

  .searchLineItem .quarterMinuteTwoBoxArea, .freeGrayLine > span {
    flex-wrap: wrap;
  }

  .freeGrayLine label {
    flex-direction:column;
  }
  .freeGrayLine label span.labelTitle, .freeGrayLine > span span.labelTitle {
    display:flex;
    justify-content:start;
    align-self: start;
  }
}

/* 페이지네이션 박스 */
.pagenationAndButtonBox {
  display:flex; width:100%; flex-shrink: 0; flex-grow: 1;
}
.pagenationBox {
  flex-shrink: 0; flex-grow:1; justify-content:center; display:flex;
}
.buttonBox {
  display:flex; justify-self: end; margin-top:10px; flex-shrink: 0;
}
.buttonBox button {
  margin-right:5px;
}
.buttonBox button:last-child {
  margin-right:0px;
}

/* 관리자 메뉴 */
/* .lnb_wrap .lnb li.node1 > a.depth1 {
  padding: 0 18px; font-size:14px;
} */
.displayBlock {
  display:block !important;
}
.depth2BoxBg {
  background:rgba(0, 0, 0, 0);
  position:fixed;
  width:100%;
  height:100%;
  top:0;
  bottom:0;
  left:0;
  right:0;
  display:none;      
}
.depth2Box {
  display:none;
  position:absolute;
  top:60px;
  border:1px solid #ddd;
  border-top:none;
  border-radius:5px;
  width:auto;
  padding:0 20px;
  background:#fff;
  height:auto;
  z-index:999;
  color:#404040;
  box-shadow: 5px 5px 5px #bebebe;
}
.depth2Box a {
  display:block;
  width:100%;
  height:30px;
  line-height:32px;
  font-size:13px;
  text-align:left;
  background:white;
  color:#404040;
}
.depth2Box a:hover {
  color:#37a05a;
  text-decoration: none;
}

/* 셀렉트 박스 툴팁 확인 */
.useToolTipArea1, .useToolTipArea2 {
  position:absolute;
  top:0;
  width:100%;
  height:100%;
  z-index:1;
}
.useToolTipBox1, .useToolTipBox2 {
  position:relative;
  top:37px;
  text-align:left;
  min-width:250px;
  max-width:100%;
  height:auto;
  background:#fff;
  border:1px solid #ddd;
  padding:7px;
  overflow-y:auto;
  display:none;
  pointer-events: none;
  border-radius: 5px;
}
.useToolTipBox {
  position:absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align:left;
  min-width:250px;
  max-width:100%;
  height:auto;
  background: rgb(254, 251, 241);
  border: 1px solid rgb(251, 232, 172);
  padding:7px;
  overflow-y:auto;
  display:none;
  pointer-events: none;
  border-radius: 5px;
  z-index:1000;
}
.useToolTipBoxMap {
  position:absolute;
  display:none;
  width:auto;
  text-align:left;
  min-height:50px;
  height:auto;
  background: rgb(254, 251, 241);
  border: 1px solid rgb(251, 232, 172);
  padding:7px;
  overflow-y:auto;
  pointer-events: none;
  border-radius: 5px;
  z-index:1000;
}
ul.optionListMap {
  display:flex;
  flex-direction:column;
  width:auto;
  padding-left:0;
  margin-bottom:0 !important;
}
ul.optionListMap li {
  display:flex;
  width:600px;
  position:relative;
  list-style: none;
  padding:6px 0 6px 30px;
  border-top: 1px dashed #ddd;
  line-height: 22px;
  white-space:normal;
}
ul.optionListMap li span.optionListNumberMap {
  display:flex;
  position:absolute;
  white-space:normal;
  word-break: break-all;
  left:0;
}

.tooltipClass {
  position:relative;
}

/* .optionText {
  margin:0; padding:0;
} */
.optionList, .optionList2 {
  padding-left:0;
  margin-bottom:0 !important;
}
.optionList li, .optionList2 li {
  list-style: none;
  position:relative;
  padding:6px 0 6px 30px;
  border-top: 1px dashed #ddd;
  line-height: 22px;
}
.optionList li:first-child, .optionList2 li:first-child, .optionListMap li:first-child {
  border-top: 0;
}
.optionList li span.optionListNumber, .optionList2 li span.optionListNumber {
  display:inline-block;
  position:absolute;
  left:0;
}

.useToolTipBox2 {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: left;
		min-width: 500%;
		/* max-width: 100%; */
		height: auto;
		background: rgb(254, 251, 241);
		border: 1px solid rgb(251, 232, 172);
		padding: 7px;
		overflow-y: auto;
		display: none;
		pointer-events: none;
		border-radius: 5px;
		z-index: 1000;
	}
	.optionList li .optionList2 li, .optionListMap li {
		border-top: 1px dashed rgb(251, 232, 172);
	}
	@media (max-width:768px) {
		.useToolTipBox2 {
			min-width: 600%;
		}
    ul.optionListMap li {
      width: 100%;
    }
	}
	@media (max-width:520px) {
		.useToolTipBox2 {
			min-width: 400%;
		}
	}

/* .closeLayerPopup {
  position:fixed; right:10px; bottom:10px;
} */
/* .useToolTipBoxBg {
  background:rgba(0,0,0,0.5);
  display:none;
  position:fixed;
  left:0;
  right:0;
  top:0;
  bottom:0;
  z-index:1;
} */

.toggleBtn {
  font-size:14px; height:26px; margin-left:5px;
}
.vendorInquiry {
  padding:1px 6px;
}
.text2Input {
  width:calc(100% - 57px) !important;
}

.officeNumberFirst {
  padding:5px 12px 5px 5px; min-width:72px !important; width:72px !important;
}
.officeNumberInput {
  width:46px !important; padding:5px; text-align:center;
}
span.title {display:none;}
.color-red {
  color: red;
}
.textareaBox {
  ime-mode:active; border-color:#ddd;
}
.listUlForm li {
  list-style: none;
  border-top: 1px dashed #ddd;
  padding: 10px 5px;
}
.listUlForm li:first-child {
  border-top: 0;
}

label select, label input {
  font-weight:400;
}

/* .formAddFileBox {
  display:flex;
  flex-direction: column;
  width:100%;
} */
div.formAddfileLine {
  display:flex;
  flex-direction: row;
  align-items: center;
  width:100%;
  padding: 5px 0 !important;
  margin:0 !important;
  border-top: 1px dashed #ddd;
}
div.formAddfileLine:first-child {
  border-top:0;
}
.inputFile {
  width: calc(100% - 55px);
}

.cal_input {
  background: url(../images/calendar.png) 98% center no-repeat #fff !important;
}

.cal_input[readonly] {
  background: url(../images/calendar.png) 98% center no-repeat rgb(204,204,204) !important;
}
table.form_tb.popInfoTable tbody td {
  width: auto;
}
.box_gray select.form-control.periodHalf {
  width: calc(100% - 20px) !important;
}
.btnRemove {
  display:flex;
  width:28px;
  flex-shrink:0;
  justify-content:center;
}

/* 레이어팝업 위치저장 */
.layerLocation {
    display:none;
    position:absolute;
}
.layerLocationCts {
    position:fixed;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
    width:60%;
    min-height:534px;
    background:#fff;
    z-index:22;
}
.layerLocationTop {
    position: relative;
    height: 60px;
    padding-left: 20px;
    background: #37a05a;
    margin: 0;
    color: #fff;
    font-weight: normal;
    font-size: 22px;
    line-height: 60px;
}
.layerLocationContent {
    padding: 20px;
    height:385px;
    background:#f8f8f8;
}
.layerLocationBg {
    position:fixed;
    left:0;right:0;top:0;bottom:0;
    background:rgba(0,0,0,0.5);
    z-index:1;
}
.addFileType {
  letter-spacing:-0.05rem;
}

.oneToolTipBox {
  position:absolute;
  top:36px;
  left: 0px;
  transform: translate(0, 0);
  text-align:left;
  width:250px;
  height:auto;
  background: rgb(254, 251, 241);
  border: 1px solid rgb(251, 232, 172);
  padding:7px;
  overflow-y:auto;
  display:none;
  pointer-events: none;
  border-radius: 5px;
  z-index:1000;
}
.pluralToolTipBox {
  position:absolute;
  top:75%;
  left: 4px;
  transform: translate(0, 0);
  text-align:left;
  width:auto;
  height:auto;
  background: rgb(254, 251, 241);
  border: 1px solid rgb(251, 232, 172);
  padding:7px;
  display:none;
  pointer-events: none;
  border-radius: 5px;
  z-index:1000;
}
table.listTable .pluralToolTipBox {
  left: 100% !important; top: 0;
}
table.listTable .pluralToolTipBox.popupToolTip {
  left: -400px !important;
  top:0;
  /* transform: translate(0, 15px); */
}
table.listTable .tooltipLackOfPadding, table.listTable .pluralToolTipBox.popupToolTip.tooltipLackOfPadding {
  top: auto;
  bottom: 0px;
}

.pluralToolTipBox ul {
  display:flex;
  flex-direction:column;
  width:auto;
  height:auto;
  padding-left:0;
  margin-bottom:0;
}
.pluralToolTipBox ul.pa0 li {
  padding:6px;
}
.pluralToolTipBox ul li {
  display:flex;
  width:600px;
  position:relative;
  list-style: none;
  padding:6px 0 6px 30px;
  border-top: 1px dashed #ddd;
  line-height: 22px;
  white-space:normal;
}
.pluralToolTipBox ul li:first-child {
  border-top:none;
}
.pluralToolTipBox ul li span {
  display:flex;
  position:absolute;
  white-space:normal;
  word-break: break-all;
  left:0;
}
.buttonCssReset {
  background: inherit ; border:none; box-shadow:none; border-radius:0; padding:0; overflow:visible; cursor:pointer;
}
.requiredCheck::before {
  content:'*';
  display:inline-block;
  width:10px;
  height:10px;
  font-weight: bold;
  color: #ff0000;
  font-size: 17px;
  transform: translate(-5px, 0px);
  line-height: 12px;
  text-indent:0;  
}
.requiredCheck {
  display:inline-block;
  width:10px;
  height:10px;
  font-size:1px;
  overflow:hidden;
  text-indent: 5px;
  white-space:pre;
}

@media (max-width:1024px) {
  .tableTransform .pluralToolTipBox {
    top: 42px;
    left: calc(40% + 6px);
  }
  .tableTransform .pluralToolTipBox ul li {
    width: calc(100% - 8px);
  }
  .pluralToolTipBox {
    top:77%;
    left:4px;
  }

  .pluralToolTipBox ul.pa0 li, table.listTable .pluralToolTipBox ul li {
    width:400px;
  }
}

@media (max-width:768px) {
  .layerLocationCts {
    width:100%;
  }
  ul.optionListMap li {
    width: 100%;
  }
  .tableTransform .pluralToolTipBox {
    top: 84px;
    left: 10px;
  }
}

@media (max-width:520px) {
  .pluralToolTipBox ul.pa0 li, table.listTable .pluralToolTipBox ul li {
    width: 250px;
  }
}


/* 자주사용하는CSS */
.ta-center {
  text-align:center !important;
}
.ta-left {
  text-align:left !important;
}
.ta-right {
  text-align:right;
}
.align-center {
  align-items: center;
}
.justify-start {
  justify-content: start;
}
.justify-end {
  justify-content: end !important;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between !important;
}
.alignSelf-start {
  align-self: start;
}
.alignSelf-center {
  align-self: center;
}
.alignSelf-stretch {
  align-self: stretch;
}
.alignSelf-end {
  align-self: end;
}
.align-center {
  align-items: center;
}
.position-relative {
  position:relative;
}
.position-absolute {
  position:absolute;
}
.right1 {
  right:1px;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.flex-shrink0 {
  flex-shrink: 0;
}
.flex-shrink1 {
  flex-shrink: 1 !important;
}
.gap4 {
  gap: 4px;
}
.gap5 {
  gap: 5px;
}
.pa0 {
  padding:0 !important;
}
.py0 {
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.py10 {
  padding: 10px 0 !important;
}
.ma0 {
  margin:0 !important;
}
.ml3 {
  margin-left:3px;
}
.ml4 {
  margin-left:4px !important;
}
.ml10 {
  margin-left:10px !important;
}
.ml20 {
  margin-left:20px !important;
}
.ml25 {
  margin-left:25px !important;
}
.mr3 {
  margin-right:3px;
}
.mr4 {
  margin-right:4px !important;
}
.mr10 {
  margin-right:10px !important;
}
.mr20 {
  margin-right:20px !important;
}
.mr28 {
  margin-right:28px !important;
}
.mr100 {
  margin-right:100px !important;
}
.mt4 {
  margin-top:4px;
}
.mt5 {
  margin-top:5px;
}
.mt10 {
  margin-top:10px !important;
}
.mt20 {
  margin-top:20px !important;
}
.mb0 { 
  margin-bottom:0px !important; 
}
.mb5 {
  margin-bottom:5px !important;
}
.mb10 {
  margin-bottom:10px !important; 
}
.mb20 {
  margin-bottom:20px !important; 
}
.top80p {
  top:80% !important;
}
.inputWith2Hyphen {
  width:calc((100% - 26px) / 3) !important;
}
.w25 {
  width: 25% !important;
}
.minW30 {
  min-width: 30% !important;
}
.w100 {
  width: 100% !important;
}
.w140px {
  width:140px !important;
}
.w161px {
  width:161px !important;
}
.h80px {
  height:80px;
}
.h50 {
  height:50% !important;
}
.h212px {
  height:212px;
}
.h304px {
  height:304px;
}
.h320px {
  height:320px;
}
.h554px {
  height:554px;
}
.overflowYScroll {
  overflow-y: scroll;
}
.overflowYauto {
  overflow-y: auto;
}
.inputQuantityYear {
  width: calc((100% - 60px) / 2) !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-block {
  display: block !important;
}
.d-inlineBlock {
  display: inline-block;
}
.d-flex {
  display: flex !important;
}
.d-none {
  display: none !important;
}

.tableLayout-fixed {
  table-layout: fixed;
}

.flex-row {
  flex-direction: row;
}
.flex-column {
  flex-direction: column;
}
.colorGreen {
  color: rgb(0, 128, 0) !important;
}
.colorRed {
  color: rgb(255,0,0) !important;
}
.colorBlue {
  color: rgb(0, 0, 255) !important;
}
.bgColorWhite {
  background-color: #fff !important;
}

.bgColorTrSelect {
  background-color: #00a1ff30 !important;
}
.bgF6 {
  background:#f6f6f6;
}

.borderB-none {
  border-bottom: 0px !important;
}
.borderTop2Green {
  border-top: 2px solid #37a05a;
}
.wordBreakAll {
  word-break: break-all;
}

@media (max-width:1024px) {
  .borderTop2Green {
    border-top: 2px solid #37a05a !important;
  }
}

.pointer {
  cursor: pointer;
}
.cursorDefault {
  cursor: default;
}

.fontBold {
  font-weight:700;
}