@charset "UTF-8";
/*******************************************************************
	jqxgrid Custom
********************************************************************/
/*22-08-23 추가*/
.jqx-grid input.popup {
  background-size: auto !important;
  cursor: pointer;
  background: #eaece7 url(/images/icn-books.png) no-repeat right 7px center;
  border-left: 1px solid #e1e1e1;
}
/*//22-08-23 추가*/

.jqxgrid_diff {
	color: #e0205c !important;
}

.jqxgrid_disable {
	color: #999 !important;
}

.jqxgrid_edit {
  /*background-color: #fff6f9 !important;*/ /*220707 수정*/
}

/*applied to a pinned grid cell.*/
.jqx-grid-cell-pinned {
	 background-color: #fff; 
}

/*
body .jqx-widget-content .jqx-grid-column-sortascbutton {
  border-left: 1px solid #dde4ec;
  background-color: #edf2f7;
}

body .jqx-widget .jqx-grid-column-filterbutton {
	border-left: 0px solid #dde4ec;
	background-color: #edf2f7;
	margin-top: 0px;
}

body .jqx-widget-content .jqx-grid-column-sortdescbutton,
body .jqx-widget-content .jqx-grid-column-menubutton {
  border-left: 1px solid #dde4ec;
  background-color: #edf2f7;
}
*/

body .jqx-widget-content .jqx-grid-column-header {
  background: #edf2f7;
}

body .jqx-widget-content .jqx-widget-header {
  border-color: #dde4ec;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 13px;
  line-height: 14px;
  color: #595b5e;
  background: #edf2f7;
}

/*
body .jqx-input-material input, input[type="text"].jqx-input-material, input[type="password"].jqx-input-material,
	input[type="text"].jqx-widget-content-material, input[type="textarea"].jqx-widget-content-material,
	textarea.jqx-input-material {
	font-size: 14px;
	resize: none;
	background: #fff;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	box-shadow: none;
}
*/

body .jqx-listitem-state-hover-arctic,
body .jqx-menu-item-hover-arctic,
body .jqx-tree-item-hover-arctic,
body .jqx-calendar-cell-hover-arctic,
body .jqx-grid-cell-hover-arctic,
body .jqx-menu-vertical-arctic .jqx-menu-item-top-hover-arctic,
body .jqx-input-popup-arctic .jqx-fill-state-hover-arctic,
body .jqx-input-popup-arctic .jqx-fill-state-pressed-arctic {
  color: #777 !important;
  border-color: #eff9fb !important;
  background-color: #eff9fb;
  text-shadow: none;
}

.jqx-widget-material, .jqx-widget-header-material, .jqx-fill-state-normal-material, .jqx-widget-content-material, .jqx-fill-state-hover-material, .jqx-fill-state-pressed-material,
body .jqx-widget-header-material,
body .jqx-widget-content-material {
  font-family: Noto Sans KR,arial,Malgun Gothic,Arial,Doutm,Tahoma,sans-serif;
}

