/* document */
/* header */
/* main */
/* sidebar */
/* cart */
/* fonts */
/* palette colors */
/* svg filters */
/* booking */
/* z-indexes */
/* utility */
/* modal */
/* carousel */
/* mobile breakpoint */
/* max width */
/* transition */
/* animations */
/* buttons */
/* badge */
/* product highlight block */
/* bootstrap custom */
/* document */
html {
  font-size: 14px;
  font-weight: 400;
}
@media (max-width: 991.98px) {
  html {
    font-size: 12.6px;
  }
}
body {
  background: #fff;
  background-attachment: fixed;
  background-size: cover;
  color: #000;
  font-family: "sanfrancisco", sans-serif;
  line-height: 1.4;
  min-height: 100%;
}
/* scrollbar */
::-webkit-scrollbar {
  background-color: #e4e4e4;
  width: 1rem;
  height: 1rem;
}
::-webkit-scrollbar-thumb {
  background-color: #000;
  border: 0.3rem solid #e4e4e4;
}
/* breakpoints */
@media (min-width: 992px) {
  #detect-breakpoints .is-mobile {
    display: none;
  }
}
/* global */
a {
  color: inherit;
}
a:hover {
  color: #aa8800;
}
a:hover svg {
  fill: #aa8800;
}
button:focus-visible {
  outline: none;
}
input, select, .accordion, .accordion-item, .alert, .card, .popover {
  border-radius: 0 !important;
}
input, select {
  box-shadow: none !important;
}
input {
  border: 1px solid #eee7cc !important;
}
select:disabled {
  background: none;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}
