@charset "UTF-8";


/* ==================== Button ==================== */
.btn-group {
    display: flex;
    justify-content: center;
	align-items: center;
	position: relative;
}
.btn-group button {
	height: 42px;
	width:100%;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:16px;
	font-weight: 600;
	padding:0 16px;
	background: var(--gray20);
	color:var(--white);
	-webkit-transition-duration:0.2s;
	-webkit-transition-timing-function:ease;
	transition-duration:0.2s;
	transition-timing-function:ease;
	cursor: pointer;
}
.btn-group button.fill-main {
	background: var(--main);
	color:#fff;
}
.btn-group button:hover {
	opacity: 0.8;
	cursor: pointer;
}
.btn-group button.fill-main.disable {
	opacity: 0.5;
	color:#fff;
}
.btn-group button.fill-black {
	background: var(--gray20);
	color:#fff;
}
.btn-group button.fill-black:hover {
	background: var(--gray30);
	color:#fff;
}
.btn-group button.fill-red {
	background: var(--system-red);
	color:#fff;
}
.btn-group button.fill-green {
	background: var(--system-green);
	color:#fff;
}
.btn-group button.line-white {
	border:1px solid var(--white-16);
	background: none;
	color:var(--white);
}
.btn-group button.line-white:hover {
	border:1px solid var(--white-40);
	color:var(--white);
}
.btn-group.small button {
	font-size: 13px;
	font-weight: 500;
	height: 32px;
	padding:0 12px;
	border-radius: 4px;
	width:fit-content;
	min-width: unset !important;
}
.btn-group button i.left {
	display: block;
	width:20px;
	height: 20px;
	margin-right:6px;
}
.btn-group button i.right {
	display: block;
	width:20px;
	height: 20px;
	margin-left:6px;
}
.btn-group.small button i.left {
	display: block;
	width:16px;
	height: 16px;
	margin-right:6px;
}
.btn-group.small button i.right {
	display: block;
	width:16px;
	height: 16px;
	margin-left:6px;
}



