.reservation {
	padding: 10px 20px 0;
}

.reservation .filterBtn {
	margin-bottom: 20px;
}
.reservation .filterBtn button {
	flex: 1;
	height: 30px;
	background: #F8F8F8;
	color: #363636;
	font-size: 10px;
	letter-spacing: -0.2px;
}
.reservation .filterBtn button:nth-child(2) {
	margin: 0 5px;
}
.reservation .filterBtn button.active {
	background: #4AA61B;
	color: #fff;
}

.reservation .date {
	position: relative;
	margin-bottom: 20px;
}
.reservation .date .swiper-container {
	position: static;
	margin: 0 25px;
}
.reservation .date .swiper-slide {
	text-align: center;
	font-size: 12px;
}
.reservation .date .swiper-slide.current {
	color: #4AA61B;
	font-weight: 700;
	border-bottom: 2px solid #4AA61B;
	padding-bottom: 1px;
}
.reservation .date .swiper-button-next {
	top: 0;
	right: 0;
} 
.reservation .date .swiper-button-prev {
	top: 0;
	left: 0;
}
.reserveList li:nth-child(2n-1) {
	background: rgba(246, 246, 246, 0.8);
}
.reserveList li .flex {
	display: flex;
	padding: 0 10px;
	align-items: center;
	height: 50px;
	line-height: 50px;
}
.reserveList li .flex .name {
	flex: 1;
	font-size: 10px;
	letter-spacing: -0.2px;
}
.reserveList li .flex .team {
	width: 90px;
	font-size: 10px;
	text-align: center;
	letter-spacing: -0.2px;
	text-indent: -10px;
}
.reserveList li .flex .team a {
	display: inline-block;
	width: 20px;
	background: url("../images/ico-zoom.svg")no-repeat 85% 50% / 14px;
	box-sizing: border-box;
	text-indent: -99999px;
}
.reserveList li .flex .price {
	flex: 0.5;
	text-align: center;
	font-size: 10px;
	letter-spacing: -0.2px;
	font-weight: 500;
}
.reserveList li .flex .price:after {
	content: 'VND';
	font-size: 8px;
	letter-spacing: -0.2px;
	margin-left: 2px;
}
.reserveList li .flex .more {
	width: 10px;
	height: 10px;
	background: url("../images/ico-add.svg")no-repeat 50% 50% / 10px;
}
.reserveList li.on {
	background: #4AA61B;
	color: #fff;
}
.reserveList li.on a {
	color: #fff;
}
.reserveList li.on .flex .team a {
	background: url("../images/ico-zoom-white.svg")no-repeat 85% 50% / 14px;
}
.reserveList li.on .flex .more {
	background: url("../images/ico-close.svg")no-repeat 50% 50% / 10px;	
}
.reserveList li.on .schedule {
	display: block;
}
.reserveList li .schedule {
	display: none;
	width: 100%;
}
.reserveList li .schedule > div {
	background: rgba(246, 246, 246, 1);
}
.reserveList li .schedule > div.am {
	border-bottom: 2px solid #fff;
}
.reserveList li .schedule > div.pm {
	border-bottom: 1px solid #C4C4C4;
}
.reserveList li .schedule h3 {
	font-weight: 500;
	font-size: 12px;
	letter-spacing: -0.2px;
	color: #363636;
	padding: 10px;
	box-sizing: border-box;
}
.reserveList li .schedule .scroll {
	white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}
