.package-trips {
  margin: 28px 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #c9ddea;
  border-radius: 8px;
  background: #f7fbfe;
  color: #18324a;
}

.package-trips-header {
  padding: 18px 20px 15px;
  border-bottom: 1px solid #d7e6ef;
  background: #fff;
  text-align: center;
}

.package-trips-header h2 {
  margin: 0;
  color: #075da8;
  font-size: 23px;
}

.package-trips-grid {
  padding: 18px 10px 10px;
}

.package-trip-card {
  min-height: 345px;
  margin-bottom: 10px;
  padding: 12px;
  border: 1px solid #dbe7ee;
  border-radius: 6px;
  background: #fff;
  text-align: center;
}

.package-trip-card h3 {
  display: -webkit-box;
  min-height: 43px;
  margin: 0 0 10px;
  overflow: hidden;
  color: #173d5e;
  font-size: 17px;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.package-trip-card .package-trip-stars {
  display: block;
  margin-top: 3px;
  color: #6b7f8f;
  font-size: 13px;
  font-weight: normal;
}

.package-trip-image {
  display: block;
  width: 100%;
  height: 126px;
  overflow: hidden;
  border-radius: 4px;
  background: #eaf1f5;
}

.package-trip-image img {
  width: 100%;
  height: 126px;
  object-fit: cover;
}

.package-trip-location,
.package-trip-board,
.package-trip-provider {
  display: block;
  color: #536b7d;
  font-size: 13px;
  line-height: 1.45;
}

.package-trip-location {
  margin: 12px 0 2px;
}

.package-trip-board {
  min-height: 19px;
}

.package-trip-provider {
  margin-top: 5px;
  color: #075da8;
  font-weight: bold;
}

.package-trip-price {
  display: inline-block;
  margin-top: 12px;
  padding: 9px 14px;
  border-radius: 4px;
  background: #0875c1;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
}

.package-trip-price:hover,
.package-trip-price:focus {
  background: #075da8;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 767px) {
  .package-trips-grid {
    padding: 12px 6px 2px;
  }

  .package-trip-card {
    min-height: 0;
  }
}

.hotel-filter {
  margin: 24px 0 25px;
  padding: 20px 18px 18px;
  border: 1px solid #d4e2eb;
  border-radius: 6px;
  background: #f7fafc;
  box-shadow: 0 2px 8px rgba(24, 50, 74, .06);
}

.hotel-filter-title {
  margin: -20px -18px 18px;
  padding: 13px 18px 12px;
  border-bottom: 1px solid #d4e2eb;
  border-radius: 6px 6px 0 0;
  background: #edf5f9;
  color: #18324a;
  font-size: 18px;
  font-weight: bold;
}

.hotel-filter .row + .row {
  margin-top: 3px;
}

.hotel-filter label {
  display: block;
  margin: 0 0 6px;
  color: #18324a;
  font-size: 14px;
  font-weight: bold;
}

.hotel-filter .form-control {
  height: 38px;
  margin-bottom: 15px;
  border-color: #c8d3db;
  border-radius: 4px;
  box-shadow: none;
  color: #364b5b;
}

.hotel-filter .form-control:focus {
  border-color: #337ab7;
  box-shadow: 0 0 0 2px rgba(51, 122, 183, .12);
}

.hotel-filter .btn-group {
  display: flex;
  width: auto;
  margin-bottom: 2px;
}

.hotel-filter .btn-group .btn {
  min-height: 36px;
  padding: 8px 14px;
  border-color: #b9c3c9;
  font-size: 14px;
}

.hotel-filter .btn-group .btn-primary {
  border-color: #337ab7;
  background: #337ab7;
}

.hotel-filter .btn-group .btn-default {
  background: #fff;
  color: #364b5b;
}

.hotel-filter .btn-group .btn-default:hover,
.hotel-filter .btn-group .btn-default:focus {
  background: #edf5f9;
  color: #18324a;
}

.filter-reset {
  margin-top: 18px;
  border-color: #b9c3c9;
  background: #fff;
  color: #364b5b;
}

.filter-reset:hover,
.filter-reset:focus {
  border-color: #337ab7;
  background: #edf5f9;
  color: #18324a;
}

@media (max-width: 767px) {
  .hotel-filter {
    padding: 18px 14px 15px;
  }

  .hotel-filter-title {
    margin: -18px -14px 18px;
    padding-right: 14px;
    padding-left: 14px;
  }

  .hotel-filter .btn-group {
    display: flex;
  }

  .hotel-filter .btn-group .btn {
    flex: 1 1 auto;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.hotel-page-layout {
  margin-top: 24px;
}

.hotel-main .breadcrumb {
  margin-bottom: 24px;
  padding: 10px 14px;
  border-radius: 4px;
  background: #d9edf7;
  color: #31708f;
}

.hotel-main > h1 {
  margin-top: 0;
  font-size: 30px;
  text-align: left;
}

.hotel-card {
  position: relative;
  min-height: 295px;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #dce6ec;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  transition: box-shadow .2s ease, transform .2s ease;
}

.hotel-card:hover {
  box-shadow: 0 5px 16px rgba(0, 0, 0, .14);
  transform: translateY(-2px);
}

.hotel-card-image {
  height: 115px;
  margin-bottom: 7px;
  overflow: hidden;
  border-radius: 4px;
  background: #f3f3f3;
  text-align: center;
}

.hotel-card-image img {
  width: 100%;
  height: 115px;
  object-fit: cover;
}

.hotel-card h3 {
  min-height: 38px;
  margin: 2px 0 5px;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.25;
}

.hotel-card h3 a {
  color: #245a7a;
  text-decoration: none;
}

.hotel-card h3 a:hover {
  text-decoration: underline;
}

.hotel-stars {
  margin-bottom: 4px;
  color: #b98208;
  font-size: 12px;
}

.hotel-location {
  min-height: 34px;
  margin-bottom: 4px;
  color: #444;
  font-size: 12px;
  line-height: 1.3;
}

.hotel-meta {
  min-height: 24px;
  margin-top: 6px;
  color: #555;
  font-size: 12px;
}

.hotel-price {
  margin: 7px 0 6px;
  color: #1f5f8b;
  font-size: 18px;
  font-weight: bold;
}

.hotel-price small {
  font-size: 12px;
  font-weight: normal;
}

.hotel-card-action {
  margin: 12px 0 0;
}

.hotel-card .btn {
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 12px;
}

.hotel-results {
  margin: 10px 0 20px;
}

.hotel-results-bar {
  margin-bottom: 18px;
  padding: 10px 12px;
  border-left: 4px solid #337ab7;
  border-radius: 3px;
  background: #eef6fb;
}

.hotel-main .pagination {
  justify-content: center;
  margin-right: 0;
  margin-left: 0;
}

.hotel-badge {
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 4px;
  padding: 3px 7px;
  border-radius: 12px;
  background: #eef6fb;
  color: #245a7a;
  font-size: 12px;
}

.hotel-card .hotel-badge {
  padding: 2px 6px;
  font-size: 10px;
}

.hotel-left-column .panel,
.region-left-column .panel {
  margin-bottom: 20px;
  overflow: hidden;
  border: 1px solid #337ab7;
  border-radius: 4px;
  background: #fff;
}

.hotel-left-column .panel-heading,
.region-left-column .panel-heading {
  padding: 10px 15px;
  background: #337ab7;
  color: #fff;
}

.hotel-left-column .panel-title,
.region-left-column .panel-title {
  margin: 0;
  color: inherit;
  font-size: 16px;
}

.hotel-left-column .list-group-item,
.region-left-column .list-group-item,
.hotel-right-links .list-group-item {
  display: block;
  padding: 10px 15px;
  border: 0;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  color: #555;
  text-decoration: none;
}

.hotel-left-column .list-group-item:last-child,
.region-left-column .list-group-item:last-child,
.hotel-right-links .list-group-item:last-child {
  border-bottom: 0;
}

.hotel-left-column .list-group-item:hover,
.hotel-left-column .list-group-item:focus,
.region-left-column .list-group-item:hover,
.region-left-column .list-group-item:focus,
.hotel-right-links .list-group-item:hover,
.hotel-right-links .list-group-item:focus {
  background: #f5f5f5;
  color: #337ab7;
}

.hotel-right-column img {
  max-width: 100%;
  height: auto;
}

.hotel-ad-box {
  margin-bottom: 20px;
  overflow: hidden;
  border: 1px solid #337ab7;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(19, 62, 98, .08);
}

.hotel-ad-box-content {
  padding: 0;
  text-align: center;
}

.hotel-ad-box-content > *:first-child {
  margin-top: 0;
}

.hotel-ad-box-content > *:last-child {
  margin-bottom: 0;
}

.hotel-ad-box-content h1,
.hotel-ad-box-content h2,
.hotel-ad-box-content h3,
.hotel-ad-box-content h4 {
  display: block;
  width: 100%;
  margin: 0;
  padding: 10px 15px;
  background: #337ab7;
  color: #fff;
  font-size: 17px;
  line-height: 1.25;
}

.hotel-ad-box-destinations .hotel-ad-box-content > :not(h1):not(h2):not(h3):not(h4) {
  margin-right: auto;
  margin-left: auto;
}

.hotel-ad-box-destinations hr {
  display: none;
}

.hotel-ad-box-destinations .hotel-ad-box-content h1,
.hotel-ad-box-destinations .hotel-ad-box-content h2,
.hotel-ad-box-destinations .hotel-ad-box-content h3,
.hotel-ad-box-destinations .hotel-ad-box-content h4 {
  box-sizing: border-box;
  width: calc(100% + 24px);
  margin-left: -12px;
  border-radius: 3px 3px 0 0;
}

.hotel-right-column > .panel {
  margin-bottom: 20px;
  overflow: hidden;
  border: 1px solid #337ab7;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(19, 62, 98, .08);
}

.hotel-right-column > .panel > .panel-heading {
  padding: 10px 15px;
  background: #337ab7;
  color: #fff;
}

.hotel-right-column > .panel > .panel-heading .panel-title {
  margin: 0;
  color: inherit;
  font-size: 16px;
}

.hotel-right-column > .panel > .panel-body {
  padding: 12px;
}

.region-page-layout {
  align-items: flex-start;
}

.region-main .breadcrumb {
  margin-bottom: 18px;
  padding: 10px 14px;
  border-radius: 4px;
  background: #d9edf7;
  color: #31708f;
}

.region-main .breadcrumb a {
  color: #245a7a;
}

.region-action-bar {
  margin-bottom: 18px;
  padding: 6px;
  border: 1px solid #dce8f1;
  border-radius: 10px;
  background: #f7fbff;
}

.region-action-bar .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #0068bd;
  border-radius: 7px;
  background: #0068bd;
  box-shadow: 0 2px 5px rgba(19, 62, 98, .12);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.region-action-bar .btn:hover,
.region-action-bar .btn:focus {
  border-color: #073b70;
  background: #073b70;
  box-shadow: 0 4px 10px rgba(19, 62, 98, .18);
  color: #fff;
  transform: translateY(-1px);
}

.region-action-bar .btn .fa {
  margin-right: 8px;
}

.region-main img {
  max-width: 100%;
  height: auto;
}

.region-thumbnail-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  gap: 5px;
  margin: 0 0 6px;
}

.region-thumbnail-gallery > .photo-item {
  width: auto;
  padding: 0;
}

.region-thumbnail-gallery .fancybox {
  display: block;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d7e3eb;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(19, 62, 98, .08);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.region-thumbnail-gallery .fancybox:hover,
.region-thumbnail-gallery .fancybox:focus {
  border-color: #337ab7;
  box-shadow: 0 7px 16px rgba(19, 62, 98, .16);
  transform: translateY(-2px);
}

.region-thumbnail-gallery .fotoid {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  border: 0;
  border-radius: 3px;
  object-fit: cover;
}

.region-climate-panel {
  margin-bottom: 20px;
  overflow: hidden;
  border: 1px solid #bce8f1;
  border-radius: 4px;
  background: #fff;
}

.region-climate-panel > .panel-heading {
  padding: 10px 15px;
  background: #d9edf7;
  color: #31708f;
}

.region-climate-panel > .panel-body {
  padding: 15px;
}

.region-left-column,
.region-right-column {
  min-width: 0;
}

@media (max-width: 767.98px) {
  .region-main,
  .region-left-column {
    order: initial;
  }

  .region-left-column {
    margin-top: 24px;
  }
}

@media (min-width: 992px) {
  .hotel-page-layout > .hotel-main {
    order: 2;
  }

  .hotel-page-layout > .hotel-left-column {
    order: 1;
  }

  .hotel-page-layout > .hotel-right-column {
    order: 3;
  }
}

@media (max-width: 991.98px) {
  .hotel-right-column {
    margin-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .hotel-main,
  .hotel-left-column {
    order: initial;
  }

  .hotel-main > h1 {
    font-size: 27px;
  }

  .hotel-card,
  .hotel-card h3,
  .hotel-location,
  .hotel-meta {
    min-height: 0;
  }

  .hotel-left-column {
    margin-top: 24px;
  }
}
