@media screen and (max-width: 1200px) {
  .menu { gap: 15px; }
  .subsidiary-swiper { padding-bottom: 55px !important; }
  .pageHead div { left: 20px; }
  .about-page div { padding: 30px 20px; }

  .group-img {
    width: 100px; height: 75px;
    margin-left: -50px;
    img {
      width: 100%; height: 100%;
      object-fit: contain;
    }
  }

  .group-cont .content1 { margin-left: 50px;}
  .group-desc { width: calc(100% - 75px); }

  .pageTitle { padding-left: 20px; }

  .proj-grid {
    grid-template-columns: repeat(2, 370px);
    justify-content: center;
  }

  .proj-cont .content { gap: 20px; }
  .other-proj { width: calc(35% - 20px); }
}

@media screen and (max-width: 1110px) {
  .menuHead a { font-size: 12px; line-height: 16px; }
}

@media screen and (max-width: 1023px) {
  header {
    background: white;
    top: 0;
    position: sticky;
  }

  .header-content { 
    background: transparent;
    border-radius: 0;
    box-shadow: unset;
    padding: 0; 
    gap: 15px; 
  }

  .menu, .helpline { display: none; }
  #menu-toggle-button { display: flex; }
  
  .header-actions { border-left: none; }
  .language-change { padding: 0; }
  
  .banner-next, .banner-prev {
    font-size: 10px;
    width: 30px; height: 30px;
  }

  .banner-next { right: 20px; }
  .banner-prev { left: 20px; }

  .banner { height: 400px; }
  .banner-slide img { height: 400px; }
  .banner-slide span:first-of-type {
    font: 40px 'Campton Medium', 'Gilroy GEO';
    line-height: 45px;
  }

  .contact-cont .content { gap: 20px; justify-content: space-between; }

  .pageHead {
    img { height: 200px; }
    div { bottom: 30px; }
  }
  
  .pageTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    height: unset; padding: 20px;
  }
  
  .gallery-links {
    position: unset;
    transform: unset;
  }

  .curr-video {
    flex-direction: column;
    align-items: unset;
  }

  .video-left { width: 100%; }
}

@media screen and (max-width: 1000px) {
  .proj-cont .content { flex-direction: column; }
  .curr-proj { width: 100%; }
  .other-proj {
    width: 100%; 
    > div {
      display: grid;
      grid-template-columns: repeat(2, 370px);
      justify-content: center;
      gap: 50px 28px;
    }
  }
} 

@media screen and (max-width: 900px) {
  .service-page {
    flex-direction: column;
    > img { width: 100%; max-height: unset; }
  }

  .service-right { 
    padding: 25px 20px;
    width: 100%;
    min-height: unset;
  }

  .gallery-grid, .video-grid { grid-template-columns: repeat(2, 1fr); }
  .video-grid { gap: 25px 13px; }

  .map-cont { overflow-x: scroll; }
}

@media screen and (max-width: 800px) {
  .proj-grid, .other-proj > div { grid-template-columns: repeat(2, 1fr); gap: 30px 15px; }
  .proj-grid .project-card { width: 100% !important; }
}

@media screen and (max-width: 767px) {
  .banner-next, .banner-prev { display: none !important; }
  .subsidiary-cont { padding: 40px 20px 30px; }
  .proj-preview, .capabilities-cont { padding: 40px 20px; }

  .capabilities {
    grid-template-columns: repeat(1, 1fr);
    > img { max-height: 300px; }
    > img:first-child { order: 1; }
    > div:nth-child(2) { order: 2; }
    > div:nth-child(3) { order: 4; }
    > img:nth-child(4) { order: 3; }
    > div:last-child {
      top: 0; left: 0;
      transform: unset;
      height: 170px; width: 330px;
    }
  }

  .cap-text { padding: 30px; }
  .contact-cont .content > img { display: none; }
  .contact-left { width: 100%; }
  .contact-cont { padding: 40px 20px; }

  footer { 
    padding: 40px 20px !important; 
    hr { margin: 30px 0; }
  }

  .footer-top {
    flex-direction: column;
    gap: 25px;
  }

  .footer-logo, .footer-top > div:first-child > p:nth-child(2) { padding-left: 0; margin-bottom: 20px; }
  .socials { padding-left: 0; }
  .footer-bottom { flex-direction: column; align-items: unset; gap: 0; }
  .footer-bottom div { order: 1; margin-bottom: 20px; }
  .copyright { order: 2; }
  .owner { order: 3; }

  .about-page {
    flex-direction: column-reverse;
    gap: 30px;
    img { width: 100%; }
    div { padding: 40px 20px 0; width: 100%; }
  }

  .group-cont .content1 { margin-left: 0; gap: 60px; }
  .group-item {
    flex-direction: column;
    gap: unset;
    padding: 60px 20px 30px;
    position: relative;
  }

  .group-desc { width: 100%; }
  .group-img {
    position: absolute;
    left: 50%; top: -35px;
    transform: translateX(-50%);
    margin-left: unset;
  }

  .proj-cont { padding: 40px 20px 60px; }
  .curr-proj > img:first-child { height: auto; }
  .project-text { padding: 25px 20px; }
}

