
/* ========================================================= */
/*                          layout                           */
/* ========================================================= */
html { height:100%; scroll-behavior: smooth; }
body { font-family: 'Quicksand', 'Noto Sans KR', sans-serif; letter-spacing:-0.03em; color: #1a1a1a; }
body.swal2-height-auto { height: 100% !important; }
body>div.contents { margin: 0 auto; }
section { margin:0 0 50px 0; position: relative; }
.subpage { padding-bottom: 10px; }
.subpage section { margin:0 0 30px 0; }

div.ibox { padding: 30px; background-color: #fff; border-radius: 5px; }
div.ex-guide { padding:5px; font-size:12px; background:#f0f0f0 }
.container { width:100%; min-width:320px; max-width: 1280px; padding:0 15px; margin:0 auto; }
.wow { visibility: hidden; }
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
i.fa-solid { animation-iteration-count: 1; }
#inicisModalDiv.inipay_modal { opacity: 1; }




/* ====================================================================== */
/* -------------------------- header / footer --------------------------- */
/* ====================================================================== */
/* 헤더 */
header { position: static; z-index: 1111; }
header>.wrap { position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; max-width: 1280px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between;
  height: 80px; border-bottom: 1px solid rgba(0, 0, 0, 0.08); background: rgba(0, 0, 0, 0.03); transition: all ease 0.35s; }
header .title { position: relative; }
header .title>a { display: block; width: 140px; }
header .title>span { position: absolute; top:-7px; left:2px; font-size: 16px; font-weight: 700; color: #fff; }
header .navi-wrap { flex: 1; height: 100%; }
header .navi-wrap>ul { display: flex; justify-content: right; align-items: center; gap: 5%; height: 100%; }
header .navi-wrap>ul>li { position: relative; height: 100%; }
header .navi-wrap>ul>li>a { height: 100%; display: flex; align-items: center; padding: 10px 10px; font-size: 15px; font-weight: 600; letter-spacing: 1px;
  color:#fff; text-shadow: 0px 0px 2px rgb(0 0 0 / 40%); }
header .navi-wrap>ul>li>a>span { position: relative; }
header .navi-wrap>ul>li>a>span::after { content:''; position: absolute; bottom: 0; left:0; right:0; width: 0%; height: 3px; margin:auto; background-color: #71cda3;
  transition: all ease-out 0.35s; }
header .navi-wrap>ul>li>a:hover>span::after,
header .navi-wrap>ul>li>a.current>span::after { width: 100%; }

/* header.scroll { top:0; }
header.scroll .wrap { background: rgb(0 0 0 / 80%); } */



/* 풋터 */
#footer { width: 100%; height: auto; background: #30343b; clear: both; }
.foot_menu {width:100%; padding:20px 20px; background:#30343b; border-bottom:1px solid rgba(255,255,255,0.07);  }
.foot_menu { max-width: 1024px; margin: 0 auto; }
.foot_menu .fm{ float:left}
.foot_menu .fm li{ display:inline-block; line-height:2em; margin-right:15px; padding-right:15px; border-right:1px solid rgba(255,255,255,0.07); }
.foot_menu .fm li a{ font-size:1.08em; color:rgba(255,255,255,0.9);}
.foot_menu .fm li a.point{color:#e8003f;}
.foot_menu .fm li:last-child{border-right:0; margin-right:0}
.foot_menu .menu { margin-top:20px; }
.foot_menu #phone { display:inline-block; color:#fff; font-size:12px; text-align:center; padding: 0px 20px; background-color:#6C6}
.foot_menu #kakao{ display:inline-block; color:#000; font-size:12px; text-align:center; padding: 0px 20px; background-color:#ffeb33}
.footer_in{ max-width:1024px; height:auto; padding:38px 20px; margin:0 auto; box-sizing:border-box}
.footer_in address h1{ font-size:16px; line-height:1.8; padding-bottom:10px; color:#fff; font-weight:bold; }
.footer_in address p{ overflow:hidden; font-size:13px; color:rgba(255,255,255,0.4);}
.footer_in address p strong{ font-weight: 500;  color:rgba(255,255,255,0.5);}
.footer_in address p span{display:inline-block;margin-right:10px; line-height:1.8em;}
.footer_in address p.addr{margin-top:18px;}
.footer_in address p.copylight{ font-size:13px; color:#999; margin-top:18px;}
.footer_in address{float:left; width:65%; font-style:normal}
.footer_in .customer{float:right; color:rgba(255,255,255,0.5); margin-left:20px; padding-left:30px; border-left:1px solid rgba(255,255,255,0.05); font-size:13px;}
.footer_in .customer .main_tel{font-size:15px; font-weight:300; color:#fff; margin-bottom:20px; margin-top:20px;}
.footer_in .customer .main_tel span{font-size:20px; font-weight:bold; color:#e8003f; display:block; margin-top:10px;}
@media screen and (max-width: 640px) {
	.footer_in address { width:100%}
	.footer_in .customer { width:100%; border-left:0; margin-left:0; padding-left:0}
	.foot_menu .fm { margin-bottom:20px}
}



/* ========================================================= */
/*                           etc...                          */
/* ========================================================= */
input.currency { text-align:right }
input.decimal { text-align:right }
input.date { text-align:center }

/* empty, no item */
.no-item { padding: 40px; background: #fbf7f7; color: #919191; text-align: center; font-size: 14px; flex:1; }

/* swiper */
.swiper .swiper-pagination-bullet-active { background-color: #fff; }

/* title */
.tit { border-bottom: 2px solid #ddd; padding-bottom: 2px; font-weight: 600; }
.tit>small { color:#919cad; margin-left: 5px; }
.tit+.tbox { background-color: #f7f7f7; padding: 10px 10px 10px; }

/* search box */
.search .btn, .search select, .search .input-group-text, .search input { border-radius: 0; }

/* tab navi */
.tab-btns+.tab-content { padding: 30px 0px; }
.tab-s1.tab-btns { border-bottom: 1px solid #cfd8dc; }
.tab-s1.tab-btns>ul>li { float: left; margin-bottom: -1px; text-align: center; }
.tab-s1.tab-btns>ul>li>button { position: relative; display: block; border-top: 1px solid #cfd8dc; border-right: none; border-bottom: 1px solid #cfd8dc; border-left: 1px solid #cfd8dc; border-radius: 0 !important; background-color: #F1F3F5; color: #4b90b3; font-weight: 500; width: 100%; }
.tab-s1.tab-btns>ul>li:last-child>button { border-right: 1px solid #cfd8dc; }
.tab-s1.tab-btns>ul>li>button:after { content: ''; height: 0px; display: block; position: absolute; top: -1px; left: -1px; right: -1px; background-color: transparent; z-index: 1; transition: all ease 0.30s; -webkit-transition: all ease 0.30s; -moz-transition: all ease 0.30s; -ms-transition: all ease 0.30s; -o-transition: all ease 0.30s; }
.tab-s1.tab-btns>ul>li>button.active { background-color: #fff; border-bottom: 1px solid #fff; margin-bottom: -1px; color: #263238; font-weight: 600; }
.tab-s1.tab-btns>ul>li>button.active:after { background-color: #9F4BC1; height: 3px; }
.tab-s2.tab-btns { border-bottom: 1px solid #e2e2e2; }
.tab-s2.tab-btns>ul>li { float: left; margin-bottom: -1px; }
.tab-s2.tab-btns>ul>li>button { position: relative; display: block; border-top: 1px solid #e2e2e2; border-right: none; border-bottom: 1px solid #e2e2e2; border-left: 1px solid #e2e2e2; border-radius: 0 !important; background-color: #fff9f4; color: #b3968c; width: 100%; }
.tab-s2.tab-btns>ul>li:last-child button { border-right: 1px solid #e2e2e2; }
.tab-s2.tab-btns>ul>li button:after { content: ''; height: 0px; display: block; position: absolute; top: -1px; left: -1px; right: -1px; background-color: transparent; z-index: 1; transition: all ease 0.30s; -webkit-transition: all ease 0.30s; -moz-transition: all ease 0.30s; -ms-transition: all ease 0.30s; -o-transition: all ease 0.30s; }
.tab-s2.tab-btns>ul>li button.active { background-color: #fff; border-bottom: 1px solid #fff; color: #4a1421; font-weight: 600; }
.tab-s2.tab-btns>ul>li button.active:after { background-color: #f96e8e; height: 3px; }

/* sweet alert custrom */
.swal2-container .swal2-styled.swal2-confirm:focus { box-shadow: none !important; }
.swal2-container .swal2-popup { width: auto; min-width: 400px; padding: 35px 35px 30px; }
.swal2-container .swal2-title { padding : 0; margin-bottom: 10px; font-size: 15px; text-align: left; font-weight: 500; }
.swal2-container .swal2-html-container { padding: 0; margin: 0; text-align: left; font-size: 16px; font-weight: 600; margin-bottom: 20px; }
.swal2-container .swal2-actions { width: 100%; margin-top: 5px; justify-content: right; }
.swal2-container .swal2-actions>button { padding: 5px 15px; margin: 0 0 0 5px; font-size: 14px; }
.swal2-container .swal2-icon { display: none !important; }
.swal2-container .swal2-styled.swal2-confirm { background-color: #0077fe; }
.swal2-container .tx-st2 { font-size: 14px; padding: 15px 0; }

/* toast custom */
.jq-toast-wrap .jq-toast-single { margin: 0 0 15px; padding: 12px 20px 8px 12px; border: 1px solid rgb(0 0 0 / 25%); border-radius: 2px; border-top-left-radius: 0; 
  border-top-right-radius: 0; word-break: keep-all; background-color: rgb(33 33 33 / 80%); }
.jq-toast-wrap .jq-toast-single.jq-has-icon { padding: 12px 20px 12px 50px; }
.jq-toast-wrap .jq-toast-single a { padding-bottom: 1px; }
.jq-toast-wrap .jq-toast-single a:hover { color:inherit; }
.jq-toast-wrap .jq-toast-single .jq-toast-heading { background: rgb(0 0 0 / 11%); padding: 4px 5px 3px; font-weight: 600; color:#fff; }
.jq-toast-wrap .jq-toast-loader { top: 0px; height: 4px; border-radius: 0px; background-color: rgba(255, 255, 255, 0.33) !important; color: #fff; }
.jq-toast-wrap .close-jq-toast-single { top:11px; }
.jq-toast-wrap .jq-icon-info { background-color: #62bfc7; color: #2d595d; }
.jq-toast-wrap .jq-icon-error { background-color: #b35755; }
.jq-toast-wrap .jq-icon-warning { background-color: #bda259; color: #554929; }
.jq-toast-wrap .jq-icon-success { background-color: #61af52; color: #32552b; }

/* datepicker custom */
.datepicker.dropdown-menu { padding:0; border-color:#24a57a; min-width: 265px; }
.datepicker.dropdown-menu.datepicker-orient-top:before { border-top: 7px solid #24a57a; }
.datepicker.dropdown-menu table { width: 100%; }
.datepicker.dropdown-menu table>thead>tr>th { border-radius: 0; background-color: #10b981; color:#fff; text-align: center;}
.datepicker.dropdown-menu th.prev>span,
.datepicker.dropdown-menu th.next>span { width: 24px; }
.datepicker.dropdown-menu th.datepicker-switch { height: 60px; font-size: 16px; font-weight: 500; letter-spacing: 1px; }
.datepicker.dropdown-menu th.prev:hover,
.datepicker.dropdown-menu th.next:hover,
.datepicker.dropdown-menu th.datepicker-switch:hover { background-color: #0faf7a; }
.datepicker.dropdown-menu table>thead>tr>th.cw,
.datepicker.dropdown-menu table>thead>tr>th.dow { background-color: #24a57a; }
.datepicker.dropdown-menu table>thead>tr>th.dow { font-size: 14px; border-bottom: 1px solid #ffffff; }
.datepicker.dropdown-menu table>tbody>tr>td { width: 36px; height: 36px; font-size: 15px; transition: all ease 0.25s; }
.datepicker.dropdown-menu table>tbody>tr>td:not(.new):not(.old):nth-child(6) { color: #0d6efd; }
.datepicker.dropdown-menu table>tbody>tr>td:not(.new):not(.old):nth-child(7) { color: #b81c1c; }
.datepicker.dropdown-menu table>tbody>tr>td.today { text-decoration: underline; background-image: linear-gradient(to bottom, #fff, #fff); }
.datepicker.dropdown-menu table>tbody>tr>td.today:hover { background-image: linear-gradient(to bottom, #eee, #eee); }
.datepicker.dropdown-menu table>tbody>tr>td.day.active:hover,
.datepicker.dropdown-menu table>tbody>tr>td.active,
.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover { background-image: linear-gradient(to bottom, #10b981, #219971); color:#fff !important; }
.datepicker.dropdown-menu table>tfoot>tr>th.today { background-color: #10aa77; color:#fff; border-bottom: 3px solid #fff; }
.datepicker.dropdown-menu table>tfoot>tr>th.today:hover { background-color: #0faf7a; }
.datepicker.dropdown-menu table>tfoot>tr>th.clear { background-color: #b8b8b8; color:#fff; }
.datepicker.dropdown-menu table>tfoot>tr>th.clear:hover { background-color: #b1b1b1; }


/* hands on table */
.sheets { border: 2px solid #666; }
.sheets .handsontable .htDimmed { color: #000; }
.sheets .wordWrapClass { text-overflow: ellipsis; white-space: nowrap !important; }
.sheets .handsontable .htCheckboxRendererInput { margin: 0; }
.sheets .handsontable td { padding: 0 4px; height: 20px; line-height: 20px; background-color: #fff; vertical-align: middle; overflow: hidden; }
.sheets .ht_clone_master textarea { background:#ccffcc; text-align:right }

/* edit form layout */
.edit-form { margin-bottom:20px; }
.edit-form label.form-label small { margin-left:8px; font-weight:400; color:#555; }
.edit-form .col-form-label { padding:10px 10px 10px 0 !important; }
.edit-form .form-title { border-bottom: 1px solid #d9dee1 !important; }
.edit-form .form-title h5 { font-size:18px; font-weight:500; }
.edit-form .form-title h5 > small { font-size:12px; }
.edit-form .form-group { padding:10px 0; border-bottom: 1px dashed #d9dee1; }
.edit-form .form-control-text { padding:7px 0;}
.edit-form .bootstrap-select button.btn { --bs-btn-padding-y: 8px; height: 38px; border-radius: 3px; }
.edit-form .form-text-value { font-size:14px; padding:10px; }
.edit-form table { font-size:12px; }

/* drop-item */
.swiz .dropdown-menu { --bs-dropdown-padding-y: 5px; }
.swiz .dropdown-item { font-size: 13px; cursor: pointer; }






/* ========================================================= */
/*                      custom component                     */
/* ========================================================= */
dl.grider { display: grid; grid-template-columns: auto 1fr; gap: 10px 10px; align-items: center; }
dl.grider>dt { padding-right: 15px; }

.tit-line { position: relative; text-align: center; margin-bottom: 20px; }
.tit-line>span { position: relative; padding: 0 10px; background-color: #fff;  font-size: 18px; font-weight: 500; }
.tit-line::before { content: ''; position: absolute; left: 0; top: calc(50% - 1px); width: 100%; height: 1px; background: #e9e9e9; }

.breadcrumb { margin-bottom: 0px; padding: 5px 5px; }
.breadcrumb>ul { display: flex; align-items: center; gap:3px; }
.breadcrumb>ul>li { line-height: 18px; }
.breadcrumb>ul>li::after { content:'\f105'; font: var(--fa-font-solid); color:#b6b6b6; margin-left: 3px; }
.breadcrumb>ul>li:last-child::after { content:''; margin:0; }
.breadcrumb>ul>li:last-child { font-weight: 500; }
.breadcrumb>ul>li>a { color: #888; }

.info-text { margin-top: 10px; }
.info-text ul.list-st1>li:before { top: 8px; }

ul.pagination .active>.page-link { background-color: #a5a5a5; border-color: #999; }
ul.pagination .active>.page-link:hover { color:#fff; } 
ul.pagination .page-link:hover { color:#222; }

.fs-modal .modal-body .input-form { margin-bottom: 20px; }
.fs-modal .modal-body .head-tx>p { font-size: 20px; font-weight: 600; }
.fs-modal .modal-body .head-tx>p:last-child { font-size: 18px; font-weight: 500; }
.fs-modal .modal-body .body-tx { padding: 10px 10px; background: #eee; }
.fs-modal .modal-body .body-tx ul li { word-break: keep-all; }

.progress-wrap { padding: 15px 5px 20px; min-height: 65px; }
.progress-wrap .bar-container { position: relative; padding: 0 20px; }
.progress-wrap .bar { position: absolute; top: 50%; left: 50%; background: #E8DFD8; width: calc(100% - 40px); height: 3px; border-radius: 10px; transform: translate(-50%, -50%);
  overflow: hidden; }
.progress-wrap .bar .bar-fill { display: block; background: #ceab6a; height: 100%; }
.progress-wrap .gradations { position: relative; display: flex; flex-direction: row; justify-content: space-between; width: 100%; }
.progress-wrap .gradations .point { position: relative; }
.progress-wrap .gradations .point::before { content:''; display: block; position: relative; background: #c6b89d; width: 8px; height: 8px; border-radius: 100%;
  transition: 0.3s ease; z-index: 1; }
.progress-wrap .gradations .point.active::before { background: #FFFFFF; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 6px #ceab6a; }
.progress-wrap .gradations .point.current::before { background: #FFFFFF; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 10px #ceab6a; }
.progress-wrap .gradations .point .p-label { position: absolute; top: 100%; left: 50%; margin: 15px 0 0 0; transform: translate(-50%, 0); width: 48px; font-weight: 500;
  text-align: center; word-break: keep-all; line-height: 1.1; }




/* ======================================================================== */
/* ------------------------------ page:common ----------------------------- */
/* ======================================================================== */
.booking { background: url('/images/background/main_01.jpg') no-repeat 0 0; background-color: #273924; padding-top: 110px; padding-bottom: 20px; min-height: 100vh; }
.booking section { margin: 0 0 40px; }
.booking section:last-child { padding-bottom: 0; }
.booking section div.ibox>div:not(:last-child) { margin-bottom: 40px; }
.booking section h4 { font-size: 25px; font-weight: 600; line-height: 1; margin-bottom: 15px; border-bottom: 2px solid #198754; padding-bottom: 5px; }
.booking section h4>span { color:#0b7544; }
.booking section .tit { font-size: 18px; margin-bottom: 20px; }
.booking section .bt-box { border-top: 1px dashed #cdcdcd; padding-top: 40px; }
.booking section .bt-box>button { font-size: 20px; height: auto; padding: 15px 20px; }
.booking section .alert ul>li>p { font-size: 16px; }




/* ========================================================= */
/*                          sub page                         */
/* ========================================================= */
.page-main .sec-info .alert { margin-bottom: 0; }

.calendar-box { padding: 0 20px; }
.calendar-box .ui-widget { font-family: 'Noto Sans KR', sans-serif; }
.calendar-box .ui-datepicker { width: 100%; }
.calendar-box .ui-datepicker .ui-datepicker-header { border:none; background: none; }
.calendar-box .ui-datepicker .ui-datepicker-title { padding: 5px; font-size: 18px; font-weight: 500; }
.calendar-box .ui-datepicker .ui-datepicker-prev,
.calendar-box .ui-datepicker .ui-datepicker-next {
  width: 80px;
  height: calc(100% - 4px);
  top:0;
  background-color: #f7f7f7;
  border:none;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
.calendar-box .ui-datepicker .ui-datepicker-prev { left: 0; }
.calendar-box .ui-datepicker .ui-datepicker-next { right: 0; }
.calendar-box .ui-datepicker .ui-datepicker-prev-hover { left: 0; background-color: #eee; }
.calendar-box .ui-datepicker .ui-datepicker-next-hover { right: 0; background-color: #eee; }
.calendar-box .ui-datepicker .ui-datepicker-prev span.ui-icon,
.calendar-box .ui-datepicker .ui-datepicker-next span.ui-icon {
  background-image: none;
  text-indent: 0;
  margin:0;
  width: auto;
  height: auto;
  position: static;
}
.calendar-box .ui-datepicker-calendar th {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}
.calendar-box .ui-datepicker-calendar th>span {
  font-size: 15px;
  font-weight: 500;
  color: #5f5f5f;
}
.calendar-box .ui-datepicker td {
  position: relative;
}
.calendar-box .ui-datepicker td span.ui-state-default {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  line-height: 42px;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  border:none;
  background: none;
}
.calendar-box .ui-datepicker td a {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  line-height: 50px;
  border-radius: 25px;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  color:#666;
  text-align: center;
}
.calendar-box .ui-datepicker td:nth-child(1)>a {
  color:#cd5555;
}
.calendar-box .ui-datepicker td:nth-child(7)>a {
  color:#6289d3;
}
.calendar-box .ui-datepicker td a.ui-state-default {
  margin: 8px auto;
  border: none;
  background-color: #fff;
}
.calendar-box .ui-datepicker td a.ui-state-default:hover {
  background-color: #d3f7eb;
}
.calendar-box .ui-datepicker td.highlight-range>a {
  background-color: #198754 !important;
  border-color: #117245;
  color: white !important;
}
.calendar-box .ui-datepicker td.highlight-range.ui-datepicker-current-day>a::before {
  content:'';
  width: 100%;
  height: 5px;
  background: #aaa;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  margin: auto;
  z-index: -1;
}
.calendar-box .info-sel {
  margin-top: 10px;

}



.booking.page-date .bt-box {
  display: flex;
  justify-content: space-between;
}

.booking.page-pay .payment {
  position: sticky;
  top:20px;
}
.booking.page-pay .payment .t-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}
.booking.page-pay .payment .t-price>span:first-child {
  font-size: 14px;
  font-weight: 500;
}
.booking.page-pay .payment .t-price>span.won {
  font-size: 30px;
  font-weight: 700;
}
.booking.page-pay .payment .radio-group {
  flex-direction: column;
}
.booking.page-pay .payment .bt-box {
  padding-top: 30px;
}
.booking.page-pay table.table tr>td { 
  font-size: 15px;
}
.booking.page-pay .ip-box .input-group:not(:last-child) {
  margin-bottom: 20px;
}
.booking.page-pay .ip-box .input-group>span {
  width: 115px;
}
.booking.page-pay ul>li>p { font-size: 15px; }


.booking.page-done .ico-chk {
  width: 80px;
  height: 80px;
  margin: 80px auto 0;
  border: 4px solid #198754;
  border-radius: 50%;
  display: flex;  
  align-items: center;
  justify-content: center;
}
.booking.page-done .ico-chk>i {
  display: inline-block;
  color: #198754;
  font-size: 4em;
}
.booking.page-done .txt-wrap {
  text-align: center;
  margin-bottom: 80px;
}
.booking.page-done .txt-wrap>p {
  font-size: 20px;
  font-weight: 500;
}
.booking.page-done .txt-wrap>p:first-child {
  font-size: 26px;
  font-weight: 600;
  color: #198754;
}
.booking.page-check .sec-ip .inner {
  max-width: 500px;
  margin: 0 auto;
}
.booking.page-check .sec-ip .inner h5 {
  font-size: 24px;
  font-weight: 600;
  border-bottom: 2px solid #444;
  padding-bottom: 5px;
  margin-bottom: 15px;
}
.booking.page-check .sec-ip .inner>div:not(:last-child) { margin-bottom: 25px; }
.booking.page-check p.tit>span { font-size: 80%; font-weight: 500; color:#666; }
.booking.page-check p.tit>span>em { font-weight: 700; color:#0b7544; font-style: normal; }
.booking.page-check table.table.basic>tbody>tr>th { width: 100px; }
.booking.page-check .list-wrap table.table { margin-bottom: 30px; }




/* ====================================================================== */
/* ------------------------------ animation ----------------------------- */
/* ====================================================================== */
/* check circle */
.cmark-wrapper { height:100px; display:flex; justify-content:center; align-items:center; }
.cmark-wrapper svg.checkmark { width: 56px; height: 56px; border-radius: 50%; display: block; stroke-width: 2; stroke: #fff; stroke-miterlimit: 10; margin: 0 auto;
  box-shadow: inset 0px 0px 0px #74c9e2; animation: cm_fill .4s ease-in-out .4s forwards, cm_scale .3s ease-in-out .9s both; }
.cmark-wrapper svg.checkmark .checkmark-circle { stroke-dasharray: 166; stroke-dashoffset: 166; stroke-width: 1; stroke-miterlimit: 10; stroke: rgba(0, 0, 0, 0.11);
  fill: none; animation: cm_stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; }
.cmark-wrapper svg.checkmark .checkmark-check { transform-origin: 50% 50%; stroke-dasharray: 48; stroke-dashoffset: 48;
  animation: cm_stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; }
.cmark-wrapper svg.checkmark.cross { box-shadow: inset 0px 0px 0px #c53a3a; animation: cr_fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both; }
.cmark-wrapper svg.checkmark.cross .checkmark_cross { transform-origin: 50% 50%; stroke-dasharray: 29; stroke-dashoffset: 29;
  animation: cr_stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; }

/* animate.css custom override */
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* custom animation */
@keyframes beat { 0%, 100% {transform: scale(1); }  50% {transform: scale(1.35); } }
@keyframes sk-stretchdelay { 0%, 40%, 100% { transform: scaleY(0.4); -webkit-transform: scaleY(0.4); }  20% { transform: scaleY(1.0);-webkit-transform: scaleY(1.0); } }
@keyframes cm_scale { 0%, 100%{ transform: none; } 50%{ transform: scale3d(1.1, 1.1, 1); } }
@keyframes cm_fill { 100%{ box-shadow: inset 0px 0px 0px 30px #5bc0de; } }
@keyframes cm_stroke { 100%{ stroke-dashoffset: 0; } }
@keyframes cr_fill { 100%{ box-shadow: inset 0px 0px 0px 30px #e97f7f; } }
@keyframes cr_stroke { 100%{ stroke-dashoffset: 0; } }
@keyframes spinnner_circle { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }


/* animista style */
.tracking-in-expand { animation: tracking-in-expand 1.55s cubic-bezier(0.215, 0.610, 0.355, 1.000) both; }
.tracking-in-contract { animation: tracking-in-contract 0.8s cubic-bezier(0.215, 0.610, 0.355, 1.000) both; }
.tracking-in-contract-bck { animation: tracking-in-contract-bck 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both; }
.tracking-in-contract-bck-top {	animation: tracking-in-contract-bck-top 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both; }
.slide-in-bottom {animation: slide-in-bottom 1.0s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; }
.text-focus-in {animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) both; }
.jello-horizontal {	animation: jello-horizontal 0.9s both; }
.fade-in-bck {animation: fade-in-bck 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; }
.puff-in-hor {animation: puff-in-hor 1.05s cubic-bezier(0.470, 0.000, 0.745, 0.715) both; }
.heartbeat {animation: heartbeat 1.5s ease-in-out infinite both; }

@keyframes tracking-in-contract {
  0% {
    letter-spacing: 1em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    letter-spacing: normal;
    opacity: 1;
  }
}

@keyframes tracking-in-contract-bck-top {
  0% {
    letter-spacing: 1em;
    transform: translateZ(400px) translateY(-300px);
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    transform: translateZ(0) translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}

@keyframes tracking-in-contract-bck {
  0% {
    letter-spacing: 1em;
    transform: translateZ(400px);
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    transform: translateZ(0);
    opacity: 1;
  }
}
@keyframes slide-in-bottom {
  0% {
    transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    filter: blur(0px);
    opacity: 1;
  }
}
@keyframes jello-horizontal {
  0% {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes fade-in-bck {
  0% {
    transform: translateZ(80px);
    opacity: 0;
  }
  100% {
    transform: translateZ(0);
    opacity: 1;
  }
}
@keyframes puff-in-hor {
  0% {
    transform: scaleX(2);
    filter: blur(4px);
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    filter: blur(0px);
    opacity: 1;
  }
}
@keyframes heartbeat {
  from {
    transform: scale(1);
    transform-origin: center center;
    animation-timing-function: ease-out;
  }
  10% {
    transform: scale(0.91);
    animation-timing-function: ease-in;
  }
  17% {
    transform: scale(0.98);
    animation-timing-function: ease-out;
  }
  33% {
    transform: scale(0.87);
    animation-timing-function: ease-in;
  }
  45% {
    transform: scale(1);
    animation-timing-function: ease-out;
  }
}

