﻿:root {
  --map-filter-selected-color: #3DFF7F;
  --bos-favorite-badge-color: #FF5577;
  --bos-apartner-badge-color: #D9A736;
  --border-radius: 20px;
  --border-radius-small: 10px;
  --border-radius-input: 5px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: sofia-pro, sans-serif;
  min-width: 320px;
  font-size: 100%;
  font-weight: 400;
  padding: 0;
  margin: 0;
  background-color: #E7E9EE;
  color: #000;
}

a {
  color: #232D3E;
}
a:hover, a:focus {
  color: #4E6EA5;
  text-decoration: none;
}

.bg-main {
  color: #fff;
  background-color: #232D3E;
}
.bg-main a {
  color: #fff;
}
.bg-main a:focus, .bg-main a:hover {
  color: #F0AB5B;
  text-decoration: underline;
}

.color-main {
  color: #232D3E;
}

.bg-main-gradient {
  background: linear-gradient(rgba(35, 45, 62, 0), #232d3e);
}

.bg-white {
  background-color: #fff;
  color: #000;
}

.bg-second {
  color: #151A24;
  background-color: #DFE4EA;
}

.bg-success {
  background-color: #95CB7D;
  color: #000;
}

.bg-pending {
  background-color: #FCE390;
  color: #000;
}

.bg-warning {
  background-color: #F0AB5B;
  color: #000;
}

.bg-booking {
  background-color: #738ABE;
  color: #000;
}

.color-booking {
  color: #738ABE;
}

.bg-error {
  background-color: #FC9090;
  color: #000;
}

.color-black {
  color: #000;
}

.color-warning {
  color: #F0AB5B;
}

.color-main-text {
  color: #fff;
}

.color-profile-red {
  color: #E30613;
}

.color-bos-favorite {
  color: var(--bos-favorite-badge-color);
}

.color-bos-partner {
  color: var(--bos-apartner-badge-color);
}

.hover-profile-red:hover, .hover-profile-red:focus {
  color: #E30613;
}

.color-profile-blue {
  color: #005CA9;
}

.hover-profile-blue:hover, .hover-profile-blue:focus {
  color: #005CA9;
}

.color-white {
  color: white;
}

.opacity-50 {
  opacity: 0.5;
}

.overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.top-auto {
  top: auto;
}

.top-25 {
  top: 25%;
}

.top-50 {
  top: 50%;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.p-15 {
  padding: 15px;
}

.p-30 {
  padding: 30px;
}

.p-45 {
  padding: 45px;
}

.p-60 {
  padding: 60px;
}

.p-75 {
  padding: 75px;
}

.p-90 {
  padding: 90px;
}

.py-15 {
  padding-top: 15px;
  padding-bottom: 15px;
}

.py-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.py-45 {
  padding-top: 45px;
  padding-bottom: 45px;
}

.py-60 {
  padding-top: 60px;
  padding-bottom: 60px;
}

.py-75 {
  padding-top: 75px;
  padding-bottom: 75px;
}

.py-90 {
  padding-top: 90px;
  padding-bottom: 90px;
}

.px-15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.px-30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.px-45 {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.px-60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.px-75 {
  padding-left: 75px !important;
  padding-right: 75px !important;
}

.px-90 {
  padding-left: 90px !important;
  padding-right: 90px !important;
}

.pt-15 {
  padding-top: 15px;
}

.pt-30 {
  padding-top: 30px;
}

.pt-45 {
  padding-top: 45px;
}

.pt-60 {
  padding-top: 60px;
}

.pt-75 {
  padding-top: 75px;
}

.pt-90 {
  padding-top: 90px;
}

.pr-15 {
  padding-right: 15px;
}

.pr-30 {
  padding-right: 30px;
}

.pr-45 {
  padding-right: 45px;
}

.pr-60 {
  padding-right: 60px;
}

.pr-75 {
  padding-right: 75px;
}

.pr-90 {
  padding-right: 90px;
}

.pb-15 {
  padding-bottom: 15px;
}

.pb-30 {
  padding-bottom: 30px;
}

.pb-45 {
  padding-bottom: 45px;
}

.pb-60 {
  padding-bottom: 60px;
}

.pb-75 {
  padding-bottom: 75px;
}

.pb-90 {
  padding-bottom: 90px;
}

.pl-15 {
  padding-left: 15px;
}

.pl-30 {
  padding-left: 30px;
}

.pl-45 {
  padding-left: 45px;
}

.pl-60 {
  padding-left: 60px;
}

.pl-75 {
  padding-left: 75px;
}

.pl-90 {
  padding-left: 90px;
}

.m-15 {
  margin: 15px;
}

.m-30 {
  margin: 30px;
}

.m-45 {
  margin: 45px;
}

.m-60 {
  margin: 60px;
}

.m-75 {
  margin: 75px;
}

.m-90 {
  margin: 90px;
}

.my-15 {
  margin-top: 15px;
  margin-bottom: 15px;
}

.my-30 {
  margin-top: 30px;
  margin-bottom: 30px;
}

.my-45 {
  margin-top: 45px;
  margin-bottom: 45px;
}

.my-60 {
  margin-top: 60px;
  margin-bottom: 60px;
}

.my-75 {
  margin-top: 75px;
  margin-bottom: 75px;
}

.my-90 {
  margin-top: 90px;
  margin-bottom: 90px;
}

.mx-15 {
  margin-left: 15px;
  margin-right: 15px;
}

.mx-30 {
  margin-left: 30px;
  margin-right: 30px;
}

.mx-45 {
  margin-left: 45px;
  margin-right: 45px;
}

.mx-60 {
  margin-left: 60px;
  margin-right: 60px;
}

.mx-75 {
  margin-left: 75px;
  margin-right: 75px;
}

.mx-90 {
  margin-left: 90px;
  margin-right: 90px;
}

.mt-15 {
  margin-top: 15px;
}

.mt-30 {
  margin-top: 30px;
}

.mt-45 {
  margin-top: 45px;
}

.mt-60 {
  margin-top: 60px;
}

.mt-75 {
  margin-top: 75px;
}

.mt-90 {
  margin-top: 90px;
}

.mr-15 {
  margin-right: 15px;
}

.mr-30 {
  margin-right: 30px;
}

.mr-45 {
  margin-right: 45px;
}

.mr-60 {
  margin-right: 60px;
}

.mr-75 {
  margin-right: 75px;
}

.mr-90 {
  margin-right: 90px;
}

.mb-5 {
  margin-bottom: 5px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-45 {
  margin-bottom: 45px;
}

.mb-60 {
  margin-bottom: 60px;
}

.mb-75 {
  margin-bottom: 75px;
}

.mb-90 {
  margin-bottom: 90px;
}

.ml-15 {
  margin-left: 15px;
}

.ml-30 {
  margin-left: 30px;
}

.ml-45 {
  margin-left: 45px;
}

.ml-60 {
  margin-left: 60px;
}

.ml-75 {
  margin-left: 75px;
}

.ml-90 {
  margin-left: 90px;
}

.mt-negativ-15 {
  margin-top: -15px;
}

.ml-auto {
  margin-left: auto;
}

.mr-auto {
  margin-right: auto;
}

.img-full {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  font-weight: 700;
  margin-bottom: 15px;
}

h1,
.h1 {
  font-size: 1.5rem;
}

h2,
.h2 {
  font-size: 1.375rem;
}

h3,
.h3 {
  font-size: 1.25rem;
}

h4,
.h4 {
  font-size: 1.125rem;
}

h5,
.h5 {
  font-size: 1rem;
}

[class^=title-] {
  font-weight: 700;
}

.title-largest {
  font-size: 2rem;
  font-weight: 700;
}

.title-larger {
  font-size: 1.375rem;
  font-weight: 700;
}

.title-large {
  font-size: 1.25rem;
  font-weight: 700;
}

.title {
  font-size: 1.125rem;
  font-weight: 700;
}

.title-small {
  font-size: 1rem;
}

.title-smaller {
  font-size: 0.875rem;
}

.title-smallest {
  font-size: 0.75rem;
}

.text-normal {
  font-size: 1rem;
}

.text-big {
  font-size: 1.125rem;
}

.text-huge {
  font-size: 2rem;
  font-weight: 700;
}

.boxtitle-medium {
  font-size: 1.125rem;
  font-weight: 700;
}

.boxtitle-small {
  font-size: 1.125rem;
  font-weight: 700;
}

.smalltext {
  font-size: 0.875rem;
}

.smalltitle {
  font-size: 0.875rem;
  font-weight: 700;
}

.fontsize-largest {
  font-size: 1.375rem;
}

.fontsize-larger {
  font-size: 1.25rem;
}

.fontsize-large {
  font-size: 1.125rem;
}

.fontsize-normal {
  font-size: 1rem;
}

.fontsize-small {
  font-size: 0.875rem;
}

.fontsize-smaller {
  font-size: 0.75rem;
}

.font-heavy {
  font-weight: 900;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-regular {
  font-weight: 400;
}

.font-light {
  font-weight: 300;
}

.font-italic {
  font-style: italic;
}

@media only screen and (min-width: 992px) {
  h1, .h1 {
    font-size: 2rem;
  }
  h2, .h2 {
    font-size: 1.5rem;
  }
  h3, .h3 {
    font-size: 1.375rem;
  }
  h4, .h4 {
    font-size: 1.25rem;
  }
  .title-largest {
    font-size: 3.125rem;
  }
  .title-larger {
    font-size: 1.5rem;
  }
  .title-large {
    font-size: 1.375rem;
  }
  .title {
    font-size: 1.25rem;
  }
  .title-small {
    font-size: 1.125rem;
  }
  .ingress {
    font-size: 1.25rem;
  }
  .smalltext {
    font-size: 1rem;
  }
  .smalltitle {
    font-size: 1.125rem;
  }
  .fontsize-lg-largest {
    font-size: 1.375rem;
  }
  .fontsize-lg-larger {
    font-size: 1.25rem;
  }
  .fontsize-lg-large {
    font-size: 1.125rem;
  }
  .fontsize-lg-normal {
    font-size: 1rem;
  }
  .fontsize-lg-small {
    font-size: 0.875rem;
  }
  .fontsize-lg-smaller {
    font-size: 0.75rem;
  }
}
@media only screen and (min-width: 1400px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
  h2, .h2 {
    font-size: 1.625rem;
  }
  h3, .h3 {
    font-size: 1.5rem;
  }
  h5, .h5 {
    font-size: 1.25rem;
  }
  .title-largest {
    font-size: 3.75rem;
  }
  .title-larger {
    font-size: 1.75rem;
  }
  .title-large {
    font-size: 1.675rem;
  }
  .title {
    font-size: 1.375rem;
  }
  .text-normal {
    font-size: 1.125rem;
  }
  .body-text,
  .body-text span {
    font-size: 1.125rem !important;
  }
}
@media only screen and (min-width: 1920px) {
  h2, .h2 {
    font-size: 1.75rem;
  }
  h4, .h4 {
    font-size: 1.375rem;
  }
  .title-larger {
    font-size: 2rem;
  }
  .title-large {
    font-size: 1.75rem;
  }
  .text-huge {
    font-size: 4.375rem;
  }
}
.border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.border-radius {
  border-radius: 20px;
}

.border-radius-small {
  border-radius: 10px;
}

.border-radius-small-top {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.h-100 {
  height: 100%;
}

textarea {
  font-family: sofia-pro, sans-serif;
  font-size: 1rem;
}

nav .nav-content {
  display: flex;
  padding: 5px 0.75rem;
  background-color: #fff;
  height: 60px;
  align-items: center;
}
nav .navbar-brand {
  padding: 0;
}
nav .navbar-brand img {
  width: auto;
  height: 42px;
}
nav a {
  color: #000;
  display: inline-block;
  text-decoration: none;
  padding: 5px;
}
nav a:hover, nav a:focus {
  text-decoration: underline;
}
nav ul.menu-links {
  padding: 0 30px 0 0;
  margin: 0 0 0 auto;
  list-style: none;
}
nav ul.menu-links li {
  padding: 0 15px;
}
nav ul.menu-links li a {
  font-size: 1rem;
  font-weight: 700;
}
nav .nav-item + .nav-item .nav-link {
  border-top: 1px solid rgba(35, 45, 62, 0.15);
}
nav .nav-item a.nav-link {
  display: block;
  font-size: 1.125rem;
  padding: 20px 40px 20px 0;
  font-weight: 700;
  position: relative;
}
nav .nav-item a.nav-link i {
  position: absolute;
  right: 0;
  top: 23px;
  font-size: 12px;
  opacity: 0.15;
}
nav .nav-item a.nav-link:hover,
nav .nav-item a.nav-link:focus, nav .nav-item.active > a.nav-link {
  color: #232D3E;
  text-decoration: none;
}
nav .nav-item a.nav-link:hover i,
nav .nav-item a.nav-link:focus i, nav .nav-item.active > a.nav-link i {
  opacity: 1;
}
nav .login-status {
  margin-left: auto;
  display: flex;
}

.menu-btn {
  background-color: transparent;
  border: 0 none;
  width: 35px;
  padding: 7px;
  border-radius: 20px;
  cursor: pointer;
  font-size: 1.375rem;
}
.menu-btn + .menu-btn {
  margin-left: 10px;
}

.menu-icon > span {
  display: block;
  height: 2px;
  border-radius: 1px;
  width: 100%;
  background-color: #232D3E;
  margin-left: auto;
  transition: all ease 0.3s;
  /*&:nth-of-type(2) {
      width: 80%;
  }*/
}
.menu-icon > span + span {
  margin-top: 6px;
}
.menu-icon > span:nth-of-type(3) {
  width: 60%;
}
.menu-icon:hover > span, .menu-icon:focus > span {
  background-color: #232D3E;
}
.menu-icon:hover > span:nth-of-type(3), .menu-icon:focus > span:nth-of-type(3) {
  width: 100%;
}

.navbar-close {
  position: absolute;
  top: 20px;
  right: 30px;
  background-color: transparent;
  border: 0 none;
  font-size: 32px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
}

#mainmenu,
#menu-profile {
  position: fixed;
  right: -380px;
  width: 0;
  overflow-x: hidden;
  transition: right ease 0.5s;
  width: 380px;
  max-width: 95%;
  background-color: #F8FAFD;
  color: #232D3E;
}

#mainmenu {
  top: 0;
  overflow-y: auto;
  min-height: 100vh;
  height: 100%;
  padding: 90px 50px 45px;
  bottom: 0;
  z-index: 9999;
}
#mainmenu .navbar-nav {
  padding: 0 0 20px 0;
  margin: 0 0 20px 0;
  border-bottom: 1px solid #Fff;
  list-style: none;
}

#menu-profile {
  top: 60px;
  padding: 65px 30px 35px;
  z-index: 8999;
}

.menu-open {
  overflow: hidden;
}
.menu-open #mainmenu {
  right: 0;
  filter: drop-shadow(-28px 0 28px rgba(0, 0, 0, 0.16));
}

.menu-profile-open #menu-profile {
  position: absolute;
  right: 0;
  filter: drop-shadow(-28px 0 28px rgba(0, 0, 0, 0.16));
}

