@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative&family=Poppins&display=swap');

:root {
	--light-blue:#cce5ff;
	--primary-blue:#66b0ff;
	--normal-blue:#699CFE;
	--primary-blue:#6990f2;
	--dark-blue:#695CFE;
	--light-green:#f3ffa8;
	--primary-green:#c5e019;
}

html {
    scroll-behavior: smooth;
}

body {
	font-family:"Poppins" ,sans-serif;
	box-sizing:border-box;	
	overflow-x:hidden;
}

::-webkit-scrollbar {
	width:8px;
	height:8px;
}

::-webkit-scrollbar-track {
	background:#fff;
	border-radius:100vw;
	margin-block:.5rem;
}

::-webkit-scrollbar-track {
	background:#eee;
	border-radius:100vw;
	margin-block:.5rem;
}
 
::-webkit-scrollbar-thumb {
	background:#bbb;
	border-radius:100vw;
}

::-webkit-scrollbar-thumb:hover {
	background:var(--normal-blue);
}

.nav ul li:nth-child(3) a::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	color:#fff;
	background:var(--secondary-color);;
}

@media screen and (max-width:80rem) {
	
	.nav ul li:nth-child(3) a{
		color:#fff;
		background:var(--primary-color);
	}
	
	.nav ul li:nth-child(3) a:hover{
		color:#fff;
		background:var(--primary-color);
	}
	
	.nav ul li:nth-child(3) a::after{
		content:'';
		display:none;
	}
}
/**/
* {
	padding:0;
	margin:0;
	box-sizing:border-box;
}

a {
	text-decoration:none;
}

button {
	border:none;
	background:transparent;
	cursor:pointer;
}

button:active {
	outline:2px solid #ddd;
}

.front-cover {
	width:100vw;
	height:clamp(400px,calc(80vh - 15px),1000px);
	position:relative;
	object-fit:cover;
	top:0;
	left:0;
}

.front-content {
	width:100vw;
	height:clamp(400px,calc(80vh - 15px),1000px);
	position:absolute;
	z-index:1;
	top:0;
	left:0;
	display:flex;
	justify-content:center;
	align-items:center;
}

.front-content h1 {
	width:clamp(100px,90vw,500px);
	color:#fff;
	transform:scale(1.6);
	text-shadow:0 0 6px #000;
	text-align:center;
}

@media (max-width:540px) {
	p {
		text-align:justify;
	}
}

@media (max-width:1000px) {
	.front-content h1 {
		transform:scale(1.2);
	}
}

@media (max-width:600px) {
	
	.front-content h1 {
		transform:scale(1);
	}
}

@media (max-width:400px) {
	.front-content h1 {
		#transform:scale(1);
	}
}
/**/
.search-wrapper {
	width:clamp(250px,100%,1400px);
	#min-height:80px;
	margin-inline:auto;
	margin-top:-40px;
	background:var(--secondary-color);
	padding:1rem;
	position:relative;
	box-shadow:0 0 5px #0002;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

@media (max-width:800px) {
	.search-wrapper {
		padding:min(5vw,1.5rem);
		padding-bottom:20px;
	}
}

.search-wrapper * {
	#outline:1px solid red;
}

.flex {
	display:flex;
	align-items:flex-end;
}

.relative {
	position:relative;
	width:max-content;
	height:max-content;
	margin:5px;	
}

.btn-option,
.search-wrapper .flex {
	height:60px;
	padding:1rem;
}

.search-wrapper > *:last-child  .btn-option{
	margin-right:0px;
	padding:1rem;
}

.btn-option{
	font-size:.9rem;
	border:1px solid #f1f1f1;
	font-weight:400;
	background:#fff;
	margin-inline:0px;
	padding:1rem;
	width:255px;
}

.btn-option i { 
   margin-inline:2px;
   color:#999;
}

.btn-option:hover{
	background:#f1f1f1;
}

input:focus,
select:focus {
	outline:1px solid #ddd;
}

.search-wrapper select {
	width:max-content;
	height:30px;
	border:1px solid #ddd;
	border-radius:2px;
	margin-block:auto;
}

.search-wrapper i {
	color:#aaa;
	margin-right:5px;
}

/**/

.search-form-data{
	width:255px;
	display:flex;
	height:60px;
	flex-direction:column;
	align-items:center;
	border:1px solid #f1f1f1;
	padding:10px 20px;
	background:#fff;
	margin-top:0px;
}

.search-form-data:hover {
	background:#f1f1f1;
}

.search-form-data > *{
	width:max-content;
}

.search-form-data > label{
	font-size:1.1rem;
	margin-bottom:5px;
	font-weight:500;
}
.search-form-data > span{
	font-size:.8rem;
	font-weight:300;
	text-transform:capitalize;
}
/**/

.date-picker-wrapper2,
.date-picker-wrapper {
  position:relative;
  z-index:2;
  width: clamp(100px,100%,300px);
  background: #fff;
  margin:0px auto;
  margin-bottom:20px;
  border:1px solid #f1f1f1;
  cursor: pointer;
  user-select: none;
}

.selected-date2,
.selected-date {
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  display:flex;
  justify-content:center;
}

.selected-date2 > *,
.selected-date > *{
  width:max-content;
  display:flex;
  flex-direction:column;
  gap:5px;  
  margin-inline:5px; 
  align-items:center; 
  padding:.5rem .75rem;  
}

.selected-date2 > * label,
.selected-date > * label{
  width:max-content;
  display:inline-block;
  font-weight:400;
  color:var(--primary-color);  
}

.selected-date2 > * span,
.selected-date > * span{
  display:inline-block;
  width:max-content;
  overflow:hidden;
}

.check-out-btn2,
.check-in-btn2,
.check-out-btn,
.check-in-btn {
  cursor:pointer;
  min-width:160px;  
  width:max-content;
  font-size:.8rem;
}

.check-out-btn2 label,
.check-in-btn2 label,
.check-out-btn label,
.check-in-btn label{
  font-size:1rem;
}

.dates-container4,
.dates-container3, 
.dates-container2,
.dates-container {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  box-shadow:0 0 10px #0003;
}

.selected {
  background:#eee;
}

.active {
  visibility: visible;
}

.month4,
.month3, 
.month2,
.month {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background:#f1f1f1;
}

.month4 .arrows,
.month3 .arrows, 
.month2 .arrows,
.month .arrows {
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
}

.month4 .arrows:hover,
.month3 .arrows:hover, 
.month2 .arrows:hover,
.month .arrows:hover {
  background-color:#ddd;
}

.month4 .arrows:active,
.month3 .arrows:active, 
.month2 .arrows:active,
.month .arrows:active {
  background-color: rgb(91 122 227);
}

.days-container4,
.days-container3,
.days-container2,
.days-container {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  height: calc(var(--height) + 10px);
  grid-auto-rows: calc(var(--height) / var(--boxsize));
  background:#0001;
  padding-inline:5px;
  border:1px solid #f1f1f1;
}

.days-container4 .day,
.days-container3 .day,
.days-container2 .day,
.days-container .day {
  display: flex;
  justify-content: center;
  align-items: center;
  color:#677;
  padding-inline:5px;
  margin:3px 1px;
  border-radius:50%;
  border:1px solid #e1f1ff;
  font-size:.9rem;
  background:#fff;
}

.days-container4 .day:hover,
.days-container3 .day:hover,
.days-container2 .day:hover,
.days-container .day:hover {
  #background-color: #eee;
  border:1px solid #ddd;
}

.days-container4 .day.selected,
.days-container3 .day.selected, 
.days-container2 .day.selected,
.days-container .day.selected {
  background-color: #d7e9ff;
}

.check-availability-wrapper {
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	min-height:400px;
	z-index:15;
	display:flex;
	justify-content:center;
	align-items:center;
	transform:translate(-100vw);
	transition:transform 500ms ease 300ms;
}

.check-availability-wrapper.active-check-available {
	transform-origin:left;
	transform:translate(0);
	transition:transform 500ms;
}

.check-availability-content {
	padding:5px;
	margin-inline:5px;
    width:clamp(100px,100%,500px);
	background-image: linear-gradient(to top,var(--primary-color-light) 10%,#fff 70%);
	border-radius:5px;
	box-shadow:0 0 30px #0003;
	position:relative;
	transform-origin:top left;
	transform:scale(0);
	transition:transform 500ms;
}

.check-availability-content.active-available-content {
	transform:scale(1);
	transition:transform 300ms ease 500ms;
}

.display-none {
	display:none;
}

.mg-bm-20 {
    margin-bottom:40px;
}	
/**/

.details-wrapper2,
.details-wrapper {
	position:absolute;
	top:60px;
	left:;
	width:100%;
	z-index:1;
	min-height:200px;
	padding:10px;
	background:#fff;
	border:1px solid #f1f1f1;
	box-shadow:0 0 10px #0003;
}

.details-wrapper2 > *,
.details-wrapper > *{
	margin-block:28px;
	display:flex;
	justify-content:space-between;
}

.details-wrapper2 div label,
.details-wrapper div label{
	display:inline-block;
	min-width:100px;
	position:relative;
	font-size:.85rem;
}

.details-wrapper2 div label #age,
.details-wrapper div label #age {
	display:inline-block;
	position:absolute;
	top:50%;
	left:0;
	color:#aaa;
	font-size:.9rem;
}

.flex-options label{
	display:inline-block;
	min-width:80px;
}

.flex-options {
	width:130px;
	display:flex;
	justify-content:space-around;
}

.flex-options button{
	padding:.5rem .75rem;
	border:1px solid #ddd;
}
.flex-options span{
	display:inline-block;
	font-size:1rem;
	margin-top:8px;
}
/**/

.close-btn {
	position:absolute;
	top:5px;
	right:5px;
	font-size:1rem;
	background:#fff7;
	transition:background 150ms;
	padding:2px 5px;
	border-radius:50%;
}

.close-btn i {
	color:#888;
}

.close-btn:hover i {
	color:#000;
}

.close-btn:hover {
	background:#fff;
}

.close-btn i {
	transition:transform 150ms;
}

.close-btn:hover i {
	transform:scale(1.2);
}
/**/

.search-form {
	width:255px;
	height:60px;
	display:flex;
	justify-content:center;
	align-items:center;
}

.search-btn {
	padding:.5rem 1.25rem;
	color:#fff;
	border-radius:;
	background:#6990f2;
	transition:background 150ms ease;
	height:35px;
	border-radius:3px;
	outline:2px solid #fff;
}

.search-btn:hover {
	background:#2445c5;
}
/**/
.location-range-wrapper2,
.location-range-wrapper {
	position:absolute;
	top:60px;
	left:0;
	width:100%;
	z-index:6;
	min-height:100px;
	padding:10px;
	background:#fff;
	border:1px solid #f1f1f1;
	display:flex;
	flex-direction:column;
	box-shadow:0 0 10px #0003;
}

.location-range-wrapper2 button,
.location-range-wrapper button {
	width:120px;
	margin-block:3px;
	padding:3px;
	margin-inline:auto;
	background:#f5f5f5;
	transition:background 150ms;
	text-transform:capitalize;
}

.location-range-wrapper2 button:hover,
.location-range-wrapper button:hover {
	background:#ccc;
}


.label-wrapper {
	margin:10px auto;
	display:flex;
	flex-wrap:wrap;
	width:clamp(100px,100%,300px);
}

.label-wrapper > * {
	width:max-content;
	margin-block:3px;
}

.label-wrapper span{
	display:inline-block;
	width:25px;
	height:25px;
	line-height:20px;
	margin-inline:5px;
}

.label-wrapper .days-available{
	background-color:#fff;
    border:1px solid #ddd;
}

.label-wrapper .days-unavailable{
	background-color:#e1a1af;/*#e1e1ff*/
    border:1px solid #f1d1ef;
}

input[class="food"] {
	margin-block:10px;
	margin-left:10px;
	margin-right:3px;
}
:root {
  --height: 250px;
  --boxsize: 6;
}
.check-date-wrapper {
  position:relative;
  z-index:2;
  width: clamp(100px,100%,300px);
  background: #fff;
  margin:0px auto;
  margin-bottom:20px;
  border:1px solid #f1f1f1;
  cursor: pointer;
  user-select: none;
}

.check-selected-date {
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  display:flex;
  justify-content:center;
}

.check-selected-date > *{
  width:max-content;
  display:flex;
  flex-direction:column;
  gap:5px;  
  margin-inline:5px; 
  align-items:center; 
  padding:.5rem;  
}

.check-selected-date > * label{
  width:max-content;
  display:inline-block;
  font-weight:600;  
}

.check-selected-date > * span{
  display:inline-block;
  width:max-content;
}

.check-date-btn {
  cursor:pointer;	
}

.check-dates-container {
  visibility:visible;	
  background-color: #fff;
  box-shadow:0 0 10px #0003;
}

.selected {
  background:#eee;
}

.month-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background:#f1f1f1;
}