body .jqx-widget-content {
  border-radius: 0;
  border-color: #d9e1e9;
  font-family: 'Noto Sans KR', arial, SpoqaHanSansNeo, Malgun Gothic, Arial, Doutm, Tahoma, sans-serif;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /*font-size: 10px;*/
  color: #777;
}
body .jqx-widget-content .red {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: red;
  vertical-align: middle;
}
body .jqx-widget-content .yellow {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: yellow;
  vertical-align: middle;
}
body .jqx-widget-content .green {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: green;
  vertical-align: middle;
}
body .jqx-widget-content .up-arrow {
  display: inline-block;
  width: 12px;
  height: 12px;
  text-align: center;
}
body .jqx-widget-content .up-arrow::before {
  content: '\e04b';
  font-family: SAP-icons;
  font-size: 10px;
}
body .jqx-widget-content .down-arrow {
  display: inline-block;
  width: 12px;
  height: 12px;
  text-align: center;
}
body .jqx-widget-content .down-arrow::before {
  content: '\e04e';
  font-family: SAP-icons;
  font-size: 10px;
}
body .jqx-widget-content .icon {
  display: block;
  text-align: center;
}
body .jqx-widget-content .icon::before {
  content: '';
  display: inline-block;
  font-size: 13px;
  /* font-weight: bold; */ /*220714 수정*/
  color: #333;
}
body .jqx-widget-content .icon.file::before {
  content: '\e04a';
  width: 16px;
  height: 16px;
  font-family: SAP-icons;
  /* color: #333; */ /*220714 수정*/
}
body .jqx-widget-content .icon.create::before {
  width: 16px;
  height: 16px;
  background: url(/images/icon_grid_create.png) no-repeat center center;
}
body .jqx-widget-content .icon.change::before {
  width: 16px;
  height: 16px;
  background: url(/images/icon_grid_change.png) no-repeat center center;
}
body .jqx-widget-content .icon.display::before {
  width: 16px;
  height: 16px;
  background: url(/images/icon_grid_display.png) no-repeat center center;
}
body .jqx-widget-content .icon.delete::before {
  width: 16px;
  height: 16px;
  background: url(/images/icon_grid_delete.png) no-repeat center center;
}
body .jqx-widget-content .icon.error::before {
  width: 16px;
  height: 16px;
  background: url(/images/icon_error_small.png) no-repeat center center;
}

/*220713 추가*/
body .jqx-widget-content .icon.error > span {
  display: none;
}
/*//220713 추가*/

body .jqx-widget-content .jqx-listitem-state-selected-arctic,
body .jqx-widget-content .jqx-menu-item-selected-arctic,
body .jqx-widget-content .jqx-tree-item-selected-arctic,
body .jqx-widget-content .jqx-calendar-cell-selected-arctic,
body .jqx-widget-content .jqx-grid-cell-selected-arctic,
body .jqx-widget-content .jqx-menu-vertical-arctic .jqx-menu-item-top-selected-arctic,
body .jqx-widget-content .jqx-grid-selectionarea-arctic,
body .jqx-widget-content .jqx-input-button-header-arctic,
body .jqx-widget-content .jqx-input-button-innerHeader-arctic {
  color: #777 !important;
  border-color: #eceff3 !important;
  text-shadow: none;
  background-color: #f7f7f7;
}
body .jqx-widget-content .jqx-grid-cell {
  border-color: #eceff3;
  font-size: 13px;
  font-weight: 400;
  color: #333;
}
body .jqx-widget-content .jqx-grid-cell:hover,
body .jqx-widget-content .jqx-grid-cell.jqx-grid-cell-hover, 
body .jqx-widget-content .jqx-grid-cell.jqx-fill-state-pressed {
  /* background: #eff9fb; */ font-family: Noto Sans KR;
}

body .jqx-widget-content .jqx-grid-cell-left-align {
  margin: 0 5px;
}
body .jqx-widget-content .jqx-grid-cell-left-align > img {
  max-width: 80%;
}
body .jqx-widget-content .jqx-grid-cell-left-align a {
  text-decoration: underline;
  color: #000;
}
body .jqx-widget-content .jqx-grid-cell-left-align a > img {
  max-width: 80%;
  width: auto;
}
body .jqx-widget-content .jqx-grid-column-sortascbutton {
  border-left: 1px solid #dde4ec;
  background-color: #edf2f7;
}
body .jqx-widget-content .jqx-grid-column-sortdescbutton,
body .jqx-widget-content .jqx-grid-column-menubutton {
  border-left: 1px solid #dde4ec;
  background-color: #edf2f7;
}
body .jqx-widget-content .jqx-grid-column-header {
  background: #edf2f7;
}
body .jqx-widget-content .jqx-widget-header {
  border-color: #dde4ec;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 13px;
  line-height: 14px;
  color: #595b5e;
}
body .jqx-widget-content .jqx-position-absolute {
  z-index: 1;
}

/*22-09-07 그리드 하단 스크롤바 높이값 수정*/
/*20221218 그리드 하단 화살표가 밀려서 안보이는 문제 발생으로 개발자가 임시 주석처리함
  문제 발생시 이방식 사용은 위험 왜 이CSS가 들어갔는지 몰라서 다른 작업 못함   */