.reserveList li .schedule .box {
	display: inline-block;
	vertical-align: top;
    width: 120px;
    height: 65px;
    background: #fff;
    margin-right: 5px;
    padding: 5px;
    box-sizing: border-box;
    margin-bottom: 7px;
}
.reserveList li .schedule .box:first-child {
	margin-left: 10px;	
}
.reserveList li .schedule .box button {
	display: block;
	width: 100%;
}
.reserveList li .schedule .box .time .fl {
	font-size: 11px;
	letter-spacing: -0.2px;
	color: #363636;
}
.reserveList li .schedule .box .time .fr {
	font-size: 11px;
	letter-spacing: -0.2px;
	text-align: right;
	color: #FF9330;
}
.reserveList li .schedule .box .time .fr:after {
	content: 'hole';
}
.reserveList li .schedule .box .option {
	text-align: left;
	color: #7d7d7d;
	font-size: 11px;
	margin: 3px 0;
}
.reserveList li .schedule .box .price .fl {
	font-size: 12px;
	color: #4AA61B;
	letter-spacing: -0.2px;
}
.reserveList li .schedule .box .price .fl:after {
	content: 'VND';
	color: #00632E;
	font-size: 11px;
	letter-spacing: -0.2px;
	margin-left: 2px;
	font-weight: 500;
}
.reserveList li .schedule .box .price .fr {
	color: #FF9330;
	font-size: 11px;
	letter-spacing: -0.5px;
	font-weight: 500;
}




.reservationDetail {
	padding: 0;
}
.reservationDetail #header {
	text-align: center;
	line-height: 70px;
}
.reservationDetail #header h2 {
	font-weight: 500;
	font-size: 16px;
}
.reservationDetail #header .close {
	position: absolute;
	top: 25px;
	right: 30px;
    line-height: 1;
    width: 20px;
    height: 20px;
}
.reservationDetail #header .close img {
	width: 13px;
	margin: 5px 0;
}
.reservationDetail .detailSlide {
	overflow: hidden;
}
.reservationDetail .info {
	background: #F8F8F8;
	padding: 30px 20px 20px;
}
.reservationDetail .info .name {
	color: #4AA61B;
	font-size: 20px;
	letter-spacing: -0.2px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 10px;
}
.reservationDetail .info .name span {
	color: #7d7d7d;
	font-size: 14px;
}
.reservationDetail .info .addr {
	position: relative;
	background: url("../images/ico-addr.svg")no-repeat 0 4px / 10px;
	padding: 0 32px 0 15px;
	color: #7D7D7D;
	font-size: 10px;
	margin-bottom: 10px;
	letter-spacing: -0.2px;
}
.reservationDetail .info .addr button {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	color: #004D24;
	font-size: 10px;
	letter-spacing: -0.2px;
}
.reservationDetail .info .grid3 a {
	width: 80px;
	height: 20px;
	line-height: 18px;
	margin-right: 10px;
	background: #4AA61B;
	color: #fff;
	text-align: center;
	font-size: 10px;
	letter-spacing: -0.2px;
}
.reservationDetail .info .txt {
	margin-top: 10px;
	font-size: 10px;
	letter-spacing: -0.5px;
	color: #7d7d7d;
}

