﻿@charset "utf-8";
:root{
  --PrimaryClr        :#E2362D;
  --secondaryClr      :#142634;
  --BlackClr          :#000000;
  --WhiteClr          :#ffffff;
  --SectionBGClr      :#EBF5FD; 

  --BlueClr            :#004c88;

  --BodyFont          : "Outfit", system-ui, sans-serif;

  --HeadingOne        : clamp(2rem, 4vw, 60px);  /* 86px */
  --HeadingTwo        : clamp(1.6rem, 4vw, 4rem);  /* 60px */
  --HeadingThree      : 3rem;   /* 48px  */
  --ctaHD             : clamp(1.6rem, 2.5vw, 2.1875rem);
}

figure,h1,h2,h3,h4,p{padding:0;margin:0}h4,ol,ul,ul ul{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0;-webkit-padding-start:0}:focus,body a,body a:active,input[type=text]:focus,textarea:focus{outline:0}article,aside,dialog,figure,footer,header,hgroup,nav,ol,p,section{display:block}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,command,datalist,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,font,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,keygen,label,legend,li,meter,nav,object,ol,output,p,pre,progress,q,s,samp,section,small,source,span,strike,strong,sub,sup{outline:0;vertical-align:baseline}figure,p{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0}ol{list-style-type:decimal}a img,img{vertical-align:middle}a img{border:0}body a:focus{-mos-outline-style:none;outline:0}body:-moz-any-link:focus{outline:0}
html {-webkit-text-size-adjust:none;}
div{vertical-align:top;}
img{max-width:100%; width:auto; height:auto;}
a{cursor:pointer; transition:all 0.2s ease; text-decoration:none;}
a:hover, a:focus{text-decoration:none;}
html {-webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}
html {position:relative; min-height:100%;}
aside, .right-side, .navbar-collapse{transition:all 0.5s ease;}
button:focus {outline:0px dotted; outline:0px auto -webkit-focus-ring-color;}
.btn.focus, .btn:focus {outline:0; box-shadow:0 0 0 0rem rgb(0 123 255 / 25%);}

::-moz-selection { /* Code for Firefox */
  color: white;
  background:var(--PrimaryClr);
}
::selection {
  color: white;
  background:var(--PrimaryClr);
}

/*Typekit*/
html, body{font-family:var(--BodyFont); color:var(--BlackClr); font-weight:400; padding:0px; margin:0px;}
p{margin-bottom:15px}
div p:last-child{margin-bottom:0px;}
.form-control:focus{box-shadow:0 0 0 0rem rgba(47,203,75,.25);}
.row:before, .row:after {display:none !important;}

.section-large{padding: 80px 0;}
.section-medium{padding: 50px 0;}

h1, h2, h3, h4, h5, h6{font-family:var(--BodyFont); margin-bottom:20px; font-weight:700;}

h1{font-size:var(--HeadingOne);}
h2{font-size:var(--HeadingTwo); line-height: calc(var(--HeadingTwo) + 10px);}
h3{font-size:var(--HeadingThree);}

/*Typekit END*/
html{font-size:100%;}
.text-balance {text-wrap: balance;}
.color-primary{color: var(--PrimaryClr);}
.full-width{grid-column: 1 / -1;}
.flex-center {display: flex; align-items: center; justify-content: center;}
.section-bg{background: var(--SectionBGClr);}

.btn-primary{background: var(--PrimaryClr); color: var(--WhiteClr); font-size:14px; font-weight: 500; padding: 0.51rem 1rem 0.54rem 1rem;}
.btn-primary:hover{background:var(--BlueClr);}

.bka-submit-btn{background: var(--PrimaryClr); color: var(--WhiteClr); border: 0px;  font-size:14px; font-weight: 500; padding: 0.51rem 1rem 0.54rem 1rem;}
.bka-submit-btn:hover, .bka-submit-btn:focus{background:var(--BlueClr);}

.btn-book-meeting{background: var(--PrimaryClr); color: var(--WhiteClr); font-size:14px; font-weight: 500; padding: 0.51rem 1rem 0.54rem 1rem;}
.btn-book-meeting:hover,.btn-book-meeting:focus{background:var(--BlueClr);}