.month-container .arrows {
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
}

.month-container .arrows:hover {
  background-color:#ddd;
}

.month-container .arrows:active {
  background-color: rgb(91 122 227);
}

.check-days-container {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  height: calc(var(--height) + 15px);
  grid-auto-rows: calc(var(--height) / var(--boxsize));
  background:#fff;
  padding:5px;
  border:1px solid #f1f1f1;
}

.week-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  height:40px;
  grid-auto-rows: calc(var(--height) / var(--boxsize));
  background:#fff;
  padding-inline:5px;
  color:var(--primary-color);
}

.week-days > * {
  display:flex;
  justify-content:center;
  align-items:center;
  color:#677;
  margin:1px;	
}
.check-days-container .day {
  display:flex;
  justify-content:center;
  align-items:center;
  color:#677;
  outline:1px solid #eee;
  border-radius:50%;
  margin:1px;
}

.check-days-container .free {
  display:flex;
  justify-content:center;
  align-items:center;
  color:#677;
  
}

.check-days-container .day:hover {
  border:1px solid #ddd;
  background:#eee;
}

.check-days-container .day.selected {
  background-color:#f1f1f1;
  border:1px solid #ddd;
}

.check-days-container .day.check{
  background-color:#e1a1af;/*#e1e1ff*/
  border:1px solid #f1d1ef;
}

/**/
.searchhead {
	width:100%;
	text-align:center;
	margin-top:80px;
	background:#fff;
}

.left {
	width:80vw;
	text-align:left;
	margin-inline:auto;
	padding-left:10px;
	font-size:1.3rem;
	font-weight:400;
	margin-bottom:0;
	color:var(--primary-color);
}

.random-wrapper {
	display:flex;
	flex-wrap:wrap;
	background:#fff;
	width:80vw;
	margin-inline:auto;
}

@media (max-width:700px) {
	.left {
	    width:90vw;
	}
	.random-wrapper {
		width:90vw;
	}
}


.searchresult2,
.searchresult {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	background:#fff;
}


.searchresult2 {
	justify-content:flex-start;
}

.random-wrapper > *,
.searchresult2 > * {
	max-width:300px;
	margin:20px 10px;
	border-radius:3px;
	overflow:hidden;
	box-shadow:0 0 5px #0002;
	margin-block:30px;
}

.searchresult {
	margin-top:30px;
}
	
.searchresult > * {
	margin:5px 0;
	border-radius:3px;
	overflow:hidden;
}
/**/
.success-details-wrapper,
.get-details-wrapper,
.check-details-wrapper {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:9;
	overflow:hidden;
	background:#0002;
	transform:height 10ms ease 500ms;
}

.check-details-wrapper {
    position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:0;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:4;
	background:;
	backdrop-filter:blur(.7rem);
}

@supports (backdrop-filter: blur(1rem)) {
	.success-details-wrapper,
    .get-details-wrapper,
    .check-details-wrapper {
		background:transparent;
		backdrop-filter:blur(.3rem);
	}
}

.success-details-wrapper.active-wrapper,
.get-details-wrapper.active-wrapper,
.check-details-wrapper.active-wrapper {
	height:100vh;
	transform:height 10ms ease 0ms;
}

.get-details-wrapper {
    z-index:10;
}

.success-details-wrapper {
	z-index:14;
}

.success-details-content{
	width:clamp(250px, 95%,800px);
	height:max-content;
	padding:min(5vw,3rem);
	margin-inline:10px;
}

@media (max-width:415px) {
	.success-details-content{
		max-height:80vh;
		min-height:350px;
		overflow:hidden;
		overflow-y:scroll;
	}
}


@media (max-width:420px) {
	.check-details-content {
		max-height:80vh;
		height:max-content;
		overflow:hidden;
		overflow-y:scroll;
	}
}

.check-details-content,
.success-details-content {
	background:#fff;
	border-radius:4px;
	box-shadow:0 0 100px #000;
	margin-inline:10px;
	position:relative;
	transform:scale(0,0) translate(-50%);
	transition:transform 500ms;
}

.check-details-content {
	width:clamp(100px,90%,900px);
	height:450px;
	background:#fff;
	box-shadow:0 0 20px #0006;
	position:relative;
	padding:5px;
	padding-top:10px;
	border-radius:5px;
	overflow:hidden;
}

