@charset "UTF-8";

@import url("https://p.typekit.net/p.css?s=1&k=duv8jdi&ht=tk&f=10300.10302.6814.6817&a=81999210&app=typekit&e=css");

@font-face {
font-family:"brandon-grotesque";
src:url("https://use.typekit.net/af/2f8f3d/0000000000000000000132dd/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/2f8f3d/0000000000000000000132dd/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/2f8f3d/0000000000000000000132dd/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:300;font-stretch:normal;
}


@font-face {
font-family:"minion-pro-it";
src:url("https://use.typekit.net/af/5033af/0000000000000000000151d3/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/5033af/0000000000000000000151d3/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/5033af/0000000000000000000151d3/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
}

@font-face {
font-family:"minion-pro";
src:url("https://use.typekit.net/af/1286c7/0000000000000000000151d6/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/1286c7/0000000000000000000151d6/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/1286c7/0000000000000000000151d6/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}

:root {
  --color-brand-1: #546766;
  --color-brand-2: #dbcdac;
  --color-brand-3: #f6f5f3;
  --color-brand-4: #565452;
  --color-brand-5: #c4ad77;

  --color-black: #000000;
  --color-white: #ffffff;

  --font-faily-1: "brandon-grotesque";
  --font-faily-2: "minion-pro";
  --font-faily-3: "minion-pro-it";

  --font-size-34: 24px;
  --font-size-20: 20px;
  --font-size-18: 18px;
}

@media screen and (max-width: 991px) {
  :root {
    --font-size-34: 20px;
    --font-size-20: 17px;
    --font-size-18: 16px;
  }
}



@media screen {


  /* ---------- STRUCTURE ---------- */
  html {
    position: relative; /* - Sticky Footer - */
    min-height: 100%; /* - Sticky Footer - */
  }
  
  body {
    background: var(--color-brand-3);
    font-family: var(--font-faily-2);
    font-size: 16px;
    height: 100%;
    min-height: 100%;
    margin-bottom: 100px; /* - Sticky Footer bottom = footer height - */
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-faily-1)!important;
  }

  /** {
    border-radius: 0!important;
  }*/

  .content {
    margin-bottom: -1px;
  }

  .card-grid--unavailable > .card-grid__image .avvio-image__image {
    filter: none!important;
  }


    /* ---------- Buttons ---------- */

  .avvioCalendarFragment .label.selected:after {
    display: none!important;
  }

  .avvio-calendar .hovered, 
  .avvio-calendar__date.available:hover {
    background-color: var(--color-brand-2)!important;
  }

  .banner--warning,
  .discount-list {
    color: var(--color-brand-2);
    border-color: var(--color-brand-2);
    background-color: var(--color-brand-3);
  }

  .banner--warning {
    padding: 4px 10px;
  }
  
  .avvio-calendar-container {
    background-color: var(--color-brand-3)!important;
  }
  
  
  /* ---------- HEADER ---------- */
  .header {
    background: var(--color-brand-3);
    width: 100%;
    height: 84px;
    margin: 0;
    padding: 0;
  }
  
  .header .responsive-width {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100% !important;
    max-width: 1170px !important;
    padding-block: 10px;
    padding-inline: 1.25rem;
    margin: 0 auto;
  }

  .header .logo a {
    display: flex;
    height: 47px;
    width: auto;
  }
  
  .header .logo img {
    display: block;
    width: auto;
    height: 100%;
  }
  
  .header a {
    text-decoration: none;
  }
  
  /* --- Back to Site --- */

  .header .backtosite {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 210px;
    height: 84px;

  }

  .header .backtosite a {
    background-color: var(--color-brand-1);
    color: var(--color-white);
    font-family: var(--font-faily-1);
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase; 
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: all 0.15s ease-in-out;
  }
  
  .header a i,
  .footer a i {
    margin-right: 0px;
  }
  
  .main-be-area {
    background-color: var(--color-white);
  }

  .full-ribbon-one {
    background-color: var(--color-white);
    border-bottom: 2px solid var(--color-brand-2);
    box-shadow: 4px 10px 21px -21px var(--color-brand-1)
  }

  .full-ribbon-one .header-grid .button--plain.button--primary {
    background-color: transparent;
    color: var(--color-brand-1);
    transition: color 0.5s ease;
  }

.page-control-panel .button.button--plain {
    color: var(--color-brand-1);
    font-size: 18px;
    line-height: 20px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    transition: color 0.8s ease;
  }
  .page-control-panel .button.button--underlined {
    text-underline-offset: 12px;
  }

  .button__text.paragraph {
    font-family: var(--font-faily-2)!important;
  }

  /*#ipulse .actionbutton,
  #ipulse .bookbutton,
  #ipulse #login_submit_button {
    color: var(--color-white);
    background: var(--color-brand-1);
    border: 1px solid var(--color-brand-1);
    padding: 1rem 1.5rem;
    border-radius: 0px;
    transition: background 0.8s ease, color 0.8s ease;
    font-family: var(--font-faily-1);
    font-weight: 400;
    font-size: 0.75rem;
    text-transform: uppercase;
    line-height: 20px;
    letter-spacing: 1.2px;
  }

  #login_submit_button:hover {
    color: var(--color-brand-1);
    background: transparent;
    border: 1px solid var(--color-brand-1);
  }


  #ipulse .poweredby a,
  #ipulse .privacy-policy-container a {
    color: var(--color-brand-2);
    font-weight: 600;
    transition: color 0.5s ease;
  }

  #ipulse .poweredby a:hover,
  #ipulse .privacy-policy-container a:hover {
    color: var(--color-brand-1);
  }*/

    /* --- FOOTER container --- */
  .footer-container {
    margin-top: 15px;
  }
  
  .footer-container a {
    color: var(--color-brand-3);
    text-decoration: none !important;
    transition: all 0.15s ease-in-out;
  }
  
  .footer-container a:hover {
    color: var(--color-white);
    text-decoration: none !important;
  }

  /* ---------- FOOTER ---------- */
  .footer {
    flex-direction: column;
    color: var(--color-white);
    background: var(--color-brand-4);
    font-family: var(--font-faily-2);
    line-height: 18px;
    left: 0;
    height: auto;
    width: 100%;
  }
  
  .footer .responsive-width {
    display: flex;
    box-sizing: border-box;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    width: 100% !important;
    margin: 0 auto;
  }

  .footer .footer-top-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    background-color: var(--color-brand-1);
    width: calc(100% - 0px);
    margin: 0 auto;
  }

  .partners-logos {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    gap: 20px
  }

  .partners-logos a {
    width: 30%;
    height: auto;
  }

  .partners-logos img {
    width: 100%;
    height: 100%;
  }
  
  .footer a {
    color: var(--color-brand-3);
    text-decoration: none;
    font-family: var(--font-faily-2);
    transition: all 0.15s ease-in-out;
  }
  
  .footer a:hover {
    color: var(--color-brand-2);
  }
  
  .footer .left {
    display: flex;
    flex-direction: column;
  }

  .footer .footer-top-container .footer-logo {
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    padding-block: 30px;
  }
  
  .footer .footer-top-container .footer-logo img {
    display: block;
    height: 100px;
    width: auto;
  }

  .footer .footer-top-container .footer-logo .footer-logo-link.text {
      margin-top: 10px;
      font-family: var(--font-faily-2);
  }
  
  .footer .footer-top-container .socials {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 40%;
    gap: 10px;
  }

  .footer .footer-top-container .address {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 40%;
    gap: 10px;
    padding-block: 20px;
  }

  .footer .footer-top-container .footer-menu-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 30%;
    gap: 10px;
    padding-block: 50px;
  }

  .footer-row-2-menu-links {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-block: 0 10px;
  }

  .menu-links-links {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px;
  }

  .menu-links-links a.link-underline-hover {
    font-size: var(--font-size-18);
    font-family: var(--font-faily-1);
    text-transform: capitalize;
    padding: 7px 10px 7px 0;
    text-align: left;
    min-width: 50%;
  }

  .awards-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 90%;
    padding-block: 50px;
    border-top: 1px solid var(--color-brand-5);
    gap: 10px;
  }

  .awards-logos a.footer-logo-link {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-white);
    border-radius: 5px;
    width: 90px;
    height: 90px;
    padding: 10px;
  }

  .footer .footer-top-container .address-details {
    width: 100%;
    font-family: var(--font-faily-2);
    font-size: var(--font-size-20);
    line-height: 34px;
    letter-spacing: 1px;
    font-weight: 400;
    padding-block: 0;
  }

  .newsletters-container {
    display: flex;
    flex-direction: column;
  }

  .footer .footer-top-container .address-contacts p {
    font-weight: 400;
    font-family: var(--font-faily-3);
  }

  .footer .footer-top-container .address-contacts a {
    font-size: var(--font-size-20);
  }

  .footer .footer-top-contain5er .socials .socials-header {
    text-align: center;
  }

  .newsletters-container p,
  .footer .footer-top-container .address-header p,
  .footer .footer-top-container .socials-header p {
    width: 100%;
    font-family: var(--font-faily-3);
    font-weight: 400;
    font-size: var(--font-size-34);
    padding-right: 10px;
    text-align: left;
  }

  .newsletters-container a {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: var(--font-size-18);
    font-family: var(--font-faily-2);
    text-transform: uppercase;
    color: var(--color-white);
    height: 40px;
    width: max-content;
    padding: 5px 15px 2px 0;
    z-index: 0;
    transition: all 0.5s ease;
  }

  .newsletters-container a::before {
    position: absolute;
    bottom: 0;
    content: "";
    left: 0;
    width: 100%;
    height: 4px;
    z-index: -1;
    border-radius: 0;
    background-color: var(--color-brand-2);
    transition: height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .newsletters-container a:hover {
    color: var(--color-brand-1);
    padding: 5px 15px;
  }

  .newsletters-container a:hover::before {
    height: 100%;
    transition: height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  
  .footer .footer-top-container .socials a i {
    font-size: 24px;
    transition: all 0.15s ease-in-out;
  }

  .footer .footer-top-container .socials-links {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    gap: 20px;
    padding-top: 10px;
  }
  
  .footer .socials-links  a img {
    display: block;
    height: 32px;
    width: auto;
    
    transition: all 0.15s ease-in-out;
  }

  .footer a.socials-link {
    width: 30px;
    height: 30px;
    color: var(--color-brand-2);
    font-size: 28px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.5s ease;
  }

  .footer a.socials-link:hover {
    color: var(--color-brand-5);
  }

  .footer a.socials-link.twitter {
    padding: 10px;
  }

  .footer .socials-links svg {
    display: block;
    height: 100%;
    width: 100%;
  }

  .footer .socials-links svg path {
    fill: var(--color-brand-1);
    transition: fill 0.15s ease-in-out;
  }

  .footer .socials-link:hover svg path {
    fill: var(--color-white);
    transition: fill 0.15s ease-in-out;
  }
  
  .footer .contact {
    display: inline-block;
    
    font-family: var(--font-faily-2);
    font-size: 13px;
    line-height: 26px;
    
    margin-bottom: 20px;
    text-align: left;
  }

  .footer .contact .contact-us-gap {
    display: inline-block;
    width: 67px;
  }
  
  .footer .external-logos {
    display: flex;
    align-items: center;
    gap: 48px;
  }
  
  .footer .external-logos img {
    display: block;
    width: auto;
    height: 65px;
  }

  .footer .footer-block-shr {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 50px 0;
    font-family: var(--font-faily-2);
  }

  .footer .footer-block-shr a {
    text-decoration: none;
    font-size: var(--font-size-18);
    color: var(--color-brand-3);
    transition: color 0.15s ease-in-out;
  }
  
}

@media screen and ( max-width: 1199px ) {

  .footer .footer-top-container .address {
    align-items: flex-start;
  }

  .footer .footer-top-container .address-details, 
  .footer .footer-top-container .address-contacts {
    text-align: left;
  }

  .menu-links-links a.link-underline-hover {
    min-width: 55%;
  }

  .footer .footer-top-container .address {
    width: 45%;
  }

  .footer .footer-top-container .footer-menu-container {
    width: 45%;
  }

  .partners-logos a {
    width: 30%;
  }

}


@media screen and ( min-width: 1199px ) {

  .footer .responsive-width {
    max-width: unset;
    padding-inline: 0;
  }

  .footer .footer-top-container .address {
    align-items: flex-start;
  }

  .footer .footer-top-container .address-details,
  .footer .footer-top-container .address-contacts {
    text-align: left;
  }

  .footer .footer-top-container .socials {
    align-items: flex-end;
  }

  .unavailable-message-box__option .button:hover,
  .card-information__book-now:hover,
  .button--branded:hover {
    outline: none;
    box-shadow: none;
    color: var(--color-white);
    background: var(--color-brand-1);
    border: 1px solid var(--color-brand-1);
  }

  .card-grid__area .button--primary.button--small:hover,
  .button--secondary:hover {
    outline: none;
    box-shadow: none;
    color: var(--color-white);
    background: var(--color-brand-2);
    border: 1px solid var(--color-brand-2);
  }

  .checkin-label.button--secondary.active:hover {
    outline: none;
    box-shadow: none;
    color: var(--color-white);
    background: var(--color-brand-2)!important;
    border: 1px solid var(--color-brand-2);
  }
  .checkout-label.button--secondary.disabled:hover { 
    outline: none;
    box-shadow: none;
    color: var(--color-white);
    background: var(--color-brand-1)!important;
    border: 1px solid var(--color-brand-1);
    opacity: 1;
  }

  .checkout-label.button--secondary.selected:hover {
    color: var(--color-white)!important;
  }

  .header .backtosite:hover a {
    background: var(--color-brand-5);
    color: var(--color-brand-1);
  }

  .footer .socials a:hover i {
    color: var(--color-brand-1);
  }

  .footer .socials a:hover svg path {
    fill: var(--color-brand-1);
  }

  .page-control-panel .button.button--plain:hover {
    color: var(--color-brand-2);
  }

  .full-ribbon-one .header-grid .button--plain.button--primary:hover {
    background-color: transparent;
    color: var(--color-brand-2);
  }

  .footer .footer-block-shr a:hover {
    color: var(--color-brand-2);
  }
}

/* ----- Tablet specific ----- */
@media screen and (max-width: 991px) {
  .footer .footer-top-container {
    flex-direction: column;
  }

  .awards-logos,
  .footer .footer-top-container .footer-menu-container,
  .footer .footer-top-container .address,
  .footer .footer-top-container .footer-menu-container,
  .footer .footer-top-container .socials .socials-links {
    width: 90%;
    margin: 0 auto;
  }

  .footer .footer-top-container {
    width: 100%;
  }

  .address-header.links,
  .footer-row-2-menu-links {
    display: none;
  }

  .footer .footer-top-container .address {
    padding-block: 50px 0;
    align-items: center;
    justify-content: center;
  }

  .footer .footer-top-container .footer-logo {
    align-items: center;
  }

  .footer .footer-top-container .footer-menu-container {
    padding-block: 0 50px;
  }

  .footer .footer-top-container .socials-links {
    justify-content: center;
  }

  .newsletters-container {
    align-items: center;
  }

  .newsletters-container p {
    text-align: center;
    padding-right: 0;
  }

}

/* ----- Mobile specific ----- */
@media screen and (max-width: 789px) {

  .header {
    height: 70px;
    padding: 15px;
  }

  .header .responsive-width {
    justify-content: center;
    padding-block: 0;
  }

  .header .logo a {
    height: 100%;
  }

  .header .logo img {
    height: 40px;
  }

  .header .backtosite {
    display: none;
  }

  .footer .responsive-width {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .footer .left {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .newsletters-container a {
    width: auto;
  }
  
}