.btn-white{background: var(--WhiteClr); color:var(--secondaryClr); font-size:14px; padding: 0.51rem 1rem 0.54rem 1rem;}
.btn-white:hover{background:var(--PrimaryClr); color:var(--WhiteClr);}
.btn-white:hover svg path{stroke: var(--WhiteClr);}

.text-link{font-weight: 500; color:var(--secondaryClr);}
.text-link:hover{color:var(--PrimaryClr); text-decoration:none;}
.text-link:before, .text-link:after{content: ""; position: absolute; width:100%; bottom: -3px; left: 0; height:2px; background: var(--secondaryClr); transition: width .6s; }
.text-link:after{ width:0%;}
.text-link:hover:after{width: 100%; background: var(--PrimaryClr);}

.text-link svg{transition: all 0.3s ease-in-out;}
.text-link:hover svg path{color:var(--PrimaryClr); stroke: var(--PrimaryClr);}
.text-link:hover svg{margin-left:2px;}


/* home page css */
.eyebrow{font-size:14px; font-weight: 500;}
.home-speciality-section .group-hd p{max-width: 600px;}

.home-center-cards{grid-template-columns:1fr 1fr 1fr 1fr; gap: 30px;}
.hc-card{height:360px}
.hc-card .center-img{height:calc(360px - 130px)}
.hc-card .center-img img{height: 100%; object-fit: cover;}

.hc-card-body{margin-top:-30px;}
.hc-card-body h3{font-size:20px; max-width:65%; min-height: 48px;}
.hc-card-content p{font-size:14px; margin-bottom:5px}
.hc-card-content a{font-size:15px; color:var(--secondaryClr);}
.hc-card-content a svg{transition: all 0.3s ease-in-out;}
.hc-card-content a:hover, .hc-card-content a:hover svg path{color:var(--PrimaryClr); stroke: var(--PrimaryClr);}
.hc-card-content a:hover svg{margin-left:2px;}

.hc-card-body{transition: transform 0.45s ease, min-height 0.45s ease; min-height:96px; bottom:0px;}
.hc-card-content {max-height: 0; opacity: 0; visibility: hidden; overflow: hidden; transition: max-height 0.4s ease, opacity 0.3s ease, margin-top 0.3s ease;}
.hc-card:hover .hc-card-body {min-height: 175px; transform: translateY(0);}
.hc-card:hover .hc-card-content {max-height: 100px; opacity: 1; visibility: visible; margin-top: 10px;}

.control-section{grid-template-columns: 1fr 1fr;}
.control-section h3{font-size:3rem}
.text-offer{background: var(--PrimaryClr); font-size:2.5rem;}

.case-swipper-outer{margin-right: calc(-50vw + 50%);}
.case-card h3{font-size: 1.4rem;}
.case-card p{opacity: 0.7;}

