
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}

body {
    color: #4F5E71;
    font-family: 'Open Sans', Tahoma, Arial, helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.6em;
    font-weight: 400;
}
.ds-inline-block {
    display: inline-block;
}
.header-row {
    background-color: #FFFFFF;
    border-bottom: 2px solid #BDBEE1;
}
.header-row.header-white {
    background-color: #fff;
}
.text-color {
    color: #1B4C57 !important;
}
.text-color-gold {
    color: #bb9f51 !important;
}
.text-color-darkblue {
    color: #1A3046 !important;
}
.text-color-primary {
    color: #1B4C57 !important;
}
.text-color-primary-alt {
    color: #9C7C50 !important;
}
.text-color-primary-alt2 {
    color: #9C7C50 !important;
}
.text-color-primary-alt3 {
    color: #402B49 !important;
}
.text-color-primary-alt4 {
    color: #977547 !important;
}
.text-color-primary-alt5 {
    color: #C9B6D4 !important;
}
a:hover {
    color: #246371FF;
}
a {
    color: #1B4C57;
    text-decoration: none;
}
.mobile-top-inner {
    padding-top: 20px;
}

.site-footer {
    width: 100%;
    background-color: #1E1E1E;
    color: #AAAFB6;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    margin-top: 30px;
}

.footer-nav li {
    display: inline-block;
}
.footer-nav li:after {
    content: "|";
    margin: 0px 5px;
    color: #AAAFB6;
}
.footer-nav li:last-child:after {
    content: "";
    margin: 0px;
}
.footer-nav a {
    color: #AAAFB6;
    text-decoration: none !important;
}
.footer-nav a:hover {
    color: #fff;
    text-decoration: underline; !important;
}

#site-footer .copyright a {
    color: #AAAFB6;
    text-decoration: underline !important;
}
#site-footer .copyright a:hover {
    color: #fff;
    text-decoration: none !important;
}

.header-top {
    padding: 0;
}
.header-top .logo-wrapper {
    margin-bottom: 15px;
}
.header-top .logo-link {
    display: inline-block;
}
.header-top .global-nav-wrapper {
    margin-bottom: 10px;
}
.header-top .global-nav {
    padding-top: 5px;
}
.header-top .global-nav a {
    color: #121212;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-weight: 500;
    display: inline-block;
}
.header-top .global-nav a:hover {
    color: #fff;
    background: rgba(173,65,187,0.75);
}
.header-top .global-nav a.dashboard {
    color: #AD41BB;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff;
}
.header-top .global-nav a.dashboard:hover {
    color: #fff;
    background: rgba(173,65,187,0.75);
    border-color: transparent;
}
.header-top .global-nav span {}

.header-top:not(.hero) {
    border-bottom: 1px solid #eee;
}

#location-count {
    color: #4f5e71;
    font-size: 16px;
}

#date-range {
    color: #4f5e71;
    font-size: 16px;
}

.hero-wrapper {
    margin-top: -15px;
    margin-bottom: 30px;
}
.hero-content-wrapper {
    padding-top: 100px;
}
.herop-copy {
    margin: 0 auto 30px;
    padding: 0 15px;
    max-width: 930px;
    color: #fff;
    text-align: left;
}
.herop-copy h1 {
    font-size: 50px;
}
.herop-copy p {
    font-size: 20px;
}

.frm-hero-search {
    padding: 0 10px;
}
.frm-hero-search .frm-search-inner {
    margin: 0 auto;
    max-width: 930px;
    background: #fff;
    border-radius: 50px;
    padding: 20px 25px;
    display: flex;
    flex-wrap: wrap;
}
.frm-hero-search label {
    display: block;
    color: #404040;
    font-weight: 600;
}
.frm-hero-search .frm-input-icon {
    display: inline-block;
    vertical-align: top;
    padding-top: 10px;
    padding-right: 5px;
}
.frm-hero-search .frm-input {
    display: inline-block;
    vertical-align: top;
}
.frm-hero-search .frm-search-destination {
    display: inline-block;
    vertical-align: top;
    flex-basis: 43%;
}
.frm-hero-search .frm-search-dates {
    display: inline-block;
    vertical-align: top;
    flex-basis: 43%;
}
.frm-hero-search .frm-button {
    display: inline-block;
    vertical-align: top;
    flex-basis: 5%;
}
.frm-hero-search #btn-search.btn {
    background: #AD41BB;
    color: #fff;
    font-size: 20px;
    border-radius: 100%;
    transition: 0.3s;
}
.frm-hero-search #btn-search.btn:hover {
    background: #962EA3;
    transform: translateY(-5px);
}

