:root {
   --themeht-primary-color: #372df1;
    --themeht-text-color: #03021d;
    --themeht-body-color: #444444;
    --themeht-white-color: #FFFFFF;
    --themeht-bg-dark-color: #07112F;
    --themeht-bg-light-color: #F1F7F3;
    --themeht-border-light-color: #DCDCDC;
    --themeht-rgba-color: rgba(255,255,255,0.9);
    --themeht-typography-body-font-family: "Mona Sans", sans-serif;
    --themeht-typography-secondary-font-family: "Mona Sans", sans-serif;
    --logo-desktop-height: 55px;
    --logo-tablet-height: 50px;
    --logo-mobile-height: 50px;
}
/* ------------------------
    General
------------------------*/
html {
    height: auto;
    /*margin: 0 !important;*/
}
html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
body {scroll-behavior: smooth; font-family: var(--themeht-typography-body-font-family); font-weight: 400; font-style: normal; font-size: 16px; line-height: 26px; color: var(--themeht-body-color); overflow-x: hidden !important;}
.page-wrapper, #page.hfeed.site{overflow-x: hidden;}

/* ------------------------
    Typography
------------------------*/
h1, h2, h3, h4, h5, h6 { margin-top: 0px; font-style: normal; margin-bottom: 10px; color: var(--themeht-text-color);  }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }
.h1, h1 { font-size: 80px; line-height: 90px; letter-spacing: -.05em; font-weight: 600;}
.h2, h2 { font-size: 65px; line-height: 75px; letter-spacing: -.05em; font-weight: 500;}
.h3, h3 { font-size: 34px; line-height: 44px; letter-spacing: -.04em; font-weight: 500;}
.h4, h4 { font-size: 28px; line-height: 38px; letter-spacing: -.04em; font-weight: 500;}
.h5, h5 { font-size: 24px; line-height: 34px; letter-spacing: -.03rem; font-weight: 500;}
.h6, h6 { font-size: 20px; line-height: 30px; letter-spacing: -.03rem; font-weight: 500;}
ul { margin-left: 0; }


@media (min-width:1025px) {
  .e-con>.e-con-inner {
    max-width: 1320px !important;
}
.container { max-width: 1320px !important; }
}

.custom-sec-padding{padding-top: 120px; padding-bottom: 120px;}
label { display: inline-block; font-weight: 500; font-size: 14px; }
.elementor-default .blog-main-page{display: none;}
.ht-divider { background-color: var(--themeht-border-light-color); width: 100%; height: 1px; margin: 27px 0; }
.dark-bg .ht-divider {opacity: 0.1;}

.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container,
.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)) {
    transition: background .3s, border .3s, border-radius .3s, box-shadow .3s !important;
    transition-property: background, border, border-radius, box-shadow !important;
}

.text-center {
    text-align: center !important;
}