/* ==================== Text box ==================== */
input::placeholder {
	color: var(--white-24);
	letter-spacing: 0;
	font-weight: 300;
}
.input_group {
	width:100%;
}
.input_group .text_group {
	position: relative;
	width:100%;
}
.input_group.small .text_group input {
    height: 36px;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.input_group .text_group input {
	width:100%;
	border-radius: 4px;
	border: 1px solid var(--white-16);
	background: none;
	height:42px;
	padding:0 16px;
	font-size: 16px;
	font-weight: 300;
	color: var(--white);
}
.input_group .text_group input:read-only {
	background: var(--gray20);
	color: var(--white);
}
.input_group .text_group input:read-only:focus {
	border: 1px solid var(--gray30);
	background: var(--gray20);
}
.input_group .text_group input:focus {
	border-color:var(--white);
}
.input_group .text_group.right-icon input {
	padding-right:50px;
}
.input_group .text_group.right-icon i {
	display: block;
	width:20px;
	height: 20px;
	position: absolute;
	bottom:11px;
	right:16px;
}
.input_group.small .text_group.right-icon i {
	display: block;
	width:16px;
	height: 16px;
	position: absolute;
	bottom:10px;
	right:10px;
}
.input_group .text_group.left-icon input {
	padding-left:40px;
}
.input_group .text_group.left-icon i {
	display: block;
	width:20px;
	height: 20px;
	position: absolute;
	bottom:11px;
	left:16px;
}
.input_group.small .text_group.left-icon i {
	display: block;
	width:16px;
	height: 16px;
	position: absolute;
	bottom:10px;
	left:10px;
}
.input_group .text_group.right-icon i > img,
.input_group .text_group.left-icon i > img {
	display: block;
}
.input_group .text_group.right-txt input {
	padding-right:80px;
}
.input_group .text_group.right-txt span {
	display: block;
    position: absolute;
    bottom: 10px;
    right: 16px;
    text-align: right;
    font-size: 16px;
    color: #fff;
}
.input_group .error-txt {
	display: none;
}
.input_group.error input, .input_group.error .text_group input:focus{
	border-color:var(--system-red) !important;
}
.input_group.error .error-txt {
	color:var(--system-red);
	display: block;
	margin-top:4px;
	font-size:13px;
	margin-left:8px;
	text-align: left;
}
.input_group .input-btn {
	position: absolute;
	top:0;
	right:0;
	width:40px;
	height: 40px;
	background: url(../images/icon-24-left-white.svg) no-repeat center;
	font-size:0;
}
.input_group.btn-on {
	position: relative;
}
.input_group.btn-on .btn {
	width:44px;
	height: 34px;
	position: absolute;
	right:4px;
	top:4px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
}
.input_group.btn-on .btn:hover {
	background: var(--gray20);
}
.input_group.btn-on .btn i {
	width:20px;
	height: 20px;
	display: block;
}
.input_group.btn-on .btn i img {
	width:100%;
}
.input_group.btn-on .text_group input {
	padding: 0 58px 0 16px;
}


/* ==================== Selectbox Custom ==================== */
.selectbox_group {
	display: flex;
	flex-direction: column;
	position: relative;
}
.selectbox_group select {
	position: relative;
	width: 100%;
    border-radius: 4px;
    border: 1px solid var(--white-16);
    height: 42px;
    padding: 0 36px 0 16px;
    font-size: 16px;
    font-weight: 300;
	color: var(--white-40);
	background: url(../images/icon-24-down-white.svg) no-repeat calc(100% - 16px) center;
	background-size:12px;
	background-color:#090D15;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.selectbox_group.light-gray select {
	background-color:var(--gray10);
}
.selectbox_group select:valid{
    color: var(--white);
}
.selectbox_group.readonly select {
	background: var(--gray20);
	color: var(--white);
}
.selectbox_group.small select {
	height: 32px;
	border-radius: 4px;
	padding:0 32px 0 12px;
	font-size:13px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	background: url(../images/icon-24-down-white.svg) rgba(255,255,255,1) no-repeat calc(100% - 10px) center;
	background-size:12px;
	background-color:var(--gray20);
	border:none;
}



/* ==================== 토글 그룹 toggle ==================== */
.input_group .toggle_group input[type="checkbox"] {
	appearance: none;
	position: relative;
	border-radius: 99px;
	width: 50px;
	height: 26px;
	padding: 3px 27px 3px 3px;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.3);
}
.input_group .toggle_group input[type="checkbox"]::before {
	content: "";
	position: absolute;
    left: 3px;
	width: 20px;
	height: 20px;
    top: 3px;
	border-radius: 50%;
	background-color: #fff;
	transition: left 100ms linear;
}
.input_group .toggle_group input[type="checkbox"]:checked {
  background-color: var(--main);
}
.input_group .toggle_group input[type="checkbox"]:checked::before {
  background-color: white;
  left: 27px;
}
.input_group .toggle_group label {
	display: flex;
	align-items: center;
}
.input_group .toggle_group .tit {
	font-size: 14px;
	font-weight: 500;
	display: block;
	margin-right:16px;
	color:var(--white);
}

/* ==================== radio group ==================== */
.radio-group {
	display: flex;
	border-radius: 4px;
	border: 1px solid var(--white-16);
	padding:5px;
	height: 42px;
	gap:0;
}
.radio-group .label {
	color: var(--white);
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	display: block;
	height: 32px;
}
.radio-group .container {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
	width: 100%;
}
.radio-group .container input {
    opacity: 0;
	display: none;
    cursor: pointer;
}
.radio-group.btn-type .btn {
	font-size:16px;
	height: 32px;
	border-radius: 3px;
	background: none;
	color: var(--white-60);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 400;
    width: 100%;
}
.radio-group.btn-type input:checked ~ .btn {
	background: var(--main);
	color:var(--white);
	font-weight: 600;
}



