@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Philosopher:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {

  /* Set by Compass from Design Wizard: */
  --branding-default: #c84233;
  --branding-hovered: #c84233;
  --branding-pressed: #122635;

  /* Aliases (derive from above): */
  --brand-color: var(--branding-default);
  --brand-color-rgb: 27, 56, 78;
  --brand-hovered: var(--branding-hovered);
  --brand-pressed: var(--branding-pressed);

  --brand-color-2: #262121;
  --brand-color-2-hovered: #262121;
  --custom-text-1: #4f4444;
  --brand-color-3: #fe6b65;
  --voyager-color--brand-one: #c84233;
  --voyager-color--brand-six: #333;

  /* Customisable text/bg variants: */
  --text-over-branding: #FFF;
  --brand-color-text: var(--brand-color-2);
  --brand-color-background: var(--brand-color);
  --brand-color-border: var(--brand-color);

  /* Make all spacing 25% larger: */
  --spacing-1x: 10px;

  /* Use Montserrat for headings: */
  --font-stack-sans-serif: 'Open Sans', sans-serif;
  --footer-font: 'Open Sans', sans-serif;
  --headline-font: 'Philosopher', sans-serif;

  /* Increase paragraph size: */
  --text-size-paragraph: 16px;
  --line-height-paragraph: 24px;

  --border-radius-1x: 0px;

  /* Make primary images wider (cinematic): */
  --img-ratio-primary: 21 / 9;
  --img-ratio-room-primary: 21 / 9;
  --img-ratio-rate-primary: 21 / 9;

  /* Make secondary images square: */
  --img-ratio-secondary: 1 / 1;
  --img-ratio-room-secondary: 1 / 1;
  --img-ratio-rate-secondary: 1 / 1;

  /* Different ratios for mobile: */
  --img-ratio-primary-mobile: 16 / 9;
  --img-ratio-room-primary-mobile: 4 / 3;

  /* Warmer background tones: */
  --background-surface: #FAF8F5;
  --base-depth: #F5F0EB;
  --text-default: #4A3728;
  --border-default: #E0D5C8;

  /* Transition */
  --custom-transition: all 0.5s ease;
}


@media screen and (max-width: 991px) {

  :root {
    --font-size-body: 14px;
    --font-size-20: 20px;
    --font-size-22: 22px;

    --container-max-width: 1200px;

  }

}

