@media screen and (max-width: 1100px) {
  .main-menu .menu {
    gap: 15px;
  }

  .footer-section .col-1 {
    max-width: 270px;
  }

  .footer-section .col-2 {
    max-width: 300px;
  }

  .main-title,
  .contact-box .phone-number a {
    font-size: 25px;
  }

  .contact-box h2 {
    font-size: 25px;
  }

  .banner-txt {
    min-height: 250px;
  }

  .about-section .about {
    gap: 30px;
  }

  .cta_inner {
    padding: 60px 40px;
  }
  .cta_inner h3 {
    max-width: 460px;
    font-size: 30px;
  }

  .solutions-box {
    gap: 20px;
  }

  .product-box,
  .download-box {
    grid-template-columns: repeat(3, 1fr);
  }

  .blog-box .detail h3 a {
    font-size: 20px;
  }

  .blog-box .full-img {
    height: 200px;
  }

  .calculator-box {
    gap: 30px;
  }

  .calculator-box .results-box {
    padding: 20px;
  }

  .results-box .cols {
    gap: 20px;
  }
}

@media screen and (max-width: 1023px) {
  .main-header .toggle {
    display: flex;
  }

  .main-menu {
    position: fixed;
    background-color: #fff;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    padding: 15px;
    height: 100vh;
    display: none;
  }

  .main-menu.open-menus {
    display: block;
  }

  .main-menu button.close-icon {
    margin-left: auto;
  }

  .main-menu .menu-header-menu-container {
    margin-top: 30px;
  }

  .main-menu .menu {
    gap: 0;
    flex-direction: column;
    height: calc(100vh - 104px);
    overflow-y: auto;
    border-top: 1px solid #ddd;
    margin-top: 15px;
  }

  .main-menu .menu li {
    width: 100%;
  }

  .main-menu .menu a {
    display: block;
    text-align: center;
    border-bottom: 1px solid #ddd;
    padding: 15px;
    color: #000;
  }

  .main-menu .menu a:hover,
  .main-menu .menu .current_page_item a {
    color: #015057;
  }

  .footer-section .col-1 {
    max-width: 240px;
  }

  .footer-section .col-1 .logo {
    max-width: 160px;
  }

  .footer-section .col-2 {
    width: 100%;
    max-width: 260px;
    flex: none;
  }

  .about-section .about {
    gap: 20px;
    flex-direction: column;
  }

  .form-box .input-group {
    grid-template-columns: repeat(1, 1fr);
  }

  .our-box,
  .product-box {
    gap: 10px;
  }

  .our-box .box .detail h3 {
    font-size: 20px;
  }

  .featured-box {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .banner-txt h2 {
    font-size: 40px;
    margin-bottom: 15px;
  }

  .product-box {
    grid-template-columns: repeat(2, 1fr);
  }

  .download-box {
    gap: 15px;
  }

  .top-header .contact-detail {
    gap: 10px;
  }

  .top-header .contact-detail li:not(:last-child) {
    padding-right: 15px;
  }

  .product-section .bottom-title {
    font-size: 150px;
    line-height: 120px;
  }

  .section-gapping {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .top-gapping {
    padding-top: 80px;
  }

  .bottom-gapping {
    padding-bottom: 80px;
  }

  body p,
  body {
    font-size: 14px;
  }

  .cta_inner {
    padding: 60px 40px;
  }

  .cta_inner::before {
    left: 15px;
    max-width: 300px;
  }

  .why-section {
    background-size: 160px;
  }

  .our-box .box {
    padding: 15px;
  }

  .banner-content .container {
    text-align: center;
  }

  .banner-content h2 {
    font-size: 60px;
  }

  .about-section .col-1 {
    text-align: center;
  }

  .about .about-title {
    color: #015057;
    font-size: 40px;
    position: static;
    text-transform: capitalize;
    letter-spacing: 0;
  }

  .cta_inner {
    padding: 25px 15px;
    text-align: center;
  }

  .cta_inner h3 {
    max-width: 100%;
    font-size: 26px;
  }

  .cta_inner::before {
    max-width: 300px;
    right: 15px;
    margin: auto;
  }

  .cta_inner .full-cta-img {
    display: none;
  }

  .about-content {
    text-align: center;
  }

  .vision-mission-section .box {
    padding: 30px;
    gap: 15px;
    flex-direction: column;
    text-align: center;
  }

  .solution-col,
  .calculator-box {
    grid-template-columns: repeat(1, 1fr);
  }

  .blog-box {
    grid-template-columns: repeat(2, 1fr);
  }

  .blog-box .full-img {
    height: 230px;
  }

  .calculator-box form {
    gap: 40px;
  }

  .company-box,
  .home-about.about-section .about {
    grid-template-columns: repeat(1, 1fr);
  }

  .company-box .about-img {
    order: 0;
  }
}

@media screen and (max-width: 767px) {
  .section-gapping {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .top-gapping {
    padding-top: 50px;
  }

  .bottom-gapping {
    padding-bottom: 50px;
  }

  .top-header {
    background-color: #005860;
    padding: 5px 0;
  }

  .top-header .contact-detail {
    display: none;
  }

  .top-header .social-icon {
    margin-left: 0;
  }

  .main-header {
    padding: 10px 0;
  }

  .main-header .logo {
    max-width: 190px;
  }

  .footer-section {
    flex-direction: column;
  }

  .footer-section .col-1,
  .footer-section .col-2 {
    max-width: 100%;
  }

  .main-banner-slider .full-banner-img {
    height: 300px;
  }

  .banner-content h2 {
    font-size: 25px;
  }

  .contact-box {
    grid-template-columns: repeat(1, 1fr);
  }

  .our-box,
  .product-box,
  .download-box {
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
    width: 100%;
  }

  .contact-box {
    gap: 20px;
  }

  .banner-txt {
    min-height: 100px;
  }

  .banner-txt h2 {
    font-size: 30px;
  }

  .contact-form .form-box {
    padding: 15px;
  }

  .map-section iframe {
    height: 250px;
  }

  .mb-40 {
    margin-bottom: 20px;
  }

  .error-404 h1 {
    font-size: 32px;
  }

  .post-contain h3 {
    font-size: 22px;
  }

  .product-section .bottom-title {
    font-size: 80px;
    line-height: 80px;
  }

  header {
    position: static;
    background-color: #006670;
  }

  header.scrolled {
    top: 0;
    position: fixed;
  }

  .banner-content .container p {
    font-size: 14px;
  }

  .banner-content h2,
  .banner-content .container p {
    margin-bottom: 15px;
  }

  .vision-mission-section {
    grid-template-columns: repeat(1, 1fr);
  }

  .vision-mission-section .box .icon-img,
  .our-box .box .full-img,
  .product-box .box .full-img {
    width: 100px;
    height: 100px;
  }

  .solutions-box::before {
    display: none;
  }

  .solutions-box .box .full-img {
    width: 80px;
    height: 80px;
  }

  .solutions-box .box h3 {
    font-size: 20px;
  }

  .post-contain table th,
  .post-contain table td {
    padding: 5px 10px;
    font-size: 14px;
  }

  .tab-calculator-content {
    padding: 15px;
  }

  #popup {
    padding: 20px;
    max-width: 90%;
  }

  .form-box form .form-group textarea {
    height: 115px;
  }

  .banner-txt .breadcrumb {
    gap: 10px;
  }

  .banner-txt .breadcrumb li {
    font-size: 14px;
  }

  .banner-txt .breadcrumb li:not(:first-child)::before {
    margin-right: 10px;
  }

  .about-section .about .about-img {
    border-radius: 30px;
  }

  .calculator-box .form-box {
    gap: 15px;
  }
  
  .form-box .form-group input:not([type="submit"]),
  .form-box .form-group textarea,
  .form-box .form-group select {
    height: 45px;
    padding: 10px 15px;
  }
}

@media screen and (max-width: 460px) {
  .our-box,
  .product-box,
  .download-box,
  .blog-box,
  .results-box .cols {
    grid-template-columns: repeat(1, 1fr);
    max-width: 400px;
    margin: 0 auto;
  }
}