/**

Theme Name: The Chartist

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.1

License: GNU General Public License v2 or later

License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: the-chartist

Template: astra

*/

/************************************************************************/
/*START CUSTOM CSS*/
/************************************************************************/

/*TYPOGRAPHY*/
.ast-right-sidebar #secondary h2, h3.ast-related-post-title, h2.ast-related-posts-title {font-family: 'Libre Franklin',sans-serif; }
/* h1, .h1 {font-family: "franklin-gothic-atf", sans-serif; } */
.link-primary, .link-secondary, .text-link, a.text-link-2, #wrapSearch .cat-item a, .read-more a{text-transform: uppercase; }

/*weights*/
strong, .menu-item > .menu-link, .link-primary, .link-secondary
 {font-weight: 700;}
 .footer-nav-wrap .menu-item > .menu-link, .main-navigation ul .sub-menu .menu-item .menu-link {font-weight: 400;}

/*sizes*/
body.home h1, body.home .entry-content h1 {font-size:5rem;}
div.product.ast-product-tabs-layout-distributed h3.ast-distributed-header {font-size: 2.7rem;}
.largest, .feature-block h3 {font-size: 2.2rem;}
.aio-icon-box .aio-icon-header h3.aio-icon-title, .cart_totals h2, body.woocommerce-checkout .woocommerce h3 {font-size: 1.6rem;}
.bigger, .wrap-team-blocks .ult-style-3 .ult-team-member-name-wrap .ult-team-member-name,  .ast-right-sidebar #secondary h2, h2.ast-related-posts-title  {font-size: 1.2rem;}
.slider-image-and-text figcaption.vc_figure-caption, .wrap-team-blocks .ult-style-3 .ult-team-member-position, 
.ast-header-break-point .ast-button-wrap .main-header-menu-toggle,
.woocommerce-page.woocommerce-checkout #payment #place_order, .woocommerce.woocommerce-checkout #payment #place_order {font-size: 1rem;}
.main-navigation ul .sub-menu .menu-item, .single-post .ast-container #secondary  a.menu-link {font-size: 0.9rem;}
.smaller, .site-above-footer-wrap, .footer-nav-wrap {font-size: 0.85rem;}
.smallest, .ast-footer-copyright {font-size: 0.75rem;}

.wrap-team-blocks .ult-style-3 .ult-team-member-name-wrap .ult-team-member-name , .wrap-team-blocks .ult-style-3 .ult-team-member-position {text-transform: none;}
.footer-nav-wrap ul li {text-transform: uppercase;}
/*spacing*/
h4 { margin:0.75em 0;}
.woocommerce-js h2, div.product.ast-product-tabs-layout-distributed h3.ast-distributed-header { margin-bottom:0.5em; }
 
/*LINK STYLES*/
#content a:not(.button):not(.vc_btn3):not(.pupup-btn):not(.pupup-btn-white):not(.login-submit):not(.popup-btn-right):not([data-vc-accordion]), 
#content a:not(.button):not(.vc_btn3):not(.pupup-btn):not(.pupup-btn-white):not(.login-submit):not(.popup-btn-right):not([data-vc-accordion]):focus, 
#content a:not(.button):not(.vc_btn3):not(.pupup-btn):not(.pupup-btn-white):not(.login-submit):not(.popup-btn-right):not([data-vc-accordion]):visited {
    color: var(--alt-orange);
}
#content a:not(.button):not(.vc_btn3):not(.pupup-btn):not(.pupup-btn-white):not(.login-submit):not(.popup-btn-right):not([data-vc-accordion]):hover {
    color: var(--h-alt-orange);
}

.ast-single-post .entry-content a, .ast-comment-content a:not(.ast-comment-edit-reply-wrap a) {text-decoration: none;}
a.text-link, a.text-link-2 {position:relative; display: inline-block; padding-right: 30px; }
a.text-link span, a.text-link-2 span, .read-more a {color: var(--steel-grey); display: inline-block; padding-bottom:0.25em; border-bottom: 2px solid var(--alt-orange); text-decoration: none; }
a.text-link:hover span, a.text-link-2:hover span, .read-more a:hover {color: var(--black); display: inline-block; border-bottom: 2px solid var(--h-alt-orange);}
a.text-link:after {display:block; position: absolute; content:""; width:25px; height: 25px; right:0; top:0.25em; background: url(/wp-content/uploads/2024/04/arrow-down.png) center top no-repeat; background-size: 25px 25px;}
.grey-bg a.text-link {color: var(--white); }
.grey-bg a.text-link:hover {color: var(--pewter-tint); }

.entry-title{
    font-family: 'FF Meta Serif Pro', serif;
}


