@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
html.lenis, html.lenis body {
    height: auto;
  }
  
  .lenis.lenis-smooth {
    scroll-behavior: auto !important;
  }
  
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  
  .lenis.lenis-stopped {
    overflow: hidden;
  }
  
  .lenis.lenis-scrolling iframe {
    pointer-events: none;
  }


  body{
    font-family: 'Montserrat';
    font-weight: 400;
    font-optical-sizing: auto;
    font-style: normal;
    position: relative;
    overflow-x: hidden;
    counter-reset: section;
  }

  figure{
    margin: 0;
  }

  .btnWhite {
    background: #fff;
    padding: 1rem 2rem;
    font-size: 1.125rem;
    color: #000;
    text-decoration: none;
    font-weight: 600;
    border-radius: 70px;
    transition: .3s all ease-in-out;
    display: inline-block;
}

.btnWhite:hover {
    color: #fff;
    background: #000;
}



  section{
    position: relative;
    z-index: 111;
  }

  /* Navigation CSS Starts  */
    a.navbar-brand {
        width: 20%;
        height:130px;
    }
    a.navbar-brand img {
    height: 100%;
    }
    nav.navbar {
        position: absolute;
        width: 100%;
        z-index: 999;
    }
    nav.navbar .nav-item .nav-link {
        color: #fff;
        transition: .3s all ease-in-out;
    }
    nav.navbar .nav-item .nav-link:hover {
      color: #000;;
    }

    .navbar-nav {
        gap: 2rem;
    }
  /* Navigation CSS Ends  */

  /* Main Banner CSS Starts */
  .mainBanner{
    background: url("../images/banner-bg.png") no-repeat scroll center;
    background-size: cover;
    min-height: 970px;
    display: flex;
    align-items: center;
    /* padding-top: 3rem; */
  }
  
  

  .bannerRightImg {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    height: 85%;
    text-align: right;
    }
.bannerRightImg img {
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 150px;
}

.bannerContent h1 {
    font-size: 9rem;
    font-weight: bold;
    color: #fff;
}

.bannerContent h1 span {
    display: block;
    font-size: 4rem;
    font-weight: 500;
}


.bannerContent p {
    font-size: 1.125rem;
    color: #fff;
}

.bannerContent .btnWhite {
    margin-top: 1rem;
} 

.bannerContent figure {
    width: 80%;
    margin-bottom: 2rem;
}
  
  /* Main Banner CSS Ends */



  /* About Section CSS Starts */

  .aboutSection{
    padding: 5rem 0;
  }

  .aboutContent h2 {
    font-size: 3.75rem;
    font-weight: bold;
    }

.aboutContent h3 {
    font-size: 2.5rem;
    font-weight: 500;
}

.aboutEsc {display: flex;align-items: center;gap: 2rem;margin: 1rem 0;}

.aboutEsc p {
    font-size: 1.375rem;
    border: 1px solid #7AAECE;
    padding: 1rem 2rem;
    border-radius: 15px;
    font-weight: bold;
}

.btnGroup {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4rem;
}

.btnGroup .btnTheme {
    color: #fff;
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 50px;
    background: linear-gradient(180deg, #143a56 0%, #396e8f 100%);
    border: none;
}
#serviceMain .accordion-item button:focus {
    outline: none;
    box-shadow: none;
}
.abtMainPage .aboutEsc p {
    background: #396e8f;
    color: #fff;
}
  /* About Section CSS Ends */

  /* Location Section CSS Starts */
  .mapInner {
    display: flex;
}

.mapMain svg {
    height: 100%;
    width: 60%;
}
.locationDtls h2 {
    font-size: 1.875rem;
    font-weight: bold;
    color: #fff;
}

.locationDtls h3 {
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
}

.mapMain {
    padding: 3rem;
    background: #396e8f;
}

.mapInner div {
    text-align: center;
    flex: 0 0 25%;
}

