.percent-100 {
	text-align: center;
}
.pointer {
	cursor: pointer;
}
#agree-step-m .mx{max-width: 450px;}

.form-error-text {
	display: block; 
	color: var(--ct-danger);
	padding: 0.375rem;
	background-color: var(--ct-danger-bg-subtle) !important;
	border: solid 1px #fbced7;
	margin-top: 0.375rem;
	border-radius: 3px;
	white-space:pre-line;
}
.form-required {
	color: var(--ct-danger); 
	font-weight: bold;
	margin-left: 5px;
}

.nodata {
	padding: 3rem 0 !important;
	text-align: center;
	color: var(--ct-dark);
}

/* 아이프레임 모달 */
.modal-frame-close,
.modal-sub-frame-close {
	position: absolute;
	z-index: 2;
	right: 13px;
	top: 10px;
	color: var(--ct-dark);
	opacity: 1;
	font-size: 1.6rem;
	font-weight: normal;
	cursor: pointer;
}
.modal .modal-dialog .modal-content .modal-body-iframe {
	padding: 0;
	border-radius: var(--ct-modal-border-radius);
	overflow: hidden;
}

.modal-move {
	display: block;
	width: 80%;
	height: 60px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.modal .modal-dialog .modal-content .modal-body-iframe {
	padding: 0;
	border-radius: var(--ct-modal-border-radius);
	overflow: hidden;
}

.pt-checkbox {
	padding-top: 10px;
}

.last-border-no tbody tr:last-child th,
.last-border-no tbody tr:last-child td {
	border-bottom: none !important;
}

table.modal-search-table tbody th, 
table.modal-search-table tbody td {
	vertical-align: middle;
	line-height: 140%;
	padding: 0.3rem 0.5rem;
	color: var(--ct-dark);
}

.modal-form label {
	color: var(--ct-dark);
}

.btn-filter {
	display: inline-block;
	min-width: 75px;
	background-color: var(--ct-light);
	color: var(--ct-dark);
	padding: 0.4rem 0;
	text-align: center;
	border-radius: 0.2rem;
	font-size: 12px;
}
.btn-icon {
	padding: 0;
	font-size: 18px;
	width: 50px;
	line-height: 1;
}
.overline {
	margin-top: -15px;
}
.clear {
	clear: both;
}
.form-btn {
	min-width: 100px;
}
.btn-box {
	position: absolute;
	right: 1.4rem;
	top: 1rem;
}
.btn-more {
	padding: 0.28rem 0.8rem;
	font-size:1.2rem;
	color: var(--ct-table-color-state, var(--ct-table-color-type, var(--ct-table-color)))
}
.drag-handle {
	cursor: pointer;
}
.drag-item th,
.drag-item td {
	background-color: #d8e7ff !important;
	color: #3974d1 !important;
	font-weight: 600;
}
/* modal-user-info*/
.modal-user-info {

}
.modal-user-info-close,
.modal-sales-info-close {
	position:absolute;
	right: 1.5rem;
	top: 1.4rem;
	z-index: 1;
}
.modal-info-more {
	font-size: 1.2rem;
	color: inherit;
}

/* timeline-a */
.timeline-box-a {
	margin-left: 0.5rem;
	border-left: 4px solid var(--ct-info-bg-subtle);
}
.timeline-box-a .timeline-item {
	position: relative;
	padding: 0.6rem;
	margin-bottom: 0.6rem;
}
.timeline-box-a .timeline-item i.icon-position {
	position: absolute;
	left: -3.1rem;
	color: var(--ct-info);
	background: var(--ct-info-bg-subtle);
	border: 1px solid var(--ct-info);
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 26px;
	font-size: 1rem;
	border-radius: 15px;
}
.timeline-box-a .timeline-item {
	margin-left: 2rem;
	border: 1px solid var(--ct-dark-bg-subtle);
	border-radius: 0.3rem;
}
.timeline-box-a .timeline-item span.time {
	display: inline-block;
	font-size: 0.76rem;
	color: var(--ct-dark);
	opacity: 0.8;
	margin-bottom: 10px;
}
.timeline-box-a .timeline-service-list li {
	padding-left: 1.5rem;
	font-size: 0.8rem;
	line-height: 2;
	color: var(--ct-dark);
}
.timeline-box-a .timeline-service-list li span {
	display: inline-block;
	min-width: 100px;
	margin-right: 1rem;
	font-weight: 600;
}
.carousel-close-btn {
	position: absolute;
	z-index: 1;
	right: -1.5rem;
	top : -1.5rem;
	color: var(--ct-light);
	font-size: 1.8rem;
	background-color: var(--ct-dark);
	width: 40px;
	height: 40px;
	text-align: center;
	border-radius: 5rem;
	line-height: 125%;
}

/* timeline-b */
.timeline-box-b {
	padding-top: 1rem;
	margin-left: 1rem;
	border-left: 4px solid var(--ct-info-bg-subtle);
	min-height: 100%;
}
.timeline-box-b .timeline-item {
	position: relative;
	padding: 0.6rem;
	margin-left: 1rem;
	border-radius: 0.3rem;
}
.timeline-box-b .timeline-item i.icon-position {
	position: absolute;
	left: -1.7rem;
	top: 0.9rem;
	background: var(--ct-info-bg-subtle);
	border: 3px solid var(--ct-info);
	width: 17px;
	height: 17px;
	font-size: 1rem;
	border-radius: 15px;
}
.timeline-box-b .timeline-info {
	border: 1px solid var(--ct-dark-bg-subtle);
	padding: 1rem;
	margin-bottom: 2rem;
}
.timeline-box-b .timeline-item span.time {
	display: inline-block;
	font-size: 1rem;
	color: var(--ct-dark);
	margin-bottom: 10px;
	font-weight: 400;
}
.timeline-box-b .timeline-service-list li {
	padding-left: 1.5rem;
	font-size: 14px;
	line-height: 2;
	color: var(--ct-dark);
}
.timeline-box-b .timeline-service-list li span {
	display: inline-block;
	min-width: 100px;
	margin-right: 1rem;
	font-weight: 400;
}
.timeline-box-b .carousel-close-btn {
	position: absolute;
	right: -1.5rem;
	top : -1.5rem;
	color: var(--ct-light);
	font-size: 1.8rem;
	background-color: var(--ct-dark);
	width: 40px;
	height: 40px;
	text-align: center;
	border-radius: 5rem;
}
.timeline-box-b .timeline-btn-box {
	position: absolute;
	top: 12px;
	right: 8px;
	opacity: 0.8;
}

.dice-box {
	position: absolute;
	top: 11px;
	left: 176px;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
}
.dice-list-box {
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	margin-top: 10px;
}
p.dice {
	width: 10px;
	height: 10px;
	margin: 1px;
	border: 1px solid var(--ct-secondary);
	border-radius: 2px;
	float: left;
	opacity: 0.8;
}
p.dice-service-on {
	background-color: var(--ct-primary);
	border: 1px solid var(--ct-primary);
}
p.dice-product-on {
	background-color: var(--ct-success);
	border: 1px solid var(--ct-success);
}
p.dice-prepay-on {
	background-color: var(--ct-violet);
	border: 1px solid var(--ct-violet);
}
p.dice-ticket-on {
	background-color: var(--ct-info);
	border: 1px solid var(--ct-info);
}

.reserve-badge-box {
	position: absolute;
	top: 12px;
	left: 176px;
}
.reserve-badge-box .badge{
	vertical-align: top;
}
.reserve-badge-box .naver-icon {
	color: #fff;
	background-color: #03cf5d;
	padding: 0 0.3rem 0.1rem;
	border-radius: 3px;
	font-size: 12px;
}

/* user */
.user-info-type01 {

}
.user-info-header {
	text-align: center;
	width: 100%;
}
.user-avatar {
	display: inline-block;
	margin: 0 auto;
	padding: 0.25rem 1rem;
	border-radius: 25px;
	background-color: #ffba90;
}
.user-avatar i.avatar {
	color: #ffffff;
	font-size: 3rem;
}
.user-info-name {

}
.user-info-phone {

}
.user-info-phone i {
	color: #737373;
}
.user-info-phone i.send-message {
	color: #737373;
	font-size: 1.4rem;
}
.user-info-detail {
	margin-top: 50px;
}
.user-info-detail li {
	padding: 0.5rem;
}
.user-info-detail .user-info-label {
	display: inline-block;
	min-width: 150px;
	font-weight: 800;
}
.user-info-time {
	color: #666666;
}
.modal-user-info-header {
	min-height: 350px;
	background-image: linear-gradient(rgba(var(--ct-light-rgb), 0.7), rgba(var(--ct-light-rgb), 1)), url('../../resource/images/user-background.jpg');
}
.modal-user-info-header .btn-close {
	position: absolute;
	right: 2rem;
	top : 2rem;
}

.user-info-btn {
	width: 37px;
	height: 37px;
	box-sizing: border-box;
	padding: 0.3rem 0.4rem 0.5rem;
	text-align: center;
}
.user-info-btn i {
	font-size: 1.2rem;
	line-height: 1;
	vertical-align:middle;
}
.icon-btn {
	padding: 0.2rem 0.5rem;
}
.icon-btn i {
	font-size: 1.2rem;
}

td.reservation-status-color {
	font-size: 15px !important;
}
.reservation-status-color p {
	height: 30px;
	vertical-align: middle;
}
.reservation-status-primary {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-primary) !important;
}
.reservation-status-secondary {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-secondary) !important;
}
.reservation-status-success {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-success) !important;
}
.reservation-status-info {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-info) !important;
}
.reservation-status-danger {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-danger) !important;
}
.reservation-status-warning {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-warning) !important;
}
.reservation-light-info {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-light) !important;
}
.reservation-status-dark {
	display: inline-block;
	border-left: 6px solid;
	border-color: var(--ct-dark) !important;
}