.dropdown-toggle::after {
  margin-left: 7.5px;
}

.dropdown-menu {
  border: 0 none;
  border-radius: 0;
  padding: 0 0 30px;
  background-color: transparent;
}
.dropdown-menu > a {
  display: block;
  background-color: transparent;
  position: relative;
  padding: 10px 0 10px 15px;
  font-size: 1rem;
  /*&::before {
      display: inline-block;
      width: 18px;
      margin-right: 7.5px;
      content: " ";
      border-bottom: 1px solid rgba(0,0,0,.5);
      vertical-align: 5px;
  }*/
}
.dropdown-menu > a.active {
  text-decoration: underline;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:focus,
.dropdown-menu > .active > a:hover,
.dropdown-menu > a:focus,
.dropdown-menu > a:hover {
  background-color: transparent;
  color: #232D3E;
  text-decoration: none;
}

.body-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color ease 0.3s;
}

.menu-open .body-overlay {
  left: 0;
  background-color: rgb(0, 0, 0);
  opacity: 0.5;
}

ul.breadcrumb {
  margin: 0;
  padding: 10px 0.75rem;
  list-style: none;
  font-size: 0.75rem;
  /*li:first-of-type::before{
      content: "You are here:";
      display:inline;
      margin-right:10px;
  }*/
}
ul.breadcrumb li {
  display: inline;
}
ul.breadcrumb li + li::before {
  content: "/ ";
  display: inline;
  opacity: 0.75;
}
ul.breadcrumb li a {
  opacity: 0.75;
}
ul.breadcrumb li a:hover, ul.breadcrumb li a:focus {
  opacity: 1;
}

.warning-banner {
  background-color: #fce390;
  color: #000;
  padding: 10px 90px 15px 50px;
  position: relative;
  font-size: 1.125rem;
}
.warning-banner .warning-banner-icon {
  position: absolute;
  top: 15px;
  left: 0.75rem;
  font-size: 1.5rem;
}
.warning-banner .warning-banner-title {
  font-weight: 700;
  font-size: 1.75rem;
}
.warning-banner .warning-banner-btn {
  position: absolute;
  top: 15px;
  right: 15px;
  background-color: transparent;
  border: 0 none;
  cursor: pointer;
  width: 45px;
  height: 45px;
  text-align: center;
  font-size: 2rem;
}
.warning-banner p {
  margin-top: 0;
}

