/*
Theme Name: Studio Veld - Fair
Theme URI: http://www.studioveld.com.au
Author: Studio Veld
Author URI: http://www.studioveld.com.au
Description: Custom Theme for FAIR
Version: 2.0
*/

:-webkit-any(article, aside, nav, section) h1 {
  margin-block-start: 0em;
  margin-block-end: 0em;
}

/* Desktop/H4 Sans */
.h4-sans {
  font-family: var(--default-font-family);
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: 32px;
  /* letter-spacing: -0.7px; */
}

/* Desktop/H2 */
.h2-noto,
h2 {
  font-family: var(--secondary-font-family-serif);
  /* font-size: 48px; */
  font-size: clamp(2.25rem, 3.5vw + 1rem, 3rem);
  font-style: normal;
  font-weight: 500;
  line-height: clamp(40px, 5vw, 56px); /* 116.667% */
}

h4 {
  /* Desktop/H4 Serif */
  font-family: var(--secondary-font-family-serif);
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 32px; /* 133.333% */
}
h5 {
  font-family: var(--secondary-font-family-serif);
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: 32px; /* 133.333% */
}

.bold {
  font-weight: 500;
}
ul {
  list-style-type: none;
  padding-left: 0;
}

ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 20px;
  font-family: var(--default-font-family);
  font-size: 1rem;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5rem;
}

ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 12px;
  height: 12px;
  background-color: #4aa3ba;
  border-radius: 50%;
}

ul li strong {
  font-weight: 500;
}
/* Desktop/H3 */
h3 {
  font-family: var(--secondary-font-family-serif);
  font-size: clamp(24px, 5vw, 32px);
  font-style: normal;
  font-weight: 500;
  line-height: 1.25; /* 125% */
}

.quote {
  /* Desktop/Quotes */
  font-family: var(--secondary-font-family-serif);
  font-size: 2rem;
  font-style: italic;
  font-weight: 500;
  line-height: 2.5rem; /* 125% */
}

a:focus,
button:focus,
.dropbtn:focus {
  outline: 0.5px dashed black; /* Highlight color */
  outline-offset: 2px;
}

.divider-section {
  grid-column: 1 / span 12;
}

.divider {
  content: "";
  background-color: #E5E7EB;

  /* position: absolute; */
  /* padding-left: var(--content-block-padding); */
  /* max-width: var(--max-width); */
}
.site-landing.site-landing {
  .title-with-image {
    .context-part {
      --column-2-width: 45%;
      --column-3-width: 45%;
    }
  }
}
.title-with-image {
  width: 100%;
  .row {
    padding-bottom: 56px;
  }
  .context-part {
    --column-2-width: 45%;
    --column-3-width: 45%;
  }

  .row-bottom .col {
    grid-column: 2 / 4;
  }
  .col-left {
   /*  padding-right: 24px; */
    .title {
      font-family: var(--secondary-font-family-serif);
      font-size: var(--tilte-font-size-large);
      font-style: normal;
      font-weight: 500;
      line-height: clamp(48px, 5vw, 64px);
    }
  }
  .col-right {
    display: flex;
    align-items: flex-end;
  }
  .row-bottom {
    img,
    video {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
    }
  }
}

