.page-aside {
  width: 50%;
  background-color: #f3f7f9;
  transition: visibility .1s ease, top .3s ease, left .5s ease, right .5s ease, width .5s;
}

.page-aside-inner {
  height: 100%;
}

.page-aside-switch {
  left: calc(100% - 1px);
}

.page-nav-tabs {
  padding: 0;
  background-color: #fff;
}

.nav-tabs {
  padding: 0 30px;
}

.page-aside-content {
  height: calc(100% - 44px);
}

.page-aside-content .tab-pane {
  height: 100%;
}

.spots-list, .hotels-list {
  padding-top: 15px;
  padding-right: 15px;
  margin: 0;
}

.spots-list .card, .hotels-list .card {
  margin-bottom: 15px;
}

.spot-info, .hotel-info {
  padding: 0;
  padding-left: 15px;
  cursor: pointer;
}

.spot-info .card-text.type-link a {
  color: #4caf50;
}

.spot-info .card-actions .text-active {
  display: none;
}

.spot-info .card-actions.active .text {
  display: none;
}

.spot-info .card-actions.active .text-active {
  display: inline-block;
  color: #d81b60;
}

.spot-info .item-title {
  display: inline-block;
}

.spot-info .item-name {
  font-size: 14px;
  font-weight: 300;
  color: #607d8b;
}

.hotel-info .card {
  height: 240px;
}

.hotel-img {
  display: none;
}

.reviews-header {
  padding: 10px 30px;
  border-bottom: 1px solid #b0bec5;
}

.reviews-header p {
  margin: 0;
}

.reviews-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.reviews-list .review-info {
  cursor: pointer;
  border-bottom: 1px solid #b0bec5;
}

.reviews-list .review-info:hover {
  border-bottom: 1px solid #b0bec5;
}

.reviews-list .review-info.last-review {
  border-bottom: none;
}

.reviews-list .review-info.last-review:hover {
  border-bottom: none;
}

.percent {
  margin-right: 5px;
  font-weight: 400;
  color: #4caf50;
}

.page-main {
  position: relative;
  left: 50%;
  width: 50%;
}

#map {
  height: 100%;
}

.in-map-markers {
  display: inline-block;
}

.marker-icon {
  position: relative;
  display: inline-block;
  border: 3px solid #3f51b5;
  border-radius: 50%;
  transition: .4s ease-in-out all;
}

.marker-icon img {
  width: 62px;
  height: 62px;
  border-radius: 50%;
}

.marker-icon::before {
  position: absolute;
  top: 58px;
  left: 10px;
  z-index: -1;
  width: 0;
  height: 0;
  content: "";
  border-color: #3f51b5 transparent transparent;
  border-style: solid;
  border-width: 17px 21px 0;
  transition: .4s ease-in-out all;
}

.marker-icon:hover {
  border-color: #5c6bc0;
}

.marker-icon:hover::before {
  border-color: #5c6bc0 transparent transparent;
}

.marker-active .marker-icon {
  border-color: #5c6bc0;
}

.marker-active .marker-icon::before {
  border-color: #5c6bc0 transparent transparent;
}

.marker-cluster-small {
  background-color: rgba(162, 202, 238, .6);
}

.marker-cluster-small > div {
  background-color: rgba(98, 168, 234, .6);
}

.marker-cluster-small span {
  color: #fff;
}

.detail {
  background-color: #5c6bc0 !important;
}

.leaflet-popup-pane:hover h3 {
  color: #5c6bc0 !important;
}

@media (min-width: 992px) and (max-width: 1599px) {
  .hotel-info .card {
    height: 280px;
  }
}

@media (max-width: 991px) {
  .page-aside .list-group-item {
    white-space: inherit;
  }
}

@media (max-width: 767px) {
  .page-aside {
    width: 0;
  }

  .page-aside + .page-main {
    left: 0;
    width: 100%;
  }

  .page-aside.open {
    width: 300px;
  }

  .page-aside-inner {
    overflow: hidden !important;
  }

  .nav-tabs {
    padding: 0 20px;
  }

  .nav-tabs .nav-link {
    padding: 10px 12px;
  }

  .reviews-list .list-group-item {
    padding: 13px 10px;
  }
}