.page-back {
  padding-left: 40px;
}
.page-back a {
  text-decoration: none;
}
.page-back a i {
  margin-right: 10px;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.body-text {
  line-height: 1.3;
}

.body-text span {
  font-family: sofia-pro, sans-serif !important;
  font-size: 1rem !important;
  display: block;
  margin-bottom: 15px;
}

.iframe-container {
  position: relative;
  padding-bottom: 56.25%;
}
.iframe-container .iframe-element {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.banner {
  display: block;
  position: relative;
}

.content-banner .banner-img {
  height: 325px;
}
.content-banner a {
  text-decoration: none;
}
.content-banner a.content-banner-link {
  color: #fff;
}
.content-banner a.content-banner-link i {
  font-size: 1.25rem;
  margin-top: 15px;
}
.content-banner a.content-banner-link:hover, .content-banner a.content-banner-link:focus {
  color: #fff;
}
.content-banner a.content-banner-link:hover i, .content-banner a.content-banner-link:focus i {
  color: #F0AB5B;
}

.portal-btn {
  background-color: #fff;
  color: #000;
  text-align: center;
  font-weight: 700;
  padding: 20px 25px;
  width: 50%;
  text-decoration: none;
  filter: drop-shadow(0 48px 48px rgba(0, 92, 169, 0.25));
}
.portal-btn.portal-btn-left {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
.portal-btn:last-of-type {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
.portal-btn i {
  display: block;
  margin-bottom: 5px;
  color: #005CA9;
}
.portal-btn:hover, .portal-btn:focus {
  /*background-color: #FFE5C6;*/
  color: #000;
}
.portal-btn:hover i, .portal-btn:focus i {
  color: #E30613;
}

.image-link {
  display: block;
  background-color: #fff;
  border-radius: 20px;
  padding: 25px 30px;
  margin-bottom: 30px;
  text-align: center;
}
.image-link img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 60px;
  margin: 0 auto;
}

[v-cloak] {
  display: none;
}

input.error {
  border-color: red;
}
input.error:focus {
  outline-color: red;
}

#minicart {
  position: relative;
}
#minicart .minicart-count {
  position: absolute;
  top: 0;
  right: -5px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  background-color: white;
  color: #000;
  font-weight: 700;
  line-height: 0.9;
}

.map-wrapper {
  position: relative;
}
.map-wrapper #map {
  width: 100%;
  height: calc(100vh - 60px);
}
.map-wrapper #map .mapboxgl-popup-content {
  width: 240px;
  font-family: sofia-pro, sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 10px;
  padding: 20px 10px 10px;
}
.map-wrapper #map .mapboxgl-popup-close-button {
  top: 7px;
  right: 7px;
}
.map-wrapper #map .map-popup-badges {
  position: absolute;
  top: 5px;
  left: 5px;
  display: flex;
  gap: 4px;
  font-size: 1.25rem;
}
.map-wrapper #map-cart {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
}
.map-wrapper #map-cart .map-cart-content {
  display: none;
}
.map-wrapper.cart-open #map {
  width: calc(100% - 600px);
}
.map-wrapper.cart-open #map-cart {
  width: 600px;
  top: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  overflow-x: hidden;
  max-width: 100vw;
}
.map-wrapper.cart-open #map-cart .map-cart-content {
  display: block;
  width: 100%;
  height: 100%;
}
.map-wrapper.cart-open #map-cart > .btn-cart {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
}
.map-wrapper.cart-open .map-cart-notifications {
  position: absolute;
  top: 20px;
  right: 620px;
}
.map-wrapper .map-cart-notifications {
  position: absolute;
  top: 20px;
  right: 100px;
}
.map-wrapper .map-cart-notifications .notification {
  margin-bottom: 2px;
  padding: 15px 20px;
}
.map-wrapper .map-filter {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
}
.map-wrapper .map-filter ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.map-wrapper .map-filter .map-filter-content {
  display: none;
  padding: 15px;
  border-radius: 10px;
  margin-top: 5px;
}
.map-wrapper .map-filter.map-filter-open .map-filter-content {
  display: block;
}
.map-wrapper .map-filter .map-filter-checkbox {
  --selected-color: var(--map-filter-selected-color);
  cursor: pointer;
  padding: 7.5px 0;
  transition: color 0.2s ease;
}
.map-wrapper .map-filter .map-filter-checkbox input[type=checkbox] {
  display: none;
}
.map-wrapper .map-filter .map-filter-checkbox input[type=checkbox]:checked + i {
  color: var(--selected-color);
}
.map-wrapper .map-filter .map-filter-checkbox i {
  color: rgba(255, 255, 255, 0.35);
  transition: color 0.2s ease;
  margin-right: 7.5px;
}
.map-wrapper .map-filter .map-filter-checkbox.map-filter-checkbox-favorites {
  --selected-color: var(--bos-favorite-badge-color);
}
.map-wrapper .map-filter .map-filter-checkbox.map-filter-checkbox-partners {
  --selected-color: var(--bos-apartner-badge-color);
}
.map-wrapper .map-filter .map-filter-checkbox:hover {
  color: rgba(255, 255, 255, 0.75);
}
.map-wrapper .map-filter .map-filter-checkbox:hover i {
  color: rgba(255, 255, 255, 0.65);
}
.map-wrapper .map-filter .map-filter-rating-dropdown {
  position: relative;
}
.map-wrapper .map-filter .map-filter-rating-dropdown-btn {
  width: 100%;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
  display: flex;
  align-items: center;
}
.map-wrapper .map-filter .map-filter-rating-dropdown-btn:hover {
  background: #f5f5f5;
}
.map-wrapper .map-filter .map-filter-rating-dropdown-content {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 250px;
  overflow-y: auto;
}
.map-wrapper .map-filter .map-filter-rating-option {
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.map-wrapper .map-filter .map-filter-rating-option:hover {
  background: #f5f5f5;
}
.map-wrapper .map-filter .map-filter-rating-option.selected {
  background: #e8f4f8;
}
.map-wrapper .map-filter .rotate-180 {
  transform: rotate(180deg);
  transition: transform 0.2s ease;
}

/* MAP LOCATION SEARCH*/
.map-location-search {
  position: absolute;
  top: 60px;
  left: 10px;
  z-index: 1;
  width: 400px;
  max-width: 90vw;
}
.map-location-search .location-search-field {
  position: relative;
  display: flex;
  align-items: center;
}
.map-location-search .location-search-field input {
  width: 100%;
  padding: 15px 45px 14px 15px;
  border: 0 none;
  border-radius: var(--border-radius-input);
  background: white;
  font-size: 1rem;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.map-location-search .location-search-field input:focus {
  border-color: #007cbb;
  box-shadow: 0 2px 12px rgba(0, 124, 187, 0.2);
}
.map-location-search .location-search-field .fa-location-dot {
  position: absolute;
  right: 12px;
  color: #666;
  pointer-events: none;
}
.map-location-search .location-search-clear {
  position: absolute;
  right: 35px;
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.map-location-search .location-search-clear:hover {
  background: #f0f0f0;
  color: #333;
}
.map-location-search .location-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: var(--border-radius-input);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 300px;
  overflow-y: auto;
  margin-top: 5px;
}
.map-location-search .location-search-result {
  padding: 12px 15px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
}
.map-location-search .location-search-result:last-child {
  border-bottom: none;
}
.map-location-search .location-search-result:hover {
  background: #f8f9fa;
}
.map-location-search .location-name {
  font-weight: 600;
  color: #333;
  margin-bottom: 2px;
}
.map-location-search .location-context {
  font-size: 0.75rem;
  color: #666;
}

@media only screen and (min-width: 992px) {
  .map-location-search {
    top: 10px;
    left: 150px;
  }
}
#search-box-container {
  position: absolute;
  left: 10px;
  top: 110px;
}
#search-box-container mapbox-search-box input {
  padding-top: 13px;
  padding-bottom: 13px;
  height: auto;
  font-size: 1rem;
  border: 0 none;
}

@media only screen and (min-width: 992px) {
  #search-box-container {
    top: 60px;
  }
}
/* END MAP LOCATION SEARCH*/
.map-image + .map-image {
  margin-top: 30px;
}

.page {
  padding: 15px 15px 0;
  max-width: 1920px;
  margin: 0 auto;
}

.section {
  background-color: #F8FAFD;
  border-radius: 20px;
  padding: 15px;
  margin: 15px auto;
}

.box {
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 15px;
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.12));
  margin-bottom: 15px;
}
.box.box-dark {
  background-color: #232D3E;
  color: #fff;
}
.box.box-dark a {
  color: #fff;
}
.box.box-error {
  background-color: #FC9090;
  color: #000;
}
.box.box-success {
  background-color: #95CB7D;
  color: #000;
}
.box.box-light {
  background-color: #E4EAF2;
  color: #000;
}
.box h2 {
  margin-top: 0;
  margin-bottom: 20px;
}
.box h2.border {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 15px;
}
.box.box-narrow {
  width: 620px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  background-color: #F8FAFD;
  filter: drop-shadow(0 28px 48ox rgba(35, 45, 62, 0.15));
}
.box.box-h-100 {
  margin-bottom: 0;
  height: 100%;
}
.box.product-box {
  text-decoration: none;
  position: relative;
}
.box.product-box .avatar {
  position: absolute;
  top: 20px;
  left: 20px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
}
.box.product-box:hover, .box.product-box:focus {
  color: #232D3E;
  filter: drop-shadow(0 5px 5px rgba(0, 0, 0, 0.5));
}

