/* ==========================================
   PRECISION AXIS FRAMEWORK
   Responsive Styles
========================================== */

@media (max-width:1199px){

   .pa-navbar__menu ul{
      gap:22px;
   }

   .pa-navbar__menu a{
      font-size:14px;
   }

   .pa-navbar__phone{
      width:40px;
      height:40px;
   }

   .pa-navbar__quote{
      min-height:40px;
      padding:0 14px;
      font-size:12px;
   }

   .pa-slide{
      height:680px;
   }

   .pa-slide__media img{
      object-position:center center;
   }

   .pa-hero-content h1{
      font-size:52px;
      max-width:620px;
   }

   .pa-hero-content p{
      font-size:18px;
      max-width:520px;
   }

   .pa-section-title h2{
      font-size:36px;
   }

   .pa-company-grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }

   .pa-contact-heading h1{
      font-size:42px;
   }

   .pa-contact-grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }

   .pa-contact-card--primary{
      grid-column:span 2;
   }

   .pa-news-grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }

   .pa-news-card h3{
      font-size:22px;
   }

   .pa-news-timeline__item h3{
      font-size:22px;
   }

   .pa-page-head h1,
   .pa-page-head h2,
   .pa-contact-heading h1,
   .pa-contact-heading h2,
   .pa-careers-heading h1,
   .pa-about-main__heading h1{
      font-size:40px;
   }

   .pa-careers-heading h1{
      font-size:40px;
   }

   .pa-careers-grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }

   .pa-about-main__heading h1{
      font-size:40px;
   }

   .pa-company-profile-main__grid{
      gap:10px;
   }

   .pa-company-row--director{
      grid-template-columns:120px minmax(0, 1fr);
   }

   .pa-director-media{
      max-width:120px;
   }

   .pa-footer__top h2{
      font-size:32px;
   }

   .pa-footer__grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:24px;
   }

   .pa-footer--compact .pa-footer__grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }

   .pa-search-hero h1{
      font-size:40px;
   }

   .pa-search-results{
      grid-template-columns:1fr;
   }
}