@media screen and (max-width: 700px) {
  .proj-grid, .other-proj > div { grid-template-columns: repeat(1, 370px); }

  .main-photo-gallery {
    grid-template-columns: repeat(1, 1fr);
    > a:last-child { grid-column: unset; }
  }

  .pageTitle {
    flex-direction: column;
    align-items: unset;
  }
  
  .gallery-links {
    width: 100%;
    a { width: 50%; }
  }

  .video-right { width: 100%; height: 350px; }
}

@media screen and (max-width: 650px) {
  .tagLine {
    height: unset;
    padding: 20px;
    .content {
      flex-direction: column;
      align-items: unset;
      gap: 10px;
    }
  }

  .share-media {
    flex-direction: column;
    align-items: unset;
    gap: 20px;
  }

  .service-right {
    .name { font-size: 20px; line-height: 24px; }
    .desc { font-size: 14px; line-height: 17px; }
  }

  .gallery-grid, .video-grid { grid-template-columns: repeat(1, 1fr); }

}

@media screen and (max-width: 450px) {
  .banner, .banner-slide img { height: 300px; }
  .banner-slide span:first-of-type { font-size: 30px; line-height: 35px; }
  .banner-slide span:last-child { font-size: 14px; line-height: 17px; }

  .tagLine span {
    text-align: center;
    font-size: 18px;
    line-height: 21px;
  }

  .tagLine a { width: 100%; }

  .capabilities > div:last-child {
    padding: 20px;
    height: 100px; width: unset;
    p:first-child { font-size: 20px; line-height: 24px; margin-bottom: 10px; }
    p:last-child { font-size: 14px; line-height: 17px; }
  }

  .cap-text {
    padding: 30px 20px;
    p:first-child { font-size: 24px; line-height: 28px; margin-bottom: 15px; }
    p:last-child { font-size: 14px; line-height: 22px; }
  }

  .pageHead div {
    gap: 10px;
    span:first-child { font-size: 30px; line-height: 35px; }
    span:nth-child(2) { font-size: 16px; line-height: 18px; }
  }

  .about-page div { font-size: 14px; line-height: 17px; }

  .group-desc p { font-size: 20px; line-height: 24px; margin-bottom: 15px; }
  .proj-grid, .other-proj > div { grid-template-columns: repeat(1, 1fr); }

  .project-text .name, .video-left .name { font-size: 20px; line-height: 24px; }
  .project-text .text, .video-left .text { font-size: 14px; line-height: 17px; }
  .project-text hr { margin: 25px 0; }

  .pageTitle { font-size: 18px; line-height: 20px; }

  .service-contact a { font-size: 12px; line-height: 16px; }

  .service-page { gap: 20px; }
  .service-links, .gallery-cats {
    flex-direction: column;
    gap: 7px;
    a {
      font-size: 14px;
      line-height: 17px;
      padding: 10px;
      width: 100%; 
    }
  }

  .service-pdf a {
    padding: 15px;
    font-size: 14px;
    line-height: 17px;
  }

  .main-photo-gallery a { height: 250px; }
  .video-card { gap: 15px; }
  .video-right { height: 250px; }
}