.badge-naver {
	position: absolute;
	color: #fff;
	top: 4px;
	left: 65px;
	padding: 0 0.3rem;
	background: #03cf5d;
	border-radius: 3px;
	font-size:12px;
}

/* guest info */
.guest-avatar {
	display: inline-block;
	text-align: center;
	font-size: 2.5rem;
	background-color: var(--ct-secondary);
	color: var(--ct-light);
	width: 65px;
	height: 65px;
}

.user-info-view {
	position: absolute;
	right: 20px;
	top: 33px;
	font-weight: 600;
	line-height: 2;
}
.user-info-view i {
	font-size: 1.5rem;
	font-weight: 400;
	vertical-align: top;
	line-height: 1;
}
.user-info-more {
	position: absolute;
	right: 1rem;
	top: 0.5rem;
}
.user-info-more i {
	color: var(--ct-dark);
	font-size: 1.3rem;
}
.user-info-box-top {
	position: relative;
	box-sizing: border-box;
	text-align: center;
}
.user-info-box-left {
	float: left;
	width: 35%;
	box-sizing: border-box;
	min-height: 70px;
	text-align: center;
}
.user-info-box-left .avatar-md  i {
	margin-top: -8px;
}
.user-info-box-right {
	position: relative;
	float: right;
	width: 65%;
	box-sizing: border-box;
	padding: 0;
	color: var(--ct-dark);
}
.user-info-box-right h4 {
	color: var(--ct-dark);
	line-height: 150%;
}
.user-info-box-right span {

}
.user-info-box-body {
	clear: both;
	overflow: hidden;
	min-height: 60px;
	color: var(--ct-dark);
}
.user-info-box-body div {
	width: 33.3%;
	font-weight: 600;
	font-size: 1rem;
	text-align: center;
}
.user-info-box-body div h5 {
	font-weight: 500;
	font-size: 15px;
	margin: 0.3rem;
	color: var(--ct-dark);
	text-align: center;
}
.user-info-box-top {
	color: var(--ct-dark);
}
.user-info-comment {
	max-height: 60px;
	text-align: left;
	overflow-y: auto;
	border: var(--ct-border-width) solid var(--ct-border-color);
	border-radius: 0.2rem;
	background-color: rgba(var(--ct-light-rgb), 1) !important;
	margin: 0.5rem 0;
	padding: 0.3rem;
	font-size: 0.8rem;
}

