/** Shopify CDN: Minification failed

Line 768:19 Expected identifier but found whitespace
Line 769:6 Unexpected "{"
Line 770:14 Expected ":"
Line 776:8 Expected identifier but found whitespace
Line 777:6 Unexpected "{"
Line 778:14 Expected ":"

**/
:root {
  --font-custom-body-title: "Red Hat Display";
  --font-custom-body-text: "Red Hat Text";
}

body,
.text-body,
.button-label,
.select__select {
  font-family: var(--font-custom-body-text);
  color: #000;
  letter-spacing: 0.02rem;
}

.homepage-gallery-grid-inner .grid-image img {
  background-color: #fff;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
  height: 100% !important;
}

html .collection-main-body-inner,
:root .collection-main-body-inner {
  justify-content: center;
}

html .badges__container,
:root .badges__container {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
}

html .badges__container .badge,
:root .badges__container .badge {
  position: relative !important;
}

html .latest-stocks.badge,
:root .latest-stocks.badge {
  background: var(--sold-out-badge-color);
  color: var(--badge-font-color);
  font-size: 11px;
  font-weight: 700;
  line-height: 14px;
  padding: 10px 20px;
  text-transform: uppercase;
}

.main-content .shopify-section {
  margin: 20px auto;
}

.section-carousels {
  width: calc(100% - 40px);
}

.section-carousels .hiddenStyle {
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 0px;
  width: 0px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.section-carousels__btn {
  position: absolute;
  left: 50%;
  bottom: 50px;
  color: #fff;
  border: 2px solid #fff;
  padding: 5px;
  transform: translate(-50%, 0);
}

@media only screen and (max-width: 480px) {
  .section-carousels__btn {
    left: 50%;
    transform: translate(-50%, 0);
  }
}

.section-carousels__image .more::before {
  content: "";
  position: absolute;
  z-index: 999;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm4,11H13v3a1,1,0,0,1-2,0V13H8a1,1,0,0,1,0-2h3V8a1,1,0,0,1,2,0v3h3a1,1,0,0,1,0,2Z' fill='%23fff'/%3E%3C/svg%3E");
  width: 70px;
  height: 70px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.8;
}

.section-carousels__description {
  font-size: 18px;
  font-weight: 700;
}

.section-carousels__footer {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.section-carousels__footer .btn-primary {
  margin-right: 20px;
}

.section-carousels .slick-prev:before {
  font-size: 50px;
}

.section-carousels .slick-next {
  right: 35px !important;
}

.section-carousels .slick-next:before {
  font-size: 50px;
}

.section-carousels__container {
  display: flex;
  gap: 2%;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}

.section-carousels__image-container--horizontal {
  transform: translate(50%, -100%);
}

.section-carousels__image-container--vertical {
  transform: translate(50%, -50%);
}

.section-carousels__column {
  flex: 0 1 50%;
  max-width: 49%;
  margin-bottom: 80px;
  max-height: 100%;
}

@media (width < 1024px) {
  .section-carousels__column {
    flex: 0 1 100% !important;
    max-width: 100% !important;
  }
}

.section-carousels__title {
  position: absolute;
  bottom: 0;
  left: 0;
}

.section-carousels__slider {
  flex: 0 1 50%;
  margin-bottom: 20px;
  max-height: 100%;
}

@media (width < 1024px) {
  .section-carousels__slider {
    flex: 0 1 100% !important;
    max-width: 100% !important;
  }
}

.section-carousels__slide {
  min-height: 300px;
}

@media (width > 1024px) {
  .section-carousels__slide {
    min-height: 600px;
  }
}

.section-carousels__image--box {
  position: relative;
  height: 100%;
}

.section-carousels .slick-list.draggable {
  cursor: pointer;
  height: 100% !important;
}

.section-carousels .slick-track {
  display: flex !important;
  flex: 1 1 100% !important;
  height: 100% !important;
}

.section-carousels .slick-slide {
  position: relative;
  display: flex !important;
  height: auto !important;
}

.section-carousels .slick-slide>div {
  position: absolute;
  top: 50%;
  right: 50%;
  flex: 1 1 100%;
  width: 100%;
  height: 100%;
}

.section-carousels .slick-next {
  right: 130px !important;
}

.section-carousels .slick-prev {
  left: 100px;
  z-index: 1;
}

.horizontal {
  max-width: max-content;
  width: max-content;
}

.vertical {
  max-width: unset;
  max-height: max-content;
}

.main-content .shopify-section {
  margin: 20px auto;
}

.section-listing__container {
  padding-top: 40px;
  padding-bottom: 40px;
}

.section-listing__main-slider .slick-list .slick-track {
  margin: auto;
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 480px) {
  .section-listing__main-slider .slick-prev {
    left: 0px;
    z-index: 9;
  }
}

.section-listing__main-slider .slick-prev.slick-arrow {
  height: 30px;
  width: 30px;
}

.section-listing__main-slider .slick-prev::before {
  font-size: 50px;
}

@media only screen and (max-width: 480px) {
  .section-listing__main-slider .slick-prev::before {
    font-size: 30px;
  }
}

.section-listing__main-slider .slick-next {
  right: 5px;
}

@media only screen and (max-width: 480px) {
  .section-listing__main-slider .slick-next {
    right: 0px;
    z-index: 9;
  }
}

.section-listing__main-slider .slick-next.slick-arrow {
  width: 30px;
  height: 30px;
}

.section-listing__main-slider .slick-next::before {
  font-size: 50px;
}

@media only screen and (max-width: 480px) {
  .section-listing__main-slider .slick-next::before {
    font-size: 30px;
  }
}

.section-listing__slider {
  height: 100% !important;
}

.section-listing__slider .more::before {
  content: "";
  position: absolute;
  z-index: 999;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm4,11H13v3a1,1,0,0,1-2,0V13H8a1,1,0,0,1,0-2h3V8a1,1,0,0,1,2,0v3h3a1,1,0,0,1,0,2Z' fill='%23fff'/%3E%3C/svg%3E");
  width: 50px;
  height: 50px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}

.section-listing__slider .slick-prev {
  left: 10px;
  z-index: 999;
}

.section-listing__slider .slick-prev::before {
  color: #fff;
  font-size: 30px;
}

.section-listing__slider .slick-next {
  right: 20px;
}

.section-listing__slider .slick-next::before {
  color: #fff;
  font-size: 30px;
}

.section-listing__image-bg {
  max-height: 350px;
  position: relative;
}

.section-listing__image-bg.more {
  position: initial;
}

.section-listing__image-bg--rooms {
  max-height: 350px;
  position: relative;
}

.section-listing__image-bg--rooms.more {
  position: initial;
}

.section-listing__column {
  margin: 10px;
  max-width: 360px;
}

.section-listing__column .slick-slide {
  min-height: 360px;
}

@media only screen and (max-width: 480px) {
  .section-listing__column .slick-slide {
    max-height: 360px;
  }
}

.section-listing__title {
  text-align: center;
  font-weight: 700;
  padding: 20px 0px 20px 0px;
}

.section-listing__description {
  padding: 0px 0px 20px 0px;
}

.section-listing__footer .button_wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
}

.section-listing__button {
  text-align: center;
  margin: 40px 0 40px 0;
}

.horizontal {
  max-width: max-content;
  width: max-content;
}

.vertical {
  max-width: unset;
  max-height: max-content;
}

.section-wine-resort-popup__container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  margin: auto;
  overflow: auto;
}