@media (max-width:991px){

   .pa-header,
   .pa-navbar{
      height:74px;
   }

   body{
      padding-top:74px;
   }

   .pa-navbar__backdrop{
      display:block;
   }

   .pa-navbar__menu{
      position:absolute;
      top:74px;
      left:0;
      width:100%;
      background:#fff;
      border-top:1px solid #edf1f5;
      box-shadow:0 16px 30px rgba(2,12,27,.08);
      opacity:0;
      visibility:hidden;
      transform:translateY(-10px);
      transition:all .25s ease;
      pointer-events:none;
      z-index:999;
   }

   .pa-navbar.is-open .pa-navbar__menu{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
      pointer-events:auto;
   }

   .pa-navbar__menu ul{
      flex-direction:column;
      align-items:flex-start;
      gap:0;
      padding:12px 20px;
   }

   .pa-navbar__menu li{
      width:100%;
   }

   .pa-navbar__menu a{
      width:100%;
      padding:12px 0;
      border-bottom:1px solid #f1f5f9;
   }

   .pa-navbar__menu li:last-child a{
      border-bottom:none;
   }

   .pa-navbar__menu a.active::after{
      bottom:7px;
      width:50px;
   }

   .pa-navbar__logo img{
      max-width:170px;
      max-height:100%;
      height:100%;
   }

   .pa-navbar__toggle{
      display:inline-flex;
   }

   .pa-navbar__phone{
      padding:9px 12px;
      font-size:12px;
   }

   .pa-navbar__quote{
      min-height:38px;
      padding:0 12px;
      font-size:12px;
   }

   .pa-slide{
      height:610px;
   }

   .pa-slide__media img{
      object-position:center center;
   }

   .pa-hero-content h1{
      font-size:44px;
      max-width:560px;
   }

   .pa-hero-content p{
      font-size:17px;
      margin-bottom:28px;
   }

   .pa-btn{
      padding:14px 28px;
      font-size:14px;
   }

   .pa-companies{
      padding:64px 0 70px;
   }

   .pa-section-title h2{
      font-size:32px;
   }

   .pa-company-card{
      min-height:240px;
   }

   .pa-company-card h3{
      font-size:22px;
   }

   .pa-company-card__logo{
      min-height:82px;
   }

   .pa-company-card__logo img{
      max-width:136px;
      max-height:68px;
   }

   .pa-contact-page{
      padding:24px 0 78px;
   }

   .pa-contact-heading{
      margin-bottom:28px;
   }

   .pa-contact-heading h1{
      font-size:36px;
   }

   .pa-contact-heading p{
      font-size:16px;
   }

   .pa-contact-grid,
   .pa-social-grid{
      grid-template-columns:1fr;
   }

   .pa-company-socials{
      grid-template-columns:1fr;
   }

   .pa-contact-layout{
      grid-template-columns:1fr;
   }

   .pa-contact-form-wrap{
      padding:24px 20px;
   }

   .pa-contact-form__heading h2{
      font-size:28px;
   }

   .pa-contact-form__grid{
      grid-template-columns:1fr;
   }

   .pa-contact-captcha{
      grid-template-columns:1fr;
   }

   .pa-contact-card--primary{
      grid-column:auto;
   }

   .pa-quote-options,
   .pa-quote-options--single-row{
      grid-template-columns:1fr;
   }

   .pa-quote-section legend{
      font-size:20px;
   }

   .pa-news{
      padding:26px 0 74px;
   }

   .pa-section-title--left p{
      font-size:16px;
   }

   .pa-news-grid{
      grid-template-columns:1fr;
   }

   .pa-news-timeline{
      padding-left:28px;
   }

   .pa-news-timeline__item::before{
      left:-24px;
   }

   .pa-projects-page{
      padding:24px 0 76px;
   }

   .pa-projects-home-grid{
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }

   .pa-project-item__header h2{
      font-size:30px;
   }

   .pa-projects-swiper--detail{
      height:340px;
      max-height:58vh;
   }

   .pa-page-head p,
   .pa-contact-heading p,
   .pa-careers-heading p,
   .pa-about-main__heading p{
      font-size:16px;
   }

   .pa-careers-page{
      padding:24px 0 76px;
   }

   .pa-careers-heading h1{
      font-size:34px;
   }

   .pa-careers-heading p{
      font-size:16px;
   }

   .pa-careers-grid{
      grid-template-columns:1fr;
   }

   .pa-about-main{
      padding:24px 0 76px;
   }

   .pa-about-main__heading{
      margin-bottom:22px;
   }

   .pa-about-main__heading h1{
      font-size:34px;
   }

   .pa-about-main__heading p{
      font-size:16px;
   }

   .pa-company-profile-main{
      padding:20px;
   }

   .pa-company-profile-main__header{
      padding-right:130px;
   }

   .pa-company-profile-main__header::after{
      width:120px;
      background-size:92px auto;
      opacity:.12;
   }

   .pa-company-profile-main__header h2{
      font-size:30px;
   }

   .pa-company-row--top,
   .pa-company-row--director{
      grid-template-columns:1fr;
   }

   .pa-director-media{
      max-width:140px;
   }

   .pa-footer__top{
      flex-direction:column;
      align-items:flex-start;
      padding:34px 0 24px;
   }

   .pa-footer__top h2{
      font-size:28px;
   }

   .pa-footer__grid{
      grid-template-columns:1fr;
      gap:22px;
      padding:26px 0;
   }

   .pa-footer--compact .pa-footer__grid{
      grid-template-columns:1fr;
   }

   .pa-footer__brand p{
      max-width:100%;
   }

   .pa-footer__bottom{
      padding:16px 0 22px;
   }

   .pa-footer__bottom .bottom-left,
   .pa-footer__bottom .bottom-right{
      justify-content:flex-start;
      text-align:left;
   }

   .pa-footer__bottom .col-sm-12 + .col-sm-12{
      margin-top:8px;
   }

   .pa-search-page{
      padding:24px 0 76px;
   }

   .pa-search-hero h1{
      font-size:34px;
   }

   .pa-search-hero p{
      font-size:16px;
   }

   .pa-search-form{
      grid-template-columns:1fr;
   }

   .pa-search-form button{
      width:100%;
   }

   .pa-faq-page{
      padding:24px 0 76px;
   }

   .pa-faq-highlight,
   .pa-faq-grid{
      grid-template-columns:1fr;
   }

   .pa-faq-panel h2{
      font-size:24px;
   }

   .pa-faq-page{
      padding:18px 0 60px;
   }

   .pa-faq-highlight__item,
   .pa-faq-panel{
      border-radius:14px;
      padding:16px;
   }

   .pa-faq-panel h2{
      font-size:22px;
      margin-bottom:12px;
   }

   .pa-faq-item summary{
      font-size:15px;
      padding:12px 0;
   }

   .pa-faq-item p{
      font-size:14px;
      line-height:1.65;
      padding-bottom:12px;
   }
}

