* {
   padding: 0;
   margin: 0;
   scroll-behavior: smooth;
   font-family: "Poppins", sans-serif;
   box-sizing: border-box;
}

ul,
ol {
   list-style: none;
}

p {
   margin-bottom: 15px;
}

:root {
   --bs-gutter-x: 1.5rem;
   --bs-gutter-y: 0;
}

.container,
.container-fluid {
   width: 100%;
   padding-right: var(--bs-gutter-x, .75rem);
   padding-left: var(--bs-gutter-x, .75rem);
   margin-right: auto;
   margin-left: auto;
}

@media (min-width: 576px) {
   .container {
      max-width: 540px;
   }
}

@media (min-width: 768px) {
   .container {
      max-width: 720px;
   }
}

@media (min-width: 992px) {
   .container {
      max-width: 960px;
   }
}

@media (min-width: 1200px) {
   .container {
      max-width: 1140px;
   }
}

@media (min-width: 1400px) {
   .container {
      max-width: 1320px;
   }
}

.row {
   --bs-gutter-x: 1.5rem;
   --bs-gutter-y: 0;
   display: flex;
   flex-wrap: wrap;
   margin-top: calc(-1 * var(--bs-gutter-y));
   margin-right: calc(-0.5 * var(--bs-gutter-x));
   margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.row>* {
   box-sizing: border-box;
   flex-shrink: 0;
   width: 100%;
   max-width: 100%;
   padding-right: calc(var(--bs-gutter-x) * 0.5);
   padding-left: calc(var(--bs-gutter-x) * 0.5);
   margin-top: var(--bs-gutter-y);
}

.col-6 {
   flex: 0 0 auto;
   width: 50%;
}

/*------------ Layout media query starts ------------*/
@media (min-width: 768px) {

   .col-md-3 {
      flex: 0 0 auto;
      width: 25%;
   }

   .col-md-4 {
      flex: 0 0 auto;
      width: 33.33333333%;
   }

   .col-md-6 {
      flex: 0 0 auto;
      width: 50%;
   }

   .col-md-8 {
      flex: 0 0 auto;
      width: 66.66666667%;
   }
}

@media (min-width: 992px) {

   .col-lg-1 {
      flex: 0 0 auto;
      width: 8.33333333%;
   }

   .col-lg-2 {
      flex: 0 0 auto;
      width: 16.66666667%;
   }

   .col-lg-3 {
      flex: 0 0 auto;
      width: 25%;
   }

   .col-lg-4 {
      flex: 0 0 auto;
      width: 33.33333333%;
   }

   .col-lg-5 {
      flex: 0 0 auto;
      width: 41.66666667%;
   }

   .col-lg-7 {
      flex: 0 0 auto;
      width: 58.33333333%;
   }

   .col-lg-6 {
      flex: 0 0 auto;
      width: 50%;
   }

   .col-lg-8 {
      flex: 0 0 auto;
      width: 66.66666667%;
   }

   .col-lg-9 {
      flex: 0 0 auto;
      width: 75%;
   }

   .col-lg-10 {
      flex: 0 0 auto;
      width: 83.33333333%;
   }

   .col-lg-11 {
      flex: 0 0 auto;
      width: 91.66666667%;
   }

   .col-lg-12 {
      flex: 0 0 auto;
      width: 100%;
   }
}

@media (min-width:992px) {
   .col-lg {
      flex: 1 0 0%
   }
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
   font-weight: 700;
   line-height: 1.3;
   font-family: "Anek Odia", sans-serif;
   margin-bottom: 15px;
   color: #333333f0;
}

.h1,
h1 {
   font-size: calc(1.375rem + 1.5vw)
}

@media (min-width:1200px) {

   .h1,
   h1 {
      font-size: 2.813rem
   }
}

.h2,
h2 {
   font-size: calc(1.325rem + .9vw)
}

@media (min-width:1200px) {

   .h2,
   h2 {
      font-size: 2.5rem
   }
}

.h3,
h3 {
   font-size: calc(1.3rem + .6vw)
}

@media (min-width:1200px) {

   .h3,
   h3 {
      font-size: 2.125rem
   }
}

.h4,
h4 {
   font-size: calc(1.275rem + .3vw)
}

@media (min-width:1200px) {

   .h4,
   h4 {
      font-size: 1.75rem
   }
}

.h5,
h5 {
   font-size: 1.375rem
}

.h6,
h6 {
   font-size: 1rem
}

[class*="row-gap"] {
   row-gap: 20px;
}

.row-gap-3 {
   row-gap: 30px;
}

img,
svg {
   vertical-align: middle;
}

.img-fluid {
   max-width: 100%;
   height: auto;
}

:where(.section, section, .sec-space, .mt-auto) {
   margin-top: 60px;
}

.mb-auto {
   margin-bottom: 60px;
}

.mt-5 {
   margin-top: 50px !important;
}

.mt-0 {
   margin-top: 0px !important;
}

.mt-3 {
   margin-top: 30px !important;
}

.mx-auto {
   margin-inline: auto;
}

.my-auto {
   margin-block: auto;
}

.mb-0 {
   margin-bottom: 0 !important;
}

.pb-5 {
   padding-bottom: 50px !important;
}

[class*="flex-"] {
   display: flex;
   align-items: center;
}

[class*="flex-col"] {
   flex-flow: column;
   align-items: unset;
}

[class*="-between"] {
   justify-content: space-between;
}

[class*="grid"] {
   display: grid !important;
}

.justify-content-center {
   justify-content: center;
}

.justify-content-start {
   justify-content: flex-start;
}

.justify-content-end {
   justify-content: flex-end;
}

.align-items-center {
   align-items: center;
}

.text-center {
   text-align: center;
}

.text-right {
   text-align: right;
}

.sticky-col {
   position: sticky;
   top: 100px;
}

/*site-btn-start*/

[class*="flex-btn"] {
   position: relative;
   width: fit-content;
   padding: 10px 25px;
   overflow: hidden;
}

/*header-start */

header {
    padding: 20px;
    position: fixed;
    top: 0;
    border-bottom: 1px solid #eee;
    width: 100%;
    background: var(--white);
    z-index: 999;
}

header .site-logo img {
      height: 40px;
      width: 100%;
      object-fit: cover;
   }

header .menu {
   position: fixed;
   height: 100%;
   width: 100%;
   z-index: 99;
   right: 0;
   top: 0;
   padding: 50px;
   transform: translateX(100%);
   opacity: 0;
   visibility: hidden;
}

header .menu#showMenu {
   transform: translateX(0%);
   height: 100vh;
   opacity: 1;
   visibility: visible;
   transition: all .9s cubic-bezier(.23, 1, .32, 1);
}