.form-check .form-check-input {
  height: 1.5rem;
  width: 1.5rem;
}
.form-check .form-check-label {
  padding-left: 0.5rem;
  padding-top: 0.4rem;
}
.form-check .invalid-feedback {
  padding-left: 0.5rem;
}
p, .alert {
  margin: 0;
}
.popover, .tooltip {
  font-size: inherit;
}
.alert .alert-title {
  font-size: 1.2rem;
}
.alert .alert-link {
  text-decoration: underline !important;
}
.alert svg {
  margin-bottom: 0.6rem;
  fill: var(--bs-alert-color);
}
.alert svg + * {
  vertical-align: text-bottom !important;
}
.accordion-item, .card, .offcanvas {
  background-color: #fff;
}
.card {
  padding: 0;
}
/* icons */
svg {
  height: 1.7rem;
}
/* fonts */
h1:not(.no-style), .h1 {
  font-family: "Domaine", serif !important;
  font-size: 2.25rem !important;
  font-weight: 400 !important;
  margin-bottom: 0 !important;
}
h2:not(.no-style), .h2 {
  font-family: "Domaine", serif !important;
  font-size: 1.8rem !important;
  font-weight: 400 !important;
  margin-bottom: 0 !important;
}
h3:not(.no-style), .h3 {
  font-family: "Domaine", serif !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  margin-bottom: 0 !important;
}
h4:not(.no-style), .h4 {
  font-family: "Domaine", serif !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  margin-bottom: 0 !important;
}
h5:not(.no-style), .h5 {
  font-family: "Domaine", serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  margin-bottom: 0 !important;
}
/* header */
header.main-header {
  background: #fff;
  border-bottom: #333 1px solid;
  color: #333;
  height: 75px;
  overflow-x: clip;
  padding: 0 1rem;
  top: -100%;
}
@media (min-width: 992px) {
  header.main-header {
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
  }
}
header.main-header svg {
  fill: #333 !important;
}
header.main-header a[data-bs-toggle=offcanvas], header.main-header a[data-bs-toggle=offcanvas] svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
header.main-header a[data-bs-toggle=offcanvas]:hover {
  color: #aa8800 !important;
}
header.main-header a[data-bs-toggle=offcanvas]:hover svg {
  fill: #aa8800 !important;
}
@media (max-width: 767.98px) {
  header.main-header a[data-bs-toggle=offcanvas] span {
    display: none;
  }
}
header.main-header a:not(.dropdown-item), header.main-header .btn-link {
  color: #333;
}
header.main-header a:not(.dropdown-item):disabled, header.main-header .btn-link:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
header.main-header .menu-login a.disabled, header.main-header .btn-link.disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  pointer-events: none;
}
header.main-header .menu {
  background-color: inherit;
  color: inherit;
  height: 100%;
}
header.main-header .menu svg {
  fill: inherit;
}
header.main-header .menu > a {
  align-items: center;
  display: flex;
  gap: 0.8rem;
  height: 100%;
}
header.main-header .menu > a > span {
  margin: 0;
}
header.main-header .logo {
  padding: 0 1.5rem;
}
@media (max-width: 767.98px) {
  header.main-header .logo {
    padding: 0 0.5rem;
  }
}
header.main-header .logo h1 {
  margin-bottom: 0;
}
header.main-header .logo h1 img {
  max-height: 60px;
  max-width: 100%;
  width: auto;
}
header.main-header .logo .name {
  font-family: "Domaine", serif;
  font-size: 1.2rem;
  font-weight: 500;
  margin: 0;
}
header.main-header .logo .name > a {
  color: #000;
  text-decoration: none;
}
header.main-header .logo .payoff {
  font-size: 0.7rem;
  font-weight: normal;
  margin: 0;
  text-transform: uppercase;
}
header.main-header .menu-sel-dd {
  margin-left: 1.5rem;
}
header.main-header .menu-sel-dd select {
  background: none;
  border: none;
  padding-left: 0;
  padding-right: 0;
}
header.main-header .menu-info {
  display: flex;
  flex-wrap: nowrap;
  line-height: 1rem;
  margin-top: auto;
}
@media (max-width: 767.98px) {
  header.main-header .menu-info.base {
    display: flex !important;
  }
  header.main-header .menu-info.complex {
    display: none !important;
  }
}
header.main-header .menu-info > * {
  align-items: center;
  max-width: calc(100% + 1.7rem + 3rem);
}
header.main-header .menu-info .menu-icon {
  cursor: pointer;
}
header.main-header .menu-info .menu-icon svg {
  transition: fill 300ms ease-in-out;
}
header.main-header .menu-info .menu-icon:hover svg, header.main-header .menu-info .menu-icon:not(.collapsed) svg {
  fill: #aa8800;
}
@media (max-width: 767.98px) {
  header.main-header .menu-info > :nth-child(n+3) {
    display: none !important;
  }
}
header.main-header .menu-login .modal {
  color: #000;
}
header.main-header .logo {
  order: 1;
}
header.main-header .contacts {
  order: 2;
  margin-left: auto;
  margin-right: 1rem;
}
header.main-header .contacts .menu-sel {
  justify-content: end;
}
header.main-header .contacts .menu-info {
  justify-content: end;
}
header.main-header .contacts .menu-info .menu-info-link {
  margin-right: 0.5rem;
}
header.main-header .menu {
  flex: 0 0 auto;
  order: 3;
  width: auto;
}
/* main */
main {
  /*
	@include media-breakpoint-down($mobile-bp) {
		margin-top: $cart-header-h;
	}
	*/
  overflow-x: clip;
  padding: 0 1rem;
  position: relative;
}
main > .row {
  margin-left: 0;
  margin-right: 0;
}
main > .offcanvas-backdrop {
  top: 75px;
}
.main-block {
  --bs-gutter-x: 4rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@media (min-width: 992px) {
  .main-block > * > * {
    margin-top: -2rem;
  }
  .main-block > * > * > * {
    margin-top: 2rem;
  }
}
/* content */
@media (max-width: 991.98px) {
  .content-block {
    margin-top: 0 !important;
  }
}
@media (min-width: 992px) {
  .content-block {
    order: 1 !important;
  }
}
/* sticky components */
body.sticky-header header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 5;
}
body .sticky-header-spacer {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
body:not(.sticky-header) .sticky-header-spacer {
  margin-top: 0 !important;
}
@media (max-width: 991.98px) {
  body .sticky-header-spacer {
    margin-top: 0 !important;
  }
}
@media (min-width: 992px) {
  body.sticky-sidebar .sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }
}
/* footer */
footer.main-footer {
  background-color: #F5F5F5;
  box-shadow: 0 -3px 5px 0 rgba(0, 0, 0, 0.5);
  padding: 2rem 1rem;
}
@media (max-width: 767.98px) {
  footer.main-footer .footer-block {
    gap: 2rem;
  }
}
footer.main-footer .bmg-logo {
  border: none;
  height: 30px;
}
footer.main-footer .footer-links {
  display: flex;
  justify-content: flex-end;
}
footer.main-footer .footer-links a {
  border: none;
  display: inline-block;
  height: 30px;
  padding: 0 10px;
  white-space: nowrap;
}
/* general styles */
.base-price {
  font-size: 0.8em;
  position: relative;
}
.base-price:after {
  border-bottom: 0.125em solid;
  content: "";
  left: 0;
  margin-top: calc(0.125em / 2 * -1);
  position: absolute;
  right: 0;
  top: 50%;
}
.price .sep, .price .dec, .base-price .sep, .base-price .dec {
  font-size: 0.7em;
}
.price .cur, .base-price .cur {
  margin-right: 0.1em;
}
a.text-more {
  display: block;
}
/* buttons */
.positive-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: auto;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
}
.positive-btn, .positive-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.positive-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.positive-btn:not(:disabled):hover svg {
  fill: #000;
}
.positive-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.positive-btn svg {
  fill: #fff;
}
.negative-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
}
.negative-btn:disabled {
  opacity: 0.7;
}
.negative-link {
  color: #6c6c6c;
  font-weight: bold;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
}
.negative-link:disabled {
  opacity: 0.7;
}
.black-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
}
.black-btn:disabled {
  opacity: 0.7;
}
/* login */
#menu-login-modal .container-fluid, #menu-forgot-modal .container-fluid, #menu-reset-modal .container-fluid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#menu-login-modal .fields, #menu-forgot-modal .fields, #menu-reset-modal .fields {
  margin: 1rem 0;
}
#menu-login-modal .fields > *, #menu-forgot-modal .fields > *, #menu-reset-modal .fields > * {
  padding: 0;
}
#menu-login-modal label, #menu-login-modal input, #menu-forgot-modal label, #menu-forgot-modal input, #menu-reset-modal label, #menu-reset-modal input {
  margin-bottom: 1rem;
}
/* DA RIVEDERE */
/* registration */
.content-heading {
  background-color: rgba(250, 250, 250, 0.5);
  border-bottom: 1px solid #b6b6b6;
  color: #333;
  padding: 10px 0;
}
.content-title {
  font-size: 21px;
  margin: 0;
}
a.text-less, a.text-more {
  display: block;
  font-weight: 600;
  margin-top: 1rem;
  text-align: right;
}
.svg-content {
  align-items: center;
  display: flex;
}
svg + *, .icon-label {
  margin-left: 0.8rem;
  vertical-align: middle;
}
.icon-label-left {
  margin-right: 0.8rem;
}
.bmg-badge {
  background-color: #aa8800 !important;
  color: #fff !important;
  display: inline-block;
  font-weight: bold;
  min-height: 3rem;
  padding: 1rem 1.5rem;
  width: auto;
}
.bmg-badge svg {
  fill: #fff !important;
}
.mandatory-field {
  color: red;
  margin-left: 0.2rem;
}
#menu-offcanvas {
  top: 0;
  width: 400px;
  border-left: 1px solid #aa8800;
  right: 0;
  transform: translateX(100%);
}
#menu-offcanvas.show:not(.hiding), #menu-offcanvas.showing {
  transform: none;
}
#menu-offcanvas .offcanvas-header .icon {
  cursor: pointer;
}
#menu-offcanvas hr {
  background-color: #aa8800;
  color: #aa8800;
  margin: 2rem 0;
  opacity: 1;
}
#menu-offcanvas ul {
  list-style-type: none;
  padding-left: 0;
}
#menu-offcanvas ul li:not(:last-child) {
  margin-bottom: 0.5rem !important;
}
#menu-offcanvas ul.contacts li:not(:last-child) {
  margin-bottom: 1rem !important;
}
#menu-offcanvas ul a:not(:hover) {
  text-decoration: none;
}
#menu-offcanvas ul a.disabled {
  opacity: 0.5;
  pointer-events: none;
}
#menu-offcanvas select {
  border: none;
  border-bottom: 1px solid #000;
  padding-left: 0;
  padding-right: 0;
}
#menu-offcanvas .username {
  color: #aa8800;
  font-weight: bold;
}
@media (min-width: 992px) {
  .mobile-view {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .desktop-view {
    display: none !important;
  }
}
/* toast */
#bmg-toast-container {
  flex: 0 0 auto;
  width: 25%;
  bottom: 1rem;
  position: fixed;
  right: 1rem;
  z-index: 99999;
  padding-left: 2.3rem;
}
#bmg-toast-container .toast {
  border-radius: 0 !important;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.3);
  font-size: 1rem;
  width: 100%;
}
#bmg-toast-container .toast .toast-header {
  background-color: #fff;
  border-radius: 0 !important;
}
#bmg-toast-container .toast .toast-body {
  background-color: #fff;
}
#bmg-toast-container .toast.toast-warning .toast-header {
  background-color: #6c757d;
  color: #fff;
}
#bmg-toast-container .toast.toast-warning .toast-header svg {
  fill: #fff;
}
.address-collapse {
  margin-top: 1rem;
}
.address-collapse .card {
  padding: 1rem;
}
body.bmg-opaque .bmg-opaque-item {
  position: relative;
}
body.bmg-opaque .bmg-opaque-item:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  background: rgba(255, 255, 255, 0.8);
}
.bmg-loading {
  position: relative;
}
.bmg-loading:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  background: rgba(255, 255, 255, 0.8) url("https://secure.visioni.info/bmg_instances/assets/front/img/ui-anim_basic_16x16.gif") 50% 50% no-repeat !important;
}
.bmg-loading[data-loading-element=datepicker-dropdown] .datepicker-dropdown {
  position: relative;
}
.bmg-loading[data-loading-element=datepicker-dropdown] .datepicker-dropdown:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  background: rgba(255, 255, 255, 0.8) url("https://secure.visioni.info/bmg_instances/assets/front/img/ui-anim_basic_16x16.gif") 50% 50% no-repeat !important;
}
/* mixins */
/* generic */
.bmg-modal .modal-content {
  border: none;
  border-radius: 0;
}
.bmg-modal .modal-header {
  background-color: #fff;
  border-radius: 0;
  display: block;
}
.bmg-modal .modal-header.hr {
  border-bottom: 0.25rem solid #aa8800;
  margin-bottom: 1rem;
}
.bmg-modal .modal-header .modal-title {
  align-items: center;
  display: flex;
}
.bmg-modal .modal-header .modal-title.has-logo {
  align-items: flex-start;
}
.bmg-modal .modal-header .modal-title .title {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 0.75rem;
}
.bmg-modal .modal-header .modal-title .title .logo {
  max-height: 60px;
  max-width: 100%;
  width: auto;
}
.bmg-modal .modal-body {
  background-color: unset;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  padding: 0;
  position: relative;
}
.bmg-modal .modal-dialog-force-scrollable .modal-body {
  overflow-y: scroll;
}
.booking-modal .modal-header {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.booking-modal .modal-body .container-fluid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.booking-modal .modal-body .proceed-btn {
  background-color: #217844;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 3.5714285714rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  width: 100%;
}
.booking-modal .modal-body .proceed-btn, .booking-modal .modal-body .proceed-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-modal .modal-body .proceed-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.booking-modal .modal-body .proceed-btn:not(:disabled):hover svg {
  fill: #000;
}
@keyframes bookBtnAnimation {
  0% {
    left: -100%;
  }
  45% {
    left: -100%;
  }
  55% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.booking-modal .modal-body .proceed-btn:not(:disabled):before {
  animation: bookBtnAnimation 6s infinite;
  background-color: rgba(33, 120, 68, 0.7);
  content: "";
  -webkit-mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  /*content: url($BMGI-ENV-URL_SSL + '/assets/ico/regular/arrow.svg');*/
  height: 3.5714285714rem;
  filter: brightness(130%);
  position: absolute;
  bottom: 0;
  top: 0;
  width: 3.5714285714rem;
  /*
				-webkit-mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				-webkit-mask-size: cover;
				mask-size: cover;
				*/
}
.booking-modal .modal-body .proceed-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.booking-modal .modal-body .proceed-btn svg {
  fill: #fff;
}
/* [component] buttons */
.bmg-modal .bmg-modal-dialog .bmg-modal-btns {
  display: flex;
  gap: 1rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 3;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button {
  background-image: -webkit-linear-gradient(45deg, #fff 50%, transparent 50%);
  background-image: linear-gradient(45deg, #fff 50%, transparent 50%);
  background-position: 100%;
  background-color: rgba(38, 38, 38, 0.7);
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  display: flex;
  font-weight: 600;
  gap: 0.75rem;
  height: 3.5rem;
  justify-content: center;
  padding: 1rem;
  width: auto;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button, .bmg-modal .bmg-modal-dialog .bmg-modal-btns button svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button.disabled {
  cursor: initial;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button:not(.disabled):hover {
  background-position: 0%;
  color: #000;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button:not(.disabled):hover svg {
  fill: #000;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button svg {
  fill: #fff;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button.icon-btn {
  width: 3.5rem;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button i {
  line-height: 1.5rem;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-btns button svg {
  fill: #fff;
  height: 1.3rem;
}
.bmg-modal .bmg-modal-dialog .bmg-modal-switch-btns .bmg-modal-close-btn {
  opacity: 0;
}
.bmg-modal .bmg-modal-dialog.modal-dialog-force-scrollable .bmg-modal-floating-btns {
  right: 2rem;
}
.bmg-modal[data-bs-backdrop=static] .bmg-modal-close-btn {
  display: none !important;
}
/* [component] caption */
.bmg-modal .bmg-modal-caption {
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 1rem;
}
.bmg-modal .bmg-modal-caption .title {
  margin-left: 1rem;
}
/* [component] carousel */
.bmg-modal .bmg-modal-carousel .bmg-carousel {
  --bs-aspect-ratio: calc(9 / 21 * 100%);
}
@media (max-width: 767.98px) {
  .bmg-modal .bmg-modal-carousel .bmg-carousel {
    --bs-aspect-ratio: calc(9 / 16 * 100%);
  }
}
.bmg-modal .bmg-modal-carousel .bmg-carousel .carousel-link {
  display: none;
}
/* [component] template */
.bmg-modal .bmg-modal-template {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 0 1rem 1rem 1rem;
  z-index: 3;
}
.bmg-modal .bmg-modal-template hr {
  background-color: #e4e4e4;
  color: #e4e4e4;
  flex-grow: 1;
  height: 0.25rem;
  margin: 1rem 0;
  opacity: 1;
}
@media screen and (min-height: 680px) {
  .bmg-modal .bmg-modal-template.header-sticky-top .bmg-modal-template-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .bmg-modal .bmg-modal-template.header-sticky-top .bmg-modal-template-body {
    z-index: -1;
  }
}
.bmg-modal .bmg-modal-template .bmg-modal-template-header {
  background-color: #fff;
  padding-top: 1rem;
}
.bmg-modal .bmg-modal-template .bmg-modal-template-header.hr {
  border-bottom: 0.25rem solid #aa8800;
  padding-bottom: 3rem;
  margin-bottom: 3rem;
}
.bmg-modal .bmg-modal-template .bmg-modal-template-title {
  margin-bottom: 2rem;
  margin-right: 4rem;
}
.bmg-modal .bmg-modal-template .bmg-modal-section-title {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  .bmg-modal .bmg-modal-template .bmg-modal-template-body {
    overflow-x: clip;
    overflow-y: auto;
  }
}
.bmg-modal .bmg-modal-template .bmg-modal-grid {
  --bs-gutter-y: 2rem;
}
/* [display mode] fullscreen */
@media (min-width: 992px) {
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content {
    background-color: unset;
    overflow: hidden;
    /* transitions */
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .modal-body {
    overflow-y: unset;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-carousel {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 34rem;
    top: 0;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-template {
    border-left: 1px solid #000;
    bottom: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 34rem;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-template .bmg-modal-template-body {
    padding-right: 1rem;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-switch-btns {
    position: absolute;
    right: 30.5rem;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-floating-btns {
    right: 1rem;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-carousel {
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-template {
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-switch-btns {
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content .bmg-modal-caption {
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
  }
  .bmg-modal[data-bs-backdrop=static] .bmg-modal-dialog.modal-fullscreen:not(.carousel-fullscreen) .modal-content .bmg-modal-switch-btns {
    right: 35rem;
  }
}
/* [display mode] fullscreen + carousel right */
@media (min-width: 992px) {
  .bmg-modal .bmg-modal-dialog.modal-fullscreen.carousel-right .bmg-modal-carousel {
    left: 34rem;
    right: 0;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen.carousel-right .bmg-modal-template {
    border-left: none;
    border-right: 1px solid #000;
    left: 0;
    right: unset;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen.carousel-right .bmg-modal-switch-btns {
    right: 1rem !important;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen.carousel-right.no-carousel .bmg-modal-floating-btns {
    left: 29.5rem;
    right: unset;
  }
}
/* [view mode] carousel fullscreen */
.bmg-modal .bmg-modal-dialog:not(.carousel-fullscreen) .carousel-fullscreen-visible {
  display: none !important;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen {
  /* copied from bootstrap source code */
  margin: 0;
  max-width: none;
  height: 100%;
  width: 100vw;
  /* [display mode] fullscreen */
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .modal-content {
  border: 0;
  border-radius: 0;
  height: 100%;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .modal-header, .bmg-modal .bmg-modal-dialog.carousel-fullscreen .modal-footer {
  border-radius: 0;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .modal-body {
  overflow-y: auto;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .bmg-modal-carousel {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .bmg-modal-caption {
  opacity: 1;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .carousel-fullscreen-hidden {
  display: none !important;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .modal-header {
  display: none;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen .bmg-modal-floating-btns {
  right: 1rem;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen:not(.modal-fullscreen) .bmg-modal-template {
  display: none !important;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen:not(.modal-fullscreen) .bmg-modal-switch-btns .bmg-modal-close-btn {
  opacity: 1;
}
.bmg-modal .bmg-modal-dialog.carousel-fullscreen:not(.modal-fullscreen) .bmg-modal-floating-btns {
  opacity: 0;
}
@media (max-width: 991.98px) {
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen .bmg-modal-template {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen.modal-fullscreen {
    /* [display mode] fullscreen + carousel right */
  }
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen.modal-fullscreen .bmg-modal-carousel {
    left: 0;
    right: 0;
  }
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen.modal-fullscreen .bmg-modal-template {
    right: -34rem;
  }
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen.modal-fullscreen .bmg-modal-switch-btns {
    right: 1rem;
  }
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen.modal-fullscreen.carousel-right .bmg-modal-template {
    left: -34rem;
    right: unset;
  }
}
/* [rule] force fullscreen on small displays */
@media (max-width: 575.98px) {
  .bmg-modal .bmg-modal-dialog.modal-fullscreen, .bmg-modal .bmg-modal-dialog.modal-lg {
    /* copied from bootstrap source code */
    margin: 0;
    max-width: none;
    height: 100%;
    width: 100vw;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-content, .bmg-modal .bmg-modal-dialog.modal-lg .modal-content {
    border: 0;
    border-radius: 0;
    height: 100%;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-header, .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-footer, .bmg-modal .bmg-modal-dialog.modal-lg .modal-header, .bmg-modal .bmg-modal-dialog.modal-lg .modal-footer {
    border-radius: 0;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-body, .bmg-modal .bmg-modal-dialog.modal-lg .modal-body {
    overflow-y: auto;
  }
  .bmg-modal .bmg-modal-dialog.modal-fullscreen .modal-body, .bmg-modal .bmg-modal-dialog.modal-lg .modal-body {
    overflow-y: scroll;
  }
}
/* [rule] change fullscreen carousel displaying when orientation is portrait */
@media (orientation: portrait) {
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen .bmg-modal-carousel .bmg-carousel .carousel-item-content {
    background-color: #000;
    background-size: contain;
  }
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen .bmg-modal-carousel .bmg-carousel .carousel-item-content .carousel-video {
    object-fit: contain;
  }
  .bmg-modal .bmg-modal-dialog.carousel-fullscreen .bmg-modal-caption {
    bottom: 4rem;
    left: unset;
    text-align: center;
    top: unset;
    width: 100%;
  }
}
.bmg-carousel {
  /* .carousel-item { */
}
.bmg-carousel .carousel-item-inner > .carousel-caption-title {
  padding-bottom: 0.75rem;
}
.bmg-carousel .carousel-item-content {
  position: relative !important;
}
.bmg-carousel .carousel-item-content {
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  max-height: 100%;
}
.bmg-carousel .carousel-control-prev, .bmg-carousel .carousel-control-next {
  flex: 0 0 auto;
  width: 11.11111111%;
  transition: all 200ms ease-in-out;
}
.bmg-carousel .carousel-control-prev:hover, .bmg-carousel .carousel-control-next:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.bmg-carousel .carousel-indicators {
  height: 2rem;
}
.bmg-carousel .carousel-indicators.text-indicators [data-bs-target] {
  background-color: unset;
  cursor: text;
  text-indent: unset;
  width: unset;
}
.bmg-carousel .carousel-indicators.text-indicators [data-bs-target]:not(.active) {
  display: none;
}
.bmg-carousel .carousel-video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.bmg-carousel .carousel-caption {
  align-items: flex-start;
  bottom: unset;
  flex-direction: column;
  left: 0;
  padding: 0;
  right: unset;
  text-align: left;
  top: 0;
}
.bmg-carousel .carousel-caption .carousel-badge {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 0;
  padding: 0.75rem 1rem;
}
.bmg-carousel .carousel-caption .carousel-badge .carousel-badge-icon {
  padding-right: 0.75rem;
}
.bmg-carousel .carousel-link {
  bottom: 0;
  display: flex;
  left: 0;
  position: absolute;
  right: 0;
  text-decoration: none;
  top: 0;
  z-index: 1;
}
.card-carousel {
  background-color: #fff;
  border: none;
  position: relative;
}
.card-carousel .card-header {
  align-items: center;
  display: flex;
  height: 42px;
  padding-bottom: 0;
  padding-top: 0;
}
.card-carousel .bmg-carousel {
  padding: 0;
}
.card-carousel .bmg-carousel .carousel {
  position: unset;
}
.menu-btns {
  /* active menu buttons */
}
.menu-btns .menu-row {
  --bs-gutter-x: 0.25rem;
}
.menu-btns .menu-row .menu-element {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.menu-btns .menu-row .menu-element:not(.menu-collapsed) {
  flex-grow: 1;
}
.menu-btns .menu-row .menu-element.menu-collapsed {
  overflow-x: hidden;
  padding: 0;
  width: 0;
}
.menu-btns .menu-row .menu-element.menu-collapsing {
  overflow-x: hidden;
}
.menu-btns .menu-row .menu-element.menu-collapsing * {
  white-space: nowrap;
}
.menu-btns .menu-row .menu-element > * {
  height: 100%;
}
.menu-btns .menu-row:not(:first-child) > * {
  margin-top: 1rem;
}
.menu-btns .menu-row.d-none + .menu-row > * {
  margin-top: 0;
}
.menu-btns .menu-btn {
  background-color: #f2f2f2;
  height: 100%;
  padding: 0.5rem;
}
.menu-btns .menu-btn.read-only {
  background-color: #e4e4e4;
}
.menu-btns .menu-btn.not-compatible {
  background-color: #f8d7da;
  color: #842029;
}
.menu-btns .menu-btn > * {
  width: 100%;
}
.menu-btns .menu-btn * {
  line-height: normal !important;
}
.menu-btns .menu-btn .label {
  display: flex;
  align-items: flex-start;
}
.menu-btns .menu-btn .label .h3 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-grow: 1;
  font-size: 1.3rem;
}
@media (max-width: 1399.98px) {
  .menu-btns .menu-btn .label .h3 {
    font-size: 1.2rem !important;
  }
}
.menu-btns .menu-btn .label svg {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
  fill: #fff;
  height: 0.75rem;
  opacity: 0;
}
.menu-btns .menu-btn .value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  display: flex;
}
.menu-btns .menu-btn .value svg {
  -webkit-transition-property: fill;
  transition-property: fill;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
  height: 1.25rem;
  margin-left: 0.5rem;
}
.menu-btns .menu-btn:not(.disabled) {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.menu-btns .menu-btn:not(.disabled), .menu-btns .menu-btn:not(.disabled) > * {
  cursor: pointer;
}
.menu-btns .menu-collapse {
  background-color: #f2f2f2;
  margin: 0;
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 0.75rem;
  padding-bottom: 0.75rem;
}
.menu-btns .menu-collapse .row {
  align-items: center;
}
@media (min-width: 992px) {
  .menu-btns .menu-collapse .row {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.75rem;
  }
}
.menu-btns .menu-collapse .alert {
  padding: 0.75rem;
}
.menu-btns .menu-collapse .alert svg {
  height: 1.5rem;
}
.menu-btns .menu-element.active .menu-btn:not(.disabled):not(.menu-btn-check), .menu-btns .menu-element.active .btn-check:checked + .menu-btn-check:not(.disabled), .menu-btns .menu-btn:not(.disabled):hover {
  background-color: #262626;
  border-color: #262626;
  color: #fff;
}
.menu-btns .menu-element.active .menu-btn:not(.disabled):not(.menu-btn-check) svg, .menu-btns .menu-element.active .btn-check:checked + .menu-btn-check:not(.disabled) svg, .menu-btns .menu-btn:not(.disabled):hover svg {
  fill: #fff;
}
.menu-btns .menu-element.active .menu-btn:not(.disabled):not(.menu-btn-check) .label svg, .menu-btns .menu-element.active .btn-check:checked + .menu-btn-check:not(.disabled) .label svg {
  opacity: 1;
}
@media (max-width: 991.98px) {
  .menu-btns .menu-element.menu-cart {
    margin-top: 0;
  }
  body[data-mobile-step=extras] .menu-btns .menu-element:not(.menu-cart) {
    display: none;
  }
}
.dates .menu-btn {
  padding: 0;
}
.dates .menu-btn > label {
  padding: 0.5rem;
}
.dates .fields-info {
  --bs-gutter-x: 0.25rem;
}
.dates .datepicker-cnt {
  height: 23.2857142857rem;
  position: relative;
}
.dates .datepicker-cnt .datepicker-dropdown {
  background: none !important;
  border: none !important;
  border-radius: 0;
  bottom: 0 !important;
  left: 0 !important;
  overflow: hidden;
  padding: 0.25rem;
  position: absolute;
  right: 0 !important;
  top: 0 !important;
  z-index: inherit !important;
}
.dates .datepicker-cnt .datepicker-dropdown .table-condensed {
  width: 100%;
}
.dates .datepicker-cnt .datepicker-days th {
  border-radius: 0;
  cursor: initial;
}
.dates .datepicker-cnt .datepicker-days th:hover {
  background: #f2f2f2 !important;
}
.dates .datepicker-cnt .datepicker-days th:hover.prev, .dates .datepicker-cnt .datepicker-days th:hover.next {
  cursor: pointer;
  filter: brightness(90%);
}
.dates .datepicker-cnt .datepicker-days td {
  background: #f2f2f2 !important;
  border: 1px solid transparent !important;
  border-radius: 0;
  height: 3rem !important;
  padding: 0;
  position: relative;
  width: 14.285% !important;
}
.dates .datepicker-cnt .datepicker-days td div.dp-cell {
  border: 1px solid transparent !important;
  border-radius: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.dates .datepicker-cnt .datepicker-days td:not(.disabled):hover {
  filter: brightness(90%);
}
.dates .datepicker-cnt .datepicker-days td.ca div.dp-cell::before {
  background: #ef5858;
  top: 5px;
  content: "";
  color: initial !important;
  left: 5px;
  position: absolute;
  width: 1rem;
  height: 1rem;
}
.dates .datepicker-cnt .datepicker-days td.min div.dp-cell::before {
  background: #ffb0b0;
  top: 5px;
  content: "";
  color: initial !important;
  left: 5px;
  position: absolute;
  width: 1rem;
  height: 1rem;
}
.dates .datepicker-cnt .datepicker-days td.na:not(.disabled) div.dp-cell {
  position: relative;
}
.dates .datepicker-cnt .datepicker-days td.na:not(.disabled) div.dp-cell::before {
  background: linear-gradient(to top left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), black 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 100%), linear-gradient(to top right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), black 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 100%) !important;
  bottom: 5px;
  content: "";
  color: initial !important;
  left: 5px;
  position: absolute;
  right: 5px;
  top: 5px;
}
.dates .datepicker-cnt .datepicker-days td.oop {
  position: relative;
}
.dates .datepicker-cnt .datepicker-days td.oop::before {
  background: #CCC url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAI0lEQVQIW2NkAILQ0ND/q1evZgSxGZE5YAEQAQMgSbgATCUA4L8OA/yJaI0AAAAASUVORK5CYII=)  repeat;
  bottom: 0;
  content: "";
  color: initial !important;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.dates .datepicker-cnt .datepicker-days td.active:not(.start):not(.mid):not(.end).disabled div.dp-cell, .dates .datepicker-cnt .datepicker-days td.selected:not(.start):not(.mid):not(.end).disabled div.dp-cell {
  color: #999;
}
.dates .datepicker-cnt .datepicker-days td.active:not(.start):not(.mid):not(.end):not(.disabled) div.dp-cell, .dates .datepicker-cnt .datepicker-days td.selected:not(.start):not(.mid):not(.end):not(.disabled) div.dp-cell {
  color: #000;
}
.dates .datepicker-cnt .datepicker-days td.start div.dp-cell, .dates .datepicker-cnt .datepicker-days td.mid div.dp-cell, .dates .datepicker-cnt .datepicker-days td.end div.dp-cell {
  background: #262626;
  color: #fff;
}
.dates .datepicker-cnt .datepicker-days td div.dp-date {
  font-size: 0.75rem;
  position: absolute;
  right: 8px;
  top: 5px;
}
.dates .datepicker-cnt .datepicker-days td div.dp-bar {
  bottom: 5%;
  color: #aaa;
  display: flex;
  font-size: 0.875rem;
  justify-content: center;
  position: absolute;
  text-align: center;
  width: 100%;
}
.dates .datepicker-cnt .datepicker-days td div.dp-bar .sep, .dates .datepicker-cnt .datepicker-days td div.dp-bar .dec {
  display: none;
}
.dates .n-nights .bootstrap-touchspin button, .dates .n-nights .bootstrap-touchspin .spinner {
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
  background: none !important;
  border: none !important;
  padding: 0;
}
.dates .n-nights .bootstrap-touchspin button {
  color: #aa8800;
  font-weight: 600;
}
.dates .n-nights .bootstrap-touchspin button.disabled {
  opacity: 0;
}
.dates .n-nights .bootstrap-touchspin .spinner {
  color: #000;
  pointer-events: none;
}
.dates .n-nights:hover .bootstrap-touchspin button, .dates .n-nights:hover .bootstrap-touchspin .spinner {
  color: #fff;
}
.input-group.date .input-group-addon {
  cursor: pointer;
}
/*
.datepicker-days td {
	.range-start {
		background: $pc-secondary-bg!important;
		color: $pc-secondary-text;
	}
	.range {
		background: $pc-secondary-bg!important;
		color: $pc-secondary-text;
	}
	.range-end {
		background: $pc-secondary-bg!important;
		color: $pc-secondary-text;
	}
}
*/
.footer {
  align-items: end;
}
.footer .legend {
  display: flex;
  font-size: 0.9rem;
  justify-content: space-between;
}
.footer .legend .field {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}
.footer .legend .field .box {
  height: 1.5rem;
  width: 1.5rem;
}
.footer .legend .field .box.ca {
  background-color: #ef5858 !important;
}
.footer .legend .field .box.min {
  background-color: #ffb0b0 !important;
}
.footer .legend .field .box.na {
  border: 1px solid #000;
  position: relative;
}
.footer .legend .field .box.na::before {
  background: linear-gradient(to top left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), black 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 100%), linear-gradient(to top right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), black 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 100%) !important;
  bottom: 0;
  content: "";
  color: initial !important;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.footer .legend .field .box.oop {
  border: 1px solid #000;
  position: relative;
}
.footer .legend .field .box.oop::before {
  background: #CCC url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAI0lEQVQIW2NkAILQ0ND/q1evZgSxGZE5YAEQAQMgSbgATCUA4L8OA/yJaI0AAAAASUVORK5CYII=)  repeat;
  bottom: 0;
  content: "";
  color: initial !important;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
#ext_dates {
  margin-bottom: 4rem;
}
#ext_dates > * {
  padding: 0;
}
#ext_dates .datepicker-cnt {
  height: unset;
}
#ext_dates .datepicker-cnt .datepicker-days td {
  height: 5rem !important;
}
#ext_dates .add-datepickers-cnts {
  display: flex;
  gap: 2rem;
}
#ext_dates .add-datepickers-cnts .datepicker-cnt {
  flex: 1 1 0;
  max-width: 100%;
}
#ext_dates .add-datepickers-cnts .datepicker-cnt .datepicker-inline, #ext_dates .add-datepickers-cnts .datepicker-cnt .table-condensed {
  width: 100%;
}
#ext_dates .add-datepickers-cnts > :first-child th.next, #ext_dates .add-datepickers-cnts > :not(:last-child) th.next {
  visibility: hidden !important;
}
#ext_dates .add-datepickers-cnts > :not(:first-child) th.prev, #ext_dates .add-datepickers-cnts > :last-child th.prev {
  visibility: hidden !important;
}
#ext_dates .add-datepickers-cnts[data-pos="0"] > :first-child th.prev {
  visibility: hidden !important;
}
#ext_dates .add-datepickers-cnts:not([data-pos="0"]) > :first-child th.prev {
  visibility: unset !important;
}
#ext_dates .add-datepickers-cnts > :last-child th.next {
  visibility: unset !important;
}
#ext_dates .add-datepickers-cnts > * .datepicker-days thead > :last-child th {
  padding-top: 1.3rem;
}
#ext_dates .add-datepickers-cnts > * .datepicker-days th {
  font-size: 1.3rem;
  height: 30px;
  width: 30px;
}
#ext_dates .add-datepickers-cnts > * .datepicker-days th.prev, #ext_dates .add-datepickers-cnts > * .datepicker-days th.next {
  font-size: 2rem;
  font-weight: initial;
}
#ext_dates .add-datepickers-cnts > * .datepicker-days td div.dp-bar {
  bottom: 10%;
}
#ext_dates .add-datepickers-cnts > * .datepicker-days td div.dp-bar .sep, #ext_dates .add-datepickers-cnts > * .datepicker-days td div.dp-bar .dec {
  display: block;
}
#ext_dates .add-datepickers-cnts > * .datepicker-days td.day.old, #ext_dates .add-datepickers-cnts > * .datepicker-days td.day.new {
  visibility: hidden;
}
#ext_dates .footer .legend {
  gap: 3rem;
  justify-content: unset;
}
#ext_dates .footer .apply-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: auto;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
}
#ext_dates .footer .apply-btn, #ext_dates .footer .apply-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
#ext_dates .footer .apply-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
#ext_dates .footer .apply-btn:not(:disabled):hover svg {
  fill: #000;
}
#ext_dates .footer .apply-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
#ext_dates .footer .apply-btn svg {
  fill: #fff;
}
/* unset default styles */
.datepicker table tr td span {
  height: unset;
  line-height: unset;
  width: unset;
}
.datepicker table tr td span:hover {
  background: unset;
}
.party .row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
  align-items: center;
}
.party .cancel-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
}
.party .cancel-btn:disabled {
  opacity: 0.7;
}
.party .apply-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: auto;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
}
.party .apply-btn, .party .apply-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.party .apply-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.party .apply-btn:not(:disabled):hover svg {
  fill: #000;
}
.party .apply-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.party .apply-btn svg {
  fill: #fff;
}
.party .form-floating select {
  border-radius: 0;
  max-height: 500px;
  overflow-y: scroll;
}
.party .form-floating:not(.compiled) label {
  opacity: 1;
  padding-right: 2.25rem;
  transform: none;
}
.cart-party {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
  opacity: 0;
}
.cart-party.initialized {
  opacity: 1;
}
.cart-party .row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
  align-items: center;
}
.cart-party .alert ul {
  margin-bottom: 0;
  margin-top: 0.75rem;
}
.cart-party-popover {
  max-width: 28.5714285714rem;
  z-index: 9999;
}
.coupon-code .coupon-code-input {
  align-items: center;
  align-self: normal;
  display: flex;
}
.coupon-code .form-control {
  height: 100%;
}
.coupon-code .cancel-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
}
.coupon-code .cancel-btn:disabled {
  opacity: 0.7;
}
.coupon-code .apply-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: auto;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
}
.coupon-code .apply-btn, .coupon-code .apply-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.coupon-code .apply-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.coupon-code .apply-btn:not(:disabled):hover svg {
  fill: #000;
}
.coupon-code .apply-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.coupon-code .apply-btn svg {
  fill: #fff;
}
.cart .menu-btn .label {
  align-items: center;
  flex-wrap: wrap;
}
.cart .menu-collapse {
  padding-bottom: 0;
}
.cart .menu-collapse .prices {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
}
.cart .menu-collapse .prices .base-price {
  font-size: 0.7em;
}
.cart .menu-collapse .empty-cart {
  margin-bottom: 1.5rem;
}
.cart .menu-collapse .content {
  -webkit-transition-property: max-height;
  transition-property: max-height;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
  max-height: 9999rem;
  overflow-y: auto;
}
@media (min-width: 992px) {
  .cart .menu-collapse .content {
    margin-top: 2rem;
  }
  .cart .menu-collapse .content.compressed {
    max-height: 300px;
    /* TEST */
  }
}
.cart .menu-collapse .content .row {
  --bs-gutter-y: 0;
}
.cart .menu-collapse .content .content-row {
  border-bottom: 0.2rem solid #e4e4e4;
  padding: 1.5rem 0;
}
@media (min-width: 992px) {
  .cart .menu-collapse .content .content-row:first-child:not(.not-available) {
    padding-top: 0;
  }
}
.cart .menu-collapse .content .summary .summary-row {
  align-items: flex-start;
}
.cart .menu-collapse .content .summary * {
  line-height: 1.6rem;
}
.cart .menu-collapse .content .not-available {
  background-color: #e4e4e4;
}
.cart .menu-collapse .content .h3 {
  text-decoration: underline;
  text-decoration-color: #aa8800;
}
.cart .menu-collapse .content svg {
  height: 1.2rem;
}
.cart .menu-collapse .content [data-bs-toggle=collapse] {
  font-weight: 600;
}
.cart .menu-collapse .content [data-bs-toggle=collapse] .icon {
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.cart .menu-collapse .content [data-bs-toggle=collapse]:not(.collapsed) .icon {
  transform: rotateX(180deg);
}
.cart .menu-collapse .content .offer {
  color: #aa8800;
}
.cart .menu-collapse .content .offer svg {
  fill: #aa8800;
}
.cart .menu-collapse hr {
  background-color: #aa8800;
  color: #aa8800;
  /*flex-grow: 1;*/
  height: 0.25rem;
  margin: 0;
  opacity: 1;
}
.cart .menu-collapse a {
  text-decoration: none;
}
.cart .menu-collapse .alert {
  display: flex;
}
.cart .menu-collapse .alert .alert-content {
  flex-grow: 1;
}
.cart .menu-collapse .alert .alert-link {
  float: right;
}
.cart .menu-collapse .alert.alert-arrow .icon {
  font-size: 1.7rem;
}
.cart .menu-collapse .warnings {
  margin-top: 3rem;
}
.cart .menu-collapse .extras-view-toggle {
  align-items: center;
  display: flex;
}
.cart .menu-collapse .view-toggle {
  font-weight: 600;
  margin: 1.5rem 0;
  text-align: right;
}
.cart .menu-collapse .total {
  margin: 1.5rem 0;
}
.cart .menu-collapse .total .price {
  font-weight: 600;
}
.cart .menu-collapse .item-btns {
  display: flex;
  gap: 0.5rem;
}
.cart .menu-collapse [data-bs-toggle=collapse], .cart .menu-collapse [data-bs-toggle=modal], .cart .menu-collapse .item-btn {
  cursor: pointer;
}
@media (min-width: 992px) {
  .cart .proceed > * {
    padding: 0;
  }
}
.cart .proceed .back-btn {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  background-color: #262626;
  display: flex;
  font-size: 0.8rem;
  font-weight: bold;
  height: 4.2857142857rem;
  justify-content: center;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.cart .proceed .back-btn, .cart .proceed .back-btn svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.cart .proceed .back-btn.disabled {
  cursor: initial;
}
.cart .proceed .back-btn:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.cart .proceed .back-btn:not(.disabled):hover svg {
  fill: #000;
}
.cart .proceed .back-btn svg {
  fill: #fff;
}
.cart .proceed .proceed-btn {
  background-color: #217844;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 3.5714285714rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  width: 100%;
}
.cart .proceed .proceed-btn, .cart .proceed .proceed-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.cart .proceed .proceed-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.cart .proceed .proceed-btn:not(:disabled):hover svg {
  fill: #000;
}
@keyframes bookBtnAnimation {
  0% {
    left: -100%;
  }
  45% {
    left: -100%;
  }
  55% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.cart .proceed .proceed-btn:not(:disabled):before {
  animation: bookBtnAnimation 6s infinite;
  background-color: rgba(33, 120, 68, 0.7);
  content: "";
  -webkit-mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  /*content: url($BMGI-ENV-URL_SSL + '/assets/ico/regular/arrow.svg');*/
  height: 3.5714285714rem;
  filter: brightness(130%);
  position: absolute;
  bottom: 0;
  top: 0;
  width: 3.5714285714rem;
  /*
				-webkit-mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				-webkit-mask-size: cover;
				mask-size: cover;
				*/
}
.cart .proceed .proceed-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.cart .proceed .proceed-btn svg {
  fill: #fff;
}
@media (max-width: 991.98px) {
  #cart {
    background-color: #f2f2f2;
    bottom: 0;
    display: none;
    height: auto;
    left: 0;
    position: fixed;
    right: 0;
    top: 125px;
    z-index: 4;
  }
  #cart > * {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  #cart .menu-collapse {
    display: flex;
    flex-grow: 1;
    height: 100%;
  }
  #cart .menu-collapse > * {
    display: flex;
    flex-direction: column;
    max-height: calc(100% - var(--bs-gutter-y));
  }
  #cart .menu-collapse .dates {
    margin-bottom: 1rem;
    margin-top: 0;
    text-align: right;
  }
  #cart .menu-collapse .empty-cart {
    margin-bottom: auto;
    margin-top: 0;
  }
  #cart .menu-collapse hr {
    margin-top: auto;
  }
  header.cart-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background-color: #fff;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.5);
    height: 50px;
    overflow: hidden;
    z-index: 5;
  }
  header.cart-header .container-fluid {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
  }
  header.cart-header .cart-header-title {
    -webkit-transition-property: bottom;
    transition-property: bottom;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
    bottom: 0;
    display: block;
    height: 100%;
    position: absolute;
  }
  header.cart-header .cart-header-title > * {
    align-items: center;
    display: flex;
    justify-content: space-between;
    height: 100%;
  }
  header.cart-header svg {
    fill: #000;
    height: 2rem;
    opacity: 1;
  }
  header.cart-header .cart-header-badge {
    margin-right: 0.5rem;
    position: relative;
  }
  header.cart-header .cart-header-badge .badge {
    margin: 0;
  }
  footer.cart-footer {
    background-color: #f2f2f2;
    display: none;
    padding-top: 1rem;
    z-index: 3;
  }
  body[data-mobile-step=extras] footer.cart-footer {
    display: block;
    margin-top: auto;
  }
  body[data-mobile-step=extras] footer.main-footer {
    margin-top: 1rem !important;
  }
}
@media (max-width: 991.98px) {
  body.sticky-header header.cart-header {
    top: 75px;
  }
  body.mobile-cart-open {
    overflow: hidden;
  }
}
/* extras overselling modal */
#extras-overselling-before-checkout-modal .modal-header {
  border-bottom: none;
  padding-bottom: 0;
}
#extras-overselling-before-checkout-modal .modal-body .container-fluid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#extras-overselling-before-checkout-modal .modal-body .proceed-btn {
  background-color: #217844;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 3.5714285714rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  width: 100%;
}
#extras-overselling-before-checkout-modal .modal-body .proceed-btn, #extras-overselling-before-checkout-modal .modal-body .proceed-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
#extras-overselling-before-checkout-modal .modal-body .proceed-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
#extras-overselling-before-checkout-modal .modal-body .proceed-btn:not(:disabled):hover svg {
  fill: #000;
}
@keyframes bookBtnAnimation {
  0% {
    left: -100%;
  }
  45% {
    left: -100%;
  }
  55% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
#extras-overselling-before-checkout-modal .modal-body .proceed-btn:not(:disabled):before {
  animation: bookBtnAnimation 6s infinite;
  background-color: rgba(33, 120, 68, 0.7);
  content: "";
  -webkit-mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  /*content: url($BMGI-ENV-URL_SSL + '/assets/ico/regular/arrow.svg');*/
  height: 3.5714285714rem;
  filter: brightness(130%);
  position: absolute;
  bottom: 0;
  top: 0;
  width: 3.5714285714rem;
  /*
				-webkit-mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				-webkit-mask-size: cover;
				mask-size: cover;
				*/
}
#extras-overselling-before-checkout-modal .modal-body .proceed-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
#extras-overselling-before-checkout-modal .modal-body .proceed-btn svg {
  fill: #fff;
}
/* alerts */
body.bmg-opaque .cart .alert span.select-dates {
  display: initial !important;
}
body.bmg-opaque .cart .alert span.fill-cart {
  display: none !important;
}
/* toasts */
#bmg-toast-container .cart-not-available .toast-body {
  display: flex;
  min-height: 6.5rem;
}
#bmg-toast-container .cart-not-available img {
  height: 5rem;
  margin-right: 1rem;
}
/* booking options */
.booking-options {
  display: grid;
  gap: 4rem;
  /* generic */
  /* overview */
  /* row */
}
.booking-options > * {
  background-color: #fff;
}
.booking-options .price {
  font-size: 1.4rem;
  font-weight: bold;
}
.booking-options .alerts .overview-alerts {
  padding: 0;
}
.booking-options .alerts .alert-badge {
  display: inline-block;
  border-radius: 0;
  padding: 0.75rem 1rem;
}
.booking-options .alerts .alert-badge svg {
  height: 1.5rem;
}
.booking-options .alerts .not-available-alert .alert-badge {
  background-color: rgba(108, 117, 125, 0.9);
  color: #fff;
}
.booking-options .alerts .not-available-alert .alert-badge svg {
  fill: #fff !important;
}
.booking-options .alerts .on-request-alert .alert-badge {
  background-color: rgba(241, 241, 241, 0.9);
  color: #000;
}
.booking-options .alerts .on-request-alert .alert-badge svg {
  fill: #000 !important;
}
.booking-options .alerts .left-rooms-alert .alert-badge {
  background-color: rgba(123, 25, 45, 0.9);
  color: #fff;
}
.booking-options .alerts .left-rooms-alert .alert-badge svg {
  fill: #fff !important;
}
.booking-options .alerts .contact-us-alert .alert-badge {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: auto;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  cursor: pointer;
}
.booking-options .alerts .contact-us-alert .alert-badge, .booking-options .alerts .contact-us-alert .alert-badge svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .alerts .contact-us-alert .alert-badge:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.booking-options .alerts .contact-us-alert .alert-badge:not(:disabled):hover svg {
  fill: #000;
}
@keyframes bookBtnAnimation {
  0% {
    left: -100%;
  }
  45% {
    left: -100%;
  }
  55% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.booking-options .alerts .contact-us-alert .alert-badge:not(:disabled):before {
  animation: bookBtnAnimation 6s infinite;
  background-color: rgba(170, 136, 0, 0.7);
  content: "";
  -webkit-mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  /*content: url($BMGI-ENV-URL_SSL + '/assets/ico/regular/arrow.svg');*/
  height: auto;
  filter: brightness(130%);
  position: absolute;
  bottom: 0;
  top: 0;
  width: auto;
  /*
				-webkit-mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				-webkit-mask-size: cover;
				mask-size: cover;
				*/
}
.booking-options .alerts .contact-us-alert .alert-badge:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.booking-options .alerts .contact-us-alert .alert-badge svg {
  fill: #fff;
}
@media (min-width: 768px) {
  .booking-options .bo-overview {
    min-height: 30.5714285714rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .booking-options .bo-overview {
    height: auto;
  }
}
.booking-options .bo-overview > .img {
  color: #fff;
  min-height: 30.5714285714rem;
  position: relative;
  background: black;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: none;
}
.booking-options .bo-overview > .img svg {
  fill: #fff;
}
.booking-options .bo-overview > .img > .row {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0) 100%);
  height: 100%;
}
@media (max-width: 991.98px) {
  .booking-options .bo-overview > .img {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (max-width: 991.98px) {
  .booking-options .bo-overview > .img {
    display: flex;
  }
}
.booking-options .bo-overview > .img > * {
  flex-grow: 1;
}
.booking-options .bo-overview > .img > * > * {
  display: flex;
  flex-direction: column;
}
.booking-options .bo-overview > .img .features > * {
  flex: 0 0 auto;
  width: 33.33333333%;
  padding: 1.5rem;
}
@media (min-width: 992px) {
  .booking-options .bo-overview > .img .features {
    display: none;
  }
}
.booking-options .bo-overview > .overview {
  flex: 0 0 auto;
  width: 100%;
}
@media (max-width: 991.98px) {
  .booking-options .bo-overview > .overview {
    flex: 0 0 auto;
    width: 100%;
    background-image: none !important;
  }
}
@media (min-width: 992px) {
  .booking-options .bo-overview > .overview {
    background: black;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
  }
  .booking-options .bo-overview > .overview > .row {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0) 100%);
    height: 100%;
  }
  .booking-options .bo-overview > .overview svg {
    fill: #fff;
  }
}
.booking-options .bo-overview > .overview > .row {
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1199.98px) {
  .booking-options .bo-overview > .overview > .row {
    flex-direction: column;
  }
}
.booking-options .bo-overview > .overview > .row > * {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1199.98px) {
  .booking-options .bo-overview > .overview .summary {
    flex-grow: 1;
  }
}
.booking-options .bo-overview > .overview .summary .texts {
  flex-grow: 1;
  padding: 1rem 0;
}
.booking-options .bo-overview > .overview .summary .texts > * > * {
  --bs-gutter-y: 1rem;
}
@media (max-width: 991.98px) {
  .booking-options .bo-overview > .overview .summary .texts .features-cnt, .booking-options .bo-overview > .overview .summary .texts .features {
    display: none;
  }
}
.booking-options .bo-overview > .overview .summary .texts .features {
  font-weight: bold;
}
.booking-options .bo-overview > .overview .summary .texts .features:not(.highlighted) {
  margin-top: auto;
}
.booking-options .bo-overview > .overview .summary .texts .features.highlighted > * {
  white-space: nowrap;
}
.booking-options .bo-overview > .overview .summary .texts .features > * {
  align-items: center;
  display: flex;
}
.booking-options .bo-overview > .overview .best-rate {
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .booking-options .bo-overview > .overview .best-rate {
    position: relative;
  }
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons {
  align-items: end;
  /* details btn */
  /* rates btn */
  /* book btn */
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn {
  background-image: -webkit-linear-gradient(45deg, #fff 50%, transparent 50%);
  background-image: linear-gradient(45deg, #fff 50%, transparent 50%);
  background-position: 100%;
  background-color: rgba(38, 38, 38, 0.7);
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 10rem;
  justify-content: space-between;
  padding: 0.75rem;
  position: relative;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn, .booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn.disabled {
  cursor: initial;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover {
  background-position: 0%;
  color: #000;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover svg {
  fill: #000;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn svg {
  fill: #fff;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn .bar-icon {
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn .info-icon {
  bottom: 0.75rem;
  position: absolute;
  right: 0.75rem;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn .price {
  font-size: 1.5rem;
  font-weight: bold;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons.collapse-opened .details-btn {
  height: 4.2857142857rem;
  justify-content: center;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  background-color: #262626;
  display: flex;
  font-size: 0.8rem;
  font-weight: bold;
  height: 4.2857142857rem;
  justify-content: center;
  text-transform: uppercase;
  z-index: 3;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn, .booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn.disabled {
  cursor: initial;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn:not(.disabled):hover svg {
  fill: #000;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn svg {
  fill: #fff;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn .icon {
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .rates-btn.collapsed > .icon {
  transform: rotateX(180deg);
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn {
  background-color: #217844;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 5.7142857143rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  z-index: 3;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn, .booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn:not(:disabled):hover svg {
  fill: #000;
}
@keyframes bookBtnAnimation {
  0% {
    left: -100%;
  }
  45% {
    left: -100%;
  }
  55% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn:not(:disabled):before {
  animation: bookBtnAnimation 6s infinite;
  background-color: rgba(33, 120, 68, 0.7);
  content: "";
  -webkit-mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  /*content: url($BMGI-ENV-URL_SSL + '/assets/ico/regular/arrow.svg');*/
  height: 5.7142857143rem;
  filter: brightness(130%);
  position: absolute;
  bottom: 0;
  top: 0;
  width: 5.7142857143rem;
  /*
				-webkit-mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				-webkit-mask-size: cover;
				mask-size: cover;
				*/
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .book-btn svg {
  fill: #fff;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas {
  border: none !important;
  color: #000;
  position: absolute;
  width: 100% !important;
  z-index: 2;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas svg {
  fill: #000;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .icon {
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 1rem;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .container {
  height: 100%;
  max-width: none;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .container > :first-child {
  flex-grow: 1;
  padding: 1rem;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .container > :first-child > * {
  padding: 0;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .container .rate {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  text-align: center;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .container .details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .container .meal-plan {
  align-items: center;
  display: flex;
  height: 80px;
  padding: 1rem;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .container .details-btn {
  background-color: rgba(38, 38, 38, 0.8);
  border: none;
  color: #fff;
  font-weight: bold;
  height: 4.2857142857rem;
  text-transform: uppercase;
}
.booking-options .bo-overview > .overview .best-rate > .available-days {
  gap: 0.5rem;
  margin-top: 1rem;
  z-index: 0;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel {
  height: 4.2857142857rem;
  margin-left: 2rem;
  margin-right: 2rem;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-inner {
  height: 100%;
  /*
							padding-top: 2rem;
							*/
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-item {
  height: 100%;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-prev, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-next {
  background-color: #e4e4e4;
  opacity: 1;
  width: 2rem;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-prev:hover, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-next:hover {
  background-color: #aa8800;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-prev {
  margin-left: -2rem;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-next {
  margin-right: -2rem;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-prev-icon {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23000"%3e%3cpath d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"/%3e%3c/svg%3e');
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .carousel-control-next-icon {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23000"%3e%3cpath d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"/%3e%3c/svg%3e');
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days {
  height: 100%;
  padding: 0 0.75rem;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  height: 100%;
  text-align: center;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .day {
  white-space: nowrap;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar {
  align-items: center;
  border: 1px solid #e4e4e4;
  display: flex;
  flex-grow: 1;
  justify-content: center;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.cl {
  position: relative;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.cl :after {
  background: linear-gradient(to top left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), #e4e4e4 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.start, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.mid, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.end {
  position: relative;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.start.cl :after, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.mid.cl :after, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.end.cl :after {
  background: linear-gradient(to top left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), black 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 100%);
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.start, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.mid {
  background-color: #e4e4e4;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.start:after, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.mid:after {
  background-color: #e4e4e4;
  border: 1px solid #e4e4e4;
  bottom: -1px;
  content: "";
  position: absolute;
  top: -1px;
  width: 100%;
  z-index: -1;
  left: 100%;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar.end {
  background: linear-gradient(to right, #e4e4e4 0%, #e4e4e4 50%, #fff 50%, #fff 100%);
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar:not(.cl) {
  cursor: pointer;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col .bar:not(.cl):hover {
  background: none;
  background-color: #aa8800;
}
.booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col:first-child .bar.mid:before, .booking-options .bo-overview > .overview .best-rate > .available-days .carousel .days .col:first-child .bar.end:before {
  background-color: #e4e4e4;
  border: 1px solid #e4e4e4;
  bottom: -1px;
  content: "";
  position: absolute;
  top: -1px;
  width: 100%;
  z-index: -1;
  right: 100%;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .header {
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  font-weight: bold;
  padding: 0.75rem;
  text-align: center;
  text-transform: uppercase;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .header svg {
  fill: #fff;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .available-date {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: rgba(38, 38, 38, 0.7);
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  cursor: pointer;
  padding: 0.75rem;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .available-date, .booking-options .bo-overview > .overview .best-rate > .available-dates .available-date svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .available-date.disabled {
  cursor: initial;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .available-date:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .available-date:not(.disabled):hover svg {
  fill: #000;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .available-date svg {
  fill: #fff;
}
.booking-options .bo-overview > .overview .best-rate > .available-dates .available-date > * {
  align-items: center;
}
.booking-options .bo-overview > .overview .best-rate .alert-badge {
  margin-top: 1.5rem;
}
.booking-options .bo-overview > .overview .best-rate .sl-alerts {
  padding: 0.75rem;
  background-color: #f1f1f1;
  color: #000;
}
.booking-options .bo-overview > .overview .best-rate > .sl-alerts {
  margin-top: 1rem;
}
.booking-options .bo-row {
  border-bottom: 0.1875rem solid #e4e4e4;
  min-height: 176px;
  /* TEST */
}
.booking-options .bo-row * {
  --bs-gutter-x: 2rem;
}
.booking-options .bo-row.bar > * {
  border-bottom: 0.25rem solid #aa8800;
}
.booking-options .bo-row > * {
  display: flex;
  flex-direction: column;
  padding-top: 2rem;
}
.booking-options .bo-row > * > :first-child {
  flex-grow: 1;
}
.booking-options .bo-row .option {
  display: flex;
  flex-direction: column;
}
.booking-options .bo-row .option .bmg-badge {
  display: none;
  font-weight: normal;
  padding: 0.75rem 0.75rem 0.75rem 1rem;
  margin-bottom: 2rem;
}
.booking-options .bo-row .option .texts {
  --bs-gutter-y: 1rem;
}
.booking-options .bo-row .option .texts .h3 {
  align-items: flex-end;
  cursor: pointer;
  display: flex;
  text-decoration: underline;
  text-decoration-color: #aa8800;
}
.booking-options .bo-row .option .texts .h3 .h3-badge {
  background-color: #aa8800;
  margin-bottom: 0.25rem;
  padding: 0.5rem;
}
.booking-options .bo-row .option .texts .h3 .h3-badge svg {
  fill: #fff;
}
.booking-options .bo-row .option .texts .h3 .h3-badge + *:before {
  content: "...";
  color: transparent;
}
.booking-options .bo-row .option .texts .offer {
  display: none;
  font-size: 1.1rem;
  font-weight: bold;
}
.booking-options .bo-row .option .texts .description {
  display: none;
}
.booking-options .bo-row .option .texts .description p {
  margin-right: 1rem;
}
.booking-options .bo-row .option .texts .description .read-more {
  font-weight: bold;
  margin-left: auto;
  white-space: nowrap;
}
.booking-options .bo-row .details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.booking-options .bo-row .details > * {
  align-items: center;
}
.booking-options .bo-row .details > *:not(.offer) svg {
  margin: 1rem 0;
}
.booking-options .bo-row .details .meal-plan {
  display: inline-block;
}
.booking-options .bo-row .details .info-btn {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  background-color: #262626;
  display: flex;
  font-size: 0.8rem;
  font-weight: bold;
  height: 4.2857142857rem;
  justify-content: center;
  text-transform: uppercase;
  height: 3.5714285714rem;
  padding: 1rem;
}
.booking-options .bo-row .details .info-btn, .booking-options .bo-row .details .info-btn svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-row .details .info-btn.disabled {
  cursor: initial;
}
.booking-options .bo-row .details .info-btn:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.booking-options .bo-row .details .info-btn:not(.disabled):hover svg {
  fill: #000;
}
.booking-options .bo-row .details .info-btn svg {
  fill: #fff;
}
.booking-options .bo-row .book {
  display: flex;
  flex-direction: column;
}
.booking-options .bo-row .book > :first-child, .booking-options .bo-row .book > :first-child > * {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.booking-options .bo-row .book > :first-child .prices {
  --bs-gutter-y: 0.2rem;
  align-content: center;
  flex-grow: 1;
  padding: 0.2rem 0;
  text-align: center;
}
.booking-options .bo-row .book > :first-child .prices .base-price {
  font-size: 0.98rem;
}
.booking-options .bo-row .book > :first-child .prices .n_nights {
  display: block;
}
.booking-options .bo-row .book > :first-child .prices .pg-widget {
  padding: 0.5rem 0;
}
.booking-options .bo-row .book .best-rate {
  display: none;
  color: #aa8800;
  font-size: 1.2rem;
  text-align: right;
}
.booking-options .bo-row .book .best-rate svg {
  fill: #aa8800;
}
.booking-options .bo-row .book .book-btn-cnt {
  margin-left: auto;
  padding: 0;
}
.booking-options .bo-row .book .alert-badge {
  margin-bottom: 2rem;
}
/* product buttons */
.booking-options .bo-overview .product-buttons {
  margin-top: auto;
}
.booking-options .bo-overview .product-buttons > * {
  display: flex;
  gap: 0.25rem;
  padding: 0;
}
.booking-options .bo-overview .product-buttons > * button {
  font-weight: bold;
  height: 4.2857142857rem;
  text-transform: uppercase;
}
.booking-options .bo-overview .product-buttons > * button:first-child {
  background-image: -webkit-linear-gradient(45deg, #fff 50%, transparent 50%);
  background-image: linear-gradient(45deg, #fff 50%, transparent 50%);
  background-position: 100%;
  background-color: rgba(38, 38, 38, 0.7);
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
}
.booking-options .bo-overview .product-buttons > * button:first-child, .booking-options .bo-overview .product-buttons > * button:first-child svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-overview .product-buttons > * button:first-child.disabled {
  cursor: initial;
}
.booking-options .bo-overview .product-buttons > * button:first-child:not(.disabled):hover {
  background-position: 0%;
  color: #000;
}
.booking-options .bo-overview .product-buttons > * button:first-child:not(.disabled):hover svg {
  fill: #000;
}
.booking-options .bo-overview .product-buttons > * button:first-child svg {
  fill: #fff;
}
.booking-options .bo-overview .product-buttons > * button:last-child {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: rgba(38, 38, 38, 0.7);
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
}
.booking-options .bo-overview .product-buttons > * button:last-child, .booking-options .bo-overview .product-buttons > * button:last-child svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.booking-options .bo-overview .product-buttons > * button:last-child.disabled {
  cursor: initial;
}
.booking-options .bo-overview .product-buttons > * button:last-child:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.booking-options .bo-overview .product-buttons > * button:last-child:not(.disabled):hover svg {
  fill: #000;
}
.booking-options .bo-overview .product-buttons > * button:last-child svg {
  fill: #fff;
}
@media (max-width: 991.98px) {
  .booking-options .bo-overview > .img .product-buttons {
    margin-left: auto;
  }
  .booking-options .bo-overview > .img .product-buttons button {
    padding: 1rem;
    width: auto;
  }
  .booking-options .bo-overview > .img .product-buttons button span {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .booking-options .bo-overview > .overview .product-buttons {
    display: none;
  }
}
/* book btn */
.book-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 3.5714285714rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
}
.book-btn, .book-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.book-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.book-btn:not(:disabled):hover svg {
  fill: #000;
}
@keyframes bookBtnAnimation {
  0% {
    left: -100%;
  }
  45% {
    left: -100%;
  }
  55% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.book-btn:not(:disabled):before {
  animation: bookBtnAnimation 6s infinite;
  background-color: rgba(170, 136, 0, 0.7);
  content: "";
  -webkit-mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  /*content: url($BMGI-ENV-URL_SSL + '/assets/ico/regular/arrow.svg');*/
  height: 3.5714285714rem;
  filter: brightness(130%);
  position: absolute;
  bottom: 0;
  top: 0;
  width: 3.5714285714rem;
  /*
				-webkit-mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				-webkit-mask-size: cover;
				mask-size: cover;
				*/
}
.book-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.book-btn svg {
  fill: #fff;
}
/* offers */
@media (min-width: 768px) {
  .offer-block, .offer-block .carousel-item {
    height: 30.5714285714rem !important;
  }
}
.offer-block .carousel-caption {
  top: 0.75rem;
}
.offer-block .carousel-caption .carousel-caption-title {
  margin-bottom: 0.75rem !important;
  margin-left: 0.75rem !important;
}
/* modals */
.bmg-modal[id^=product_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name {
  text-decoration: underline;
  text-decoration-color: #aa8800;
  text-decoration-thickness: 0.125rem;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .bmg-modal-template-body .plan-name, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .bmg-modal-template-body .plan-name, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .bmg-modal-template-body .plan-name, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .bmg-modal-template-body .plan-name {
  text-decoration: underline;
  text-decoration-color: #aa8800;
  text-decoration-thickness: 0.125rem;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .bmg-modal-template-body .offer-name, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .bmg-modal-template-body .offer-name, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .bmg-modal-template-body .offer-name, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .bmg-modal-template-body .offer-name {
  font-weight: bold;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .book-btn, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .book-btn, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .book-btn, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .book-btn {
  width: 100%;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .charges .row, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .charges .row, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .charges .row, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .charges .row {
  align-items: center;
  display: flex;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .charges > :not(:last-child), .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .charges > :not(:last-child), .bmg-modal[id^=of_option_modal_] .bmg-modal-template .charges > :not(:last-child), .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .charges > :not(:last-child) {
  border-bottom: 0.125rem solid #e4e4e4;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .charge, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .charge, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .charge, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .charge {
  text-align: right;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .description, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .description, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .description, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .description {
  margin-top: 3rem;
}
.bmg-modal[id^=product_modal_] .bmg-modal-template .price, .bmg-modal[id^=pr_option_modal_] .bmg-modal-template .price, .bmg-modal[id^=of_option_modal_] .bmg-modal-template .price, .bmg-modal[id^=cro_pr_option_modal_] .bmg-modal-template .price {
  font-weight: bold;
  font-size: 1.6rem;
}
/* components */
.product-party-bounds-tooltip {
  margin-left: 0.7rem;
}
.product-party-bounds-tooltip svg {
  height: 1.3rem;
}
.product-party-bounds-tooltip-content .tooltip-inner {
  text-align: left;
}
/* generic/row styles to apply only in the showcase context */
.showcase .booking-options {
  /* generic */
}
@media (min-width: 992px) {
  .showcase .booking-options {
    /* row */
  }
  .showcase .booking-options .bo-row > *:not(.book) {
    padding-bottom: 2rem;
  }
  .showcase .booking-options .bo-row .option {
    flex: 0 0 auto;
    width: 50%;
  }
  .showcase .booking-options .bo-row .option .badge-cnt {
    order: -1 !important;
  }
  .showcase .booking-options .bo-row .option .badge-cnt .bmg-badge {
    display: inline-block;
  }
  .showcase .booking-options .bo-row .option .texts .h3 .h3-badge {
    display: none;
  }
  .showcase .booking-options .bo-row .option .texts .h3 .h3-badge + *:before {
    content: unset;
    color: unset;
  }
  .showcase .booking-options .bo-row .option .texts .offer {
    display: initial;
  }
  .showcase .booking-options .bo-row .option .texts .description {
    display: flex;
  }
  .showcase .booking-options .bo-row .details {
    flex: 0 0 auto;
    width: 50%;
  }
  .showcase .booking-options .bo-row .details .offer {
    opacity: 0;
  }
  .showcase .booking-options .bo-row .book > :first-child .prices {
    text-align: left;
  }
  .showcase .booking-options .bo-row .book > :first-child .prices .n_nights {
    display: inline-block;
  }
  .showcase .booking-options .bo-row .book .best-rate {
    display: initial;
  }
}
@media (min-width: 1400px) {
  .showcase .booking-options {
    /* row */
  }
  .showcase .booking-options .bo-row .book .book-btn-cnt {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
.offers .bmg-carousel {
  min-height: 300px;
}
.offers .carousel-link {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0) 100%);
}
@media (max-width: 575.98px) {
  .offers .carousel-indicators {
    margin-left: 0.75rem;
    right: unset;
  }
}
.offers .carousel-badge {
  background-color: #aa8800 !important;
  color: #fff !important;
}
.offers .carousel-badge svg {
  fill: #fff !important;
}
.offer-row {
  position: relative;
}
.offer-row .discover-btn-block {
  bottom: 0;
  position: absolute;
  right: 0;
}
.offer-row .discover-btn-block .discover-btn-cnt {
  z-index: 2;
}
.offer-row .discover-btn-block .discover-btn {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  background-color: #262626;
  display: flex;
  font-size: 0.8rem;
  font-weight: bold;
  height: 4.2857142857rem;
  justify-content: center;
  text-transform: uppercase;
}
.offer-row .discover-btn-block .discover-btn, .offer-row .discover-btn-block .discover-btn svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.offer-row .discover-btn-block .discover-btn.disabled {
  cursor: initial;
}
.offer-row .discover-btn-block .discover-btn:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.offer-row .discover-btn-block .discover-btn:not(.disabled):hover svg {
  fill: #000;
}
.offer-row .discover-btn-block .discover-btn svg {
  fill: #fff;
}
.booking-options .offer-row {
  height: 30.5714285714rem;
}
.sidebar .offer-row {
  background-color: #fff;
  margin-top: 1rem;
  padding: 0.75rem;
}
.sidebar .offer-row .bmg-carousel .carousel-control-prev, .sidebar .offer-row .bmg-carousel .carousel-control-next {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.sidebar .offer-row .bmg-carousel .carousel-caption-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar .offer-row .discover-btn-block {
  flex: 0 0 auto;
  width: 100%;
  bottom: 0.75rem;
  right: 0.75rem;
}
/* modals */
.bmg-modal[id^=offer_modal_] .bmg-modal-dialog:not(.carousel-fullscreen) .bmg-modal-caption {
  opacity: 1 !important;
  position: absolute;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-dialog:not(.carousel-fullscreen) .bmg-modal-caption .title {
  display: none;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .bmg-modal-template-body.hr {
  margin-top: 0;
  padding-right: 0;
  padding-top: 1rem;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .bmg-modal-template-body .pkg-extras {
  margin-top: 1.5rem;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .bmg-modal-template-body .pkg-extras h3 {
  margin-bottom: 0.5rem !important;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .bmg-badge {
  font-weight: normal;
  margin-top: 2rem;
  padding: 0.75rem;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .go-to-offer-btn {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  background-color: #262626;
  display: flex;
  font-size: 0.8rem;
  font-weight: bold;
  height: 4.2857142857rem;
  justify-content: center;
  text-transform: uppercase;
  margin-top: 3rem;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .go-to-offer-btn, .bmg-modal[id^=offer_modal_] .bmg-modal-template .go-to-offer-btn svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .go-to-offer-btn.disabled {
  cursor: initial;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .go-to-offer-btn:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .go-to-offer-btn:not(.disabled):hover svg {
  fill: #000;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .go-to-offer-btn svg {
  fill: #fff;
}
.bmg-modal[id^=offer_modal_] .bmg-modal-template .options > * {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#unlocked-offers-modal .modal-header {
  border-bottom: none;
  padding-bottom: 0;
}
@media (max-width: 991.98px) {
  .extras {
    display: none;
  }
}
.extras .header {
  margin-bottom: 1rem;
}
.extras .body {
  --bs-gutter-y: 2rem;
}
.extras .body .label {
  margin-top: 0.75rem;
}
.extras .body .ratio {
  overflow-y: hidden;
}
.extras .body .ratio:before {
  background: linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0) 100%);
}
.extras .body .ratio .icon {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
  bottom: 0.5rem;
  position: absolute;
  right: 0.5rem;
}
.extras .body .ratio .icon svg {
  fill: #fff;
}
.extras .body .ratio .details {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
  background-color: rgba(38, 38, 38, 0.7);
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  bottom: -100%;
  font-weight: bold;
  padding: 0.75rem;
  position: absolute;
  right: 0;
  text-align: center;
  text-transform: uppercase;
  width: auto;
}
.extras .body .ratio .details svg {
  fill: #fff;
}
.extras .body .ratio:hover .icon {
  bottom: -100%;
}
.extras .body .ratio:hover .details {
  bottom: 0;
}
.extras .footer {
  margin-top: 1rem;
}
.extras .footer button {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  background-color: #262626;
  display: flex;
  font-size: 0.8rem;
  font-weight: bold;
  height: 4.2857142857rem;
  justify-content: center;
  text-transform: uppercase;
}
.extras .footer button, .extras .footer button svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.extras .footer button.disabled {
  cursor: initial;
}
.extras .footer button:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.extras .footer button:not(.disabled):hover svg {
  fill: #000;
}
.extras .footer button svg {
  fill: #fff;
}
/* override width and ratio properties when extras are part of the main content and not part of the sidebar */
.content-block .extras .body > *, .content-block .extras .footer > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.content-block .extras .body .ratio, .content-block .extras .footer .ratio {
  --bs-aspect-ratio: calc(9 / 16 * 100%)!important;
}
/* all extras */
.all-extras {
  padding: 0;
}
.all-extras .header {
  align-items: flex-end;
  margin-bottom: 2rem;
}
.all-extras .header .h1 {
  margin-bottom: 1rem !important;
}
.all-extras .header .buttons {
  display: flex;
  gap: 1rem;
}
@media (max-width: 991.98px) {
  .all-extras .header .buttons {
    display: none;
  }
}
.all-extras .header .buttons .view-mode {
  cursor: pointer;
}
.all-extras .header .buttons .view-mode svg {
  height: 2.5rem;
}
.all-extras .header .buttons .view-mode:not(.active) svg {
  opacity: 0.25;
}
.all-extras .header hr {
  background-color: #aa8800;
  color: #aa8800;
  flex-grow: 1;
  height: 0.25rem;
  margin: 1rem 0 0 0;
  opacity: 1;
}
.all-extras .body {
  --bs-gutter-y: 2rem;
}
.all-extras .body .photo {
  position: relative;
}
.all-extras .body .photo button {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: rgba(38, 38, 38, 0.7);
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  bottom: 0;
  padding: 1rem;
  position: absolute;
  right: 0;
  width: auto;
}
@media (min-width: 992px) {
  .all-extras .body .photo button {
    display: none;
  }
}
.all-extras .body .photo button, .all-extras .body .photo button svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.all-extras .body .photo button.disabled {
  cursor: initial;
}
.all-extras .body .photo button:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.all-extras .body .photo button:not(.disabled):hover svg {
  fill: #000;
}
.all-extras .body .photo button svg {
  fill: #fff;
}
.all-extras .body .photo .ratio:before {
  background: rgba(0, 0, 0, 0.25);
}
.all-extras .body .content {
  display: flex;
  flex-direction: column;
  padding: 0;
}
@media (max-width: 991.98px) {
  .all-extras .body .content {
    padding: 0 1rem;
  }
  .all-extras .body .content .description {
    margin-bottom: 2rem;
  }
  .all-extras .body .content .details {
    --bs-gutter-x: 0;
    border-bottom: 0.25rem solid #aa8800;
  }
}
.all-extras .body .content .texts {
  padding-top: 1.5rem;
}
.all-extras .body .content .texts .description {
  margin-top: 2rem;
}
.all-extras .body .content .details {
  align-items: center;
  margin-top: auto;
}
.all-extras .body .content .details .price {
  font-weight: bold;
  font-size: 1.6rem;
  margin-top: auto;
}
.all-extras .body .content .details .discover-btn {
  width: 100%;
}
@media (min-width: 992px) {
  .all-extras .body .content .details .discover-btn {
    background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
    background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
    background-position: 0%;
    background-color: #262626;
    background-size: 400%;
    border: none;
    border-radius: 0;
    color: #fff;
    width: 100%;
    align-items: center;
    background-color: #262626;
    display: flex;
    font-size: 0.8rem;
    font-weight: bold;
    height: 4.2857142857rem;
    justify-content: center;
    text-transform: uppercase;
  }
  .all-extras .body .content .details .discover-btn, .all-extras .body .content .details .discover-btn svg {
    -webkit-transition-property: background-position, color, fill, height;
    transition-property: background-position, color, fill, height;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
  }
  .all-extras .body .content .details .discover-btn.disabled {
    cursor: initial;
  }
  .all-extras .body .content .details .discover-btn:not(.disabled):hover {
    background-position: 100%;
    color: #000;
  }
  .all-extras .body .content .details .discover-btn:not(.disabled):hover svg {
    fill: #000;
  }
  .all-extras .body .content .details .discover-btn svg {
    fill: #fff;
  }
}
@media (max-width: 991.98px) {
  .all-extras .body .content .details .discover-btn {
    background-color: #aa8800;
    color: #fff;
    border: none;
    border-radius: 0;
    font-weight: bold;
    height: 3.5714285714rem;
    overflow: hidden;
    position: relative;
    text-transform: uppercase;
  }
  .all-extras .body .content .details .discover-btn, .all-extras .body .content .details .discover-btn svg {
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 500ms;
    transition-duration: 500ms;
    -webkit-transition-duration: ease-out;
    transition-timing-function: ease-out;
  }
  .all-extras .body .content .details .discover-btn:not(:disabled):hover {
    color: #000;
    filter: brightness(130%);
  }
  .all-extras .body .content .details .discover-btn:not(:disabled):hover svg {
    fill: #000;
  }
  @keyframes bookBtnAnimation {
    0% {
      left: -100%;
    }
    45% {
      left: -100%;
    }
    55% {
      left: 100%;
    }
    100% {
      left: 100%;
    }
  }
  .all-extras .body .content .details .discover-btn:not(:disabled):before {
    animation: bookBtnAnimation 6s infinite;
    background-color: rgba(170, 136, 0, 0.7);
    content: "";
    -webkit-mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
    mask: url("https://secure.visioni.info/bmg_instances/assets/ico/regular/arrow.svg") no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    /*content: url($BMGI-ENV-URL_SSL + '/assets/ico/regular/arrow.svg');*/
    height: 3.5714285714rem;
    filter: brightness(130%);
    position: absolute;
    bottom: 0;
    top: 0;
    width: 3.5714285714rem;
    /*
				-webkit-mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				mask: url(https://gh.max.ax/heart.svg) no-repeat 50% 50%;
				-webkit-mask-size: cover;
				mask-size: cover;
				*/
  }
  .all-extras .body .content .details .discover-btn:disabled {
    opacity: 0.7;
    -moz-filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
  }
  .all-extras .body .content .details .discover-btn svg {
    fill: #fff;
  }
}
.all-extras .body.rows .extra {
  background-color: #fff;
}
.all-extras .body.grid .extra {
  flex: 0 0 auto;
  width: 50%;
  position: relative;
}
.all-extras .body.grid .extra .photo, .all-extras .body.grid .extra .content {
  flex: 0 0 auto;
  width: 100%;
}
.all-extras .body.grid .extra .content {
  color: #fff;
  height: 100%;
  position: absolute;
}
.all-extras .body.grid .extra .content .texts {
  padding: 1.5rem;
}
.all-extras .body.grid .extra .content .details {
  padding-left: 1.5rem;
  padding-right: 0.75rem;
}
.all-extras .footer {
  justify-content: end;
  padding: 2rem 0;
}
@media (max-width: 991.98px) {
  .all-extras .footer {
    display: none;
  }
}
.all-extras .footer > * {
  padding: 0;
}
.all-extras .footer .go-back {
  background-image: -webkit-linear-gradient(135deg, transparent 50%, #fff 50%);
  background-image: linear-gradient(135deg, transparent 50%, #fff 50%);
  background-position: 0%;
  background-color: #262626;
  background-size: 400%;
  border: none;
  border-radius: 0;
  color: #fff;
  width: 100%;
  align-items: center;
  background-color: #262626;
  display: flex;
  font-size: 0.8rem;
  font-weight: bold;
  height: 4.2857142857rem;
  justify-content: center;
  text-transform: uppercase;
}
.all-extras .footer .go-back, .all-extras .footer .go-back svg {
  -webkit-transition-property: background-position, color, fill, height;
  transition-property: background-position, color, fill, height;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.all-extras .footer .go-back.disabled {
  cursor: initial;
}
.all-extras .footer .go-back:not(.disabled):hover {
  background-position: 100%;
  color: #000;
}
.all-extras .footer .go-back:not(.disabled):hover svg {
  fill: #000;
}
.all-extras .footer .go-back svg {
  fill: #fff;
}
/* ratio */
.extras .ratio, .all-extras .ratio {
  background-color: #f2f2f2;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  position: relative;
}
.extras .ratio > *, .all-extras .ratio > * {
  height: initial;
  left: initial;
  top: initial;
  width: initial;
}
/* extras in menu */
.menu-element > .extras {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 0.5rem;
  background-color: #f2f2f2;
  margin: 0;
}
.menu-element > .extras .footer {
  padding-bottom: 0.5rem;
}
/* modals */
.bmg-modal[id^=extra_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=mextra_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=vextra_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=cro_extra_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=cro_mextra_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name, .bmg-modal[id^=cro_vextra_modal_] .bmg-modal-template .bmg-modal-template-title .offer-name {
  text-decoration: underline;
  text-decoration-color: #aa8800;
  text-decoration-thickness: 0.125rem;
}
.bmg-modal[id^=extra_modal_] .data, .bmg-modal[id^=mextra_modal_] .data, .bmg-modal[id^=vextra_modal_] .data, .bmg-modal[id^=cro_extra_modal_] .data, .bmg-modal[id^=cro_mextra_modal_] .data, .bmg-modal[id^=cro_vextra_modal_] .data {
  --bs-gutter-y: 3rem;
}
.bmg-modal[id^=extra_modal_] .data .field, .bmg-modal[id^=extra_modal_] .data .label, .bmg-modal[id^=mextra_modal_] .data .field, .bmg-modal[id^=mextra_modal_] .data .label, .bmg-modal[id^=vextra_modal_] .data .field, .bmg-modal[id^=vextra_modal_] .data .label, .bmg-modal[id^=cro_extra_modal_] .data .field, .bmg-modal[id^=cro_extra_modal_] .data .label, .bmg-modal[id^=cro_mextra_modal_] .data .field, .bmg-modal[id^=cro_mextra_modal_] .data .label, .bmg-modal[id^=cro_vextra_modal_] .data .field, .bmg-modal[id^=cro_vextra_modal_] .data .label {
  align-items: center;
  display: flex;
}
.bmg-modal[id^=extra_modal_] .data .field .label, .bmg-modal[id^=mextra_modal_] .data .field .label, .bmg-modal[id^=vextra_modal_] .data .field .label, .bmg-modal[id^=cro_extra_modal_] .data .field .label, .bmg-modal[id^=cro_mextra_modal_] .data .field .label, .bmg-modal[id^=cro_vextra_modal_] .data .field .label {
  white-space: nowrap;
}
.bmg-modal[id^=extra_modal_] .data .field .value, .bmg-modal[id^=mextra_modal_] .data .field .value, .bmg-modal[id^=vextra_modal_] .data .field .value, .bmg-modal[id^=cro_extra_modal_] .data .field .value, .bmg-modal[id^=cro_mextra_modal_] .data .field .value, .bmg-modal[id^=cro_vextra_modal_] .data .field .value {
  flex-grow: 1;
  margin-left: 1rem;
}
.bmg-modal[id^=extra_modal_] .price, .bmg-modal[id^=mextra_modal_] .price, .bmg-modal[id^=vextra_modal_] .price, .bmg-modal[id^=cro_extra_modal_] .price, .bmg-modal[id^=cro_mextra_modal_] .price, .bmg-modal[id^=cro_vextra_modal_] .price {
  font-weight: bold;
  font-size: 1.5rem;
}
.bmg-modal[id^=extra_modal_] .alert .validity-label, .bmg-modal[id^=mextra_modal_] .alert .validity-label, .bmg-modal[id^=vextra_modal_] .alert .validity-label, .bmg-modal[id^=cro_extra_modal_] .alert .validity-label, .bmg-modal[id^=cro_mextra_modal_] .alert .validity-label, .bmg-modal[id^=cro_vextra_modal_] .alert .validity-label {
  margin-bottom: 1rem;
}
.bmg-modal[id^=extra_modal_] .book-btn, .bmg-modal[id^=mextra_modal_] .book-btn, .bmg-modal[id^=vextra_modal_] .book-btn, .bmg-modal[id^=cro_extra_modal_] .book-btn, .bmg-modal[id^=cro_mextra_modal_] .book-btn, .bmg-modal[id^=cro_vextra_modal_] .book-btn {
  margin-top: 2rem;
  width: 100%;
}
/* styles copied from email_document.tpl in order to adapt quote email html rendering as a preview */
#cro-preview-modal .bmg-modal-template {
  /* general */
  /* links */
  /* MY STYLES */
  /* outlook - media queries */
  /* MY STYLES - media queries */
  /* print */
}
#cro-preview-modal .bmg-modal-template img {
  border: 0px;
  display: block;
}
#cro-preview-modal .bmg-modal-template .socialLinks {
  font-size: 6px;
}
#cro-preview-modal .bmg-modal-template .socialLinks a {
  display: inline-block;
}
#cro-preview-modal .bmg-modal-template .long-text p {
  margin: 1em 0px;
}
#cro-preview-modal .bmg-modal-template .long-text p:last-child {
  margin-bottom: 0px;
}
#cro-preview-modal .bmg-modal-template .long-text p:first-child {
  margin-top: 0px;
}
#cro-preview-modal .bmg-modal-template .links-color a, #cro-preview-modal .bmg-modal-template .links-color a:link, #cro-preview-modal .bmg-modal-template .links-color a:visited, #cro-preview-modal .bmg-modal-template .links-color a:hover {
  color: #15c;
  text-decoration: underline;
}
#cro-preview-modal .bmg-modal-template p {
  margin: 0;
}
@media (max-width: 991.98px) {
  #cro-preview-modal .bmg-modal-template table.vb-container, #cro-preview-modal .bmg-modal-template table.vb-row, #cro-preview-modal .bmg-modal-template div.vb-row {
    width: 95% !important;
  }
  #cro-preview-modal .bmg-modal-template .mobile-hide {
    display: none !important;
  }
  #cro-preview-modal .bmg-modal-template .mobile-textcenter {
    text-align: center !important;
  }
  #cro-preview-modal .bmg-modal-template .mobile-full {
    width: 100% !important;
    max-width: none !important;
  }
}
@media (max-width: 991.98px) {
  #cro-preview-modal .bmg-modal-template .mobile-full {
    height: auto !important;
  }
  #cro-preview-modal .bmg-modal-template .mobile-block {
    display: block !important;
  }
  #cro-preview-modal .bmg-modal-template .mobile-no-padding {
    padding: 0 !important;
  }
  #cro-preview-modal .bmg-modal-template .my-responsive {
    margin: 0 auto !important;
  }
  #cro-preview-modal .bmg-modal-template .cro_booking_btn_cnt {
    max-width: 250px !important;
    width: auto !important;
  }
  #cro-preview-modal .bmg-modal-template .screen-sm-bd-left-remove {
    border-left: 0 !important;
  }
  #cro-preview-modal .bmg-modal-template .screen-sm-bd-right-remove {
    border-right: 0 !important;
  }
  #cro-preview-modal .bmg-modal-template .screen-sm-m-right-remove {
    margin-right: 0 !important;
  }
  #cro-preview-modal .bmg-modal-template .hotel-logo-cnt-lg {
    max-width: 200px !important;
  }
  #cro-preview-modal .bmg-modal-template .hotel-logo-cnt-sm {
    max-width: 170px !important;
  }
  #cro-preview-modal .bmg-modal-template .hotel-logo {
    width: 100% !important;
    height: auto !important;
  }
}
@media print {
  #cro-preview-modal .bmg-modal-template * {
    color: #000 !important;
  }
  #cro-preview-modal .bmg-modal-template h1, #cro-preview-modal .bmg-modal-template h2, #cro-preview-modal .bmg-modal-template h3, #cro-preview-modal .bmg-modal-template h4, #cro-preview-modal .bmg-modal-template h5, #cro-preview-modal .bmg-modal-template h6 {
    page-break-after: avoid;
  }
  #cro-preview-modal .bmg-modal-template div, #cro-preview-modal .bmg-modal-template table, #cro-preview-modal .bmg-modal-template td {
    background: transparent !important;
  }
  #cro-preview-modal .bmg-modal-template .no-print {
    display: none !important;
  }
}
.checkout-form {
  /*
	.card {
		border: none;
		padding-bottom: 0.75rem;
		.card-body {
			padding: 0;
		}
		.card-title {
			border-bottom: .25rem solid $pc-primary-bg;
			padding-bottom: 0.75rem;
		}
		.card-text {
			flex-direction: column;
			display: flex;
			margin: 3rem 0;
			gap: 2rem;
			.icon {
				color: $pc-primary-bg;
			}
		}
	}
	*/
}
.checkout-form .card {
  border-color: #eee7cc;
  border-radius: 0;
  margin-bottom: 1rem;
}
.checkout-form .card .card-header {
  background-color: #eee7cc;
  border-color: #eee7cc;
  border-radius: 0;
}
.checkout-form .item-label {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
}
.checkout-form .label {
  font-size: 1.25rem;
  font-weight: bold;
}
.checkout-form .info {
  font-size: 1.1rem;
}
.checkout-form .section-title {
  margin: 0 0 2rem 0;
  font-family: "Domaine", serif;
  font-size: 1.5rem;
  color: #aa8800;
  border-bottom: 0.2rem solid #eee7cc;
}
.checkout-form .status {
  margin: 0 0 1rem 0;
  font-size: 1.4rem;
}
.checkout-form .product {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
  color: #aa8800;
}
.checkout-form .staying {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
}
.checkout-form .plan {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
}
.checkout-form .breakfast {
  margin: 0 0 0.25rem 0;
  font-size: 1rem;
}
.checkout-form .offer {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
}
.checkout-form .extra {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
  color: #aa8800;
}
.checkout-form .extra-period {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
}
.checkout-form .extra-qty {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
}
.checkout-form .guests {
  margin: 0 0 0.25rem 0;
  font-size: 1rem;
}
.checkout-form .description {
  margin: 0 0 2rem 0;
  font-size: 1rem;
}
.checkout-form .description-label {
  font-size: 1.1rem;
  font-weight: bold;
}
.checkout-form .totals-table .grand-total {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.checkout-form .totals-table .total {
  margin: 0 0 0.5rem 0;
  font-size: 1.4rem;
  font-weight: bold;
}
.checkout-form .totals-table .total-row {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
}
.checkout-form .totals-table .vat-row {
  margin: 0 0 0.5rem 0;
  font-size: 1rem;
}
.checkout-form .totals-table hr {
  margin: 0.5rem 0;
}
.checkout-form .separator {
  color: #aa8800;
}
.checkout-form .smaller {
  font-size: 0.8em;
}
.checkout-form .load-more {
  margin: 0 0 1rem 0;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: underline;
  text-transform: uppercase;
}
.checkout-form .go-back-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.checkout-form .go-back-btn:disabled {
  opacity: 0.7;
}
.checkout-form .checkout-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 5.7142857143rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.checkout-form .checkout-btn, .checkout-form .checkout-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.checkout-form .checkout-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.checkout-form .checkout-btn:not(:disabled):hover svg {
  fill: #000;
}
.checkout-form .checkout-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.checkout-form .checkout-btn svg {
  fill: #fff;
}
.contact-us-form .card {
  border-color: #eee7cc;
  border-radius: 0;
  margin-bottom: 1rem;
}
.contact-us-form .card .card-header {
  background-color: #eee7cc;
  border-color: #eee7cc;
  border-radius: 0;
}
.contact-us-form .go-back-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.contact-us-form .go-back-btn:disabled {
  opacity: 0.7;
}
.contact-us-form .contact-us-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 5.7142857143rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.contact-us-form .contact-us-btn, .contact-us-form .contact-us-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.contact-us-form .contact-us-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.contact-us-form .contact-us-btn:not(:disabled):hover svg {
  fill: #000;
}
.contact-us-form .contact-us-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.contact-us-form .contact-us-btn svg {
  fill: #fff;
}
.my-bookings-form .card {
  border: none;
  padding-bottom: 0.75rem;
}
.my-bookings-form .card .card-body {
  padding: 0;
}
.my-bookings-form .card .card-title {
  border-bottom: 0.25rem solid #aa8800;
  padding-bottom: 0.75rem;
}
.my-bookings-form .card .card-text {
  flex-direction: column;
  display: flex;
  margin: 3rem 0;
  gap: 2rem;
}
.my-bookings-form .card .card-text .icon {
  color: #aa8800;
}
.my-bookings-form .structure {
  margin: 0;
  font-size: 1.25rem;
}
.my-bookings-form .staying {
  margin: 1.5rem 0 0.5rem 0;
  font-size: 1.5rem;
}
.my-bookings-form .customer {
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
}
.my-bookings-form .product {
  margin: 0 0 0.5rem 0;
  font-size: 1rem;
}
.my-bookings-form .status {
  margin: 0 0 1rem 0;
  font-size: 1rem;
  font-weight: bold;
}
.my-bookings-form .price {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.my-bookings-form .separator {
  color: #aa8800;
}
.my-bookings-form .smaller {
  font-size: 0.8em;
}
.my-bookings-form .load-more {
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: underline;
  text-transform: uppercase;
}
.my-bookings-form .go-back-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  height: 3.5714285714rem;
  margin-top: 1rem;
}
.my-bookings-form .go-back-btn:disabled {
  opacity: 0.7;
}
.my-bookings-form .details-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 5.7142857143rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.my-bookings-form .details-btn, .my-bookings-form .details-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.my-bookings-form .details-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.my-bookings-form .details-btn:not(:disabled):hover svg {
  fill: #000;
}
.my-bookings-form .details-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.my-bookings-form .details-btn svg {
  fill: #fff;
}
.my-booking-form .card {
  border: none;
  padding-bottom: 0.75rem;
}
.my-booking-form .card .card-body {
  padding: 0;
}
.my-booking-form .card .card-title {
  border-bottom: 0.25rem solid #aa8800;
  padding-bottom: 0.75rem;
}
.my-booking-form .card .card-text {
  flex-direction: column;
  display: flex;
  margin: 2rem 0;
  gap: 2rem;
}
.my-booking-form .card .card-text .icon {
  color: #aa8800;
}
.my-booking-form .my-booking-menu {
  font-family: "Domaine", serif;
  font-size: 1.4rem;
}
.my-booking-form .item-label {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
}
.my-booking-form .label {
  font-size: 1.25rem;
  font-weight: bold;
}
.my-booking-form .info {
  font-size: 1.1rem;
}
.my-booking-form .section-title {
  margin: 0 0 2rem 0;
  font-family: "Domaine", serif;
  font-size: 1.5rem;
  color: #aa8800;
  border-bottom: 0.2rem solid #eee7cc;
}
.my-booking-form .status {
  margin: 0 0 1rem 0;
  font-size: 1.4rem;
}
.my-booking-form .product {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
  color: #aa8800;
}
.my-booking-form .staying {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
}
.my-booking-form .plan {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
}
.my-booking-form .breakfast {
  margin: 0 0 0.25rem 0;
  font-size: 1rem;
}
.my-booking-form .offer {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
}
.my-booking-form .extra {
  align-items: center;
  color: #aa8800;
  display: flex;
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
}
.my-booking-form .extra .item-btn {
  cursor: pointer;
  margin-left: auto;
}
.my-booking-form .extra-pkg {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
}
.my-booking-form .extra-period {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
}
.my-booking-form .extra-qty {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
}
.my-booking-form .guests {
  margin: 0 0 0.25rem 0;
  font-size: 1rem;
}
.my-booking-form .description {
  margin: 0 0 2rem 0;
  font-size: 1rem;
}
.my-booking-form .description-label {
  font-size: 1.1rem;
  font-weight: bold;
}
.my-booking-form .totals-table .grand-total {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.my-booking-form .totals-table .total {
  margin: 0 0 0.5rem 0;
  font-size: 1.4rem;
  font-weight: bold;
}
.my-booking-form .totals-table .total-row {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
}
.my-booking-form .totals-table .vat-row {
  margin: 0 0 0.5rem 0;
  font-size: 1rem;
}
.my-booking-form .totals-table hr {
  margin: 0.5rem 0;
}
.my-booking-form .save-link {
  margin: 0;
}
.my-booking-form .save-link svg {
  margin-right: 0.75rem;
  text-decoration: none;
}
.my-booking-form .save-link:hover svg {
  fill: #aa8800;
}
.my-booking-form .separator {
  color: #aa8800;
}
.my-booking-form .smaller {
  font-size: 0.8em;
}
.my-booking-form .load-more {
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: underline;
  text-transform: uppercase;
}
.my-booking-form .cancellation-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  background-color: #000;
  height: 3.5714285714rem;
}
.my-booking-form .cancellation-btn:disabled {
  opacity: 0.7;
}
.my-booking-form .go-back-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.my-booking-form .go-back-btn:disabled {
  opacity: 0.7;
}
.my-booking-form .details-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 5.7142857143rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.my-booking-form .details-btn, .my-booking-form .details-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.my-booking-form .details-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.my-booking-form .details-btn:not(:disabled):hover svg {
  fill: #000;
}
.my-booking-form .details-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.my-booking-form .details-btn svg {
  fill: #fff;
}
.my-bookings-form .extras, .my-booking-form .extras {
  background-color: #fff;
}
.my-bookings-form .all-extras-collapse, .my-booking-form .all-extras-collapse {
  margin-top: 1rem;
}
.quote-request-form .accordion .accordion-item {
  border: none;
  margin-bottom: 1rem;
}
.quote-request-form .accordion .accordion-button {
  padding: 0;
  font-family: "Domaine", serif !important;
  font-size: 1.8rem !important;
  font-weight: 400 !important;
  color: #000;
  background-color: transparent;
  box-shadow: none;
}
.quote-request-form .accordion .accordion-button:not(.collapsed) {
  color: #aa8800;
}
.quote-request-form .accordion .accordion-button.collapsed::after {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23000"%3e%3cpath fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/%3e%3c/svg%3e');
}
.quote-request-form .accordion .accordion-button:not(.collapsed)::after {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23aa8800"%3e%3cpath fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/%3e%3c/svg%3e');
}
.quote-request-form .accordion .accordion-body {
  padding: var(--bs-accordion-body-padding-y) 0;
}
.quote-request-form .accordion .accordion-header {
  margin-bottom: 0;
}
.quote-request-form .accordion .accordion-header {
  background: transparent;
  padding: 5px 0;
  font-weight: bold;
  cursor: pointer;
  color: #aa8800;
  border-bottom: 2px solid #eee7cc;
  box-shadow: none;
  letter-spacing: 1px;
}
.quote-request-form input, .quote-request-form select, .quote-request-form textarea, .quote-request-form .border-secondary {
  border: 2px solid #eee7cc !important;
}
.quote-request-form textarea {
  border-radius: 0;
}
.quote-request-form .input-group-prepend .btn:not(.bootstrap-touchspin-down), .quote-request-form .input-group-append .btn:not(.bootstrap-touchspin-up), .quote-request-form .input-group.date .input-group-text {
  color: #000;
  background: transparent;
  border: 2px solid #eee7cc !important;
  border-radius: 0;
}
.quote-request-form .input-group-prepend .btn.bootstrap-touchspin-down, .quote-request-form .input-group-append .btn.bootstrap-touchspin-up {
  border: 2px solid #262626 !important;
}
.quote-request-form .input-group-prepend .btn.bootstrap-touchspin-down:hover, .quote-request-form .input-group-append .btn.bootstrap-touchspin-up:hover {
  border-color: #aa8800 !important;
}
.quote-request-form .card {
  border-color: #eee7cc;
  border-radius: 0;
  margin-bottom: 1rem;
}
.quote-request-form .card .card-header {
  background-color: #eee7cc;
  border-color: #eee7cc;
  border-radius: 0;
}
.quote-request-form .go-back-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.quote-request-form .go-back-btn:disabled {
  opacity: 0.7;
}
.quote-request-form .registration-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 5.7142857143rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.quote-request-form .registration-btn, .quote-request-form .registration-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.quote-request-form .registration-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.quote-request-form .registration-btn:not(:disabled):hover svg {
  fill: #000;
}
.quote-request-form .registration-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.quote-request-form .registration-btn svg {
  fill: #fff;
}
.registration-form .accordion .accordion-item {
  border: none;
  margin-bottom: 1rem;
}
.registration-form .accordion .accordion-button {
  padding: 0;
  font-family: "Domaine", serif !important;
  font-size: 1.8rem !important;
  font-weight: 400 !important;
  color: #000;
  background-color: transparent;
  box-shadow: none;
}
.registration-form .accordion .accordion-button:not(.collapsed) {
  color: #aa8800;
}
.registration-form .accordion .accordion-button.collapsed::after {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23000"%3e%3cpath fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/%3e%3c/svg%3e');
}
.registration-form .accordion .accordion-button:not(.collapsed)::after {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23aa8800"%3e%3cpath fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/%3e%3c/svg%3e');
}
.registration-form .accordion .accordion-body {
  padding: var(--bs-accordion-body-padding-y) 0;
}
.registration-form .accordion .accordion-header {
  margin-bottom: 0;
}
.registration-form .accordion .accordion-header {
  background: transparent;
  padding: 5px 0;
  font-weight: bold;
  cursor: pointer;
  color: #aa8800;
  border-bottom: 2px solid #eee7cc;
  box-shadow: none;
  letter-spacing: 1px;
}
.registration-form input, .registration-form select, .registration-form textarea, .registration-form .border-secondary {
  border: 2px solid #eee7cc !important;
  border-radius: 0;
}
.registration-form .input-group-append .btn, .registration-form .input-group.date .input-group-text {
  color: #000;
  background: transparent;
  border: 2px solid #eee7cc !important;
  border-radius: 0;
}
.registration-form .card {
  border-color: #eee7cc;
  border-radius: 0;
  margin-bottom: 1rem;
}
.registration-form .card .card-header {
  background-color: #eee7cc;
  border-color: #eee7cc;
  border-radius: 0;
}
.registration-form .go-back-btn {
  background-color: #6c6c6c;
  color: #fff;
  border: none;
  border-radius: 0;
  overflow: hidden;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.registration-form .go-back-btn:disabled {
  opacity: 0.7;
}
.registration-form .registration-btn {
  background-color: #aa8800;
  color: #fff;
  border: none;
  border-radius: 0;
  font-weight: bold;
  height: 5.7142857143rem;
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  height: 3.5714285714rem;
}
.registration-form .registration-btn, .registration-form .registration-btn svg {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-duration: ease-out;
  transition-timing-function: ease-out;
}
.registration-form .registration-btn:not(:disabled):hover {
  color: #000;
  filter: brightness(130%);
}
.registration-form .registration-btn:not(:disabled):hover svg {
  fill: #000;
}
.registration-form .registration-btn:disabled {
  opacity: 0.7;
  -moz-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}
.registration-form .registration-btn svg {
  fill: #fff;
}
.reasons-to-book .card {
  border: none;
  margin-top: 1rem;
  /* TEST, da rimuovere e utilizzare gap a livello dell'intera sidebar tra i vari components */
  padding: 0.75rem 0.75rem 0 0.75rem;
}
.reasons-to-book .card .card-body {
  padding: 0;
}
.reasons-to-book .card .card-title {
  border-bottom: 0.25rem solid #aa8800;
  padding-bottom: 0.75rem;
}
.reasons-to-book .card .card-text {
  flex-direction: column;
  display: flex;
  margin: 2rem 0;
  gap: 2rem;
}
.reasons-to-book .card .card-text .icon {
  color: #aa8800;
}
.sneak-peek .card {
  border: none;
  padding: 0.75rem;
}
.sneak-peek .card .card-body {
  padding: 0;
  position: relative;
}
.sneak-peek .card .card-title {
  padding-bottom: 0.75rem;
}
.sneak-peek .card .card-subtitle {
  bottom: 0.75rem;
  color: #fff;
  left: 0.75rem;
  position: absolute;
  z-index: 1;
}
.sneak-peek .card .ratio {
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.sneak-peek .card .ratio:before {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0) 100%);
}
/* bootstrap tooltip */
div.bs-tooltip-auto .tooltip-inner {
  border-radius: 0;
}
/* bootstrap touchspin */
.bootstrap-touchspin button {
  background-color: #262626;
  border: 1px solid #262626;
  border-radius: 0;
}
.bootstrap-touchspin button:active, .bootstrap-touchspin button:hover {
  background-color: #aa8800;
  border-color: #aa8800;
}
.bootstrap-touchspin input:focus {
  border-color: #ced4da;
  box-shadow: none;
  outline: none;
}
/* google recaptcha - hide badge */
.grecaptcha-badge {
  visibility: hidden;
}
/* intl telephone input - set full width */
.iti {
  width: 100%;
}
/* holipay */
.holipay-widget {
  display: table !important;
  margin-top: 0.2em !important;
  padding: 0 !important;
  margin: auto !important;
  text-align: center !important;
}
.holipay-widget b {
  font-weight: normal;
  text-transform: uppercase;
}
.holipay-widget span:first-child {
  display: block;
}
.holipay-widget .holipay-widget__logo {
  display: inline-block !important;
  height: 1.6em !important;
  position: relative !important;
  margin-top: 0.1em !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  bottom: 0 !important;
  padding: 0.1em 0.5em;
  background: #009982;
  border-top-left-radius: calc(1.5em - 10px);
  border-bottom-left-radius: calc(1.5em - 10px);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  vertical-align: middle !important;
  cursor: default !important;
}
.holipay-widget .holipay-widget__logo svg {
  fill: #fff !important;
  vertical-align: middle !important;
}
.holipay-widget .holipay-widget__info-icon {
  display: inline-block !important;
  height: 1.6em !important;
  position: relative !important;
  margin-top: 0.1em !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 0.5em 0 0;
  background: #009982;
  color: #fff !important;
  line-height: 1.6em !important;
  font-size: 1em !important;
  font-weight: bold !important;
  vertical-align: middle !important;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: calc(1.5em - 10px);
  border-bottom-right-radius: calc(1.5em - 10px);
  cursor: pointer !important;
}
@media (min-width: 992px) {
  .showcase .bo-row .holipay-widget {
    margin: 0 !important;
    text-align: left !important;
  }
}
.modal-fullscreen .holipay-widget {
  margin: 0 !important;
  text-align: left !important;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover .holipay-widget .holipay-widget__logo {
  background: #009982;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover .holipay-widget .holipay-widget__logo svg {
  fill: #fff;
}
holipay-search-widget .heidipay-container-2 {
  background: rgba(255, 255, 255, 0.75);
  border-radius: 0.5em;
  padding: 0 0.5em;
  white-space: nowrap;
}
holipay-checkout-widget .heylight-widget .cls-2 {
  fill: #ea1c00 !important;
}
holipay-checkout-widget .heylight-widget .cls-4 {
  fill: #fff !important;
}
/* nexi - payment form */
.registration-form .NexiElement {
  color: #000;
  background: transparent;
  border: 2px solid #eee7cc !important;
  border-radius: 0;
}
/* stripe - payment form */
.registration-form .StripeElement {
  color: #000;
  background: transparent;
  border: 2px solid #eee7cc !important;
  border-radius: 0;
}
/* takyon - showcase */
.booking-options .bo-row .takyon-scripts-target-info {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0.5rem 0;
}
.booking-options .bo-row .takyon-scripts-target-info .takyon-row-1 {
  flex-direction: column;
  font-size: unset;
  gap: 1rem;
  padding: 7px;
}
.booking-options .bo-row .takyon-scripts-target-info .takyon-row-2 .takyon-powered {
  font-size: 1rem;
  line-height: 1rem;
}
@media (min-width: 992px) {
  .showcase .booking-options .bo-row .takyon-scripts-target-info {
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .showcase .booking-options .bo-row .takyon-scripts-target-info .takyon-row-1 {
    flex-direction: unset;
  }
}
/* takyon - small */
.takyon-widget-small .takyon-scripts-target-info {
  margin-top: 1rem;
}
.takyon-widget-small .takyon-scripts-target-info .takyon-row-1 {
  padding: 3px 6px;
}
.takyon-widget-small .takyon-scripts-target-info .takyon-row-2 .takyon-powered {
  font-size: 0.9285714286rem;
}
/* takyon - suggested */
.takyon-widget-suggested .takyon-scripts-target-info {
  margin-top: 0.4rem;
}
.takyon-widget-suggested .takyon-scripts-target-info .takyon-row-1 {
  padding: 3px 6px;
  font-size: 0.7em;
  border-radius: 0.3571428571rem;
  background: #fff;
  color: #000;
}
.takyon-widget-suggested .takyon-scripts-target-info .takyon-row-1 img {
  height: 0.8571428571rem;
}
.takyon-widget-suggested .takyon-scripts-target-info .takyon-row-2 .takyon-powered {
  font-size: 0.6em;
  color: #fff;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn .takyon-widget-suggested .takyon-scripts-target-info svg {
  fill: transparent !important;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn .takyon-widget-suggested .takyon-scripts-target-info svg path {
  stroke: #fff !important;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover .takyon-widget-suggested .takyon-scripts-target-info .takyon-row-1 {
  background: #000;
  color: #fff;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover .takyon-widget-suggested .takyon-scripts-target-info .takyon-row-2 .takyon-powered {
  color: #000;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover .takyon-widget-suggested .takyon-scripts-target-info svg {
  fill: transparent !important;
}
.booking-options .bo-overview > .overview .best-rate > .option-buttons .details-btn:not(.disabled):hover .takyon-widget-suggested .takyon-scripts-target-info svg path {
  stroke: #000 !important;
}
/* takyon - offcanvas */
.takyon-widget-offcanvas .takyon-scripts-target-info {
  margin-top: 1rem;
}
.takyon-widget-offcanvas .takyon-scripts-target-info .takyon-row-1 {
  padding: 3px 6px;
  font-size: 0.7em;
  border-radius: 0.3571428571rem;
}
.takyon-widget-offcanvas .takyon-scripts-target-info .takyon-row-1 img {
  height: 0.8571428571rem;
}
.takyon-widget-offcanvas .takyon-scripts-target-info .takyon-row-2 .takyon-powered {
  font-size: 0.6em;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .takyon-widget-offcanvas .takyon-scripts-target-info svg {
  fill: transparent !important;
}
.booking-options .bo-overview > .overview .best-rate > .offcanvas .takyon-widget-offcanvas .takyon-scripts-target-info svg path {
  stroke: #000 !important;
}
/* takyon - reservation */
.takyon-widget-hidden .takyon-info-box {
  display: none !important;
}
.takyon-widget-reservation {
  margin-left: -2rem;
}
.takyon-widget-reservation .takyon-badge {
  display: inline-flex;
  margin: 1rem 0;
  padding: 0;
  cursor: pointer;
}
.takyon-widget-reservation .takyon-badge-row-1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 2rem;
  font-size: 1.4em;
  text-transform: capitalize;
  background: #000;
  color: #fff;
}
.takyon-widget-reservation .takyon-badge-row-1 span {
  display: inline-flex;
}
.takyon-widget-reservation .takyon-badge-row-2 {
  padding: 0.2rem 2rem;
  font-size: 1em;
}
.takyon-widget-reservation .takyon-badge-row-2 svg {
  width: 1em;
  height: 1em;
}
/* takyon - decorate badge */
/*
.takyon-badge {
	display: inline-flex;
	margin: 1rem 0;
	padding: 1rem;
	background: #fff;
	border: 1px solid #ccc;
	box-shadow: 0.2rem 0.2rem #8ce786;
}
.takyon-badge:hover {
	background: #fafafa;
}
*/
/* print - hide badges */
@media print {
  /* cookie script */
  /* google recaptcha */
  /* takyon */
  #cookiescript_badge {
    display: none !important;
  }
  .grecaptcha-badge {
    display: none !important;
  }
  .takyon-badge {
    display: none !important;
  }
}
@media print {
  *, *::before, *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre, blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  tr, img {
    page-break-inside: avoid;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
  @page {
    size: a4;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .badge {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td, .table th {
    background-color: #fff !important;
  }
  .table-bordered th, .table-bordered td {
    border: 1px solid #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody {
    border-color: #dee2e6;
  }
  .sidebar-block {
    display: none !important;
  }
  .no-print {
    display: none !important;
  }
}
