/* Utilities */
.btn-pill {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 6.25rem;
  background-color: var(--_btn-clr);
  color: var(--_btn-txt-clr);
  padding: 1.25em 2.25rem;
  border: none;
  border-radius: 100vw;
  font-size: var(--_btn-fs, var(--fs-400));
  font-weight: var(--_btn-fw, var(--fw-700));
  text-align: center;
  text-wrap: nowrap;
  text-transform: uppercase;
  transition: all 180ms ease;

  a {
    all: unset;
  }

  &:hover {
    color: var(--_btn-clr);
    background-color: var(--_btn-txt-clr);
    outline: 1px solid var(--_btn-clr);

    transition: all 180ms ease;
  }

  &:has(.btn-icon),
  &:has(.bx) {
    --_btn-clr: var(--_btn-icon-clr);
    --_btn-txt-clr: var(--_btn-icon-txt-clr);

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.625rem;
  }

  &.btn-primary {
    --_btn-clr: var(--primary-clr);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-secondary {
    --_btn-clr: var(--secondary-clr);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-secondary-900 {
    --_btn-clr: var(--secondary-clr-900);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-tertiary {
    --_btn-clr: var(--tertiary-clr);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-tertiary-900 {
    --_btn-clr: var(--tertiary-clr-900);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-text-700 {
    --_btn-clr: var(--text-clr-700);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-outline,
  &.btn-outline-tertiary {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--tertiary-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-tertiary-900 {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--tertiary-clr-900);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-secondary-900 {
    --_btn-txt-clr: var(--secondary-clr-900);
    --_btn-clr: var(--white-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-primary {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--primary-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-secondary {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--secondary-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-secondary-900 {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--secondary-clr-900);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-text-700 {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--text-clr-700);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-fw-500 {
    --_btn-fw: var(--fw-500);
  }

  &.btn-sm {
    padding-block: 1rem;

    @media (width <=768px) {
      --_btn-fs: 0.875rem;
    }
  }

  &.btn-md {
    padding-inline: 1.625rem;
  }

  &.btn-xl {
    padding: 1rem 2.5rem;
  }

  &.btn-2xl {
    width: 13.5rem;
  }

  &.btn-3xl {
    padding: 0.875rem;
    width: 20.5rem;
  }

  &.btn-full {
    width: 100%;
  }

  &.btn-partner {
    border: none;
    border-bottom: 2px solid var(--secondary-clr);

    &:hover {
      outline: none;
      border-bottom-color: var(--white-clr);
    }
  }
}

.h1 {
  font-weight: var(--fw-900);
  font-size: var(--fs-1000);
  line-height: 1.14;
}

h2 {
  margin-bottom: 0;
  color: var(--tertiary-clr-900);
}

/* End of Utilities */

/* Css Only Carousel */

/* End of Css Only Carousel */

.wrapper {
  --_max-width: 1600px;

  @media (width <=768px) {
    --_gap: 0px !important;
  }
}

/* Pre Hero */
.pre-hero,
.pre-hero-2 {
  --_gap: 3rem !important;
  @media (width <=1024px) {
    --_gap: 2rem !important;
  }
  @media (width <=768px) {
    /* --_gap: 1.125rem !important; */
    --_gap: 0rem !important;
  }

  .pre-hero-content {
    position: relative;
    isolation: isolate;
    border-radius: 3rem 3rem 0 0;

    display: grid;
    grid-template-areas: "stack";

    > * {
      grid-area: stack;
    }
  }

  .breadcrumb {
    z-index: 2;
    align-self: end;
    justify-self: start;
    padding: 2.25rem 4.5rem;
    font-size: var(--fs-400);
    font-weight: var(--fw-500);
    a {
      color: #bebebe;
    }

    .current {
      color: var(--white-clr);
    }
  }

  .hero-img {
    &::before {
      content: "";
      position: absolute;
      z-index: 1;
      background: linear-gradient(0deg, #2c2f4a 0%, rgba(44, 47, 74, 0) 45%);
      inset: 0;
      border-top-left-radius: 2.25rem;
      border-top-right-radius: 2.25rem;
    }

    img {
      width: 100%;
      min-height: 350px;
      max-height: 400px;
      border-top-left-radius: 2.25rem;
      border-top-right-radius: 2.25rem;
      object-fit: cover;
      object-position: center 67.5%;
    }
  }
}
.pre-hero-2 {
  .hero-img {
    img {
      object-position: center;
    }
  }
}
/* End of Pre Hero */

.icon-key-value {
  display: flex;
  gap: 0.375rem;
  align-items: center;
  justify-content: center;
}

.card-tag {
  padding: 0.375rem 0.5rem;
  background-color: var(--_card-bg-clr, #f8f8f9);
  border: 1px solid var(--_card-border-clr, #c8cad9);
  font-size: var(--_card-tag-fs, var(--fs-200));
  font-weight: var(--_card-tag-fw, var(--fw-500));
  line-height: var(--_card-line-height, 0.97);
  border-radius: 100vw;

  &.affiliated {
    --_card-tag-fs: 0.875rem;
    --_card-bg-clr: #def5e8;
    --_card-border-clr: #9ff7c5;

    padding: 0.375rem 0.75rem;
    color: var(--text-clr-700);
  }

  &.expired {
    --_card-tag-fs: 0.875rem;
    --_card-tag-fw: var(--fw-500);
    --_card-bg-clr: #f42b3f;

    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem;
    color: var(--white-clr);
    border-radius: 100vw;
  }
}

:root {
  --wrapper-padding-inline: clamp(2.25rem, 2.4vw + 1rem, 3.125rem);
  --wrapper-padding-inline: clamp(1.125rem, 1.5vw + 1rem, 3.125rem);
}

/* Hero */

.hero-content {
  padding: 1.5rem var(--wrapper-padding-inline);
  display: grid;
  /* grid-template-columns: 1fr 350px; */
  gap: 2rem;
  background-color: #fcfcfc;
  border-inline: 1px solid #e1e1ed;

  @media (width >1200px) {
    gap: 5.375rem;
    grid-template-columns: 1fr 350px;
  }

  .column:first-child {
    padding-block: 1.125rem;
  }

  .card-tag {
    --_card-bg-clr: var(--white-clr-900);
  }

  header {
    display: flex;
    gap: 1.125rem;
    flex-direction: column-reverse;

    h2 {
      max-width: 20ch;
      font-weight: var(--fw-700);
      font-size: var(--fs-800);
      line-height: 1;
      text-wrap: balance;
      color: var(--text-clr-700);
    }

    p {
      font-weight: var(--fw-500);
      font-size: var(--fs-500);
      line-height: 0.97;
      color: #64678c;

      a {
        color: inherit;

        &:hover {
          text-decoration: underline;
        }
      }
    }
  }

  .article-summary {
    margin-block: 1.5rem;
    padding-block: 1.5rem;
    display: flex;
    gap: 1.125rem;
    border-block: 1px solid var(--white-clr-900);

    .icon-key-value:not(:last-child) {
      display: block;

      /* @media (width<= 600px) { */
      /* @media (width<=1024px) {
        padding-bottom: 1rem;
        border-bottom: 1px solid #f2f2f8;
      }

      @media (width> 1024px) {
        padding-right: 1.125rem;
        border-right: 1px solid #f2f2f8;
      } */
    }

    .icon-key-value {
      display: flex !important;
      gap: 0.375rem;

      /* @media (width <= 600px) { */
      @media (width <=1024px) {
        justify-content: start;
      }
    }
  }

  .icon-key {
    flex-shrink: 0;
  }

  .course-overview {
    color: var(--text-clr-700);

    h3 {
      margin-bottom: 1.25rem;
      font-weight: var(--fw-700);
      font-size: var(--fs-550);
      line-height: 1.1;
    }

    p {
      /* text-wrap: balance; */
      /* text-wrap: pretty; */
    }

    .readmore-btn {
      background-color: transparent;
      border: none;
      text-decoration: underline;
      padding-top: 0.25rem;
      font-weight: var(--fw-500);
      color: var(--text-clr-700);
    }
  }

  footer {
    --_footer-gap: 0.5rem;

    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: var(--_footer-gap);
    /* max-width: 420px; */
    .btn-pill {
      --_btn-fw: var(--fw-500);
      --_btn-fs: 0.875rem;
      /* width:  fit-content; */
      min-width: 200px;
      padding: 0.75rem 1.75rem;
      /* width: calc(min(24.5%, 420px) - var(--_footer-gap)); */
      /* flex-shrink: 0; */
      /* flex-grow: 1; */
      /* flex-basis: auto; */
      height: 44px;

      @media (width <= 480px) {
        width: 100%;
      }
    }
  }
}

.hero-wrapper2 {
  .column:first-child {
    .card-tags {
      margin-top: 1rem;
    }
  }

  .column:last-child {
    @media (768px <= width <=1200px) {
      display: grid;
      grid-template-columns: 1fr 300px;
      gap: 0.75rem;

      .contact-person-details {
        margin-top: 0;
      }
    }
  }
  .article-summary {
    padding-block: 0.875rem;
    margin-block: 0.875rem;
  }
}

/* .providers-hero-wrapper { */
.providers-hero-wrapper {
  @media (width <= 600px) {
    .article-summary {
      padding-block: 1rem;
      flex-direction: column;
    }

    .icon-key-value:not(:last-child) {
      padding-bottom: 0.25rem !important;
    }
  }
}

.courses-hero-wrapper {
  @media (width <= 768px) {
    .article-summary {
      padding-block: 1rem;
      flex-direction: column;
    }

    .icon-key-value:not(:last-child) {
      padding-bottom: 0.25rem !important;
    }
  }
}

.provider-summary-card {
  @media (768px <= width <=1200px) {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    .provider-summary-body,
    .provider-ranks {
      display: contents;
    }

    /* .provider-rank:first-child {
      order: 0;
    }
    .provider-rank:last-child {
      order: 2;
    } */

    /* order: 1; */
    .summary-img {
      flex-grow: 1;
      align-content: center;
      /* aspect-ratio: 1; */
    }
  }
}
.provider-summary-card,
.course-summary-card {
  padding: 1.5rem;
  border-radius: 1.5rem;

  background: radial-gradient(
      96.6% 96.59% at 98.34% 100.08%,
      rgba(100, 40, 87, 0.35) 0%,
      rgba(155, 32, 100, 0.35) 100%
    ),
    radial-gradient(193.7% 135.63% at 2.35% 100.08%, #2c2f4a 0%, #642857 100%),
    #892360;
}

.summary-img {
  padding: 0.875rem 1.5rem;
  background-color: var(--white-clr);
  border-radius: 0.75rem;
  border: 1px solid #e1e1ed;
  img {
    max-height: 100px;
    width: 100%;
    object-fit: contain;
  }
}

.provider-summary-body,
.course-summary-body {
  --_course-summary-body-gap: 0.625rem;

  margin-top: 1.5rem;
  .icon-key-value {
    align-items: start;
    flex-direction: column;
    gap: 0.125rem;
    &:not(:last-child) {
      padding-bottom: var(--_course-summary-body-gap);
      margin-bottom: var(--_course-summary-body-gap);
      border-bottom: 1px solid var(--secondary-clr-900);
    }
  }

  .icon-key {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 0.25rem;
    font-size: 0.875rem;

    color: #b0b1be;
  }

  .icon-value {
    color: var(--white-clr);
  }
}

.provider-ranks {
  display: grid;
  gap: 0.75rem;
}

.provider-rank {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  flex-basis: 200px;
  border: 1px solid var(--secondary-clr-900);
  border-radius: 0.75rem;
  background-color: var(--text-clr-700);

  /* &:first-child {
    margin-right: -0.75rem;
  } */
}
.provider-rank-icon {
  width: 30px;
  height: 30px;
}
.provider-rank-title {
  font-weight: 500;
  font-size: 14px;
  line-height: 97%;
  letter-spacing: 0%;
  color: #d1d4f7;
}
.provider-rank-value {
  padding-block: 0.75rem 1.125rem;
  font-weight: 700;
  font-style: Bold;
  font-size: 36px;
  line-height: 97%;
  color: var(--white-clr);
}

.provider-rank-global {
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  line-height: 97%;
  letter-spacing: 0%;
  text-align: center;
  color: #2c2f4a;

  display: flex;
  gap: 0.375rem;
  padding: 0.375rem 0.5rem;
  border: 1px solid #e5e5ef;
  border-radius: 100vw;
  background-color: #f5f5fa;

  img,
  svg {
    width: 1.1rem;
    height: 1.1rem;
  }
}

.event-summary-card {
  padding: 1.5rem;
  border-radius: 1.5rem;
  border: 1px solid #e1e1ed;
  background-color: var(--white-clr);
  .icon-key-value {
    justify-content: space-between;
    font-size: 0.875rem;
  }

  .icon-key {
    display: flex;
    align-items: center;
    gap: 0.375rem;
  }

  .box {
    cursor: pointer;
    transition: background-color 300ms ease, border-color 300ms ease;

    &:hover {
      background-color: var(--white-clr-900);
      border-color: var(--border-clr-800);
    }
  }
}

.virtuL-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 0.75rem;

  .span-all {
    grid-column: 1/-1;
  }

  .box {
    padding: 1.125rem;
    border-radius: 0.75rem;
    border: 1px solid #e1e1ed;
    color: var(--text-clr-700);
    background-color: #fcfcff;

    &:not(.span-all) {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.75rem;
    }

    a {
      --_line-clamp: 1;
      display: block;
      font-family: var(--ff-inter);
      font-size: 0.875rem;
      font-weight: var(--fw-500);
      color: var(--text-clr-700);
      text-decoration: underline;
    }

    span {
      font-family: var(--ff-roboto);
      font-size: 0.75rem;
      letter-spacing: 1px;
      font-weight: var(--fw-600);
      text-transform: uppercase;
    }
  }
}

.event-summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;

  span {
    color: var(--text-clr-700);
  }

  .expired {
    --_card-bg-clr: #f42b3f;
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
  }
}

.event-summary-body {
  margin-block: 1.125rem 0.75rem;
  padding-block: 1.125rem;
  border-block: 1px solid #e8e8f7;

  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}

.contact-person-details {
  margin-top: 0.75rem;

  .event-summary-body {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}
/* End of Hero */

/* Goals */

.goals-content {
  background-color: #fcfcfc;
  border-inline: 1px solid #e1e1ed;
  /* padding-: 1.5rem; */
  padding-inline: var(--wrapper-padding-inline);
}

.goals-list {
  /* padding: 3rem; */
  padding: var(--_goals-list-padding, clamp(2.25rem, 2.4vw + 1rem, 3rem));
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  border-radius: 1.5rem;
  border: 1px solid #e9e9f1;

  @media (width <= 768px) {
    flex-direction: column;
  }
}

.goal-item {
  display: flex;
  gap: 1.125rem;
}

.goal-aside {
  /* flex-grow: 1; */
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
}

.goal-icon {
  flex-shrink: 0;

  &::after {
    margin-top: 0.75rem;
    height: var(--_goal-line-height, 50%);
    width: 1px;
    content: "";
    display: block;
    margin-inline: auto;
    border-left: 1px solid #e1e1ed;
  }
}

.goal-content {
  color: var(--text-clr-700);

  h3 {
    height: 44px;
    align-content: center;
    font-weight: var(--fw-700);
    font-size: 1.125rem;
    line-height: 1.1;
  }

  p {
    line-height: 1.35;
    max-width: 25ch;
  }

  .goals-list {
    @media (width <= 1024px) {
      flex-direction: column;

      .goal-aside {
        flex-direction: row;
      }
    }
  }

  .goal-icon {
    &::after {
      @media (width <= 1024px) {
        border-left: none;
        border-bottom: 1px solid #e1e1ed;
        width: 100%;
        --_goal-line-height: 10px;
      }
    }

    @media (width <= 1024px) {
      display: flex;
      flex-direction: row-reverse;
      gap: 1rem;
    }
  }
}

.achievements {
  padding: min(7%, 2.625rem) min(7%, 3rem);
  display: flex;
  justify-content: space-between;
  border-radius: 1rem;
  /* border: 1px solid var(--tertiary-clr-900); */
  border: 1px solid #e8e8f7;
  /* border: 1px solid var(--secondary-clr-900); */
  background-color: var(--text-clr-700);
  gap: 2rem;
  @media (width <=768px) {
    gap: 2rem;
    flex-direction: column;
    text-align: center;

    svg,
    small {
      margin-inline: auto;
    }
  }
}

.achievement {
  /* text-align: center; */

  > * {
    display: block;
  }

  color: var(--white-clr);
  span {
    padding-block: 1.5rem 1rem;
    font-size: var(--fs-850);
    font-weight: var(--fw-700);
    line-height: 1.1;
    font-size: 1.125rem;
  }

  small {
    line-height: 1.35;
    max-width: 29ch;
  }
}

.separator {
  width: 1px;
  background: var(--secondary-clr-900);

  @media (width <=768px) {
    height: 1px;
    margin-inline: auto;
    width: min(100%, 92px);
  }
}
/* End of Goals */

/* Main */
.main-content {
  padding-block: 1.5rem 2.25rem;
  padding-inline: var(--wrapper-padding-inline);
  background-color: #fcfcfc;
  border-inline: 1px solid #e1e1ed;
  @media (width <= 768px) {
    .main-body {
      padding: 1.25rem 1.25rem 2.25rem;
    }

    .pill-tabs {
      margin-inline: auto;
      width: fit-content;
      .tab {
        min-width: revert !important;
        max-width: 140px !important;
      }
    }
  }

  @media (width <= 600px) {
    padding-inline: 0;
  }
}

.main-body {
  padding: 2.25rem 2.25rem 3rem;

  display: grid;
  gap: 0.75rem;
  border-radius: 1.5rem;
  background: linear-gradient(0deg, #892360, #892360),
    radial-gradient(
      96.59% 96.59% at 98.34% 100.08%,
      rgba(100, 40, 87, 0.35) 0%,
      rgba(155, 32, 100, 0.35) 100%
    );
}

.responsive-tabs {
  padding-bottom: 1.5rem;
  position: sticky;
  top: 97px;
  z-index: 50;
  background: linear-gradient(0deg, #892360, #892360),
    radial-gradient(
      96.59% 96.59% at 98.34% 100.08%,
      rgba(100, 40, 87, 0.35) 0%,
      rgba(155, 32, 100, 0.35) 100%
    );
}

.details-section {
  scroll-margin-top: 4rem;

  padding: clamp(1rem, 1.5vw + 0.8rem, 2.25rem);
  border-radius: 1.125rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  background-color: var(--text-clr-700);
  border: 1px solid var(--secondary-clr-900);

  @media (width <= 1024px) {
    grid-template-columns: 100%;
  }

  .column.col-span-2 {
    grid-column: 1/-1;

    --_text-max-width: auto;
    /* p{

    } */
  }

  .column:first-child {
    color: var(--white-clr);

    header {
      display: flex;
      flex-direction: column-reverse;
    }

    h3 {
      padding-block: 1.5rem;
      font-weight: var(--fw-700);
      font-size: var(--fs-600);
      line-height: 1.1;
    }

    p {
      max-width: var(--_text-max-width, 32ch);
      font-weight: var(--fw-400);
      line-height: 1.35;
    }
  }
  .description-card {
    padding: 1.5rem;
    border-radius: 0.75rem;
    background-color: var(--white-clr);
    box-shadow: 0px 0px 30px 0px hsl(from var(--text-clr-700) h s l / 0.5);

    h4 {
      margin-bottom: 1.5rem;
      padding-bottom: 1.125rem;
      font-weight: var(--fw-500);
      color: var(--text-clr-700);
      border-bottom: 1px solid #e8e8f7;
    }

    p {
      font-size: 0.875rem;
      line-height: 1.4;
      color: #4b4f74;
    }

    .icon-key-value {
      margin-top: 1.5rem;
      padding: 0.75rem;
      justify-content: space-between;
      border-radius: 0.5rem;
      background-color: #fcfcfc;
      border: 1px solid #e9e9f1;
    }
    .icon-key {
      display: flex;
      align-items: center;
      gap: 0.375rem;
    }

    .icon-key-text {
      font-weight: var(--fw-500);
      font-size: 0.875rem;
      line-height: 1;
      color: #a9a9b8;
    }
    .icon-value {
      font-family: Satoshi;
      font-weight: 700;
      font-style: Bold;
      font-size: 14px;
      line-height: 140%;
      letter-spacing: 0%;

      color: #4b4f74;
    }
  }

  .icon-list {
    --_readmore-collapsed-height: 245px;

    padding: 1.5rem;
    border-radius: 0.75rem;
    background-color: var(--white-clr);
    box-shadow: 0px 0px 30px 0px hsl(from var(--text-clr-700) h s l / 0.5);

    dt,
    li {
      display: flex;
      gap: 0.375rem;
      align-items: center;
      margin-bottom: 0.5rem;
    }

    li {
      font-weight: var(--fw-500);
      line-height: 0.97;

      color: var(--text-clr-700);
      &:not(:last-child) {
        padding-bottom: 1.125rem;
        margin-bottom: 1.125rem;
        border-bottom: 1px solid #f2f2f8;
      }
    }

    .icon {
      flex-shrink: 0;
    }

    dd {
      font-size: 0.875rem;
      line-height: 1.35;

      &:not(:last-child) {
        padding-bottom: 0.875rem;
        margin-bottom: 0.875rem;
        border-bottom: 1px solid #f2f2f8;
      }
    }

    h4 {
      font-weight: var(--fw-500);
      line-height: 0.97;

      color: var(--text-clr-700);
    }

    .btn-pill {
      --_btn-fs: 0.875rem;
      --_btn-fw: var(--fw-500);
      height: 44px;
    }
  }

  .fees-summary {
    padding: 1.5rem;
    border-radius: 0.75rem;
    background-color: var(--white-clr);
    box-shadow: 0px 0px 30px 0px hsl(from var(--text-clr-700) h s l / 0.5);

    h4 {
      font-weight: var(--fw-700);
      font-size: 1.25rem;
      line-height: 1.1;
      color: var(--text-clr-700);
    }

    .other-fees {
      margin-block: 2.25rem;
    }

    .fee-disclaimer {
      padding: 0.875rem;
      color: var(--secondary-clr-900);
      border-radius: 0.75rem;
      border: 1px solid #ebebf3;
      text-align: center;

      p {
        margin-inline: auto;
        max-width: 35ch;
        line-height: 1.1;
      }
    }
  }

  .fee-list {
    margin-top: 1.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;

    .separater {
      grid-column: 1/-1;
      border-top: none;
      margin-block: 1.125rem;
      border-color: #f2f2f8;
    }

    dt {
      height: 12.15px;
      font-weight: var(--fw-500);
      line-height: 0.97;
      color: var(--secondary-clr-900);
    }

    dl {
      height: 12.15px;
      justify-self: end;
      font-weight: var(--fw-700);
      line-height: 1.35;
      color: var(--text-clr-700);
    }
  }
}
.accommodation-section {
  --_text-max-width: auto;

  .column:last-child {
    display: grid;
    gap: 0.625rem;
  }

  .accomodation-subsection {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* gap: 3rem; */
    gap: 2.25rem 1.5rem;

    @media (width <= 1024px) {
      grid-template-columns: 100%;
    }
    @media (width > 1024px) {
      p {
        grid-column: 2;
      }
    }
  }

  h4 {
    font-weight: var(--fw-700);
    font-size: var(--fs-500);
    line-height: 1.1;
    border-bottom: 1px solid var(--secondary-clr);
    padding-bottom: 1rem;
    /* margin-bottom: 1rem; */
    /* &:not(:first-child) {
      padding-top: 2.25rem;
    } */
  }
}

.facilities-section {
  hr {
    padding-block: 1.5rem 0.75rem;
    border: none;
    border-bottom: 1px solid var(--secondary-clr-900);
  }
}

.entry-section {
  .pill-tabs {
    --_slide-fs: 0.875rem;
    --_slide-lh: 1;
    --_tab-border: 1px solid var(--secondary-clr-900);
    --_tab-bg-clr: var(--text-clr-700);
    --_tab-clr: var(--white-clr);
    --_tab-active-bg-clr: var(--secondary-clr-900);
    --_tab-mx: none;

    margin-bottom: 0.75rem;
  }
  .tab {
    text-transform: revert;
  }
}

.location-section {
  /* --_goal-line-height: 125%; */
  --_goal-line-height: 110px;

  scroll-margin-top: 4rem;
  padding: 2.25rem 1.5rem;
  background-color: #fcfcfc;
  border-radius: 1.125rem;
  border: 1px solid #f4f4f9;

  h3 {
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: var(--fw-700);
    font-size: 1.5rem;
    line-height: 1.1;
    color: var(--text-clr-700);
  }

  > p {
    line-height: 1.35;
    max-width: 45ch;
    color: var(--text-clr-700);
  }

  .goals-list {
    --_goals-list-padding: clamp(2.25rem, 2.4vw + 1rem, 3rem) 0;
    border: none;
    margin-inline: none;
    display: grid;
    gap: 2rem 1rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  }

  .location-disclaimer {
    margin-inline: auto;
    max-width: 440px;
    padding: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    color: var(--secondary-clr-900);
    text-align: center;
    border-radius: 0.75rem;
    border: 1px solid #ebebf3;

    span {
      font-weight: var(--fw-700);
    }

    small {
      margin-inline: auto;
      max-width: 35ch;
      line-height: 1.1;
    }
  }
}

.benefits-section {
  gap: 2.25rem 1.5rem;
  padding-bottom: 3.75rem;
  .span-all {
    grid-column: 1/-1;
  }

  .column:first-child {
    header {
      flex-direction: row;
      gap: 1.5rem;
      align-items: center;
      padding-bottom: 0.75rem;
      border-bottom: 1px solid var(--secondary-clr-900);
      margin-bottom: 0.75rem;
    }

    h3 {
      padding-block: 0;
    }

    .section-icon {
      order: -1;
    }
  }

  h4 {
    font-weight: var(--fw-700);
    font-size: var(--fs-500);
    line-height: 1.1;
    border-bottom: 1px solid var(--secondary-clr);
  }

  h4,
  p {
    color: var(--white-clr);
  }

  /* p:last-child {
    margin-bottom: 0.75rem;
  } */
}

.providers-section {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  /* grid-auto-flow: row;
  grid-auto-rows: 195px; */
  gap: 0.625rem;
  .span-all {
    grid-column: 1/-1;
  }

  .column:first-child {
    header {
      flex-direction: row;
      gap: 1.5rem;
      align-items: center;
      padding-bottom: 0.75rem;
      border-bottom: 1px solid var(--secondary-clr-900);
      margin-bottom: 0.75rem;
    }

    h3 {
      padding-block: 0;
    }

    .section-icon {
      order: -1;
    }
  }

  .institution {
    height: 195px;
    padding: 3rem;

    border-radius: 1.125rem;
    border: 1px solid #e9e9f1;
    background-color: #fcfcff;
    filter: grayscale(1);

    img {
      align-content: center;
      margin-inline: auto;
      width: 100%;
      height: 100%;
      object-fit: contain;
      align-content: center;
      margin-inline: auto;
    }
  }
}

.round-btns {
  width: fit-content;
  display: flex;
  gap: 1.5rem;

  .prev-btn,
  .next-btn {
    cursor: pointer;
    width: 3rem;
    height: 3rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: none;
    color: var(--white-clr);
    background-color: var(--secondary-clr-900);
    border: 1px solid #bc6193;

    &:hover {
      background-color: var(--white-clr);
      color: var(--secondary-clr-900);
    }

    &:disabled {
      color: var(--white-clr);
      background-color: var(--border-clr);
      outline: 1px solid var(--white-clr);
    }

    svg {
      margin: auto;
    }
  }
}

.gallery-section {
  .span-all {
    grid-column: 1/-1;
  }
  .column:first-child {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2.25rem;
    justify-content: space-between;
    height: 3rem;
    header {
      display: block;
    }

    h3 {
      padding-block: 0;
    }
    .separator {
      flex-grow: 1;
      border-top: none;
      border-color: var(--secondary-clr-900);
    }
  }

  .gallery-slider {
    overflow-x: clip;
    overflow-clip-margin: 1rem;
  }

  .gallery-list {
    --_card-list-gap: 0.625rem;
    --_card-size: 50%;

    @media (width <=1024px) {
      --_card-size: 100%;
    }
    /* --_card-size: 0.5fr; */
    display: grid;

    /* grid-template-columns: 1fr 1fr; */
    grid-auto-flow: column;
    grid-auto-columns: var(--_card-size);

    /* grid-template-rows: 1fr 1fr; */
    grid-template-rows: repeat(2, 296px);
    gap: var(--_card-list-gap);

    /* margin-right: calc(var(--_card-list-gap) * -1); */
    /* > :nth-child(2n + 3) {
      grid-column: 1/-1;
    } */

    > * {
      margin-right: var(--_card-list-gap);
    }
  }

  .gallery-img {
    border-radius: 1.125rem;
    /* overflow: hidden; */
    contain: paint;
    img {
      border-radius: 1.125rem;
      height: 100%;
      width: 100%;
      object-fit: cover;
      transition: scale 500ms cubic-bezier(0.215, 0.61, 0.355, 1);

      &:hover {
        scale: 1.15;
      }
    }

    &.active {
      outline: 2px solid var(--secondary-clr-900);
      box-shadow: 0 0 30px hsl(from var(--secondary-clr-900) h s l);
      img {
        scale: 1.15;
      }
    }

    &:first-child {
      grid-row: 1/-1;
    }
  }
}
/* End of Main */

/* Similar Courses */

.similar-content {
  padding-inline: clamp(1.25rem, 3vw + 1.5rem, 5rem);
  padding-bottom: 4.5rem;
  margin-bottom: 3rem;
  border-bottom-left-radius: 2.25rem;
  border-bottom-right-radius: 2.25rem;
  border-inline: 1px solid #e1e1ed;
  border-bottom: 1px solid #e1e1ed;
  background-color: #fcfcfc;

  @media (width <= 600px) {
    padding-inline: var(--wrapper-padding-inline);
    padding-bottom: clamp(2rem, 5vw + 0.5rem, 4.5rem);

    header {
      text-align: center;
      .btn-pill,
      hr {
        display: none;
      }
    }
    footer {
      margin-top: 1rem;
    }
  }

  @media (width > 600px) {
    footer {
      display: none;
    }
  }

  h2 {
    font-weight: var(--fw-900);
    font-size: var(--fs-700);
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--text-clr-700);
  }

  > header {
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 2.25rem;
    hr {
      flex-grow: 1;
      border-top: none;
      border-color: #d2d5ed;
    }

    .btn-pill {
      --_btn-fs: 0.875rem;
      --_btn-fw: var(--fw-500);
      height: 44px;
    }
  }
}

.course-cards-list {
  /* grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); */
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  grid-auto-flow: row;
  grid-auto-rows: minmax(622px, 100%);

  /* .course-card:has(.expanded) .course-card:has(:not(.expanded)) {
    align-self: start;
    background-color: green;
    } */

  @media (width>=1322px) {
    .course-card:last-child {
      display: none;
    }
  }
}

.event-cards-list {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  @media (1242px<=width<1574px) {
    .event-card:last-child {
      display: none;
    }
  }
}
/* End of Similar Courses */
.share-links-popover {
  margin: auto;
  padding: 1.25rem;
  border-radius: 1.5rem;
  border: 1px solid #e1e1ed;
  background-color: var(--white-clr);
  box-shadow: 0 0 3rem hsl(from var(--black-clr) h s l / 0.3);

  #st-1 {
    display: flex;
  }

  .st-btn {
    background-color: var(--secondary-clr-900) !important;
    display: block !important;
  }
}

/* Form */
.location-section {
  &:has(form) {
    .form-title {
      justify-content: center;
    }
  }

  form {
    scroll-margin-top: 12rem;
    width: min(100%, 500px);
    margin-inline: auto;

    margin-top: 1.5rem;
    display: grid;
    gap: 0.75rem;
    font-family: Inter, "Lato", "sans-serif";
    position: relative;

    .btn-pill {
      margin-top: 0.75rem;
    }

    @media (width>600px) {
      grid-template-columns: 1fr 1fr;

      .span-2 {
        grid-column: span 2;
      }
    }
  }
}

/* End of Form */

/* Providers Card */

.provider-cards-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 0.5rem;

  .card-tags {
    max-height: 74px;
    overflow-y: clip;
    margin-block: 1.125rem;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 0.375rem;
  }

  @media (width >= 1322px) {
    .provider-card:last-child {
      display: none;
    }
  }
}

.provider-card {
  padding: 1.5rem;
  display: flex;
  gap: 1.5rem;
  border: 1px solid #e8e8f7;
  border-radius: 1.5rem;
  background-color: var(--white-clr);
  transition: all 180ms ease;

  a {
    display: contents;
    color: var(--text-clr);
  }

  &:hover {
    border-color: var(--tertiary-clr-900);
    box-shadow: 0px 0px 20px 2px hsl(from var(--tertiary-clr-900) h s l / 0.15);
  }

  /* @media (width <=600px) { */
  /* @media (width <=1024px) { */
  --_provider-ranks-gap: 0.75rem;
  padding: 1.125rem;
  flex-direction: column;

  .card-body {
    flex-direction: column;
  }

  .provider-card-logo {
    flex-shrink: 0;
    flex-basis: 200px;
    outline: 1px solid #e1e1ed;
    border-radius: 0.75rem;
    background-color: #fcfcff;
    display: flex;
    align-items: center;
    justify-content: center;

    /* @media (width <= 600px) { */
    @media (width <=1024px) {
      padding: 0.75rem;
      flex-basis: 100px;
    }
  }

  .provider-card-header {
    /* line-height: 0.97; */
    h3 {
      --_line-clamp: 1;
      margin-top: 0.625rem;
      font-weight: var(--fw-700);
      font-size: 1.25rem;
      color: var(--tertiary-clr-900);

      a {
        color: inherit;

        &:hover {
          text-decoration: underline;
        }
      }
    }

    > span {
      font-weight: var(--fw-500);
      font-size: var(--fs-400);
      color: var(--secondary-clr-800);
    }
  }

  .icon-key-value {
    justify-content: start;
  }

  .provider-ranks {
    /* @media (width >1024px) { */
    display: contents;
    /* } */
  }

  .provider-ranks {
    display: flex;
    gap: var(--_provider-ranks-gap);
  }

  .provider-rank {
    padding: 1rem;
    flex-basis: calc(50% - var(--_provider-ranks-gap) / 2);
  }

  .provider-ranks {
    max-height: 0px;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease-in-out, opacity 0.3s;

    &.expanded {
      opacity: 1;
      max-height: 180px !important;
    }
  }

  .provider-card-header {
    .card-tag {
      font-size: 0.875rem;
      padding: 0.375rem 0.875rem;
    }
  }

  .provider-card-details {
    /* margin-right: auto; */
    /* flex-shrink: 0; */
    flex-grow: 1;

    & + .provider-rank {
      margin-right: -0.75rem;
    }
  }

  .provider-rank {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    /* flex-basis: 200px; */
    border: 1px solid #e1e1ed;
    border-radius: 0.75rem;
    background-color: #fcfcff;

    /* &:first-child {
    margin-right: -0.75rem;
  } */
  }

  .provider-rank-icon {
    width: 30px;
    height: 30px;
  }

  .provider-rank-title {
    font-weight: 500;
    font-size: 14px;
    line-height: 97%;
    letter-spacing: 0%;
    text-align: center;
    color: #9496b1;
  }

  .provider-rank-value {
    padding-block: 0.75rem 1.125rem;
    font-weight: 700;
    font-style: Bold;
    font-size: 36px;
    line-height: 97%;
    color: #2c2f4a;
  }

  .provider-rank-global {
    font-weight: 500;
    font-style: Medium;
    font-size: 16px;
    line-height: 97%;
    letter-spacing: 0%;
    text-align: center;
    color: #2c2f4a;

    display: flex;
    gap: 0.375rem;
    padding: 0.375rem 0.5rem;
    border: 1px solid #e5e5ef;
    border-radius: 100vw;

    img,
    svg {
      width: 1.1rem;
      height: 1.1rem;
    }
  }
}

/* End of Providers Card */