.avatar {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  margin-right: 5px;
  font-size: 0;
  text-transform: uppercase;
  flex-shrink: 0;
}
.avatar:not([class*=" bg-"]) {
  background-color: #867DCB;
  color: #fff;
}
.avatar.avatar-H, .avatar.avatar-h {
  background-color: #FF7474;
  color: #000;
}
.avatar.avatar-hotell {
  background-color: #FF7474;
  color: #000;
}
.avatar.avatar-hotell::after {
  display: block;
  content: "H";
}
.avatar.avatar-program {
  background-color: #F0AB5B;
  color: #000;
}
.avatar.avatar-program::after {
  display: block;
  content: "P";
}
.avatar.avatar-h\&c, .avatar.avatar-H\&C {
  background-color: #738ABE;
  color: #000;
}
.avatar.avatar-A {
  background-color: #C96837;
  color: #000;
}
.avatar.avatar-C {
  background-color: #C49E56;
  color: #000;
}
.avatar.avatar-AP {
  background-color: #D65F5D;
  color: #000;
}
.avatar.avatar-P {
  background-color: #B08695;
  color: #000;
}
.avatar.avatar-BC {
  background-color: #F7C10F;
  color: #000;
}
.avatar.avatar-B {
  background-color: #F7AC61;
  color: #000;
}

.details-line {
  padding: 10px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.25);
}

.video-section {
  display: block;
  position: relative;
}
.video-section .video-icon {
  width: 85px;
  height: 60px;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #232D3E;
  color: #fff;
  font-size: 1.25rem;
}
.video-section:hover .video-icon, .video-section:focus .video-icon {
  background-color: #F0AB5B;
}

form .form-element {
  position: relative;
  margin-bottom: 30px;
}
form .form-element input, form .form-element textarea {
  padding: 40px 15px 20px;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  font-size: 1.125rem;
  font-weight: 500;
}
form .form-element input:focus, form .form-element textarea:focus {
  border-color: #6C89BA;
  outline: 0 none;
}
form .form-element input + span, form .form-element textarea + span {
  position: absolute;
  right: 30px;
  top: 30px;
  font-size: 1.5rem;
}
form .form-element input.error, form .form-element textarea.error {
  border-color: red;
}
form .form-element input.value-changed, form .form-element textarea.value-changed {
  border-color: green;
}
form .form-element label {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 0.875rem;
}
form .error-msg {
  color: red;
}
form .form-check {
  margin-bottom: 30px;
}
form .required-marker::after {
  display: inline;
  content: "*";
  color: red;
  margin-left: 5px;
}

.notification {
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 30px;
  border-width: 1px;
  border-style: solid;
  background-color: #E4F4DB;
  border-color: #AFD399;
  color: #000;
}
.notification > p {
  margin: 0;
}
.notification.notification-error {
  background-color: #FCEFEF;
  border-color: #EBCDCD;
}
.notification.notification-info {
  background-color: #DFE4EA;
  border-color: #232D3E;
}

.form-validation-summary.validation-summary-errors:empty {
  display: none;
}
.form-validation-summary.validation-summary-errors ul {
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 30px;
  border-width: 1px;
  border-style: solid;
  background-color: #FCEFEF;
  border-color: #EBCDCD;
  color: #000;
  list-style: none;
}

.tfa-image {
  background-color: #fff;
  border: 1px dashed rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  text-align: center;
  padding: 30px;
  margin-top: 30px;
  margin-bottom: 30px;
}

.btn {
  display: inline-block;
  padding: 15px 40px;
  text-decoration: none;
  border: 0 none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  text-align: center;
  filter: drop-shadow(0 3px 14px rgba(0, 0, 0, 0.1));
  line-height: 1;
  max-width: 100%;
  word-wrap: break-word;
  /*+ .btn {
      margin-left: 5px;
  }*/
}
.btn:not([class*=" bg-"]) {
  background-color: #151A24;
  color: #fff;
}
.btn:not([class*=" bg-"]):hover, .btn:not([class*=" bg-"]):focus, .btn:not([class*=" bg-"]).selected {
  color: #F0AB5B;
}
.btn.btn-small {
  padding: 5px 20px 8px;
  line-height: 1.25;
}
.btn.btn-smaller {
  padding: 5px 15px;
  line-height: 1.25;
}
.btn.btn-square {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 84px;
  width: 84px;
  font-size: 2rem;
}
.btn.btn-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn.btn-cart {
  padding: 15px;
}
.btn.btn-large {
  padding: 30px;
}

.btn.btn-full {
  display: block;
  width: 100%;
}

.btn-trash,
.btn-sort {
  border: 0 none;
  background-color: transparent;
  font-size: 1.25rem;
  padding: 0 10px;
}

.btn-trash {
  color: #FC9090;
  cursor: pointer;
}

.btn-sort {
  cursor: move;
}

.btn-icon {
  display: flex;
  width: 45px;
  height: 45px;
  font-size: 1.25rem;
  padding: 0;
  justify-content: center;
  align-items: center;
  opacity: 1;
}

.filter-sort-btn.filter-sort-btn-active {
  font-weight: 700;
}

.collapse {
  max-height: 300px;
  overflow: hidden;
}
.collapse:not(.collapse-open) {
  position: relative;
}
.collapse:not(.collapse-open)::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 120px;
  background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255));
}
.collapse.collapse-open {
  max-height: none;
}

.collapse-full {
  max-height: 0;
  overflow: hidden;
}
.collapse-full.collapse-open {
  max-height: none;
}

.collapse-btn {
  border: 0 none;
  background: transparent;
  display: flex;
  width: 100%;
  align-items: center;
  cursor: pointer;
  padding: 0;
  text-align: left;
}
.collapse-btn > i {
  margin-left: auto;
  transition: transform ease 0.3s;
  font-size: 1.5rem;
}
.collapse-btn.border {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 15px;
}
.collapse-btn.collapse-btn-open > i {
  transform: rotateX(180deg);
}

.adjust-number-group {
  display: flex;
  align-items: center;
}
.adjust-number-group button {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.15);
  cursor: pointer;
}
.adjust-number-group input {
  text-align: center;
  padding: 3px 0;
  margin: 0 5px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background-color: #fff;
  border-radius: 5px;
  width: 30px;
}

a.story-list-item {
  overflow: hidden;
  color: #fff;
}
a.story-list-item img {
  overflow: hidden;
  transition: transform ease 0.3s;
}
a.story-list-item .overlay-bg {
  background-color: #232D3E;
}
a.story-list-item:hover, a.story-list-item:focus {
  color: #000;
}
a.story-list-item:hover img, a.story-list-item:focus img {
  transform: scale(1.1);
}
a.story-list-item:hover .overlay-bg, a.story-list-item:focus .overlay-bg {
  background-color: #F0AB5B;
}
a.story-list-item .tags {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 15px;
  text-align: center;
}
a.story-list-item .tags .badge {
  font-size: 0.75rem;
  margin: 1.125px;
  padding: 5px 10px;
}

.badge {
  display: inline-block;
  padding: 5px 25px;
  border-radius: 9999px;
  font-size: 0.875rem;
  text-decoration: none;
  /*white-space:nowrap;*/
}
.badge + .badge {
  margin-left: 15px;
}
.badge.badge-icon {
  padding: 5px 10px;
}
.badge:not([class*=" bg-"]) {
  background-color: #232D3E;
  color: #fff;
}