@media (max-width:575px){

   .pa-navbar__phone{
      width:40px;
      height:40px;
      border-radius:50%;
      padding:0;
      justify-content:center;
   }

   .pa-navbar__phone span{
      display:none;
   }

   .pa-navbar__quote{
      width:40px;
      min-width:40px;
      height:40px;
      min-height:40px;
      border-radius:50%;
      padding:0;
   }

   .pa-navbar__quote span{
      display:none;
   }

   .pa-navbar__logo img{
      max-width:148px;
      max-height:100%;
      height:100%;
   }

   .pa-slide{
      height:530px;
   }

   .pa-slide__media img{
      object-position:center center;
   }

   .pa-subtitle{
      font-size:16px;
      margin-bottom:12px;
   }

   .pa-hero-content h1{
      font-size:34px;
      line-height:1.15;
      margin-bottom:16px;
   }

   .pa-hero-content p{
      font-size:15px;
      line-height:1.6;
      margin-bottom:24px;
      max-width:100%;
   }

   .heroSwiper .swiper-pagination{
      bottom:16px;
   }

   .pa-companies{
      padding:54px 0 60px;
   }

   .pa-section-title{
      margin-bottom:24px;
   }

   .pa-section-title h2{
      font-size:28px;
   }

   .pa-company-grid{
      grid-template-columns:1fr;
      gap:16px;
   }

   .pa-company-card{
      min-height:auto;
      padding:20px 18px;
   }

   .pa-company-card__logo{
      min-height:72px;
   }

   .pa-company-card__logo img{
      max-width:120px;
      max-height:60px;
   }

   .pa-company-card h3{
      font-size:21px;
      margin-bottom:8px;
   }

   .pa-company-card p{
      font-size:15px;
   }

   .pa-contact-page{
      padding:18px 0 60px;
   }

   .pa-contact-heading h1{
      font-size:30px;
   }

   .pa-contact-heading p{
      font-size:15px;
   }

   .pa-contact-card,
   .pa-social-wrap{
      border-radius:14px;
      padding:18px 16px;
   }

   .pa-contact-form-wrap{
      border-radius:14px;
      padding:18px 16px;
   }

   .pa-contact-form__heading h2{
      font-size:24px;
   }

   .pa-contact-form__field input,
   .pa-contact-form__field textarea,
   .pa-contact-captcha__question{
      border-radius:10px;
   }

   .pa-contact-form__actions{
      flex-direction:column;
      align-items:stretch;
   }

   .pa-contact-form__submit{
      width:100%;
   }

   .pa-quote-page{
      padding:18px 0 60px;
   }

   .pa-quote-section{
      padding:18px 16px;
      border-radius:14px;
   }

   .pa-quote-section legend{
      font-size:18px;
   }

   .pa-quote-option{
      padding:12px;
      border-radius:10px;
   }

   .pa-contact-card h2,
   .pa-social-wrap h2{
      font-size:20px;
   }

   .pa-contact-card address,
   .pa-contact-card p{
      font-size:15px;
   }

   .pa-news{
      padding:18px 0 60px;
   }

   .pa-news-card{
      padding:18px 16px;
      border-radius:14px;
   }

   .pa-news-card__media{
      margin:0 0 16px;
      border-radius:12px;
      padding:10px;
   }

   .pa-news-card__media--carousel,
   .pa-news-timeline__media--carousel{
      height:clamp(190px, 42vw, 280px);
   }

   .pa-news-media__frame{
      min-height:160px;
   }

   .pa-news-card h3{
      font-size:20px;
   }

   .pa-news-timeline{
      padding-left:24px;
      gap:12px;
   }

   .pa-news-timeline::before{
      left:10px;
   }

   .pa-news-timeline__item{
      padding:18px 16px 16px;
      border-radius:14px;
   }

   .pa-news-timeline__item::before{
      left:-20px;
      top:22px;
      width:10px;
      height:10px;
   }

   .pa-news-timeline__item h3{
      font-size:20px;
   }

   .pa-news-timeline__item p{
      font-size:15px;
   }

   .pa-news-card p{
      font-size:15px;
   }

   .pa-projects-page{
      padding:18px 0 60px;
   }

   .pa-projects-home-grid{
      grid-template-columns:1fr;
      gap:16px;
   }

   .pa-project-home-card{
      border-radius:14px;
   }

   .pa-project-home-card__media{
      height:250px;
   }

   .pa-project-home-card__body{
      padding:14px;
   }

   .pa-project-home-card__meta,
   .pa-project-item__meta{
      grid-template-columns:1fr;
      gap:8px;
   }

   .pa-project-home-card__media{
      height:230px;
   }

   .pa-project-home-card h3{
      font-size:22px;
   }

   .pa-project-item{
      border-radius:14px;
      padding:16px;
   }

   .pa-project-item__header h2{
      font-size:26px;
   }

   .pa-projects-swiper--detail{
      border-radius:12px;
      height:240px;
      max-height:none;
   }

   .pa-project-item__content p{
      font-size:15px;
   }

   .pa-page-head h1,
   .pa-page-head h2,
   .pa-contact-heading h1,
   .pa-contact-heading h2,
   .pa-careers-heading h1,
   .pa-about-main__heading h1{
      font-size:28px;
   }

   .pa-page-head p,
   .pa-contact-heading p,
   .pa-careers-heading p,
   .pa-about-main__heading p{
      font-size:15px;
   }

   .pa-careers-page{
      padding:18px 0 60px;
   }

   .pa-careers-heading h1{
      font-size:28px;
   }

   .pa-careers-heading p{
      font-size:15px;
   }

   .pa-career-card{
      border-radius:14px;
      padding:16px;
   }

   .pa-career-card h2{
      font-size:22px;
   }

   .pa-about-main{
      padding:18px 0 60px;
   }

   .pa-about-main__heading h1{
      font-size:28px;
   }

   .pa-about-main__heading p{
      font-size:15px;
   }

   .pa-company-profile-main{
      padding:16px;
      border-radius:14px;
   }

   .pa-company-profile-main__header{
      padding-right:98px;
   }

   .pa-company-profile-main__header::after{
      width:90px;
      background-size:70px auto;
      opacity:.1;
   }

   .pa-company-profile-main__header{
      align-items:flex-start;
      flex-direction:column;
      gap:12px;
      margin-bottom:16px;
      padding-bottom:14px;
   }

   .pa-company-profile-main__logo{
      width:72px;
      height:72px;
   }

   .pa-company-profile-main__logo img{
      max-width:56px;
      max-height:56px;
   }

   .pa-company-profile-main__header h2{
      font-size:26px;
   }

   .pa-company-meta-block,
   .pa-director-message{
      padding:14px;
      border-radius:12px;
   }

   .pa-director-media{
      max-width:110px;
      border-radius:8px;
   }

   .pa-company-meta-block h3,
   .pa-director-message h3{
      font-size:21px;
   }

   .pa-company-meta-block p,
   .pa-company-meta-block li,
   .pa-director-message p{
      font-size:14px;
      line-height:1.65;
   }

   .pa-footer__top h2{
      font-size:24px;
   }

   .pa-footer__top p{
      font-size:14px;
   }

   .pa-footer__cta{
      width:100%;
      justify-content:center;
      padding:12px 16px;
   }

   .pa-footer h3{
      font-size:18px;
   }

   .pa-footer__links a,
   .pa-footer__meta a,
   .pa-footer__meta span{
      font-size:14px;
   }

   .pa-footer__social a{
      width:34px;
      height:34px;
   }

   .pa-back-to-top{
      right:16px;
      bottom:16px;
      width:42px;
      height:42px;
   }

   .pa-search-page{
      padding:18px 0 60px;
   }

   .pa-search-hero h1{
      font-size:28px;
   }

   .pa-search-hero p{
      font-size:15px;
   }

   .pa-search-form,
   .pa-search-meta,
   .pa-search-empty,
   .pa-search-card{
      border-radius:14px;
   }

   .pa-search-form{
      padding:14px;
   }

   .pa-search-form__field{
      min-height:52px;
      padding:0 14px;
   }

   .pa-search-form button{
      min-height:52px;
   }

   .pa-search-card{
      padding:18px 16px;
   }

   .pa-search-card h2{
      font-size:22px;
   }
}

@media (min-width:992px){

   .pa-navbar__backdrop{
      display:none;
   }
}