@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:root {
  --primary-flex-gap: 20px;
  --primary-text-color: #03aefd;
  --primary-background-color: #03aefd;
  --secondary-background-color: #f0efe9;
  --primary-white-text-color: #fff;
  --primary-dark-text-color: #000;
  --star-icon-color: #ff6347;
  --mute-text-color: rgb(105, 105, 105);
  --star-font-size: 12px;
  --primary-icon-size: 20px;
  --small-text-font-size: 14px;
  --border-radius-100: 100%;
  --color-primary: #0f4638;
  --color-secondary: #fc5a31;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-bottom: 0 !important;
}

body {
  font-family: "Roboto", sans-serif;
}

.attraction-ticket-cart-mobile{
    display: none;
}

.uitk-heading-7 {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.125rem;
}
.uitk-heading-5 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5rem;
}
.logo {
  width: 20%;
}
.logo-container {
  height: 89px;
  width: 80%;
}
.logo-container i {
  cursor: pointer;
}
.logo-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.logo .more-links select {
  border: none;
  outline: none;
}
.dropbtn {
  font-size: 16px;
  border: none;
  cursor: pointer;
}

.dropdown {
  padding-left: 5px;
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.dropdown:hover .dropdown-content {
  display: block;
}

.sign-in .list-property-btn {
  padding: 8px 20px;
  border-radius: 5px;
  outline: none;
  border: none;
  background-color: #2072ed;
  display: flex;
  align-items: center;
  font-size: 18px;
  margin-right: 20px;
}
.sign-in a {
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
}
.sign-in-left {
  margin-right: 50px;
}
.sign-in i {
  font-size: 20px;
  margin-right: 15px;
}
.main-content .searchbar {
  background-color: #c4e6f9;
}
.searchbar label {
  font-size: 18px;
}
.searchbar input {
  outline: none;
  border: none;
  background-color: #ddd;
  height: 40px;
  margin-top: 5px;
  padding: 10px;
  border-radius: 5px;
}
.searchbar .small-input-box {
  width: 8%;
}
.searchbar button {
  height: 40px;
  padding: 10px;
  border-radius: 5px;
  outline: none;
  border: none;
  background-color: #5aa9f2;
  display: flex;
  align-items: center;
}

.discount-notification {
  background-color: var(--color-primary);
  margin-bottom: 25px;
  color: #fff;
}

.discount-notification i {
  margin-right: 5px;
  font-size: 20px;
}
.filter-by p {
  font-size: 14px;
}
.sort-by .sort-btn .sort-selection,
.filter-by .property-selection {
  border: none;
  margin-left: 10px;
  font-size: 18px;
  background-color: transparent;
}
.filter-by .property-selection {
  margin-left: 0px;
}
.sort-by .sort-btn .sort-selection select,
.filter-by .property-selection select {
  outline: none;
  background-color: transparent;
  border: 1px solid #ddd;
  font-size: 14px;
  padding: 5px 10px;
  border-radius: 5px;
}
.filter-by .property-selection select {
  width: 100%;
}
.filter-by .property-selection select option {
  color: #333;
}
/* --------------------------------------------- */
.price-range-section::selection {
  color: #fff;
  background: #17a2b8;
}

.price-range-section .price-input {
  width: 100%;
  display: flex;
  margin: 0px 0 10px;
}
.price-range-section .price-input .field {
  display: flex;
  width: 100%;
  height: 45px;
  align-items: center;
  justify-content: end;
}
.price-range-section .field input {
  width: 100%;
  height: 100%;
  outline: none;
  font-size: 19px;
  border-radius: 5px;

  border: 1px solid #999;
  -moz-appearance: textfield;
}
.price-range-section .field:first-child input {
  text-align: left;
}
.price-range-section .field:last-child input {
  text-align: right;
}
.price-input .separator {
  width: 130px;
  display: flex;
  font-size: 19px;
  align-items: center;
  justify-content: center;
}
.slider {
  height: 2px;
  position: relative;
  background: #ddd;
  border-radius: 5px;
}
.slider .progress {
  height: 100%;
  left: 25%;
  right: 25%;
  position: absolute;
  border-radius: 5px;
  background: #17a2b8;
}
.range-input {
  position: relative;
}
.range-input input {
  position: absolute;
  width: 100%;
  height: 8px;
  top: -5px;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
input[type="range"]::-webkit-slider-thumb {
  height: 17px;
  width: 17px;
  border-radius: 50%;
  background: #17a2b8;
  pointer-events: auto;
  -webkit-appearance: none;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
}
input[type="range"]::-moz-range-thumb {
  height: 17px;
  width: 17px;
  border: none;
  border-radius: 50%;
  background: #17a2b8;
  pointer-events: auto;
  -moz-appearance: none;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
}

/* ---------------------------------------------- */
.sort-by .sort-btn p {
  font-size: 18px;
}
.sort-by .sort-text p {
  font-size: 14px;
}
.hotel-card {
  background-color: #f2f2f2;
  border-radius: 10px;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px,
    rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
  min-height: 220px;
  cursor: pointer;
}
.hotel-card .card-image {
  width: 30%;
  height: 330px;
  border-radius: 10px;
  overflow: hidden;
}
.hotel-card .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hotel-card .hotel-info {
  width: 70%;
}
.hotel-card .hotel-info h3 {
  font-weight: bold;
}
.hotel-rating .rating-icons i {
  color: #ff6347;
  font-size: 12px;
}
.hotel-location {
  font-size: 14px;
}
.hotel-location .map-link {
  margin-left: 10px;
}
.number-of-reviews p:first-child {
  font-size: 14px;
  font-weight: bold;
}
.number-of-reviews p:last-child {
  font-weight: bold;
  font-size: 14px;
}
.number-of-reviews button {
  border: none;
  padding: 5px 10px;
  border-radius: 5px;
  background-color: var(--color-primary);
  margin-left: 10px;
  color: #fff;
  font-size: 20px;
}
.hotel-facilities {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}
.hotel-facilities p {
  padding: 5px 10px;
  border-radius: 5px;
  background-color: var(--color-primary);
  color: #fff;
  font-size: 14px;
}

.hotel-price .left p {
  font-size: 14px;
  color: #35774f;
}
.hotel-price .right p {
  font-size: 14px;
}
.hotel-price .free-cancellation-text {
  font-weight: bold;
}
.hotel-discount {
  padding: 5px 5px;
  border-radius: 5px;
  background-color: var(--color-secondary);
  color: #fff;
  font-size: 18px;
  margin-right: 10px;
  display: inline-block;
  font-weight: bold;
}
.hotel-price .right i {
  margin-left: 5px;
}
.side-map {
  position: relative;
}
.side-map .map-search-link {
  position: absolute;
  width: 100%;
  height: 30%;
  background-color: #ddddddb0;
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
}
.discount-notification {
  border-radius: 4px;
}
.discount-notification-btn {
  border-radius: 100px;
  border: none;
  background-color: #fff;
  padding: 5px 10px;
  font-size: 14px;
}
.notification-text i {
  font-size: 14px;
}
/*
.side-map::after {
  content: "Search on Map";
  position: absolute;
  width: 100%;
  height: 30%;
  background-color: #ddddddb0;
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  transition: 0.3s;
}*/
.side-map .map-img {
  width: 100%;
}
.side-map .map-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* .side-map:hover::after {
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  visibility: hidden;
} */
.search-by-property-name input {
  border: 1px solid #ddd;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 14px;
  background-color: transparent;
  outline: none;
  width: 100%;
}

.star-rating p,
.price-range-section p:first-child {
  font-weight: bold;
  font-size: 20px;
}

.filter-by h4 {
  color: #2072ed;
}
.side-bar .star-rating button {
  border: 1px solid #ddd;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 18px;
  background-color: transparent;
  margin-right: 10px;
  font-size: 14px;
}
.side-bar .star-rating button i {
  color: #ff6347;
  font-size: 12px;
}
.popular-filters p {
  font-size: 20px;
  font-weight: bold;
}
.hotel-not-found-message {
  background-color: #f0efe9;
  padding: 10px;
  border-radius: 4px;
  text-align: center;
  font-style: italic;
}
/* The container */
.my-checkbox {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 14px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  line-height: 1;
}

.my-checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 17px;
  width: 17px;
  background-color: transparent;
  border: 1px solid #ddd;
  border-radius: 5px;
}

.my-checkbox:hover input ~ .checkmark {
  background-color: #ccc;
}

.my-checkbox input:checked ~ .checkmark {
  background-color: #2196f3;
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.my-checkbox input:checked ~ .checkmark:after {
  display: block;
}

.my-checkbox .checkmark:after {
  left: 5px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.filter-price-min,
.filter-price-max {
  background-color: transparent;
  border-radius: 5px;
  padding: 5px 10px;
  width: 100%;
  font-size: 14px;
  border: 1px solid #ddd;
  border-radius: 5px;
}
.filter-price-min:focus,
.filter-price-max:focus {
  outline: none;
}
.active-star {
  background-color: var(--color-primary) !important;
  color: #fff;
}

.filter-by-mobile-view {
  position: absolute;
  width: 90%;
  height: 100%;
  background-color: #333;
  top: 0;
  left: 0;
  z-index: 100000;
  display: none;
  color: #fff;
}
.filter-by-mobile-view-close-btn-div {
  padding-right: 10px;
}
.filter-by-mobile-view-close-btn {
  border: none;
  width: 35px;
  height: 35px;
  border-radius: 100%;
}
.filter-collapse-btn {
  display: none;
  border: none;
  background-color: #5aa9f2;
  border-radius: 5px;
  padding: 5px 10px;
  margin-bottom: 15px;
  font-size: 14px;
}
.filter-collapse-btn i {
  margin-left: 5px;
}
.filter-by-free-cancellation .form-check input,
.filter-by-free-cancellation .form-check label {
  cursor: pointer;
}
.filter-by-free-cancellation .form-check label {
  font-size: var(--small-text-font-size);
}
@media (max-width: 1130px) {
  .main-side-bar {
    display: none;
  }
  .main-content {
    width: 100% !important;
  }
  .filter-collapse-btn {
    display: block;
  }
  .side-bar .star-rating button {
    color: #fff;
  }
  .filter-price-min,
  .filter-price-max,
  .filter-by .property-selection select,
  .search-by-property-name input {
    color: #fff;
  }
}

@media(max-width: 991px){
    .hotel-card {
        display: flex !important;
        flex-direction: column !important;
      }

      .hotel-card .card-image {
        width: 100%;
        margin-bottom: 10px;
      }
}

@media (max-width: 835px) {
  .searchbar-form-content {
    display: flex !important;
    flex-direction: column !important;
  }
  .searchbar-form-content > div {
    margin-bottom: 10px;
    width: 100%;
  }
  .searchbar .small-input-box {
    width: 100%;
  }
  .searchbar-form-content button {
    margin-top: 10px;
  }
  .hotel-rating {
    display: flex !important;
    flex-direction: column !important;
    justify-content: start !important;
    align-items: start !important;
  }
  .hotel-rating .rating-icons{
    width: 100% !important;
  }
  .hotel-rating > div:last-of-type {
    margin-top: 10px;
  }
}

@media (max-width: 768px) {
  .sort-by-main {
    flex-direction: column !important;
    align-items: start !important;
  }
  .sort-by-main .sort-text {
    margin-bottom: 10px;
  }
}
@media (max-width: 640px) {
  .notification-main-content {
    flex-direction: column !important;
  }
  .notification-main-content > div:last-of-type {
    margin-top: 10px;
  }
}
@media (max-width: 630px) {
  .hotel-card .hotel-info {
    width: 100%;
  }

  .hotel-card .hotel-info {
    padding: 5px 0px 5px 0px !important;
  }
  .hotel-card .hotel-info .hotel-price {
    padding: 0px !important;
    padding-top: 10px !important;
  }
}
@media (max-width: 568px) {
  .notification-main-content .notification-text {
    flex-direction: column !important;
  }
}
@media (max-width: 480px) {
  .hotel-card .hotel-info .hotel-price {
    display: flex !important;
    flex-direction: column !important;
  }
  .hotel-card .hotel-info .hotel-price > div {
    width: 100%;
  }
  .hotel-card .hotel-info .hotel-price > div:first-of-type {
    margin-bottom: 10px;
  }
}

@media (max-width: 385px) {
  .hotel-location {
    display: flex !important;
    flex-direction: column !important;
    align-items: start !important;
  }
  .hotel-location .map-link {
    margin-left: 0px !important;
  }
}

@media (max-width: 349px) {
  .sort-btn {
    flex-direction: column !important;
    align-items: start !important;
  }
  .sort-by .sort-btn .sort-selection {
    margin-left: 0px;
    margin-top: 7px;
  }
}

@media(min-width: 991px){
    .hotel-card .card-image {
        height: 225px;
      }
}