.section-wine-resort-popup__container .easiplugin_container,
.section-wine-resort-popup__container iframe {
  height: 100% !important;
}

.section-wine-resort-popup__close {
  position: absolute;
  cursor: pointer;
  right: 0;
  z-index: 1;
}

.section-wine-resort-popup__box {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: scroll;
}

.modal-slider {
  height: 100% !important;
  margin: auto;
}

.modal-slider .slick-list {
  height: 100% !important;
}

.modal-slider .slick-track {
  height: 100% !important;
}

.modal-slider .slick-prev {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  left: 5%;
  z-index: 1;
}

.modal-slider .slick-prev:before {
  content: "";
}

.modal-slider .slick-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  right: 5%;
  z-index: 1;
}

.modal-slider .slick-next:before {
  content: "";
}

.modal-slide {
  position: relative;
  display: flex !important;
  height: 100% !important;
  overflow: auto;
}

@media only screen and (max-width: 480px) {
  .modal-slide {
    display: block !important;
  }
}

@media only screen and (max-width: 480px) {
  .modal-slide.gallery {
    display: flex !important;
  }
}

.modal-slide-cta {
  display: flex;
  align-items: center;
  padding: 20px;
  background: white;
  width: 100%;
  flex-direction: column;
}

@media only screen and (max-width: 480px) {
  .modal-slide-cta {
    padding-top: 60px;
    width: 100%;
  }
}

.modal-slide-description {
  width: 100%;
  background: white;
  padding: 20px;
  text-align: center;
}

.hide-calendar {
  margin: 10px 0 !important;
}

.reservation-component {
  height: 100%;
}

@media screen and (min-width: 1024px) {
  .reservation-component {
    -webkit-overflow-scrolling: touch;
    max-width: 70%;
    margin: auto;
  }
}

