@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap");

:root {
  --font-family-serif: "Playfair Display", "Georgia", georgia, var(--font-stack-sans-serif), serif;
  
  --brand-color-2: #FBF8F4;
  --brand-color-3: #3585C6;
  --brand-white: #FFFFFF;
  --brand-black: #000000;
  --background-color-1: #0000001A;

  --border-radius-1x: 0px;
  
  --custom-transition: all 0.3s ease-in-out;
  
  --img-ratio-rate-primary: 4 / 3;
  --img-ratio-rate-primary-mobile: 4 / 3;
  --img-ratio-rate-secondary: 4 / 3;
  --img-ratio-rate-secondary-mobile: 4 / 3;
  --img-ratio-mda-secondary-rate: 4 / 3;
  --img-ratio-mda-secondary-rate-mobile: 4 / 3;
}

@media screen {
  
    /* --- reordering for trybe integration to appear on top --- */
  .card-information__content-area .occprices { /* Total price at top */
    order: 1;
  }
  .card-information__content-area .banner { /* Banner second if it appears */
    order: 2;
  }
  .card-information__content-area .button-card-horizontal__wrapper {
    order: 3;
  }
  .card-information__content-area div[id*="upgradeRoomsContainer"] {
    order: 4;
  }
  .card-information__content-area .external-section { /* External here is Trybe */
    order: 5;
    background-color: #F7F3EE;
  }
  .card-information__content-area .upsells { /* Upsells */
    order: 6;
  }

  .card-information__content-area .external-section .heading.heading-5 {
    font-weight: var(--font-family-serif);
    font-size: 20px;
  }
  
  .header a i,
  .backtotop a i,
  .footer a i {
    margin-right: 0px;
  }
  
  .main-be-area {
    background-color: var(--brand-color-2);
  }
  
  .header {
    background-color: transparent;
    box-shadow: 0 2px 5px var(--background-color-1);
    
    padding-block: 0px;
    /* border-bottom: 1px solid var(--border-default); */
  }
  
  .header .container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    
    width: 100%;
    max-width: 100%;
  }
  
  .header .invisible-flex-item {
    display: block;
    
    width: 175px;
    height: 100%;
  }
  
  .header .logo img {
    display: block;
    
    height: 80px;
    width: auto;
    
    transition: var(--custom-transition);
  }
  
  .header .logo:hover img {
    opacity: 70%;
  }
  
  
  
  /* --- Back to Site --- */
  .header .backtosite a {
    display: flex;
    align-items: center;
    justify-content: center;
    
    background-color: var(--brand-color-3);
    color: var(--brand-white);
    
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-indent: 0px;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    
    height: 100%;
    max-height: 50px;
    min-width: 175px;
    padding-block: 17px;
    gap: 10px;
    
    transition: var(--custom-transition);
  }
  
  .header .backtosite:hover a {
    background-color: var(--brand-white);
    color: var(--brand-color-3);
    box-shadow: 0px 0px 10px 5px var(--background-color-1);
  }
  
  .header .backtosite:active a {
    position: relative;
    top: 1px;
  }
  
  #exitIntentPopupContainer {
    display: grid;
    grid-template-columns: 0.4fr 0.6fr;
    justify-content: space-between;
    align-items: center;
    
    width: 90vw;
    max-width: 1400px;
    height: 85vh;
    max-height: 600px;
    padding: 0px;
  }
  
  #exitIntentPopupContainer::before {
    content: "";
    align-self: stretch;
    
    height: 100%;
    width: 100%;
    background-position: center left;
    background-repeat: no-repeat;
    background-size: cover;
  }
  
  #allContent {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    
    background-color: var(--brand-color-2);
    
    width: 100%;
    gap: 20px;
    padding-inline: 30px;
    padding-bottom: 30px;
  }
  
  #allContent::before {
    content: "";
    
    background-position: top center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    
    height: 85px;
    width: 100%;
  }
  
  #exitIntentHeading {
    color: var(--brand-black);
    
    font-family: var(--font-family-serif);
    font-size: 44px;
    font-weight: 300;
    line-height: 48.4px;
    
    margin: 0px;
  }
  
  #exitIntentText {
    color: var(--brand-black);
    opacity: 70%;
    
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    
    margin: 0px;
  }
  
  #exitIntentText p {
    word-wrap: break-word;
    text-wrap: balance;
    max-width: 75ch;
  }
  
  #exitIntentAction {
    margin: 0px;
  }
  
  #exitIntentCtaButton {
    background-color: var(--brand-black);
    color: var(--brand-white);
    
    font-size: 14px;
    font-weight: 300;
    line-height: 18.6667px;
    text-transform: uppercase;
    
    padding-block: 10px;
    padding-inline: 30px;
    border: 0px solid transparent;
    
    transition: var(--custom-transition);
  }
  
  #exitIntentCtaButton:hover {
    background-color: var(--brand-color-3);
    color: var(--brand-white);
    border: 0px solid transparent;
  }
  
  .footer {
    color: var(--brand-white);
    background-color: var(--brand-black);
    
    width: 100%;
    height: auto;
    padding-inline: 5px;
    padding-top: 60px;
    padding-bottom: 100px;
  }
  
  .footer .container {
    display: flex;
    justify-content: space-between;
    
    width: 100%;
    padding-inline: 12.5%;
  }
  
  .footer .container > * {
    width: 33.33333333%;
    padding-inline: 5px;
    margin-block: 20px;
  }
  
  .footer .address {
    font-size: 14px;
    font-weight: 300;
    line-height: 34px; /* site is 24px, but with 5px block margin */
    text-align: left;
  }
  
  .footer .contact {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    
    font-size: 14px;
    font-weight: 300;
    line-height: 24px;
    text-align: left;
    
    gap: 10px;
  }
  
  .footer .contact a {
    color: #FFFFFFCC;
    
    width: fit-content;
    border-bottom: 1px solid transparent;
    
    transition: var(--custom-transition);
  }
  
  .footer .contact a:hover {
    color: #FFFFFF;
    
    border-bottom: 1px solid #FFFFFF;
  }
  
  .footer .footer-logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    
    gap: 20px;
  }
  
  .footer .footer-logo img {
    display: block;
    
    width: 120px;
    height: auto;
    margin-inline: auto;
    
    transition: var(--custom-transition);
  }
  
  .footer .footer-logo:hover img {
    opacity: 80%;
  }
  
  .footer .socials {
    display: flex;
    justify-content: center;
    align-items: center;
    
    gap: 4px;
  }
  
  .footer .socials a {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    
    background-color: transparent;
    color: #FFFFFF;
    
    font-size: 17px;
    
    width: 26px;
    height: 42px;
    padding-top: 15px;
    
    transition: var(--custom-transition);
  }
  
  .footer .socials a:hover {
    background-color: #FFFFFF;
    color: #3585C6;
  }
  
  .footer .socials a svg {
    display: block;
    
    fill: #FFFFFF;
    
    width: 20px;
    margin-top: -2px;
    
    transition: var(--custom-transition);
  }
  
  .footer .socials a:hover svg {
    fill: #3585C6;
  }
  
}