/* reservation */
.calendar-day {

}
.calendar-day-list {
	display: flex;
	width: 100%;
	height: 83px;
}
.calendar-day-item {
	text-align: center;
}
.calendar-day-item p {
	position: relative;
	padding: 0;
	margin: 0;
	width: 51px;
}
.calendar-day-item .calendar-yoil,
.calendar-day-item .calendar-day {
	font-weight: 600;
}
.calendar-day-sat .calendar-yoil,
.calendar-day-sat .calendar-day {
	color: var(--ct-primary);
}
.calendar-day-sun .calendar-yoil,
.calendar-day-sun .calendar-day {
	color: var(--ct-danger);
}
.calendar-day {
	border-left: 1px solid var(--ct-secondary);
}
.calendar-day:first-child {
	border: none;
}
.calendar-day-box {
	height: 88px;
}
.day-left-move,
.day-right-move {
	display:block;
	position: absolute;
	text-align: center;
	height: 100%;
	background-color: var(--ct-secondary-bg);
	z-index: 1;
	height: 95px;
	box-sizing: border-box;
	padding-top: 20px;
}
.day-left-move i,
.day-right-move i {
	font-size: 2rem;
}
.day-left-move {
	width: 38px;
	color: var(--ct-dark);
	left: 0;
	top: 0;
}
.day-right-move {
	width: 38px;
	color: var(--ct-dark);
	right: 0;
	top: 0;
}
.calendar-day-item .calednar-reservation-count {
	padding-top: 3px;
	height: 31px;
}
.calendar-day-item .calednar-reservation-count span {
	display: block;
	width: 22px;
	height: 22px;
	margin: 0 auto;
	line-height: 1.7;
	border-radius: 1rem;
	font-size: 0.75rem;
	background-color: #47cfc4;
	color: #fff;
	opacity: 0.9;
}
.selected-day-badge {
	display: block;
	position: absolute;
	right: 3px;
	top: 3px;
}
.calendar-day-item-blank {
	padding: 0 10px;
}
.calendar-day-item-blank:last-child {
	padding: 0 18px;
}