.check-details-content.active-block,	
.success-details-content.active-block {
	transform:scale(1,1) translate(0);
}

.success,
.error {
	color:#ad3445;
	margin-block:20px;
	font-size:.9rem;
}

.purpose-message,
.error-message {
	color:#ad3445;
	margin-bottom:10px;
	font-size:.9rem;
}

.success {
	color:var(--primary-color);
}

.get-details-success{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.expand-wrapper {
	width:inherit;
	height:35px;
	position:absolute;
	left:0;
	bottom:0;
}

.expand-first-section-btn {
	width:100%;
	display:flex;
	justify-content:space-between;
	padding-inline:10px;
	position:relative;
}

.expand-first-section-btn button{
	margin-top:-13px;
	font-size:.85rem;
	color:#555;
}

.get-details-success > * {
	width:clamp(100px,100%,320px);
	margin-inline:5px;
	position:relative;
}

.get-details-success > * .booking {
	width:clamp(100px,100%,300px);
	line-height:20px;
	display:inline-block;
	margin-block:30px;
	font-size:.9rem;
	color:#555;
}

.get-details-success .resorts-added-to-cart-success .resort-img{
	width:inherit;
	height:180px;
	object-fit:cover;
}

.get-details-success .resorts-added-to-cart-success h4{
	margin-block:10px;
}

.get-details-success .resorts-added-to-cart-success,
.get-details .resorts-added-to-cart {
	width:clamp(100px,100%,350px);
	min-height:350px;
	box-shadow:0 0 10px #0002;
	border-radius:3px;
	margin-inline:5px;
	overflow:hidden;
	overflow-x:scroll;
	display:flex;
	scroll-snap-type:x mandatory;
}

.get-details-success .resorts-added-to-cart-success .item-cart,
.get-details .resorts-added-to-cart .item-cart{
	flex-shrink:0;
	width:100%;
	outline:1px solid #fff;
	scroll-snap-align:start;
	position:relative;
}

.get-details .resorts-added-to-cart .resort-img{
	width:inherit;
	height:180px;
	object-fit:cover;
}

.get-details-success .resorts-added-to-cart-success p,
.get-details .resorts-added-to-cart p{
	margin-block:8px;
	margin-inline:5px;
}

.get-details-success .resorts-added-to-cart-success h5,
.get-details .resorts-added-to-cart h5{
	margin-inline:5px;
}

.cash-detail {
	color:#913030;
	font-weight:600;
	margin-bottom:10px;
	font-size:.9rem;
}

.back {
	padding:.35rem .75rem;
	background:#eee;
	border-radius:3px;
}

.back:hover {
	background:#bbb;
}

.resort-location {
    color:#000;
    margin-left:5px;
    text-transform:capitalize;	
}

.check-details-content h2{
	margin-bottom:20px;
}

.check-details-content p{
	width:clamp(250px,100%,800px);
	margin-bottom:1px;
	font-size:.9rem;
}

.check-details-content h3{
	margin-bottom:10px;
	font-size:1rem;
}

.more-detail-btn {
	color:#666;
	border-radius:3px;
	font-size:.8rem;
	margin-left:3px;
	padding-inline:5px;
}

.more-detail-btn:hover {
	border:1px solid #999;
}

.more-detail-wr {
	position:absolute;
	top:30px;
	left:10px;
	border:1px solid #0001;
	box-shadow:0 0 10px #0003;
	background:#fff;
	cursor:pointer;
	color:#555;
	width:100%;
	transform:translateY(-100vw);
	transition:500ms ease-in;
}

.more-detail-wr h4 {
	font-size:1rem;
	margin-bottom:10px;
}

.more-detail-wr  p {
	font-size:.75rem;
	color:#999;
}

.more-detail-wr.active {
	transform:translateY(0);
}

.room-info {
	display:flex;
	margin-bottom:20px;
	font-size:.9rem;
}

.room-info i{
	color:#aaa;
	margin-right:2px;
}

.room-info > *{
	margin-inline:5px;
}

.room-facilities {
	font-size:.9rem;
	width:clamp(250px,100%,850px);
	margin-bottom:20px;
	display:flex;
	flex-wrap:wrap;
	gap:15px;
	margin-bottom:10px;
}

.room-facilities > *{
	width:clamp(200px,100%,250px);
}

.room-icon {
	display:inline-block;
	width:30px;
	color:#aaa;
}

.room-icon i {
	font-size:.9rem;
}

.blue {
	color:#6990f2;
	margin-inline:2px;
}

.check-available-btn {
	text-decoration:none;
	color:#000;
	padding:.5rem 0;
	position:relative;
	margin-right:10px;
	font-size:.75rem;
	font-weight:400;
}

.check-available-btn::after {
   content:'';
   position:absolute;
   bottom:0;
   left:0;
   right:0;
   height:2px;
   background:#000;
   transform:scale(1,1);
   transform-origin:center;
   transition:transform 150ms;
}

.check-available-btn:hover::after {
   transform:scale(.6,1);
}

.book-btn{
	cursor:pointer;
	border:none;
	background:#49ad51;
	color:#fff;
	padding:.35rem 2.3rem;
	border-radius:15px;
	font-size:.75rem;
	font-weight:400;
	transition:background 150ms;
}

.book-btn:hover {
	background:var(--secondary-color-dark);
}

.book-btn-view {
	cursor:pointer;
	border:none;
	background:#49ad51;
	color:#fff;
	padding:.35rem 2.3rem;
	border-radius:15px;
	font-size:.75rem;
	font-weight:400;
	transition:background 150ms;
	box-shadow:0 0 5px #fff;
}

.book-btn-view:hover {
	background:var(--secondary-color-dark2);
}

.btn-wrapper {
	width:min(900px,100%);
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.remove-btn {
    font-size:.7rem;
	padding:.3rem 1rem;
	border-radius:15px;
	color:#666;
	outline:1px solid #ddd;
	transition:200ms ease;
}

.remove-btn:hover{
	background:#aaa;
	color:#fff;
	outline-offset:3px;
}
/**/
.registration-wrapper {
	width:100%;
	height:100%;
}

.registration-wrapper h4 {
	margin-bottom:15px;
}

.regi-input-wr {
	width:clamp(100px,100%,450px);
	margin:10px 0;
	position:relative;
}

.regi-input-wr label {
	display:inline-block;
	min-width:120px;
	font-weight:300;
	margin-right:20px;
	color:#555;
	font-style:italic;
	font-size:.85rem;
}

.regi-input-wr input {
	height:35px;
	width:clamp(50px,100%,300px);
	border:1px solid #ddd;
	padding:5px 12px;
}

@media (max-width:750px) {
	.regi-input-wr input {
		width:clamp(50px,100%,750px);
	}
}

.regi-input-wr input:focus {
	outline:none;
	box-shadow:0 0 3px #0005;
}

.rr-icon {
	color:red;
	font-size:.3rem;
	padding-bottom:10px;
}

.tk-ok {
	color:#6990f2;
    position:absolute;
	bottom:10px;
	right:10px;
}
/**/
.menu-cnt {
    width:100%;
	display:flex;
	gap:10px;
}	
.show-resorts-wrapper {
	display:flex;
	width:100%;
	height:max-content;
	overflow:hidden;
	overflow-x:scroll;
	scroll-snap-type:x mandatory;
}

.show-resorts-wrapper > * {
	flex-shrink:0;
	margin:3px;
	scroll-snap-align:start;
}

.show-resorts-wrapper > * > *{
	box-shadow:0 0 2px #fff;
}

.selected-resort-wr {
	width:clamp(100px,100%,500px);
	height:200px;
	background:#f1f1f1;
	display:inline-block;
	margin:5px;
}

.show-resorts-wrapper .book-btn {
	background:#fff;
	color:#000;
	border:1px solid #6990f2;
	width:100%;
	height:35px;
	border-radius:2px;
	transition:200ms ease;
	transition-property:background,color;
}

.show-resorts-wrapper .book-btn:hover {
	background:#6990f2;
	color:#fff;
	border:1px solid #6990f2;
}

.show-resorts-wrapper .cash {
	color:#6990f2;
	font-weight:600;
}

.show-resorts-wrapper .resorts-category {
	margin-inline:5px;
}

.show-resorts-wrapper .resorts-category .category-head {
	margin-inline:0px;
}

.show-resorts-wrapper .resorts-category .category-head button:hover {
	background:#6990f2;
}


/**/
.payment-container {
    width:clamp(100px,100%,800px);
    border-radius: 8px;
    padding: 20px; 
}

.payment-container .title{
    font-size: 20px;
    font-family: Arial, Helvetica, sans-serif;
}

.payment-container form input[type="radio"] {
    display: none;
}

.payment-container form .category{
    margin-top: 10px;
    padding-top: 20px;
    width:100%;
    display: flex;
    gap: 15px;
}

.payment-amount {
	display:flex;
	margin-top:30px;
}

.payment-amount label {
	display:flex;
	font-size:.85rem;
	font-weight:300;
	margin-right:5px;
	padding-top:.35rem;
}

.payment-amount div {
	width:clamp(100px,100%,150px);
	height:35px;
	position:relative;
}

.payment-amount input {
	width:100%;
	height:100%;
	border:1px solid #ddd;
	border-radius:3px;
	padding:5px 13px;
	padding-left:40px;
	font-size:1rem;
	text-align:right;
}

.payment-amount input:focus {
	box-shadow:0 0 5px #0005;
}

.pay-unit {
	position:absolute;
	top:50%;
	left:5px;
	transform:translateY(-50%);
	font-size:1.1rem;
	color:#6064b6;
}

.category label{
    /* width: 100%; */
    /* height: 65px; */
    height:70px;
	width:120px;
	padding:5px;
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
    display: flex;
    /* justify-content: space-between; */
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 5px;
    position: relative;
}


@media (max-width:800px) {
	.category {
		display:flex;
		flex-wrap:wrap;
	}
	.category label{
		width:clamp(120px,100%,300px);
	}
}

.cash-info-cnt {
	margin-block:10px;
	margin-top:20px;
	font-size:.9rem;
	color:#6990f2;
}

@media (max-width:500px) {
	.cash-info-cnt {
		margin-block:10px;
		margin-top:20px;
		font-size:.8rem;
	}
}

.category label:hover {
	box-shadow:0 0 4px #0005;
}

/* label:nth-child(2), label:nth-child(3){
    margin: 15px 0;
} */


#visa:checked ~ .category .visaMethod,
#mastercard:checked ~ .category .mastercardMethod,
#paypal:checked ~ .category .paypalMethod,
#cash:checked ~ .category .amexMethod{
    box-shadow: 0px 0px 0px 1px #6990f2;
}


#visa:checked ~ .category .visaMethod .check,
#mastercard:checked ~ .category .mastercardMethod .check,
#paypal:checked ~ .category .paypalMethod .check,
#cash:checked ~ .category .amexMethod .check{
    display: block;
}