.mapInner div h3 {
    color: #fff;
    font-size: 1.2rem;
}
  /* Location Section CSS Ends */


  /* Work Section CSS Starts */
  .works {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 15rem 0 5rem;
    position: relative;
    background-color: #D4DDE4;
    margin-top: -10rem;
    z-index: 1;
  }
    
  .works .content-works {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  
  .works .header-works {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 35px;
    border-bottom: 1px solid #ffffff;
  }
  
  .works .header-works h3 {
    font-size: 26px;
    color: #fff;
  }
  
  .works #gallery-work {
    position: fixed;
    width: 385px;
    height: 500px;
    transform: translateY(-50%, 50%);
    z-index: 999;
    overflow: hidden;
    pointer-events: none;
    transition: all cubic-bezier(0.19, 1, 0.22, 1) 2s;
  }
  
  .works #work-images {
    width: 100%;
    height: calc(500px * 3);
    display: flex;
    flex-direction: column;
    transition: all cubic-bezier(0.19, 1, 0.22, 1) 2s;
    border-radius: 30px;
  }
  
  .works .work-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    border-radius: 30px;
  }
  
  .works .grid-works {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  
  .works .grid-works .item-work {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 40px 0;
    border-bottom: 1px solid #1A1A1A;
    opacity: 0.6;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    cursor: pointer;
    position: relative;
    z-index: 2;
  }
  
  .works .grid-works .item-work .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
  }
  
  .works .grid-works .item-work:hover {
    opacity: 1;
  }
  
  .works .grid-works .item-work h4 {
    font-size: 1.875rem;
    color: #000;
    font-weight: bold;
  }
  .works .grid-works .item-work p{
    width: 50%;
  }
    .works h2 {
        font-size: 2.5rem;
        font-weight: bold;
    }
    div#serviceMain .accordion-body {
      font-size: 1.25rem;
      font-weight: 500;
      color: #000;
    }

    #serviceMain .accordion-item button {
      background: none;
      font-size: 2rem;
      color: #000;
      font-weight: bold;
      /* border-bottom: 1px solid; */
  }
  
  #serviceMain .accordion-item {
      background: transparent;
      border-bottom: 1px solid #000;
  }
  
  #serviceMain .accordion-item + .accordion-item {
      margin-top: 2rem;
  }

  div#serviceMain .accordion-body figure img {
    width: 100%;
    border-radius: 30px;
  }
  
    div#serviceMain {
        margin-top: 3rem;
    }

    /* .globe {*/
    /*    z-index: 0;*/
    /*    position: absolute;*/
    /*    right: 0;*/
    /*    bottom: 0;*/
    /*}*/
    
    .globe-list{
        display: none;
    } 
  /* Work Section CSS Ends */


  /* Why Choose Us Section CSS Starts */
  .whyChooseUs{
    padding: 10rem 0 5rem;
  }
  .hdContent h3 {
    font-size: 1.375rem;
    color: #1D4B70;
}

.hdContent h2 {
    font-size: 2.5rem;
    font-weight: bold;
}
.hdPara p {
  font-size: 1.275rem;
  font-weight: 500;
  color: #828282;
}
.counterMain {
    text-align: center;
}

.counterMain h3 {
  font-size: 1.375rem;
  font-weight: bold;
}

.counterMain span {
  font-size: 5.75rem;
  font-weight: bold;
  color: #1D4B70;
  line-height: 1.3;
}