/* ------------------------
    Text color
------------------------*/
.text-theme{color: var(--themeht-primary-color);}
.text-black{color: var(--themeht-text-color) !important;}
.text-grey{color: var(--themeht-body-color);}
.text-gradient { background-color: transparent; background-image: linear-gradient(113deg, var(--themeht-primary-color) 0%, var(--themeht-text-color) 100%); background-clip: text; -webkit-background-clip: text; text-decoration: none; color: transparent; }
.text-gradient2 { background-image: linear-gradient(235.28deg, #ffd7d7 -1.14%, #ff9292 40.74%, #ff48e7 68.06%, #ba1ef5 94.29%); -webkit-background-clip: text; -webkit-text-fill-color: rgba(0, 0, 0, 0); background-clip: text; text-fill-color: rgba(0, 0, 0, 0); }

.g-text {
    text-transform: capitalize;
    background: linear-gradient(90deg, #ff004c, #fff700, #ff00ff, #00fff7, #ff00c4, #ff004c);
    background-size: 400%;
    word-spacing: 5px;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    animation: animate 30s linear infinite;
  }
  
  @keyframes animate {
    0% {
      background-position: 0%;
    }
    100% {
      background-position: 400%;
    }
  }

/* ------------------------
    Background color
------------------------*/
.white-bg{background-color: var(--themeht-white-color) !important;}
.dark-bg{background-color: var(--themeht-bg-dark-color);}
.light-bg{background-color: var(--themeht-bg-light-color);}
.primary-bg{background-color: var(--themeht-primary-color);}
.transparent-bg{background-color: inherit !important;}
.border-light{border-color: var(--themeht-border-light-color) !important}


.bnr-bg{background-image: radial-gradient( 125% 125% at 50% 10%, var(--themeht-white-color) 40%, #00dfdf 100%)}

.footer-letter-txt { display: flex; gap: 0; margin: 0; }
.footer-letter-txt { color: rgba(159, 170, 193, 0.08); padding-top: 80px; mask: linear-gradient(0deg, rgba(0, 0, 0, 0) 18%, rgb(0, 0, 0) 60%); }
.footer-letter-txt span { transform: translate(0, 0) scale(1); transition: all .8s; }
.footer-letter-txt span:hover { transform: translate(0, -12%) scale(1, 1.02); transition: all .8s; color: color-mix(in srgb, var(--themeht-primary-color) 10%, transparent); }
.center .footer-letter-txt { justify-content: center; }
.right .footer-letter-txt { justify-content: end; }

/* ------------------------
    Section Title
------------------------*/
.theme-title p { font-size: 16px; margin-top: 25px; margin-bottom: 0; line-height: 30px; }
.theme-title h2 { margin-bottom: 0; overflow: hidden; }
.theme-title.text-black h2 { color: var(--themeht-text-color); }
.theme-title h6 { position: relative; display: inline-block; font-size: 16px; font-weight: 500; line-height: 1.45; color: var(--themeht-text-color); z-index: 9; font-family: var(--themeht-typography-body-font-family); padding: 4.304px 12px 4.304px 25px; border-radius: 50px; box-shadow: rgb(204, 219, 232) 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset; background-color: var(--themeht-white-color); }
.theme-title h6:before { content: ""; position: absolute; left: 12px; top: 50%; font-weight: normal; -webkit-animation: 1s blink ease infinite; -moz-animation: 1s blink ease infinite; -ms-animation: 1s blink ease infinite; -o-animation: 1s blink ease infinite; animation: 1s blink ease infinite; width: .5rem; height: .5rem; background: var(--themeht-text-color); border-radius: 100%; transform: translateY(-50%); }
.theme-title.text-white h6, .theme-title.text-white h2, .theme-title.text-white p { color: var(--themeht-white-color); }
.theme-title.text-white h6:before { background: var(--themeht-white-color); }
.theme-title.text-white h6 { background-color: transparent; box-shadow: var(--themeht-primary-color) 3px 3px 6px 0px inset, rgba(0, 0, 0, 0.5) -3px -3px 6px 1px inset; }

.theme-title.style-3 { grid-column-gap: 5px; grid-row-gap: 5px; justify-content: flex-start; align-self: stretch; align-items: center; flex-direction: column; display: flex; }
.theme-title.style-3 h2 { overflow: inherit; }
.title-text-img { grid-column-gap: 40px; grid-row-gap: 40px; justify-content: flex-start; align-items: center; flex-direction: row; display: flex; }
.slide-left, .slide-right { transform: translateX(0); }
.theme-title.style-3 .title-icon { display: inline-block; font-size: 80px; color: var(--themeht-primary-color); }
.theme-title.style-3 .title-icon img { display: inline-block; width: 120px; }

.theme-title h2 .title-sub{color: var(--themeht-primary-color)}

/* ------------------------
  Header
------------------------*/

.header-number { display: flex; align-items: flex-start; }
.header-number span { display: block; font-size: 12px; line-height: 1em; font-weight: 400; color: var(--themeht-text-color); margin-bottom: 2px; opacity: 0.8; }
.header-number a { color: var(--themeht-text-color); font-size: 18px; font-weight: 500; line-height: 1.2em; }
.header-number a:hover { color: var(--themeht-primary-color); text-decoration: underline !important; }
.header-number svg { width: 35px; height: 35px; margin-right: 10px; }
.header-number svg path { fill: var(--themeht-primary-color); }
.header-number svg path:nth-child(2) { -webkit-animation: header-phone 1s infinite cubic-bezier(.1, .57, .5, 1); animation: header-phone 1s infinite cubic-bezier(.1, .57, .5, 1); }
.header-number svg path:nth-child(3) { -webkit-animation: header-phone2 1s infinite cubic-bezier(.1, .57, .5, 1); animation: header-phone2 1s infinite cubic-bezier(.1, .57, .5, 1); }



.header-glass-effect{background-color: var(--themeht-white-color); box-shadow: 0px 4px 125px 0px rgba(0, 0, 0, 0.09019607843137255);}


.header_one_pos { position: absolute; z-index: 9999; width: 100%; left: 0; top: 0; }
#header-wrap { position: relative; padding: 25px 70px 0; z-index: 999; }
.admin-bar .ht-theme-header.header, .admin-bar .ht-theme-header #header-wrap.fixed-header { top: 30px; }
.admin-bar .fixed-header, .admin-bar .fixed-header.header_one_pos { top: 32px; }
.fixed-header, #header-wrap.fixed-header {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    background-color: var(--themeht-white-color);
    box-shadow: 0px 4px 125px 0px rgba(0, 0, 0, 0.09019607843137255);
    padding-bottom: 20px;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    -ms-animation-name: smoothScroll;
    -moz-animation-name: smoothScroll;
    -op-animation-name: smoothScroll;
    -webkit-animation-name: smoothScroll;
    animation-name: smoothScroll;
    -ms-animation-duration: 500ms;
    -moz-animation-duration: 500ms;
    -op-animation-duration: 500ms;
    -webkit-animation-duration: 500ms;
    animation-duration: 500ms;
    -ms-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -op-animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -ms-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -op-animation-iteration-count: 1;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    transition: box-shadow 0.3s ease;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
}

.header-2.fixed-header { background-color: var(--themeht-bg-dark-color);}
.header-3.fixed-header{padding-bottom: 0;}

.fixed-header .header-inner{padding: 0;
    background: none;
    box-shadow: none;
    border-radius: 0;}

@media (max-width:1024px) {    
.header-3.fixed-header .e-con-inner{padding-top: 0; padding-bottom: 0;}
}

/*--navigation--*/
.navbar-brand.logo { flex-shrink: 0; margin-right: 70px; }
.logo img { max-height: var(--logo-desktop-height); }
.ht-navigation { flex-wrap: nowrap; justify-content: flex-start; position: relative; display: flex; align-items: center; }

@media (min-width:1200px) {
    .main-nav .menu { flex-direction: row; display: flex; margin: 0; padding: 0; justify-content: center; }
    .navigation-top { margin-right: auto; }
    .header-glass-effect{background-color: #FFFFFF08; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0px 4px 125px 0px rgba(0, 0, 0, 0.09019607843137255);}
}

.header input[type="search"] { height: 40px; padding: 16px 40px 16px 10px; }
.header .search-form button[type="submit"] { line-height: 40px; }
.main-nav li { position: relative; list-style-type: none; }
.main-nav > ul > li { margin: 0 15px; }
.main-nav > ul > li > a { font-weight: 500; color: var(--themeht-text-color); font-size: 16px; line-height: 1; position: relative; display: inline-block; }
.main-nav > ul > li > .sub-menu-toggle { display: none; }
.main-nav ul.sub-menu { opacity: 0; visibility: hidden; position: absolute; top: 110%; left: 0; z-index: 99999; background: var(--themeht-white-color); border-radius: 16px; padding: 0; margin: 0; -webkit-transition: all 0.5s ease-in-out 0s; -moz-transition: all 0.5s ease-in-out 0s; -ms-transition: all 0.5s ease-in-out 0s; -o-transition: all 0.5s ease-in-out 0s; transition: all 0.5s ease-in-out 0s; box-shadow: 0px 4px 15px rgba(1, 15, 28, 0.06); }

@media (min-width:1200px) {
    .main-nav > ul > li.menu-item-has-children > a::after {
        font-family: bootstrap-icons !important;
        content: "\F282";
        border: none;
        margin-left: 0.3em;
        font-size: 14px;
        line-height: 1;
        vertical-align: -.125em;
        display: inline-block;
        font-weight: 500;
    }
    .main-nav ul li:hover > ul.sub-menu { top: 100%; opacity: 1; visibility: visible; }
    .main-nav ul.sub-menu li:hover ul.sub-menu { top: 0; }
    .main-nav .sub-menu li a:after { content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: var(--themeht-primary-color);
  transition: width 0.4s ease; }
    .main-nav .sub-menu li a:hover:after, .main-nav ul li .sub-menu li.current-menu-item > a:after { width: 100%; }
    .main-nav .sub-menu li:last-child a:after{display: none;}
}

.main-nav ul.sub-menu li ul { left: 100% !important; top: 0; }
.main-nav .sub-menu li a { font-weight: 500; font-size: 15px; padding: 8px 25px 8px 22px; color: var(--themeht-text-color); display: block; border-bottom: 1px solid #f8f4f4; }
.main-nav .sub-menu li:last-child a {border-bottom: none; }
.sub-menu-toggle { display: block; position: absolute; right: 0; top: 8px; cursor: pointer; color: var(--themeht-white-color); font-size: 14px; line-height: 14px; }
.main-nav .sub-menu .sub-menu-toggle { color: var(--themeht-text-color); top: 15px; right: 10px; }

@media (min-width:992px) {
    .main-nav > ul > li > a:hover, .main-nav > ul > li.current-menu-item > a, .main-nav > ul > li.current-menu-parent > a, .woocommerce-page .main-nav > ul > li.current-menu-ancestor > a { color: var(--themeht-primary-color); }
    .main-nav ul.sub-menu { min-width: 16em !important; max-width: 20em !important; }
    .main-nav .sub-menu li a:hover, .main-nav ul li .sub-menu li.current-menu-item > a { padding-left: 30px; color: var(--themeht-primary-color); }
    .main-nav .sub-menu li:hover .sub-menu-toggle, .main-nav ul li .sub-menu li.current-menu-item .sub-menu-toggle { color: var(--themeht-primary-color); }
}

.ht-mobile-menu-bg { display: none; }
.nav-menu-toggle { box-shadow: none; border: none; background: var(--themeht-white-color); border: 1px solid var(--themeht-border-light-color); padding: 5px; font-size: 30px; line-height: 1; display: none; color: var(--themeht-primary-color); margin-left: auto; border-radius: 8px; }
.closepanel { display: none; }
.closepanel i { display: inline-block; font-size: 40px; color: var(--themeht-primary-color); line-height: 1; }

@media (max-width:1200px) {
    .sub-menu-toggle { right: 0; color: var(--themeht-text-color); }
    .main-nav .menu { padding-left: 0; padding-top: 80px; }
    .admin-bar .main-nav .menu { padding-top: 120px; }
    .closepanel { position: absolute; right: 30px; top: 30px; }
    .admin-bar .closepanel { top: 60px; }
    .nav-menu-toggle, .ht-mobile-menu-bg, .closepanel { display: block; }
    .main-nav > ul > li > .sub-menu-toggle { display: block; }
    .main-nav > ul > li { border-bottom: 1px solid var(--themeht-border-light-color); margin: 0 20px; }
    .main-nav > ul > li > a { padding: 20px 0; display: inline-block; border: none; color: var(--themeht-text-color) !important; }
    .main-nav > ul > li > a:hover, .main-nav > ul > li.current-menu-item > a, .main-nav > ul > li.current-menu-parent > a, .main-nav ul li .sub-menu li.current-menu-item > a { color: var(--themeht-primary-color) !important; }
    .sub-menu-toggle { top: 20px; }
    .main-nav ul.sub-menu { position: static; display: none !important; box-shadow: none; padding: 0; border: none; }
    .main-nav .sub-menu li:last-child { border-bottom: none; }
    .main-nav .sub-menu li a { padding: 15px 0; }
    .main-nav ul.sub-menu.show { display: block !important; width: 100%; margin-left: 0; padding: 0em 1em 2em 1em; visibility: visible; opacity: 1; }
    .main-nav ul.sub-menu ul.sub-menu.show { padding-left: 1rem; }
    .main-nav .sub-menu .sub-menu-toggle { right: 0; top: 22px; font-size: 14px; }
    .main-nav { background-color: var(--themeht-white-color); position: fixed; top: 0; right: -400px; z-index: 1000; width: 300px; height: 100%; padding: 0; display: block; transition: all 900ms ease; -moz-transition: all 900ms ease; -webkit-transition: all 900ms ease; -ms-transition: all 900ms ease; -o-transition: all 900ms ease; -webkit-transform: translateX(400px); -ms-transform: translateX(400px); transform: translateX(400px); opacity: 0; }
    .main-nav.menu-active { right: 0px; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); visibility: visible; opacity: 1; overflow-y: scroll; -webkit-transition-delay: 600ms; -moz-transition-delay: 600ms; -ms-transition-delay: 600ms; -o-transition-delay: 600ms; transition-delay: 600ms; opacity: 1; }
    .ht-mobile-menu-bg { display: block; }
    .ht-mobile-menu-bg { position: fixed; right: 0; top: 0; width: 0%; height: 100%; z-index: 99; opacity: 0.8; background: var(--themeht-primary-color); -webkit-transform: translateX(101%); -ms-transform: translateX(101%); transform: translateX(101%); transition: all 900ms ease; -moz-transition: all 900ms ease; -webkit-transition: all 900ms ease; -ms-transition: all 900ms ease; -o-transition: all 900ms ease; -webkit-transition-delay: 300ms; -moz-transition-delay: 300ms; -ms-transition-delay: 300ms; -o-transition-delay: 300ms; transition-delay: 300ms; }
    .menu-active .ht-mobile-menu-bg { width: 100%; visibility: visible; transition: all 900ms ease; -moz-transition: all 900ms ease; -webkit-transition: all 900ms ease; -ms-transition: all 900ms ease; -o-transition: all 900ms ease; -webkit-transform: translateX(0%); -ms-transform: translateX(0%); transform: translateX(0%); }
}


/* ------------------------
    Error
------------------------*/
.error-path { stroke-dasharray: 800; stroke-dashoffset: 800; animation: dash 5s linear alternate infinite; }
.error-path path { stroke: var(--themeht-text-color) }
.error-path path:nth-child(2) { stroke: var(--themeht-primary-color) }
.error-path path:nth-child(3) { stroke: var(--themeht-primary-color) }



/* ------------------------
 Marquee Text
------------------------*/
.marquee-wrap { width: 100%; position: relative; overflow: hidden; white-space: nowrap; }
.marquee-text { position: relative; }
.marquee-text span { color: var(--themeht-text-color); vertical-align: middle; }
.marquee-text i { color: var(--themeht-text-color); display: inline-block; margin: 0 50px; vertical-align: middle; animation: rotate 20s linear infinite; }
.marquee-text svg { width: 30px; fill: white; display: inline-block; margin: 0 20px; vertical-align: middle; animation: rotate 20s linear infinite; }
.marquee-inner { display: inline-flex; gap: 2rem; animation: marquee var(--scroll-speed, 10s) linear infinite; }
.marquee-reverse { animation-direction: reverse; }
.marquee-text { display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap; }
.pause-on-hover:hover .marquee-inner { animation-play-state: paused; }

.marquee-client img { margin: 0 30px; }
.marquee-client .marquee-inner { animation: marquee 10s linear infinite; }
.marquee-client .marquee-inner img { height: 50px; opacity: 0.7; transition-duration: 0.3s; }
.marquee-client .marquee-inner img:hover { opacity: 1; }


/* ------------------------
Extra
------------------------*/
.elementor-widget .center { text-align: center; }
.elementor-widget .right { text-align: right; }
.page { margin: 0;}
.page-content { margin-top: 100px; margin-bottom: 100px; }
.elementor-page .page-content, .elementor-page .entry-content, .elementor-page .entry-summary { margin: 0 !important;}
.error-page-search label { min-width: 450px; }
.search-page article { margin-bottom: 50px; }
.search-page article:last-child { margin-bottom: 0; }
.search-content-page {position: relative;}
.search-page .post-card .post-title h4 { margin-bottom: 15px;}
.secondary-bg .elementor-widget-text-editor p{color: var(--themeht-rgba-color);}
.p-mb-0 p{margin-bottom: 0;}

.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color: var(--themeht-primary-color);}


/* ------------------------
 Form Section
------------------------*/
.wpcf7-form .themeht-btn, .subscribe-form .themeht-btn {
    padding: 0;
}

.contact-form label{color: var(--themeht-white-color);}

.subscribe-btn,
input[type="submit"].subscribe-btn,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-search__button {
  background: var(--themeht-primary-color); color: var(--themeht-white-color);
  border: none;
  padding: 14px 30px;
  height: 100%;
  border-radius: 8px;
  line-height: inherit;
  z-index: 9;
  position: relative;
  
    font-size: 16px;
    font-weight: 500;
}


.subscribe-btn:hover,
input[type="submit"].subscribe-btn:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.wp-block-search__button:hover {
 background: var(--themeht-bg-dark-color); color: var(--themeht-white-color);
}




.comment-form .form-submit input[type=submit],
.post-comment .form-submit input[type="submit"],
.wp-block-search__button,
.post-password-form input[type="submit"] {  font-size: 16px; font-weight: 500; border-radius: 8px; background: var(--themeht-primary-color); color: var(--themeht-white-color); padding: 12px 30px; height: 100%; line-height: inherit; }

.comment-form .form-submit input[type=submit]:hover,
.post-comment .form-submit input[type="submit"]:hover,
.wp-block-search__button:hover,
.post-password-form input[type="submit"]:hover { background: var(--themeht-bg-dark-color); color: var(--themeht-white-color); }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea{
  border: 1px solid var(--themeht-border-light-color);
    padding: 10px 20px;
    width: 100%;
    height: 50px;
    color: var(--themeht-text-color);
    border-radius: 8px;
    background: var(--themeht-white-color);
    font-size: 14px;
}

.wp-block-post-comments-form input:not([type=submit]), .wp-block-post-comments-form textarea{
  border: 1px solid var(--themeht-border-light-color);
}

textarea {
  height: 150px;
  border-radius: 8px; 
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus { color: var(--themeht-text-color); border: 1px solid var(--themeht-primary-color);}

.wpcf7-form-control-wrap { display: block;}
.wpcf7-form-control, select { border: 1px solid var(--themeht-border-light-color); }
.wpcf7-form-control.wpcf7-select, select { width: 100%; border-radius: 10px; padding: 10px 24px 10px 20px; font-size: 14px; background-color: var(--themeht-white-color); height: 50px; color: var(--themeht-text-color); }
.wpcf7-form-control.wpcf7-textarea { height: 150px; border-radius: 8px;}
.wpcf7-form .wpcf7-spinner{position: absolute; padding: 0;}
.wpcf7-form .wpcf7-spinner:after{display: none;}
.wpcf7-not-valid-tip { position: absolute; right: 0; font-size: 0.8rem; bottom: -25px; }

::-webkit-input-placeholder {
    color: var(--themeht-text-color) !important;
    opacity: 1;
}
:-moz-placeholder {
    color: var(--themeht-text-color) !important;
    opacity: 1;
}
::-moz-placeholder {
    color: var(--themeht-text-color) !important;
    opacity: 1;
}
:-ms-input-placeholder {
    color: var(--themeht-text-color) !important;
    opacity: 1;
}


:focus-visible {
    outline: none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url(../../assets/images/down-arrow.svg);
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    -webkit-print-color-adjust: exact;
}


select option{word-break: break-word;}


.ht-portfolio { position: relative;
    border: 1px solid rgba(0, 0, 0, 0.06);
    padding: 14px;
    border-radius: 32px;
    background: var(--themeht-white-color);
    transition: 0.3s ease; }
.ht-portfolio:hover { transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);}
.ht-portfolio-image-link { display: block; position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: 18px; }
.ht-portfolio-image {
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: 18px;
}
.ht-portfolio-image {
    position: relative;
    display: block;
    transition: all 500ms ease;
}
.ht-portfolio:hover .ht-portfolio-image { transform: scale(1.02); }
.ht-portfolio-content { padding: 22px 0 0; }
.ht-portfolio-title { margin: 0 0 10px; }
.ht-portfolio-title a { color: inherit; text-decoration: none; }
.ht-portfolio-description { margin-bottom: 20px; color: var(--themeht-body-color); font-size: 18px; font-weight: 500; line-height: 26px;
    min-height: 52px; }
.ht-portfolio-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.ht-portfolio-sales { color: var(--themeht-primary-color); font-size: 14px; font-weight: 600; }
.ht-portfolio-button { display: inline-flex; align-items: center; justify-content: center; padding: 8px 28px; background: var(--themeht-bg-dark-color); color: var(--themeht-white-color); border-radius: 100px; font-size: 14px; font-weight: 600; text-decoration: none; transition: all 0.2s ease; }
.ht-portfolio-button:hover, a.ht-portfolio-button:focus { background: var(--themeht-primary-color); color: var(--themeht-white-color); }
@media (max-width:767px) {
  .ht-portfolio-footer { align-items: center; flex-direction: column; }
  .ht-portfolio-button { width: 100%; }
  .ht-portfolio-content { text-align: center;}
  .ht-portfolio-description { min-height: inherit;}
}

/* ------------------------
    Testimonials
------------------------*/
.testimonial.style-1 { padding: 10px 10px 28px; position: relative; background: var(--themeht-white-color); width: 400px; box-sizing: border-box; overflow-wrap: break-word; word-break: break-word; white-space: normal; border-radius: 15px; margin: 20px 0; transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s ease; box-shadow: 0px 7.77px 16px 0px rgba(0, 0, 0, 0.0588235294), 0px 3px 3px 0px rgba(0, 0, 0, 0.1019607843), 0px -8px 0px 0px rgba(0, 0, 0, 0.0509803922) inset, 0px 4px 0px 0px rgba(255, 255, 255, 0.6) inset; flex-flow: column; flex: none; gap: 20px; display: flex; }
.testimonial.style-1:hover { transform: translateY(-2px); }
.testimonial.style-1 .testimonial-content { background: #f5f5f5; border-radius: 15px; border: 1px solid #e5e5e5; padding: 20px; }
.testimonial-author { flex-flow: row; flex: none; align-items: center; gap: 10px; padding: 0 5px; display: flex; }
.testimonial .testimonial-caption { z-index: 9; position: relative; }
.testimonial .testimonial-caption label { margin-bottom: 0; font-weight: 400; color: var(--themeht-body-color); display: block; font-size: 14px; line-height: 1.4em; }
.testimonial .testimonial-caption h5 { display: inline-block; margin-bottom: 0; font-size: 18px; line-height: 1.4em; }
.testimonial-rating i { color: #ffb300; margin-right: 2px; }
.testimonial-marquee .marquee-inner { gap: 40px; }
.testimonial-marquee { overflow: hidden; mask-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 12.5%, rgb(255, 255, 255) 87.5%, rgba(255, 255, 255, 0) 100%); position: relative; }
.testimonial p { font-size: 16px; line-height: 30px; margin: 25px 0 0; color: var(--themeht-text-color); }
.testimonial .testimonial-img { position: relative; display: inline-block; width: 60px; height: 60px; overflow: hidden; border-radius: 100%; }
.shadow-none .testimonial { box-shadow: none; }

/* ------------------------
    Scroll to Top
------------------------*/
.scroll-top { position: fixed; right: 50px; bottom: 50px; cursor: pointer; display: block; z-index: 10000; opacity: 0; visibility: hidden; transform: translateY(15px); -webkit-transition: all 200ms linear; transition: all 200ms linear; background: var(--themeht-primary-color); }
.scroll-top.scroll-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.scroll-top { height: 40px; width: 40px; display: block; outline: 1px solid var(--themeht-primary-color); cursor: pointer; transition: all 0.5s cubic-bezier(0.25, 1.7, 0.35, 1.5); }
.scroll-top svg line { stroke-width: 2; stroke: var(--themeht-white-color); fill: none; stroke-dasharray: 20; -webkit-transition: all 0.4s ease; transition: all 0.4s ease; }
.scroll-top:hover svg line.top { -webkit-transform: translateX(-40px); transform: translateX(-40px); }
.scroll-top:hover svg line.bottom { -webkit-transform: translateX(40px); transform: translateX(40px); }
.scroll-top:hover svg line.left { -webkit-transform: translateY(40px); transform: translateY(40px); }
.scroll-top:hover svg line.right { -webkit-transform: translateY(-40px); transform: translateY(-40px); }
.scroll-top .left-bar { position: absolute; z-index: 1; background-color: transparent; top: 19px; left: 5px; width: 18px; display: block; transform: rotate(-45deg); }
.scroll-top .left-bar:after { content: ""; background-color: var(--themeht-white-color); width: 18px; height: 2px; display: block; border-radius: 1px; transition: all 0.5s cubic-bezier(0.25, 1.7, 0.35, 1.5); transform-origin: right center; z-index: -1; }
.scroll-top .right-bar { position: absolute; z-index: 1; background-color: transparent; top: 19px; left: 17px; width: 18px; display: block; transform: rotate(45deg); border-radius: 2px; }
.scroll-top .right-bar:after { content: ""; background-color: var(--themeht-white-color); width: 18px; height: 2px; display: block; border-radius: 1px; transition: all 0.5s cubic-bezier(0.25, 1.7, 0.35, 1.5); transform-origin: left center; z-index: -1; }
.scroll-top:hover { transition: all 0.1s; }
.scroll-top:hover .left-bar:after { transform: rotate(-10deg); }
.scroll-top:hover .right-bar:after { transform: rotate(10deg); }

/* Rotation animation */
@keyframes rotate360 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes marquee {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Animate phone */

@-webkit-keyframes header-phone {
  0%,30% {opacity:0; -webkit-transform:translate3d(-20px, 20px, 0); transform:translate3d(-20px, 20px, 0)}
  80% {opacity:1; -webkit-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0)}
  100%{opacity:0}}
@keyframes header-phone {
  0%,30%{opacity:0; -webkit-transform:translate3d(-20px, 20px, 0); transform:translate3d(-20px, 20px, 0)}
  80%{opacity:1; -webkit-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0)}
  100%{opacity:0}}
@-webkit-keyframes header-phone2 {
  0%{opacity:0; -webkit-transform:translate3d(-20px, 20px, 0); transform:translate3d(-20px, 20px, 0)}
  70%,90%{opacity:1; -webkit-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0)}
  100%{opacity:0}}
@keyframes header-phone2 {
  0%{opacity:0; -webkit-transform:translate3d(-20px, 20px, 0); transform:translate3d(-20px, 20px, 0)}
  70%,90%{opacity:1; -webkit-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0)}
  100%{opacity:0}}