.reservationDetail .calendar {
	padding: 0 20px;
}
.reservationDetail .calendar h3 {
	padding-top: 20px;
	line-height: 1;
	color: #00632E;
	font-size: 14px;
	font-weight: 700;
	padding-bottom: 10px;
	border-bottom: 1px solid #c4c4c4;
}
.calendar .ui-datepicker {
	position: relative;
	width: 100%;
	padding: 0;
	margin-top: 15px;
}
.calendar .ui-datepicker-calendar thead tr th {
	color: #FF9330;
}
.calendar .ui-datepicker-calendar thead th span {
	font-size: 10px;
    font-weight: 700;
    letter-spacing: -0.2px;
}
.calendar .ui-datepicker-calendar th,
.calendar .ui-datepicker-calendar td {
	width: 14.222%;
}
.calendar .ui-datepicker-calendar .select {
	background: #FF9330;
	color: #fff;
}
.calendar .ui-datepicker-calendar .select a {
	color: #fff;
}
.calendar .ui-datepicker td.select[title]::after {
	color: #fff;
}
.calendar .ui-datepicker td[title]::after {
    content: attr(title);
    display: block;
    position: relative;
    font-size: 9px;
    text-align: center;
    margin-top: -2px;
    color: #c4c4c4;
}
.calendar .ui-datepicker td[title].ui-state-disabled::after {
	display: none;
}
.calendar .ui-datepicker-current-day {
	background: #4AA61B;
}
.calendar .ui-datepicker .ui-datepicker-current-day[title]::after {
	color: #fff;
}
.calendar .ui-datepicker .ui-datepicker-today {
	background: #fff;
}
.calendar .ui-datepicker .ui-datepicker-today[title]::after {
	color: #c4c4c4;
}
.calendar .ui-datepicker .ui-datepicker-prev {
	position: absolute;
	left: 0;
	top: 5px;
	margin: 0;
	width: 25px;
	height: 25px;
	background: url("../images/prev-btn.svg")no-repeat 50% 50% / 100%;
}
.calendar .ui-datepicker .ui-datepicker-next {
	position: absolute;
	left: 210px;
	top: 5px;
	margin: 0;
	width: 25px;
	height: 25px;
	background: url("../images/next-btn.svg")no-repeat 50% 50% / 100%;
}
.calendar .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
	position: absolute;
	top: 0;
	right: 0;
	color: #4AA61B;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: -0.2px;
	opacity: 1;
}
.calendar .ui-datepicker-month {
    color: #171C26;
    font-size: 12px;
    font-weight: 500;
    position: absolute;
    left: 50px;
    top: 11px;
    line-height: 1;
}
.calendar .ui-datepicker .ui-datepicker-title select {
    position: absolute;
    top: 12px;
    left: 130px;
    border: 0;
    padding: 0;
    width: 50px;
    font-size: 12px;
    font-weight: 500;
    margin-top: -3px;
    background-position: 100% 60%;
}
.reserveSchedule .date {
	height: 50px;
	line-height: 50px;
	background: #4AA61B;
	color: #fff;
	padding: 0 10px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: -0.2px;
	margin-bottom: 0;
}


#calendar .thead {
	position: relative;
	height: 72px;
    margin-top: 15px;
}
#calendar #yearmonth {
	color: #171C26;
    font-size: 12px;
    font-weight: 500;
    position: absolute;
    left: 50px;
    top: 11px;
    line-height: 1;
}
#calendar #yearmonth .month {
	display: inline-block;
	width: 60px;
}
#calendar #yearmonth .year {
	margin-left: 35px;
}
#calendar #today {
	position: absolute;
    top: 0;
    right: 0;
    color: #4AA61B;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.2px;
    margin: 0.5em 0.2em 0.4em;
    cursor: pointer;
    padding: 0.2em 0.6em 0.3em 0.6em;
}
#calendar #today .active {
	background: transparent;
}
#calendar th {
    color: #FF9330;
    height: 36px;
}
#calendar td {
    padding: 5px 0;
    height: 36px;
}
#calendar button {
    display: block;
	width: 90%;
	margin: 0 auto;
	padding: 2px 0;
}
#calendar .active button {
	background: #4AA61B;
	color: #fff;
}
#calendar .active button p {
	color: #fff;
}
#calendar button.active {
	background: #4AA61B;
	color: #fff;
}
#calendar button p {
    font-size: 9px;
    color: #c4c4c4;
}
#calendar button.active p {
	color: #fff;
}
#calendar .today button {
	color: #4AA61B;
}
#before {
	position: absolute;
    left: 0;
    top: 5px;
	display: block; 
	margin: 0; 
	width: 25px; 
	height: 25px; 
	background: url("../images/prev-btn.svg")no-repeat 50% 50% / 100%;
}
#next {
	position: absolute;
    left: 210px;
    top: 5px;
	display: block; 
	margin: 0; 
	width: 25px; 
	height: 25px; 
	background: url("../images/next-btn.svg")no-repeat 50% 50% / 100%;
}



