:root {
  --primary: #fefdff;
  --primary-alt: #e4c9ff;
  --primary-alt2: #faf6ff;
  --secondary: #08040b;
  --secondary-alt: #382f3d;
  --secondary-alt2: #bcbcbc;
  --accent: #732e9b;
  --accent-alt: #b270d7;
  --content-width: 1600px;
  --xxl: 200px;
  --xl: 100px;
  --l: 50px;
  --m: 30px;
  --s: 20px;
  --xs: 10px;
  --gutter: 30px;
}
@media (max-width: 875px) {
  :root {
    --xxl: 100px;
    --xl: 50px;
    --l: 25px;
    --m: 15px;
    --s: 10px;
    --xs: 5px;
    --gutter: 15px;
  }
}

.purple-section {
  position: relative;
  padding: var(--xl) var(--gutter);
  overflow: hidden;
}
.purple-section .content-width {
  position: relative;
  z-index: 2;
  display: grid;
}
.purple-section .content-width .image-container {
  width: 100%;
  max-width: 650px;
  height: 100%;
  display: grid;
  place-items: center;
}
.purple-section .content-width .image-container .image {
  width: 100%;
  max-width: 650px;
  height: 100%;
  max-height: 650px;
}
.purple-section .content-width .image-container .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: var(--m);
  box-shadow: 0px 0px 30px -25px black;
}
.purple-section .content-width .image-container .default-image {
  width: auto;
  height: auto;
  max-width: 100%;
}
.purple-section .content-width .image-container .default-image img {
  width: auto;
  height: auto;
  max-width: 100%;
}
.purple-section .content-width .text-container {
  width: 100%;
  padding: var(--xl) var(--l);
  display: grid;
  place-items: center;
}
.purple-section .content-width .text-container .text-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.purple-section .content-width .text-container .text-content .heading {
  color: var(--primary);
  margin-bottom: var(--l);
  max-width: 90%;
  text-align: left;
}
.purple-section .content-width .text-container .text-content .text {
  color: var(--primary);
  text-align: left;
}
.purple-section.left .content-width {
  grid-template-columns: 13fr 19fr;
}
.purple-section.right .content-width {
  grid-template-columns: 19fr 13fr;
}
@media (max-width: 875px) {
  .purple-section .content-width {
    grid-template-columns: 1fr !important;
    place-items: center;
  }
  .purple-section .content-width .text-container,
  .purple-section .content-width .image-container {
    max-width: 500px;
  }
  .purple-section .content-width .text-container {
    order: 1;
    padding-bottom: var(--l);
    width: calc(100% - var(--gutter));
  }
  .purple-section .content-width .text-container .text-content .heading {
    max-width: 100%;
    font-size: 23px;
  }
  .purple-section .content-width .image-container {
    order: 2;
  }
  .purple-section.left .content-width .text-container {
    margin-right: auto;
  }
  .purple-section.right .content-width .text-container {
    margin-left: auto;
  }
}

#introduction {
  position: relative;
  padding: var(--xl) var(--gutter);
  margin: var(--xl) 0px;
  overflow: hidden;
}
#introduction .content-width {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  padding-right: var(--gutter);
}
@media (max-width: 875px) {
  #introduction .content-width {
    padding-right: calc(var(--gutter) * 2);
  }
}
#introduction .content-width .text-container .heading {
  color: var(--primary);
  margin-bottom: var(--l);
}
#introduction .content-width .text-container .body {
  color: var(--primary);
}

#active-places {
  position: relative;
  padding: var(--xl) var(--gutter);
  overflow: hidden;
}
#active-places .content-width {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  padding-right: var(--gutter);
}
@media (max-width: 875px) {
  #active-places .content-width {
    padding-right: calc(var(--gutter) * 2);
  }
}
#active-places .content-width .text-content .heading {
  color: var(--primary);
  margin-bottom: var(--l);
}
#active-places .content-width .text-content .body {
  color: var(--primary);
}
#active-places .content-width .text-content .button-container {
  margin-top: var(--l);
}

#programmes {
  padding: var(--xl) var(--gutter);
}
#programmes .content .heading {
  color: var(--secondary);
  text-align: center;
  margin-bottom: 0.5em;
}
#programmes .content .desc {
  color: var(--secondary-alt);
  margin: 0px auto var(--l);
  text-align: center;
  max-width: 900px;
}
#programmes .programmes {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--s);
  max-width: 1300px;
  margin: 0px auto;
}
@media (max-width: 700px) and (min-width: 600px) {
  #programmes .programmes {
    grid-template-columns: 1fr 1fr;
  }
  #programmes .programmes .card:nth-of-type(3) {
    display: none;
  }
}
@media (max-width: 600px) {
  #programmes .programmes {
    grid-template-columns: 1fr;
    gap: var(--l);
  }
}
#programmes .programmes {
  /*
  // old version
  .horizonal-card {
      width: 100%;
      height: auto;
      min-height: 200px;
      display: grid;
      grid-template-columns: 1fr 2fr;
      border-radius: var(--s);
      overflow: hidden;
      box-shadow: 0px 0px 30px -20px black;
      opacity: 0;
      pointer-events: none;
      transform: translateY(15%);
      transition: opacity 0.3s, transform 0.3s;

      &:nth-of-type(even) {
          transition-delay: 0.1s;
      }

      &.show {
          opacity: 1;
          pointer-events: all;
          transform: translateY(0%);
      }

      .image-container {
          position: relative;
          width: 100%;
          height: 100%;
          display: grid;
          place-items: center;
          background-color: var(--accent);

          img {
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              width: 100%;
              height: 100%;
              object-fit: cover;
              object-position: center;

              &.default {
                  width: 70%;
                  height: 70%;
                  object-fit: contain;
              }
          }
      }

      .info-container {
          padding: var(--m);
          background-color: var(--primary);
          transition: background-color 0.3s;

          .subheading {
              color: var(--secondary);
              margin-bottom: 0.75em;
              display: flex;
              justify-content: space-between;
              align-items: center;
              width: 100%;

              img {
                  width: auto;
                  height: 1.3em;
              }
          }

          .body {
              color: var(--secondary);
          }
      }

      @media(max-width: variables.$sm_mobile) {
          grid-template-columns: 1fr;

          &:nth-of-type(even) {
              transition-delay: 0s;
          }

          .image-container {
              aspect-ratio: 16 / 9;
          }
      }
  }

  a.horizonal-card:hover {
      .info-container {
          background-color: var(--primary-alt2);
      }
  }
  */
}

#potential-and-progression {
  padding: var(--xl) var(--gutter);
}
#potential-and-progression .content-width .content .heading {
  margin-bottom: var(--l);
  text-align: center;
}
#potential-and-progression .content-width .content .body {
  text-align: center;
  max-width: 700px;
  margin: 0px auto;
}
#potential-and-progression .content-width .content .button-container {
  margin-top: var(--l);
}

#support-triathlon-trust {
  padding: var(--xl) var(--gutter);
}/*# sourceMappingURL=our-programmes.css.map */