/*COLOURS*/  
:root {
    --alt-orange: #DE7C13;
    --h-alt-orange: #d67610;
    --orange: #ED8B00; /*chartist orange*/
    --black: #101921;
    --steel-grey: #424E55;
    --h-steel-grey: #2f383d;
    --pewter-blue: #9EB3BE;
    --pewter-tint: #E4EBEE; 
    --white: #fff;
}
/* Set colour classes to re-use through site */
.alt-orange, 
.ast-builder-menu-1 .link-primary > .menu-link:hover, .ast-builder-html-element .link-primary > .menu-link:hover,
.ast-builder-menu-1 .link-secondary .menu-link, .ast-builder-html-element .link-secondary .menu-link,
.main-header-bar.ast-sticky-active ul.main-header-menu > .link-primary.menu-item > .menu-link:hover,
.main-header-bar.ast-sticky-active ul.main-header-menu > .link-secondary.menu-item .menu-link,
.main-header-bar.ast-sticky-active ul.main-header-menu > .menu-item.current-menu-ancestor > .menu-link,
.link-primary .menu-link:hover,
h1 strong, .h1 strong, h2 strong, .h2 strong, h4, .h4 {
    color: var(--alt-orange);
}
.orange, 
h3.orange, .h3.orange{
    color: var(--orange);
}
.black, .vc_tta.vc_general.wrap-accordion .vc_tta-panel-body,
.wrap-accordion.vc_tta-color-white.vc_tta-style-flat:not(.vc_tta-o-no-fill) .vc_tta-panel-body{
    color: var(--black);
}
.steel-grey,
.main-header-bar.ast-sticky-active ul.main-header-menu > .menu-item > .menu-link,
h1, .h1, .entry-content h1, .entry-content .h1, .icon-list, .numbered-list strong, .numbered-list ::marker,
.vc_tta.vc_general.wrap-accordion .vc_tta-panel-title>a,
.wrap-accordion.vc_tta-color-white.vc_tta-style-flat .vc_tta-panel .vc_tta-panel-title>a,
.wrap-team-blocks .ult-style-3 .ult-team-member-name-wrap .ult-team-member-name ,
.wrap-team-blocks .ult-style-3 .ult-team-member-position,
.shop_table th  {
    color: var(--steel-grey);
}
.h-steel-grey,
.wrap-accordion.vc_tta.vc_general.wrap-accordion .vc_tta-panel-title>a:hover,
.wrap-accordion.vc_tta-color-white.vc_tta-style-flat .vc_tta-panel.vc_active .vc_tta-panel-title>a  {
    color: var(--h-steel-grey);
}
.pewter-blue {
    color: var(--pewter-blue);
}
.pewter-tint {
    color: var(--pewter-tint)
}
.white, .grey-bg, .grey-bg a.text-link span, .wrap-grey-boxes .aio-icon-header h3.aio-icon-title,
.ast-builder-menu-1 .link-primary > .menu-link, .ast-builder-html-element .link-primary > .menu-link, 
.ast-builder-menu-1 .link-primary.current-menu-item > .menu-link, .ast-builder-html-element .link-primary.current-menu-item > .menu-link,
.ast-builder-menu-1 .link-secondary > .menu-link:hover, .ast-builder-html-element .link-secondary .menu-link:hover,
.main-header-bar.ast-sticky-active ul.main-header-menu > .link-primary.menu-item > .menu-link,
.main-header-bar.ast-sticky-active ul.main-header-menu > .link-secondary.menu-item > .menu-link:hover,
.entry-content h1.white, .entry-content h3.white, .entry-content .h3.white, .entry-content .white h5, .entry-content .white .h5, 
h2.orange strong, .h2.orange strong, h2.white, .h2.white, h4.white, .h4.white, h6.white, .h6.white,
.feature-block .ult-content-box > div.wpb_text_column h3, .link-primary .menu-link,
.wrap-team-blocks .ult-style-3 .ult-team-member-description p
 {
    color: #fff;
}

/* Change the placeholder text color */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: var(--steel-grey); /* Placeholder text color */
}

/* Change the placeholder text color for the search form */
input::placeholder {
    color: var(--steel-grey); 
    opacity: 1; /* Ensure the color is fully opaque */
}

/* For older versions of browsers that do not support ::placeholder */
input::-webkit-input-placeholder {
    color: var(--steel-grey);
}

input::-moz-placeholder {
    color: var(--steel-grey);
    opacity: 1;
}

input:-ms-input-placeholder {
    color: var(--steel-grey); 
}

input:-moz-placeholder {
    color: var(--steel-grey); 
    opacity: 1;
}


/*BUTTONS*/
.vc_btn3-container.button-primary button.vc_btn3-color-grey,
.vc_btn3-container.button-primary a.vc_btn3-color-grey,
.vc_btn3-container.button-secondary button.vc_btn3-color-grey, 
.vc_btn3-container.button-secondary a.vc_btn3-color-grey,
.vc_btn3-container.button-tertiary button.vc_btn3-color-grey, 
.vc_btn3-container.button-tertiary a.vc_btn3-color-grey,
.vc_btn3-container.button-quaternary button.vc_btn3-color-grey, 
.vc_btn3-container.button-quaternary a.vc_btn3-color-grey {
    padding: 1em 2em;
    font-size: 1rem;
    font-weight:500;
    text-transform: uppercase;
    background-color: transparent;
    color: var(--steel-grey); 
    border-width: 2px;
    border-color: var(--steel-grey);
    transition: all 0.3s ease-in-out;
		
}
.vc_btn3-container.button-primary button.vc_btn3-color-grey:hover,
.vc_btn3-container.button-primary a.vc_btn3-color-grey:hover,
.vc_btn3-container.button-secondary button.vc_btn3-color-grey:hover, 
.vc_btn3-container.button-secondary a.vc_btn3-color-grey:hover,
.vc_btn3-container.button-tertiary button.vc_btn3-color-grey:hover, 
.vc_btn3-container.button-tertiary a.vc_btn3-color-grey:hover,
.vc_btn3-container.button-quaternary button.vc_btn3-color-gre:hover, 
.vc_btn3-container.button-quaternary a.vc_btn3-color-grey:hover {
    transform: translateY(-0.25em);
}
.vc_btn3-container.button-primary button.vc_btn3-color-grey,
.vc_btn3-container.button-primary a.vc_btn3-color-grey {
    background-color: var(--alt-orange);
    color: var(--white);
    border-color: var(--alt-orange);
}
.vc_btn3-container.button-primary button.vc_btn3-color-grey:hover,
.vc_btn3-container.button-primary a.vc_btn3-color-grey:hover {
    background-color: var(--h-alt-orange);
    color: var(--white);
    border-color: var(--h-alt-orange);
}