/* body .jqx-widget-content .jqx-scrollbar-material {
    top: unset !important;
    bottom: 3px !important;
} */
/*//22-09-07 그리드 하단 스크롤바 높이값 수정*/

body .jqx-widget-content .jqx-scrollbar-state-normal {
  background: #edf2f7;
}
body .jqx-widget-content .jqx-checkbox-default.jqx-fill-state-normal {
  width: 16px;
  height: 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0;
  border: 0;
  background: url(/images/checkbox.png) no-repeat;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*22-08-26 체크박스 disabled 추가*/
/*22-08-30 체크박스 disabled 수정*/
body .jqx-widget-content .jqx-checkbox-default.jqx-fill-state-normal.disabled {
	width: 16px;
  	height: 16px;
  	background: url(/images/checkbox_disabled.png) no-repeat 0 0;
}
body .jqx-widget-content .jqx-checkbox-default.jqx-fill-state-normal.disabled .jqx-checkbox-check-checked {
	background: url(/images/checked_disabled.png) no-repeat 0 0;
}
/*//22-08-26 체크박스 disabled 추가*/
/*//22-08-30 체크박스 disabled 수정*/

body .jqx-widget-content .jqx-checkbox-default .jqx-checkbox-check-checked-arctic,
body .jqx-widget-content .jqx-checkbox-default .jqx-checkbox-check-checked {
  background: url(/images/checked.png) no-repeat;
}
body .jqx-widget-content .jqx-checkbox-default .jqx-checkbox-check-indeterminate {
  background: url(/images/checked_half.png) no-repeat center center;
}

/*22-08-25 checkbox 추가*/
.jqx-grid .grid-checkbox-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  border: 0 !important;
  background: transparent; /*22-09-01 추가*/
}
.jqx-grid .grid-checkbox {
    display: flex;
    padding: 0;
    width: 16px;
  	height: 16px;
  	background: url(/images/checkbox_disabled.png) no-repeat 0 0;
}
.jqx-grid .grid-checkbox.checked {
  background: url(/images/checked_disabled.png) no-repeat 0 0;
}
.jqx-grid .jqxgrid_edit .grid-checkbox {
	background: url(/images/checkbox.png) no-repeat 0 0;
}
.jqx-grid .jqxgrid_edit .grid-checkbox.checked {
	background: url(/images/checked.png) no-repeat 0 0;
}
/*//22-08-25 checkbox 추가*/