@media screen and ( max-width: 1199px ) {
  
  .header .container {
    padding-left: 20px;
  }
  
  .header .invisible-flex-item {
    display: none;
  }
  
  .footer .container {
    padding-inline: 5%;
  }
  
}

@media screen and ( max-width: 999px ) {
  
  .footer .container {
    flex-direction: column;
    
    gap: 10px;
    padding-inline: 0px;
  }
  
  .footer .container > * {
    width: 100%;
    padding-inline: 0px;
    margin-block: 0px;
  }
  
  .footer .address {
    order: 2;
    
    text-align: center;
  }
  
  .footer .contact {
    order: 3;
    
    align-items: center;
  }
  
  .footer .footer-logo {
    order: 1;
    
    align-items: center;
  }
  
}

@media screen and ( max-width: 699px ) {
  
  #exitIntentPopupContainer {
    grid-template-columns: 1fr;
    grid-template-rows: 1.3fr 1fr;
    
    height: 90vh;
    max-height: unset;
  }
  
  #allContent {
    order: 1;
  }
  
  #exitIntentPopupContainer::before {
    order: 2;
  }
  
}

@media screen and ( max-width: 499px ) {
  
  .header .container {
    justify-content: center;
    
    padding-left: 0px;
  }
  
  .header .backtosite {
    display: none;
  }
  
  .footer {
    padding-top: 30px;
    padding-bottom: 50px;
  }
  
}