/* 
Theme Name: Hashed System Theme
Theme URI: https://hashedsystem.com/
Description: Hashed System Theme is a child theme of Hello Elementor, created by Hashed System team
Author: Hashed System Team
Author URI: https://hashedsystem.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hashedsystem-theme
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/
html {
    overflow: inherit;
	scrollbar-width: auto; /* Options: auto, thin, or none */
  scrollbar-color: #0D99FF #f1f1f1; /* thumb color | track color */
}

body {
    overflow-x: hidden !important;
}
span.fw-400 {
    font-weight: 400;
}
/*  -------- home page moving images style ---------- */
/* Main visible marquee area */
.moving-img-wrapper {
    --moving-gap: 16px;

    position: relative;
    display: block !important;
    width: 100%;
    height: 100dvh !important; /* Adjust the visible height */
    overflow: hidden !important;
}

/* Contains both identical box sets */
.moving-img-wrapper .moving-img-track {
    display: flex;
    flex-direction: column;
    gap: var(--moving-gap);
    width: 100%;
    will-change: transform;
    transform: translateZ(0);

    animation-name: moving-marquee-down;
    animation-duration: var(--moving-duration, 25s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

/* Each repeated set */
.moving-img-wrapper .moving-img-set {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    gap: var(--moving-gap);
    width: 100%;
}

/* Individual Elementor boxes */
.moving-img-wrapper .moving-box {
    flex: 0 0 auto !important;
    width: 100%;
}

/* Default direction: top to bottom */
@keyframes moving-marquee-down {
    from {
        transform: translate3d(
            0,
            calc(-1 * var(--moving-distance, 0px)),
            0
        );
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

/* Add the move-up class to reverse the direction */
.moving-img-wrapper.move-up .moving-img-track {
    animation-name: moving-marquee-up;
}

@keyframes moving-marquee-up {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(
            0,
            calc(-1 * var(--moving-distance, 0px)),
            0
        );
    }
}
/* -------- contact us page slider nav buttons style -------- */
.elementor-swiper-button:hover {
    border:1px solid #ffffff00 !important;
    background:#0D99FF;
}
.elementor-swiper-button{
    border:1px solid #ffffff38 !important;
    border-radius:50%;
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
}



svg.e-font-icon-svg {
    fill:#ffffff38 !important;
}
.elementor-swiper-button:hover svg.e-font-icon-svg {
    fill:#ffffff !important;
}
/* ------- website scroll bar style ------- */

/* WebKit Browsers (Chrome, Safari, newer Edge, Opera) */
/* 1. The container/track background */
::-webkit-scrollbar {
  width: 12px; /* Width of the vertical scrollbar */
  height: 12px; /* Height of the horizontal scrollbar */
}

/* 2. The track (progress bar) */
::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 6px;
}

/* 3. The draggable thumb */
::-webkit-scrollbar-thumb {
  background: #0D99FF;
  border-radius: 6px;
  border: 3px solid #f1f1f1; /* Creates padding around the thumb */
}

/* 4. The thumb when hovered */
::-webkit-scrollbar-thumb:hover {
  background: #0D99FF;
}
/* Style for all selected text across the entire website */
::selection {
  background-color: #0D99FF; /* The highlight background color */
  color: #ffffff;            /* The text color when highlighted */
}

/* Optional: Support for older versions of Firefox */
::-moz-selection {
  background-color: #0D99FF;
  color: #ffffff;
}
* {
    -webkit-tap-highlight-color: transparent;
}
.bg-blur {
   backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); /* Safari support */
}
/* --------- logo slide style ------------ */
.logo-marquee .swiper-wrapper {
    transition-timing-function: linear !important;
}

.logo-marquee .swiper-slide {
    flex-shrink: 0;
}
/* ------- icon box style -------- */
.icon-box .elementor-icon-box-title {
    margin-top: 0;
}
/* ------------ service detail page services card style ------- */
.hover-box.hover-bg:hover ,.hover-box.hover-bg.active{
    background:#00143626;
}
.hover-box.hover-bg span.elementor-heading-title {
    color:#fff !important;
}
/* ---- menu style ---- */
.header-menu .e-n-menu-heading > li.e-n-menu-item:last-child .e-n-menu-title{
  padding-right: 0 !important;
}


.counter-divider .elementor-counter-title {
    padding-top: 12px !important;
}
.bg-glassy{
	 backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px); 
}
.counter-divider .elementor-counter-title {
    border-top: 1px solid #0D99FF33;
    /* margin-top: 10px; */
}
p{
	margin-top:0px;
}
.sticky-box {
    position: sticky !important;
    top: 100px;
}

