@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. Fonts
2. Body and some general stuff
3. Header
4. Menu
5. Home
6. Features
7. Gallery
8. About
9. Testimonials
10. Booking
11. Blog
12. Footer


******************************/

/***********
1. Fonts
***********/

@import url("https://fonts.googleapis.com/css?family=Raleway:300,400,500,600,700,800,900");

/*********************************
2. Body and some general stuff
*********************************/

* {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Raleway", sans-serif;
  font-size: 14px;
  font-weight: 400;
  background: #ffffff;
  color: #a5a5a5;
}

div {
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
ul {
  list-style: none;
  margin-bottom: 0px;
}
p {
  font-family: "Raleway", sans-serif;
  font-size: 15px;
  line-height: 2;
  font-weight: 500;
  color: #6d6d6d;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}
p a {
  display: inline;
  position: relative;
  color: inherit;
  border-bottom: solid 1px #ffa07f;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
p:last-of-type {
  margin-bottom: 0;
}
a {
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
a,
a:hover,
a:visited,
a:active,
a:link {
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}
p a:active {
  position: relative;
  color: #ff6347;
}
p a:hover {
  color: #ffffff;
  background: #ffa07f;
}
p a:hover::after {
  opacity: 0.2;
}
::selection {
  background: rgba(255, 163, 123, 1);
  color: #ffffff;
}

h1 {
  font-size: 48px;
}
h2 {
  font-size: 36px;
}
h3 {
  font-size: 24px;
}
h4 {
  font-size: 18px;
}
h5 {
  font-size: 14px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Raleway", sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  line-height: 1.2;
  color: #393939;
  font-weight: 600;
}

img {
  max-width: 100%;
}
button:active {
  outline: none;
}
.form-control {
  color: #db5246;
}
section {
  display: block;
  position: relative;
  box-sizing: border-box;
}
.clear {
  clear: both;
}
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}
.clearfix::after {
  clear: both;
}
.clearfix {
  zoom: 1;
}
.float_left {
  float: left;
}
.float_right {
  float: right;
}
.trans_200 {
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
.trans_300 {
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.trans_400 {
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
}
.trans_500 {
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.fill_height {
  height: 100%;
}
.super_container {
  width: 100%;
  overflow: hidden;
}
.prlx_parent {
  overflow: hidden;
}
.prlx {
  height: 130% !important;
}
.parallax-window {
  min-height: 400px;
  background: transparent;
}
.parallax_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.background_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.nopadding {
  padding: 0px !important;
}
.owl-carousel,
.owl-carousel .owl-stage-outer,
.owl-carousel .owl-stage,
.owl-carousel .owl-item {
  height: 100%;
}
.slide {
  height: 100%;
}


/*********************************
// Section Header //
*********************************/

.section_title {
  font-size: 40px;
  font-weight: 700;
  color: #222;
}

.section_subtitle {
  max-width: 600px;
  margin: 15px auto 40px;
  font-size: 16px;
  color: #666;
  line-height: 1.6;
}

.section_divider {
  width: 60px;
  height: 4px;
  background: #ffa37b;
  margin: 15px auto;
  border-radius: 2px;
}

.section_header {
  text-align: center;
  margin-bottom: 40px;
}

/* COMMON SECTION SPACING */
section {
  padding: 80px 0;
}

/*********************************
3. Header
*********************************/

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 100;
}
.header::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: rgba(0, 0, 0, 0.7);
  content: "";
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
}
.header.scrolled::before {
  height: 100%;
}
.header_content {
  width: 100%;
  height: 128px;
  padding-left: 62px;
  padding-right: 62px;
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
}
.header.scrolled .header_content {
  height: 90px;
}
.logo {
  width: 130px;
  height: 41px;
  border: solid 2px #ffffff;
  text-align: center;
}
.logo a {
  display: block;
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  line-height: 37px;
}
.main_nav ul li:not(:last-of-type) {
  margin-right: 49px;
}
.main_nav ul li a {
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
}
.main_nav ul li a:hover,
.main_nav ul li.active a {
  color: #ffa37b;
}

.book_button{
  width: 152px;
  height: 54px;
  border-radius: 3px;
  margin-left: 45px;
  text-align: center;
  background:linear-gradient(135deg,#ffa37b,#ff7f50);
  color:#fff;
  box-shadow:0 0 15px rgba(255,163,123,0.6);
  font-weight:600;
  text-decoration:none;
  transition:0.3s;
  position:relative;
  overflow:hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.book_button:hover::before{
  left:100%;
}

.book_button:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 0 25px rgba(0,0,0,0.3);
}
.book_button:hover a {
  color: #fcfbfa;
}
.book_button::before{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:rgba(255,255,255,0.2);
  transform:skewX(-20deg);
  transition:0.5s;
}
.book_button a{
  display:block;
  width:100%;
  height:100%;
  line-height:54px;
  font-size:14px;
  font-weight:500;
  color:#fff;
  text-decoration:none;
}
.header_phone {
  width: 190px;
  height: 54px;
  margin-left: 14px;
  border-radius: 3px;

  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;
  box-shadow:0 0 15px rgba(37,211,102,0.6);

  display: flex;
  align-items: center;
  justify-content: center;

  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: 0.3s;
}

/* hover effect */
.header_phone:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 0 25px rgba(0,0,0,0.3);
}

/* swipe animation */
.header_phone::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.2);
  transform: skewX(-20deg);
  transition: 0.5s;

}

.header_phone:hover::before {
  left: 100%;

}

/* image fix */
.header_phone img {
  width: 20px;
  height: 20px;
  z-index: 2;
}

/* text */
.header_phone span {
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
  margin-left: 9px;
  z-index: 2;
}

.header_phone span::selection {
  background: #ffffff;
  color: #ffa37b;
}
.hamburger {
  display: none;
  margin-left: 25px;
  cursor: pointer;
}
.hamburger i {
  font-size: 24px;
  color: #ffffff;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
.hamburger:hover i {
  color: #ffa37b;
}

.booking_input_container > div {
  flex: 1;
  min-width: 140px;
}

/*********************************
4. Menu
*********************************/

.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 101;
  background: rgba(255, 255, 255, 0.93);
  visibility: hidden;
  opacity: 0;
}
.menu.active {
  visibility: visible;
  opacity: 1;
}
.menu_content {
  padding-right: 30px;
  padding-top: 170px;
}
.menu_close {
  position: absolute;
  top: 50px;
  right: 30px;
  cursor: pointer;
  z-index: 1;
}
.menu_close i {
  font-size: 24px;
  color: #121212;
}
.menu_close:hover i {
  color: #ffa37b;
}
.menu_nav ul li:not(:last-of-type) {
  margin-bottom: 5px;
}
.menu_nav ul li a {
  font-weight: 700;
  font-size: 36px;
  color: #121212;
  line-height: 1.2;
}
.menu_nav ul li a:hover {
  color: #ffa37b;
}
.menu_nav ul li a span {
  color: #690772;
}
.menu_extra {
  position: absolute;
  right: 30px;
  bottom: 30px;
}
.menu_book {
  display: none;
  margin-top: 50px;
}
.menu_book a {
  display: inline-block;
  position: relative;
  font-size: 14px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}
.menu_book a::after {
  display: block;
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.62);
  content: "";
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
.menu_book a:hover {
  color: #ffa37b;
}
.menu_book a:hover::after {
  background: #ffa37b;
}
.menu_phone {
  margin-top: 10px;
}
.menu_phone span {
  font-size: 16px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
  margin-left: 9px;
}

/*********************************
5. Home
*********************************/

.home {
  width: 100%;
  height: 100vh;
}
.home_slider_container {
  width: 100%;
  height: 100%;
}
.home_slider .owl-dots {
  display: none;
}
.home_slider_dots_container {
  position: absolute;
  left: 61px;
  bottom: 39px;
  z-index: 1;
}
.home_slider_custom_dots li {
  font-size: 14px;
  color: #ffffff;
  cursor: pointer;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
.home_slider_custom_dots li:not(:last-of-type) {
  margin-right: 5px;
}
.home_slider_custom_dots li.active,
.home_slider_custom_dots li:hover {
  color: #ffa37b;
}
.home_slider .slide {
  background: #0f0e24;
}
.home_slider .background_image {
  opacity: 0.28;
}
.home_container {
  position: absolute;
  top: 36.5%;
  left: 0;
  width: 100%;
}
.home_title {
  font-size: 65px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.2;
}

/* GOLD TEXT */
#typingText {
  font-weight: bold;
  background: linear-gradient(90deg, #ffd700, #ffc107, #ffb300, #ffd700);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* CURSOR */
#typingText::after {
  content: "|";
  color: #ffd700;
  margin-left: 5px;
  animation: blink 1s infinite;
}

/* CURSOR BLINK */
@keyframes blink {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

.home_subtitle {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 10px;
  text-align: center;
  text-transform: capitalize;
}
.booking_form_container {
  width: 100%;
  margin-top: 34px;
  padding-left: 78px;
  padding-right: 88px;
}
.booking_form {
  display: block;
  width: 100%;
}
.booking_input {
  width: 100%;
  height: 54px;
  background: rgba(255, 255, 255, 0.2);
  border: solid 2px #ffffff;
  padding-left: 17px;
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  outline: none;
}
.booking_input_container {
  width: 100%;
}
.booking_input_container > div {
  padding-right: 10px;
}
.booking_input_container > div:first-child,
.booking_input_container > div:nth-child(2) {
  width: 32.60869565217391%;
}
.booking_input_container > div:nth-child(3),
.booking_input_container > div:nth-child(4) {
  width: 17.39130434782609%;
}

.booking_input_b {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
}
.booking_input::-webkit-input-placeholder {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}
.booking_input:-moz-placeholder {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}
.booking_input::-moz-placeholder {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}
.booking_input:-ms-input-placeholder {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}
.booking_input::input-placeholder {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}
.booking_button {
  width: 152px;
  height: 54px;
  background: #ffa37b;
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  border: none;
  outline: none;
  cursor: pointer;
}
.booking_button:hover {
  background: rgba(255, 255, 255, 0.2);
}

/*********************************
6. Features
*********************************/

.features {
  background: #ffffff;
  padding-top: 115px;
  padding-bottom: 24px;
}
.features .section_subtitle {
  margin-bottom: 30px;
}
.icon_box_col {
  margin-bottom: 80px;
}
.icon_box_icon {
  width: 82px;
  height: 82px;
  margin: 0 auto; /* center karega */
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon_box_icon img {
  max-width: 100%;
  max-height: 100%;
}
.icon_box_icon svg {
  max-width: 100%;
  max-height: 100%;
}
.svg path,
.svg rect,
.svg polygon {
  fill: #a1a1a1;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
.icon_box:hover .svg path,
.icon_box:hover .svg rect,
.icon_box:hover .svg polygon {
  fill: #ffa37b;
}
.icon_box_title {
  margin-top: 16px;
}

.icon_box_text {
  margin-top: 21px;
}

/*********************************
7. Gallery
*********************************/

.gallery {
  width: 100%;
}
.gallery_item {
  height: calc(100vw / 4);
}
.gallery_item a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.custom_gallery {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 400px;
  margin: 50px 0;
}

.options {
  display: flex;
  width: 90%;
  height: 100%;
}

.option {
  flex: 1;
  margin: 10px;
  background-size: cover;
  background-position: center;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.5s ease;
  position: relative;
  overflow: hidden;
}

.gallery_section {
  background: #f8f9fa; /* same as about */
  padding: 80px 0;
}

.option.active {
  flex: 5;
}

.overlay {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 20px;
  color: white;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
}

.overlay h3 {
  margin: 0;
}

.custom_gallery .overlay h3 {
  color: #ffd700; /* golden */
}

/*********************************
8. About
*********************************/
.about {
  background: #f8f9fa;
  padding: 80px 0;
}

.about_row {
  margin-top: 40px;
  align-items: center;
}

.about_content {
  padding-right: 30px;
}

.about_text p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
  margin-bottom: 15px;
  text-align: justify;
}

.about_images {
  width: 100%;
  text-align: center;
}

.about_images img {
  width: 100%;
  max-width: 500px;
  display: block;
  margin: 0 auto;
  border-radius: 10px;
  transition: 0.3s ease;
}

.about_images img:hover {
  transform: scale(1.05);
}

  
/*********************************
10. Booking
*********************************/

.booking {
  background: #ffffff;
  padding-top: 107px;
  padding-bottom: 114px;
}
.booking_text {
  margin-top: 28px;
}
.booking_slider_container {
  margin-top: 63px;
}
.booking_item {
  height: 569px;
  margin-top: 50px;
}
.booking_price {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 128px;
  height: 36px;
  background: #ffffff;
  text-align: center;
  line-height: 36px;
  font-size: 16px;
  font-weight: 600;
  color: #393939;
}
/* Button */
.book_btn {
  display: inline-block;
  padding: 12px 30px;
  background: #ffa37b;
  color: #fff;
  border-radius: 3px;
  text-decoration: none;
  transition: 0.3s;
}

.book_btn:hover {
  background: #ffa37b;
}
.booking_link {
  position: absolute;
  bottom: 18px;
  left: 15px;
  width: calc(100% - 30px);
  height: 65px;
  background: #ffa37b;
  text-align: center;
}
/* BOOKING SECTION */
.booking_section {
  background: #f8f9fa;
  padding: 100px 0;
}

/* Pricing Card */
.pricing_box {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  text-align: left;
}

/* Title */
.pricing_title {
  text-align: center;
  margin-bottom: 25px;
  font-size: 26px;
  font-weight: 700;
  color: #222;
}

/* List */
.pricing_list {
  padding-left: 0;
}

.pricing_list li {
  list-style: none;
  margin-bottom: 12px;
  font-size: 16px;
  color: #444;
}

/* Examples */
.pricing_examples {
  margin-top: 20px;
  padding: 15px;
  background: #f1f3f6;
  border-radius: 10px;
}

.pricing_examples h4 {
  margin-bottom: 10px;
}

.booking_link a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 65px;
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
}
.booking_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(13, 9, 30, 0.67);
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}
.booking_item:hover .booking_overlay {
  visibility: visible;
  opacity: 1;
}

/*********************************
11. Blog
*********************************/

.blog {
  padding-bottom: 50px;
}
.blog_slider_container {
  width: 100%;
  height: 487px;
}
.blog_slide {
  height: 100%;
  background: #0f0a27;
}
.blog_slide .background_image {
  opacity: 0.33;
}
.blog_content {
  position: absolute;
  left: 52px;
  bottom: 57px;
  width: calc(100% - 52px);
  padding-right: 30px;
}
.blog_date {
  width: 116px;
  height: 26px;
  background: #ffa37b;
  text-align: center;
}
.blog_date a {
  display: block;
  height: 100%;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  line-height: 26px;
}
.blog_title {
  margin-top: 14px;
}
.blog_title a {
  font-size: 36px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.2;
}
.blog_title a:hover {
  color: #ffa37b;
}
/* Top Places Section */
#places {
    padding-bottom: 0;
}

#places .section_header {
    margin-bottom: 30px;
}

#places .blog_slider_container {
    margin-top: 0;
}