.vc_btn3-container.button-secondary button.vc_btn3-color-grey,
.vc_btn3-container.button-secondary a.vc_btn3-color-grey {
    color: var(--steel-grey); 
    border-color: var(--steel-grey);
}
.vc_btn3-container.button-secondary button.vc_btn3-color-grey:hover,
.vc_btn3-container.button-secondary a.vc_btn3-color-grey:hover {
    background-color: var(--steel-grey);
    color: var(--white); 
    border-color: var(--steel-grey);
}

.vc_btn3-container.button-tertiary button.vc_btn3-color-grey,
.vc_btn3-container.button-tertiary a.vc_btn3-color-grey {
    background-color: var(--steel-grey);
    color: var(--white);
    border-color: var(--steel-grey);
}
.vc_btn3-container.button-tertiary button.vc_btn3-color-grey:hover,
.vc_btn3-container.button-tertiary a.vc_btn3-color-grey:hover {
    background-color: var(--h-steel-grey);
    color: var(--white);
    border-color: var(--h-steel-grey);
}

.vc_btn3-container.button-quaternary button.vc_btn3-color-grey,
.vc_btn3-container.button-quaternary a.vc_btn3-color-grey {
    color: var(--white); 
    border-color: var(--white);
}
.vc_btn3-container.button-quaternary button.vc_btn3-color-grey:hover,
.vc_btn3-container.button-quaternary a.vc_btn3-color-grey:hover {
    background-color: var(--white);
    color: var(--steel-grey); 
    border-color: var(--white);
}

/*button used for popup Ontraforms & checkout & login*/

a.pupup-btn, a.pupup-btn-white, .login-submit input.button, #ast-coupon-trigger {
    display:inline-block;
    padding: 1em 2em;
    font-size: 1rem;
    font-weight:500;
    text-transform: uppercase;
    background-color: transparent;
    color: var(--steel-grey); 
    border-width: 2px;
    border-style: solid;
    border-color: var(--steel-grey);
    border-radius: 2em;
    transition: all 0.3s ease-in-out;
}
a.pupup-btn:hover, #ast-coupon-trigger:hover {
    background-color: var(--steel-grey);
    color: var(--white); 
    border-color: var(--steel-grey);
    transform: translateY(-0.25em);
}
a.pupup-btn-white {
    color: var(--white); 
    border-color: var(--white);
}
a.pupup-btn-white:hover {
    background-color: var(--h-steel-grey);
}

.login-submit input.button-primary {
    background-color: var(--alt-orange);
    color: var(--white);
    border-color: var(--alt-orange);
}
.login-submit input.button-primary:hover {
    background-color: var(--h-alt-orange);
    border-color: var(--h-alt-orange);
}

a.popup-btn-right, #ast-coupon-trigger {

    display: table;
    padding: 1em 2em;
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    background-color: transparent;
    color: var(--steel-grey);
    border-width: 2px;
    border-style: solid;
    border-color: var(--steel-grey);
    border-radius: 2em;
    transition: all 0.3s ease-in-out;
    margin-left: auto;
}
a.popup-btn-right:hover, #ast-coupon-trigger:hover {
    background-color: var(--steel-grey);
    color: var(--white); 
    border-color: var(--steel-grey);
    transform: translateY(-0.25em);
}

button.OPF__modal-form__close-button {
    color: var(--black);
}

.woocommerce-js button.button.alt:disabled, 
.woocommerce-js button.button.alt:disabled:hover, 
.woocommerce-js button.button.alt:disabled[disabled] {background-color: var(--pewter-blue)!important;}


/*DECORATIONS*/
h1.corner, h1.corner-alt { margin-top:-25px; }
h1.corner span, h2.corner > span, h1.corner-alt span, h2.corner-alt span {display:inline-block; width: auto; position: relative; z-index: 0; padding:25px 70px 0 0;}
h1.corner span:before, h2.corner span:before, h1.corner-alt span:before, h2.corner-alt span:before {
        content: "";
        position: absolute;
        z-index: 1;
		right:0%;
        top:0%;
        background: transparent url('/wp-content/uploads/2024/03/corner.png') no-repeat right top;
        background-position: right top;
        width: 100%; height: 53px;
        background-size: 55px 53px;  
}
h1.corner-alt span:before, h2.corner-alt span:before {
    background: transparent url('/wp-content/uploads/2024/06/corner-white.png') no-repeat right top;
}
h2.corner, h2.corner-alt[style="text-align:center"] {margin: 0 auto!important;}

#home-intro:before {
    content: "";
    display: block;
    position: absolute;
    top: -2.45rem;
    height: 2.5rem;
    width:96%;
    margin-right:-2.5rem;
    background-color: var(--steel-grey);
}
.wpb_wrapper .ult-video {margin:0;}

/*FORMS*/

/*HEADER*/

.ast-builder-grid-row {grid-column-gap:0;}
.ast-logo-title-inline .site-logo-img > a {display: inline-block;}
.astra-logo-svg:not(.sticky-custom-logo .astra-logo-svg,.transparent-custom-logo .astra-logo-svg,.advanced-header-logo .astra-logo-svg) {
    height:auto;
}
.ast-logo-title-inline .main-header-bar.ast-sticky-active .ast-site-identity {padding: .5em 0;}

#ast-desktop-header .ast-builder-grid-row>.site-header-section {gap: 0.4em;}
.site-header-section>* { padding: 0; }

.ast-header-woo-cart {margin-left: 0.25em;}
.ast-site-header-cart .cart-container > div {padding: 0.5em 0.25em;}
.ast-site-header-cart i.astra-icon:after {right:-8px; top:-15px;}

/*MENU*/
.ast-builder-menu-1 .menu-item > .menu-link span {display:none;}
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {line-height: unset;}
.main-navigation ul {gap: 1.2em;}

.ast-builder-menu-1 .menu-item .menu-link, .ast-builder-html-element .menu-item .menu-link {padding:0.65em 0.65em;}