.section-wine-resort-popup__container .slick-slide .modal-slide-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: auto;
}

@media only screen and (max-width: 480px) {
  .section-wine-resort-popup__container .slick-slide .modal-slide-content {
    height: auto;
  }
}

.section-wine-resort-popup__container .slick-slide .modal-slide-content img.vertical {
  width: auto;
  height: 75%;
}

@media only screen and (max-width: 480px) {
  .section-wine-resort-popup__container .slick-slide .modal-slide-content img.vertical {
    width: 80%;
  }
}

@media screen and (max-width: 1024px) {
  .section-wine-resort-popup__container .slick-slide .modal-slide-content img.vertical {
    height: 32.5%;
  }
}

@media (orientation: landscape) {
  .section-wine-resort-popup__container .slick-slide .modal-slide-content img.vertical {
    height: 75%;
  }
}

.section-wine-resort-popup__container .slick-slide .modal-slide-content img.horizontal {
  width: 60%;
  height: auto;
}

@media screen and (max-width: 1024px) {
  .section-wine-resort-popup__container .slick-slide .modal-slide-content img.horizontal {
    width: 80%;
  }
}

@media (orientation: landscape) {
  .section-wine-resort-popup__container .slick-slide .modal-slide-content img.horizontal {
    height: 80%;
  }
}

.show-popup {
  z-index: 1001;
  overflow: hidden;
}

.hide-popup {
  z-index: -1001;
}

.responsive-image-wrapper:has(.reservationDate--popup) {
  cursor: pointer !important;
}

.reservationDate .reservationDate--popup {
  cursor: pointer !important;
}

.contact-form-title {
  max-width: 95%;
  padding: 20px;
  margin: auto;
}

form#contact_form {
  display: flex;
  flex-wrap: wrap;
  max-width: 95%;
  margin: auto;
}

form#contact_form>div {
  display: flex;
  flex: 0 1 50%;
  align-items: flex-end;
  flex-flow: wrap;
  padding: 20px;
  margin: auto;
}

@media screen and (max-width: 768px) {
  form#contact_form>div {
    flex: 0 1 100%;
  }
}

form#contact_form>div input,
form#contact_form>div textarea {
  width: 100%;
}

form#contact_form>div.message {
  flex: 0 1 100%;
}

form#contact_form>div.checkbox-privacy {
  flex-direction: row;
  align-items: center;
}

form#contact_form>div.checkbox-privacy input {
  width: auto;
}

form#contact_form>div.submit input {
  width: 100%;
}

.divider__container {
  max-width: 1660px;
  margin: 0 auto;
  text-align: center;
}

.divider__element {
  height: 1px;
  margin: auto;
  width: 100%;
  margin: 40px auto;
}

.divider-width--small {
  max-width: 360px;
}

.divider-width--medium {
  max-width: 720px;
}

.divider-width--large {
  max-width: 1280px;
}

.slideshow--full-screen {
  height: 758px !important;
}

.slideshow--full-screen .swiper-slide {
  height: 758px !important;
}

.slideshow--full-screen .swiper-slide .homepage-featured-content-box {
  top: 80% !important;
}

.slideshow--full-screen .swiper-slide .homepage-featured-content-box .featured-row__subtext {
  font-size: 20px !important;
}

html .newsletter--section .RegisterForm-field,
:root .newsletter--section .RegisterForm-field {
  margin-top: 10px;
  font-size: 12px;
}

@media (width < 768px) {

  html .newsletter--section .RegisterForm-field,
  :root .newsletter--section .RegisterForm-field {
    padding: 0 15px;
  }
}

html .newsletter--section .form-input-group,
:root .newsletter--section .form-input-group {
  display: flex;
}

html .newsletter--section .form-input-group .footer-email-input,
:root .newsletter--section .form-input-group .footer-email-input {
  border: 1px solid #b6bfd2;
  padding-left: 10px;
}

html .newsletter--section .form-input-group .footer-email-submit,
:root .newsletter--section .form-input-group .footer-email-submit {
  margin: 0;
  margin-left: 15px;
}

@media (width < 768px) {

  html .newsletter--section #newsletter-wrapper,
  :root .newsletter--section #newsletter-wrapper {
    display: flex;
    flex-direction: column;
    padding: 0 15px;
  }

  html .newsletter--section #newsletter-wrapper #newsletter_text,
  :root .newsletter--section #newsletter-wrapper #newsletter_text {
    width: 100%;
    margin: 0;
  }

  html .newsletter--section #newsletter-wrapper #newsletter_submit,
  :root .newsletter--section #newsletter-wrapper #newsletter_submit {
    margin-top: 15px !important;
  }
}