#places .blog_date a {
    background: #ffa37b;
    padding: 4px 15px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 600;
}

#places .blog_title a:hover {
    color: #ffa37b;
}

/*********************************
6. Contact
*********************************/

.contact {
  background: #ffffff;
  border-bottom: solid 2px #eaf2f7;
}
.contact_content {
  padding-top: 105px;
  padding-bottom: 114px;
}
.contact_list {
  margin-top: 58px;
}
.contact_list ul li {
  font-size: 16px;
  font-weight: 500;
  color: #605d5d;
}
.contact_list ul li:not(:last-of-type) {
  margin-bottom: 17px;
}
.contact_form_container {
  margin-top: 73px;
}
.contact_form {
  display: block;
  position: relative;
}
.input_container {
  margin-bottom: 5px;
}
.contact_input {
  width: 100%;
  height: 64px;
  background: #ffffff;
  border: none;
  outline: none;
  border-bottom: solid 2px #393939;
  font-size: 16px;
  font-weight: 500;
  color: #393939;
}
.contact_input::-webkit-input-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.contact_input:-moz-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.contact_input::-moz-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.contact_input:-ms-input-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.contact_input::input-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.contact_textarea {
  height: 129px;
  padding-top: 15px;
}
.contact_button {
  margin-top: 31px;
  width: 152px;
  height: 54px;
  background: #ffa37b;
  border: none;
  outline: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
.contact_button:hover {
  box-shadow: 0px 10px 23px rgba(0, 0, 0, 0.15);
}
.contact_map {
  width: calc(100% + ((95vw - 1120px) / 2));
  height: 90%;
}
.map {
  width: 100%;
  height: 100%;
}
.google_map {
  width: 100%;
  height: 100%;
}
.map_container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#map {
  width: 100%;
  height: 400px;
}

