/**
Theme Name: Astra Child
Author: Desmond Rgwaringesu
Author URI: https://www.linkedin.com/in/desmond-rgwaringesu/
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: 2.8.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

.to-front {
    z-index: 9;
}

.to-back {
    z-index: 0;
}

#primary-site-navigation-desktop .menu-item:last-child .menu-link {
    background: #1F42DE;
    padding-left: 35px;
    padding-right: 35px;
    margin-left: 15px;
    height: 45px;
    border-radius: 20px;
}

#primary-site-navigation-desktop  .main-header-menu .sub-menu .menu-item:last-child .menu-link {
    background: #00000000 !important;
    color: white !important;
    font-weight: normal;
    margin-left: 16px;
    padding-left: 0px;
}


#primary-site-navigation-mobile .menu-item:last-child .menu-link {
    color: var(--ast-global-color-3) !important;
    font-weight: normal;
}

#primary-site-navigation-desktop .main-header-menu .sub-menu {
    border-color: #ffffff00;
    background: #000000e8 !important;
    padding-bottom: 20PX;
    padding-right: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}



.site-navigation .current-menu-item:not(:last-child)::after,
.site-navigation .sub-menu .current-menu-item::after{
    content: "";
    width: 82%;
    height: 2px;
    background: #ffffff;
    z-index: 9999999;
    position: absolute;
    bottom: 15px;
    left: 9%;
}

.site-navigation .sub-menu .current-menu-item::after{
    bottom: 6px;
    width: 50%;
}

@media (max-width: 921px){
    .ast-theme-transparent-header .main-header-bar, .ast-theme-transparent-header.ast-header-break-point .main-header-bar-wrap .main-header-menu, .ast-theme-transparent-header.ast-header-break-point .main-header-bar-wrap .main-header-bar, .ast-theme-transparent-header.ast-header-break-point .ast-mobile-header-wrap .main-header-bar {
        background-color: #ffffff00;
    }
}

.service-icon-encasor .elementor-icon {
    border: 1.5px solid #86E3B1 !important;
    padding: 18px;
    border-radius: 50%;
}

.elevated-service-icon-encasor .elementor-icon-box-icon{
    justify-content: center;
    align-items: center;
    display: flex;
}

.elevated-service-icon-encasor .elementor-icon-wrapper {
    padding-top: 2px;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 10px;
}

.elevated-service-icon-encasor .elementor-icon,
.elevated-service-icon-encasor img
{
    margin-top:2px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 9px;
    width: 160px; /* Set width */
    height: 160px; /* Set height */
    background-color: #ffffff; /* Set background color */
    border-radius: 50%; /* Make it a circle */
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3); /* Circular box shadow */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20%;
}

.elevated-counter .elementor-counter {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.elevated-counter .elementor-counter-number-wrapper {
    flex: unset !important;
    width: 200px;
    height: 200px;
    margin-top:2px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 9px;
    background-color: #ffffff;
    border-radius: 50%;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
}


.card {

    background-color: #ffffff; /* Set background color */
    border-radius: 15px; /* Make it a circle */
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3); /* Circular box shadow */
    display: flex;
    justify-content: center;
    align-items: center;
}

.team-member-avatar img {
    border-radius: 50%;
    width: 220px;
    height: 220px;
}


.get-in-touch-image-encasor img {
    border-radius: 40% 90% / 100% 140%;
}

.large-gray-circle-background{
    position: absolute;
    top: 0px;
    bottom: 0px;
    width: 450px;
}

.card-chevron {
    color: #86E3B1;
    margin-top:5px;
}

.elementor, .elementor div {
    overflow: hidden !important;
}

.elementor-widget-reviews .swiper-wrapper, .elementor-widget-testimonial-carousel .swiper-wrapper {
    overflow: visible !important;
}



.site-primary-header-wrap {
    margin-top: 12px;
    margin-left: 3%;
    margin-right: 3%;
}

.site-primary-header-wrap  .ast-builder-grid-row {
    overflow-wrap: anywhere;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

@media (min-width: 922px){
    .ast-container {
        max-width: 100% !important;
    }
}


.elementor-widget-testimonial-carousel .elementor-testimonial__image img {
    border-radius: 0px !important;
    width: 55px !important;
    height: 48px !important;
}


.elementor-testimonial__footer.end-quote {
    padding-right: 0px !important;
    padding-left: 20px !important;
    margin-top: auto;
    padding-bottom: 50px;
}

.elementor-testimonial__footer.end-quote img {
    transform: rotate(180deg);
}


@media screen and (max-width: 760px) {
    .elementor-widget-testimonial-carousel .elementor-testimonial__image img {
        width: 24px !important;
        height: 19px !important;
    }

    .elementor-testimonial--layout-image_left .elementor-testimonial__footer {
        padding-right: 0 !important;
    }

    .elementor-testimonial__footer {
        padding-right: 2px !important;
        padding-left: 0 !important;
    }

    .elementor-testimonial__footer.end-quote {
        padding-right: 0 !important;
        padding-left: 2px !important;
    }
}

/*Blue Panel Button Alignment*/

.invisible-text {
    color: #FFFFFF00 !important;
}

@media screen and (max-width: 1024px) {
    .invisible-text {
     display: none;
    }
}

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

    #home-page-blue-service-grid .elementor-button {
        font-size: 14px;
    }
}

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

    #home-page-blue-service-grid .elementor-button {
        font-size: 13px;
    }
}

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

    #home-page-blue-service-grid .elementor-button {
        font-size: 12px;
    }
}