.sticky-box.\32 nd-box{
     top: 160px !important;
}
.clr-blue {
	color:#0D99FF;
}
.sticky-box.\33 nd-box {
    top:220px;
}
.Rotating-img {
    animation: infiniteRotate 20s linear infinite;
    transform-origin: center center;
	
}

@keyframes infiniteRotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


.wave-btn{
    position:relative;
    border-radius:10px;
    z-index:2;
}

/* Layer 1 */
.wave-btn::before,
.wave-btn::after{
    content:"";
    position:absolute;
    border-radius:inherit;
    inset:0;
    opacity:0;
    transition:opacity .35s ease;
    pointer-events:none;
}

/* Inner layer */
.wave-btn::before{
    inset:-4px;
    background:rgba(14, 124, 210);
    z-index:-1;
}

/* Outer layer */
.wave-btn::after{
    inset:-10px;
    background:#106cb2d6;
    z-index:-2;
}

/* Show on hover */
.wave-btn:hover::before,
.wave-btn:hover::after{
    opacity:1;
}

.wave-btn:hover::before{
    opacity:1;
}

.wave-btn:hover::after{
    opacity:1;
}

.linear-divider {
  height: 1px;
  background: linear-gradient(
    90deg,
    #142444 5%,
    rgba(255, 255, 255, 0.5) 50%,
    #142444 95%
  );
}
/* ----- filling circle button style ----- */
 :root {
    --ink: #0a1f3d;
    --blue: #0d99ff;
    --ring: #d9dce1;
    --bg: #f2f3f6;
  }
  button.btn.bg-trans {
    background: #ffffff00;
    border:1px solid #FFFFFF52;
}

.btn.bg-trans span.label {
    color:#fff;
}
  * { box-sizing: border-box; }


  .btn {
    position: relative;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 1.5px solid var(--ring);
    background: var(--bg);
    cursor: pointer;
    overflow: hidden;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
  }

  /* a plain circle, parked mostly outside the bottom-left corner of the
     button so the parent's round clip cuts it down to a small lens —
     a "cut circle" rather than a wave */
  .fill {
  position: absolute;
  left: 5px;
  bottom: -05px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--blue);
  transition: transform 0.6s cubic-bezier(.65, 0, .35, 1);
}

  .btn:hover .fill {
    /* scale it up until it swallows the whole circle */
    transform: scale(7);
  }

  .label {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -0.01em;
    transition: color 0.4s ease 0.05s;
    pointer-events: none;
  }

  .btn:hover .label {
    color: #ffffff;
  }

  .label svg {
    width: 20px;
    height: 20px;
    transition: transform 0.4s cubic-bezier(.34,1.56,.64,1);
  }

  .btn:hover .label svg {
    transform: translate(2px, -2px);
  }

/*---- contact form style home page ------- */
.news_form input ,.news_form button{
    min-height: 50px !important;
}

.contact-form input,.contact-form select {
    min-height: 50px !important;
}
/* ---- home page tabs  style ------ */
.hover-box .elementor-heading-title {
    color: var(--e-global-color-accent) !important;
}

.hover-box.active .elementor-heading-title {
    color: var(--e-global-color-primary) !important;
}
    .hover-box-content {
    display: none !important;
}

.hover-box-content.active {
    display: flex !important;
}

.hover-box .elementor-heading-title {
    font-weight: 400 !important;
}
.arrow-icon .elementor-icon-wrapper {
    height: 24px;
}

.hover-box.active .elementor-heading-title {
    font-weight: 500 !important;
}