label .imgName{
    display: flex;
    /* justify-content: space-between;
     */
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 10px;
}

@media (max-width:530px) {
	label .imgName{
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		flex-direction:row;
	}
}

.imgName span{
    /* margin-left: 20px; */
    font-family: Arial, Helvetica, sans-serif;

    position: absolute;
    top: 72%;
    transform: translateY(-72%);
}

.imgName .imgContainer{
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: 35%;
    transform: translateY(-35%);
}

.payment-container img{
    width: 50px;
    height: auto;
}

.visa img{
    width: 60px;
    /* margin-left: 5px; */
}

.mastercard img{
    width: 45px;
}

.paypal img{
    width: 50px;
}

.cash img{
    width:40px;
}

.check{
    display: none;
    position: absolute;
    top: -4px;
    right: -4px;
}

.check i{
    font-size: 18px;
	color:#6990f2;
}

.payment-container .name {
	width:100%;
	text-align:center;
	text-shadow:0 0 3px #fff;
}
/**/
.confirm-wr {
	padding-block:10px;
	width:100%;
	height:100%;
}

.thank-wr {
	margin-block:50px;
	font-size:1.3rem;
	box-shadow:10px 10px 15px #0003;
	border:1px solid #ddd3;
	width:clamp(100px,95%,250px);
	margin-inline:auto;
	padding:10px;
	border-radius:3px;
}

.thank-wr i{ 
   color:var(--primary-color);
}
/**/
.show-resort-catalogue-wr {
	width:100%;
	height:0;
	position:absolute;
	top:0;
	bottom:0;
	overflow:hidden;
}

.show-resort-catalogue-cnt {
	position:relative;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:clamp(50px,100%,700px);
	min-height:200px;
	height:max-content;
	background:#fff;
	box-shadow:0 0 20px #0008;
	border-radius:5px;
	padding:15px;
}

.show-resort-catalogue-cnt h4 {
	color:var(--primary-color);
	font-weight:300;
	margin-bottom:15px;
	font-size:.85rem;
}

.booking-process-content .content-bar h4 {
	color:#6990f2;
}

.catalogue-cnt-item {
	background:#fff;
	width:150px;
	height:max-content;
	box-shadow:0 0 5px #0002;
	margin:5px;
	display:inline-block;
	border-radius:4px;
}

.item-cnt-wr {
	display:flex;
	justify-content:space-between;
	padding:4px;
	border-radius:3px;
}

.cata-type {
	padding:2px 5px;
	color:#fff;
	background:#66d47c;
	font-weight:300;
	min-width:90px;
	border-radius:2px;
}

.item-cnt-wr .cata-price {
	color:#6990f2;
	font-weight:600;
}

.cnt-btn-wr {
	width:100%;
	display:flex;
	justify-content:space-between;
	padding:4px;
}

.cnt-btn-wr i {
	color:#6990f2;
	font-size:.9rem;
}

.cnt-btn-wr .info-cata{
	color:#666;
}

.cnt-btn-wr .info-cata:hover {
	text-decoration:underline;
}

.sel-cata-btn {
	padding:2px 10px;
	border:1px solid #6990f255;
	border-radius:2px;
	color:#888;
}

.sel-cata-btn:hover {
	color:#fff;
	background:#6990f2;
}
/**/
.your-resort-wr h4 {
	margin-bottom:10px;
}

.your-resort-wr p {
	font-size:.85rem;
}

.menu-cnt-wr {
	width:clamp(100px,100%,305px);
	display:flex;
	gap:10px;
	display:inline-block;
	box-shadow:0 0 3px #0005;
	border-radius:3px;
}

.your-resort-wr {
}

.your-resort-cnt {
	width:100%;
	display:flex;
	#justify-content:center;
	gap:10px;
}

.room-details-wr {
	width:clamp(100px,100%,500px);
	height:200px;
	display:inline-block;
	padding:10px;
}

.msg-error-book {
	color:red;
	margin-block:10px;
	margin-top:20px;
}
/**/
.cata-details-info-wr {
	position:fixed;
	top:0;
	left:0;
    width:100vw;
	height:0;
	background:#0001;
	display:flex;
	justify-content:center;
	align-items:center;
	overflow:hidden;
}

.cata-details-info {
	width:clamp(100px,90%,350px);
	background:#fff;
	padding:10px;
	border-radius:5px;
	box-shadow:0 0 5px #0008;
}

.ab-tp {
	position:absolute;
	top:10px;
	right:15px;
	color:#6990f2;
	font-weight:600;
}

.cata-details-info .cata-type {
	max-width:100px;
	height:25px;
}

.booking-process-content .cata-details-info p {
	font-size:.9rem;
	color:#444;
	line-height:.9rem;
	margin-block:20px;
	padding-inline:5px;
	margin-top:30px;
	font-weight:100;
}

.btn-close {
	height:25px;
	width:60px;
	border-radius:3px;
	background:#f1f1f1;
	color:#666;
}

.btn-close:hover {
	background:#ccc;
	color:#333;
}
/**/
.booking-details-wr {
    position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:0;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:4;
	background:;
	backdrop-filter:blur(.7rem);
}

.booking-details-cnt {
	width:clamp(100px,90%,900px);
	height:450px;
	background:#fff;
	box-shadow:0 0 30px #0009;
	position:relative;
	padding:5px;
	padding-top:10px;
	border-radius:5px;
	overflow:hidden;
}

@media (max-width:800px) {
	.booking-details-cnt {
		height:clamp(450px,90vh,700px);
	}
	.booking-details-cnt .content-bar-detail {
		height:clamp(410px,85vh,660px);
	}
}

/**/
.booking-process-wrapper {
    position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:0;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:4;
	background:;
	backdrop-filter:blur(.7rem);
}

.booking-process-content {
	width:clamp(100px,90%,900px);
	height:450px;
	background:#fff;
	box-shadow:0 0 10px #0003;
	position:relative;
	padding:5px;
	padding-top:10px;
	border-radius:5px;
	overflow:hidden;
}

.content-bar-detail,
.content-bar {
	width:90%;
	height:410px;
	position:absolute;
	top:10px;
	left:50%;
	transform:translate(100vw);
	transition:transform 1s;
}

.content-bar-detail {
	transform:translate(-50%);
}

@media (max-width:520px) {
	.content-bar-detail,
	.content-bar {
		width:100%;
	}
	
	.content-bar-detail,
	.content-bar * {
		font-size:.8rem;
	}
}