.counterMain p {
  font-size: .9rem;
  font-weight: 500;
  color: #828282;
}
  /* Why Choose Us Section CSS Ends */


  /* CTA Main Section CSS Starts */
  .ctaMain{
    background-image: url(../images/cta-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 6rem 1rem;
    border-radius: 30px;
  }

  .ctaMain h2 {
    font-size: 3.5rem;
    font-weight: bold;
    color: #fff;
}

.ctaTxt p {
    font-weight: 500;
    color: #fff;
}

.ctaTxt .btnGroup {
    margin-top: 1rem;
}
  /* CTA Main Section CSS Ends */

  /* Testimonial Section CSS Starts */
  .testimonialSection{
    margin: 5rem 0;
  }
  .quotesMain {
    display: inline-block;
    background: #1D4B70;
    border-radius: 11px;
}

.sliderInr {
    padding: 2rem;
}

.quotesSaying p {
    font-size: 2.5rem;
    font-weight: bold;
    color: #1E1E1E;
    margin-top: 4rem;
}

.testimonialSection {
  background-image: url(../images/testimonial-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 2rem 4rem;
}
.testimonialImgSlider img {
  border-radius: 30px;
  padding: 1rem;
}
.testimonialSlider .customBtn {
  position: absolute;
  top: unset;
  bottom: 0;
  left: 30px;
  height: 70px;
  width: 70px;
  background: #fff;
  border-radius: 100%;
  transition: .3s all ease-in-out;
}

.testimonialSlider {
  padding: 2rem 0;
}

.testimonialSlider .customBtn.btnRight {
  left: 120px;
}

.testimonialSlider .customBtn:after {
  font-size: 1.5rem;
  color: #1D4B70;
  transition: .3s all ease-in-out;
}

.testimonialSlider .customBtn:hover {
  background: #1D4B70;
}

.testimonialSlider .customBtn:hover:after {
  color: #fff;
}
  /* Testimonial Section CSS Ends */


  /* FAQ Section CSS Starts */
  .faqSection{
    padding: 5rem 0;
  }
  .faqAccordionMain button.accordion-button {
    background: transparent;
    box-shadow: none;
    font-size: 2rem;
    font-weight: bold;
    color: #2D2E32;
}

.faqAccordionMain .accordion-item {
    border: none;
    border-bottom: 1px solid #2D2E32;
    position: relative;
    padding-bottom: 2rem;
}

.faqAccordionMain {
    padding: 0 3rem;
}

.faqAccordionMain button.accordion-button:not(.collapsed) {
    font-size: 2.25rem;
}

.faqAccordionMain .accordion-item:before {
    content: "0" counter(section);
    counter-increment: section;
    position: absolute;
    top: 0px;
    color: #3C3C43;
    font-size: 3.375rem;
    font-weight: bold;
    opacity: .5;
    left: -70px;
}
.faqMain {
  text-align: center;
  margin-bottom: 4rem;
}

.faqMain h2 {
  font-size: 3.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.faqMain p {
  font-size: 1.313rem;
  font-weight: 500;
}

.faqAccordionMain .accordion-item + .accordion-item {
  margin-top: 2rem;
}
  /* FAQ Section CSS Ends */
  
  /* Footer Section CSS Starts */
  footer{
    background-image: url(../images/footer-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 5rem 0 0;
    background-position: center;
  }
  .copyrightTxt ul {
    display: flex;
    list-style: none;
    gap: 1rem;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.copyrightTxt ul li + li {
    border-left: 1px solid;
    padding-left: 1rem;
}

.copyrightTxt ul li a {
    text-decoration: none;
    color: #fff;
}

.copyrightTxt ul li {
    color: #fff;
}

.copyRightSection {
    background: #1D4B70;
    padding: .5rem 0;
    margin-top: 6rem;
}

.ftContent p {
    margin: 0;
    color: #1F160F;
    font-weight: 500;
    text-align: justify;
}

.ftWidget h2 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 3rem;
}

.ftWidget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ftWidget.widget2 ul li {
    flex: 0 0 50%;
}

/*.ftWidget.widget2 ul {*/
/*    display: flex;*/
/*    flex-wrap: wrap;*/
/*    align-items: start;*/
/*}*/

.ftWidget ul li {
    margin-bottom: 1.2rem;
}

.ftWidget ul li a {
    font-weight: 500;
    text-decoration: none;
    display: flex;
    align-items: center;
    /* gap: 2rem; */
    color: #1F160F;
    transition: .3s all ease-in-out;
}

.ftWidget ul li a svg {
    flex: 0 0 20%;
}

.ftWidget ul li a:hover {
    color: #1c4b70;
}
.ftWidget.widget2 h3 {
    font-size: 1.2rem;
    font-weight: bold;
}

.ftWidget.widget2 a {
    margin-top: 1rem;
    font-size:.8rem
}
a.footerLogo {
    display: block;
    margin-bottom: 3rem;
}
  /* Footer Section CSS Ends */




  /* About Us Page CSS Starts */
  .innerBanner{
    background: url(../images/inner-banner.png) no-repeat center;
    background-size: cover;
    min-height: 450px;
    display: flex;
    align-items: end;
    justify-content: center;
  }

  .innerBanner h1 {
    margin-bottom: 5rem;
    font-size: 3.75rem;
    font-weight: bold;
    color: #fff;
  }
  .missionSection {
    padding: 0rem 0 5rem;
    background: #396e8f;
  }

  .missionSection .visionContent {
      padding: 2rem;
      background: #396E8F;
      border-radius: 35px;
  }
  .missionSection .visionContent.darkBg{
    background-color: #1D4B70;
  }

  .missionSection .visionContent p {
      min-height: 200px;
      color: #fff;
      font-weight: 500;
  }

  .missionSection .visionContent h2 {
      font-size: 4rem;
      color: #fff;
      font-weight: 500;
      margin: 3rem 0;
      font-weight: bold;
  }
  /* About Us Page CSS Ends */



  /* Service Page CSS Starts */
  .serviceMainSection {
    padding: 5rem 0;
  }

  .serviceMainSection .row {
    margin: 5rem 0px;
  }
  .serviceMainSection h2 {
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 2rem;
  }
  .serviceMainSection figure img {
    border-radius: 30px;
}
  /* Service Page CSS Ends */



  /* Contact Us Page CSS Starts */
  section.contactPageMain {
    padding: 5rem 0;
}

.contactPageMain h2 {
    font-size: 3.75rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 2rem;
}

.contactPageMain .locationMain {
    text-align: center;
    background: #E8ECEF;
    padding: 2rem 4rem;
    border-radius: 30px;
    transition: .3s all ease-in-out;
}

.contactPageMain .locationMain h3 {
    font-size: 1.375rem;
    font-weight: bold;
    margin-top: 2rem;
    transition: .3s all ease-in-out;
}

.contactPageMain .locationMain:hover {
    background: #204b71;
}

.contactPageMain .locationMain:hover h3 {
    color: #fff;
}
.contactDetails h2 {
  color: #fff;
  text-align: left;
}

.contactDetails {
  background: linear-gradient(180deg, #143A56 0%, #396E8F 100%);
  padding: 3rem 6rem 2rem 2rem;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  min-height: 470px;
}

.contactDetailMain {
  margin-top: 7rem;
}

.contactDetails p {
  font-size: 1.2rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: .5rem;
  color: #fff;
  margin: 0;
}

.contactDetails a {
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
}
.contactDetails .dtlMains + .dtlMains {
  margin-top: 1.5rem;
}
.contactFormMain {
  padding: 3rem;
  background: #fff;
  border: 1px solid #204b71;
  border-radius: 30px;
  margin-left: -3rem;
  min-height: 470px;
}

.contactFormMain h2 {
  text-align: left;
  margin-bottom: 1rem;
}

.contactFormMain form input {
  background: #FAFAFA;
  margin-bottom: 1.2rem;
  min-height: 42px;
}

.contactFormMain form textarea {
  resize: none;
  height: 100px;
  background: #FAFAFA;
}

.contactFormMain form input::placeholder,.contactFormMain form textarea::placeholder {
  color: #242424;
}

.contactFormMain .btnGroup {
  margin-top: 1rem;
}

.contactFormMain .btnGroup .btnTheme {
  padding: .5rem 5rem;
}

.contactPageMain .gb1 {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: -1;
  left: 0;
}

.contactPageMain .gb2 {
  position: absolute;
  bottom: -10rem;
  right: 0;
  z-index: -1;
}
  /* Contact Us Page CSS Ends */
  
  
  
  .logoWhite {
    filter: invert(0) brightness(100);
}


.aboutMd6 {
    height: 500px;
}

.preloader {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: white;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    display:none;
}

.preloader img {
    width: 60px;
    -webkit-animation:spin 4s linear infinite;
    -moz-animation:spin 4s linear infinite;
    animation:spin 4s linear infinite;
}

@-moz-keyframes spin { 
    100% { -moz-transform: rotate(360deg); } 
}
@-webkit-keyframes spin { 
    100% { -webkit-transform: rotate(360deg); } 
}
@keyframes spin { 
    100% { 
        -webkit-transform: rotate(360deg); 
        transform:rotate(360deg); 
    } 
}

.mapInner div img {
    height: 230px;
    object-fit: cover;
    margin-bottom: 20px;
}

.ctaMain h2 span {
    font-size: 2.2rem;
}

.preloader video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-banner{
    background-image: url('../images/service-banner.png');
}
.contact-banner{
    background-image: url('../images/contact-banner.png');
}

.map-wrapper {
    position: relative;
}

.pointer {
    position: absolute;
    top: -7px;
    width: 20px;
    right: 86px;
}

.pointer img {
    width: 100%;
}

.pointer.usa-pointer {
    right: 105px;
}

.pointer.taiwan-pointer {
    top: -87px;
    right: 91px;
}

.pointer.china-pointer {
    top: -40px;
    right: 71px;
}

.loader {
    margin-top: 10px;
    text-align: center;
    display: none;
}

.loader img {
    width: 30px;
}

input.error {
    background-color: #f8d7da !important;
}

label.error {
    display: none !important;
}