.reserveSchedule .date .weather {
	margin-left: 10px;
}
.reserveSchedule .date .weather span {
	padding-left: 15px;
	font-weight: 400;
	font-size: 10px;
}
.reserveSchedule .date .weather .sun {
	background: url("../images/ico-sun.svg")no-repeat 0 50% / 20px;
}
.reserveSchedule .date .weather .cloud {
	background: url("../images/ico-cloud.svg")no-repeat 0 50% / 20px;
}
.reserveSchedule .date .weather .snow {
	background: url("../images/ico-snow.svg")no-repeat 0 50% / 20px;
}
.reserveSchedule .date .weather .cloudLightning {
	background: url("../images/ico-cloud-lightning.svg")no-repeat 0 50% / 20px;
}
.reserveSchedule .date .weather .rain {
	background: url("../images/ico-cloud-rain.svg")no-repeat 0 50% / 20px;
}
.reserveSchedule .schedule {
	width: 100%;
	background: rgba(246, 246, 246, 0.8);
}
.reserveSchedule .schedule > div {
	background: rgba(246, 246, 246, 1);
}
.reserveSchedule .schedule > div.am {
	border-bottom: 1px solid #fff;
}
.reserveSchedule .schedule > div.pm {
	border-bottom: 1px solid #C4C4C4;
}
.reserveSchedule .schedule h3 {
	font-weight: 500;
	font-size: 12px;
	letter-spacing: -0.2px;
	color: #363636;
	padding: 10px;
	box-sizing: border-box;
	border: 0;
}
.reserveSchedule .schedule .scroll {
	white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}
.reserveSchedule .schedule .box {
	display: inline-block;
	vertical-align: top;
    width: 120px;
    height: 65px;
    background: #fff;
    margin-right: 5px;
    padding: 5px;
    box-sizing: border-box;
    margin-bottom: 7px;
    border: 1px solid #fff;
}
.reserveSchedule .schedule .box.active {
	border: 1px solid #FF9330;
}
.reserveSchedule .schedule .box:first-child {
	margin-left: 10px;	
}
.reserveSchedule .schedule .box button {
	display: block;
	width: 100%;
}
.reserveSchedule .schedule .box .time .fl {
	font-size: 11px;
	letter-spacing: -0.2px;
	color: #363636;
}
.reserveSchedule .schedule .box .time .fr {
	font-size: 11px;
	letter-spacing: -0.2px;
	text-align: right;
	color: #FF9330;
}
.reserveSchedule .schedule .box .option {
	color: #7d7d7d;
	text-align: left;
	font-size: 11px;
	margin: 3px 0;
}
.reserveSchedule .schedule .box .price .fl {
	font-size: 12px;
	color: #4AA61B;
	letter-spacing: -0.2px;
}
.reserveSchedule .schedule .box .price .fl:after {
	content: 'VND';
	color: #00632E;
	font-size: 11px;
	letter-spacing: -0.2px;
	margin-left: 2px;
	font-weight: 500;
}
.reserveSchedule .schedule .box .price .fr {
	color: #FF9330;
	font-size: 11px;
	letter-spacing: -0.5px;
	font-weight: 500;
}
.reserveSchedule .empty {
	display: none;
}
.reserveSchedule .empty .date {
	background: #9D9D9D;
}
.reserveSchedule .empty strong {
	display: block;
	width: 100%;
	height: 60px;
	line-height: 60px;
	font-size: 10px;
	font-weight: 500;
	background: #fff;
	letter-spacing: -0.2px;
	padding: 0 20px;
	box-sizing: border-box;
}
#reserveBtn {
	display: block;
	width: 100%;
	height: 40px;
	background: #9d9d9d;
	color: #fff;
	font-size: 12px;
	letter-spacing: -0.2px;
	margin-top: 10px;
}
#reserveBtn.on {
	background: #FF9330;
}


.reservationDetail .fee {
	padding: 0 20px;
}
.reservationDetail .fee h3 {
	padding-top: 20px;
    line-height: 1;
    color: #00632E;
    font-size: 14px;
    font-weight: 700;
    padding-bottom: 10px;
    border-bottom: 1px solid #c4c4c4;
    text-transform: uppercase;
}
.reservationDetail .fee .grayBg {
	background: #F8F8F8;
	padding: 0 10px 20px;
}
.reservationDetail .fee .grayBg > div > p {
	height: 40px;
	line-height: 40px;
	font-size: 10px;
	text-transform: uppercase;
}
.reservationDetail .fee .cont {
	height: 120px;
	line-height: 120px;
	text-align: center;
	background: #FFFFFF;
	border: 1px solid #9D9D9D;
	box-sizing: border-box;
	font-size: 10px;
	margin-bottom: 10px;
}