.hover-box .arrow-icon {
    display: none;
}

.hover-box.active .arrow-icon {
    display: block;
}


.e-n-accordion-item {
    border: none; /* remove this */
    box-shadow: 0 0 0 1px #FFFFFF1A inset; /* same visual border, zero layout cost */
    border-radius: 12px;
    background: #FFFFFF0D;

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    overflow: hidden;
}

/* --------  service detail page heading style ------ */
span.pwr-text {
    display: block;
    font-size: 18px;
    font-weight: 500;
    padding-top: 4px;
}
 .esi-heading {
    margin: 0;
    color: #ffffff;

    line-height: 1.08;
    letter-spacing: -2px;
}

.esi-heading-first {
    display: block;
    white-space: nowrap;
}

.esi-heading-second {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 10px;
}

.esi-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    min-width: 105px;
    line-height: 1.1;
}

.esi-badge-top {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    white-space: nowrap;
}

.esi-badge-year {
    margin-top: 5px;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
}

.esi-heading-text {
    display: inline-block;
}

/* Tablet */
@media (max-width: 1024px) {
    .esi-heading {
        font-size: clamp(42px, 6vw, 62px);
    }

    .esi-heading-second {
        gap: 30px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .esi-heading {
        font-size: 40px;
        line-height: 1.12;
        letter-spacing: -1px;
    }

    .esi-heading-first {
        white-space: normal;
    }

    .esi-heading-second {
        align-items: center;
        gap: 18px;
        margin-top: 18px;
    }

    .esi-badge {
        min-width: 85px;
    }

    .esi-badge-top {
        font-size: 12px;
    }

    .esi-badge-year {
        font-size: 23px;
    }
}

/* Global styling start */
@media only screen and (min-width: 1281px) {

    .elementor[data-elementor-type="header"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="header"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>div>.elementor-element.e-con:not(.full-width),
    .elementor-editor-active .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width) {
        padding-right: 108px;
        padding-left: 108px;
    }
}

@media only screen and (max-width: 1280px) and (min-width: 768px) {

    .elementor[data-elementor-type="header"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="header"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>div>.elementor-element.e-con:not(.full-width),
    .elementor-editor-active .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width) {
        padding-right: 40px;
        padding-left: 40px;
    }
}

@media only screen and (max-width: 880px) {

    .elementor[data-elementor-type="header"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="header"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>div>.elementor-element.e-con:not(.full-width),
    .elementor-editor-active .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width) {
        padding-right: 32px;
        padding-left: 32px;
    }
}

@media only screen and (max-width: 620px) {

    .elementor[data-elementor-type="header"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="header"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-post"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="footer"]>div>.elementor-element.e-con,
    .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product-archive"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="product"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-post"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="single-page"]>div>.elementor-element.e-con:not(.full-width),
    .elementor[data-elementor-type="error-404"]>div>.elementor-element.e-con:not(.full-width),
    .elementor-editor-active .elementor[data-elementor-type="wp-page"]>div>.elementor-element.e-con:not(.full-width) {
        padding-right: 20px;
        padding-left: 20px;
    }
}

/* /-------------Responsive Styles-------------/ */

@media (max-width: 1980px) {
    
}

@media only screen and (max-width: 1440px) and (min-width: 1401px) {
   
}

@media only screen and (max-width: 1400px) and (min-width: 1201px) {
   
}

@media only screen and (max-width: 1200px) and (min-width: 1025px) {
   
}

@media only screen and (max-width: 1200px) {
   
}

@media only screen and (max-width: 1200px) and (min-width: 1025px) {
   
}

@media only screen and (max-width: 1024px) {

}

@media (min-width: 993px) and (max-width: 1024px) {}

@media only screen and (max-width: 880px) {
   

}

@media (min-width: 769px) and (max-width: 992px) {}

@media (min-width: 621px) and (max-width: 675px) {
   
}

@media only screen and (min-width: 621px) {
}

@media only screen and (max-width: 620px) {
    
}


@media only screen and (max-width: 480px) {
   
}

/* /-------------------------------------------/ */