@import url("https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap");

:root {
  --primary: #e80137;
  --secondary: #123b4e;
  --primary_gradient: linear-gradient(270deg,
      rgba(250, 69, 74, 1) 0%,
      rgba(255, 116, 47, 1) 100%);
  --bg_light_gradient: linear-gradient(to bottom right, #fff4f4, #f8efff);
  --bgLight: rgba(5, 18, 40, 0.03);
  --headingBlue: #123b4e;
  --borderColor: #d7d7d7;
  --textDark: #000000;
  --textLight: #666666;
  --textWhite: #ffffff;
}

.text_dark {
  color: var(--textDark);
}

.text_primary {
  color: var(--primary);
}

.text_secondary {
  color: var(--secondary);
}

.text_blue {
  color: var(--headingBlue);
}

.bg_light {
  background: var(--bgLight);
}

body {
  font-family: "Archivo", sans-serif;
}

.font_italic {
  font-style: italic;
}

.fw_400 {
  font-weight: 400;
}

.fw_500 {
  font-weight: 500;
}

.fw_600 {
  font-weight: 600;
}

.fw_700 {
  font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  color: var(--headingBlue);
}

h1,
.h1 {
  font-size: 44px;
  line-height: 52px;
}

h2,
.h2 {
  font-size: 38px;
  line-height: 46px;
}

h3,
.h3 {
  font-size: 32px;
  line-height: 38px;
}

h4,
.h4 {
  font-size: 24px;
  line-height: 30px;
}

h5,
.h5 {
  font-size: 18px;
  line-height: 24px;
}

h6,
.h6 {
  font-size: 16px;
  line-height: 20px;
}

p {
  font-size: 18px;
  line-height: 24px;
  margin: 0 0 15px;
}

ul li {
  font-size: 18px;
  line-height: 24px;
}

p:last-child {
  margin: 0;
}

.p_16 {
  font-size: 16px;
  line-height: 22px;
}

.p_22 {
  font-size: 22px;
  line-height: 28px;
}

.p_24 {
  font-size: 24px;
  line-height: 30px;
}

a {
  color: var(--primary);
  transition: 0.5s ease;
  text-decoration: none;
}

a:hover {
  color: var(--primary);
}

.pt_100 {
  padding-top: 100px;
}

.pb_100 {
  padding-bottom: 100px;
}

.py_100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

img {
  max-width: 100%;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.btn_primary {
  background: var(--primary);
  padding: 5px 5px 5px 20px;
  font-size: 15px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  color: var(--textWhite);
  border: 1px solid var(--primary);
  transition: 0.5s ease;
  border-radius: 7px;
}

.btn_primary span {
  width: 36px;
  height: 36px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--textWhite);
  margin-left: 15px;
}

.btn_primary img {
  transition: 0.5s ease;
}

.btn_primary img {
  filter: invert(1);
}

.btn_primary:hover {
  background: var(--secondary);
  color: var(--textWhite);
  border: 1px solid var(--textWhite);
}

.btn_primary:hover img {
  transform: rotate(45deg);
}

.btn_transparent {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  color: var(--textDark);
  font-weight: 400;
}

.btn_transparent:hover {
  color: var(--primary);
}

.btn_transparent span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 15px;
  transition: 0.5s ease;
}

.btn_transparent b {
  font-weight: 400;
  position: relative;
}

.btn_transparent b:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--textDark);
  transition: 0.5s ease;
}

.btn_transparent:hover b:before {
  width: 0;
}

.btn_transparent:hover span {
  transform: rotate(-45deg);
}

.btn_border {
  background: transparent;
  border: 1px solid var(--secondary);
  border-radius: 8px;
  color: var(--secondary);
  font-size: 15px;
  padding: 5px 5px 5px 20px !important;
  text-align: center;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn_border span {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: var(--secondary);
  margin-left: 15px;
  transition: 0.5s ease;
}

.btn_border span img {
  transition: 0.5s ease;
}

.btn_border:hover {
  background: var(--secondary);
  color: var(--textWhite);
  border-color: var(--secondary);
}

.btn_border:hover span {
  background: var(--textWhite);
}

.btn_border:hover span img {
  filter: invert(1);
  transform: rotate(45deg);
}

.btn_secondary {
  background: var(--secondary);
  color: var(--textWhite);
  border: 1px solid var(--secondary);
  border-radius: 8px;
  font-size: 15px;
  padding: 15px 30px;
  text-align: center;
  font-weight: 400;
  display: inline-block;
}

.btn_secondary:hover {
  background: var(--primary);
  color: var(--textWhite);
  border-color: var(--primary);
}

.btn_without_icon {
    padding: 12px 20px;
    text-align: center;
    justify-content: center;
}

header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 99;
  padding: 15px 0;
  padding-right: 0;
}