html .newsletter--section.homepage-sections-wrapper--white #newsletter_text,
:root .newsletter--section.homepage-sections-wrapper--white #newsletter_text {
  border: 1px solid #b6bfd2;
  height: 48px;
}

html .newsletter--section .contact-form #newsletter-wrapper #newsletter_submit,
:root .newsletter--section .contact-form #newsletter-wrapper #newsletter_submit {
  padding: 10px !important;
  margin-left: 0 !important;

  background-color: {
      {
      settings.color_primary_button_background
    }
  }

  ;

  color: {
      {
      settings.color_primary_button_text
    }
  }

  ;
  font-size: 14px;
  letter-spacing: 1px;
  height: 48px;
}

.modal-details {
  display: flex;
  flex-direction: row;
  padding: 10%;
}

@media only screen and (max-width: 480px) {
  .modal-details {
    flex-direction: column-reverse;
    overflow: scroll;
  }
}

.modal-details__content {
  flex: 0 0 50%;
}

.modal-details__slider {
  flex: 0 0 50%;
}

@media only screen and (max-width: 480px) {
  .modal-details__slider {
    margin-bottom: 40px;
  }
}

.modal-details__slider .modal-slider {
  height: 100% !important;
  margin: auto;
  width: 600px !important;
}

@media only screen and (max-width: 480px) {
  .modal-details__slider .modal-slider {
    width: 100% !important;
  }
}

.modal-details__reserve {
  margin-top: 40px;
}

.modal-slide-cta-header {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 100%;
  padding: 10px;
}

@media only screen and (max-width: 480px) {
  .modal-slide-cta-header {
    width: 100%;
    flex-direction: column;
  }
}

.modal-slide-cta-header .modal-slide-description {
  text-align: center;
  font-weight: bold;
}

/* body {
  padding-top: 109px;
}

@media only screen and (max-width: 1440px) {
  body {
    padding-top: 153px;
  }
}

@media only screen and (max-width: 1199px) {
  body {
    padding-top: 163px;
  }
}

@media only screen and (max-width: 991px) {
  body {
    padding-top: 163px;
  }
}

@media only screen and (max-width: 767px) {
  body {
    padding-top: 153px;
  } 
}*/

.hide--desktop {
  display: none;
}

@media only screen and (max-width: 480px) {
  .hide--desktop {
    display: block;
  }
}

.hide--mobile {
  display: block;
}

@media only screen and (max-width: 480px) {
  .hide--mobile {
    display: none;
  }
}

input {
  border: 1px solid #d05c7d;
}

.site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
}

.site-header .site-header__wrapper .site-header__wrapper__left {
  /* flex: 1 1 50% !important; */
}

.site-header .site-header__wrapper .scroll-to-form {
  background-color: #d05c7d;
  padding: 0 10px;
  text-align: center;
  text-transform: uppercase;
  height: 40px;
}

.site-header .site-header__wrapper .scroll-to-form a {
  color: #fff;
}

.site-header .site-header__wrapper .header-links {
  display: flex;
  align-items: center;
  justify-content: end;
}

@media only screen and (max-width: 767px) {
  .mobile-nav-bar-wrapper {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .book-now {
    position: fixed;
    width: 100%;
    left: 0;
    top: 138px;
  }
}

html .newsletter-footer .RegisterForm-field,
:root .newsletter-footer .RegisterForm-field {
  margin-top: 10px;
  font-size: 12px;
}

html .newsletter-footer .form-input-group,
:root .newsletter-footer .form-input-group {
  display: flex;
}

html .newsletter-footer .form-input-group .footer-email-input,
:root .newsletter-footer .form-input-group .footer-email-input {
  border: 1px solid #b6bfd2;
  padding-left: 10px;
}

html .newsletter-footer .form-input-group .footer-email-submit,
:root .newsletter-footer .form-input-group .footer-email-submit {
  margin: 0;
  margin-left: 15px;
}

html .social-media-footer ul li .fa-2x,
:root .social-media-footer ul li .fa-2x {
  font-size: 20px;
}

.footer-wrapper.fix-to-bottom {
  position: static !important;
}

@media (max-width: 767px) {
  .feature_row__image_wrapper {
    float: none !important;
    display: inline-block;
    width: 100%;
  }

  .feature_row__image_wrapper .contatti-home {
    width: 100%;
  }

  .homepage-featured-content-box-inner {
    width: auto;
  }
}

.swiper-button-next:after,
.swiper-button-prev:after {
  color: white;
}

.product-medias__thumbnails .responsive-image-wrapper {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-bottom: 100%;
}

.product-medias__thumbnails .responsive-image-wrapper img {
  position: absolute;
  left: 0;
  top: 0;
  min-height: 100%;
}