table.list-table {
  width: 100%;
  border: 0 none;
  border-collapse: separate;
  border-spacing: 0 5px;
  margin-bottom: 15px;
  /*th:last-child:not(.normal-cell),
  td:last-child:not(.normal-cell),*/
}
table.list-table th {
  padding-bottom: 10px;
  padding-right: 20px;
  padding-left: 15px;
  text-align: left;
  vertical-align: bottom;
}
table.list-table .cell-title, table.list-table th {
  font-weight: 400;
  font-size: 1rem;
  color: #888;
}
table.list-table td {
  padding: 15px 20px;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
  vertical-align: bottom;
}
table.list-table th:first-child,
table.list-table td:first-child {
  padding-left: 30px;
  border: 0 none;
}
table.list-table th:not(:last-child),
table.list-table td:not(:last-child), table.list-table th, table.list-table td {
  /*white-space: nowrap;*/
}
table.list-table td:last-child:not(.normal-cell) {
  padding-right: 30px;
  text-align: right;
  border: 0 none;
}
table.list-table .grow-cell {
  width: 100%;
}
table.list-table .grow-cell.text-left {
  text-align: left;
}
table.list-table .no-wrap {
  white-space: nowrap;
}
table.list-table tbody tr {
  background-color: rgba(0, 0, 0, 0.02);
  margin-bottom: 5px;
}
table.list-table tbody tr.drag-ghost {
  background-color: rgba(255, 255, 255, 0.1);
}
table.list-table .badge.badge-icon {
  margin-bottom: 5px;
}
table.list-table .badge.badge-icon span {
  margin-left: 10px;
}
table.list-table .table-filter-btn {
  border: 0 none;
  cursor: pointer;
  background-color: transparent;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  position: relative;
  padding-right: 15px;
}
table.list-table .table-filter-btn span {
  --border-width: 6px;
  height: 4px;
  display: inline-block;
  position: absolute;
  right: 0;
  top: 10px;
}
table.list-table .table-filter-btn span::before, table.list-table .table-filter-btn span::after {
  left: 0;
  position: absolute;
  display: block;
  content: " ";
  width: 0;
  height: 0;
  border-left: var(--border-width) solid transparent;
  border-right: var(--border-width) solid transparent;
  opacity: 0.2;
}
table.list-table .table-filter-btn span::before {
  top: calc(var(--border-width) * -1);
  border-bottom: var(--border-width) solid #000;
}
table.list-table .table-filter-btn span::after {
  bottom: calc(var(--border-width) * -1);
  border-top: var(--border-width) solid #000;
}
table.list-table .table-filter-btn.table-filter-btn-active {
  color: #000;
  font-weight: 700;
}
table.list-table .table-filter-btn.table-filter-btn-active.table-filter-desc span::after {
  opacity: 1;
}
table.list-table .table-filter-btn.table-filter-btn-active:not(.table-filter-desc) span::before {
  opacity: 1;
}

.rating {
  flex-shrink: 0;
  /*font-size: .75rem;
  i {
      color: #DBDBDB;

      &.active {
          color: #FAC560;

          + .half:not(.active) {
              position: relative;
              color: #DBDBDB;

              &::after {
                  position: absolute;
                  top: 0;
                  left: 0;
                  width: 50%;
                  content: "\f005";
                  color: #FAC560;
                  overflow: hidden;
              }
          }
      }
  }*/
}
.rating .rating-star {
  position: relative;
  display: inline-block;
}
.rating .rating-star + .rating-star {
  margin-left: 2px;
}
.rating .rating-star img {
  width: 16px;
  height: auto;
}
.rating .rating-star.half .half-star {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  overflow: hidden;
}

.cart-nights {
  position: relative;
  width: 120px;
}
.cart-nights input {
  padding: 10px 65px 10px 15px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background-color: #fff;
  border-radius: 5px;
  width: 100%;
}
.cart-nights label {
  position: absolute;
  top: 0;
  right: 0;
  padding-top: 7px;
  padding-right: 15px;
  opacity: 0.5;
}

#cart .list-table th:first-child,
#cart .list-table td:first-child {
  padding-left: 0;
}
#cart .list-table td:last-child {
  padding-right: 0;
  text-align: right;
  padding-left: 0;
}
#cart .cart-item-text {
  white-space: normal;
  text-align: left;
}

.search-field {
  max-width: 660px;
  position: relative;
  margin-bottom: 30px;
}
.search-field input {
  padding: 20px 50px 20px 25px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  display: block;
  width: 100%;
}
.search-field i {
  position: absolute;
  top: 22px;
  right: 25px;
}

.package-list-item {
  display: block;
  border-radius: 10px;
  position: relative;
  margin-bottom: 30px;
  text-decoration: none;
}
.package-list-item img {
  border-radius: 10px;
}
.package-list-item .package-list-item-details {
  background-color: #232D3E;
  border-radius: 10px;
  position: absolute;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 15px;
  color: #fff;
}
.package-list-item .package-list-item-nights {
  margin-bottom: 15px;
}

.package-list-view .package-list-item {
  margin-bottom: 5px;
  padding: 0;
}
.package-list-view .package-list-item img {
  display: none;
}
.package-list-view .package-list-item .package-list-item-details {
  position: static;
}
.package-list-view .package-list-item:hover, .package-list-view .package-list-item:focus {
  background-color: #fff;
  box-shadow: 0 0 2px 2px rgb(0, 0, 0);
}

.product-details {
  padding: 30px 0;
}

.product-details + .product-details {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
}

.price-year-btn + .price-year-btn {
  margin-left: 5px;
}

.hidden-price {
  display: none;
}

.pagination {
  margin: 30px 0;
  text-align: center;
}
.pagination a, .pagination button {
  width: auto;
  padding: 3px 8px;
  border-radius: 5px;
  display: inline-block;
  text-align: center;
  line-height: 28px;
  border: 1px solid #232D3E;
  text-decoration: none;
  opacity: 0.5;
  margin: 5px;
  background-color: transparent;
  cursor: pointer;
  font-size: 1rem;
}
.pagination a:hover, .pagination a:focus, .pagination a.active, .pagination button:hover, .pagination button:focus, .pagination button.active {
  opacity: 1;
}
.pagination a.active, .pagination button.active {
  background-color: #f2f2f2;
}

.loader {
  text-align: center;
  padding: 60px 0;
}
.loader i {
  font-size: 2rem;
  margin-bottom: 45px;
}