header .navbar {
  background: var(--secondary);
  padding: 15px 15px;
  border-radius: 10px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
  border: 1px solid var(--secondary);
  position: relative;
}

.navbar-brand img {
  height: 40px;
}

.navbar-brand {
  padding: 0;
}

header .navbar .nav-link {
  padding: 0 15px !important;
  font-size: 17px;
  color: #fff;
  font-weight: 500;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

header .navbar .nav-link.active {
  color: #fff;
}

header .navbar .nav-link:hover {
  color: var(--primary);
  transform: translateY(-2px);
}

header .navbar .navbar-nav {
  align-items: center;
}

header .navbar .nav-link.btn_primary {
  padding: 5px 5px 5px 20px !important;
  margin-left: 15px;
  font-size: 16px;
}

header .navbar .nav-link.btn_primary:hover {
  color: var(--textWhite);
}

.banner_wrapper {
  padding: 160px 0 0;
  background: var(--bg_light_gradient);
  position: relative;
  z-index: 9;
}

.banner_wrapper:before {
  content: "";
  position: absolute;
  left: 0;
  top: 130px;
  width: 100%;
  height: 100%;
  background: url(../images/shape-banner.svg);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
  opacity: 0.08;
}

.banner_img {
  text-align: center;
  position: relative;
}

.banner_content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  margin: 0 0 50px;
}

.st-images img {
  border-radius: 10px;
}

.test {
  height: 2000px;
}

.curve {
  height: 0;
}