.user-search-result a {
	cursor: pointer;
	padding: 0.5rem;
	border-bottom: 1px solid var(--ct-light);
}
.user-search-result a i.uil-user {
	font-size: 1.5rem;
}
.user-search-result h5 {
	color: var(--ct-dark);
}
.reservation-icon {
	display: inline-block;
	border: 1px solid #ffffff;
	font-size: 0.6rem !important;
	padding: 0 2px 0 1px;
	height: 13px;
	line-height: 1.2 !important;
	text-align: center;
	margin-right: 1px;
	font-weight: 600;
	vertical-align: top;
	margin-top: 3px;
}

.fc {
    -webkit-touch-callout: none; /* iOS Safari 컨텍스트 메뉴 차단 */
    -webkit-user-select: none;   /* Safari 텍스트 선택 차단 */
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;           /* 표준 텍스트 선택 차단 */
    touch-action: manipulation;   /* 브라우저 기본 제스처 간섭 방지 */
}

/*
.fc-event.bg-primary {
border-left: 5px solid var(--ct-primary);
}
.fc-event.bg-success {
border-left: 5px solid var(--ct-success);
}
.fc-event.bg-info {
border-left: 5px solid var(--ct-info);
}
.fc-event.bg-danger {
border-left: 5px solid var(--ct-danger);
}
.fc-event.bg-warning {
border-left: 5px solid var(--ct-warning);
}
.fc-event.bg-purple {
border-left: 5px solid var(--ct-purple);
}
.fc-event.bg-violet {
border-left: 5px solid var(--ct-violet);
}
.fc-event.bg-orange {
border-left: 5px solid var(--ct-orange);
}
.fc-event.bg-pink {
border-left: 5px solid var(--ct-pink);
}
*/
.reservation-custom-color {
	display: inline-block;
	border: 1px solid #fff;
	width: 13px;
	height: 13px;
	vertical-align: top;
	border-radius: 10px;
	margin-right: 2px;
	margin-top: 3px;
}

.badge-deposit {
	position: absolute;
	right: 0px;
	top: -5px;
	border: none;
}

.time-tooltip {
	position: absolute;
	background-color: #333;
	color: white;
	padding: 5px 10px;
	border-radius: 4px;
	font-size: 12px;
	z-index: 1000;
	pointer-events: none;
	display: none;
}

/* off day */
.calendar-table tbody td,
.calendar-table tbody th {
	border: solid 1px #dcdcdc;
	border-collapse: collapse;
}
.calendar-table tbody th:nth-child(1),
.calendar-table tbody td:nth-child(1) {
	border-left: none;
}
.calendar-table tbody th:nth-child(7),
.calendar-table tbody td:nth-child(7) {
	border-right: none;
}
.calendar-table tbody th,
.calendar-table tbody td {
	padding: 0.5rem;
}
.calendar-table tbody td div {
	position: relative;
	min-height: 95px;
}
.calendar-table .dayoff-add {
	position: absolute;
	top: 0;
	right: 0;
}
.calendar-table thead th {
	vertical-align: middle;
	text-align: center;
	background-color: rgba(var(--ct-primary-rgb),.1)!important;
	color: var(--ct-primary);
	padding: 0;
}
.calendar-table tbody th {
	text-align: center;
}
.calendar-table tbody th.sun {
	color: var(--ct-danger);
}
.calendar-table tbody th.sat {
	color: var(--ct-primary);
}

/* reservation month */
.calendar-month-table {

}
.calendar-month-table thead th {
	text-align: center;
	padding: 1rem 0;
	border-top: solid 1px #dcdcdc;
	color: var(--ct-dark);
	background-color: rgba(var(--ct-primary-rgb),.1)!important;
}
.calendar-month-table .another-month {
	opacity: .35;
}
.calendar-month-table .reservation-box {
	position: relative;
	min-height: 125px;
}
.calendar-month-table tbody td {
	border: solid 1px #dcdcdc;
	border-collapse: collapse;
	padding: 0.2rem;
}
.calendar-month-table tbody td:nth-child(1) {
	border-left: none;
}
.calendar-month-table tbody td:nth-child(7) {
	border-right: none;
}
.calendar-month-table .day-title {
	display: block;
	padding: 0.5rem 0 0 0.5rem;
	font-size: 1.1rem;
	margin-bottom: 0.5rem;
}
.calendar-month-table a.reservation-add {
	position: absolute;
	top: 0.3rem;
	right: 0.5rem;
}
.calendar-month-table a.reservation-add i {
	color: var(--ct-dark);
	opacity: 0.7;
	font-size: 1.4rem;
}

.calendar-month-table .reservation-item {
	border: solid 1px #dedede;
	margin: 0.3rem;
	padding: 7px;
	border-radius: 0.2rem;
	color: var(--ct-dark);
	font-size: 0.8rem;
}
.calendar-month-table .reservation-item p {
	margin: 0;
}

.calendar-month-table .reservation-item-b {
	margin: 0.5rem 0.3rem;
	color: var(--ct-dark);
	font-size: 0.8rem;
}
.calendar-month-table .reservation-item-b p {
	margin: 0;
	padding: 4px;
	font-size: 0.9rem;
}

