.tab-control-background img {
  display: none;
  filter: blur(1.5rem);
  opacity: 0.2;
  transition: opacity 0.4s ease-in-out, filter 0.4s ease-in-out; }
  .tab-control-background img.active {
    display: block;
    filter: blur(0);
    opacity: 1; }

.tab-link-list button {
  all: unset;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 1.5rem 2rem;
  color: #290b79;
  border: none;
  border-bottom: 1px solid #e0e3ea;
  border-radius: 0;
  text-align: left;
  font-weight: 500;
  border-left: 2px solid #fff;
  cursor: pointer;
  transition: color 0.2s ease-in-out; }
  .tab-link-list button:last-child {
    border-bottom: none; }
  .tab-link-list button.active {
    border-left: 2px solid #29c4cf;
    color: #29c4cf; }

@media only screen and (max-width: 1023px) {
  .tab-link-list {
    margin-bottom: 2rem; } }

.tab-section {
  margin: 0;
  position: relative; }
  .tab-section .container {
    padding-top: 8rem;
    padding-bottom: 8rem; }
    @media only screen and (max-width: 1023px) {
      .tab-section .container {
        padding-top: 4rem;
        padding-bottom: 4rem; } }
  .tab-section .tab-content {
    display: none;
    opacity: 0;
    transform: translateX(40px);
    transition: transform 0.4s ease, opacity 0.4s ease; }
    .tab-section .tab-content.active {
      display: block;
      opacity: 1;
      transform: translateX(0); }
    .tab-section .tab-content .link.project {
      display: block;
      margin-top: 1rem; }

.tab-control-background, .section-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: -1; }
  .tab-control-background .image-container, .section-background .image-container {
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
    overflow: hidden; }
    @media only screen and (max-width: 1023px) {
      .tab-control-background .image-container, .section-background .image-container {
        top: unset;
        bottom: -1rem;
        width: 100%;
        height: unset; } }
    .tab-control-background .image-container .overlay, .section-background .image-container .overlay {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: linear-gradient(105deg, white 18%, rgba(255, 255, 255, 0) 80%);
      width: 70%; }
      @media only screen and (max-width: 1023px) {
        .tab-control-background .image-container .overlay, .section-background .image-container .overlay {
          width: 100%;
          background: linear-gradient(180deg, white 18%, rgba(255, 255, 255, 0) 80%); } }
  .tab-control-background img, .section-background img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.testimonial .quote {
  margin-bottom: 2rem; }

.testimonial .author {
  display: block;
  line-height: 1.1; }

.testimonial .company {
  display: block;
  color: #393b3b;
  line-height: 1.1; }

.numbered-items .number {
  position: absolute;
  top: -2.5rem;
  left: 3rem;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: #fff;
  color: #29c4cf;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 5.4rem;
  box-shadow: 0px 2px 10px #290b791f; }

.image-content-stack {
  display: grid;
  grid-template-columns: minmax(auto, 180px) 1fr;
  align-items: center;
  height: 100%; }
  .image-content-stack.icons {
    grid-template-columns: minmax(auto, 150px) 1fr; }
    @media only screen and (max-width: 1023px) {
      .image-content-stack.icons {
        grid-template-columns: auto; } }
    .image-content-stack.icons .image {
      display: flex;
      align-items: center;
      justify-content: center; }
      .image-content-stack.icons .image img {
        width: 150px;
        max-height: 200px;
        -o-object-fit: contain;
           object-fit: contain; }
        .image-content-stack.icons .image img.pad {
          padding: 4rem 1rem 4rem 4rem; }
        @media only screen and (max-width: 1023px) {
          .image-content-stack.icons .image img {
            height: unset; }
            .image-content-stack.icons .image img.pad {
              padding: 3rem 0 0 0; } }
  @media only screen and (max-width: 1023px) {
    .image-content-stack {
      grid-template-columns: auto;
      gap: 0; } }
  .image-content-stack .content {
    padding: 3rem; }
  .image-content-stack .image {
    font-size: 0;
    width: 100%;
    max-width: 180px;
    height: 100%;
    overflow: hidden; }
    @media only screen and (max-width: 1023px) {
      .image-content-stack .image {
        max-width: unset;
        height: unset; } }
    .image-content-stack .image img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }

.accreditations-content {
  padding: 3rem 3rem 3rem 0; }
  .accreditations-content p {
    margin-bottom: 0; }
  @media only screen and (max-width: 1023px) {
    .accreditations-content {
      padding: 0; }
      .accreditations-content p {
        margin-bottom: 3rem; } }

.accreditations-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 3rem 0 3rem 3rem;
  list-style: none;
  justify-content: right; }
  .accreditations-list img {
    width: 80px;
    height: 80px; }
  @media only screen and (max-width: 1023px) {
    .accreditations-list {
      padding: 0;
      justify-content: center; }
      .accreditations-list img {
        width: 120px;
        height: 120px; } }

.project-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem; }
  .project-gallery .gallery-image-hld {
    overflow: hidden; }
    .project-gallery .gallery-image-hld .gallery-image {
      width: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      border-radius: 1rem;
      box-shadow: 0px 2px 10px #290b791f; }

.ap-page-grid {
  display: grid;
  grid-template-columns: 75% 22%;
  gap: 3%;
  align-items: flex-start; }
  @media only screen and (max-width: 1023px) {
    .ap-page-grid {
      grid-template-columns: auto;
      gap: 2rem; } }

.ap-content {
  order: 1; }
  @media only screen and (max-width: 1023px) {
    .ap-content {
      order: 2; } }

.ap-nav {
  top: 3%;
  position: -webkit-sticky;
  position: sticky;
  order: 2; }
  @media only screen and (max-width: 1023px) {
    .ap-nav {
      position: static;
      order: 1; } }

.product-description .specs {
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; }
  .product-description .specs .spec {
    padding: 4px 8px;
    border: 1px solid #29c4cf;
    font-size: 1.4rem;
    border-radius: 3px; }

/*# sourceMappingURL=cms.css.map */