.link-primary .menu-link, .link-secondary .menu-link {border: 3px solid var(--alt-orange); border-radius:0;}
.link-primary .menu-link, .link-secondary .menu-link:hover { background-color: var(--alt-orange);}
.link-primary .menu-link:hover { background-color: transparent;}

.link-secondary .menu-link, .link-primary .menu-link {padding:0.65em 0.65em; font-size: 1rem;}
.ast-builder-html-element .link-secondary, .ast-builder-html-element span {display: flex; height: 100%;}



/*mobile toggle menu*/
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    padding:0.5em 0;
}

/*HERO*/
body.home #hero, body.page-id-8993 #hero {min-height: 91vh;}
body:not(.home):not(.page-id-8993) #hero {min-height: 60vh;}
#hero .home-hero-text {padding-bottom: 8vh;}


/*CONTENT STYLES*/
.row-medium, .row-default, .woocommerce-js div.product .woocommerce-tabs {margin-left: auto; margin-right: auto; width: 100%;}
.row-default { max-width: 1540px;}
.row-medium, .woocommerce-js div.product .woocommerce-tabs {max-width: 1200px;}
.row-small {max-width: 1000px;}
.row-x-small {max-width: 750px;}
/*responsive fix for when row is full width, and screen is resized*/
.vc_row[data-vc-full-width] {min-width: 100%;}

/*row padding*/
.wpb-content-wrapper>.vc_row {padding-top: 5em;}
.wpb-content-wrapper #home-intro.vc_row, #wrapSearch  {padding-top:3em;}

/*turn row padding off for some sections*/
.wpb-content-wrapper #hold-signup.vc_row,
.wpb-content-wrapper #hero.vc_row,
.wpb-content-wrapper .vc_row.row-text-image,
.wpb-content-wrapper .vc_row.row-image-text,
.wpb-content-wrapper .vc_row.wrap-feature-blocks {padding-top: 0em;}

/*site-wide padding for rows with fill*/
.vc_empty_space.row-space {height:5em!important;}
.vc_col-has-fill>.vc_column-inner, .vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner, .vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner, .vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 0;
}
.wpb-content-wrapper>.vc_row.empty-row {padding-top: 0em; height:0em!important;}


.orange-bg {background-color: var(--orange);}
.grey-bg {background-color: var(--steel-grey);}
.pewter-bg {background-color: var(--pewter-blue);}
.pewter-tint-bg,
.ast-single-entry-banner[data-post-type="product"] {background-color: var(--pewter-tint);}
.pad-left {padding-left: 10%;}
.pad-right {padding-right: 10%;}
.pad-left-small {padding-left: 5%;}
.pad-right-small {padding-right: 5%;}
.pad-left-big {padding-left: 20%;}
.pad-right-big {padding-right: 20%;}

.icon-list .uavc-list-icon  {margin-top:0.25em;}
.icon-list .uavc-list-content, .numbered-list li {margin-bottom:0.75em;}

/*HOME specific styling*/

#home-intro.grey-bg {margin-top:-45px;}
#home-intro.grey-bg .pad-left {width: 55%; text-align: right;}
#home-intro.grey-bg .pad-right {width: 45%; text-align: left; }

#home-grow .vc_column-inner {padding: 4em 2em; align-items: center ;}
#home-grow .col-1 .vc_column-inner {background-color: rgba(158, 179, 190, 0.96); /* 96% opacity */}
#home-grow .col-2 .vc_column-inner {background-color: rgba(228, 235, 238, 0.93); /* 93% opacity */}
#home-grow .col-3 .vc_column-inner {background-color: rgba(237, 139, 0, 0.93); /* 93% opacity */}

#home-grow .vc_column-inner .wpb_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Aligns content to the top */
    height: 100%; /* Ensures the div takes the full height of its parent */
    max-width:300px;
}

#home-grow .vc_column-inner .wpb_wrapper .vc_btn3-container {margin-top:auto;}  /* Aligns the button to the bottom */

.home-icons .vc_column_container>.vc_column-inner {padding-left:2em;padding-right:2em; padding-top: 1em; padding-bottom: 1em;}

/*SLIDERS*/
/*advanced carousel slider with image and text under*/
.slider-image-and-text .vc_single_image-wrapper {box-shadow: -5px 5px 8px 0 rgba(0, 0, 0, 0.3) }
.slider-image-and-text figcaption.vc_figure-caption {text-align: center; padding: 1em 3em;} 

/*advanced carousel slider with testimonial text block*/
#slider-testimonial .ult-carousel-wrapper .slick-slide {margin: 0 3em;}
#slider-testimonial .ult-carousel-wrapper .slick-dots {padding: 1.5em 0;}

/*advanced carousel slider with image only*/
#performance > .vc_column_container > .vc_column-inner { padding-left: 0; padding-right: 0; }
#performance .slider-performance .slick-slider .slick-slide { margin: 0 0; }


/*Home newsletter signup*/
#hold-signup > div.vc_col-has-fill::before {position: absolute; left:0; bottom:0; content: ""; width: 50px; height: 95%; background-color: var(--pewter-blue); z-index: 2; }


/*INNER PAGE specific styling*/

.wrap-grey-boxes .vc_column-inner {background-color:var(--steel-grey); }

.wrap-grey-boxes .vc_column-inner .wpb_wrapper{ padding: 4em 2em; align-items: center;}

.row-text-image .vc_column-inner, .row-image-text .vc_column-inner {min-height: 50vh; }
.row-text-image div:first-child div.vc_column-inner .wpb_wrapper { max-width: 680px; align-self: flex-end; }
.row-image-text div:last-child div.vc_column-inner .wpb_wrapper { max-width: 680px; align-self: flex-start; }

.row-text-image h2, .row-text-image p {text-align: right!important;}