.contact .container {
  padding-left: 30px;
  padding-right: 30px;
}

/*********************************
12. Footer
*********************************/

.footer {
  background: #ffffff;
  padding-top: 81px;
}
/* Footer */
.pricing_footer {
  margin-top: 20px;
  text-align: center;
  color: #555;
}
.footer_content {
  padding-bottom: 52px;
}
.footer_logo {
  display: inline-block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.footer_logo > div:first-of-type {
  width: 235px;
  height: 74px;
  border: solid 3px #393939;
  font-size: 43.32px;
  font-weight: 600;
  color: #393939;
  line-height: 68px;
}
.footer_logo > div:last-of-type {
  font-size: 16px;
  font-weight: 600;
  color: #393939;
  line-height: 0.75;
  margin-top: 15px;
}
.footer_logo a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.footer_row {
  margin-top: 74px;
}
.footer_title {
  font-size: 18px;
  font-weight: 700;
  color: #393939;
  line-height: 1.2;
}
.footer_list {
  margin-top: 9px;
}
.footer_list ul li {
  font-size: 15px;
  font-weight: 500;
  color: #6d6d6d;
  line-height: 2;
}
.newsletter_container {
  margin-top: 8px;
}
.newsletter_form {
  display: block;
  position: relative;
}
.newsletter_input {
  width: 100%;
  height: 64px;
  background: #ffffff;
  border: none;
  border-bottom: solid 2px #393939;
  outline: none;
  font-size: 15px;
  font-weight: 600;
  color: #393939;
}
.newsletter_input::-webkit-input-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.newsletter_input:-moz-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.newsletter_input::-moz-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.newsletter_input:-ms-input-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.newsletter_input::input-placeholder {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6d6d6d !important;
}
.newsletter_button {
  width: 152px;
  height: 54px;
  background: #ffa37b;
  margin-top: 23px;
  border: none;
  outline: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
}
.certificates {
  padding-left: 12px;
  padding-top: 10px;
}
.cert {
  margin-bottom: 30px;
}
.copyright {
  width: 100%;
  height: 33px;
  background: #ffffff;
  text-align: center;
  line-height: 33px;
  font-size: 15px;
  font-weight: 500;
  color: #6d6d6d;
}

.action_buttons{
  display:flex;
  gap:15px;
  justify-content:center;
  align-items:center;
  margin-top:20px;
}

/* COMMON BUTTON STYLE */
.btn{
  padding:14px 30px;
  /* border-radius:50px; */
  font-size:16px;
  font-weight:600;
  text-decoration:none;
  transition:0.3s;
  position:relative;
  overflow:hidden;
}

/* BOOK NOW BUTTON */
.book_now{
  background:linear-gradient(135deg,#ffa37b,#ff7f50);
  color:#fff;
  box-shadow:0 0 15px rgba(255,163,123,0.6);
}

/* CALL NOW BUTTON */
.call_now{
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;
  box-shadow:0 0 15px rgba(37,211,102,0.6);
}

/* HOVER EFFECT */
.btn:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 0 25px rgba(0,0,0,0.3);
}

/* CLICK EFFECT */
.btn:active{
  transform:scale(0.95);
}

/* LIGHT SWIPE ANIMATION */
.btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:rgba(255,255,255,0.2);
  transform:skewX(-20deg);
  transition:0.5s;
}