@media screen {

  /* ----- Content ----- */
  .heading-5,
  .button--branded .paragraph,
  .button--secondary .paragraph {
    font-family: var(--headline-font);
    color: #FFF;
  }
  
  .avvio-calendar .check-in,
  .avvio-calendar .range,
  .avvio-calendar .hovered:hover::before, .avvio-calendar .check-out::before {
    background-color: var(--branding-default);
    color: #333;
  }

  .avvio-calendar__date:not(.check-out):not(.unavailable):hover,
  .avvio-calendar .hovered {
    background-color: var(--branding-hovered);
  }

  .avvio-amenities__item {
    span {
      font-size: 16px
    }
  }

  .mda-table .date-header .state.active {
    background-color: var(--branding-default);
  }

  .mda-table__hovered:not(.mda-table__closed, .mda-table__no-checkin, .mda-table__no-depart):hover, .mda-table__col-price.mda-table__stay-date:not(.mda-table__no-checkin, .mda-table__checkout-date):hover, .mda-table__hovered:hover ~ .mda-table__hovered:not(.mda-table__checkout-date) {
    background-color: var(--branding-default);
    color: #333;
  }

  /* ----- Header ----- */
  .header-style-4 {
    min-height: 90px;
    padding: 0 2rem;
    background: var(--brand-color-3);
    /*border-bottom: 7px solid var(--branding-default);*/
  }

  .header-style-4 .logo {
    top: 0;
    height: 90px;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .header-style-4 .logo img {
    width: auto;
    height: auto;
    max-height: 120px;
    max-width: 188px;
    transition: var(--custom-transition);
  }

  .header-style-4 .logo img:hover {
    opacity: .7;
  }

  .voyager-header__logo {
    display: inline-block;
    height: 100%;
    object-fit: contain;
    vertical-align: top;
    width: auto;
  }

  .header-style-4 .backtosite {
    height: 60px;
  }

  .header-style-4 .backtosite a {
    display: flex;
    width: 100%;
    height: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1rem, .15vw + .94rem, 1.13rem);
    font-weight: 700;
    letter-spacing: normal;
    line-height: clamp(1rem, .45vw + .83rem, 1.38rem);
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    color: black;
    background-color: white;
    border: 1px solid var(--voyager-color--brand-one);
    transition: var(--custom-transition);
  }

  .header-style-4 .backtosite a:hover {
    background-color: #c84233;
    border-color: var(--branding-hovered);
  }
  

  /* ----- Footer ----- */
  .footer-big {
    background: #fff6ef;
    color: var(--custom-text-1);
  }

  .footer-big .container {
    display: flex;
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 100px 30px 52px 30px;
    background-color: #fff6ef;
    gap: 80px;
  }

  .footer-big .contact {
    flex: 1;
  }

  .footer-big .contact-container {
    text-align: center;
    flex-direction: row;
    gap: 60px;
    justify-content: space-around;
  }

  .footer-big .contact-container .address {
    display: flex;
    flex-direction: column;
    text-align: left;
    font-family: var(--footer-font);
    font-weight: 400;
    font-size: clamp(.88rem,.3vw + .76rem,1.13rem);
    line-height: clamp(1.4rem, .62vw + 1.17rem, 1.91rem);
    letter-spacing: .27px;
  }

  .footer-big .contact-container .address a {
    color: var(--voyager-color--brand-six);
    font-family: Lora, serif;
    font-size: 16px;
    letter-spacing: .03em;
    line-height: 28px;
    padding: 0;
    position: relative;
    transition: all .5s ease 0s;
  }

  .footer-big .contact-container .address a:hover {
    color: var(--branding-default);
  }

  .footer-big .contact-container .contact-details {
    display: flex;
    flex-direction: column;
    gap: 0;
    text-align: left;
    p a {
      color: #c84233;
      &:hover {
        color: #333;
        text-decoration: none;
      }
      &:before {
        content: unset;
      }
    }
    p {
      color: var(--voyager-color--brand-six);
      font-family: Lora, serif;
      font-size: 16px;
      letter-spacing: .03em;
      line-height: 28px;
      padding: 0;
      position: relative;
      transition: all .5s ease 0s;
      a {
        font-family: Lora, serif;
        font-size: 16px;
        letter-spacing: .03em;
        line-height: 28px;
        padding: 0;
        position: relative;
        transition: all .5s ease 0s;
      }
    }
  }

  .footer-big .contact-container p {
    font-family: var(--footer-font);
    font-weight: 400;
    font-size: clamp(.88rem,.3vw + .76rem,1.13rem);
    line-height: clamp(1.4rem, .62vw + 1.17rem, 1.91rem);
    letter-spacing: .27px;
  }

  .footer-big .contact-container p a {
    color: var(--branding-default);
    position: relative;
    transition: var(--custom-transition);
  }

  .footer-big .contact-container p a::before {
    content: "";
    position: absolute;
    background-color: var(--branding-default);
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    transition: var(--custom-transition);
  }

  .footer-big .contact-container p a:hover::before {
    width: 100%;
  }

  .footer-big .contact-container a {
    color: var(--brand-color-2);
    font-family: var(--footer-font);
    font-weight: 400;
    font-size: clamp(.88rem,.3vw + .76rem,1.13rem);
    line-height: clamp(1.4rem, .62vw + 1.17rem, 1.91rem);
    letter-spacing: .27px;
  }

  .footer-big .socials-container {
    /*flex: 0 0 247px;*/
    margin: 35px 0 0;
    width: 100%;
    gap: 0;
  }

  .footer-big .socials-container a {
    color: var(--branding-default);
    width: 100%;
    height: auto;
    border: none;
    border-radius: 0;
    margin: 0 7px;
    transition: var(--custom-transition);
  }

  .footer-big .socials-container a i {
    font-size: 35px;
    margin: 0;
  }

  .footer-big .socials-container a:hover {
    color: var(--branding-hovered);
    border: none;
  }

  .footer-big .contact-logo {
    flex: 0 0 247px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    height: 100%;
  }

  .footer-big .contact-logo img {
    opacity: 1;
    max-width: 340px;
    transition: var(--custom-transition);
  }

  .footer-big .contact-logo img:hover {
    opacity: 0.7;
  }

  .footer-big .contact-logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .footer-big .contact-logo a svg {
    height: 100%;
    object-fit: contain;
    width: 100%;
    transition: var(--custom-transition);
  }

  .footer-big .contact-logo a svg:hover {
    opacity: .7;
  }

  .footer-big .subscribe a {
    border: 1px solid white;
    border-radius: 4px;
    box-sizing: border-box;
    color: white;
    background-color: transparent;
    transition: var(--custom-transition);

    display: inline-flex;
    align-items: center;
    cursor: pointer;
    flex-direction: row-reverse;
    font-family: var(--footer-font);
    font-size: clamp(1rem, .15vw + .94rem, 1.13rem);
    font-weight: 700;
    gap: 10px;
    justify-content: space-between;
    letter-spacing: 2.5px;
    line-height: clamp(1rem, .45vw + .83rem, 1.38rem);
    padding: 17px 24px;
    text-decoration: none;
    text-transform: uppercase;
    word-break: normal;
  }

  .footer-big .subscribe a:hover {
    border-color: var(--brand-color-2-hovered);
    background-color: var(--brand-color-2-hovered);
  }

  .footer-big .footer-menu {
    width: 100%;
    max-width: 100%;
    flex: 1;
    padding: 0;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
  }

  .footer-big .footer-menu-links {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 56px;
    /*border-top: 2px solid #c69648;*/
  }

  .footer-big .footer-menu-links .menu-item {
    padding: 0;
  }

  .footer-big .footer-menu-links .menu-item a {
    color: var(--voyager-color--brand-six);
    font-family: Lora, serif;
    font-size: 16px;
    letter-spacing: .03em;
    line-height: 28px;
    padding: 2.5px 10px;
    position: relative;
    transition: all .5s ease 0s;
    &:hover {
      color: #CAB38C;
    }
  }

  .footer-big .footer-menu-links .menu-item a::after {
    background: black!important;
  }

   .voyager-shortcode__address-title, .voyager-shortcode__contact-title {
    color: #c84233; 
    font-family: Playfair Display, serif;
    font-size: 23px;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 30px;
    margin-bottom: 20px;
    text-align: left;
    text-transform: capitalize;
   }

  .footer-big .partners-container-main {
    max-width: 100%;
    width: 100%;
    border-top: 1px solid #f2cfc3;
    .partners-container {
      background-color: #fff6ef;
      align-items: center;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: center;
      margin: 55px auto;
      padding-left: 30px;
      padding-right: 30px;
      max-width: 1558px;
      width: 100%;
      position: relative;
    }
  }
  .footer-big .partners-container-second {
    max-width: 100%;
    width: 100%;
    background-color: #fde3da;
    min-height: 164px;
    align-content: center;
    .partners-container {
      background-color: transparent;
      text-align: center;
      align-items: center;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: center;
      margin: 55px auto;
      padding-left: 30px;
      padding-right: 30px;
      max-width: 1558px;
      width: 100%;
      position: relative;
    }
  }



  .footer-big .partners-container-group {
    height: 60px;
    max-width: 187px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 70px;
    position: relative;
  }

  .footer-big .partners-container-group::after {
    background: #d6d2c4;
    content: "";
    display: block;
    height: 40px;
    width: 1px;
  }

  .footer-big .partners-container-group a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .footer-big .partners-container-group a img {
    height: 100%;
    object-fit: contain;
    width: 100%;
    transition: var(--custom-transition);
  }

  .footer-big .partners-container-group a img:hover {
    opacity: .7;
  }

  .footer-big .partners-container-bkg {
    flex: 1;
    max-width: 72.48%;
    margin: 0;
    padding: 0;
    gap: 0;
  }

  .footer-big .partners-container-bkg-second {
    display: flex;
    max-width: 100%;
    margin: 0;
    padding: 0;
    gap: 50px;
  }

  .footer-big .partners-container-bkg-second a {
    display: flex;
    height: 60px;
    width: auto;
  }

  .footer-big .partners-container-bkg-second a img {
    width: 100%;
    height: auto;
  }

  .footer-big .partners-container-bkg a {
    padding: 0 20px;
    height: 100%;
    position: relative;
    display: block;
    max-width: 150px;
    opacity: unset;
  }

  .footer-big .partners-container-bkg a img {
    display: flex;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .footer-big .partners-container-bkg img {
    filter: none;
  }

  .footer-big .partners-container-bkg a:hover img {
    filter: none;
  }

  .footer-big .partners-container-bkg-main {
    align-items: flex-start;
    border-bottom: 0;
    border-right: 1px solid #f2cfc3;
    display: flex;
    flex: 1 1 330px;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 0;
    margin-right: 40px;
    max-width: 330px;
    padding: 34px 40px 34px 0;
    text-align: left;
    a {
      height: 69px;
      width: auto;
      img {
        height: auto;
        max-width: 100%;
        object-fit: cover;
      }
    }
  }

  .footer-big .contact-container h1,
  .footer-big .subscribe h1,
  .footer-big .partners-title h1 {
    font-family: ;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.05px;
    font-size: clamp(1.25rem, .45vw + 1.08rem, 1.63rem);
    line-height: clamp(2.13rem, .38vw + 1.98rem, 2.44rem);
    padding: 0;
    margin: 0;
    margin-bottom: 32px;
  }

  .footer-big .partners-title h1 {
    text-align: center;
    margin-top: 60px;
  }

  .footer-big .contact-shr-container {
    text-align: right;
    margin: 0 auto;
    max-width: 1600px;
    font-family: var(--footer-font);
    font-weight: 400;
    color: var(--custom-text-1);
    letter-spacing: .27px;
    font-size: clamp(0.88rem, 0.76rem + 0.3vw, 1.13rem);
    line-height: clamp(1.4rem, 1.17rem + 0.62vw, 1.91rem);
  }

  .footer-big .contact-shr-container a {
    color: var(--branding-default);
    transition: var(--custom-transition);
  }

  .footer-big .contact-shr-container a:hover {
    color: var(--branding-hovered);
  }

}

.book-now-button {
  span {
    font-size: 16px;
    color: #FFF;
  }
}

.card-grid--secondary {
  grid-template-columns: 330px 1fr auto auto auto;
  .avvio-image {
    width:330px;
    height: 247.5px;
    img {
      width: 330px;
      height: 247.5px;
    }
  }
}
.card-grid--primary.card-grid--rate-primary > .card-grid__image .avvio-image__image {
  height: 247.5px;
} 


/* ----- Tablet specific ----- */
@media screen and (max-width: 991px) {
  
  .footer-big .footer-menu-links {
    column-gap: 20px;
  }

  .footer-big .footer-menu-links .menu-item a {
    font-size: 14px;
  }
  
  .footer-big .container {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .footer-big .contact-logo {
    flex: auto;
  }

  .footer-big .contact {
    flex: auto;
    //margin: 64.5px 0;
    margin: 30px 0;
  }

  .footer-big .socials-container {
    flex: auto;
  }

  .footer-big .contact-container .contact-details {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {

  .footer-big .footer-menu {
    display: none;
  }

}
@media screen and (max-width: 744px) {
  .avvio-modal {
    inset: 0 50% 0;
  }
}


/* ----- Mobile specific ----- */
@media screen and (max-width: 499px) {

  .header-style-4 .logo a svg {
    width: 170px;
  }
  
  .header-style-4 .backtosite a {
    display: none;
  }
  
  .footer-big .container {
    padding: 20px;
  }

  .footer-big .contact-container .address a {
    font-size: 14px;
    text-align: left;
  }

  .footer-big .socials-container a i {
    font-size: 20px;
  }

  .footer-big .partners-container-bkg a {
    width: 33.33%;
  }


}

@media screen and (max-width: 320px) {

}