.calendar-month-table .manager-primary {
	border-left: solid 7px var(--ct-primary);
}
.calendar-month-table .manager-success {
	border-left: solid 7px var(--ct-success);
}
.calendar-month-table .manager-secondary {
	border-left: solid 7px var(--ct-secondary);
}
.calendar-month-table .manager-danger {
	border-left: solid 7px var(--ct-danger);
}
.calendar-month-table .manager-warning {
	border-left: solid 7px var(--ct-warning);
}
.calendar-month-table .manager-info {
	border-left: solid 7px var(--ct-info);
}
.calendar-month-table .manager-light {
	border-left: solid 7px var(--ct-light);
}
.calendar-month-table .manager-dark {
	border-left: solid 7px var(--ct-dark);
}
.calendar-month-table .manager-violet {
	border-left: solid 7px var(--ct-violet);
}
.calendar-month-table .manager-purple {
	border-left: solid 7px var(--ct-purple);
}
.calendar-month-table .manager-orange {
	border-left: solid 7px var(--ct-orange);
}
.calendar-month-table .manager-pink {
	border-left: solid 7px var(--ct-pink);
}
.calendar-month-table .manager-blue {
	border-left: solid 7px var(--ct-blue);
}
.calendar-month-table .manager-none {
	padding-left: 7px;
}

.calendar-month-table .reservation-month-custom-color {
	display: inline-block;
	border: solid 1px #ffffff;
	width: 14px;
	height: 14px;
	vertical-align: middle;
	border-radius: 10px;
	margin-top: -3px;
	margin-left: 2px;
}
.calendar-month-table .reservation-month-naver-icon {
	display: inline-block;
	border: 1px solid #ffffff;
	background-color: var(--ct-success);
	color: #ffffff;
	width: 14px;
	height: 14px;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
	line-height: 1;
	font-size: 0.6rem;
	padding-top: 2px;
	margin-top: -3px;
	margin-left: 2px;
	text-indent: -1px;
}
.calendar-month-table .reservation-month-deposit-icon {
	margin-left: 2px;
}

/* 자동문자 설정 */
.input-message-box {
	min-height: 250px !important;
	resize: none;
}
.mobile-preview-box {
	min-height: 430px;
}
.mobile-preview-box .message-preview {
	height: 350px;
	overflow-y: auto;
}

/* 단체문자 발송 */
.message-image-preview {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border: solid 1px var(--ct-border-color);
	background-color: var(--ct-light-bg-subtle);
	border-radius: 0.2rem;
	text-align: center;
	min-height: 330px;
	width: 100%;
}
.message-image-preview span {
	display: inline-block;
	position: relative;
	width: 80%;
	line-height: 3;
	text-align: center;
	background-color: var(--ct-input-bg);
	border-radius: 0.2rem;
	border: solid 1px var(--ct-border-color);
}

.message-image-add {
	position: relative;
	border: solid 1px var(--ct-border-color);
	background-color: var(--ct-light-bg-subtle);
	border-radius: 0.2rem;
	text-align: center;
	min-height: 90px;
	width: 100%;
}
.message-image-add i {
	font-size: 1.3rem;
	line-height: 4;
	opacity: 0.7;
}

.message-input-box {
	position: relative;
	border: solid 1px var(--ct-border-color);
	border-radius: 0.2rem;
	width: 100%;
}
.message-input-box-top {
	padding: 0.5rem 1rem;
}
.message-input-box-body {
	border-top: solid 1px var(--ct-border-color);
	padding: 0.5rem;
	background-color: var(--ct-light-bg-subtle) !important;
}
.message-input-box-body .adtext {
	margin: 0;
	text-indent: 7px;
	font-weight: bold;
	height: 25px;
	line-height: 25px;
}
.message-input-box-body textarea.message-input {
	width: 100%;
	background-color: var(--ct-light-bg-subtle) !important;
	border: none;
	resize: none;
	height: 220px;
}
.message-input-box-bottom {
	max-width: 100%;
}
.message-input-box-bottom a.btn {
	padding: 0.6rem 0;
	font-size: 12px;
}
.message-custom-box {
	position: relative;
	width: 100%;
}
.total-sender {
	position: relative;
	border-radius: 0.2rem;
	margin-top: 10px;
	background-color: var(--ct-light-bg-subtle);
	border: solid 1px var(--ct-border-color);
	font-size: 0.95rem;
	line-height: 2;
	padding: 10px 15px;
}
.total-sender p {
	position: absolute;
	top: 8px;
	right: 15px;
	margin: 0;
	width: 150px;
	text-align: right;
	color: var(--ct-dark);
}
.total-sender p span {
	padding-right: 10px;
	font-size: 1rem;
}