header .menu nav ul,
.hero-video .flex-hero-item,
.flex-col-content {
   gap: 10px;
   flex-wrap: wrap;
}

header .menu nav ul {
   gap: 40px;
}

header .menu nav ul li.closeMenu {
   position: absolute;
   top: 60px;
   right: 60px;
}

/*homepage-hero-start */

.hero-video {
   margin-top: -150px;
   position: relative;
   display: flex;
   z-index: 9;
}

.hero-video .hero-content {
   position: absolute;
   left: 50%;
   top: 50%;
   margin-top: 150px;
   z-index: 999999999;
   transform: translate(-50%, -50%);
}

/*-------project-card----start----*/

.working-card img {
   height: 750px;
   width: 100%;
   object-fit: cover;
}

.working-card .flex-col-project-detl {
   position: absolute;
   z-index: 999;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

/*-------service-wrapper---start----*/

[class*="flex-col-sec-hd"] {
   gap: 10px;
   margin-bottom: 30px;
}

[class*="flex-col-sec-hd"] h2 {
   margin-bottom: 0;
}

.flex-col-sec-hd-center {
   align-items: center;
   text-align: center;
}

.grid-55 {
   grid-template-columns: 55% auto;
}

.grid-45 {
   grid-template-columns: 45% auto;
}

.img-holder img {
   height: 100%;
   width: 100%;
   object-fit: cover;
}

.flex-col-content-wrap {
   padding: 50px;
   background: #eeeeee47;
   height: 100%;
   gap: 25px;
   justify-content: center;
}

/*---------client-container---start------*/


.grid-50 {
   grid-template-columns: 50% 50%;
}

.flex-client-logo {
   padding: 10px;
   justify-content: center;
}

.client-review-wrap {
   background: #3e800612;
   padding: 50px;
   display: inline-flex;
   text-align: center;
}

/*---for-common-page-----*/

.single-page-hero {
   background: linear-gradient(180deg, #071A40 0%, #053E59 100%);
   padding: 350px 110px 50px 0;
   margin-top: -170px;
}

form :is(input, select, textarea) {
   width: 100%;
   padding: 7px 15px;
}

.gallery img {
   height: 100%;
   width: 100%;
   object-fit: cover;
}

/*-----for-contact-page---*/

.contact-con {
   position: relative;
}

.contact-info-con {
   padding: 30px;
   position: absolute;
   width: 100%;
   max-width: 500px;
   bottom: 300px;
}

.grid-info-con {
   grid-template-columns: 20% auto;
   align-items: center;
}

.grid-info-con .flex-info-icon {
   height: 70px;
   width: 70px;
   justify-content: center;
}

.grid-info-con .flex-col-info {
   gap: 10px;
}


/*-----for-about-page---*/

.dynamic-tab-content button {
   padding: 10px 15px;
   width: 100%;
   text-align: left;
}

.project-list li {
   padding-left: 25px;
   position: relative;
   margin-bottom: 20px;
}

.flex-col-list {
    gap: 15px;
    list-style: disc;
    padding-left: 20px;
    margin-top: 20px;
    color: rgb(0 0 0 / 59%);
}

/*---------footer-start-------*/

.flex-col-foot-menu .flex-col-foot-item {
   gap: 15px;
   margin-top: 22px;
}

footer .foot-cta {
   background: linear-gradient(360deg, rgba(1, 1, 1, 0.85) 0%, rgba(0, 0, 0, 0.75) 35%, rgba(0, 0, 0, 0.32) 100%), url(https://img.freepik.com/free-photo/smiling-young-lady-showing-antique-key_1149-509.jpg?semt=ais_hybrid&w=740&q=80) center top / cover no-repeat;
   height: 100%;
   width: 100%;
   padding: 20px;
   position: relative;
   border-radius: 20px;
}

footer .foot-cta a {
   position: absolute;
   text-align: center;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.copyright {
   padding-block: 15px;
}

.social ul {
   gap: 10px 15px;
}

.social ul li a {
   width: 35px;
   height: 35px;
   display: grid;
   place-items: center;
}

.work-hero{
   position: relative;
   height: 550px;
   width: 100%;
}

.cracker-overlay:after{
   background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFElEQVR4AWJiYGD4D8QMIAYjiAEAAAD//7nL8I4AAAAGSURBVAMADj8BBRD7ez4AAAAASUVORK5CYII=");
   opacity: 0.9;
   content: '';
   position: absolute;
   inset: 0;
   height: 100%;
   width: 100%;
}

.flex-col-page-info p{
   margin-bottom: 5px;
}

/*responsive-query-start*/

@media (width <=1024px) {
   header {
      padding: 20px 0;
   }

   .hero-video .hero-content {
      gap: 0;
      padding-inline: 20px;
      top: 0;
      margin: 0;
   }

   .hero-video video {
      height: 1000px;
   }

   .order-md-1 {
      order: 1;
   }

   .order-md-2 {
      order: 2;
   }

   .grid-55,
   .grid-45 {
      grid-template-columns: 50% auto;
   }

   [class*="flex-col-sec-hd"] {
      margin-bottom: 10px !important;
   }

   .flex-col-content-wrap {
      padding: 30px !important;
   }

   .text-right {
      text-align: left;
   }

   .client-container {
      padding: 25px 0 0 !important;
   }

   .client-logo-wrap,
   .client-review-wrap {
      padding: 25px !important;
   }

   footer .foot-cta {
      height: 250px !important;
   }

   .flex-copyright-between {
      flex-wrap: wrap;
      gap: 15px;
      text-align: center;
      justify-content: center;
   }

   .single-page-hero {
      padding: 300px 0px 50px !important;
   }

   .contact-info-con {
      position: unset !important;
      padding: 15px !important;
   }

   .tab-card {
      padding: 20px !important;
   }
}

@media (600px <=width <=1024px) {
   .hero-video .hero-content {
      transform: translate(-50%, 150px);
      max-width: 700px;
      width: 100%;
   }

   .hero-video .hero-content h1 {
      font-size: 50px !important;
      line-height: 1.5 !important;
   }

   .grid-50 {
      grid-template-columns: auto !important;
   }

   .grid-info-con {
      gap: 15px 30px !important;
      grid-template-columns: 20% auto !important;
   }
}

@media (width <=600px) {
   .hero-video .hero-content {
      transform: translate(0%, -50%);
      left: unset;
      top: 50%;
   }

   .hero-video :is(.flex-hero-item, .flex-hero-item li) {
      font-size: 12px !important;
   }

   .hero-video .hero-content h1 {
      font-size: 30px !important;
      line-height: 1.5 !important;
   }

   [class*="grid"] {
      grid-template-columns: 100% !important;
   }

   .grid-info-con {
      gap: 15px 30px !important;
      grid-template-columns: 20% auto !important;
   }

   .order-sm-1 {
      order: 1;
   }

   .order-sm-2 {
      order: 2;
   }
}