.featured-sections h5 {
    color: #121212;
    font-weight: 600;
    font-size: 30px;
    margin-top: 50px;
    margin-bottom: 30px;
}
.btn-select-all {
    color: #AD41BB;
    cursor: pointer;
    float: left;
}
.btn-clear-all {
    color: #AD41BB;
    cursor: pointer;
    float: left;
}

.rs-card {
    background: #fff;
}
.rs-card-name a:hover {
    color: #1B4C57 !important;
}
.cta-btn,
.rs-card-cta-btn {
    color: #fff;
    background: #1B4C57 !important;
}
.cta-btn:hover,
.rs-card-cta-btn:hover {
    color: #fff;
    background: #62026E !important;
}
.rs-card-tags .tag-ft {
  border: 1px solid #212248;
  color: #212248;
  background: #fff;
}
.rs-card-tags .tag-rescape {
  border: 1px solid #212248;
  color: #212248;
  background: #fff;
}

.rs-cat-hover-link a.rs-cat-link:focus,
.rs-cat-hover-link a.rs-cat-link:hover {
    background: #AD41BB !important;
    border-color: #AD41BB !important;
    display: block;
}

.carousel-rs-cat .carousel-indicators .carousel-indicator.active {
    background: #AD41BB !important;
}

.custom-btn-outline {
    color: #AD41BB !important;
    border-color: #AD41BB !important;
}
.custom-btn-outline:hover {
    color: #FFF !important;
    border-color: #AD41BB !important;
    background: #AD41BB !important;
}

.btn-resort-website {
    color: #AD41BB !important;
    border-color: #AD41BB !important;
}
.btn-resort-website:hover {
    color: #FFF !important;
    border-color: #AD41BB !important;
    background: #AD41BB !important;
}

.breadcrumbs a:hover {
    color: #AD41BB !important;
}
.date-picker-header {
    background-color: #AD41BB;
    color: #fff;
    padding: 12px;
}

@media (min-width: 768px) {
    .frm-hero-search .frm-search-dates {
        padding-left: 12px;
        margin-right: 24px;
        margin-left: 26px;
        border-left: 1px solid #e8edf1;
    }

    .frm-hero-search #btn-search.btn {
        transition: 0.3s;
    }
    .frm-hero-search #btn-search.btn:hover {
        transform: translateY(-5px);
    }
}

@media (max-width: 767px) {

    .herop-copy {
        text-align: center;
    }
    .herop-copy h1 {
        font-size: 30px;
    }

    .frm-hero-search .frm-search-inner {
        border-radius: 15px;
    }

    .frm-hero-search .frm-search-destination,
    .frm-hero-search .frm-search-dates,
    .frm-hero-search .frm-button {
        flex-basis: 100%;
        margin-top: 5px;
        margin-bottom: 15px;
    }

    .frm-hero-search #btn-search.btn {
        width: 100%;
        margin-top: 15px;
        border-radius: 40px !important;
    }

    .featured-sections h5 {
        font-size: 24px;
    }

}


.bg-overlay,
.bg-overlay-1,
.bg-overlay-2 {
    position: relative;
}
.bg-overlay>*,
.bg-overlay-1>*,
.bg-overlay-2>* {
    position: relative;
    z-index: 1;
}
.bg-overlay:before {
    content: ' ';
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    position: absolute;
    background: rgba(0,0,0,0.3);
}
.bg-overlay-1:before {
    content: ' ';
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    position: absolute;
    background: rgba(0,0,0,0.1);
}
.bg-overlay-2:before {
    content: ' ';
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    position: absolute;
    background: rgba(0,0,0,0.2);
}

.bo-price .amount,
.bo-price .currency {
    color: #AD41BB;
}

.font-heebo {
        font-family: 'Heebo', Helvetica, Arial, sans-serif !important;
}
.font-julius {
      font-family: "Julius Sans One", sans-serif;
      font-weight: 400;
      font-style: normal;
}
.font-pinyon,
.pinyon-script-regular {
  font-family: "Pinyon Script", cursive;
  font-weight: 400;
  font-style: normal;
}