/*three coloured text  blocks, used on members page for example*/
.three-blocks.vc_row.vc_row-flex  { justify-content:center; gap: 1.5em; flex-wrap: nowrap;}
.three-blocks .vc_column-inner {padding: 4em 2em; align-items: center ;}
.three-blocks  .col-1 .vc_column-inner {background-color:var(--pewter-blue); }
.three-blocks  .col-2 .vc_column-inner {background-color: var(--pewter-tint); }
.three-blocks  .col-3 .vc_column-inner {background-color: var(--orange); }
.three-blocks .vc_column-inner .wpb_wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 350px;
}

.three-blocks .vc_column-inner .wpb_wrapper > *:not(.vc_btn3-container) {
    flex: 0 1 auto;
}

.three-blocks .vc_column-inner .wpb_wrapper .vc_btn3-container {
    align-self: center; /* Centers horizontally */
    flex: 0 0 auto; /* Ensures the button container maintains its natural size */
}

.three-blocks .vc_column-inner .wpb_wrapper .spacer {
    flex-grow: 1; /* Pushes the next element to the bottom */
}

/*three easy steps blocks, used on members page for example*/
.wrap-easy-steps .vc_column-inner > .wpb_wrapper{display: flex; flex-direction: row; gap: 1.5em;}
.wrap-easy-steps .vc_column-inner > .wpb_wrapper .wpb_single_image {flex-shrink: 0;}

/*clickable image blocks, used on resources page for example*/
.wrap-feature-blocks {margin-bottom: 2em;}
.feature-block .ult-content-box {min-height:400px;}

.feature-block.ult-content-box-container {
    position: relative;
}

/*team blocks, used on about page for example*/
.wrap-team-blocks .ult-style-3 .ult-team-member-description {
    background-color:var(--steel-grey); 
    padding: 4em 2em; 
    width: 100%;
    height: 100%;
    margin: 0 0;
    display: flex;
    align-items: center ;
}

/*white testimonial blocks, used on about page for example*/
.wrap-testimonial-boxes .vc_column-inner > .wpb_wrapper { 
    background-color:var(--white);
    padding: 4em 2em;
    width: 100%;
    height: 100%;
    margin: 0 0;
    display: flex;
    flex-direction: column;
    align-items: center ;}

/*accordion, used on resources page for example*/
.vc_tta.vc_general.wrap-accordion .vc_tta-panel {border-bottom: 1px solid var(--steel-grey);}
.vc_tta.vc_general.wrap-accordion .vc_tta-panel-title>a {padding: 1em 1em 1em 0em;background-color: transparent;}
.vc_tta.vc_general.wrap-accordion .vc_tta-panel-title>a:hover, 
.wrap-accordion.vc_tta-color-white.vc_tta-style-flat .vc_tta-panel .vc_tta-panel-heading,
.wrap-accordion.vc_tta-color-white.vc_tta-style-flat .vc_tta-panel .vc_tta-panel-heading:hover {background-color: transparent;}
.vc_tta.vc_general.wrap-accordion .vc_tta-controls-icon {width:18px; height: 18px; right:0;}
.wrap-accordion.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right .vc_tta-controls-icon {right:0;}
.vc_tta.vc_general.wrap-accordion .vc_tta-controls-icon::before {border-width: 0 3px 3px 0; border-color: var(--steel-grey);}
.vc_tta.vc_general.wrap-accordion .vc_tta-panel-body {padding: 1em 1em 1em 0em;}



.wrap-feature-blocks > .vc_column_container > .vc_column-inner > .wpb_wrapper { height: 100%; }

.feature-block.ult-content-box-container {height: 100%;}
.feature-block.ult-content-box-container > a {display:block; height: 100%;}
.feature-block .ult-content-box {position: relative; display: grid; height: 100%;}


/*set image overlay*/
.feature-block  .ult-content-box::before {
    content: '';
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 1); 
    opacity: 0.25;
    z-index: 1;
}

.feature-block .ult-content-box::before, .feature-block .ult-content-box > div{grid-area: 1/1;width: 100%; margin-bottom: 0;}

.feature-block .ult-content-box > div.wpb_text_column {
    z-index: 2; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding:4em 4em;
 }

 .feature-block .ult-content-box > div{ z-index: 2; height: 100%; }

 .feature-block .ult-content-box > div.aio-icon-component {
    opacity:0;
    background-color: var(--steel-grey);
    padding:6em 4em;
    transition: opacity 0.3s ease 0s; 
 }

 /*on hover*/
 .feature-block a:hover .ult-content-box > div.aio-icon-component {
    opacity: 1;
}

.feature-block  .ult-content-box::after {display: none;}

/*BLOG PAGES*/
#wrapPostBlock { padding-top: 0;}
#wrapPostBlock .vc_column-inner { padding-left: 0; padding-right: 0;}

/*style post categories on articles page*/
#wrapSearch .widgettitle {display: none;}
#wrapSearch .wrap-category-menu ul {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; padding: 1em 0 1em 0; margin-left: 0;}
#wrapSearch .wrap-category-menu ul li {margin: 0.25em 0.25em; padding-right:0.5em; border-right: 1px solid var(--steel-grey); }
#wrapSearch .wrap-category-menu ul li a {padding: 0.25em .5em; }

/*style search bar on blog pages*/
#wrapSearch {background-color: var(--pewter-blue); } 
#wrapSearch .vc_wp_search {margin-left:auto; margin-right:auto;}
#wrapSearch .widget_search .search-form  .search-field {
    background:transparent;
    border: 2px solid var(--steel-grey);
    padding: 1em 1em;
    border-radius: 1.8em;
    height:auto
}
#wrapSearch .ast-icon.icon-search svg {
    height: 2em;
    width: 1.5em;
    margin-top: -0.5em;
}

/*style categories*/
#postBlock ul.vc_grid-filter.vc_grid-filter-default  {max-width:1200px; padding-left:15px; padding-right:15px; margin-right:auto!important; margin-right: auto!important;}