.curve.reverse {
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.curve-wrap {
  z-index: 90;
  will-change: transform;
  width: 100%;
  height: 10vh;
  position: relative;
  inset: -1px 0% 100%;
  overflow: hidden;
}

.curve-wrap.reverse {
  top: 1px;
}

.curve-divider {
  z-index: 90;
  background-color: var(--textWhite);
  border-radius: 50%;
  width: 150%;
  height: 750%;
  position: absolute;
  inset: auto 0% 0 50%;
  transform: translate(-50%);
}

.curve-divider.reverse {
  top: 0;
  bottom: auto;
}

.about_content {
  padding-left: 50px;
}

.about_img {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 10px;
}

.about_img>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about_main_wrapper {
  position: relative;
  padding-right: 170px;
}

.splash_img_wraper {
  position: absolute;
  right: 0;
  top: 50%;
  max-width: 300px;
  transform: translateY(-50%);
}

.bf-content-wrapper {
  min-height: 100vh;
}

body.reduced-motion .st-wrap {
  opacity: 1 !important;
  transform: none !important;
}

.st-wrap {
  z-index: 1;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.st-images {
  z-index: 1;
  grid-template-rows: auto;
  grid-template-columns: 50% 30% 20%;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  justify-content: center;
  width: 100%;
  height: 80vh;
  display: grid;
}

.st-group-left {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  justify-items: end;
  padding-left: 1rem;
  padding-right: 1rem;
  display: grid;
}

#w-node-_44ad3580-1f43-c701-8982-02aee0360e27-62aa9192 {
  justify-self: end;
}

.bf-center-vertical {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.st-group {
  flex: none;
  width: 22vw;
  position: relative;
}

.bf-ratio-1-1 {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
}

.st-group-s {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  display: flex;
  position: relative;
  top: -5%;
}

.st-group.st-image-s {
  width: 15vw;
}

.bf-ratio-3-4 {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  width: 100%;
}

.bf-border-radius {
  border-radius: var(--borders--border-radius);
  overflow: hidden;
}

.st-group.top-l {
  top: 15%;
}

.st-group.st-primary-image {
  width: 30vw;
  height: 100%;
  object-fit: cover;
}

.st-primary-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.st-group-right {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  justify-items: end;
  padding-left: 1rem;
  padding-right: 1rem;
  display: grid;
}

.st-group-center {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  display: flex;
  position: relative;
}

.st-trigger {
  z-index: -1;
  margin-top: 100vh;
  position: absolute;
  inset: 0%;
}

.section_title {
  margin-bottom: 50px;
}

.section_title h2 span {
  color: var(--primary);
}

.restaurant_wrapper {
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  position: relative;
  z-index: 1;
}

.restaurant_img {
  position: relative;
}

.restaurant_img a {
  display: block;
  width: 100%;
  aspect-ratio: 8 / 5;
  overflow: hidden;
  border-radius: 5px;
}

.restaurant_img a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s ease;
}

.restaurant_img a:hover img {
  transform: scale(1.1) rotate(2deg);
}

.restaurant_content {
  padding: 10px 0 0;
}

.restaurant_content h4 {
  font-size: 20px;
}

.restaurant_content h4 a {
  color: var(--headingBlue);
}

.restaurant_content h4 a:hover {
  color: var(--primary);
}

.restaurant_content ul {
  display: flex;
  align-items: center;
}

.restaurant_content ul li {
  padding-right: 10px;
  font-size: 14px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.restaurant_content ul li:last-child {
  padding-right: 0;
}

.restaurant_content ul li i {
  margin-right: 4px;
}

.restaurant_content ul li i.bi-star-fill {
  color: #ffbc00;
}

i {
  line-height: 1;
}

ul.address_wrap li span {
  width: calc(100% - 14px);
  display: -webkit-box;
  white-space: nowrap;
  overflow: hidden;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  box-orient: vertical;
}

.restaurant_content h6 {
  font-size: 13px;
  font-weight: 400;
  margin: 0;
  text-align: right;
}

.btn_wishlist {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #fff;
  border: 0;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  padding: 0;
}

.restaurant_img .status {
  position: absolute;
  right: 10px;
  top: 10px;
}

.badge {
  font-size: 12px;
  font-weight: 500;
  border-radius: 10px;
  padding: 5px 10px;
}

.badge.bg-success {
  color: #005a03;
  background-color: #e1ffdd !important;
}

.badge.bg-warning {
  color: #e56f00;
  background-color: #ffecd5 !important;
}

.feature_wrapper {
  /* background: rgb(18 59 78 / 5%); */
  background: var(--bg_light_gradient);
  padding: 150px 0;
}

.spot_wrapper {
  padding-top: 50px;
  padding-bottom: 30px;
}

/* .feature_inner {
  padding: 50px;

  border-radius: 20px;
} */
.feature_box {
  text-align: center;
  padding: 30px;
  background: #fff;
  height: 100%;
  border-radius: 10px;
  border: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.feature_box img {
  width: 50px;
  margin: 0 0 10px;
}

.feature_box h4 {
  font-size: 20px;
  line-height: 26px;
  margin: 0 0 10px;
}

.feature_box p {
  font-size: 16px;
  line-height: 22px;
  margin: 0;
}

.app_download_Wrapper .app_download_Inner {
  background: var(--secondary);
  padding: 30px 60px;
  border-radius: 30px;
}

.app_download_content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.app_download_content h2 {
  margin: 0;
}

.app_download_content p {
  color: #fff;
  margin: 0;
}

.app_download_content ul {
  display: flex;
  align-items: center;
  gap: 15px;
}

.app_download_content ul li img {
  height: 50px;
  object-fit: contain;
}

.app_download_img {
  margin-top: -140px;
}

.app_download_Wrapper {
  padding-top: 90px;
}

.how_to_book_wrapper {
  padding-bottom: 40px;
}

.how_to_book_box {
  background: rgb(18 59 78 / 5%);
  height: 100%;
  padding: 30px;
  border-radius: 10px;
}

.how_to_book_box p {
  font-size: 16px;
  line-height: 22px;
}

.how_to_book_box span {
  font-size: 70px;
  font-weight: 700;
  opacity: 0.1;
  line-height: 1;
  margin: 0;
  display: block;
}

footer {
  background: var(--secondary);
  padding: 100px 0 0;
}

.footer_logo {
  text-align: center;
}

.footer_logo img {
  height: 60px;
}

.footer_link {
  margin: 40px 0;
  border-top: 1px solid #ffffff26;
  border-bottom: 1px solid #ffffff26;
  padding: 20px 0;
}

.footer_link ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer_link ul li {
  padding: 0 15px;
}

.footer_link ul li a {
  color: #b6c3c9;
  font-size: 18px;
}

.footer_link ul li a:hover {
  color: var(--textWhite);
}

.follow_wrapper h4 {
  text-align: center;
  color: var(--textWhite);
}

.follow_wrapper ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

.follow_wrapper ul li {
  padding: 0 10px;
}

.follow_wrapper h4 {
  font-weight: 500;
  font-size: 22px;
}

.follow_wrapper ul li a {
  width: 40px;
  height: 40px;
  background: var(--textWhite);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  border-radius: 5px;
  color: var(--secondary);
  border: 1px solid var(--textWhite);
}

.follow_wrapper ul li a:hover {
  background: transparent;
  border: 1px solid var(--textWhite);
  color: var(--textWhite);
}

.copyright {
  padding: 20px 0;
  margin-top: 40px;
  border-top: 1px solid #ffffff26;
}

.copyright p {
  margin: 0;
  color: var(--textWhite);
  font-size: 16px;
}

.copyright p a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.copyright p a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.copyright ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.copyright ul li {
  padding-left: 20px;
}

.copyright ul li a {
  color: #b6c3c9;
  font-size: 16px;
}

.copyright ul li a:hover {
  color: var(--textWhite);
}

.inner_banner_Wrapper {
  padding: 160px 0;
  background: linear-gradient(to bottom right, #fff4f4, #f8efff);
  position: relative;
  z-index: 9;
}

.list_business_wrapper {
  overflow: hidden;
  padding: 160px 0 90px;
}

.list_business_banner_img {
  position: relative;
  z-index: 9;
}

.list_business_banner_img:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 450px;
  height: 450px;
  background: var(--secondary);
  border-radius: 50%;
  z-index: -1;
  filter: blur(60px);
  opacity: 0.3;
}

.spots_filter_wrapper {
  margin-top: 40px;
  background: var(--textWhite);
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #ddd;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

.form-select,
.form-control {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 12px 20px;
  font-size: 15px;
  box-shadow: none !important;
}

.form-select:focus,
.form-control:focus {
  border-color: var(--secondary);
}

.restaurant_list_wrapper {
  padding: 20px 0;
}

.pagination .page-item .page-link {
  color: var(--secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  box-shadow: none !important;
  border: 1px solid #ddd;
  transition: all 0.3s ease;
  margin: 0 2px;
  border-radius: 5px;
}

.pagination .page-item .page-link:hover {
  background: var(--primary);
  color: var(--textWhite);
  border-color: var(--primary);
  transform: translateY(-2px);
}

.pagination .page-item.active .page-link {
  background: var(--primary);
  color: var(--textWhite);
  border-color: var(--primary);
  font-weight: 600;
}

.pagination .page-item.disabled .page-link {
  color: #adb5bd;
  background-color: #f8f9fa;
  border-color: #ddd;
  cursor: not-allowed;
}

.pagination .page-item.disabled .page-link:hover {
  transform: none;
  background: #f8f9fa;
  color: #adb5bd;
  border-color: #ddd;
}

.form-group {
  text-align: left;
}

.form-group label {
  display: block;
  font-size: 14px;
  margin: 0 0 5px;
}

.list_business_wrapper .inner_banner_content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  padding-right: 80px;
}

.list_business_wrapper .inner_banner_content>* {
  margin: 0;
}

.why_choose_wrapper {
  padding: 20px 0;
}

.why_choose_box {
  background: transparent;
  height: 100%;
  padding: 30px;
  border-radius: 10px;
  text-align: center;
  border: 1px solid #ddd;
}

.why_choose_box img {
  height: 50px;
  margin: 0 0 20px;
}

.why_choose_box h4 {
  margin: 0 0 20px;
}

.why_choose_box p {
  font-size: 16px;
  line-height: 22px;
}

.numbers_wrapper {
  /* background: rgb(18 59 78 / 5%); */
  background: var(--bg_light_gradient);
  padding: 150px 0;
}

.number_box {
  text-align: center;
}

.number_box h3 {
  font-size: 50px;
  line-height: 60px;
}

.list_business_form_wrapper {
  padding: 50px 0;
  position: relative;
  z-index: 9;
}

.list_business_form_wrapper:before {
  content: "";
  position: absolute;
  left: -200px;
  top: 240px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: var(--primary);
  filter: blur(64px);
  opacity: 0.1;
  z-index: -1;
}

.list_business_form_wrapper:after {
  content: "";
  position: absolute;
  right: -200px;
  bottom: -300px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: var(--primary);
  filter: blur(64px);
  opacity: 0.1;
  z-index: -1;
}

.list_business_form_inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 10px;
}

.pricing_wrapper {
  padding: 20px 0;
}

.pricing_box {
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 10px;
  height: 100%;
}

.pricing_box ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 30px;
}

.pricing_box ul li {
  font-size: 16px;
  line-height: 22px;
  padding-left: 20px;
  position: relative;
}

.pricing_box ul li:before {
  content: "\F26E";
  font-size: 23px;
  font-family: bootstrap-icons !important;
  position: absolute;
  left: -3px;
  top: 0;
  color: #007e04;
}

.pricing_box.pro {
  background: var(--bg_light_gradient);
  border-color: var(--secondary);
}

.other_business_Wrapper {
  padding: 50px 0;
}

.business_box_wrap {
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  display: flex;
  align-items: center;
}

.business_box_wrap .icon {
  width: 70px;
  height: 70px;
  background: rgb(18 59 78 / 5%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
}

.business_box_wrap .text {
  width: calc(100% - 60px);
  padding-left: 20px;
}

.business_box_wrap .text h4 {
  margin: 0;
  font-size: 20px;
  line-height: 23px;
  font-weight: 500;
}