/* The Modal (background) */
.modal {
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0, 0, 0); /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
  /* Modal Content/Box */
  /* Modal Header */
  /* Modal Body */
  /* Modal Footer */
  /* The Close Button */
}
.modal .modal-backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}
.modal .modal-content {
  position: relative;
  background-color: #fefefe;
  margin: 15% auto 0;
  padding: 0;
  border: 1px solid #888;
  width: 80%;
  max-width: 600px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  animation-name: animatetop;
  animation-duration: 0.4s;
  border-radius: 20px;
}
.modal .modal-header {
  padding: 15px 30px;
}
.modal .modal-body {
  padding: 0 30px;
}
.modal .modal-footer {
  padding: 15px 30px;
  text-align: right;
}
.modal .close {
  color: #000;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.modal .close:hover,
.modal .close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.filter-group {
  margin: 0 2.5px;
  position: relative;
}
.filter-group .filter-group-trigger {
  cursor: pointer;
  display: flex;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
  height: 45px;
  padding: 0 20px;
}
.filter-group .filter-group-trigger span {
  margin-right: 30px;
}
.filter-group .filter-group-trigger i {
  margin-left: auto;
  transition: transform ease 0.2s;
}
.filter-group .filter-group-selected {
  border: 1px solid rgba(0, 0, 0, 0.15);
  padding: 10px 15px;
  border-radius: 3px;
  background-color: #FAFAFA;
  margin-bottom: 0;
}
.filter-group .filter-group-selected:empty {
  display: none;
}
.filter-group .filter-group-selected label {
  cursor: pointer;
}
.filter-group .filter-group-selected label i {
  color: #FC9090;
  margin-right: 5px;
}
.filter-group .filter-group-selected label input {
  display: none;
}
.filter-group .filter-group-selected label + label {
  margin-top: 5px;
}
.filter-group .filter-group-items {
  display: none;
  background-color: #fff;
  border-radius: 3px;
  padding: 15px;
  position: absolute;
  min-width: 100%;
  right: 0;
  z-index: 10;
  border: 1px solid rgba(0, 0, 0, 0.15);
}
.filter-group .filter-group-items label {
  white-space: nowrap;
  font-size: 1rem;
  cursor: pointer;
}
.filter-group .filter-group-items label + label {
  margin-top: 5px;
}
.filter-group.filter-group-open .filter-group-items {
  display: block;
}
.filter-group.filter-group-open .filter-group-trigger i {
  transform: rotateX(-180deg);
}

.message-section .collapse-btn .badge {
  vertical-align: 5px;
  margin-left: 5px;
}
.message-section textarea {
  width: 100%;
  border-radius: 5px;
  border: 0 none;
  margin-bottom: 10px;
  padding: 20px;
  min-height: 150px;
}
.message-section .chat-message {
  position: relative;
}
.message-section .chat-message i.chat-status-icon {
  display: none;
  position: absolute;
  bottom: 15px;
  right: 15px;
}
.message-section .chat-message.chat-status-read i.chat-status-icon-read {
  display: block;
}
.message-section .chat-message.chat-status-unread i.chat-status-icon-unread {
  opacity: 0.25;
  display: block;
}

.scroll-top-btn {
  display: flex;
  width: 45px;
  height: 45px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #151A24;
  color: #fff;
  opacity: 0;
  position: fixed;
  right: 30px;
  bottom: 30px;
  text-decoration: none;
  transition: opacity ease 0.3s;
  font-size: 1.25rem;
  z-index: -9999;
}
.scroll-top-btn:hover, .scroll-top-btn:focus {
  opacity: 1;
  color: #fff;
}

.is-scrolling .scroll-top-btn {
  opacity: 0.6;
  z-index: 10;
}

footer {
  padding: 0 15px 30px;
  line-height: 1.8;
}
footer ul.footer-links {
  padding: 0;
  margin: 0;
  list-style: none;
}
footer .footer-logo {
  text-align: center;
  margin: 15px 30px;
}
footer .footer-logo span {
  display: block;
  font-size: 0.875rem;
}
footer .footer-logo a {
  display: block;
}
footer .footer-logo img {
  width: auto;
  max-width: 150px;
  max-height: 75px;
  height: auto;
}

@media only screen and (max-width: 767.99px) {
  .filter-group {
    margin-bottom: 5px;
  }
  .filter-group.filter-group-open .filter-group-items {
    position: static;
  }
  .filter-wrapper .btn.btn-icon {
    margin-left: auto;
  }
}
@media only screen and (max-width: 1199px) {
  table.list-table {
    display: block;
  }
  table.list-table thead {
    display: none;
  }
  table.list-table tbody,
  table.list-table tr,
  table.list-table td {
    display: block;
  }
  table.list-table td {
    padding: 5px 30px;
  }
  table.list-table td[data-title]::before {
    content: attr(data-title);
    display: block;
    font-weight: 700;
  }
  table.list-table td:first-child {
    padding-top: 30px;
  }
  table.list-table td:last-child {
    padding-bottom: 30px;
  }
}
@media only screen and (min-width: 576px) {
  .portal-btn.portal-btn-sm-left {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .portal-btn.portal-btn-sm-center {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  nav .nav-content {
    padding: 5px 15px;
  }
  ul.breadcrumb {
    padding: 10px 15px;
  }
}
@media only screen and (min-width: 768px) {
  .color-md-white {
    color: white;
  }
  .opacity-md-50 {
    opacity: 0.5;
  }
  .overlay-md {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .top-md-auto {
    top: auto;
  }
  .top-md-25 {
    top: 25%;
  }
  .top-md-50 {
    top: 50%;
  }
  .text-md-right {
    text-align: right;
  }
  .text-md-center {
    text-align: center;
  }
  .text-md-left {
    text-align: left;
  }
  .p-md-15 {
    padding: 15px;
  }
  .p-md-30 {
    padding: 30px;
  }
  .p-md-45 {
    padding: 45px;
  }
  .p-md-60 {
    padding: 60px;
  }
  .p-md-75 {
    padding: 75px;
  }
  .p-md-90 {
    padding: 90px;
  }
  .py-md-15 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .py-md-30 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .py-md-45 {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  .py-md-60 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .py-md-75 {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  .py-md-90 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .px-md-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .px-md-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .px-md-45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .px-md-60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .px-md-75 {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .px-md-90 {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .pt-md-15 {
    padding-top: 15px;
  }
  .pt-md-30 {
    padding-top: 30px;
  }
  .pt-md-45 {
    padding-top: 45px;
  }
  .pt-md-60 {
    padding-top: 60px;
  }
  .pt-md-75 {
    padding-top: 75px;
  }
  .pt-md-90 {
    padding-top: 90px;
  }
  .pr-md-15 {
    padding-right: 15px;
  }
  .pr-md-30 {
    padding-right: 30px;
  }
  .pr-md-45 {
    padding-right: 45px;
  }
  .pr-md-60 {
    padding-right: 60px;
  }
  .pr-md-75 {
    padding-right: 75px;
  }
  .pr-md-90 {
    padding-right: 90px;
  }
  .pb-md-15 {
    padding-bottom: 15px;
  }
  .pb-md-30 {
    padding-bottom: 30px;
  }
  .pb-md-45 {
    padding-bottom: 45px;
  }
  .pb-md-60 {
    padding-bottom: 60px;
  }
  .pb-md-75 {
    padding-bottom: 75px;
  }
  .pb-md-90 {
    padding-bottom: 90px;
  }
  .pl-md-15 {
    padding-left: 15px;
  }
  .pl-md-30 {
    padding-left: 30px;
  }
  .pl-md-45 {
    padding-left: 45px;
  }
  .pl-md-60 {
    padding-left: 60px;
  }
  .pl-md-75 {
    padding-left: 75px;
  }
  .pl-md-90 {
    padding-left: 90px;
  }
  .m-md-15 {
    margin: 15px;
  }
  .m-md-30 {
    margin: 30px;
  }
  .m-md-45 {
    margin: 45px;
  }
  .m-md-60 {
    margin: 60px;
  }
  .m-md-75 {
    margin: 75px;
  }
  .m-md-90 {
    margin: 90px;
  }
  .my-md-15 {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .my-md-30 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .my-md-45 {
    margin-top: 45px;
    margin-bottom: 45px;
  }
  .my-md-60 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .my-md-75 {
    margin-top: 75px;
    margin-bottom: 75px;
  }
  .my-md-90 {
    margin-top: 90px;
    margin-bottom: 90px;
  }
  .mx-md-15 {
    margin-left: 15px;
    margin-right: 15px;
  }
  .mx-md-30 {
    margin-left: 30px;
    margin-right: 30px;
  }
  .mx-md-45 {
    margin-left: 45px;
    margin-right: 45px;
  }
  .mx-md-60 {
    margin-left: 60px;
    margin-right: 60px;
  }
  .mx-md-75 {
    margin-left: 75px;
    margin-right: 75px;
  }
  .mx-md-90 {
    margin-left: 90px;
    margin-right: 90px;
  }
  .mt-md-15 {
    margin-top: 15px;
  }
  .mt-md-30 {
    margin-top: 30px;
  }
  .mt-md-45 {
    margin-top: 45px;
  }
  .mt-md-60 {
    margin-top: 60px;
  }
  .mt-md-75 {
    margin-top: 75px;
  }
  .mt-md-90 {
    margin-top: 90px;
  }
  .mr-md-15 {
    margin-right: 15px;
  }
  .mr-md-30 {
    margin-right: 30px;
  }
  .mr-md-45 {
    margin-right: 45px;
  }
  .mr-md-60 {
    margin-right: 60px;
  }
  .mr-md-75 {
    margin-right: 75px;
  }
  .mr-md-90 {
    margin-right: 90px;
  }
  .mb-md-5 {
    margin-bottom: 5px;
  }
  .mb-md-10 {
    margin-bottom: 10px;
  }
  .mb-md-15 {
    margin-bottom: 15px;
  }
  .mb-md-30 {
    margin-bottom: 30px;
  }
  .mb-md-45 {
    margin-bottom: 45px;
  }
  .mb-md-60 {
    margin-bottom: 60px;
  }
  .mb-md-75 {
    margin-bottom: 75px;
  }
  .mb-md-90 {
    margin-bottom: 90px;
  }
  .ml-md-15 {
    margin-left: 15px;
  }
  .ml-md-30 {
    margin-left: 30px;
  }
  .ml-md-45 {
    margin-left: 45px;
  }
  .ml-md-60 {
    margin-left: 60px;
  }
  .ml-md-75 {
    margin-left: 75px;
  }
  .ml-md-90 {
    margin-left: 90px;
  }
  .mt-md-negativ-15 {
    margin-top: -15px;
  }
  .ml-md-auto {
    margin-left: auto;
  }
  .mr-md-auto {
    margin-right: auto;
  }
  .img-md-full {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
  }
  .img-md-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (min-width: 992px) {
  .color-lg-white {
    color: white;
  }
  .opacity-lg-50 {
    opacity: 0.5;
  }
  .overlay-lg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .top-lg-auto {
    top: auto;
  }
  .top-lg-25 {
    top: 25%;
  }
  .top-lg-50 {
    top: 50%;
  }
  .text-lg-right {
    text-align: right;
  }
  .text-lg-center {
    text-align: center;
  }
  .text-lg-left {
    text-align: left;
  }
  .p-lg-15 {
    padding: 15px;
  }
  .p-lg-30 {
    padding: 30px;
  }
  .p-lg-45 {
    padding: 45px;
  }
  .p-lg-60 {
    padding: 60px;
  }
  .p-lg-75 {
    padding: 75px;
  }
  .p-lg-90 {
    padding: 90px;
  }
  .py-lg-15 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .py-lg-30 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .py-lg-45 {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  .py-lg-60 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .py-lg-75 {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  .py-lg-90 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .px-lg-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .px-lg-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .px-lg-45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .px-lg-60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .px-lg-75 {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .px-lg-90 {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .pt-lg-15 {
    padding-top: 15px;
  }
  .pt-lg-30 {
    padding-top: 30px;
  }
  .pt-lg-45 {
    padding-top: 45px;
  }
  .pt-lg-60 {
    padding-top: 60px;
  }
  .pt-lg-75 {
    padding-top: 75px;
  }
  .pt-lg-90 {
    padding-top: 90px;
  }
  .pr-lg-15 {
    padding-right: 15px;
  }
  .pr-lg-30 {
    padding-right: 30px;
  }
  .pr-lg-45 {
    padding-right: 45px;
  }
  .pr-lg-60 {
    padding-right: 60px;
  }
  .pr-lg-75 {
    padding-right: 75px;
  }
  .pr-lg-90 {
    padding-right: 90px;
  }
  .pb-lg-15 {
    padding-bottom: 15px;
  }
  .pb-lg-30 {
    padding-bottom: 30px;
  }
  .pb-lg-45 {
    padding-bottom: 45px;
  }
  .pb-lg-60 {
    padding-bottom: 60px;
  }
  .pb-lg-75 {
    padding-bottom: 75px;
  }
  .pb-lg-90 {
    padding-bottom: 90px;
  }
  .pl-lg-15 {
    padding-left: 15px;
  }
  .pl-lg-30 {
    padding-left: 30px;
  }
  .pl-lg-45 {
    padding-left: 45px;
  }
  .pl-lg-60 {
    padding-left: 60px;
  }
  .pl-lg-75 {
    padding-left: 75px;
  }
  .pl-lg-90 {
    padding-left: 90px;
  }
  .m-lg-15 {
    margin: 15px;
  }
  .m-lg-30 {
    margin: 30px;
  }
  .m-lg-45 {
    margin: 45px;
  }
  .m-lg-60 {
    margin: 60px;
  }
  .m-lg-75 {
    margin: 75px;
  }
  .m-lg-90 {
    margin: 90px;
  }
  .my-lg-15 {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .my-lg-30 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .my-lg-45 {
    margin-top: 45px;
    margin-bottom: 45px;
  }
  .my-lg-60 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .my-lg-75 {
    margin-top: 75px;
    margin-bottom: 75px;
  }
  .my-lg-90 {
    margin-top: 90px;
    margin-bottom: 90px;
  }
  .mx-lg-15 {
    margin-left: 15px;
    margin-right: 15px;
  }
  .mx-lg-30 {
    margin-left: 30px;
    margin-right: 30px;
  }
  .mx-lg-45 {
    margin-left: 45px;
    margin-right: 45px;
  }
  .mx-lg-60 {
    margin-left: 60px;
    margin-right: 60px;
  }
  .mx-lg-75 {
    margin-left: 75px;
    margin-right: 75px;
  }
  .mx-lg-90 {
    margin-left: 90px;
    margin-right: 90px;
  }
  .mt-lg-15 {
    margin-top: 15px;
  }
  .mt-lg-30 {
    margin-top: 30px;
  }
  .mt-lg-45 {
    margin-top: 45px;
  }
  .mt-lg-60 {
    margin-top: 60px;
  }
  .mt-lg-75 {
    margin-top: 75px;
  }
  .mt-lg-90 {
    margin-top: 90px;
  }
  .mr-lg-15 {
    margin-right: 15px;
  }
  .mr-lg-30 {
    margin-right: 30px;
  }
  .mr-lg-45 {
    margin-right: 45px;
  }
  .mr-lg-60 {
    margin-right: 60px;
  }
  .mr-lg-75 {
    margin-right: 75px;
  }
  .mr-lg-90 {
    margin-right: 90px;
  }
  .mb-lg-5 {
    margin-bottom: 5px;
  }
  .mb-lg-10 {
    margin-bottom: 10px;
  }
  .mb-lg-15 {
    margin-bottom: 15px;
  }
  .mb-lg-30 {
    margin-bottom: 30px;
  }
  .mb-lg-45 {
    margin-bottom: 45px;
  }
  .mb-lg-60 {
    margin-bottom: 60px;
  }
  .mb-lg-75 {
    margin-bottom: 75px;
  }
  .mb-lg-90 {
    margin-bottom: 90px;
  }
  .ml-lg-15 {
    margin-left: 15px;
  }
  .ml-lg-30 {
    margin-left: 30px;
  }
  .ml-lg-45 {
    margin-left: 45px;
  }
  .ml-lg-60 {
    margin-left: 60px;
  }
  .ml-lg-75 {
    margin-left: 75px;
  }
  .ml-lg-90 {
    margin-left: 90px;
  }
  .mt-lg-negativ-15 {
    margin-top: -15px;
  }
  .ml-lg-auto {
    margin-left: auto;
  }
  .mr-lg-auto {
    margin-right: auto;
  }
  .img-lg-full {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
  }
  .img-lg-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  nav {
    background-color: #D8DEE6;
  }
  nav .nav-content {
    padding-right: 60px;
  }
  .warning-banner {
    padding: 20px 30px 15px 75px;
    font-size: 1.25rem;
  }
  .warning-banner .warning-banner-icon {
    top: 25px;
    left: 20px;
    font-size: 2rem;
  }
  .warning-banner .warning-banner-title {
    font-size: 2rem;
  }
  .portal nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: transparent;
  }
  .portal nav .nav-content {
    padding: 45px 60px 0 60px;
    background-color: transparent;
  }
  .portal .navbar-brand img {
    width: auto;
    height: 50px;
  }
  .portal .portal-banner .top-gradient {
    bottom: auto;
    height: 200px;
    background: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
  }
  .page {
    padding: 90px 40px 0;
  }
  .section {
    padding: 15px 40px;
    margin: 30px auto;
  }
  .box {
    display: block;
    margin-bottom: 30px;
    padding: 35px 30px;
  }
  .box.box-h-100 {
    margin-bottom: 0;
  }
  .box.mb-15 {
    margin-bottom: 15px;
  }
  .portal-banner .banner-img {
    height: 540px;
  }
  .portal-banner .banner-content {
    padding-bottom: 60px;
  }
  .portal-banner .banner-content.color-lg-white h1, .portal-banner .banner-content.color-lg-white .h2 {
    text-shadow: 0 0 5px #000;
  }
  .portal-banner .banner-content .banner-content-link {
    color: #fff;
  }
  .portal-banner .banner-content .banner-content-link:hover, .portal-banner .banner-content .banner-content-link:focus {
    color: #F0AB5B;
  }
  .story-banner .banner-img {
    height: 560px;
  }
  .story-banner.story-banner-flowing .banner-img {
    height: 750px;
  }
  .story-banner.story-banner-flowing .banner-img::after {
    content: " ";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 470px;
    background: linear-gradient(rgba(231, 233, 238, 0), #e7e9ee);
  }
  .story-banner.story-banner-flowing + .container {
    position: relative;
    margin-top: -90px;
    z-index: 10;
  }
  .content-banner .banner-img {
    height: 520px;
  }
  .content-banner a.content-banner-link i {
    font-size: 1.75rem;
    margin-top: 20px;
  }
  .portal-btn {
    font-size: 1.125rem;
    padding: 35px 15px;
    width: 280px;
  }
  .portal-btn i {
    margin-bottom: 15px;
    font-size: 24px;
  }
  .alternating-item {
    margin-bottom: 30px;
  }
  .alternating-item .alternating-text {
    padding-left: 45px;
    padding-right: 15px;
  }
  .alternating-item:nth-of-type(even) .alternating-img {
    order: 13;
  }
  .alternating-item:nth-of-type(even) .alternating-text {
    padding-right: 45px;
    padding-left: 15px;
  }
  .switchable-package.switched .alternating-item .alternating-img,
  .switchable-product.switched .alternating-item .alternating-img {
    order: 13;
  }
  .switchable-package.switched .alternating-item .alternating-text,
  .switchable-product.switched .alternating-item .alternating-text {
    padding-right: 45px;
    padding-left: 15px;
  }
  .columns-lg-2 {
    column-count: 2;
    column-fill: balance;
    column-gap: 30px;
  }
  .avatar {
    width: 40px;
    height: 40px;
    margin-right: 15px;
    font-size: 1rem;
  }
  .package-list-view .package-list-item .package-list-item-details {
    position: static;
    padding: 15px 20px;
    display: flex;
    align-items: center;
  }
  .package-list-view .package-list-item .package-list-item-date,
  .package-list-view .package-list-item .package-list-item-nights {
    margin-top: 0;
    margin-bottom: 0;
    /*display: inline-block;*/
  }
  .package-list-view .package-list-item .package-list-item-nights {
    /*margin-left: 30px;*/
  }
  .package-list-view .package-list-item .list-view-flex {
    display: flex;
    flex-shrink: 0;
  }
  .package-list-view .package-list-item .list-view-flex p {
    margin: 0 15px;
  }
  .package-list-view .package-list-item .list-view-flex-group {
    /*&:last-of-type {
        margin-left: auto;
    }*/
  }
  .package-list-view .package-list-item .list-view-flex-group + .list-view-flex-group {
    margin-left: 30px;
  }
  .package-list-view .package-list-item .list-view-flex-group.list-view-ml-auto {
    margin-left: auto;
  }
  .package-list-view .package-list-item .list-view-fontsize-normal {
    font-size: 1rem;
  }
  .package-list-view .package-list-item .list-view-text-right {
    text-align: right;
  }
  .package-list-view .package-list-item .list-view-package-price {
    width: 180px;
    flex-shrink: 0;
  }
  footer {
    padding: 0 40px 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .color-xl-white {
    color: white;
  }
  .opacity-xl-50 {
    opacity: 0.5;
  }
  .overlay-xl {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .top-xl-auto {
    top: auto;
  }
  .top-xl-25 {
    top: 25%;
  }
  .top-xl-50 {
    top: 50%;
  }
  .text-xl-right {
    text-align: right;
  }
  .text-xl-center {
    text-align: center;
  }
  .text-xl-left {
    text-align: left;
  }
  .p-xl-15 {
    padding: 15px;
  }
  .p-xl-30 {
    padding: 30px;
  }
  .p-xl-45 {
    padding: 45px;
  }
  .p-xl-60 {
    padding: 60px;
  }
  .p-xl-75 {
    padding: 75px;
  }
  .p-xl-90 {
    padding: 90px;
  }
  .py-xl-15 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .py-xl-30 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .py-xl-45 {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  .py-xl-60 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .py-xl-75 {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  .py-xl-90 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .px-xl-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .px-xl-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .px-xl-45 {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .px-xl-60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .px-xl-75 {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .px-xl-90 {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .pt-xl-15 {
    padding-top: 15px;
  }
  .pt-xl-30 {
    padding-top: 30px;
  }
  .pt-xl-45 {
    padding-top: 45px;
  }
  .pt-xl-60 {
    padding-top: 60px;
  }
  .pt-xl-75 {
    padding-top: 75px;
  }
  .pt-xl-90 {
    padding-top: 90px;
  }
  .pr-xl-15 {
    padding-right: 15px;
  }
  .pr-xl-30 {
    padding-right: 30px;
  }
  .pr-xl-45 {
    padding-right: 45px;
  }
  .pr-xl-60 {
    padding-right: 60px;
  }
  .pr-xl-75 {
    padding-right: 75px;
  }
  .pr-xl-90 {
    padding-right: 90px;
  }
  .pb-xl-15 {
    padding-bottom: 15px;
  }
  .pb-xl-30 {
    padding-bottom: 30px;
  }
  .pb-xl-45 {
    padding-bottom: 45px;
  }
  .pb-xl-60 {
    padding-bottom: 60px;
  }
  .pb-xl-75 {
    padding-bottom: 75px;
  }
  .pb-xl-90 {
    padding-bottom: 90px;
  }
  .pl-xl-15 {
    padding-left: 15px;
  }
  .pl-xl-30 {
    padding-left: 30px;
  }
  .pl-xl-45 {
    padding-left: 45px;
  }
  .pl-xl-60 {
    padding-left: 60px;
  }
  .pl-xl-75 {
    padding-left: 75px;
  }
  .pl-xl-90 {
    padding-left: 90px;
  }
  .m-xl-15 {
    margin: 15px;
  }
  .m-xl-30 {
    margin: 30px;
  }
  .m-xl-45 {
    margin: 45px;
  }
  .m-xl-60 {
    margin: 60px;
  }
  .m-xl-75 {
    margin: 75px;
  }
  .m-xl-90 {
    margin: 90px;
  }
  .my-xl-15 {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .my-xl-30 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .my-xl-45 {
    margin-top: 45px;
    margin-bottom: 45px;
  }
  .my-xl-60 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .my-xl-75 {
    margin-top: 75px;
    margin-bottom: 75px;
  }
  .my-xl-90 {
    margin-top: 90px;
    margin-bottom: 90px;
  }
  .mx-xl-15 {
    margin-left: 15px;
    margin-right: 15px;
  }
  .mx-xl-30 {
    margin-left: 30px;
    margin-right: 30px;
  }
  .mx-xl-45 {
    margin-left: 45px;
    margin-right: 45px;
  }
  .mx-xl-60 {
    margin-left: 60px;
    margin-right: 60px;
  }
  .mx-xl-75 {
    margin-left: 75px;
    margin-right: 75px;
  }
  .mx-xl-90 {
    margin-left: 90px;
    margin-right: 90px;
  }
  .mt-xl-15 {
    margin-top: 15px;
  }
  .mt-xl-30 {
    margin-top: 30px;
  }
  .mt-xl-45 {
    margin-top: 45px;
  }
  .mt-xl-60 {
    margin-top: 60px;
  }
  .mt-xl-75 {
    margin-top: 75px;
  }
  .mt-xl-90 {
    margin-top: 90px;
  }
  .mr-xl-15 {
    margin-right: 15px;
  }
  .mr-xl-30 {
    margin-right: 30px;
  }
  .mr-xl-45 {
    margin-right: 45px;
  }
  .mr-xl-60 {
    margin-right: 60px;
  }
  .mr-xl-75 {
    margin-right: 75px;
  }
  .mr-xl-90 {
    margin-right: 90px;
  }
  .mb-xl-5 {
    margin-bottom: 5px;
  }
  .mb-xl-10 {
    margin-bottom: 10px;
  }
  .mb-xl-15 {
    margin-bottom: 15px;
  }
  .mb-xl-30 {
    margin-bottom: 30px;
  }
  .mb-xl-45 {
    margin-bottom: 45px;
  }
  .mb-xl-60 {
    margin-bottom: 60px;
  }
  .mb-xl-75 {
    margin-bottom: 75px;
  }
  .mb-xl-90 {
    margin-bottom: 90px;
  }
  .ml-xl-15 {
    margin-left: 15px;
  }
  .ml-xl-30 {
    margin-left: 30px;
  }
  .ml-xl-45 {
    margin-left: 45px;
  }
  .ml-xl-60 {
    margin-left: 60px;
  }
  .ml-xl-75 {
    margin-left: 75px;
  }
  .ml-xl-90 {
    margin-left: 90px;
  }
  .mt-xl-negativ-15 {
    margin-top: -15px;
  }
  .ml-xl-auto {
    margin-left: auto;
  }
  .mr-xl-auto {
    margin-right: auto;
  }
  .img-xl-full {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
  }
  .img-xl-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  table.list-table .badge.badge-icon {
    position: absolute;
    margin-top: 5px;
    margin-left: -25px;
    margin-bottom: 0;
  }
  table.list-table .badge.badge-icon span {
    display: none;
  }
}
@media only screen and (min-width: 1400px) {
  .portal .navbar-brand img {
    height: 60px;
  }
  .portal-banner .banner-img {
    height: 780px;
  }
  .portal-banner .banner-content {
    padding-bottom: 120px;
  }
}
@media only screen and (min-width: 1920px) {
  .img-hd-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
  }
  .page-banner .banner-img {
    height: 600px;
  }
}
@keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}
@media only print {
  nav,
  footer,
  .page-back,
  .hidden-print {
    display: none;
  }
  .box,
  .section {
    padding: 0;
    margin: 0;
    background: none;
    border-radius: 0;
    filter: none;
  }
}
.print nav,
.print footer,
.print .page-back,
.print .hidden-print {
  display: none !important;
}
.print .col-print-12 {
  flex: 0 0 auto;
  width: 100%;
}
.print .col-print-6 {
  flex: 0 0 auto;
  width: 50%;
}
.print .page {
  max-width: 700px !important;
  padding: 0;
}
.print .section {
  padding: 0;
  margin: 0;
  background: none;
  border-radius: 0;
  filter: none;
}
.print table.list-table {
  border: 0 none;
  border-spacing: 0px;
}
.print table.list-table th {
  padding-bottom: 5px;
  padding-right: 10px;
  padding-left: 5px;
}
.print table.list-table .cell-title, .print table.list-table th {
  font-size: 0.75rem;
}
.print table.list-table td {
  padding: 5px 10px;
}
.print table.list-table th:first-child,
.print table.list-table td:first-child {
  padding-left: 10px;
  border: 0 none;
}
.print table.list-table th:not(:last-child),
.print table.list-table td:not(:last-child), .print table.list-table th, .print table.list-table td {
  white-space: normal;
}
.print table.list-table td:last-child:not(.normal-cell), .print table.list-table .grow-cell {
  padding-right: 10px;
}
.print table.list-table th:last-child:not(.normal-cell),
.print table.list-table td:last-child:not(.normal-cell),
.print table.list-table .grow-cell {
  max-width: 100%;
}
.print table.list-table tbody tr {
  margin-bottom: 0;
}

.pdf nav,
.pdf footer,
.pdf .page-back,
.pdf .hidden-print {
  display: none !important;
}
.pdf .section {
  padding: 0;
  margin: 0;
  background-color: transparent;
  border-radius: 0;
}
.pdf .page {
  padding: 0;
}
.pdf table.list-table tbody tr {
  background-color: transparent;
}
.pdf .box {
  page-break-inside: avoid;
  break-inside: avoid;
  break-before: auto;
}
.pdf .hidden-price {
  display: table-row;
}
.pdf .print-expanded {
  max-height: none;
}
.pdf .print-expanded::after {
  display: none;
}
