@charset "utf-8";

/*!
 * app.css
 */

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set nanum square web font
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
@font-face {
	font-family: 'NanumSquare';
	font-weight: 400;
	src: url(/css/font/NanumSquareR.eot);
	src: url(/css/font/NanumSquareR.eot?#iefix) format('embedded-opentype'),
	     url(/css/font/NanumSquareR.woff) format('woff'),
	     url(/css/font/NanumSquareR.ttf) format('truetype');
}

@font-face {
	font-family: 'NanumSquare';
	font-weight: 700;
	src: url(/css/font/NanumSquareB.eot);
	src: url(/css/font/NanumSquareB.eot?#iefix) format('embedded-opentype'),
	     url(/css/font/NanumSquareB.woff) format('woff'),
	     url(/css/font/NanumSquareB.ttf) format('truetype');
}

@font-face {
	font-family: 'NanumSquare';
	font-weight: 800;
	src: url(/css/font/NanumSquareEB.eot);
	src: url(/css/font/NanumSquareEB.eot?#iefix) format('embedded-opentype'),
	     url(/css/font/NanumSquareEB.woff) format('woff'),
	     url(/css/font/NanumSquareEB.ttf) format('truetype');
}

@font-face {
	font-family: 'NanumSquare';
	font-weight: 300;
	src: url(/css/font/NanumSquareL.eot);
	src: url(/css/font/NanumSquareL.eot?#iefix) format('embedded-opentype'),
	     url(/css/font/NanumSquareL.woff) format('woff'),
	     url(/css/font/NanumSquareL.ttf) format('truetype');
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set "Nots Sans" web font
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] https://google-webfonts-helper.herokuapp.com/fonts/noto-sans-kr?subsets=korean,latin
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */

/* noto-sans-kr-300 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 300;
  src: url('/css/font/noto-sans-kr-v27-latin_korean-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/css/font/noto-sans-kr-v27-latin_korean-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/css/font/noto-sans-kr-v27-latin_korean-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-300.woff') format('woff'), /* Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/css/font/noto-sans-kr-v27-latin_korean-300.svg#NotoSansKR') format('svg'); /* Legacy iOS */
}
/* noto-sans-kr-500 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 500;
  src: url('/css/font/noto-sans-kr-v27-latin_korean-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/css/font/noto-sans-kr-v27-latin_korean-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/css/font/noto-sans-kr-v27-latin_korean-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-500.woff') format('woff'), /* Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/css/font/noto-sans-kr-v27-latin_korean-500.svg#NotoSansKR') format('svg'); /* Legacy iOS */
}
/* noto-sans-kr-regular - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 400;
  src: url('/css/font/noto-sans-kr-v27-latin_korean-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/css/font/noto-sans-kr-v27-latin_korean-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/css/font/noto-sans-kr-v27-latin_korean-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-regular.woff') format('woff'), /* Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/css/font/noto-sans-kr-v27-latin_korean-regular.svg#NotoSansKR') format('svg'); /* Legacy iOS */
}
/* noto-sans-kr-700 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 700;
  src: url('/css/font/noto-sans-kr-v27-latin_korean-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/css/font/noto-sans-kr-v27-latin_korean-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/css/font/noto-sans-kr-v27-latin_korean-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-700.woff') format('woff'), /* Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/css/font/noto-sans-kr-v27-latin_korean-700.svg#NotoSansKR') format('svg'); /* Legacy iOS */
}
/* noto-sans-kr-900 - latin_korean */
@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 900;
  src: url('/css/font/noto-sans-kr-v27-latin_korean-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/css/font/noto-sans-kr-v27-latin_korean-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/css/font/noto-sans-kr-v27-latin_korean-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-900.woff') format('woff'), /* Modern Browsers */
       url('/css/font/noto-sans-kr-v27-latin_korean-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/css/font/noto-sans-kr-v27-latin_korean-900.svg#NotoSansKR') format('svg'); /* Legacy iOS */
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] bootstrap icons
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-svg-bootstrap-icons {
	margin: 0; padding: 0; box-sizing: border-box; display: none;
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set minimum viewport
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-ui-container {
	min-width: 1200px;
}

.app-section {
	margin: 0; padding: 0; box-sizing: border-box; width: 100%;
}

.app-inline-form {
	margin: 0; padding: 0; box-sizing: border-box;
	display: inline-block;
	float: left;
}

.app-inline-form-group.two-6-4 .app-inline-form:first-of-type {
	width: 60%
}

.app-inline-form-group.two-6-4 .app-inline-form:last-child {
	width: calc(40% - 0.5rem);
	margin-left: 0.5rem;
}

.app-inline-form-group.two-4-6 .app-inline-form.two-4 {
	width: 40%
}

.app-inline-form-group.two-4-6 .app-inline-form:last-child {
	width: calc(60% - 0.5rem);
	margin-left: 0.5rem;
}

.app-inline-form-group.two-5-5 .app-inline-form {
	max-width: calc(50% - 0.25rem);
}

.app-inline-form-group.two-5-5 .app-inline-form:first-child {
	float: left;
}

.app-inline-form-group.two-5-5 .app-inline-form:last-child {
	float: right;
}

.app-inline-form-group.three-3-3-3 .app-inline-form-txt .form-control {
	width: 50px;
	margin: 0.5rem;
}

.app-inline-form-group.three-3-3-3 .app-inline-form-txt .form-control:first-child {
	float: left;
	margin-right: 0.5rem;
}

.app-inline-form-group.three-3-3-3 .app-inline-form-txt .form-control:last-child {
	float: right;
	margin-left: 0.5rem;
}

.app-inline-form-txt > .app-inline-form {
	margin-top: 15px;
}
/*
.app-inline-form .form-control {
	margin-top: 7.5px;
}
*/

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set indicators
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * <div class="app-indicator-mask-overlay off">
 *      <div class="app-indicator-mask">
 *          <button class="btn btn-primary" type="button" disabled>
 *              <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
 *              Loading...
 *          </button>
 *      </div>
 *  </div>
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-indicator-mask-overlay, .app-indicator-mask {
	margin: 0; padding: 0; box-sizing: border-box;
}

.app-indicator-mask-overlay.off {
	display: none;
}

.app-indicator-mask-overlay {
	position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999999;
	width: 100%; height: 100%;
	background: rgba(0, 0, 0, 0.1);
}

.app-indicator-mask {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set positions
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-pos-center {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
}

.app-pos-right {
	position: absolute; top: 50%; right: 0%; transform: translate(0%, -50%);
}

.app-pos-left {
	position: absolute; top: 50%; left: 0%; transform: translate(0%, -50%);
}

.app-pos-relative {
	position: relative;
}

.app-pos-absolute {
	position: absolute;
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set grid cell text alignment
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-grid-header-text-center > .b-grid-header-text > .b-grid-header-text-content {
	text-align: center;
}

.app-grid-header-text-right > .b-grid-header-text > .b-grid-header-text-content {
	text-align: right;
}

.app-grid-header-text-left > .b-grid-header-text > .b-grid-header-text-content {
	text-align: left;
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set grid cell styles
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-grid-cell-editable {
	background-color: rgba(247, 247, 247, 1);
}

.b-grid-row.b-selected .app-grid-cell-editable {
	background-color: rgba(254, 172, 49, .0);
}

.app-grid-cell-openable-form {
	background-color: rgba(237, 245, 251, 1);
	color: #333333;
}

.b-grid-row.b-selected .app-grid-cell-openable-form {
	background-color: rgba(254, 172, 49, .0);
}

.app-grid-cell-editable-inline {
	background-color: rgba(237, 245, 251, 1);
	color: #333333;
}

.b-grid-row.b-selected .app-grid-cell-editable-inline {
	background-color: rgba(254, 172, 49, .0);
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set "web editor"
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-web-editor-textarea {
	margin: 0; padding: 0; box-sizing: border-box; width: 100%;
	border: 1px solid #cccccc; border-radius: 10px;
}

.app-web-editor-disable {
	padding: 20px; border: 1px solid #cccccc; border-radius: 10px;
}

.app-web-editor-disable table {
    border: none;
    border-collapse: collapse;
    empty-cells: show;
    max-width: 100%;
}

.app-web-editor-disable table td, .app-web-editor-disable table th {
	border: 1px solid #dddddd;
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set "disabled cursor" style
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
[data-click-disabled="Y"] {
	cursor: not-allowed!important;
	pointer-events: none;
}

.btn-group label[data-click-disabled="Y"] {
	cursor: not-allowed!important;
	pointer-events: none;
	opacity: 0.75;
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set form-group
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-form-group label {
	padding-left: .7rem!important;
	margin-bottom: 0!important;
	width: 100%!important;
	font-size: 0.8750rem;
	
}

/**
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 * [*] set calendar from ~ to
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
.app-calendar:not(.single) {
	max-width: calc(50% - 6px);
}

.app-calendar.calendar-from {
	float: left;
}

.app-calendar.calendar-to {
	float: right;
}

.app-calendar .calendar-input {
	padding-left: 0px; padding-right: 0px; text-align: center;
}



.app-input-readonly.transparent {
	background: #ffffff!important;
	cursor: pointer;
}

.app-label-box {
	border: 1px solid #efefef;
	border-radius: 5px;
	padding-top: 8px;
	padding-bottom: 8px;
	background: #f7f7f7;
}

.app-label-box.transparent {
	border: 1px solid transparent;
	border-radius: 5px;
	padding-top: 8px;
	padding-bottom: 8px;
	background: transparent;
}

.app-form-check-box {
	width: 100%; margin: 0; padding: .5rem .5rem;
}

/*
input[type="text"]:disabled, input[type="text"]:read-only  {
	background: #ffffff!important;
	cursor: not-allowed!important;
	opacity: 0.9;
}

input.calendar-input {
	cursor: default!important;
}
*/