.content-bar-detail > div,
.content-bar > div {
	padding:20px;
}

.content-bar-detail h4,
.content-bar h4 {
	color:#6990f2;
}

.content-bar.standby {
	transform:translate(100vw);
	margin-bottom:13px;
}

.content-bar.standbefore {
	transform:translate(-100vw);
	margin-bottom:13px;
}

@media (max-width:700px) {
	.booking-process-content {
		height:clamp(500px,80vh,650px);
	}
	.content-bar {
		height:clamp(460px,75vh,610px);
	}
}

.content-bar.active {
	transform:translate(-50%);
}

.content-bar.remove {
	transform:translate(-150vw);
}

.process-bar-wrapper {
	position:absolute;
	top:10px;
	left:50%;
	transform:translate(-50%);
	height:3px;
	width:clamp(50px,80%,600px);
	background:#e1e1e1;
}

.move-back-btn,
.next-btn,
.skip-btn {
	position:absolute;
	bottom:-5px;
	right:20px;
	padding:.1rem .5rem;
	border-radius:15px;
	color:#fff;
	height:25px;
	width:70px;
	background:#fff;
}

.move-back-btn,
.skip-btn {
	right:80px;
	color:#aaa;
	outline:1px solid #ddd;
}

.move-back-btn:hover,
.skip-btn:hover {
	color:#555;
	background:#eee;
}

.next-btn {
	right:5px;
	background:#6990f2;
	padding:.1rem .5rem;
}

.next-btn:hover {
	background:#4770d2;
}

.p-br-sec {
	position:absolute;
	top:0;
	left:0;
	width:0%;
	z-index:1;
	height:inherit;
	background:#6990f2;
	transition:300ms;
}

.p-br-sec.act1 {
	width:20%;
}

.p-br-sec.act2 {
	width:40%;
}

.p-br-sec.act3 {
	width:60%;
}

.p-br-sec.act4 {
	width:80%;
}

.p-br-sec.act5 {
	width:100%;
}

.p-br-sec.act6 {
	width:100%;
}

.p-br-5,
.p-br-4,
.p-br-3,
.p-br-2,
.p-br-1 {
	position:absolute;
	top:-8px;
	left:19.5%;
	width:20px;
	height:20px;
	z-index:2;
	line-height:20px;
	border-radius:10px;
	background:#ddd;
	text-align:center;
	color:#fff;
	font-size:.85rem;
}

@media (max-width:500px) {
	.p-br-5,
	.p-br-4,
	.p-br-3,
	.p-br-2,
	.p-br-1 {
		top:-6px;
		width:15px;
	    height:15px;
		line-height:15px;
		border-radius:7.5px;
		font-size:.8rem;
	}
}

.p-br-2 {
	left:39.5%;
}

.p-br-3 {
	left:59.5%;
}

.p-br-4 {
	left:79.5%;
}

.p-br-5 {
	left:99.5%;
}

.p-br-sec.act1 ~ .p-br-1,
.p-br-sec.act2 ~ .p-br-2,
.p-br-sec.act2 ~ .p-br-1,
.p-br-sec.act3 ~ .p-br-3,
.p-br-sec.act3 ~ .p-br-2,
.p-br-sec.act3 ~ .p-br-1,
.p-br-sec.act4 ~ .p-br-4,
.p-br-sec.act4 ~ .p-br-3,
.p-br-sec.act4 ~ .p-br-2,
.p-br-sec.act4 ~ .p-br-1,
.p-br-sec.act5 ~ .p-br-5,
.p-br-sec.act5 ~ .p-br-4,
.p-br-sec.act5 ~ .p-br-3,
.p-br-sec.act5 ~ .p-br-2,
.p-br-sec.act5 ~ .p-br-1 {
	background:#6990f2;
}

.fa-check {
	color:#6990f2;
	margin-right:3px;
	font-size:.9rem;
}

.span {
	font-size:.8rem;
	color:#777;
	font-weight:300;
	margin-bottom:5px;
	display:flex;
}

@media (max-width:500px) {
	.span {
		display:flex;
		font-size:.7rem;
	}	
}

.span:first-child {
	margin-top:20px;
}

.span div span {
	color:#6990f2;
	margin-inline:3px;
}

.span div span:hover {
	text-decoration:underline;
}

.add-more-room {
	color:red;
	margin-top:5px;
	font-size:.85rem;
}

.price-wr {
	margin-top:5px;
	font-size:.85rem;
	font-weight:300;
	margin-bottom:10px;
	color:#777;
}

.b {
	font-weight:900;
	font-size:.9rem;
	color:#6990f2;
}

.add-resort-wr {
	width:clamp(90px,100%,430px);
	height:40px;
}

.add-resort-wr button {
	width:100%;
	height:100%;
	border:1px solid #6990f2;
	border-radius:3px;
	transition:200ms ease;
	transition-property:background,color;
}

.add-resort-wr button:hover {
	background:#6990f2;
	color:#fff;
}

.my-cart-wr {
	position:absolute;
	bottom:0;
	left:5px;
	font-size:.85rem;
	color:#555;
}

.my-cart-wr:hover {
	text-decoration:underline;
}

.my-cart-wr i{
	color:#6990f2;
}
/**/
.show-my-cart-wr {
	position:absolute;
	bottom:75px;
	left:20px;
	width:clamp(100px,90vw,310px);
	height:300px;
	background:#fff;
	border-radius:10px;
	box-shadow:5px 20px 20px #0004;
	transform:translateY(100vh);
	transition:600ms;
	z-index:1;
}

.show-my-cart-wr.active {
	transform:translateY(0);
}

.show-my-cart-cnt {
	width:100%;
	height:100%;
	position:relative;
}

.bottom-tip {
	position:absolute;
	top:100%;
	left:12px;
	border-left:20px solid transparent;
    border-right:20px solid transparent;
	border-top:30px solid #fff;
    text-shadow:5px 5px 10px #0005;	
}

.show-my-cart-item {
	width:100%;
	height:calc(100% - 10px);
	padding:5px;
	overflow:hidden;
	overflow-x:scroll;
	display:flex;
	gap:5px;
	scroll-snap-type:x mandatory;
	margin-bottom:10px;
}

.show-my-cart-item > *{
	flex-shrink:0;
	scroll-snap-align:start;
}

.show-my-cart-item .resorts-category .category-head {
	margin-inline:0;
	box-shadow:0 0 3px #fff;
}

.group-type {
	position:absolute;
	top:-35px;
	left:0;
	width:100%;
	padding:5px 10px;
	box-shadow:10px -10px 10px #0002;
	border-radius:10px;
	padding-bottom:10px;
	z-index:1;
	background:#fff;
}

.group-type > label { 
    color:#555;
	font-size:.85rem;
}

.group-type > label:hover { 
    text-decoration:underline;
}

.view-type-wr {
	display:inline-block;
	width:100px;
	background:yellow;
}

#group + .view-type-wr  {
	display:none;
}

#group:checked + .view-type-wr {
	display:block;
}

.view-type {
	position:absolute;
	top:35px;
	left:5px;
	width:110px;
	height:80px;
	background:#fff;
	border:1px solid #ddd;
	display:flex;
	flex-direction:column;
	justify-content:center;
	overflow:hidden;
}	

.view-type {
	list-style:none;
}

.view-type li {
	width:100%;
	margin-block:1px;
}

.view-type button {
	padding:5px;
	background:#f6f6f6;
	font-size:.85rem;
	width:100%;
	height:100%;
}

.view-type button:hover {
	background:#d6d6d6;
}

.view-type li:hover {
	
}
/**/
.get-details-content {
	background:#fff;
	border-radius:4px;
	position:relative;
	transition:transform 500ms;
	width:100%;
	height:100%;
	min-height:390px;
	padding:0px 5px;
}

.get-details-content h3{
	margin-bottom:1rem;
}

