@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: #c69648;
  --branding-hovered: #a77b34; /* auto: 16% darker */
  --branding-pressed: #122635; /* auto: 32% darker */

  /* 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;

  /* 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);
  }
  
  .avvio-calendar .check-in,
  .avvio-calendar .range,
  .avvio-calendar .hovered:hover::before, .avvio-calendar .check-out::before {
    background-color: var(--branding-default);
  }

  .avvio-calendar__date:not(.check-out):not(.unavailable):hover,
  .avvio-calendar .hovered {
    background-color: var(--branding-hovered);
  }

  .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);
  }

  /* ----- Header ----- */
  .header-style-4 {
    min-height: 100px;
    padding: 0;
    background: white;
    border-bottom: 7px solid var(--branding-default);
  }

  .header-style-4 .logo {
    top: 0;
    width: 158px;
    height: 158px;
    background: white;
    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;
  }

  .header-style-4 .backtosite {
    height: 100px;
  }

  .header-style-4 .backtosite a {
    display: flex;
    width: 100%;
    height: 100%;
    font-family: var(--headline-font);
    font-size: clamp(1rem, .15vw + .94rem, 1.13rem);
    font-weight: 700;
    letter-spacing: 2.5px;
    line-height: clamp(1rem, .45vw + .83rem, 1.38rem);
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    color: white;
    background-color: var(--branding-default);
    transition: var(--custom-transition);
  }

  .header-style-4 .backtosite a:hover {
    background-color: var(--branding-hovered);
    border-color: var(--branding-hovered);
  }

  /* ----- Footer ----- */
  .footer-big {
    background: white;
    color: var(--custom-text-1);
  }

  .footer-big .container {
    display: flex;
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 74px 122px 74px;
    background-color: #eee;
    gap: 0;
  }

  .footer-big .contact {
    flex: 0 1 793px;
  }

  .footer-big .contact-container {
    text-align: center;
  }

  .footer-big .contact-container .address {
    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 {
    font-family: var(--footer-font);
    font-weight: 400;
    font-size: 17px;
    transition: var(--custom-transition);
  }

  .footer-big .contact-container .address a:hover {
    color: var(--branding-default);
  }

  .footer-big .contact-container .contact-details {
    display: flex;
    justify-content: center;
    gap: 20px;
  }

  .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;
    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;
    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%;
    padding: 0;
    margin: 0 auto;
  }

  .footer-big .footer-menu-links {
    display: flex;
    justify-content: center;
    padding: 32px 0 22px;
    border-top: 2px solid #c69648;
  }

  .footer-big .footer-menu-links .menu-item {
    padding: 0;
  }

  .footer-big .footer-menu-links .menu-item a {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--custom-text-1);
    text-transform: uppercase;
  }

  .footer-big .partners-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 20px;
  }

  .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 {
    margin: 0;
    padding: 0;
    gap: 0;
  }

  .footer-big .partners-container-bkg a {
    padding: 0 20px;
    height: 100%;
    position: relative;
    display: block;
    max-width: 150px;
  }

  .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 .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 {
    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);
  }

}


/* ----- 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;
  }

  .footer-big .contact-logo {
    flex: auto;
  }

  .footer-big .contact {
    flex: auto;
    margin: 64.5px 0;
  }

  .footer-big .socials-container {
    flex: auto;
  }
}

@media screen and (max-width: 767px) {

  .footer-big .footer-menu {
    display: none;
  }

}


/* ----- Mobile specific ----- */
@media screen and (max-width: 499px) {

  .footer-big .container {
    padding: 20px;
  }

  .footer-big .contact-container .address a {
    font-size: 14px;
  }

  .footer-big .socials-container a i {
    font-size: 20px;
  }

  .footer-big .partners-container-bkg a {
    width: 33.33%;
  }

}

@media screen and (max-width: 320px) {

}