.letter-spacing-1 {
    letter-spacing: 1px;
}
.letter-spacing-2 {
    letter-spacing: 2px;
}
.letter-spacing-3 {
    letter-spacing: 3px;
}

/***********************************
 TopNav
***********************************/

  #top-nav-wrapper {
    min-height: 35px;
    /*background: #f9f9f9;*/
    background: #777;
    padding: 10px 0;
    border-bottom: 1px solid #dfe3e8;
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
  }

  #top-nav-wrapper a {
    color: #fff !important;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
  }
  #top-nav-wrapper a:hover {
    text-decoration: underline;
  }

 @media (max-width: 575px) {

 }

 @media (max-width: 768px) {

  #top-nav-wrapper {
    min-height: 55px;
  }
 }

 @media (min-width: 576px) {


 }

 @media (min-width: 992px) {

  #top-nav-wrapper .mbr-acct:before {
    content: "|";
    color: #ccc;
    margin: 0 8px 0 4px;
  }

  #top-nav-wrapper #top-nav-links a:after {
    content: "|";
    color: #ccc;
    margin: 0 2px 0 8px;
  }

  #top-nav-wrapper #top-nav-links a:last-child:after {
    content: "";
  }

 }

  @media (min-width: 768px) {
    .ds-inline-block-md {
        display: inline-block;
    }
  }

  @media (min-width: 992px) {
    .ds-inline-block-lg {
        display: inline-block;
    }
  }

  .text-right, .tx-right {
    text-align: right;
  }

  .ft-right {
    float: right;
  }

 /***********************************
 Header & Nav
***********************************/

 .navbar {
  padding: 1.25rem 0;
  font-size: 16px;
 }

 @media (min-width: 992px) {

   .navbar-nav {
    width: 100%;
    align-items: center;
    justify-content: space-evenly;
   }

 }

 @media (max-width: 991px) {

   .navbar-nav {
    margin-top: 10px;
   }

 }

 .navbar-nav a {
  color: #1B4C57 !important;
 }

 .navbar-nav a:hover {
  color: #246371FF !important;
 }

 .navbar-nav a.active {
  color: #246371FF !important;
 }

 .navbar-nav a.active:hover {
  color: #1B4C57 !important;
 }

 .dropdown-item.active,
 .dropdown-item:active {
  background: #f8f9fa !important;
 }

 .dropdown-divider {
    border-color: rgba(0, 0, 0, 0.175);
 }

/* ribbon */
.ribbon-last-minute {
    --f: 10px; /* control the folded part*/
    --r: 15px; /* control the ribbon shape */
    --t: 10px; /* the top offset */

    position: absolute;
    inset: var(--t) calc(-1*var(--f)) auto auto;
    padding: 0 10px var(--f) calc(10px + var(--r));
    clip-path:
            polygon(0 0,100% 0,100% calc(100% - var(--f)),calc(100% - var(--f)) 100%,
            calc(100% - var(--f)) calc(100% - var(--f)),0 calc(100% - var(--f)),
            var(--r) calc(50% - var(--f)/2));
    background: #BB9F52;
    color: #fff;
    box-shadow: 0 calc(-1*var(--f)) 0 inset #0005;
    z-index: 100;
}

.ft-underline:after {
    border-bottom-color: #AD41BB !important;
}

.hover-color:hover {
    color: #AD41BB !important
}