.listing {
  padding-block: 0px 0;
  gap: 3rem;
  .listing__header {
    margin-bottom: 10px;
    padding: 0;
  }
  h3 {
    /* Desktop/H3 */
    font-family: "Noto Serif";
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.5rem; /* 125% */
  }

  .listing-container {
    /* column-gap: var(--article-card-three-col-gap); */
    row-gap: 48px;
    --column-2-width: calc(50% - var(--column-1-width));
    --column-3-width: calc(50% - var(--column-4-width));
    .listing__grid_container {
      grid-column: span 12;
      
      display: grid;
      column-gap: 24px;
    }
  }

  .listing-item {
    box-sizing: border-box;
  }

  .card-container {
    padding-top: 13px;
    padding-left: 21px;
    padding-right: 21px;
    height: calc(272px - 13px);
  }

  .listing-item:nth-child(odd) {
    .card-container {
      background: #61C2AA;
      /* padding: 0.81rem 0.63rem 3.83rem 1.31rem; */
    }
  }
  .listing-item:nth-child(even) {
    .card-container {
      background: #9CD9C5;
      /* padding: 0.81rem 0.63rem 3.83rem 1.31rem; */
    }
  }
  .listing-item:last-child {
    margin-bottom: 73px;
  }

  .listing-item .listing-card-header {
    .header::before {
      content: attr(data-step) " " attr(data-number);
      display: block;
      color: var(--GDS-Cloud-White, #fff);
    }

    .header {
      /* color: var(--Pure-Black, #000); */
      color: var(--Green-100, #0e1f1f);
    }
    .header-title {
      color: var(--Green-100, #0e1f1f);
      font-feature-settings: "clig" off, "liga" off;

      /* Desktop/H2 */
      font-family: var(--secondary-font-family-serif);
      font-size: clamp(1.5rem, 5dvw, 3rem);
      font-style: normal;
      font-weight: 500;
      line-height: 3.5rem;
    }
  }
  .context {
    padding-top: 23.77px;
    /* height: calc(175px - 23.77px); */
    min-height: 104px;
    display: flex;
    flex-direction: column;
    gap: 1rem;

    .title {
      position: relative;
      overflow: hidden;
      width: fit-content;
    }
    .title:hover {
      cursor: pointer;
    }
    .title::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 2px;
      bottom: 0;
      left: 0;
      background-color: var(--Pure-Black, #000);
      transform: scaleX(0);
      transform-origin: bottom right;
      transition: transform 0.3s ease-out;
    }

    .title:hover::after {
      transform: scaleX(1);
      transform-origin: bottom left;
    }
    .content {
      color: var(--Pure-Black, #000);
      font-weight: 300;
      line-height: 1.5rem; /* 150% */
      p {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        line-clamp: 4;
        box-orient: vertical;
      }
    }
  }
  .btn-container {
    width: 100%;
    display: flex;
    justify-content: center;

    .show-more {
      display: block;
      width: fit-content;
      text-align: center;
      padding: 0.75rem 2.5rem;
      color: var(--Pure-Black, #000);
      border: 1px solid var(--Pure-Black, #000);
      cursor: pointer;
      font-size: 1em;
    }
    .show-more:hover {
      background-color: lightgray;
    }

    .show-more span {
      font-size: 1em;
    }
  }

  .cta-btn {
    color: var(--Pure-Black, #000);
    /* CTA */
    font-family: var(--default-font-family);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5rem; /* 150% */
    position: relative;
    width: fit-content;
    transition: all 0.3s ease-in-out;
  }
  .cta-btn:hover {
    cursor: pointer;
  }
  .cta-btn::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -0.25rem;
    left: 0;
    background-color: var(--Pure-Black, #000);
    transform: scaleX(1);
    transform-origin: bottom left;
    transition: transform 0.3s ease-out;
  }

  .cta-btn:hover::after {
    transform: scaleX(0);
    transform-origin: bottom right;
  }
}

.site-landing {
  .content-container {
    border-left: 1px solid #ddd;
    width: 100%;
    padding-top: var(--context-padding-top);
    position: relative;
    grid-column: 3 /span 2;
    /* padding-left: 24px; */
  }

  .step-nav {
    height: 100vh;
    overflow-y: auto;
    position: sticky;
    top: 0%;
    background-color: white;
    /* height: fit-content; */
    grid-column: 2;
    padding-right: 24px;
    padding-top: var(--context-padding-top);

    .step a {
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
    }

    .step ul {
      display: none;
      list-style: none;
      padding-left: 0;
      width: 90%;
    }

    .step ul li {
      margin-bottom: 24px;
      color: var(--Pure-Black, #000);
      padding-left: 0;
    }
    ul li::before {
      content: "";
      position: absolute;
      display: none;
      left: 0;
      top: 5px;
      width: 12px;
      height: 12px;
      background-color: #4aa3ba;
      border-radius: 50%;
    }
    .step ul li:last-child {
      margin-bottom: 0;
    }

    .step.active ul {
      display: block;
    }
    .cta-btn:hover {
      cursor: pointer;
    }
    .step.active .title {
      padding-bottom: 8px;
      margin-bottom: 14px;
      width: auto;
    }
    .step a.current .title {
      /* text-decoration: underline; */
      text-decoration: underline;
      text-underline-offset: 7px;
    }
    li.current a {
      width: fit-content;
      text-decoration: underline;
      text-underline-offset: 7px;
    }
    .step .icon {
      transition: transform 0.3s ease;
      width: 24px;
      height: 24px;
    }

    .step.active .icon {
      transform: rotate(180deg);
    }

    .step {
     /*  border-bottom: 1px solid #e3e3e3; */
      padding-bottom: 24px;
      /* padding-top: var(--context-padding-top); */
    }
    .title {
      color: var(--Pure-Black, #000);
      font-feature-settings: "clig" off, "liga" off;

      /* CTA */
      font-family: "Noto Sans";
      font-size: 16px;
      font-style: normal;
      font-weight: 500;
      line-height: 26px; /* 150% */
    }
  }
}



.tab-style-two {
  padding-left: var(--content-block-padding);
  .tab-container {
    overflow: hidden;
    max-width: var(--max-width);
    margin: 0 auto;
    /* padding-block: 4.12rem 4rem; */
    gap: 2.94rem;
  }
  .tab-header {
    border-bottom: 1px solid var(--Grey-05, #e3e3e3);
  }
  .tab-header-custom {
    display: flex;
    gap: 48px;
  }
  .tab-button {
    cursor: pointer;
    text-align: center;
    border: none;
    background-color: transparent;
    padding-bottom: 0.94rem;
    position: relative;
    span {
      font-family: "Noto Sans";
      font-size: 1rem;
      font-style: normal;
      font-weight: 500;
      line-height: 1.5rem; /* 150% */
    }
  }
/*   .tab-button.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    border-bottom: 1px solid var(--Pure-Black, #000);
  } */
  /* .tab-button.active {
    border-bottom: 1px solid var(--Pure-Black, #000);
  } */
  .tab-content {
    display: none;
    margin-top: 31px;
  }
  .tab-content.active {
    display: flex;
    flex-direction: row;
  }
  .tab-pane img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin-right: 1.2rem;
  }
  .col-right {
    /* display: flex;
    flex-direction: column;
    gap: 1.5rem;
    flex: 1 1 40%;
    max-width: 66%; */
    strong {
      font-weight: 500;
    }
    ul {
      list-style-type: none;
      padding-left: 0;
    }

    ul li {
      position: relative;
      padding-left: 30px;
      margin-bottom: 20px;
      font-family: var(--default-font-family);
      font-size: 1rem;
      font-style: normal;
      font-weight: 300;
      line-height: 1.5rem;
    }

    ul li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 5px;
      width: 12px;
      height: 12px;
      background-color: #4aa3ba;
      border-radius: 50%;
    }

    ul li strong {
      font-weight: 500;
    }
    p {
      font-family: var(--default-font-family);
      font-size: 1rem;
      font-style: normal;
      font-weight: 300;
      line-height: 1.5rem; /* 150% */
    }
  }
  /*   .btn-primary {
    display: inline-block;
    padding: 10px 20px;
    color: white;
    text-decoration: none;
    border-radius: 5px;
  } */

  /*   .cta-btn {
    width: fit-content;
    color: var(--Pure-Black, #000);
    font-family: var(--default-font-family);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5rem; 
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--Pure-Black, #000);
  } */
}
.cta-more {
  font-family: var(--default-font-family);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
}

.content-vertical-tab {
  /* padding-left: var(--content-block-padding); */

  .container {
    display: flex;
    padding-block: 66px 68px;

    .col-left {
      display: flex;
      flex-direction: column;
      gap: 22px;
      .header-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 4px;
      }
    }
    .tab-button:hover {
      cursor: pointer;
      width: fit-content;
    }
/*     .tab-button:hover::after,
    .tab-button.active::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 2px;
      bottom: -0.25rem;
      left: 0;
      background-color: var(--Pure-Black, #000);
      transform: scaleX(1);
      transform-origin: bottom left;
      transition: transform 0.3s ease-out;
    } */
    .cta-more {
      position: relative;
      width: fit-content;
      span {
        color: var(--Pure-Black, #000);
      }
    }
    .cta-more span::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 1.5px;
      bottom: -0.25rem;
      left: 0;
      background-color: var(--Pure-Black, #000);
      transform: scaleX(1);
      transform-origin: bottom left;
      transition: transform 0.3s ease-out;
    }

    .cta-more:hover span::after {
      transform: scaleX(0);
      transform-origin: bottom right;
    }
    .tab-button.active {
      position: relative;
      width: fit-content;
    }
    .tab-content {
      display: none;
      opacity: 0;
      transition: all 0.5s ease-in-out;
    }
    .tab-content.active {
      opacity: 1;
      display: flex;
      flex-direction: column;
      transition: all 0.5s ease-in-out;
      gap: 16px;
    }
    .heading {
      margin-top: calc( 24px - 16px );
    }
    .col-right {
      display: flex;
      flex-direction: column;

      img {
        max-width: 629px;
        width: 100%;
        height: auto;
      }
    }

    .cta-btn:hover {
      cursor: pointer;
    }
    /* .cta-more span::after,
    .cta-btn.active::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 2px;
      bottom: -0.25rem;
      left: 0;
      background-color: var(--Pure-Black, #000);
      transform: scaleX(1);
      transform-origin: bottom left;
      transition: transform 0.3s ease-out;
    } */

    /* .cta-more:hover span::after {
      transform: scaleX(0);
      transform-origin: bottom right;
    } */
    .tab {
      position: relative;
      width: fit-content;
    }
    .tab.active::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 2px;
      bottom: -0.25rem;
      left: 0;
      background-color: var(--Pure-Black, #000);
      transform: scaleX(1);
      transform-origin: bottom left;
      transition: transform 0.3s ease-out;
    }
  }
}
.cta-more span {
  color: var(--Pure-Black, #000);
}
.testimonials {
  padding-left: var(--content-block-padding);
  .container {
    display: flex;
    padding-block: 66px 68px;
    gap: 55px;

    .col-left {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 22px;
      img {
        width: 230px;
        height: 230px;
      }
    }

    .col-right {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
      img {
        max-width: 629px;
        width: 100%;
        height: auto;
      }
    }
    .cta-more {
      color: var(--Pure-Black, #000);
      /* CTA */
      font-family: var(--default-font-family);
      font-size: 1rem;
      font-style: normal;
      font-weight: 500;
      line-height: 1.5rem; /* 150% */
      position: relative;
      width: fit-content;
    }
    .cta-btn:hover {
      cursor: pointer;
    }
    .cta-more span::after,
    .cta-btn.active::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 1.5px;
      bottom: -0.25rem;
      left: 0;
      background-color: var(--Pure-Black, #000);
      transform: scaleX(1);
      transform-origin: bottom left;
      transition: transform 0.3s ease-out;
    }

    .cta-more:hover span::after {
      transform: scaleX(0);
      transform-origin: bottom right;
    }
  }
}



.landing-listing {
  padding-left: var(--content-block-padding);
  padding-block: 0;
  grid-column: 1;
  .landing-card__row {
   /*  grid-template-columns: 24px minmax(780px, 930px); */

  }
  .container {
    display: flex;
    flex-direction: column;
    gap: 48px;
    margin-top: 31px;
  }

  .listing-card__container {
    grid-column: 2 / 4;
    display: grid;
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 48px;
  }
  header {
    padding: 15px 0 5px 18px;
    height: 308px;
  }

  .listing-card__card:nth-child(4n + 1) header,
  .listing-card__card:nth-child(4n + 4) header {
    background: var(--Green-50, #4fab9c);
  }
  .listing-card__card:nth-child(4n + 2) header,
  .listing-card__card:nth-child(4n + 3) header {
    background: var(--Green-30, #7ecdb4);
  }
  .listing-card__card:last-child {
    margin-bottom: 73px;
  }
  .listing-card__card {
    display: flex;
    flex-direction: column;
    width: var(--content-card-inside-width);
    max-width: var(--content-card-inside-width);
    gap: 16px;
    flex: 0 0 var(--content-card-inside-width);

    header h2::before {
      content: attr(data-number);
      display: block; /* Makes the content appear on a new line */
      color: var(--Pure-White, #fff);
    }

    .listing-card__card header h2 {
      display: block;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }

    .listing-card__card header h2::before {
      content: attr(data-number) " ";
      display: block; /* Ensures the number appears on a new line */
    }
  }
}

.media-container {
  position: relative;
  margin: 0 auto;
}

.video-controls {
  display: flex;
  gap: 2px;
  position: absolute;
  bottom: 7px;
  right: 8px;
}

.video-btn {
  background: transparent;
  border: 0px;
  cursor: pointer;
}

[data-menu="menu-2"] {
  .bg-black-for-third-box {
    background: #000000;
  }
}