.btn:hover::before{
  left:100%;
}

html, body
{
	overflow-x: hidden;
}

/* ========== BOOKING MODAL ========== */
.booking_modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 99999;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.booking_box {
    background: #fff;
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 10px;
    padding: 30px;
    position: relative;
}

.booking_box h2 {
    text-align: center;
    margin-bottom: 20px;
    color: #333;
    font-size: 24px;
}

.booking_box input,
.booking_box select,
.booking_box textarea {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}

.booking_box input:focus,
.booking_box select:focus {
    border-color: #d4a762;
}

.booking_box label {
    display: block;
    font-size: 13px;
    color: #666;
    margin-bottom: 5px;
    margin-top: 5px;
}

.booking_box button[type="submit"] {
    width: 100%;
    padding: 14px;
    background: #d4a762;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    margin-top: 10px;
}

.booking_box button[type="submit"]:hover {
    background: #c49652;
}

.booking_box button[type="submit"]:disabled {
    background: #ccc;
    cursor: not-allowed;
}

.booking_box input[type="file"] {
    padding: 8px;
    font-size: 13px;
}



/* Gallery Section heading fix */
.gallery_section {
  background: #f8f9fa;
  padding: 80px 0;
  overflow: hidden;
}

.gallery_section .section_header {
  padding: 0 15px;
  margin-bottom: 30px;
}