@media screen and (max-width: 1024px) {
    #home-page-blue-service-grid .elementor-element:not(:first-child) .elementor-image-box-description{
        margin-bottom: 50px;
    }

}



@media screen and (max-width: 1448px) {
    .get-in-touch-image-encasor {
        right: -230px !important;
    }
}

@media screen and (max-width: 1416px) {
    .get-in-touch-image-encasor {
        right: -230px !important;
    }
}

@media screen and (max-width: 1336px) {
    .get-in-touch-image-encasor {
        display: none !important;
    }
}


/*Feature: PRO Perspectives Articles*/

.a-container p,
.elementor-widget-theme-post-excerpt{
    color: black !important;
}

.a-container .article-title:hover{
    text-decoration: underline !important;
}

.a-container p:hover,
.elementor-widget-theme-post-excerpt:hover{
    color: black !important;
}

.elementor-widget-theme-post-excerpt p {
    margin-bottom: 0;
}

@media print
{
    .no-print, .no-print *
    {
        display: none !important;
    }
}


/* PRO-Perspective Article Printing */

.article-body li {
    padding-top: 15px !important;
    padding-bottom: 0px !important;
    page-break-inside: avoid;
}

.ast-separate-container .ast-article-single.pro-perspective {
    background-color: white !important;
    background-image: none;
}


/*.elementor-testimonial__text::before {*/
/*    content: "\201C";*/
/*    font-size: 129px;*/
/*    color: black;*/
/*    font-family: 'dashicons';*/
/*    position: absolute;*/
/*    left: 2%;*/
/*    top: -17%;*/
/*}*/

/*.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap {*/
/*    margin-left: 4%;*/
/*    margin-right: 4%;*/
/*}*/

/* --- STOP CLIPPING ON COMMON WRAPPERS --- */
.wpcf7 .wpcf7-form-control-wrap,
.cf7-row,
.cf7-col,
.elementor-widget-container { overflow: visible !important; }

.wpcf7 .wpcf7-form-control-wrap{
    padding: 1px !important;
    display: block;
    margin: 0;
}

.elementor-column, .elementor-container, .elementor-section { overflow: visible !important; }

/* Neutralize CF7/theme default paragraph margin */
.wpcf7 form p { margin: 0; }

/* --- LABELS (no bold + CSS-only asterisk) --- */
.cf7-label{
    display: inline-flex;
    align-items: baseline;
    margin-bottom: 4px;       /* label→field gap (+2px as requested) */
    font-weight: 400;         /* not bold */
    line-height: 1.1;
    min-height: 1.1em;
}
.cf7-label.required::after{
    content: " *";
    color: #e02424;
    font-weight: 700;
}

/* --- INPUT / SELECT / TEXTAREA STYLES --- */
.cf7-row input[type="text"],
.cf7-row input[type="email"],
.cf7-row input[type="tel"],
.cf7-row select,
.cf7-row textarea,
.cf7-row .wpcf7-form-control{
    width: 100%;
    padding: 9px 11px;
    margin: 0 0 5px 0;         /* 5px bottom spacing between fields */
    background: #fff;
    border: none;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 15px;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.10);
    transition: box-shadow 0.25s ease, transform 0.1s ease;
}

/* Focus state */
.cf7-row input:focus,
.cf7-row select:focus,
.cf7-row textarea:focus{
    outline: none;
    box-shadow: 0 0 0 3px rgba(31,66,222,0.35);
    transform: translateY(-1px);
}

/* Textarea sizing */
.cf7-row textarea{ min-height: 100px; resize: vertical; }

/* --- LAYOUT (tight + aligned) --- */
.cf7-row{ margin-bottom: 8px; }
.cf7-row:last-child{ margin-bottom: 0; }

.cf7-2col{
    display: flex;
    gap: 8px;
    align-items: flex-start;    /* align columns by their tops */
}
.cf7-col{
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 2px;                   /* internal label→field consistency */
}
.cf7-col > *{ margin: 0; }

/* Center the submit button (normal-sized) */
.cf7-row.cf7-submit-row{ text-align: center; }

.wpcf7 form .wpcf7-submit{
    display: inline-block;      /* prevent full-width */
    width: unset;               /* <-- as requested */
    margin: 6px 0 0;
    background-color: #1F42DE;
    color: #fff;
    padding: 15px 25px;          /* exactly 15px left/right */
    border: none;
    border-radius: 25px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 0 0 1px rgba(31,66,222,0.25);
    transition: background-color 0.2s ease, transform 0.1s ease;
}
.wpcf7 form .wpcf7-submit:hover{
    background-color: #1938be;
    transform: translateY(-1px);
}

/* Keep submit row tight */
.cf7-row.cf7-submit-row,
.cf7-row.cf7-submit-row p{ margin-bottom: 0 !important; }

/* Spinner position (if used) */
.wpcf7-spinner{ position: absolute; left: 45%; bottom: 0; }