/*style post block on articles page*/
#postBlock .wrap-post::before {display: none;}
#postBlock .wrap-post > div  { flex-wrap: nowrap;}
#postBlock .wrap-post > div {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Aligns content to the top */
    height: 100%; /* Ensures the div takes the full height of its parent */
}
#postBlock .wrap-post > div > div { 
    position: relative;
    left: unset;
    right: unset;
    top: unset;
    transform: unset;
    margin-left: unset;
    width: 100%;
 }
 #postBlock .wrap-post > div div.vc_gitem-row-position-top > div {padding: 0;}
 #postBlock .wrap-post > div div.vc_gitem-row-position-top > div .wpb_content_element {margin-bottom: 0;}

 /*CUSTOM BLOG CATEGORY (Archive) PAGE*/
 body.archive.category .site-content .ast-container,
 body.blog .site-content .ast-container {flex-wrap: wrap; gap: 1.5em;}
 body.archive.category #hero, body.blog #hero {position:relative; overflow: hidden; width: 100%;height:60vh;}
 body.archive.category #hero > div.category-featured-image,
 body.archive.category #hero > div.ast-archive-description,
 body.archive.category #hero > div.category-featured-image img,
 body.blog #hero > div.category-featured-image,
 body.blog #hero > div.ast-archive-description,
 body.blog #hero > div.category-featured-image img{position:absolute; height: 100%; width: 100%; }

 body.archive.category #hero > div.category-featured-image img,
 body.blog #hero > div.category-featured-image img {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    object-fit: cover;
    z-index: -1;
 }
 body.archive.category #hero > div.ast-archive-description, body.blog #hero > div.ast-archive-description {
    z-index: 1;
    margin: 0 0;
    padding: 0 0;
    display: flex;
    align-items: center;
}

body.archive.category #primary .wpb-content-wrapper>.vc_row,
body.blog #primary .wpb-content-wrapper>.vc_row  {padding-top: 0em;}

 /*CUSTOM BLOG CATEGORY (SINGLE POST) PAGE*/
 .single-post .ast-container { max-width: 1400px; gap: 1.5em;}
 .ast-right-sidebar #primary { flex: 0 0 calc(75% - 0.75em);  padding-right: 0; }
 .ast-right-sidebar #secondary { flex: 0 0 calc(25% - 0.75em); position: relative; padding-left: 0;}
 .single-post .ast-container #secondary .hold-sticky { position: sticky; top:10em; }
 .chartist-previous,.chartist-next { display:none;}

 /*content*/
 .single-post .ast-container #primary article{padding-top:0;}
 .single-post .ast-container #primary article > .entry-content {padding: 0em 0;}
 .single-post .ast-container #primary article > .entry-content h1,
 .ast-separate-container .site-content .ast-single-post-featured-section + article {margin-top:0;}

 /*next/previous post*/
 .single-post .ast-container .post-navigation {display: flex; justify-content: space-between; padding: 1em 0;}
/*related posts*/
.site .ast-single-related-posts-container {padding: 0 0 0 0;}
.ast-related-posts-wrapper > article > div {box-shadow: 0px 6px 15px -2px rgba(16, 24, 40, 0.05); padding-bottom:1.5em;}
.ast-related-posts-wrapper > article > div header.related-entry-header,
.ast-related-posts-wrapper > article > div div.entry-content {padding-left: 1em; padding-right: 1em;}

 /*search*/
 .search-results .ast-container {gap: 1.5em;}
 .ast-separate-container.ast-two-container #secondary .widget-search, 
 .ast-right-sidebar #secondary  .widget_search {
    background:transparent;
    border: 2px solid var(--steel-grey);
    padding: 0.5em 1em!important;
    border-radius: 1.8em;
    height:auto
}
.ast-right-sidebar #secondary .search-field {
    background:transparent;
}
.ast-right-sidebar #secondary input[type="submit"] {box-shadow: none;}
.ast-right-sidebar #secondary .widget_search svg {
    height: 2em;
    width: 1.5em;
    margin-top: -0.5em;
}
/*menu*/
.ast-right-sidebar #secondary .widget_nav_menu { padding: 0 2em!important;}

/* WOOCOMMERCE STYLES */

.woocommerce-js ul.products li.product.product-category {margin-bottom: 150px;}
.woocommerce-js ul.products li.product.product-category h2{bottom: -80px;}

.ast-woocommerce-distributed .ast-single-tab { flex-direction: column;}
.woocommerce.single-product .related.products {text-align: center;}

#customer_details > div > div {margin-bottom:1em;}

/* Style WooCommerce checkout form input fields */
body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce input[type="number"],
body.woocommerce-checkout .woocommerce input[type="url"],
body.woocommerce-checkout .woocommerce input[type="search"],
body.woocommerce-checkout .woocommerce input[type="date"],
body.woocommerce-checkout .woocommerce .select2-container,
body.woocommerce-checkout .woocommerce textarea {
    background-color: transparent; /* Background color */
    border: 1px solid var(--steel-grey)!important; /* Border color */
    border-radius: 0.5em!important; /* Rounded corners */
    padding: 1em 0.75em 0.5em 0.75em!important; /* Padding */
    width: 100%; /* Full width */
    box-sizing: border-box; /* Ensure padding is included in width */
    height:auto;
    line-height: inherit;
    font-size: 90%;
}

/* Change the focus state of the input fields */
body.woocommerce-checkout .woocommerce  input:focus,
body.woocommerce-checkout .woocommerce  select:focus,
body.woocommerce-checkout .woocommerce  textarea:focus {
    border-color: var(--alt-orange); /* Border color on focus */
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); /* Box shadow on focus */
    outline: none; /* Remove default outline */
}

body.woocommerce-checkout .woocommerce .select2-container .select2-selection { padding: 0.25em 0em!important;}