.message-price {
	position: relative;
	border-radius: 0.2rem;
	background-color: var(--ct-light-bg-subtle);
	border: solid 1px var(--ct-border-color);
	font-size: 0.95rem;
	line-height: 2;
	padding: 5px 15px;
}
.message-price p {
	margin: 8px 0;
	text-align: right;
	color: var(--ct-dark);
}
.message-price p span.badge {
	width: 80px;
	margin-top: 5px;
}

.total-message-price {
	position: relative;
	border-radius: 0.2rem;
	margin-top: 10px;
	background-color: var(--ct-light-bg-subtle);
	border: solid 1px var(--ct-border-color);
	font-size: 0.95rem;
	line-height: 2;
	padding: 10px 15px;
}
.total-message-price p {
	position: absolute;
	top: 8px;
	right: 15px;
	margin: 0;
	width: 150px;
	text-align: right;
	color: var(--ct-dark);
}
.total-message-price p span {
	padding-right: 10px;
	font-size: 1rem;
	color: var(--ct-info);
}

.select-filter {
	overflow: hidden;
	position: relative;
	margin-top: 0.5rem;
}
.select-filter div.alert {
	display: inline-block;
	margin: 0 2px 0 0;
	padding: 0.5rem 2.5rem 0.5rem 0.7rem;
	font-size: 13px;
}
.select-filter div.alert .btn-close {
	padding: 0.71rem 0.75rem;
}

.mobile-box {
	border: solid 1px var(--ct-border-color);
	border-radius: 0.2rem;
	padding: 0.5rem;
}
.mobile-box .mobile-box-icon {
	text-align: right;
}
.mobile-alert-text {
	position: relative;
	padding-left: 40px;
	line-height: 140%;
}
.mobile-alert-text span.badge {
	position: absolute;
	left: 0;
	top: 0;
}

/* 테이블 */
table.sort-table > tbody > tr > th {
	padding: 0;
}
table.sort-table > tbody > tr > th > a,
table.sort-table > tbody > tr > td > a {
	display: block;
	padding: 0.95rem;
	color: var(--ct-dark);
}
table.table > tbody > tr.notused > th,
table.table > tbody > tr.notused > td,
table.table > tbody > tr.notused > th > a,
table.table > tbody > tr.notused > td > a {
color: var(--ct-danger);
}

.no-box label.checkbox
, .no-box label.radio  { padding-top:calc(0.45rem + var(--ct-border-width)); }
.no-box .form-check-input { margin-top:0.1em;}
.no-box label.checkbox + label.checkbox,
.no-box label.radio +  label.radio { margin-left:10px; }