/* Custom gallery container fix */
.custom_gallery {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  margin: 0 15px;
}

/* Options container */
.custom_gallery .options {
  display: flex;
  flex-direction: row;
  height: 400px;
  width: 100%;
}

/* Mobile fix */
@media (max-width: 768px) {
  .custom_gallery {
    height: auto;
    margin: 0 10px;
  }

  .custom_gallery .options {
    flex-direction: column;
    height: auto;
    width: 100%;
  }

  .custom_gallery .option {
    flex: none;
    width: 100%;
    height: 180px;
    min-width: unset;
    border-radius: 12px;
  }

  .custom_gallery .option.active {
    height: 280px;
    flex: none;
  }

  .custom_gallery .option .overlay h3 {
    opacity: 1 !important;
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .custom_gallery .option {
    height: 160px;
  }

  .custom_gallery .option.active {
    height: 250px;
  }
}

.about_text p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
  margin-bottom: 15px;
  text-align: justify;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  word-break: break-word;
}


.icon_box_col {
  margin-bottom: 80px;
}

@media (max-width: 768px) {
  .icon_box_col {
    margin-bottom: 30px;
  }

  .features {
    padding-top: 60px;
    padding-bottom: 10px;
  }
}

@media (max-width: 480px) {
  .icon_box_col {
    margin-bottom: 20px;
  }

  .features {
    padding-top: 40px;
    padding-bottom: 0px;
  }
}