.reservationInfo {
	padding: 10px 20px;
}
.reservationInfo h3 {
	position: relative;
	height: 40px;
	line-height: 40px;
	text-transform: uppercase;
	color: #00632E;
	font-size: 12px;
	font-weight: 700;
}
.reservationInfo h3 .more {
	position: absolute;
	top: 14px;
	right: 0;
	display: block;
	width: 15px;
	height: 15px;
	background: url("../images/ico-add.svg")no-repeat 50% 50% / 10px;
}
.reservationInfo > div.open h3 .more {
	background: url("../images/ico-close-gray.svg")no-repeat 50% 50% / 10px;
}
.reservationInfo .btLine {
	border-top: 1px solid #c4c4c4;
}
.reservationInfo .information {
	margin-bottom: 20px;
}
.reservationInfo .information table th {
	text-align: left;
	color: #7d7d7d;
	font-size: 10px;
	letter-spacing: -0.2px;
	font-weight: 400;
}
.reservationInfo .information table th:before {
	content: '';
    color: #000;
    display: block;
    border: 1px solid #7d7d7d;
    border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}
.reservationInfo .information table td {
	text-align: right;
	font-size: 10px;
	letter-spacing: -0.2px;
	height: 25px;
}
.reservationInfo .information table td div {
	display: inline-block;
	width: auto;
	border: 1px solid #7d7d7d;
	height: 20px;
	box-sizing: border-box;
	padding: 0 10px;
}
.reservationInfo .information table td div input[type=text] {
	display: inline-block;
	font-size: 10px;
	color: #363636;
	letter-spacing: -0.2px;
}
.reservationInfo .information table td div select {
    padding: 0;
    border: 0;
    font-size: 10px;
    background: none;
    width: 20px;
}
.reservationInfo .information table td div select option {
	font-size: 10px;
}
.reservationInfo .information table td div span {
	display: inline-block;
	vertical-align: middle;
}
.reservationInfo .information table td.person div input[type=text] {
	width: 17px;
	text-align: right;
}
.reservationInfo .information table td.name div input[type=text] {
	width: 51px;
}
.reservationInfo .information table td.phone div input[type=text] {
	width: 87px;
}

.reservationInfo .cont {
	display: none;
}
.reservationInfo .open .cont {
	display: block;
	margin-bottom: 15px;
}
.reservationInfo .cont ul {
	padding-bottom: 10px;
}
.reservationInfo .cont ul li {
	position: relative;
	font-size: 10px;
	letter-spacing: -0.2px;
	margin: 10px 0;
	padding-left: 7px;
	line-height: 1.5;
}
.reservationInfo .cont ul li:before {
	content: '';
    color: #000;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    border: 1px solid #000;
    border-radius: 50%;
}
.reservationInfo .amount table th {
	text-align: left;
	color: #7d7d7d;
	font-size: 10px;
	letter-spacing: -0.2px;
	font-weight: 400;
}
.reservationInfo .amount table th:before {
	content: '';
    color: #000;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    border: 1px solid #000;
    border-radius: 50%;
}
.reservationInfo .amount table td {
	text-align: right;
	font-size: 12px;
	letter-spacing: -0.2px;
	height: 25px;
	font-weight: 500;
}
.reservationInfo .checkGroup {
	margin-top: 20px;
	border-top: 1px solid #c4c4c4;
	padding-top: 10px;
}
.reservationInfo .checkGroup > div {
	position: relative;
	margin: 10px 0;
}
.reservationInfo .checkGroup input[type=checkbox] {
	display: none;
}
.reservationInfo .checkGroup input[type=checkbox] + label {
    display: block;
    width: 15px;
    height: 15px;
    border: 1px solid #7d7d7d;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.reservationInfo .checkGroup input[type=checkbox]:checked + label {
	background: #4AA61B url("../images/ico-check.svg")no-repeat 50% 50% / 9px;
	border: 1px solid #4AA61B;
}
.reservationInfo .checkGroup strong {
    display: block;
    font-size: 12px;
    font-weight: 400;
    padding-bottom: 5px;
}
.reservationInfo .checkGroup p {
    position: relative;
    font-size: 12px;
    line-height: 1.2;
    padding-left: 7px;
    width: 95%;
    box-sizing: border-box;
    letter-spacing: -0.5px;
}
.reservationInfo .checkGroup p:before {
	content: '';
    color: #000;
    display: block;
    position: absolute;
    top: 5px;
    left: 0;
    border: 1px solid #000;
    border-radius: 50%;
}
.reservationInfo .checkGroup p i {
	display: inline-block;
    vertical-align: 0px;
    font-size: 10px;
    font-weight: bold;
    color: #FF0000;
    margin-left: 1px;
}
.reservationInfo .checkGroup button {
	display: inline-block;
	vertical-align: middle;
	color: #0047FF;
	font-size: 8px;
	border-bottom: 1px solid #0047FF;
	margin-left: 1px;
}
.reservationInfo .reserveBtn {
	margin-top: 30px;
	display: block;
	width: 100%;
	height: 40px;
	background: #9d9d9d;
	color: #fff;
	font-size: 12px;
	letter-spacing: -0.2px;
}
.reservationInfo .reserveBtn.on {
	background: #4AA61B;
}