.input-group > .custom-file {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.input-group > .custom-file:not(:first-child) .custom-file-label {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.input-group-prepend,
.input-group-append {
	display: -ms-flexbox;
	display: flex;
}

.input-group-prepend .btn,
.input-group-append .btn {
	position: relative;
	z-index: 2;
}

.input-group-prepend .btn:focus,
.input-group-append .btn:focus {
	z-index: 3;
}

label.custom-file-label {
	background-image: none;
	/* border: 1px solid #e5e6e7; */
	border: var(--ct-border-width) solid var(--ct-border-color);
	border-radius: 1px;
	color: inherit;
	display: block;
	padding: rem(6px) rem(12px);
	transition: border-color 0.15s ease-in-out 0s,
		box-shadow 0.15s ease-in-out 0s;
	width: 100%;
}

label.custom-file-label::after {
	padding: 0.375rem 0.75rem;
}

.file-input.input-group { display: table;}
.file-input.input-group .custom-file { display: table-cell; width: 90%; }
.file-input.input-group .custom-file .custom-file-label { height:35px; line-height:29px; text-indent:10px; }
.file-input.input-group .input-group-append { display:table-cell; }
.file-input.input-group .input-group-append button { white-space: nowrap;}
.file-input.input-group input[type="file"] { display:none; }

.npay-text {
	vertical-align: baseline; display: inline-block;  font-weight:900; font-size:15px;
}
.npay-text::first-letter { background-color: black; color:white; width:15px; height:15px; line-height:15px; border-radius: 15px; padding:3px 7px; font-size:12px }

.totalLine { border-top-style:double; border-top-width:3px; }
.totalLine td { background-color: var(--ct-light-bg) !important;}

input.disabled { background-color: var(--ct-gray-400);}

.card.round-hidden { overflow:hidden; }
.sales-btn i { margin-right: 15px; padding: 0.6rem; border-radius: 0.5rem; font-size:1.4rem; vertical-align: middle; font-weight: 500;}

.sales-setting-btn {
	display: inline-block;
	font-size: 1.2rem;
	vertical-align: top;
	margin: 4px 0.5rem 0;
	color: var(--cp-dark);
}

.swich100 input[data-switch] + label { width:100%; height:34px; }
.swich100 input[data-switch]:checked + label:after { right:4px; left:auto; line-height:30px; }

.swich100 input[data-switch] + label:after { top:7px; }
.swich100 input[data-switch] + label:before { line-height:30px; }

.pt-0.swich100 { padding-top:0 !important; }

.rowzone .row + .row { margin-top:2px;}

.reservedateZone { vertical-align: top;}

#reservedateZone.reservedateZone { display:none; }
.reservedateZone { width:80%; }
#reservedateZone.reservedateZone.on { display:inline-block; }
#reservedateZone.reservedateZone.on + button { display:inline-block; }
#reserveDate_dump { display:none;}

#reservedateZone > div,
#reserveServiceZone > div { margin-bottom:2px; }

#reserveServiceZone.reserveServiceZone { display:none; }
#reserveServiceZone.reserveServiceZone.on { display:block; }
#reserveServiceZone.reserveServiceZone.on + button { display:inline-block; }
#reserveService_dump { display:none; }

.modal-body .btn-deposit.btn-danger { display:none; }
.modal-body.status-C .btn-deposit.btn-danger,
.modal-body.status-W .btn-deposit.btn-danger { display:inline; }

#membershiptypezone { display:none; }
.modal-body:has(input[name="deposittype"][value="M"]:checked) #membershiptypezone { display:block; }


.form-group-inline { display:inline-block; vertical-align: top;}

#reservation-form-group.reservation-status-X .reservation-hide { display:none; }

.confirm_message { text-align:center; margin-top:30px; }
.confirm_message input { margin:0 10px;}

.user-item-ticket {
	text-align: left;
	padding: 0.2rem;
	font-size: 0.85rem;
}
.user-item-ticket i {
	padding: 0.2rem 0.5rem;
	border-radius: 0.1rem;
	margin-right: 0.5rem;
}
.user-item-ticket a {
	font-size: 15px;
	font-weight: 500;
}

.upload-image {
	cursor: pointer;
}

.flatpickr-confirm {
	background-color: var(--ct-success);
	color: #fff;
	padding: 0.5rem 0;
	cursor: pointer;
}
.flatpickr-confirm svg {
	display: none;
}

#quick-memo {
	position: absolute;
	right: 1.2rem;
	bottom: 0.5rem;
	opacity: 0.7;
}

/* dropzone */
.dz-button {
	border: none;
	background: transparent;
}
.dz-complete {
	overflow: hidden;
	padding: 5px 0;
}
.dz-complete div {
	float: left;
	margin-right: 15px;
}
.dropzone .dz-preview .dz-details {
	opacity: 1;
	position: relative;
	padding: 0;
	padding-right: 0;
	width: 100%;
}
.dropzone .dz-preview .dz-details i {
	display: inline-block;
	line-height: 25px;
	vertical-align: middle;
}
.dropzone .dz-preview .dz-details img {
	display: none;
}
.dropzone .dz-preview .dz-details .dz-filename {
	display: inline-block;
	vertical-align: middle;
	max-width: 50%;
	white-space: nowrap;
}
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
	overflow: hidden;
	text-overflow: ellipsis;
}
.dropzone .dz-preview.dz-image-preview:hover {
	z-index: 1000;
}
.dropzone .dz-preview {
	display: block;
	padding: 10px;
	font-size: 12px;
	border-radius: 3px;
	border: var(--ct-border-width) var(--ct-border-style) var(--ct-border-color);
	margin: 0;
	margin-bottom: 5px;
	width: auto;
	height: auto;
	min-height: auto;
}
.fileDelete {
	float: right;
}

.table-fixed{
	table-layout: fixed;
}

#service-history > table > tbody > tr > td,
#reservation-history > table > tbody > tr > td {
	padding: 0;
	line-height: 300%;
	height: 46px;
	color: var(--ct-dark);
}
#service-history > table > tbody > tr > td > a,
#reservation-history > table > tbody > tr > td > a {
	display: block;
	width: 100%;
	text-align: center;
}
#service-history > table > tbody > tr > td > div.text-truncate {
	height: 100%;
	line-height: 3;
}
#reservation-history > table > tbody > tr > td > a > i {
	font-size: 20px;
	vertical-align: middle;
	line-height: 20px;
}
#sms-history > table > tbody > tr > td {
	vertical-align: middle;
	padding: 0.5rem;
	color: var(--ct-dark);
}

.customer-search-history-remove {
	cursor: pointer;
}
.customer-search-history-remove i {
	font-size: 17px;
	font-weight: bold;
}
.scroll-box {
	overflow-y: scroll;
	max-height: 250px;
	min-height: 100px;
}
.modal-customerInfo {
	cursor: pointer;
}