#payment ul.payment_methods {background-color: var(--pewter-blue); /* Background color */}

body.woocommerce-checkout .woocommerce .wc-stripe-elements-field, 
body.woocommerce-checkout .woocommerce .wc-stripe-iban-element-field {
    border: 1px solid var(--steel-grey)!important; /* Border color */
    border-radius: 0.5em!important; /* Rounded corners */
    padding: 1em 0.75em 0.5em 0.75em!important; /* Padding */
    height:auto;
    line-height: inherit;
    font-size: 90%;
}


/*FOOTER*/
.site-footer {padding-top:3em;}
.site-above-footer-wrap ul {list-style: none; padding: 1em 0 1em 0; margin-left: 0;}
.site-above-footer-wrap ul li {margin-bottom:0.5em;}

#astra-footer-menu {gap: .5em;}

/*social media icons*/
ul.socials {list-style: none; padding: 1em 0 1em 0; margin-left: 0;display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0.25em; justify-content: flex-start; align-items: center; }
ul.socials li a {display:inline-block;}


/* Modal Styles */
.modalLogin {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0);
  }
  
  .modalLogin-content {
    float: right;
    background-color: #fff;
    margin: 8% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 400px;
  }
  
  .close-btn { color: var(--steel-grey);float: right;font-size: 2rem;font-weight: bold;
  }
  
  .close-btn:hover,
  .close-btn:focus { color: var(--h-steel-grey); text-decoration: none; cursor: pointer;  }
  
  .form-group { padding-top: .5em; margin-bottom: .25em;}

  #loginForm input:not([type="checkbox"]) {
    display: block;
    width: 100%;
    padding: 1em;
    border: 2px solid var(--steel-grey);
    border-radius: 1.8em;
    line-height: 1.2em;
    height: auto;
  }
  .form-check + {display: inline-block;}
 .login-submit{width:100%;}
 a.dropdown-item {color: var(--alt-orange);}
 a.dropdown-item:hover {color: var(--h-alt-orange);}


 @media (max-width:1644px){
        /*TYPOGRAPHY*/
        .main-navigation.ast-inline-flex {
            font-size: 85%;
        }
    .link-secondary .menu-link, .link-primary .menu-link{
        font-size:0.75rem;
    }
 }

/************************************************************************/
/*LAPTOP/IPAD PRO STYLES*/

@media (max-width:1545px) {



    /*HEADER*/
    #masthead .site-logo-img .astra-logo-svg {max-width: 250px;}
    

     /*MENU*/
     .main-navigation ul {gap: 0.5em;}
     .ast-builder-menu-1 .menu-item > .menu-link {padding:0.5em 0.5em;}
	 
	/* Modal Login */
	.modalLogin-content {
		margin: 10% auto;
		width: 80%;
	}
}


/************************************************************************/
/*LAPTOP/IPAD PRO STYLES*/

@media (max-width:1366px) {

    /*TYPOGRAPHY*/
    #ast-hf-menu-1 li{ font-size: 90%;}
    


    /*HEADER*/
    #masthead .site-logo-img .astra-logo-svg {max-width: 250px;}
    #masthead .ast-container { padding-left: 15px; padding-right: 15px; }

    /*MENU*/


    /*CONTENT STYLES*/

    /*row padding*/
    .wpb-content-wrapper>.vc_row {padding-top: 3em;}
    .wpb-content-wrapper #home-intro.vc_row {padding-top:3em;}

    /*site-wide padding for rows with fill*/
    .vc_empty_space.row-space {height:3em!important;}

    .pad-left {padding-left: 5%;}
    .pad-right {padding-right: 5%;}
    .pad-left-big {padding-left: 10%;}
    .pad-right-big {padding-right: 10%;}

}



/************************************************************************/
/* For new menu items */
@media only screen and (max-width: 1280px) {

    #ast-desktop-header{
        display: block !important;
    }
    #ast-mobile-header{
        display: none !important;
    }

    /*Hamburger menu */
    #masthead .ast-button-wrap .menu-toggle.main-header-menu-toggle .mobile-menu {font-size: 0.65rem;}
    #masthead .ast-button-wrap .menu-toggle.main-header-menu-toggle {flex-direction: column;}
    #masthead .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg { width: 40px; height: 40px; }
    #masthead .ast-mobile-header-wrap .menu-toggle .mobile-menu-wrap {margin-left:0;}




}

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

    #ast-desktop-header{
        display: none !important;
    }
    #ast-mobile-header{
        display: block !important;        
    }


    .ast-grid-right-section{
        gap:1.5em;
        margin-right: 2em;
    }
}

/************************************************************************/
/*LAPTOP/IPAD AIR STYLES*/

@media (max-width:1180px) {
   
    /*TYPOGRAPHY*/
    body {font-size: 90%;}

    body.home h1, body.home .entry-content h1 {font-size: 4.5rem; }
    h1, .entry-content h1 {font-size: 4rem; }
    h2, .entry-content h2 {font-size: 2.35rem; }
    h3, .entry-content h3, .aio-icon-box .aio-icon-header h3.aio-icon-title {font-size: 1.35rem; }


    /*BUTTONS*/
    .vc_btn3-container.button-primary button.vc_btn3-color-grey,
    .vc_btn3-container.button-primary a.vc_btn3-color-grey,
    .vc_btn3-container.button-secondary button.vc_btn3-color-grey, 
    .vc_btn3-container.button-secondary a.vc_btn3-color-grey,
    .vc_btn3-container.button-tertiary button.vc_btn3-color-grey, 
    .vc_btn3-container.button-tertiary a.vc_btn3-color-grey,
    .vc_btn3-container.button-quaternary button.vc_btn3-color-grey, 
    .vc_btn3-container.button-quaternary a.vc_btn3-color-grey {
        padding: 1em 1.5em;
    }

    /*DECORATIONS*/
    h1.corner > span, h2.corner > span,  h1.corner-alt > span, h2.corner-alt > span {padding:15px 50px 0 0;}
    h1.corner > span:before, h2.corner > span:before, h1.corner-alt > span:before, h2.corner-alt > span:before {
            width: 100%; height: 43px;
            background-size: 45px 43px;  
    }

    /*HEADER*/
    #masthead .site-logo-img .astra-logo-svg {max-width: 200px;}
    

   /*MENU*/
   .main-navigation ul {gap: 0.25em;}
   .ast-builder-menu-1 .menu-item > .menu-link {font-size: 90%;}

    /*CONTENT STYLES*/

    /*HOME specific styling*/
    .home-icons .vc_column_container>.vc_column-inner {padding-left:0.5em;padding-right:0.5em; padding-top: 0em; padding-bottom: 0em;}

}