/* ==================== Pagination ==================== */
.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
}
.pagination a {
	width:40px;
	height:40px;
	border-radius:8px;
	font-size: 14px;
	font-weight: 400;
	opacity: 0.4;
	display: flex;
	align-items: center;
    justify-content: center;
	margin-left:2px;
	
}
.pagination a.active {
	background-color: var(--main);
	opacity: 1;
}
.pagination a:hover:not(.active) {
	background-color: rgba(255,255,255,.2);
}
.pagination .next, .pagination .prev, .pagination .first, .pagination .last {
	width:32px;
	font-size: 0;
	
}
.pagination .next {
	background: url("../images/icon-24-left-white.svg") no-repeat center;
	background-size:16px;
	transform: rotate(180deg);
}
.pagination .prev {
	background: url("../images/icon-24-left-white.svg") no-repeat center;
	background-size:16px;
}
.pagination .first {
	background: url("../images/icon-24-left-double.svg") no-repeat center;
	background-size:16px;
}
.pagination .last {
	background: url("../images/icon-24-left-double.svg") no-repeat center;
	background-size:16px;
	transform: rotate(180deg);
}
.pagination a:last-child {
	margin-left:0;
}



/* ==================== Table group 테이블 ==================== */
.table-group {
	width:100%;
	height: 100%;
}
.table-group thead {
	position: sticky;
	top:0;
	box-shadow: 0 1px 0 var(--white-12);
}
.table-group th {
	color: var(--white-40);
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	line-height: 40px;
	height: 40px;
}
.table-group thead.bg-black {
	background: #080F15;
}
.table-group thead.bg-gray10 {
	background: var(--gray10);
}
.table-group thead.bg-gray20 {
	background: var(--gray20);
}
.table-group thead.bg-gray30 {
	background: var(--gray30);
}
.table-group td {
	color: var(--white);
	text-align: center;
	font-size: 14px;
	font-weight: 300;
	line-height: 130%;
	height: 40px;
	white-space:nowrap;
	text-overflow:ellipsis;
	overflow:hidden;
	padding:0 8px;
}
.table-group tbody tr {
	border-bottom: 1px solid var(--white-12);
}
.table-group tbody tr:hover {
	background: var(--gray10);
	cursor: pointer;
}
.table-group tbody tr.active {
	background: rgba(50, 128, 254, 0.70);
}
.table-group td .tag-group {
	justify-content: center;
}
.table-group th.align i {
	width:20px;
	height: 20px;
	display: inline-block;
	margin-left:6px;
	background: url("../images/icon-24-updown.svg") no-repeat center;
	background-size:100%;
	vertical-align: text-bottom;
}
.table-group th.align:hover {
	cursor: pointer;
}
.table-group th.align.down i {
	background: url("../images/icon-24-updown-down.svg") no-repeat center;
	background-size:100%;
}
.table-group th.align.up i {
	background: url("../images/icon-24-updown-up.svg") no-repeat center;
	background-size:100%;
}
.table-group.small td, .table-group.small th {
	height: 28px;
	line-height: 28px;
}


/* ==================== Modal ==================== */
/*모달 팝업 modal popup*/
.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
  opacity: 0;
  transition-duration: 0.1s;
}
.modal.show {
  opacity: 1;
  z-index: 999;
  transition-duration: 0.15s;
}
.modal .modal_container {
  display: flex !important;
  align-items: center;
  height: 100%;
  width: 100%;
  justify-content: center;
}
.modal .modal_container .modal_box {
  background:#23242C;
  width:600px;
  overflow: auto;
  position: relative;
  border-radius: 12px;
	box-shadow: 0px 4px 30px 0px rgba(0, 0, 0, 0.16);
}
.modal .modal_container .modal_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px 0 20px;
    width: 100%;
    height: 66px;
    box-shadow: inset 0 -1px 0 0 var(--white-10);
}
.modal .modal_container .modal_header .tit {
	display: flex;
	align-items: center;
    font-size: 18px;
    font-weight: 600;
    line-height: 130%;
}
.modal .modal_container .modal_header .btn_close {
	width: 32px;
	height: 32px;
	background: url("../images/icon-24-close-white.svg") no-repeat center;
	background-size:24px;
	font-size:0;
	border-radius: 99px;
	-webkit-transition-duration:0.2s;
	-webkit-transition-timing-function:ease;
	transition-duration:0.2s;
	transition-timing-function:ease;
}
.modal .modal_container .modal_header .btn_close:hover {
	background-color: var(--gray30);
	background-size:18px;
}
.modal .modal_content {
    height: 80vh;
	/*max-height: 80vh;*/
    overflow: auto;
}
.modal .modal_header + .modal_content {
	padding:20px;
}
.modal .modal_content .body-txt {
	font-size:16px;
	padding:0 16px;
	line-height: 150%;
	font-weight: 300;
}

