/* font sizes
 Body
 tiny: 1.2rem;
 small: 1.4rem;
 normal: 1.6rem;
 medium: 1.7rem;
 large: 1.8rem;
 Headers
 1.6rem
 1.8rem
 2rem
 2.2rem
 2.4rem - Subtitle prefecture pages - most often h2
 2.8rem
 3.2rem
 3.6rem
 4rem
 4.8rem
 5.6rem - Title
 title 6.4rem
 super 8rem
 Lineheight
 Title: 1.125;
 Subtitle: 1.25;
 Body: 1.5;
 Body-spacious: 1.7;
 weights
 normal: 400;
 semibold: 600;
 bold: 700;
 */
.row.small-gutter {
  margin-left: -5px;
  margin-right: -5px; }

.small-gutter [class*='col-'] {
  padding-right: 5px;
  padding-left: 5px; }

.container--hero {
  height: 100%;
  position: relative; }

.hero {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  color: #fff;
  width: 100%;
  position: relative;
  height: 449px;
  min-height: 40rem;
  max-height: 50rem;
  overflow: hidden; }
  @media (min-width: 768px) {
  .hero {
    max-height: 40rem; } }
  .hero__figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background-color: #eee;
    filter: brightness(0.8); }
    .hero__figure:after {
      content: "";
      display: block;
      top: 0;
      height: 100%;
      background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0) 100%);
      position: absolute;
      width: 100%; }
  .hero__image {
    /*
     object-fit: cover;
     height: inherit;
     width: inherit;
     background-size: cover;
     background-position: center center;
     */
    object-fit: cover;
    object-position: 50% 35%;
    height: inherit;
    width: inherit;
    min-height: inherit;
    max-width: 100%;
    font-family: 'object-fit: cover; object-position: 50% 35%;'; }
  .hero__breadcrumb {
    position: absolute;
    right: 2.4rem;
    list-style: none;
    padding: 0;
    top: 1.2rem;
    font-size: 1.6rem; }
    .hero__breadcrumb_item {
      display: inline-block;
      white-space: nowrap; }
    .hero__breadcrumb_link {
      color: #fff; }
      .hero__breadcrumb_link:hover, .hero__breadcrumb_link:focus {
        text-decoration: underline;
        color: #fff; }
    .hero__breadcrumb_icon {
      font-size: 0.8rem;
      margin-right: 0.2rem;
      margin-left: 0.2rem;
      vertical-align: middle; }
  .hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center; }
  .hero__title {
    margin-top: 0;
    font-size: 4rem;
    font-weight: 600;
    margin-bottom: 1rem;
    line-height: 1.125;
    text-shadow: 0px 3px 16px rgba(0, 0, 0, 0.5);
    margin: 0; }
    @media (min-width: 768px) {
  .hero__title {
    font-size: 6rem; } }
  .hero__subtitle {
    line-height: 1.25;
    font-size: 2.4rem;
    margin-bottom: 0;
    font-style: italic;
    font-weight: 300;
    padding-left: 1.2rem;
    padding-right: 1.2rem; }
    @media (min-width: 768px) {
  .hero__subtitle {
    font-size: 3.2rem; } }
  .hero__location {
    position: absolute;
    bottom: 1.2rem;
    right: 15px;
    color: #fff;
    font-size: 1.6rem; }
    .hero__location:hover, .hero__location:focus {
      color: #fff;
      text-decoration: underline; }
    .hero__location_icon {
      font-size: 1.4rem;
      margin-right: 0.4rem; }
    .hero__location a {
      color: #fff;
      text-decoration: none; }
      .hero__location a:hover, .hero__location a:focus {
        color: #fff;
        text-decoration: underline; }

span.hero__location:hover {
  text-decoration: none; }

.tour-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 1.2rem;
  width: 100%;
  margin: 0 auto 2rem auto; }
  .tour-card-hero {
    position: relative;
    width: 100%;
    min-height: 13.7rem;
    height: auto; }
    @media (max-width: 767.99px) {
  .tour-card-hero {
    min-height: 16rem; } }
    .tour-card-hero-vector {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background: linear-gradient(246.73deg, rgba(0, 0, 0, 0) 55.58%, rgba(0, 0, 0, 0.5) 86.39%);
      z-index: 1; }
    .tour-card-hero img {
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      z-index: 0; }
    .tour-card-hero .tour-title {
      max-width: 21.6rem;
      font-weight: 400;
      font-size: 2rem;
      line-height: 1.25;
      letter-spacing: -0.02em;
      color: #fff;
      position: absolute;
      left: 2.4rem;
      bottom: 2rem;
      z-index: 4;
      margin: 0; }
  .tour-card-main {
    width: 100%;
    height: auto;
    min-height: 30.2rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden; }
    .tour-card-main .tour-card-content {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 2rem 2.4rem;
      gap: 2rem;
      background: #fff;
      z-index: 3; }
      .tour-card-main .tour-card-content .tour-details {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 0;
        gap: 1.2rem;
        width: 100%;
        margin-bottom: 2rem; }
        .tour-card-main .tour-card-content .tour-details .price-section, .tour-card-main .tour-card-content .tour-details .dates-section {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          padding: 0;
          gap: 0.4rem;
          flex: 1; }
        .tour-card-main .tour-card-content .tour-details .price-section .price-label {
          width: 4.3rem;
          height: 1.9rem;
          font-family: 'Source Sans Pro';
          font-style: normal;
          font-weight: 700;
          font-size: 1.5rem;
          line-height: 1.9rem;
          letter-spacing: 0.04em;
          text-transform: uppercase;
          color: #141414;
          margin: 0; }
          .tour-card-main .tour-card-content .tour-details .price-section .price-value {
            display: flex;
            flex-direction: row;
            align-items: center;
            padding: 0;
            gap: 0.8rem;
            width: 9.5rem;
            height: 2.5rem;
            isolation: isolate; }
            .tour-card-main .tour-card-content .tour-details .price-section .price-value .price-main {
              width: 7rem;
              height: 2.5rem;
              font-family: 'Source Sans Pro';
              font-style: normal;
              font-weight: 400;
              font-size: 2rem;
              line-height: 2.5rem;
              letter-spacing: 0.04em;
              color: #141414;
              margin: 0;
              z-index: 1; }
            .tour-card-main .tour-card-content .tour-details .price-section .price-value .price-suffix {
              width: 1.7rem;
              height: 1.3rem;
              font-family: 'Source Sans Pro';
              font-style: normal;
              font-weight: 400;
              font-size: 1.4rem;
              line-height: 1.3rem;
              letter-spacing: 0.04em;
              color: #261725;
              margin: 0;
              z-index: 0; }
        .tour-card-main .tour-card-content .tour-details .dates-section .dates-label {
          width: 100%;
          height: 1.9rem;
          font-family: 'Source Sans Pro';
          font-style: normal;
          font-weight: 700;
          font-size: 1.5rem;
          line-height: 1.9rem;
          letter-spacing: 0.04em;
          color: #000;
          margin: 0;
          text-transform: uppercase; }
          .tour-card-main .tour-card-content .tour-details .dates-section .dates-value {
            width: 16.8rem;
            height: 2.5rem;
            font-family: 'Source Sans Pro';
            font-style: normal;
            font-weight: 400;
            font-size: 2rem;
            line-height: 2.5rem;
            color: #141414;
            margin: 0; }
      .tour-card-main .tour-card-content .button-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0;
        gap: 0.8rem;
        width: 100%; }
        .tour-card-main .tour-card-content .button-container .enquire-btn {
          width: 100%;
          height: 4.4rem;
          background: #c1282f;
          border: none;
          border-radius: 0;
          position: relative;
          cursor: pointer;
          transition: background-color 0.3s ease; }
          .tour-card-main .tour-card-content .button-container .enquire-btn:hover {
            background: #a01e24; }
          .tour-card-main .tour-card-content .button-container .enquire-btn .button-content {
            display: flex;
            flex-direction: row;
            align-items: center;
            padding: 0;
            gap: 0.8rem;
            position: absolute;
            width: 12.3rem;
            height: 1.8rem;
            left: calc(50% - 12.3rem/2 + 0.1rem);
            top: calc(50% - 1.8rem/2); }
            .tour-card-main .tour-card-content .button-container .enquire-btn .button-content .button-icon {
              width: 1.8rem;
              height: 1.8rem;
              font-family: 'Font Awesome 5 Pro';
              font-style: normal;
              font-weight: 300;
              font-size: 1.8rem;
              line-height: 1.8rem;
              display: flex;
              align-items: center;
              text-align: center;
              color: #fff; }
            .tour-card-main .tour-card-content .button-container .enquire-btn .button-content .button-text {
              width: 9.7rem;
              height: 1.8rem;
              font-family: 'Source Sans Pro';
              font-style: normal;
              font-weight: 400;
              font-size: 1.8rem;
              line-height: 1.8rem;
              display: flex;
              align-items: center;
              text-align: center;
              color: #fff;
              margin: 0; }
  .tour-card .cta-alt {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 0.5rem;
    width: 100%; }
    .tour-card .cta-alt .cta-alt-text {
      width: 40.7rem;
      height: 1.5rem;
      font-family: 'Source Sans Pro';
      font-style: normal;
      font-weight: 400;
      font-size: 1.2rem;
      line-height: 1.6rem;
      text-align: center;
      letter-spacing: 0.04em;
      color: #7c7c7c;
      margin: 0; }
  .tour-card .cta-2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 0.8rem;
    width: 40.7rem;
    height: 1.3rem; }
    .tour-card .cta-2 .custom-tour-btn {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      padding: 0 0.6rem;
      gap: 0.8rem;
      width: 14.6rem;
      height: 1.3rem;
      border-radius: 3.7rem;
      text-decoration: none;
      cursor: pointer;
      transition: opacity 0.3s ease; }
      .tour-card .cta-2 .custom-tour-btn:hover {
        opacity: 0.8; }
      .tour-card .cta-2 .custom-tour-btn .glitter-icon {
        background: linear-gradient(87.3deg, #fd23a5 0%, #5564ef 103.29%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; }
      .tour-card .cta-2 .custom-tour-btn .custom-tour-text {
        width: 11.8rem;
        height: 1.3rem;
        font-family: 'Source Sans Pro';
        font-style: normal;
        font-weight: 400;
        font-size: 1.2rem;
        line-height: 1.26rem;
        background: linear-gradient(87.3deg, #fd23a5 0%, #5564ef 103.29%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        margin: 0; }

.article-inline-ad {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  box-sizing: border-box;
  background: #f6f6f6;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  margin: 0;
  font-family: inherit; }
  .article-inline-ad__media {
    flex: 0 0 120px;
    max-width: 120px;
    overflow: hidden;
    border-radius: 12px 0 0 12px; }
    .article-inline-ad__media picture, .article-inline-ad__media img {
      display: block;
      width: 100%;
      height: 100%; }
    .article-inline-ad__media img {
      object-fit: cover; }
  .article-inline-ad__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    position: relative;
    min-width: 0; }
  .article-inline-ad__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.2rem;
    margin-bottom: 0.8rem; }
  .article-inline-ad__title {
    font-size: 1.8rem;
    line-height: 1.3;
    font-weight: 700;
    color: #333;
    margin: 0 !important; }
  .article-inline-ad__sponsored {
    flex: 0 0 auto;
    display: inline-block;
    padding: 0.3rem 1.2rem;
    border: 1px solid #d0d0d0;
    border-radius: 999px;
    background: #fff;
    font-size: 1.2rem;
    line-height: 1.4;
    color: #656565;
    white-space: nowrap; }
  .article-inline-ad__body {
    font-size: 1.5rem;
    line-height: 1.55;
    color: #333;
    margin: 0 0 1.2rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical; }
  .article-inline-ad__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    text-align: center;
    padding: 1rem 2.4rem;
    margin-top: auto;
    background: #c1282f;
    color: #fff;
    border-radius: 999px;
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease; }
    .article-inline-ad__cta:hover, .article-inline-ad__cta:focus {
      background: #a82329;
      color: #fff;
      text-decoration: none; }
    .article-inline-ad__cta:after {
      font-size: 1rem !important;
      top: 1px !important; }
  .article-inline-ad__cta-icon {
    flex: 0 0 auto; }
  @media (max-width: 767px) {
  .article-inline-ad {
    flex-direction: column;
    padding: 0;
    gap: 0;
    overflow: hidden; }
    .article-inline-ad__media {
      flex: 0 0 auto;
      max-width: none;
      width: 100%;
      border-radius: 0; }
      .article-inline-ad__media img {
        height: auto;
        object-fit: initial; }

    .article-inline-ad__content {
      padding: 1.6rem 1.6rem 2rem; }

    .article-inline-ad__title {
      font-size: 1.6rem; }

    .article-inline-ad__body {
      -webkit-line-clamp: 5; } }
  @media (min-width: 768px) {
  .article-inline-ad {
    height: 222px; }
    .article-inline-ad__media {
      border-radius: 12px 0 0 12px; }

    .article-inline-ad__content {
      padding: 24px; }

    .article-inline-ad__cta {
      display: inline-flex;
      align-items: center;
      align-self: flex-start; } }