.image-class {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.get-details {
	width:100%;
	height:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.get-details > * {
	width:max-content;
	margin-inline:5px;
	position:relative;
}


/**/
.permission-wrapper,
.signup-message-wrapper {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	background:#0002;
	z-index:10;
	display:flex;
	justify-content:center;
	align-items:center;
	overflow:hidden;
	transition:height 400ms ease 400ms;
}


@supports (backdrop-filter: blur(1rem)) {
	.permission-wrapper,
	.signup-message-wrapper {
		background:transparent;
		backdrop-filter:blur(.5rem);
	}
}


.permission-wrapper.active-signup-wrapper,
.signup-message-wrapper.active-signup-wrapper { 
    height:100%;
	transition:height 400ms ease 0ms;
}

.permission-content,
.signup-message-content {
	width:clamp(100px,100%,800px);
	height:max-content;
	border-radius:15px;
	background:#fff;
	padding:min(3rem,5vw);
	box-shadow:0 0 60px #000;
	margin-inline:1rem;
	transform-origin:top center;
	transform:scale(0,0);
	transition:transform 500ms ease 0ms;
}

.permission-content.active-signup-content,
.signup-message-content.active-signup-content {
	transform:scale(1,1);
	transition:transform 500ms ease 410ms;
}

.permission-content {
	border-radius:20px;
}

.signup-message-content h1 {
	font-size:min(7vw,1.6rem);
	background-image:linear-gradient(to right,#000, #000);
	background-size:cover;
	background-clip:text;
	-webkit-background-clip:text;
	color:transparent;
}

.permission-content p,
.signup-message-content p {
	margin-top:.9rem;
	color:#aaa;
}

@media screen and (max-width:415px) {
	.permission-content p,
	.signup-message-content p {
		color:.85rem;
	}
}

@media (max-width:540px) {
	@supports (backdrop-filter: blur(1rem)) {
		.permission-wrapper{
			background:transparent;
			backdrop-filter:blur(0);
		}
	}	
	.permission-wrapper {
		background:#0008;
	}
	.permission-content {
		background:#0005;
		box-shadow:0 0 20px #fff;
	}
	.permission-content p {
		color:#fff;
		text-shadow:0 0 3px #000;
	}
}

.permission-content button,
.signup-message-content button {
	display:inline-block;
	width:max-content;
	padding-block:.25rem;
	padding-inline:1rem;
	font-size:.9rem;
	border-radius:.3rem;
	margin-inline:5px;
	margin-top:2rem;
}

.close-signup-btn {
	background-image:linear-gradient(to right,#eee, #f9f9f9);
	outline:1px solid #eee;
	color:#aaa;
	transition:250ms ease;
	transition-property:background,outline,color;
}

.close-signup-btn:hover {
	background:#fff;
	outline-offset:2px;
	color:#666;
	outline:inset 15px solid #555;
}

.signup-btn {
	background-image:linear-gradient(to right,#77a7ff, #5477ed);
	color:#fff;
	outline:1px solid #6990f2;
	transition:250ms ease;
	transition-property:background,outline;
}

.signup-btn:hover {
	background:linear-gradient(to top,#679aff, #3467dd);
	outline-offset:2px;
	outline:inset 15px solid #6990f2;
}
/**/
.purpose-wrapper,
.activity-wrapper {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	display:flex;
	background:#0002;
	justify-content:center;
	align-items:center;
	z-index:11;
	transform:height 10ms ease 500ms;
}

.purpose-wrapper {
	z-index:9;
}

.purpose-wrapper.active-wrapper,
.activity-wrapper.active-wrapper {
	height:100vh;
	transform:height 10ms ease 0ms;
}

.purpose-content,
.activity-content {
	width:clamp(100px,95%,600px);
	margin-inline:5px;
	min-height:300px;
	height:max-content;
	border-radius:5px;
	background:#fff;
	box-shadow:0 0 100px #000;
	padding:1rem;
	transform:scale(0,0) translate(-50%);
	transition:transform 500ms;
}


.purpose-content.active-block,
.activity-content.active-block {
	transform:scale(1,1) translate(0);
}

.activity-content h2{
	font-size:30px;
	margin-bottom:10px;
}


@media (min-width:600px) {
	h1 {
		font-size:36px;
	}
	h2 {
		font-size:30px;
	}
	h3 {
		font-size:28px;
	}
}

@media (max-width:600px) {
	h1 {
		font-size:32px;
	}
	h2 {
		font-size:28px;
	}
	h3 {
		font-size:25px;
	}
}

@media (max-width:500px) {
	h1 {
		font-size:28px;
	}
	
	h2 {
		font-size:24px;
	}
	h3 {
		font-size:22px;
	}
}

@media (max-width:420px) {
	h1 {
		font-size:26px;
	}
	h2 {
		font-size:22px;
	}
	h3 {
		font-size:20px;
	}
}

@media (max-width:300px) {
	h1 {
		font-size:24px;
	}
	h2 {
		font-size:20px;
	}
	h3 {
		font-size:20px;
	}
}
.purpose-content p,
.activity-content p{
	font-size:.9rem;
	margin-block:15px;
}

.continue-btn-wrapper {
	width:100%;
	display:flex;
	justify-content:flex-end;
	padding:10px;
	margin-top:20px;
}

.back-btn,
.continue-btn {
	width:max-content;
	margin-inline:5px;
	padding:.35rem 1rem;
	padding-bottom:.4rem;
	background:var(--primary-color);
	color:#fff;
	border-radius:2px;
	transition:background 150ms;
}

.back-btn {
	background:#ccc;
}

.back-btn:hover {
	background:#aaa;
}

.continue-btn:hover {
	background:var(--secondary-color-dark);
	outline:2px solid #f1f1f1;
	outline-offset: 5px;
}

.continue-btn:active {
	outline:3px solid var(--primary-color);
	outline-offset: 5px;
}

.resort-message {
	color:#d22;
	margin-bottom:10px;
	font-size:.9rem;
}

#catering {
    border:none;	
}

#catering:focus {
	outline:none;
}

.radio,
.checkbox {
  display: none;
}

.radio-item,
.activity-item {
	position:relative;
	margin-left:50px;
	height:50px;
	margin-bottom:5px;
}

.label-item {
  position: relative;
  font-size:15px;
  cursor:pointer;
  min-width:130px;
  display:inline-block;
}

.label-item::before {
  content: "";
  background: url("check-circle.svg");
  background-position: center;
  background-size: contain;
  width: 32px;
  height: 32px;
  position: absolute;
  left:-36px;
  top:-8px;
  cursor:pointer;
  transform: scale(0) rotateZ(180deg);
  transition: all 0.4s cubic-bezier(0.54, 0.01, 0, 1.49);
}

.radio:checked + .label-item::before,
.checkbox:checked + .label-item::before {
  transform: scale(1) rotateZ(0deg);
  cursor:pointer;
}

.radio ~ .checkbox-input,
.checkbox ~ .checkbox-input {
  border-radius:3px;
  width:80px;
  height:30px;  
  display:none;	
}

.radio:checked ~ .checkbox-input,
.checkbox:checked ~ .checkbox-input {
  display:inline-block;	
}

.label-item::after {
  content: "";
  border: 2px solid #27ae60;
  width: 24px;
  height: 24px;
  position: absolute;
  left:-34px;
  top:-6px;
  border-radius: 50%;
}

.response {
	width:100%;
	margin-block:10px;
}
/**/

.directions-section {
	width:100vw;
	padding-block:20px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	padding-bottom:70px;
}

.directions-cnt {
	width:80vw;
}

.directions-cnt > *{
	width:80vw;
}

@media (max-width:520px) {
	.directions-cnt {
		width:90vw;
	}
	.directions-cnt > *{
		width:90vw;
	}
}

.directions-cnt h2{
	margin-bottom:10px;
	font-size:1.4rem;
	color:var(--primary-color);
	font-weight:400;
}

.directions-cnt p {
	margin-bottom:15px;
	font-size:.85rem;
	line-height:1.7rem;
}
	
.random-check {
	width:100%;
	min-height:450px;
	background:#fff;
	padding-block:10px;
	padding-bottom:5px;
	margin-top:50px;
}

.footer-section {
	background-image:linear-gradient(to bottom, #fff,#fff,var(--secondary-color-light));
}

/**/
.resorts-section {
	width:80vw;
	display:flex;
	flex-wrap:wrap;
	gap:15px;
}

.category-head-result {
	width:80vw;
	height:30px;
	position:relative;
}

.searchresult-head {
	display:inline-block;
	padding-inline:10px;
}

@media (max-width:1000px) {
	.resorts-section > *{
		width:85vw;
	}	
}

@media (max-width:700px) {
	.resorts-section > *{
		width:90vw;
	}	
}

.resorts-section{
    #width:clamp(100px,100%,940px);
    min-height:max-content;
	padding-block:10px;
	padding-bottom:5px;
	display:flex;
	overflow:hidden;
	position:relative;
}

.resorts-category {
	width:clamp(100px,100%,300px);
}

.resorts-category .category-head {
	width:100%;
	height:40px;
	position:relative;
	padding-inline:10px;
	font-size:.9rem;
	box-shadow:0 0 3px #0002;
	margin-left:5px;
	padding-top:5px;
}

.category-head-result button,
.resorts-category .category-head button{
	position:absolute;
	top:5px;
    right:5px;
    font-size:.7rem;
	padding:.3rem 1rem;
	border-radius:15px;
	color:#666;
	outline:1px solid #ddd;
	transition:200ms ease;
}

.category-head-result button {
	#position:relative;
	top:4px;
}

.category-head-result button:hover,
.resorts-category .category-head button:hover{
	background:#aaa;
	color:#fff;
	outline-offset:3px;
}
	
.resorts-section .resort-id {
	width:0;
	margin-inline:5px;
	background:#fff;
	box-shadow:0 0 4px #0003;
	height:max-content;
	overflow:hidden;
	transition:width 300ms;
}

.resorts-section .resort-id.active {
	width:clamp(100px,100%,300px);
}

.moveLeftBtn {
	position:absolute;
	z-index:1;
	top:50%;
	left:10px;
	height:40px;
	width:40px;
	display:flex;
	transform:translateY(-50%);
	justify-content:center;
	align-items:center;
	border-radius:20px;
	background:#fff;
	box-shadow:0 0 20px #000;
}

.moveRightBtn {
	position:absolute;
	z-index:1;
	top:50%;
	right:10px;
	height:40px;
	width:40px;
	display:flex;
	transform:translateY(-50%);
	justify-content:center;
	align-items:center;
	border-radius:20px;
	background:#fff;
	box-shadow:0 0 20px #000;
}

/**/
.third-section {
	width:100%;
	min-height:100px;
	background:#fff;
	padding-block:10px;
	padding-bottom:35px;
}

.third-section h2 {
	font-size:1.2rem;
	font-weight:400;
	color:var(--primary-color);
	width:80%;
	margin-inline:auto;
	margin-bottom:15px;
}

.container {
  max-width: 1440px;
  width:100%;
  height:440px;
  margin: 0 auto;
}

.container-today {
  max-width: 1440px;
  width:80%;
  height:max-content;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}

@media (max-width:800px) {
	.third-section h2 {
		font-size:1rem;
		width:90%;
	}
	.container-today {
		width:90%;
	}
}

.container-today > * {
  flex-shrink:0;
}

.text-center {
  text-align: center;
}

.section-heading {
  font-size: 1.5rem;
  color: var(--primary-color);
  padding: 2rem 0;
}

#tranding {
  padding: 2rem 0;
}

@media (max-width:1440px) {
  #tranding {
    padding: 3rem 0;
  }
}

#tranding .tranding-slider {
  height: 400px;
  width:clamp(100px,100%,400px);
  padding: 2rem 0;
  position: relative;
}

@media (max-width:500px) {
  #tranding .tranding-slider {
    height:350px;
  }
}

.book-btn-wrapper {
	width:100%;
	display:flex;
	justify-content:center;
	position:absolute;
	bottom:10px;
	z-index:1;
}

.tranding-slide {
  width:clamp(100px,100%,400px);
  height: 370px;
  border-radius:5px;
  overflow:hidden;
  position: relative;
  background:#fff;
  box-shadow:0 0 10px #0003;
}



.tranding-slide .tranding-slide-img img {
  width:100%;
  height: 200px;
  border-radius: 2rem;
  object-fit: cover;
}

.tranding-slide .tranding-slide-content {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.tranding-slide-content .food-price {
  position: absolute;
  top: 2rem;
  right: 2rem;
  color: #fff;
}

.tranding-slide-content .tranding-slide-content-bottom {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  color: #fff;
}

.swiper-slide-shadow-left,
.swiper-slide-shadow-right {
  display: none;
}

.tranding-slider-control {
  position: relative;
  bottom: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tranding-slider-control .swiper-button-next {
  left: 58% !important;
  transform: translateX(-58%) !important;
}

@media (max-width:990px) {
  .tranding-slider-control .swiper-button-next {
    left: 70% !important;
    transform: translateX(-70%) !important;
  }
}

@media (max-width:450px) {
  .tranding-slider-control .swiper-button-next {
    left: 80% !important;
    transform: translateX(-80%) !important;
  }
}

@media (max-width:990px) {
  .tranding-slider-control .swiper-button-prev {
    left: 30% !important;
    transform: translateX(-30%) !important;
  }
}

@media (max-width:450px) {
  .tranding-slider-control .swiper-button-prev {
    left: 20% !important;
    transform: translateX(-20%) !important;
  }
}

.tranding-slider-control .slider-arrow {
  background: #fff;
  width:35px;
  height:35px;
  border-radius: 50%;
  left: 42%;
  color:#000;
  transform: translateX(-42%);
  filter: drop-shadow(0px 8px 8px rgba(18, 28, 53, 0.2));
}

.tranding-slider-control .slider-arrow ion-icon {
  font-size: 2rem;
  color: #222224;
}

.tranding-slider-control .slider-arrow::after {
  content: '';
}

.tranding-slider-control .swiper-pagination {
  position: relative;
  width: 15rem;
  bottom: 1rem;
  color:#fff;
  display:none;
}

.tranding-slider-control .swiper-pagination .swiper-pagination-bullet {
  filter: drop-shadow(0px 8px 24px rgba(18, 28, 53, 0.1));
}

.tranding-slider-control .swiper-pagination .swiper-pagination-bullet-active {
  background: var(--primary-color);
}
.center2,
.center {
	text-align:center;
	margin-bottom:20px;
	font-weight:400;
}	

.center2{
	margin-bottom:-15px;
}

/**/
.cart-wrapper {
	position:fixed;
	top:90px;
	right:40px;
	z-index:8;
	transform:translate(100vw);
	width:max-content;
	transition:transform 500ms;
	--red:#ad4545;
}

.cart-wrapper.active-cart {
	transform:translate(0);
}

.cart-book-btn {
	position:absolute;
	bottom:2px;
	right:10px;
}

@media screen and (max-width:60em) {
	.cart-wrapper {
	    top:40px;
	    right:30px;
	}
	
	.cart-resorts-content {
	    margin-inline:10px;
        margin-top:70px;	  
	} 
}

.delete-cart,
.cart {
	position:relative;
	color:var(--primary-color);
	font-size:1rem;
}


.delete-cart::before,
.cart-remove-btn button::before,
.cart::before {
	content:'';
	position:absolute;
	right:130%;
	top:0;
	background:#fff;
	width:max-content;
	color:#000;
	padding:3px 5px;
	border-radius:3px;
	box-shadow:0 0 5px #0003;
	transform-origin:top right;
	transform:scale(0,0);
	transition:transform 300ms;
	font-size:.85rem;
}

.cart::before {
	content:'Your Resorts';
}

.delete-cart::before {
	content:'remove';
	top:8px;
	padding-top:0;
}

.cart-remove-btn button::before {
	content:'remove';
}

.delete-cart:hover::before,
.cart-remove-btn button:hover::before,
.cart:hover::before {
	transform:scale(1,1);
}

.cart span{
	position:absolute;
	display:inline-block;
	top:-12px;
	right:-15px;
	background:#fff;
	padding:2px 5px;
	border-radius:5px;
	box-shadow:0 0 4px #0002;
	font-size:.85rem;
	z-index:-1;
}

.cart-btn-wrapper {
	position:absolute;
	top:50px;
	right:8px;
	width:max-content;
	height:max-content;
}

.cart-btn {
	font-size:1rem;
	color:#ad4545;
	position:relative;
}

.cart-btn::before {
	content:'add to cart';
	position:absolute;
	right:120%;
	top:-3px;
	background:#fff;
	width:max-content;
	color:#000;
	padding:5px 7px;
	border-radius:3px;
	box-shadow:0 0 5px #0003;
	transform-origin:top right;
	transform:scale(0,0);
	transition:transform 300ms;
	font-size:.85rem;
}

.cart-btn:hover::before {
	transform:scale(1,1);
}


.book-now {
	padding:.5rem 1rem;
	border-radius:20px;
	background:var(--special-color);
	font-weight:600;
	color:#000;
	transition:150ms ease;
	transition-property:background,color;
}

.book-now:hover {
	background:var(--primary-color-dark2);
	color:#fff;
}
/**/

.cart-resorts-wrapper {
	position:fixed;
	top:0;
	left:0;
	z-index:7;
	width:100%;
	height:0;
	display:flex;
	justify-content:flex-end;
	align-items:flex-start;
	background:#0003;
	overflow:hidden;
	transition:height 400ms ease 400ms;
}

@supports (backdrop-filter: blur(1rem)) {
	.cart-resorts-wrapper {
		backdrop-filter:blur(.4rem);
		background:transparent;
	}
}

.cart-resorts-wrapper.active-cart-wrapper {
	height:100%;
	transition:height 400ms ease 0ms;
}

.cart-resorts-content {
	position:relative;
	margin-top:120px;
	margin-inline:20px;
	width:clamp(100px,100%,400px);
	height:450px;
	background:#fff;
	border-radius:5px;
    box-shadow:0 0 100px #000;
    overflow:hidden;
    overflow-x:scroll;
    display:flex;
    scroll-snap-type:x mandatory;
	transform-origin:top right;
	transform:scale(0,0);
	transition:transform 500ms ease 0ms;
}

.cart-resorts-content.active-cart-content {
	transform:scale(1,1);
	transition:transform 500ms ease 410ms;
}

.cart-resort {
	flex-shrink:0;
	width:100%;
	height:calc(100% - 5px);
	outline:1px solid #fff;
	scroll-snap-align:start;
	position:relative;
}

.cart-img {
	width:100%;
	height:230px;
	object-fit:cover;
}

.cart-details {
	padding:10px;
	position:relative;
}

.cart-room-info {
	display:flex;
	width:100%;
	font-size:.85rem;
	margin-top:20px;
	margin-bottom:10px;
	color:#999;
}

.cart-room-info > *{
	width:max-content;
	display:flex;
	margin-inline:3px;
}

.cart-room-info i {
	margin-inline:5px;
	color:#aaa;
	font-size:.9rem;
}
.cart-room-info span {
	margin-inline:4px;
	font-size:.8rem;
	color:#999;
}

.content-bar h4 {
	font-size:1rem;
	color:#6990f2;
	font-weight:400;
}

.cart-remove-btn {
	position:absolute;
	top:0;
	right:0;
	width:max-content;
	height:max-content;
	display:flex;
	justify-content:flex-end;
	padding:10px;
}

.cart-remove-btn button{
	font-size:1rem;
	position:relative;
	color:#d44;
}

.cart-details h4 {
	font-size:1rem;
}

.cart-details span {
	display:block;
	font-size:.9rem;
}

.cart-details p {
	margin-top:10px;
	margin-inline:5px;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	overflow:hidden;
	font-size:.85rem;
}

.btn-cart {
	color:#666;
}

.expand-details {
	position:absolute;
	bottom:0px;
	left:0;
	width:100%;
	height:30px;
	padding:10px;
	background:#fff;
	transition:height 300ms;
	border-top:1px solid #ddd;
	overflow:hidden;
}

.expand-details p {
    margin-block:20px;	
}

.expand-details.active-expand {
	height:100%;
	overflow-y:scroll;
}

.expand-details button{
	font-size:1rem;
	transition:transform 150ms;
}

.expand-details button:hover{
	transform:scale(1.1);
}

.cart-room-facilities {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	gap:.25rem;
	font-size:.85rem;
	color:#888;
}

@media (max-width:500px) {
	.cart-room-facilities {
		display:grid;
	    grid-template-columns:repeat(auto-fit, minmax(max-content,180px));
	}
}

.cart-room-facilities > * {
	width:max-content;
	margin-right:10px;
	font-weight:300;
}

.img-logo-wrapper {
   display:none;
   width:120px;
}

.header {
	position:fixed;
	z-index:100;
}
/**/
.section-message-wrapper {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	display:flex;
	justify-content:center;
	padding:0 10px;
	background:#fff;
	z-index:90;
	overflow:hidden;
	transform:height 10ms ease 500ms;
}

.section-message-wrapper.active-wrapper {
	height:100vh;
	transform:height 10ms ease 0ms;
}

.message-wrapper {
	width:clamp(220px,95%,650px);
	margin-top:50px;
	padding:1.5rem;
	position:relative;
	transform:scale(0,0) translate(-50%);
	transition:transform 500ms;
	position:relative;
}

.message-wrapper.active-block {
	transform:scale(1,1) translate(0);
}

.message-wrapper h1{
	margin-bottom:20px;
	font-size:max(3vw,1.5rem);
}

.message-wrapper h3{
	margin-bottom:10px;
	font-size:max(2vw,1.1rem);
}

.message-wrapper .message{
	margin-bottom:30px;
	padding:1.2rem;
	border:1px solid #53c96e;
	display:flex;
}

.message-wrapper .message p{
	line-height:25px;
}

.message-wrapper .message i {
	color:#53c96e;
	margin-right:10px;
}

.details-wrapper-success {
	width:clamp(250px,100%,700px);
	display:flex;
	flex-wrap:wrap;
	row-gap:20px;
	column-gap:50px;
    margin-bottom:30px;
	padding:10px;
}

.details-wrapper-success > *{
	flex-shrink:0;
	width:max-content;	
}

.details-wrapper-success div > *{
	margin-bottom:10px;
	color:#444;
}

@media screen and (max-width:700px) {
	.message-wrapper {
		padding:max(5vw,10px);
		margin-top:30px;
	}
	.message-wrapper h1{
		margin-bottom:10px;
		font-size:max(3vw,1.5rem);
		text-align:center;
	}

	.message-wrapper h3{
		margin-bottom:10px;
		font-size:max(2vw,1.1rem);
	}
	.details-wrapper-success div > *{
		margin-bottom:5px;
		color:#444;
	}
	.details-wrapper-success {
		row-gap:10px;
		margin-bottom:10px;
	}
	.bottom-btn-wrapper {
		position:absolute;
		bottom:20px;
		right:10px;
	}
}

.details-wrapper-success span{
	display:inline-block;
	color:#999;
	margin-left:10px;
	width:max-content;
}
/**/
/**/
.resorts-wrapper {
	min-height:400px;
	display: flex;
	align-items:center;
	justify-content:center;
	background-color:#fff;
	margin-bottom:50px;
	margin-inline:min(5vw,2rem);
}

.head-title {
	margin-top:30px;
	padding-block:20px;
	padding-bottom:0;
	background:#fff;
	padding-left:min(30px,10%);
	padding-right:min(30px,10%);
	color:#3eb358;
	font-size:1.4rem;
	font-weight:400;
}

.slide-container {
	max-width:1420px;
	width:100%;
	padding:20px 0;
}

.slide-content4,
.slide-content2,
.slide-content {
	margin: 0 30px;
    overflow:hidden;	
	border-radius:5px;
}

.swiper-button-next3
.swiper-button-next2
.swiper-button-next {
	right:15px ;
}

.swiper-button-next3
.swiper-button-prev2,
.swiper-button-prev {
	left:10px;
}

.card {
	overflow:hidden;
}

.card-content2,	
.card-content {
	padding:5px 14px;
	height:80px;
	align-items:center;
	position:relative;
	z-index:1;
}

.card-content2 {
	max-height:180px;
	height:max-content;
	min-height:100px;
}

.image-content4,
.image-content3,
.image-content2,
.image-content {
	position:relative;
	padding:0;
	width:100%;
	object-fit:cover;
	transition:250ms;
	transition-property:transform;
}

.image-content3{
	height:190px;
}

.image-content4 {
	height:160px;
}

.image-content2{
	height:inherit;
}

.card-content {
	max-height:180px;
	height:max-content;
	min-height:100px;
}

.image-content3 ~ .card-content {
	height:110px;
}

.image-content4 ~ .card-content {
	height:70px;
}

.image-content:hover {
	transform:scale(1.1);
}

.name2, 
.name {
	font-size:.9rem;
    font-weight:500;
	display:inline-block;
	width:100%;
	margin-top:5px;
}

.name2 {
	margin-top:5px;
}

.description {
    font-size:.8rem;
	width:clamp(100px,100%,350px);
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
	overflow:hidden;
	margin:10px 0;
}
.card-content .name {
	font-size:.85rem;
}
.card-content .description {
    font-size:.8rem;
	color: #707070;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
	overflow:hidden;
	margin:10px 0;
	text-align:justify;
}

.cash {
	display:inline-block;
	font-weight:400;
	margin-left:4px;
	color:var(--primary-color);
	font-size:1rem;
	text-shadow:0 0 5px #fff;
}
.button-more {
	border:none;
	font-size:.85rem;
	color: #fff;
	padding:.35rem 1rem;
	background-color:var(--primary-color-light);
	border-radius:3px;
	position:relative;
	left:50%;
	transform:translate(-50%);
	cursor:pointer;
	transition:background 0.3s ease;
}
.button-more:hover {
	background:var(--primary-color);
}
.swiper-navBtn {
	color:#000;
	transition: 0.3s ease;
	box-shadow:0 0 10px #000;
	height:28px;
	background:#fff;
	border-radius:50%;
}
.swiper-navBtn:hover {
	color:#000;
}
.swiper-navBtn::before,
.swiper-navBtn::after {
	font-size:.8rem !important;
}

.swiper-pagination-bullet {
	background-color: #ddd;
	opacity: 1;	
}

.Navgation {
	display:none;
}