.np-arrow{border: solid 1px #DEDEDE; border-radius: 50%; line-height: 10px;}

.tech-swipper-outer{margin-right: calc(-50vw + 50%);}
.tech-card p{max-width:600px;}
.tech-swipper .swiper-pagination-bullet {width: 10px; height: 10px; margin: 0 !important; border-radius: 50%; background: #D9D9D9; opacity: 1; transition: all 0.3s ease;}
.tech-swipper .swiper-pagination-bullet-active {width: 30px; border-radius: 10px; background: #000;}

.ht-outer{margin-right: calc(-50vw + 50%);}
.home-testimonials-swipper .swiper-slide{height: auto;}
.testimonials-body{border-color:#EAEAEA!important;}
.author-img{--size:40px; min-width: var(--size); min-height: var(--size); max-width: var(--size); max-height: var(--size);}
/* .no-video-height{min-height:300px;} */
.no-video-height{min-height:100%;}
.testimonial-rating{display:flex; align-items:center; gap:4px;}
.testimonial-rating svg{display:block;}
.testimonial-rating .star-half{width:6.5px; overflow:hidden;}
.tinfo > :last-child{margin-bottom:0;}

.home-about-video{border-top:solid 1px #ECECEC;}

.home-search{margin-top: -30px;}
.home-search-outer{border-color:#C6C6C6!important; max-width: 500px;}
.search-btn{background: url(../images/search.svg) no-repeat center; text-indent: -9999px; width: 15px; height: 100%; background-size: contain; opacity: 0.7;}
.search-field{flex: 1; background: #ffffff;}

.home-hero-swiper{height: calc(100vh - 160px);}
.home-hero-swiper .np-arrow{background: var(--SectionBGClr);}

.impact-card{min-height: 230px;}

.career-intro{max-width: 100%!important;}


@media all and (min-width:960px){
  .impact-section .group-hd h2{max-width: 600px}
  .impact-section .group-hd p{max-width: 400px}

  .section-cases .group-hd h2{max-width: 600px}
  .section-cases .group-hd p{max-width: 400px}

  .home-about-video .group-hd h2{max-width: 600px}
  .home-about-video .group-hd p{max-width: 400px}

  .case-card p{max-width: 50%;}
  .tech-card h3{max-width: 600px}
  .tech-card p{max-width: 400px}
  .home-testimonials .group-hd h2{max-width: 600px}
  .tinfo{max-width:90%;}

  .tgrid-desk{display: block; column-count: 2;}
  .tgrid-desk .col-md-12{break-inside: avoid; margin-top: 0 !important; margin-bottom:15px;}
  .mw-md-50{max-width: 50%;}
}

@media all and (max-width:1400px){
  .hc-card-body h3 {font-size: 18px; max-width: 72%;}
  .control-section h3{font-size: 2.4rem;}
}

@media all and (max-width:1200px){
  .home-center-cards {grid-template-columns: 1fr 1fr 1fr; gap: 15px;}
  .case-card p{max-width: 100%;}
}

@media all and (max-width:960px){
  .control-section h3 {font-size: 2rem;}
  .text-offer{font-size: 1.8rem;}
  .case-card h3{font-size: 1.2rem;}

  .tech-info-wap{position:relative!important; margin-top: -5px; background: var(--SectionBGClr); color: var(--secondaryClr)!important;}
  .tech-info-wap h3{font-size: 1.4rem;}

  .home-hero-swiper {height: auto;}
  .home-search{padding-inline: 20px; margin-top: -22px;}
  .home-search form{padding: 10px 15px!important;}
}


@media all and (max-width:767px){
  .btn-book-meeting{font-size:13px; font-weight: 500; padding: 0.51rem 1rem 0.54rem 1rem;}
  .home-center-cards {grid-template-columns: 1fr}
  .control-section {grid-template-columns: 1fr;}

  .section-large {padding: 40px 0;}
  .section-medium {padding: 30px 0;}
}


/* Homepage video animation */
.about-video-scroll {width: 50%; max-width: 600px; margin: 25px auto 0; position: relative; z-index: 1; will-change: width;}
.about-video-inner {position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #e9eff1;}
.about-video-inner video, .about-video-inner iframe {border: 0; position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover;}

/* Center play / pause button */
.about-video-toggle {position: absolute; z-index: 2; top: 50%; left: 50%; display: flex; justify-content: center; align-items: center; width: 76px; height: 76px;
padding: 0; transform: translate(-50%, -50%); border: 1px solid var(--PrimaryClr); border-radius: 50%; background: rgba(255, 255, 255, .3);cursor: pointer; opacity: 1;
visibility: visible; pointer-events: auto; transition: opacity .3s ease, visibility .3s ease;}
.about-video-inner.is-playing .about-video-toggle {opacity: 0; visibility: hidden; pointer-events: none;}
.about-video-inner.is-paused .about-video-toggle {opacity: 1; visibility: visible; pointer-events: auto;}
.video-pause-icon {display: flex; justify-content: center; align-items: center; width: 54px; height: 54px; border-radius: 50%; background:var(--PrimaryClr); color: #fff; font-size: 24px; font-weight: 700;}

@media (max-width: 767px) {
  .about-video-scroll {width: 100%; margin-top: 24px;}
  .about-video-inner {border-radius: 8px; aspect-ratio: 4 / 3;}
  .about-video-toggle {width: 60px; height: 60px;}
  .video-pause-icon {width: 44px; height: 44px; font-size: 21px;}
}

@media (prefers-reduced-motion: reduce) {
  .about-video-scroll {width: 100%;}
  .about-video-toggle {transition: none;}
}

.home-hero-swiper .swiper-pagination {margin-bottom: 1.8rem; column-gap: 10px; display: flex; justify-content: center;}
.home-hero-swiper .swiper-pagination-bullet {width: 10px; height: 10px; margin: 0 !important; border-radius: 50%; background: #ae8987; opacity: 1; transition: all 0.3s ease;}
.home-hero-swiper .swiper-pagination-bullet-active {width: 30px; border-radius: 10px; background: #000;}

/* Desktop: arrows only */
/* @media (min-width: 768px) {
  .home-hero-swiper .swiper-button-prev,
  .home-hero-swiper .swiper-button-next {display: flex;}
  .home-hero-swiper .swiper-pagination {display: none;}
}

@media (max-width: 767px) {
  .home-hero-swiper .swiper-button-prev,
  .home-hero-swiper .swiper-button-next {display: none;}
} */

.counter-number {display: flex; align-items: center; overflow: hidden; line-height: 1;}
.counter-digit {display: inline-block; height: 1em; overflow: hidden; line-height: 1;}
.counter-digit-track {display: flex; flex-direction: column; will-change: transform;}
.counter-digit-track span {display: block; height: 1em; line-height: 1; text-align: center;}

/* Site search (home + search page) */
.site-search{position: relative;}
.home-search-wrap{max-width: 500px;}
.site-search-form{border-color:#C6C6C6!important; max-width: 640px;}
.site-search-suggest{position: absolute; top: calc(100% + 6px); left: 0; right: 0; max-width: 640px; z-index: 20; background: #fff; border: 1px solid #E2E5EA; border-radius: 12px; box-shadow: 0 12px 32px rgba(13,34,52,.12); max-height: 420px; overflow-y: auto; padding: 6px 0; text-align: left;}
.home-search-wrap .site-search-suggest{max-width: none;}
.site-search-group + .site-search-group{border-top: 1px solid #EEF0F3; margin-top: 4px; padding-top: 4px;}
.site-search-group-label{font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--PrimaryClr); padding: 8px 18px 4px;}
.site-search-item{display: block; padding: 7px 18px; color: inherit; text-decoration: none; line-height: 1.3;}
.site-search-item:hover, .site-search-item.active{background: var(--SectionBGClr); color: inherit;}
.site-search-item-title{display: block; font-weight: 500;}
.site-search-item-subtitle{display: block; font-size: 13px; color: #6c757d; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.site-search-item mark, .search-result-item mark{background: none; padding: 0; color: var(--PrimaryClr); font-weight: 600;}
.site-search-empty{padding: 10px 18px; color: #6c757d; font-size: 14px;}
.site-search-all{display: block; border-top: 1px solid #EEF0F3; margin-top: 4px; padding: 10px 18px 6px; font-size: 14px; font-weight: 600; color: var(--PrimaryClr); text-decoration: none;}
.site-search-all:hover{text-decoration: underline;}

.search-summary{margin-bottom: 1.75rem;}
.search-group + .search-group{margin-top: 2.5rem;}
.search-group-title{font-size: 22px; font-weight: 500; margin-bottom: 1rem;}
.search-group-title span{font-size: 15px; color: #6c757d; font-weight: 400;}
.search-result-list{display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px;}
.search-result-item{display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border: 1px solid #E2E5EA; border-radius: 10px; color: inherit; text-decoration: none; transition: border-color .2s, background .2s;}
.search-result-item:hover{border-color: var(--PrimaryClr); background: var(--SectionBGClr); color: inherit;}
.search-result-title{display: block; font-weight: 500;}
.search-result-subtitle{display: block; font-size: 13px; color: #6c757d; margin-top: 2px;}