.agreePop h2.tit {
	letter-spacing: -0.5px;
}
.agreePop .conts {
	font-size: 10px;
}


#confirmPop .modalContent {
	padding: 0;
}
#confirmPop h2 {
	height: 50px;
	line-height: 50px;
	background: #4AA61B;
	color: #fff;
	font-weight: 500;
	font-size: 14px;
	padding: 0 20px;
	box-sizing: border-box;
}
#confirmPop .close {
    top: 27px;
    right: 20px;
    left: auto;
}
#confirmPop .scroll {
	max-height: 75vh;
}
#confirmPop .section {
	margin: 0 20px;
	padding-bottom:15px;
	border-bottom: 1px solid #7D7D7D;
}
#confirmPop .section strong {
	display: block;
	padding: 13px 0;
	font-size: 12px;
	font-weight: 500;
}
#confirmPop .section ul li {
	position: relative;
	font-size: 12px;
	letter-spacing: -0.2px;
	margin: 5px 0;
	padding-left: 7px;
	line-height: 1.5;
}
#confirmPop .section ul li:before {
	content: '·';
	display: block;
	font-size: 10px;
	position: absolute;
	top: 2px;
	left: 0;
}
#confirmPop .section table th {
	text-align: left;
	color: #7d7d7d;
	font-size: 10px;
	letter-spacing: -0.2px;
	font-weight: 400;
}
#confirmPop .section table th:before {
	content: '·';
	color: #000;
	display: inline-block;
	margin-right: 5px;
}
#confirmPop .section table td {
	text-align: right;
	font-size: 12px;
	letter-spacing: -0.2px;
	height: 25px;
}
#confirmPop .section table td button {
    display: inline-block;
    vertical-align: 1px;
    font-size: 12px;
    letter-spacing: -0.5px;
    margin-left: 7px;
    border-bottom: 1px solid #363636;
}
#confirmPop .txt {
	border-bottom: 0;
	margin-top: 7px;
}
#confirmPop .txt > p {
	font-size: 10px;
	line-height: 1.5;
    letter-spacing: -0.2px;
}
#confirmPop .btnArea {
	padding: 0 10px 40px;
}
#confirmPop .btnArea button {
	text-align: center;
	height: 40px;
	color: #fff;
}
#confirmPop .btnArea button.cancelBtn {
	flex: 1.2;
	margin-right: 10px;
	background: #363636;
}
#confirmPop .btnArea button.confirmBtn {
	flex: 1.8;
	background: #4AA61B;
}

.myModifyBtn {
	display: none;
	width: 100%;
	height: 50px;
	line-height: 48px;
	background: #4AA61B;
	color: #fff;
	text-align: center;
	font-size: 14px;
	margin-top: 30px;
}



@media screen and (max-width: 480px){
	.reservation .date .swiper-slide span {
		display: block;
	}
}