/************************************************************************/
/*TABLET/IPAD MINI STYLES*/

@media (max-width: 1024px) {

    /*TYPOGRAPHY*/
    #ast-hf-mobile-menu .link-primary .menu-link,
    #ast-hf-mobile-menu .link-secondary .menu-link { text-transform: none ;}

    /*COLOURS*/
    .ast-builder-menu-mobile .main-navigation .menu-item:hover > .ast-menu-toggle,
    #ast-hf-mobile-menu .link-primary .menu-link,
    #ast-hf-mobile-menu .link-secondary .menu-link,
    #ast-hf-mobile-menu .link-primary .menu-link:hover,
    #ast-hf-mobile-menu .link-secondary .menu-link:hover,
    .ast-builder-menu-mobile .main-navigation .menu-item:hover > .menu-link, 
    .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item:hover > .ast-menu-toggle
    { color: var(--h-steel-grey) ;}

    .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link, 
    .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, 
    .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link, 
    .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .ast-menu-toggle {
        color: var(--h-steel-grey) ;
        background: var(--pewter-blue);
    }


    /*HEADER*/
    
    #masthead .ast-builder-grid-row>.site-header-section {gap: 0.5em;}
    
    /*MENU*/
    #ast-hf-mobile-menu .link-primary .menu-link,
    #ast-hf-mobile-menu .link-secondary .menu-link,
    #ast-hf-mobile-menu .link-primary .menu-link:hover 
    #ast-hf-mobile-menu .link-secondary .menu-link:hover
     { background-color: unset;}

    .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .ast-menu-toggle {
        border: none;
        box-shadow: none;
        outline: none;
    }

    /*FOOTER*/
    .site-footer .site-above-footer-wrap .ast-builder-grid-row {
        grid-template-columns: repeat(5, 1fr);
    }
    
    /* Modal Login */
	.modalLogin-content {
		margin: 12% auto;
	}
}


/************************************************************************/
/*TABLET/IPAD MINI STYLES - Portrait*/

@media (max-width: 768px) {

    /*CONTENT*/
    #home-grow .vc_column-inner .wpb_wrapper {
        max-width:500px;
    }

    
.link-secondary .menu-link, .link-primary .menu-link { font-size: 0.8rem;}

    .three-blocks.vc_row.vc_row-flex  { flex-wrap: wrap;}
    .three-blocks .vc_column-inner .wpb_wrapper {
        max-width: 500px;
    }

    /*SLIDERS*/
    /*advanced carousel slider with testimonial text block*/
    #slider-testimonial .ult-carousel-wrapper .slick-slide {margin: 0 1.5em;}
    /*advanced carousel slider with image and text under*/
    .slider-image-and-text figcaption.vc_figure-caption {padding: 1em 0em;} 


    /*FOOTER*/
    .site-footer .site-above-footer-wrap .ast-builder-grid-row {
        grid-template-columns: 1fr;
    }
    .site-footer .site-above-footer-wrap .ast-builder-grid-row .site-footer-section-5 .footer-widget-area {
        max-width: 400px;
        margin-left: auto; margin-right: auto;
    }
    /* Modal Login */
	.modalLogin-content {
		margin: 14% auto;
	}

}

@media (max-width:645px){
    .ast-builder-layout-element.site-header-focus-item.ast-header-html-4 {
        display: none;
    }
}

/************************************************************************/
/*MOBILE STYLES*/

@media (max-width: 544px) {

    /*TYPOGRAPHY*/
    body.home h1, body.home .entry-content h1, h1, .entry-content h1 {font-size: 3rem; }
    h2, .entry-content h2 {font-size: 2rem; }
    h3, .entry-content h3 {font-size: 1.4rem; }

    /*DECORATIONS*/

    #home-intro:before { width:90%;}

    /*HEADER*/
    

    /*MENU*/

    /*CONTENT STYLES*/

    /*row padding*/
    .wpb-content-wrapper>.vc_row {padding-top: 2.5em;}
    .wpb-content-wrapper #home-intro.vc_row {padding-top:2.5em;}

    /*site-wide padding for rows with fill*/
    .vc_empty_space.row-space {height:2.5em!important;}

    .pad-left {padding-left: 0%;}
    .pad-right {padding-right: 0%;}

    .row-text-text h2, .row-text-text h3, .row-text-text p {text-align: left!important;}
    
    /*HOME specific styling*/
    #home-intro.grey-bg .pad-left {width: 100%; text-align: center;}
    #home-intro.grey-bg .pad-right {width: 100%; text-align: center;}
    #home-intro.grey-bg .pad-right h3 { text-align: center!important;}

    /*INNER PAGE specific styling*/
    /*three coloured text  blocks, used on members page for example*/
    .three-blocks.vc_row.vc_row-flex  { flex-wrap: wrap;}
    /* Modal Login */
	/* Modal Login */
	.modalLogin-content {
		margin: 14% auto;
		width: 90%;
	}
}