.table-head-dark-blue {
    --bs-table-color: #fff;
    --bs-table-bg: #1A3046;
    --bs-table-border-color: #1A3046;
    --bs-table-striped-bg: #1A3046;
    --bs-table-striped-color: #fff;
    --bs-table-active-bg: #1A3046;
    --bs-table-active-color: #fff;
    --bs-table-hover-bg: #1A3046;
    --bs-table-hover-color: #fff;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

.ft-resorts{
    border: 1px solid #f2daf6;
    /*background: #f6eff7;*/
    padding: 20px 20px 0;
    border-radius: 10px;
}

.badge-style-2 {
    padding: 4px 8px;
    margin-right: 6px;
    border-radius: 4px;
    background: #E8EDF1;
    color: #4F5E71;
    font-size: 11px;
    font-weight: 600;
    opacity: 0.8;
    letter-spacing: 0.25px;
}

.bg-gold,
.bg-gold-2n,
.bg-gold-2n:nth-child(2n+1),
.bg-gold-3n,
.bg-gold-3n:nth-child(3n+1) {
    background: #6C5B2A;
    color: #FFF !important;
}
.bg-gold-2,
.bg-gold-2n:nth-child(2n+2),
.bg-gold-3n:nth-child(3n+2) {
    background: #957D3B;
    color: #FFF !important;
}
.bg-gold-3,
.bg-gold-3n:nth-child(3n+0) {
    background: #BB9F52;
    color: #FFF !important;
}

.bg-gold-outline,
.bg-gold-outline-2n,
.bg-gold-outline-2n:nth-child(2n+1),
.bg-gold-outline-3n,
.bg-gold-outline-3n:nth-child(3n+1) {
    background: #FFF !important;
    color: #6C5B2A !important;
    border: 1px solid #6C5B2A !important;
}
.bg-gold-outline-2,
.bg-gold-outline-2n:nth-child(2n+2),
.bg-gold-outline-3n:nth-child(3n+2) {
    background: #FFF !important;
    color: #957D3B !important;
    border: 1px solid #957D3B !important;
}
.bg-gold-outline-3,
.bg-gold-outline-3n:nth-child(3n+0) {
    background: #FFF !important;
    color: #BB9F52 !important;
    border: 1px solid #BB9F52 !important;
}

.bg-blue,
.bg-blue-2n,
.bg-blue-2n:nth-child(2n+1),
.bg-blue-3n,
.bg-blue-3n:nth-child(3n+1) {
    background: #212248 !important;
    color: #FFF !important;
}
.bg-blue-2,
.bg-blue-2n:nth-child(2n+2),
.bg-blue-3n:nth-child(3n+2) {
    background: #4D4FA9 !important;
    color: #FFF !important;
}
.bg-blue-3,
.bg-blue-3n:nth-child(3n+0) {
    background: #BDBEE1 !important;
    color: #FFF !important;
}

.bg-blue-outline,
.bg-blue-outline-2n,
.bg-blue-outline-2n:nth-child(2n+1),
.bg-blue-outline-3n,
.bg-blue-outline-3n:nth-child(3n+1) {
    background: #FFF !important;
    color: #212248 !important;
    border: 1px solid #212248 !important;
}
.bg-blue-outline-2,
.bg-blue-outline-2n:nth-child(2n+2),
.bg-blue-outline-3n:nth-child(3n+2) {
    background: #FFF !important;
    color: #4D4FA9 !important;
    border: 1px solid #4D4FA9 !important;
}
.bg-blue-outline-3,
.bg-blue-outline-3n:nth-child(3n+0) {
    background: #FFF !important;
    color: #BDBEE1 !important;
    border: 1px solid #BDBEE1 !important;
}

.bg-purple,
.bg-purple-2n,
.bg-purple-2n:nth-child(2n+1),
.bg-purple-3n,
.bg-purple-3n:nth-child(3n+1) {
    background: #732B7D !important;
    color: #FFF !important;
}
.bg-purple-2,
.bg-purple-2n:nth-child(2n+2),
.bg-purple-3n:nth-child(3n+2) {
    background: #AD41BB !important;
    color: #FFF !important;
}
.bg-purple-3,
.bg-purple-3n:nth-child(3n+0) {
    background: #D193D9 !important;
    color: #FFF !important;
}

.bg-purple-outline,
.bg-purple-outline-2n,
.bg-purple-outline-2n:nth-child(2n+1),
.bg-purple-outline-3n,
.bg-purple-outline-3n:nth-child(3n+1) {
    background: #FFF !important;
    color: #732B7D !important;
    border: 1px solid #732B7D !important;
}
.bg-purple-outline-2,
.bg-purple-outline-2n:nth-child(2n+2),
.bg-purple-outline-3n:nth-child(3n+2) {
    background: #FFF !important;
    color: #AD41BB !important;
    border: 1px solid #AD41BB !important;
}
.bg-purple-outline-3,
.bg-purple-outline-3n:nth-child(3n+0) {
    background: #FFF !important;
    color: #D193D9 !important;
    border: 1px solid #D193D9 !important;
}