.modal .modal_container .modal_header.large-center {
	height: 74px;
	position: relative;
	justify-content: flex-end;
}
.modal .modal_container .modal_header.large-center .tit {
	position: absolute;
	left: 50%;
	top:50%;
	transform: translate(-50%, -50%);
	font-size:28px;
}







/* ==================== 툴팁 ==================== */
/* Base styles for the element that has a tooltip */
[data-tooltip],
.tooltip {
  position: relative;
  cursor: pointer;
}

/* Base styles for the entire tooltip */
[data-tooltip]:before,
[data-tooltip]:after,
.tooltip:before,
.tooltip:after {
  position: absolute;
  visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform:    translate3d(0, 0, 0);
  transform:         translate3d(0, 0, 0);
  pointer-events: none;
}

/* Show the entire tooltip on hover and focus */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus:before,
[data-tooltip]:focus:after,
.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus:before,
.tooltip:focus:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/* Base styles for the tooltip's directional arrow */
.tooltip:before,
[data-tooltip]:before {
  z-index: 1001;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

/* Base styles for the tooltip's content area */
.tooltip:after,
[data-tooltip]:after {
  z-index: 1000;
  padding: 8px;
  width: max-content;
  background-color: #fff;
  background-color: hsla(255, 255, 255, 1);
  color: #000;
  content: attr(data-tooltip);
  font-size: 13px;
	font-weight: 400;
  line-height: 1.2;
	border-radius: 4px;
}

/* Directions */

/* Top (default) */
[data-tooltip]:before,
[data-tooltip]:after,
.tooltip:before,
.tooltip:after,
.tooltip-top:before,
.tooltip-top:after {
  bottom: 100%;
  left: 50%;
}

[data-tooltip]:before,
.tooltip:before,
.tooltip-top:before {
  margin-left: -6px;
  margin-bottom: -12px;
  border-top-color: #fff;
}

/* Horizontally align top/bottom tooltips */
[data-tooltip]:after,
.tooltip:after,
.tooltip-top:after {
  margin-left: -20px;
}

[data-tooltip]:hover:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus:before,
[data-tooltip]:focus:after,
.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus:before,
.tooltip:focus:after,
.tooltip-top:hover:before,
.tooltip-top:hover:after,
.tooltip-top:focus:before,
.tooltip-top:focus:after {
  -webkit-transform: translateY(-12px);
  -moz-transform:    translateY(-12px);
  transform:         translateY(-12px); 
}

/* Left */
.tooltip-left:before,
.tooltip-left:after {
  right: 100%;
  bottom: 50%;
  left: auto;
}

.tooltip-left:before {
  margin-left: 0;
  margin-right: -12px;
  margin-bottom: 0;
  border-top-color: transparent;
  border-left-color: #fff;
}

.tooltip-left:hover:before,
.tooltip-left:hover:after,
.tooltip-left:focus:before,
.tooltip-left:focus:after {
  -webkit-transform: translateX(-12px);
  -moz-transform:    translateX(-12px);
  transform:         translateX(-12px); 
}

/* Bottom */
.tooltip-bottom:before,
.tooltip-bottom:after {
  top: 100%;
  bottom: auto;
  left: 50%;
}

.tooltip-bottom:before {
  margin-top: -12px;
  margin-bottom: 0;
  border-top-color: transparent;
  border-bottom-color:#fff;
}

.tooltip-bottom:hover:before,
.tooltip-bottom:hover:after,
.tooltip-bottom:focus:before,
.tooltip-bottom:focus:after {
  -webkit-transform: translateY(12px);
  -moz-transform:    translateY(12px);
  transform:         translateY(12px); 
}

/* Right */
.tooltip-right:before,
.tooltip-right:after {
  bottom: 50%;
  left: 100%;
}

.tooltip-right:before {
  margin-bottom: 0;
  margin-left: -12px;
  border-top-color: transparent;
  border-right-color: #fff;
}

.tooltip-right:hover:before,
.tooltip-right:hover:after,
.tooltip-right:focus:before,
.tooltip-right:focus:after {
  -webkit-transform: translateX(12px);
  -moz-transform:    translateX(12px);
  transform:         translateX(12px); 
}

/* Move directional arrows down a bit for left/right tooltips */
.tooltip-left:before,
.tooltip-right:before {
  top: 50%;
	transform: translateY(-50%);
}

/* Vertically center tooltip content for left/right tooltips */
.tooltip-left:after,
.tooltip-right:after {
  margin-left: 0;
  margin-bottom: -16px;
  max-width: 160px;
  line-height: 130%;
  text-align: center;
	white-space: pre-wrap;
}

.tooltip-top:after,
.tooltip-bottom:after {
	 max-width: 160px;
  line-height: 130%;
  text-align: center;
	white-space: pre-wrap;
}


/* ==================== Tag group 태그 그룹 ==================== */
.tag-group {
	display: flex;
	align-items: center;
	gap:6px;
}
.tag-group span {
	display: flex;
	padding: 3px 8px;
	justify-content: center;
	align-items: center;
	gap: 4px;
	border-radius: 2px;
	color:var(--white);
}
.tag-group.small span {
	font-size: 12px;
	font-weight: 500;
	height: 24px;
	padding:0 8px;
	gap: 2px;
}
.tag-group span.fill-main {
	background: var(--main);
}
.tag-group span.opa-main {
	background: rgba(50, 128, 254, 0.20);
	color: var(--main);
}
.tag-group span.fill-green {
	background: var(--system-green);
}
.tag-group span.fill-red {
	background: var(--system-red);
}
.tag-group span.fill-gray {
	background: var(--gray30);
}
.tag-group span i {
	display: block;
	width: 12px;
	height: 12px;
}
.tag-group span i img {
	display: block;
	width:100%;
}

/* ==================== Progress bar group 프로그레스바 ==================== */
.progress-group {
	display: flex;
	align-items: center;
	justify-content: center;
	gap:16px;
}
.progress-group .value {
	color: var(--white);
	font-size: 14px;
	font-weight: 300;
	line-height: 130%;
	width:32px;
}
.progress-group progress {
    appearance: none;
	height: 6px;
	width:100%;
}
.progress-group progress::-webkit-progress-bar {
    background: #444651;
    border-radius: 12px;
    height: 6px;
    width: 100%;
    overflow: hidden;
}
.progress-group progress::-webkit-progress-value {
    background: var(--white);
    border-radius: 0px;
    height: 6px;
}
/*두꺼운 블루*/
.progress-group.blue-weight {
	gap:12px;
	flex-direction: column;
}
.progress-group.blue-weight progress {
	height: 10px;
	width:100%;
}
.progress-group.blue-weight progress::-webkit-progress-bar {
    background: #444651;
    border-radius: 2px;
    height: 10px;
    width: 100%;
    overflow: hidden;
}
.progress-group.blue-weight progress::-webkit-progress-value {
    background: var(--main);
    border-radius: 0px;
    height: 10px;
}
.progress-group.blue-weight.purple progress::-webkit-progress-value {
    background: #6554C0;
    border-radius: 0px;
    height: 10px;
}
.progress-group.blue-weight.green progress::-webkit-progress-value {
    background: #12AC79;
    border-radius: 0px;
    height: 10px;
}
.progress-group.blue-weight .bottom-sub-txt {
	display: flex;
	width:100%;
	align-items: center;
	justify-content: space-between;
	line-height: 100%;
	color:var(--white-40);
	font-size: 12px;
	font-weight: 400;
}


/* ==================== Tab ==================== */
.tab-group {
	display: flex;
	width:100%;
	align-items: center;
	border-bottom:1px solid var(--white-10);
	gap:24px;
}
.tab-group a {
	display: flex;
	align-items: center;
	height: 66px;
	color:var(--white-40);
    width: fit-content;
    justify-content: center;
	font-size: 18px;
	font-weight: 600;
	line-height: 150%;
}
.tab-group a.active {
	border-bottom:1px solid var(--white);
	color:var(--white);
}
.tab-group a:not(.active):hover {
	color:var(--white);
}






