/**
Theme Name: Astra Child Theme
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-theme
Template: astra
*/
.elementor-widget-image-carousel .swiper {
    border-radius: 38px;
}
.banner-section:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.05;
    position: absolute;
    z-index: 10;
    left: 0;
    top: 0;
}

.main-header .hfe-nav-menu-icon {
    padding: 10px !important;
    min-width: 45px !important;
    min-height: 45px;
    display: flex;
    box-shadow: 0px 12px 26px 0px rgba(0, 0, 0, 0.2);
}

.main-footer p {
    margin-bottom: 0;
}
.main-footer a {
    color: #FDFDFB;
}
.main-footer .legal-tnc-section a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.fancy-arrow-btn .elementor-button-icon svg {
    width: 7px;
}
.fancy-arrow-btn .elementor-button-icon {
    padding: 10px 10px 10px 14px;
    background: #FF855E;
    border-radius: 50%;
}
.fancy-arrow-btn .elementor-button-content-wrapper {
    align-items: center;
}
.fancy-arrow-btn .elementor-button .elementor-button-icon {
    transition: all 0.2s ease;
    position: relative;
}
.fancy-arrow-btn .elementor-button:hover .elementor-button-icon {
    background: #293B57;
}
.fancy-arrow-btn .elementor-button .elementor-button-icon svg {
    animation: slideAndFadeInFromRight 0.2s ease forwards;
}
.fancy-arrow-btn .elementor-button:hover .elementor-button-icon svg {
    animation: slideAndFadeOutToRight 0.2s ease forwards;
}
@keyframes slideAndFadeInFromRight {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes slideAndFadeOutToRight {
  0% {
    transform: translateX(0%);
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}
@keyframes slideAndFadeInFromLeft {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes slideAndFadeOutToLeft {
  0% {
    transform: translateX(0%);
    opacity: 1;
  }
  100% {
    transform: translateX(-100%);
    opacity: 0;
  }
}
.fancy-arrow-btn .elementor-button .elementor-button-icon:before {
    content: url("/wp-content/uploads/2025/10/arrow-white-right.svg");
    width: 7px;
    height: 14px;
    position: absolute;
    animation: slideAndFadeOutToLeft 0.2s ease forwards;
}
.fancy-arrow-btn .elementor-button:hover .elementor-button-icon:before {
    animation: slideAndFadeInFromLeft 0.2s ease forwards;
}
.elementor .squircle-image img {
    aspect-ratio: 1/1;
    height: auto !important;
}
.logos-carousel .swiper-wrapper {
    transition-timing-function: linear !important;
}
.logos-carousel .swiper-slide-inner {
    padding: 15px 20px;
    background: #FFFFFF;
    border-radius: 130px;
}
.logos-carousel .swiper-slide-image {
    filter: grayscale(1);
}

/* New header - start */
.green-icon-bg.fancy-arrow-btn .elementor-button-icon {
    background: #293B57;
}
.main-header.new-header .hfe-nav-menu-icon {
    padding: 0 !important;
    box-shadow: none;
    min-height: unset;
}
.new-header .floating-header-bar {
    backdrop-filter: blur(10px);
}
/* Disable backdrop-filter because it breaks layout of off-canvas menu */
.new-header .floating-header-bar:has(.hfe-flyout-show) {
    backdrop-filter: none;
}
.new-banner.banner-section:before {
    display: none;
}
/* New header - end */

/* Testimonial carousel - start */
.new-home-carousel .elementor-swiper-button {
    display: none !important;
}
.test-carousel-btn-proxy {
    cursor: pointer;
}
/* Testimonial carousel - end */

/* News carousel - start */
.new-home-news-carousel .swiper.elementor-loop-container {
    padding: 0 25%;
}
.new-home-news-carousel .elementor-swiper-button {
    display: none !important;
}
.new-home-news-carousel .swiper.elementor-loop-container:before, .new-home-news-carousel .swiper.elementor-loop-container:after {
    content: '';
    width: 100%;
    max-width: 100px;
    height: 100%;
    display: block;
    position: absolute;
    z-index: 10;
}
.new-home-news-carousel .swiper.elementor-loop-container:before {
    background: linear-gradient(90deg, #eeebed, transparent);
    left: 0;
}
.new-home-news-carousel .swiper.elementor-loop-container:after {
    background: linear-gradient(90deg, transparent, #eeebed);
    right: 0;
}
.news-carousel-btn-proxy {
    cursor: pointer;
}
/* News carousel - end */

/* Book a demo popup - start */
.new-book-a-demo-form .elementor-field-group input {
    padding: 0;
}
.new-book-a-demo-form .elementor-field-group.elementor-field-type-submit {
    margin-top: 25px;
}
/* Book a demo popup - end */
/* Responsive */
@media screen and (max-width: 1024px) {
    .book-a-demo-form #form-field-email {
        height: 50px;
    }
    .book-a-demo-form .elementor-field-type-submit .elementor-button {
        width: 40px;
        height: 40px;
    }
    .book-a-demo-form .elementor-field-type-submit {
        top: 5px;
        right: 5px;
    }
    .book-a-demo-form .elementor-field-type-submit .elementor-button svg {
        font-size: 10px;
    }
    .book-a-demo-form .elementor-field-type-submit .elementor-button {
        padding: 5px !important;
    }
    .new-home-news-carousel .swiper.elementor-loop-container {
        padding: 0 20%;
    }
    .single-post:has(.category-news) .latest-articles .elementor-posts .post {
        max-width: calc(50% - 11px);
    }
}
@media screen and (max-width: 767px) {
    .new-home-news-carousel .swiper.elementor-loop-container {
        padding: 0;
    }
    .new-home-news-carousel .swiper.elementor-loop-container:before, .new-home-news-carousel .swiper.elementor-loop-container:after {
        display: none;
    }
    .single-post:has(.category-news) .latest-articles .elementor-posts .post {
        max-width: 100%;
    }
}

/* Home 2 */
.tl-testimonials-wrap .tl-testimonial-card {
    height: 100% !important;
}

/* Home Duplicate */
.tl-ts-icon-wrap .elementor-icon-box-icon {
    margin-top: 12px;
}
.tl-tg-blur-bg-wrap {
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}
.tl-carousel figure.swiper-slide-inner img {
	height: auto;
	width: 250px;
}
.tl-main-heading span.eael-fancy-text-prefix {
    margin-right: 10px;
}

/* ========================== 
    WMW site updates
    Add changes here including responsive layout
========================== */

.wmw-btn .elementor-button-icon svg {
    width: 16px;
    height: 16px;
}
.aira-2-col-img img {
    aspect-ratio: 5/6;
    object-fit: cover;
}
.three-lines-only.elementor-widget-text-editor {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ========= Custom country select drop-down - task needs review so might remove later - start ========= */
.custom-country-select { position: relative; display: inline-block; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; }
.ccs-btn {
  display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .75rem;
  background: #fff; border: 1px solid #ddd; border-radius: 8px;
  cursor: pointer; min-width: 190px; justify-content: space-between;
}
.ccs-btn:focus { outline: 3px solid rgba(34, 132, 255, .15); outline-offset: 2px; }
.ccs-flag { font-size: 1.1rem; margin-right: .35rem; }
.ccs-label { flex: 1; text-align: left; font-size: .95rem; color: #222; }
.ccs-caret { margin-left: .5rem; opacity: .7; }
.ccs-list {
  position: absolute; left: 0; right: 0; margin-top: .45rem;
  background: #fff; border: 1px solid #e6e6e6; box-shadow: 0 6px 18px rgba(0,0,0,.06);
  border-radius: 8px; max-height: 240px; overflow-y: auto; padding: .25rem 0;
  z-index: 99999; display: none;
}
.custom-country-select.open .ccs-list { display: block; }
.ccs-option {
  list-style: none; padding: .5rem .75rem; cursor: pointer;
  display: flex; gap: .5rem; align-items: center; font-size: .95rem;
}
.ccs-option:hover, .ccs-option[aria-selected="true"], .ccs-option.focus { background: #f6f8fb; }
@media (max-width: 420px) { .ccs-btn { min-width: 140px; padding: .4rem .6rem; } .ccs-label { font-size: .9rem; } .ccs-flag { font-size: 1rem; } }

/* ========= Custom country select drop-down - task needs review so might remove later - end ========= */

/* ========= WMW Banner box and form - start ========= */
.wmw-banner-box .elementor-widget-text-editor a {
    text-decoration: underline;
}
.wmw-banner-form input[type="tel"] {
    height: auto;
    padding-left: 46px;
}
.wmw-banner-form .elementor-field-type-tel {
    position: relative;
}
.wmw-banner-form .elementor-field-type-tel:before {
    content: '';
    background: url(/wp-content/uploads/2025/11/yellow-phone.png);
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    left: 16px;
    display: block;
    z-index: 99;
}
/* ========= WMW Banner box and form - end ========= */

/* ========= Home scrolling logos - start ========= */
.wmw-carousel .swiper-slide-image {
    width: 100%;
    max-width: 270px;
    max-height: 110px;
    object-fit: contain;
}
/* ========= Home scrolling logos - end ========= */

/* ========= WMW About page cards - start ========= */
.about-team-card .elementor-image-box-img img {
    aspect-ratio: 1 /1;
    object-fit: cover;
    width: 100%;
}
/* ========= WMW About page cards - end ========= */

/* ========= Resource page cards - start ========= */
.resource-card .wmw-btn {
    margin-top: auto;
}
/* ========= Resource page cards - end ========= */

/* ========= Single product page - start ========= */
.single-product:has(.wmw-single-prod-wrap) .ast-container {
    max-width: 100%;
    padding: 0;
}
.single-product:has(.wmw-single-prod-wrap) .woocommerce-product-details__short-description {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: all 0.3s ease;
}
.single-product:has(.wmw-single-prod-wrap) .woocommerce-product-details__short-description.expanded {
  -webkit-line-clamp: unset;
  overflow: visible;
}
.wmw-single-prod-wrap .elementor-add-to-cart .quantity button {
    color: #334155;
    background-color: transparent !important;
    padding: 8px !important;
    box-shadow: none;
    margin: 0 !important;
}
.wmw-single-prod-wrap .elementor-add-to-cart .quantity {
    display: flex;
    border: 1px solid #D1D5DB;
    border-radius: 50px;
    padding: 0 5px;
}
.wmw-single-prod-wrap .elementor-add-to-cart .quantity input[type=number]::-webkit-outer-spin-button,
.wmw-single-prod-wrap .elementor-add-to-cart .quantity input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wmw-single-prod-wrap .elementor-add-to-cart .quantity input[type=number] {
  -moz-appearance: textfield;
}
.wmw-single-prod-wrap .elementor-add-to-cart .single_add_to_cart_button {
    padding: 12px 40px !important;
}
.wmw-single-prod-wrap .elementor-add-to-cart .quantity input {
    text-align: center;
}
.external-vendors-grid .vendor-content {
    padding: 10px 20px;
    background: #006073;
    border: 1px solid #006073;
    border-radius: 15px;
    color: #fff;
    font-size: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.external-vendors-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.external-vendors-grid .vendor-content .vendor-price {
    margin-left: auto;
}
.external-vendors-grid .vendor-content .vendor-logo {
    height: 50px;
}
.faq-accordion {
    border-color: #006073 !important;
}
/* ========= Single product page - end ========= */

/* ========= Resource page CF7 - start ========= */
.user-reg-form .wpcf7-form, .user-reg-form .wpcf7-form label {
    font-family: 'Fira Sans';
    font-size: 18px;
}
.user-reg-form .wpcf7-form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.user-reg-form .wpcf7-form .wpcf7-submit {
    background: #006073;
    border-radius: 15px;
    white-space: normal;
}
/* ========= Resource page CF7 - end ========= */

/* ========= Custom login & register page - start ========= */
.wmw-custom-login .elementor-field-type-text:first-child:before {
    content: '\f2bd';
    font-family: "Font Awesome 6 Free";
    z-index: 999;
    display: block;
    position: absolute;
    left: 12px;
    bottom: 10px;
    font-size: 22px;
}
.wmw-custom-login .elementor-field-type-text input[type="text"] {
    padding-left: 42px;
}
.wmw-custom-login .elementor-field-type-text:first-child {
    position: relative;
}
.wmw-custom-login .elementor-field-type-text input {
    line-height: 1.5;
    height: auto;
}
.wmw-custom-login .elementor-field-type-checkbox label {
    padding-bottom: 0 !important;
}
.wmw-custom-login .elementor-field-type-submit .elementor-button {
    margin-bottom: 20px;
}
.wmw-custom-login .register-link {
    background-color: #006073;
    font-family: "Fira Sans", Sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5em;
    border-radius: 8px 8px 8px 8px;
    padding: 12px 18px 12px 18px;
    width: 100%;
    text-align: center;
    color: #fff !important;
}
.wmw-custom-login .elementor-lost-password {
    font-family: 'Fira Sans';
    font-size: 15px;
}
.wmw-custom-pass-reset.elementor-widget-shortcode {
    font-family: "Fira Sans", sans-serif;
}
.wmw-custom-pass-reset form label {
    font-weight: 400 !important;
}
.wmw-custom-pass-reset .woocommerce-Button.button {
    background: #006073;
    width: 100%;
    font-size: 18px;
    border-radius: 4px;
    font-weight: 400;
}
.wmw-custom-pass-reset .lost_reset_password input {
    background-color: #ffffff;
    border-color: #777;
    border-radius: 4px;
}
/* ========= Custom login & register page - end ========= */

/* ========= New Blog Page - start ========= */
.blog-content .heading-large {
    font-family: 'Etna Condensed';
    font-size: 28px;
    font-style: normal;
    font-weight: var(--font-weight-medium, 500);
    line-height: var(--font-size-400, 32px); /* 145.455% */
    letter-spacing: var(--letter-spacing-25, 0.25px);
}
.blog-content a {
  text-decoration: none !important;
}
.blog-other-apps-card:hover .other-apps-tags-wrap .elementor-button-link {
  background-color: #d0d0d0 !important;
}
.blog-other-apps-card img {
  transition: all 0.3s ease;
}
.blog-other-apps-card:hover img {
  transform: scale(1.05);
}
.blog-other-apps-card .elementor-widget-image {
  overflow: hidden;
}
.blog-item-wrap {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.blog-item {
  flex: 0 0 32%;
  max-width: 32%;
  min-height: 421px;
}
.blog-action-wrap {
  display: flex;
  align-items: end;
  margin-bottom: 32px;
  border-bottom: 1px solid #b1b1b1;
}
.blog-cat-wrap {
  flex: 0 0 65%;
  max-width: 65%;
}
.blog-search-wrap button {
  background-color: transparent !important;
  padding: 0;
  position: absolute;
  top: 25%;
  left: 15px;
}
.blog-search-wrap {
  flex: 0 0 35%;
  max-width: 35%;
  position: relative;
  margin-bottom: 17px;
}
.blog-search-wrap input[type="text"] {
  padding: 10px 43px 10px 46px;
  height: 50px;
  background-color: #efefef;
  border-radius: 6px;
  width: 100%;
}
.blog-cat-wrap ul {
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  margin: 0;
  flex-wrap: wrap;
}
.blog-cat-wrap a {
  text-transform: uppercase;
  text-align: center;
  text-decoration-line: none !important;
  color: #000000;
  font-family: "Fira Sans", Sans-serif;
}
.blog-cat-wrap ul li {
  padding: 0 15px;
  padding-bottom: 7px;
}
.blog-cat-wrap ul .active {
  border-bottom: 3px solid #006073;
}
.blog-btn i {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  padding: 0 7px;
}
.blog-btn a {
  text-decoration: none !important;
  color: #000000;
}
.blog-item-inner .blog-content .blog-btn {
  text-align: right;
  margin-top: auto;
}
.blog-content {
  padding: 20px 0px;
}
.blog-page-buttons {
  text-align: center;
  display: flex;
  justify-content: center;
  margin-top: 29px;
}
.blog-page-buttons .page-numbers {
  background-color: #efefef;
  padding: 3px 16px;
  color: #000000;
  text-decoration: none !important;
}
.blog-page-buttons .page-numbers.current {
  background-color: #006073;
  color: #ffffff;
}
.blog-bg img {
  height: 350px;
  object-fit: cover;
  width: 100%;
}
.blog-item .blog-content h3 {
    color: #006073;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-search-wrap input[type="text"]::placeholder {
  color: #12121299;
}
.blog-search-wrap input[type="text"]:focus {
  border: 1px solid #1a3642;
  background-color: #1212120d;
}
.blog-search-wrap button.clear-input {
  left: unset;
  right: 12px;
  display: none;
}
.blog-search-wrap input[type="text"]:focus + button.clear-input {
  display: block;
}
.blog-search-wrap input[type="text"]:focus::placeholder {
  color: transparent !important;
}
.blog-btn a {
  color: #006073;
}
.blog-item .blog-item-inner {
  display: flex;
  flex-direction: column;
  min-height: 421px;
}
.blog-item-inner .blog-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.blog-item-inner .blog-btn-wrap {
  padding: 0 20px 20px;
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
}
.blog-item-inner .blog-desc {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: "Fira Sans", Sans-serif;
}
.blog-item .blog-bg {
  overflow: hidden;
  border-radius: 20px;
}
.blog-item:hover .blog-bg img {
  transform: scale(1.05);
}
.blog-item .blog-bg img {
  transition: all 0.3s ease;
}
.blog-item-wrap .blog-item {
  transition: all 0.3s ease;
}
/* ========= New Blog Page - end ========= */

/* ========= New Dashboard template design - start ========= */
.sidebar-nav.coming-soon .current-menu-item .hfe-menu-item:before {
  color: #AAA;
}
/* ========= New Dashboard template design - end ========= */

/* ========= Responsive ========= */
@media screen and (max-width: 1220px) {
  .blog-item {
    flex: 0 0 48.3%;
    max-width: 48.3%;
  }
}
@media screen and (max-width: 1025px) {
    .user-reg-form .wpcf7 form>p {
        margin-bottom: 35px;
    }
}
@media screen and (max-width: 1024px) {
    .external-vendors-grid .vendor-content {
        /* flex-wrap: wrap; */
        font-size: 20px;
        gap: 10px;
        flex-direction: column;
        align-items: center;
    }
    .external-vendors-grid .vendor-content .vendor-text-wrap, .external-vendors-grid .vendor-content .vendor-logo-wrap {
        /* width: 100%;
        max-width: calc(50% - 5px); */
        display: flex;
    }
    .external-vendors-grid .vendor-content .vendor-logo {
        object-fit: contain;
    }
    .external-vendors-grid .vendor-content .vendor-logo-wrap {
        justify-content: flex-end;
    }
    .external-vendors-grid .vendor-content .vendor-price {
        margin: 0 auto;
        font-size: 24px;
    }
}
@media screen and (max-width: 767px) {
    .external-vendors-grid .vendor-content {
        flex-wrap: wrap;
        gap: 20px;
        flex-direction: row;
    }
    .external-vendors-grid .vendor-content .vendor-text-wrap, .external-vendors-grid .vendor-content .vendor-logo-wrap {
        width: auto;
    }
    .external-vendors-grid .vendor-content .vendor-price {
        margin: 0 0 0 auto;
    }
    .user-reg-form .wpcf7 form>p {
        margin-bottom: 15px;
    }
    .user-reg-form .wpcf7-form label {
        font-size: 16px;
    }
    .blog-item {
        flex: unset;
        max-width: 100%;
        min-height: unset;
    }
    .blog-desc,
    .blog-content h3 {
        min-height: unset;
    }
    .blog-action-wrap {
        flex-direction: column-reverse;
    }
    .blog-cat-wrap,
    .blog-search-wrap {
        width: 100%;
        flex: unset;
        max-width: 100%;
    }
    .blog-search-wrap {
        margin-bottom: 30px;
    }
    .blog-cat-wrap ul {
        row-gap: 15px;
        justify-content: center;
    }
    .blog-content .heading-large {
        font-size: 25px;
    }
}
@media screen and (max-width: 525px) {
    .external-vendors-grid .vendor-content {
        flex-direction: column;
        gap: 10px;
        text-align: center;
        font-size: 18px;
    }
    .external-vendors-grid .vendor-content .vendor-price {
        margin: 0 auto;
    }
}
@media screen and (max-width: 480px) {
    .external-vendors-grid .vendor-content {
        flex-wrap: wrap;
        gap: 10px;
    }
    /* .external-vendors-grid .vendor-content .vendor-text-wrap, .external-vendors-grid .vendor-content .vendor-logo-wrap {
        width: 100%;
    } */
    .external-vendors-grid .vendor-content .vendor-price {
        margin: 0 auto;
        font-size: 24px;
    }
}