body .jqx-widget-content .jqx-grid-selectionarea + span {
  display: none !important;
}
body .jqx-widget-content .link-type {
  /* position: relative; */
  position: absolute; /*220713 수정*/
  top:0; /*220713 추가*/
  right:0; /*220713 추가*/
  z-index: 2000; /*220713 추가*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 0 5px;
}
body .jqx-widget-content .link-type.editing {
  width:20px !important;
}
body .jqx-widget-content .link-type .txt {
  display: inline-block;
  max-width: calc(100% - 20px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
}
body .jqx-widget-content .link-type .del-btn {
  display: inline-block;
  width: 10px;
  height: 30px;
  margin: -2px 0 0 5px;
  background: url(/images/icon_register_cancle.png) no-repeat center center;
}
body .jqx-widget-content .link-type .pop-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
  height: 100%;
  border-left: 1px solid #e1e1e1;
  background: #eaece7 url(/images/icn-books.png) no-repeat center center;
}
body .jqx-widget-content a.txt-icon {
  display: block;
  max-width: 100%;
  height: 16px;
  padding-right: 15px;
  background: url(/images/icn-books.png) no-repeat right center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
}
body .jqx-widget-content a.down-icon {
  display: block;
  height: 16px;
  text-align: center;
}
body .jqx-widget-content a.down-icon::before {
  display: inline-block;
  content: '\e03a';
  font-family: SAP-icons;
  color: #333;
}
body .jqx-widget-content a.up-icon {
  display: block;
  height: 16px;
  text-align: center;
}
body .jqx-widget-content a.up-icon::before {
  display: inline-block;
  content: '\e12e';
  font-family: SAP-icons;
  color: #333;
}

/*220620 추가*/
body .jqx-widget-content a.del-icon {
  display: block;
  height: 16px;
  text-align: center;
  float:right;
  margin-left: 6px;
}
body .jqx-widget-content a.del-icon::before {
  display: inline-block;
  content: '\e03d';
  font-family: SAP-icons;
  color: #333;
}
/*//220620 추가*/

.jqx-menu-wrapper .jqx-menu ul {
  padding: 5px 2px;
  background-color: #fff;
}
.jqx-menu-wrapper .jqx-menu ul li.jqx-fill-state-hover {
  background: #f4f8fb;
}
.jqx-menu-wrapper .jqx-menu ul li {
  color: #000;
}
.jqx-menu-wrapper .jqx-menu ul .jqx-fill-state-focus {
  border-color: #a3a3a3;
}

/*220707 추가*/
.jqx-grid-cell-selected {
	background: #dcf2fd !important;
}
.jqx-fill-state-pressed {
	background: #dcf2fd;
}
.jqx-scrollbar-state-normal .jqx-fill-state-pressed,
.jqx-scrollbar-state-normal-material .jqx-fill-state-pressed {
	background: #e6e6e6;
}
.jqxgrid_edit > div,
.jqx-grid-cell-edit > div {
    margin: 4px 5px 0 5px !important;
    width: calc(100% - 10px) !important;
    height: 25px !important;
    padding: 0 3px !important;
    line-height: 24px;
    border: 1px solid #cccc !important;
    background: #fffdea; /*22-09-16 수정*/
    box-shadow: inset 0 0px 0px rgb(0 0 0 / 0%);
    -webkit-box-shadow: inset 0 0px 0px rgb(0 0 0 / 0%);
}
/*22-09-21 추가*/
.jqxgrid_edit > input,
.jqx-grid-cell-edit > input {
    margin: 4px 5px 0 5px !important;
    width: calc(100% - 10px) !important;
    height: 25px !important;
    padding: 0 3px !important;
    line-height: 24px;
    border: 1px solid #cccc !important;
    background: #fff;
    box-shadow: inset 0 0px 0px rgb(0 0 0 / 0%);
    -webkit-box-shadow: inset 0 0px 0px rgb(0 0 0 / 0%);
}
/*//22-09-21 추가*/
.jqxgrid_edit > div .jqx-dropdownlist-content,
.jqxgrid_edit > div .jqx-disableselect,
.jqxgrid_edit > input .jqx-dropdownlist-content,
.jqxgrid_edit > input .jqx-disableselect,
.jqx-grid-cell-edit > div .jqx-dropdownlist-content,
.jqx-grid-cell-edit > div .jqx-disableselect,
.jqx-grid-cell-edit > input .jqx-dropdownlist-content,
.jqx-grid-cell-edit > input .jqx-disableselect {
	margin:0 !important;
}


/* .jqx-listitem-state-selected-material, .jqx-menu-item-selected-material, .jqx-tree-item-selected-material, .jqx-calendar-cell-selected-material, .jqx-grid-cell-selected-material, .jqx-menu-vertical-material .jqx-menu-item-top-selected-material, .jqx-grid-selectionarea-material, .jqx-input-button-header-material, .jqx-input-button-innerHeader-material {
    color: #000 !important;
    font-weight: bold !important;
    border-color: #ffcede !important;
    background: #ffe2eb;
    box-shadow: none;
} */
/* .jqxgrid_edit > div,
.jqxgrid_edit > input {
  margin: 4px 5px 0 5px !important;
  width: calc(100% - 10px) !important;
  height: 25px !important;
  padding: 0 3px !important;
  line-height: 24px;
  border: 1px solid #cccc !important;
  background:#fff;
  box-shadow: inset 0 0px 0px rgb(0 0 0 / 0%);
  -webkit-box-shadow: inset 0 0px 0px rgb(0 0 0 / 0%);
} */
/* .jqx-grid-cell-selected-material ~ .jqxgrid_edit .jqx-grid-cell-left-align {
    border: 1px solid #ffcede;
} */
/*//220707 추가*/

/*//220712 추가*/
.jqx-grid-statBox {
    padding: 3px 8px;
    background: #eee;
    border-radius: 30px;
    text-align: center;
    min-width: 86px;
    max-width: max-content;
    letter-spacing: 0.8px;
    font-size:12px;
}
.jqx-grid-statBox.stat-green {
    background: #19A979;
    color: #fff;
}
.jqx-grid-statBox.stat-yellowGreen {
    background: #78a919;
    color: #fff;
}
.jqx-grid-statBox.stat-orangeGreen {
    background: #a99e19;
    color: #fff;
}
.jqx-grid-statBox.stat-orange {
    background: #E9730C;
    color: #fff;
}
.jqx-grid-statBox.stat-gray {
    background: #999;
    color: #fff;
}
.jqx-grid-statBox.stat-red {
    background: #DC0D0E;
    color: #fff;
}
.jqx-grid-statBox.stat-cell {
    margin: 6px auto;
}
/*//220712 추가*/

/*//220713 추가*/
.jqx-tooltip, .jqx-tooltip-text, .jqx-tooltip-main {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -moz-background-clip: padding;
    background-clip: padding-box;
    -webkit-background-clip: padding-box;
    
    text-align: left;
    font-size: 13px;
    background: #e0205c !important;
    border: 0;
    color: #fff;
    border-radius: 3px;
    max-width: 1000px;
    padding: 0px 2px;
    box-sizing: border-box;
}
.jqx-tooltip-text {
    background: #e0205c;
    padding: 10px;
    box-sizing: border-box;
}
.jqx-tooltip-text div {
	text-align: left;
	margin-top: 0 !important;
}
.jqx-tooltip .jqx-tooltip-arrow {
    border-color: #e0205c;
    margin-left: -5px;
}
.jqx-grid-cell-edit {
position:relative;
}
/*//220713 추가*/

/*220719 추가*/
.jqx-grid-cell-middle-left {
    padding-left: 8px;
}
/*//220719 추가*/

/*220719 grid row copy 추가*/
div[id^="row"] .copySelected {
    background: #d0d5d9;
    font-weight: bold;
}
/*//220719 grid row copy 추가*/

/*220726 grid datetime 추가*/
.jqx-datetimeinput-material input {
    width: calc(100% - 44px) !important;
    font-size: 12px !important;
    padding: 4px 3px !important;
}
.jqx-datetimeinput-material .jqx-input-bar {
    top: 24px !important;
}
.jqx-datetimeinput-material .jqx-action-button-material {
    margin-left: -14px;
}
/*//220726 datetime 추가*/

/*22-09-21 datetime 영역 width값 추가*/
.jqx-max-size .jqx-datetimeinput-material input {
    width: 100% !important;
}
/*//22-09-21 datetime 영역 width값 추가*/

/*220726 grid combobox 추가*/
/* .jqx-combobox-material {
	width: 93px !important;
} */
.jqx-combobox-material .jqx-combobox-content-material {
    height: 23px !important;
    width: 100% !important;
}
.jqx-combobox-material .jqx-combobox-content-material input {
    height: 23px !important;
}
.jqx-combobox-material .jqx-input-bar {
    top: 23px !important;
    display: none; /*22-08-19 추가*/
}

/*22-08-19 추가*/
.jqx-input-bar-material:before {
    content: '';
    height: 2px;
    width: 0;
    bottom: 0px;
    position: absolute;
    background: #e0205c;
    transition: 300ms ease all;
    left: 0%;
}
/*//22-08-19 추가*/

.jqx-combobox-material .jqx-combobox-arrow-normal-material {
    margin-left: -18px !important;
    height: 23px !important;
}
/*//220726 grid combobox 추가*/

/*220726 grid dropdown 추가*/
.jqx-grid-content .jqx-dropdownlist {
    background: #fff;
}
.jqx-grid-content .jqx-dropdownlist .jqx-dropdownlist-content ~ div {
    position: absolute !important;
    top: 0;
    right: 0;
    height: 23px !important;
}
.jqx-grid-content .jqx-dropdownlist .jqx-dropdownlist-content ~ .jqx-input-bar {
    top: 23px !important;
}
/*//220726 grid dropdown 추가*/

/*220727 grid editinput 추가*/
.jqx-grid .jqx-grid-cell-edit input.active {
  background-size: auto !important;
  cursor: pointer;
  background: #eaece7 url(/images/icn-books.png) no-repeat right 7px center;
  border-left: 1px solid #e1e1e1;
}
/*//220727 grid editinput 추가*/

/*220727 grid pop link icon show/hidden 추가*/
.jqxgrid_edit.jqx-item .link-type a.link-icon {
	display: block !important;
}
.jqx-item .link-type a.link-icon {
    display: none;
}
/*//220727 grid pop link icon show/hidden 추가*/

/*220727 추가*/
.jqxgrid_updated {
background-color: yellow !important;
}
/*//220727 추가*/

/*220728 추가*/
.jqx-grid-content .bg-cell-core {
    background: #e5eeff;
}
.jqx-grid-content .bg-cell-attach {
    background: #efe4ff;
}
/*//220728 추가*/

/*22-08-22 combobox 추가*/
.jqx-grid .jqx-combobox .jqx-input-label-material {
    color: #E0E0E0;
    font-size: 14px;
    font-weight: normal;
    position: absolute;
    pointer-events: none;
    left: 2px;
    top: calc(50% - 12px);
    transition: 300ms ease all;
}
.jqx-grid .jqx-combobox .jqx-input-label.focused {
	display: none;
}
/*//22-08-22 combobox 추가*/

/*22-11-30 grid popup column 추가*/
.jqx-grid .jqx-grid-cell-edit .multi-group {
	position: relative;
	width: 100%;
	height: 27px;
	border: 1px solid #BEC9D4;
	background: #f4f8fb;
	padding: 0 20px 0 10px;
	font-size: 13px;
	border-radius: 2px;
	
	background: #eaece7 url(/images/icn-books.png) no-repeat right 7px center;
	background-size: auto;
	cursor: pointer;
}

.jqx-grid .jqx-grid-cell-edit .multi-group .txt-cnt .txt-btn {
	position: relative;
	display: inline-block;
	height: 25px;
	font-size: 13px;
	line-height: 25px;
	vertical-align: top;
	padding-right: 20px;
	width: calc(100% - 17px);
}

.jqx-grid .jqx-grid-cell-edit .multi-group .txt-cnt .txt-btn .txt-btn-list { 
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.jqx-grid .jqx-grid-cell-edit .multi-group .txt-cnt .txt-btn > button {
	position: absolute;
	top: 1px;
	right: 0;
	width: 20px;
	height: 23px;
}

.jqx-grid .jqx-grid-cell-edit .multi-group .txt-cnt .txt-btn > button::before {
	content: '\e03e';
	display: block;
	font-size: 15px;
	font-family: SAP-icons;
	color: #aaa;
}
/*//22-11-30 grid popup column 추가*/

.jqx-grid input.jqx-filter-input {
	background: #f9eeee;
	border : 1px solid #dbd1d1;
}

/*20230418 cell row merge 관련 추가 */
.marginF{ 
    background-color:#ffffff !important;
    border-bottom-color:#ffffff !important;
    overflow:visible;
}
.marginF div{ 
    background-color:#ffffff !important;
    border-bottom-color:#ffffff !important;
    overflow-y:visible !important;
}
.marginM{
    background-color:#ffffff !important;
    border-bottom-color:#ffffff !important;
}
.marginE{
    background-color:#ffffff !important;
}

.jqx-grid-content div[role="row"]:not(:first-child) .marginM{
    color:#FFFFFF !important;
}
.jqx-grid-content div[role="row"]:not(:first-child) .marginE{
    color:#FFFFFF !important;
}
/*//20230418 cell row merge 관련 추가 */