.salesInfo-info {
	border-top: 1px solid var(--ct-dark-bg-subtle);
	padding: 1rem;
	margin-bottom: 1rem;
}
.salesInfo-item span.time {
	display: inline-block;
	font-size: 1.1rem;
	color: var(--ct-dark);
	margin-bottom: 10px;
	font-weight: 500;
	padding: 13px 10px 3px 50px;
	line-height: 36px;
}
.salesInfo-service-list li {
	padding-left: 1.5rem;
	font-size: 14px;
	line-height: 2;
	color: var(--ct-dark);
}
.salesInfo-service-list li span {
	display: inline-block;
	min-width: 100px;
	margin-right: 1rem;
	font-weight: 400;
}
.carousel-close-btn {
	position: absolute;
	right: -1.5rem;
	top : -1.5rem;
	color: var(--ct-light);
	font-size: 1.8rem;
	background-color: var(--ct-dark);
	width: 40px;
	height: 40px;
	text-align: center;
	border-radius: 5rem;
}
.salesInfo-btn-box {
	position: absolute;
	top: 12px;
	right: 8px;
	opacity: 0.8;
}
.dice-box-salesInfo {
	left: 16px;
	top: 20px;
}
.price-text {
	display: inline-block;
	font-size: 12px;
	color: var(--ct-dark);
	font-weight: 500;
	margin-left: 15px;
}
.price-text span {
	color: var(--ct-primary);
	font-size: 15px;
	font-weight: 600;
}
.modal-sales-total {
	border-top: solid 2px var(--ct-dark);
	padding: 0.5rem;
}
.modal-sales-total-text {
	font-size: 20px;
	color: var(--ct-primary);
}
.modal-sales-service-text {
	font-size: 16px;
	color: var(--ct-dark);
	margin-right: 15px;
}
.modal-sales-discount-text {
	font-size: 16px;
	color: var(--ct-danger);
	margin-right: 15px;
}

.item-text { 
	line-height:38px;
}

#reserve-dateadd,
#reserve-miulitdate {
	vertical-align:top;
}

.pass-lock,
.modal-icon {
	font-size: 60px;
	font-weight: 400;
}

.datepicker-inline {
	width: 100%;
}
.datepicker-inline .table-condensed th.prev,
.datepicker-inline .table-condensed th.next {
	padding: 7px 0 !important;
}
.datepicker-inline .table-condensed td.day {
	padding: 7px 24px;
}
.datepicker-inline .table-condensed tbody td.active {
	color: #fff !important;
}

.datepicker-inline .datepicker-months .table-condensed,
.datepicker-inline .datepicker-years .table-condensed,
.datepicker-inline .datepicker-decades .table-condensed,
.datepicker-inline .datepicker-centuries .table-condensed {
	width: 100%;
}

.search-form-label {
	color: var(--ct-dark);
	line-height: 1.5;
	font-size: 0.875rem;
	margin-right: 10px;
	margin-top: 3px;
}
.search-inline-box {
	display: inline-block;
	min-width: 100px;
}
.label-select option.title-label {
	font-weight: 600;
	font-size: 15px;
	color: var(--ct-dark);
}
.label-select option.item-label {
	text-indent: 10px;
}

.middle-form {
	margin-top: 3px;
	padding-right: 0;
}
.middle-form label {
	line-height: 180%;
	font-size: 13px;
	color: var(--ct-dark);
}

.icon-addons {
	position: absolute;
	font-size: 22px;
	top: 10px;
	right: 15px;
	color: var(--ct-secondary);
	opacity: 0.7;
}

.noitems {
	background-color: var(--ct-light);
	border: 1px solid var(--ct-dark-border-subtle);
	border-radius: 0.4rem;
	text-align: center;
	padding: 3rem 0;
}

.table-fixed-container {
    max-height: 400px;
    overflow-y: auto;
}

.table-fixed-container thead th {
    position: sticky;
    top: 0;
    z-index: 10;
}

#range-select-btn {
	position: absolute;
	right: 20px;
	bottom:20px;
}
#range-quick-btn {
	position: absolute;
	left: 20px;
	bottom:20px;
}
#range-quick-container {
	width: 350px;
	padding: 1rem;
}
.flatpickr-current-month .numInputWrapper {
	margin-left: 3rem;
}
.flatpickr-current-month {
    display: flex;
    flex-direction: row;
}

/* 월을 뒤로 */
.flatpickr-current-month .cur-month {
    order: 2;
	line-height: 3;
}

/* 년도를 앞으로 */
.flatpickr-current-month .cur-year {
    order: 1;
}

.card-search {
	border-top: solid 5px var(--ct-primary);
	padding: 0.7rem;
}

select option.drop-manager {
	color: var(--ct-warning);
}

.scroll-box-400 {
	height: 400px;
	overflow-y: auto;
}
table.table-head-fixed thead th {
	position: sticky;
    top: 0;
    z-index: 2;
}

#from_date,
#to_date {
	cursor: pointer;
}

.sortable-ghost {
    opacity: 0;
}
.sortable-fallback {
    opacity: 0 !important;
    display: none !important;
}

.intro-icon {
	width: 8rem;
	height: 8rem;
    font-size: 5.5rem;
}