@view-transition { 
    navigation: auto; 
}

::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: 0.35s; /* The User Agent Stylesheet default is 0.25s */
}

/* @keyframes slide-out {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}
@keyframes slide-in {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

::view-transition-old(root) {
    animation: 0.4s ease-in both slide-out;
}
::view-transition-new(root) {
    animation: 0.4s ease-in both slide-in;
} */

#brx-header {
  view-transition-name: none;
}


@media (prefers-reduced-motion: reduce) {
    ::view-transition-old(root),
    ::view-transition-new(root) {
        animation: none;
    }
}



html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}


body[data-builder-mode="custom"]:not(.bricks-is-frontend) #vaa_toolbar {
    display: none;
}

#wpadminbar #wp-admin-bar-vaa .ab-item input.vaa-wide {
    color: #000;
}

.admin-bar .x-offcanvas_inner {
    margin-top: 0;
}

#pmsm-main-form {
    padding-bottom: 6rem;
}

.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before {
    padding-top: 20px;
}

#brx-content .wpgb-facet button.wpgb-apply, #brx-content .wpgb-facet button.wpgb-reset {
    margin-bottom: 0;
}

svg:not([height]) {
    min-height: 6px;
}

b, strong {
    font-weight: bold;
}

p {
    text-wrap: auto;
    text-wrap: pretty; /*won't work in Safari */
}

blockquote {
    font-family: inherit;
}

sup {
    top: -0.9em;
    font-size: 50%;
}

.x-offcanvas_inner {
    row-gap: 2rem;
}

#brx-content {
  overflow: clip;
}

.absolute {
    position: absolute !important;
}

#brx-content .wpgb-facet .wpgb-pagination {
    display: flex;
}

.wpgb-facet .wpgb-pagination li {
    height: 38px;
    line-height: 38px;
    min-width: 38px;
}

#perfmatters-script-manager-wrapper {
    top: 0 !important;
    position: relative !important;
}

.x-modal_container {
    box-shadow:
    0.3px 2.1px 2.2px rgba(0, 0, 0, 0.028),
    0.7px 5.1px 5.3px rgba(0, 0, 0, 0.04),
    1.3px 9.5px 10px rgba(0, 0, 0, 0.05),
    2.2px 17px 17.9px rgba(0, 0, 0, 0.06),
    4.2px 31.8px 33.4px rgba(0, 0, 0, 0.072),
    10px 76px 80px rgba(0, 0, 0, 0.1);
}

.brxe-text a {
    display: inline-block;
}

.brxe-section.center h1, .brxe-section.center h2, .brxe-section.center h3, .brxe-container.center h1, .brxe-container.center h2, .brxe-container.center h3, .brxe-block.center h1, .brxe-block.center h2, .brxe-block.center h3 {
    text-align:  center;
}

.center {
    align-items: center;
}



/*** HEADER *************************************************/
#brx-header {
    max-width: 100vw;
    z-index: 999;
}

#brx-header > .brxe-section {
    padding: var(--space-xs) var(--space-m);
}

#brx-header > .brxe-section > .brxe-container {
    max-width: 100%;
}

#brx-header > .brxe-section.has-megamenu > .brxe-container {
    position: static;
}

#brx-header.sticky.scrolling > .brxe-container {
    transition: all 300ms ease-out 200ms;
}

#menu-main-menu .menu-item a {
    transition: all 200ms ease-out;
}

/* NAVBAR *******************************************************/
#navbar {
	background: transparent;
    transition: transform 200ms linear, background 800ms ease-in-out ;
}

.navbar-shadow {
    box-shadow: 0 0.3px 1.4px -4px rgb(0 0 0 / 5%), 0 0.8px 3.4px -4px rgb(0 0 0 / 7%), 0 1.5px 6.4px -4px rgb(0 0 0 / 8%), 0 2.7px 11.4px -4px rgb(0 0 0 / 10%), 0 5px 21.3px -4px rgb(0 0 0 / 12%), 0 12px 51px -4px rgb(0 0 0 / 16%);
}

#navbar .navbar-logo-bkgrd {
  opacity: 0;
  transition: opacity 800ms ease-in-out;
}

#navbar .navbar-logo-nobkgrd {
  opacity: 1;
  transition: opacity 800ms ease-in-out;
}

#navbar.bkgrd .navbar-logo-bkgrd {
  opacity: 1;
}

#navbar.bkgrd .navbar-logo-nobkgrd {
  opacity: 0;
}


/***FOOTER ***************************************************************/
#brx-footer > .brxe-section:first-child, body[data-builder-mode="custom"] #brx-footer > .brxe-section {
    padding: var(--section-space-m) var(--space-m);
}

#brx-footer > .brxe-section:nth-child(2), body[data-builder-mode="custom"] #brx-footer > .brxe-section[data-index="1"] {
    padding: var(--space-xs) var(--space-m);
}

#brx-footer .brxe-text-basic a:after, #brx-footer .brxe-text a:after, #brx-footer a.brxe-text-basic:after {
    background-color: rgba(255,255,255,0.3);
    content: "";
    position: absolute;
    bottom: 2px;
    width: 100%;
    height: 1px;
    left: 0;
}

#brx-footer a.brxe-text-basic:not(.noanimborder):before {
    content: "";
    position: absolute;
    bottom: 1px;
    width: 0;
    height: 2px;
    transition: all 0.2s ease-in-out;
    opacity: 0;
    background: #fff;
    left: 0;
    z-index: 1;
}

@media only screen and (max-width: 768px) {
    #brx-footer > .brxe-section:first-child, body[data-builder-mode="custom"] #brx-footer > .brxe-section {
        padding: var(--space-l) var(--space-s);
    }
}

/**************************************************************************/
/* Automatic.CSS fixes ****************************************************/
/**************************************************************************/
[class*=rounded--] {
    overflow: hidden;
}

[class*=grid--], .brxe-container[class*=grid--] {
    align-items: stretch;
}

main .brxe-section {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;    
}

main .brxe-section.pad--none {
    padding: 0;
}

.brxe-container.gap--s, .brxe-block.gap--s {
    row-gap: var(--space-s);
}

.brxe-container.gap--m, .brxe-block.gap--m {
    row-gap: var(--space-m);
}

.brxe-container.gap--l, .brxe-block.gap--l {
    row-gap: var(--space-l);
}

.brxe-container.gap--xl, .brxe-block.gap--xl {
    row-gap: var(--space-xl);
}

.brxe-container.gap--xxl, .brxe-block.gap--xxl {
    row-gap: var(--space-xxl);
}

main .brxe-section.pad-section--none, main .brxe-container.pad--none, header .brxe-section.pad-section--none, header .brxe-container.pad--none, footer .brxe-section.pad-section--none, footer .brxe-section.pad--none {
    padding: 0;
}

.brxe-container.width--full {
    max-width: 100%;
} 

main .brxe-section.pad-section--l {
    padding: var(--section-space-l) var(--space-l);
}

main .brxe-section.pad-section--xl {
    padding: var(--section-space-xl) var(--space-xl);
}

main .brxe-section.pad-section--s {
    padding: var(--section-space-s) var(--space-s);
}

.brx-wrap {
    font-size: var(--text-m) !important;
    line-height: 1.6 !important;
}

main .bricks-notices-wrapper.brx-container {
    padding-top: 0;
    padding-bottom: 0;
}


/**************************************************************************/
/* Bricks default overrides ***********************************************/
/**************************************************************************/

:where(figure) {
    margin: 0;
}

.bricks-button.outline {
    background-color: transparent;
}

p:not(.nomargin) {
    margin-bottom: 1rem;
}

:where(p:last-of-type) {
    margin-bottom: 0 !important;
}

/* <p> tag added to simple text element in Bricks 1.7.1 */
.brxe-text-basic p, p.brxe-text-basic {
    margin-bottom: 0;
}

/* Removed in Bricks 1.5.1 */
[class*=brxe-] { position: relative; }


/* Megamenu fixes */

#brx-header .brx-has-megamenu .brx-dropdown-content:before {
    left: var(--caret-left) !important;
}

.brx-has-megamenu .brxe-dropdown, .brx-has-megamenu .brx-nav-nested-items, .brx-has-megamenu .brxe-nav-nested {
    position: static;
}

.brx-submenu-toggle a {
    padding-right: 0 !important;
}

.brx-submenu-toggle button {
    padding-left: 0 !important;
}

.brxe-nav-nested:not(.brx-open) .brx-nav-nested-items>.brxe-dropdown:not([data-toggle=click]):hover:before {
    left: 0;
}

.brxe-dropdown.brx-has-megamenu .brx-dropdown-content {
    left: 0 !important
}

/* Mobile menu fixes */
@media only screen and (max-width: 991px) {
    #brx-header .brx-nav-nested-items {
        position: fixed;
        justify-content: center;
    }
}


/* ******************************* */

#brx-header .brx-dropdown-content {
    position: absolute;
}

body.bricks-is-frontend:focus {
    outline: none;
}

body:not(.wp-admin) {
    font-size: var(--text-m);
    line-height: 1.6;
}


#brx-content .wp-block-pullquote {
    padding: 2rem 1rem;
}

#brx-content .wp-block-pullquote p {
    font-size: inherit;
}


.brxe-divider.horizontal {
    width: 100%;
}

.bricks-button {
    transition: all 200ms ease-out;
}

.bricks-button:hover {
    transform: scale(1.05);
}

.bricks-button:not(.outline):hover {
    box-shadow: 0 3px 12px 0 rgba(0,0,0,0.3);
}

.bricks-element-svg , .bricks-element-svg div{
    display: flex;
}

.x-modal_close:focus {
    outline: none !important;
}

.brxe-button {
    cursor: pointer;
}

body.bricks-is-frontend.admin-bar #brx-header.sticky {
    top:0 !important;
}

body.bricks-is-frontend.admin-bar {
    padding-top: 0 !important;
}

fieldset {
    margin-bottom: 0 !important;
}

.x-tabs_content {
    row-gap: 0;
}

.x-tabs_tab:focus, input:focus {
    outline: none !important;
}

.brxe-form .form-group input:not([type=submit]) {
    border-width: 2px;
}

.brxe-form .form-group input:not([type=submit]):focus {
    border-color: var(--primary);
}

.x-tabs_content {
    height: auto !important;
}

.brxe-form .message a {
    text-decoration: underline;
}

.brx-loading-animation {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: var(--bg-color);
    opacity: 0.3;
    margin: 0;
    padding: 0;    
}

body.bricks-is-frontend.admin-bar #brx-header.brx-sticky, body.bricks-is-frontend.admin-bar.brx-header-left #brx-header, body.bricks-is-frontend.admin-bar.brx-header-right #brx-header {
    top: 0 !important;
}


/* Post navigation */

.bricks-swiper-button-prev {
  position: absolute;
  left: -38px;
}

.bricks-swiper-button-next {
  position: absolute;
  right: -38px;
}

.brxe-post-navigation {
    flex-direction: row !important;
    flex-wrap: nowrap;
}

.brxe-post-navigation .title {
      white-space: normal !important;
}


/* WooCommerce **************************************************/
.woocommerce-variation-add-to-cart, .bricks-element-product-add-to-cart .cart {
    display: flex;
    align-items: center;    
}

.woocommerce-EditAccountForm .woocommerce-form-row label span {
    font-size: 13px;
    display: block;
    color: #999;
}

form.cart .quantity {
    margin-bottom: 0;
}

.woocommerce form.cart {
    display: flex;
    column-gap: 2rem;
    margin-top: 2rem;
}

.woocommerce form.cart .single_add_to_cart_button, .woocommerce .product .woocommerce-variation-add-to-cart .single_add_to_cart_button, .woocommerce .product .brxe-product-add-to-cart .single_add_to_cart_button {
    padding: 10px 24px;
    border-radius: 4px;
    background-color: var(--primary);
    color: #fff;
    transition: all 200ms ease-out;
    justify-content: flex-start;
    width: auto;
    min-width: auto;
}

.woocommerce form.cart .single_add_to_cart_button:not(.disabled):hover, .woocommerce .product .woocommerce-variation-add-to-cart .single_add_to_cart_button:not(.disabled):hover, .woocommerce .product .bricks-element-product-add-to-cart .single_add_to_cart_button:not(.disabled):hover {
    background-color: var(--secondary);
    transform: scale(1.02);
}

.woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-disabled {
    opacity: 0.15;
}

.upsells .product {
    display: block;
}

.bricks-element-product-gallery {
    max-width: 100%;
}

.zoomImg {
    width: 1200px !important;
    height: 1200px !important;
}

/*******************************************************************/
/* UTILITY CLASSES CSS *********************************************/
/*******************************************************************/

.nomargin, .nomargin p {
  margin-bottom: 0 !important;
}

.text-shadow {
  text-shadow: 0 0 5px rgba(0,0,0,0.8) ;
}

.box-shadow {
box-shadow:
  0.3px 2.1px 2.2px rgba(0, 0, 0, 0.028),
  0.7px 5.1px 5.3px rgba(0, 0, 0, 0.04),
  1.3px 9.5px 10px rgba(0, 0, 0, 0.05),
  2.2px 17px 17.9px rgba(0, 0, 0, 0.06),
  4.2px 31.8px 33.4px rgba(0, 0, 0, 0.072),
  10px 76px 80px rgba(0, 0, 0, 0.1);
}

:root {
    --box-shadow:   0.3px 2.1px 2.2px rgba(0, 0, 0, 0.028),
  0.7px 5.1px 5.3px rgba(0, 0, 0, 0.04),
  1.3px 9.5px 10px rgba(0, 0, 0, 0.05),
  2.2px 17px 17.9px rgba(0, 0, 0, 0.06),
  4.2px 31.8px 33.4px rgba(0, 0, 0, 0.072),
  10px 76px 80px rgba(0, 0, 0, 0.1);
}

#brx-content .bkgrd-image, #brx-content a.bkgrd-image img, #brx-content .bkgrd-image img, #brx-footer .bkgrd-image img, #brx-header .bkgrd-image img, #brx-footer .bkgrd-image, #brx-header .bkgrd-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 0;
}

.brxe-text-basic a, .brxe-text a, a.border {
    position: relative;
    z-index: 0;
}

.brxe-text-basic:not(.noanimborder) a:before, .brxe-text:not(.noanimborder) a:before, a.border:before, a.brxe-text-basic:not(.noanimborder):before, .brxe-text-link:not(.noanimborder):before  {
    content: "";
    position: absolute;
    bottom: 2px;
    width: 0;
    height: 3px;
    transition: all 0.2s ease-in-out;
    opacity: 0;
    background: var(--primary);
    left: 0;
    z-index: 1;
}

.brxe-text-basic.reverse, .brxe-text.reverse {
     color: #fff;
}

.brxe-text-basic:not(.noanimborder) a:hover:before, .brxe-text:not(.noanimborder) a:hover:before, a.border:hover:before, a.brxe-text-basic:not(.noanimborder):hover:before, #brx-footer a.brxe-text-basic:not(.noanimborder):hover:before, .brxe-text-link:not(.noanimborder):hover:before {
    width: 100%;
    opacity: 1;
}

.no-link-color a {
  color: inherit !important;
}

.more-button.bricks-button {
    line-height:1.2;
    transition: all 200ms ease-out;
}

.more-button.bricks-button.sm {
    padding: 1.2rem 2.6rem;
}

.more-button.bricks-button.md {
    padding: 1.6rem 3.2rem;
}

.more-button.bricks-button.lg {
    padding: 2rem 4.2rem;
}

.more-button.bricks-button svg {
  transition: margin 200ms ease-out; 
}

.more-button.bricks-button.sm:hover {
    padding-right: 1.6rem;
}

.more-button.bricks-button:hover svg {
    margin-left: 1rem;
}


.more-button.bricks-button.md:hover {
    padding-right: 2.2rem;
}

.more-button.bricks-button.lg:hover {
    padding-right: 3.2rem;
}

.testimonial .quote-open, .testimonial .quote-close {
    fill: var(--primary);
    opacity: 0.3;
    width: 42px;
    height: auto;
    position: absolute;
} 

.testimonial .quote-open {
    top: -1rem;
    left: -2rem;    
}

.testimonial .quote-close {
    bottom: -1rem;
    right: -2rem;
}

.inside-grow {
    overflow: hidden;
}

.inside-grow img {
    transition: transform 400ms ease-out;
}

.inside-grow:hover img {
    transform: scale(1.1); 
}

.balance, .balance p {
    text-wrap: balance;
}

.icon-list {
  --icon-url: url("/wp-content/uploads/circle-check.svg");
  --icon-color: var(--accent);
  --icon-size: 1em;
}

.icon-list ul {
	margin: 0;
  padding:0;
  list-style: none;
}

.icon-list li:not(:last-child) {
	margin-bottom: 1rem;
}

.icon-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.5em;
}

.icon-list li:before {
    content: "";
    display: flex;
    width: var(--icon-size);
    height: var(--icon-size);
     background-color: var(--icon-color);
     -webkit-mask-image: var(--icon-url);
     mask-image: var(--icon-url);
    mask-size: cover;
    translate: 0 .5ex;
}

.golden-ratio {
    flex-direction: row;
}

.golden-ratio > .brxe-block:nth-child(1) {
    width: 38.2%;
}

.golden-ratio > .brxe-block:nth-child(2) {
    width: 61.8%;
}

.golden-ratio.bigleft > .brxe-block:nth-child(1) {
    width: 61.8%;
}

.golden-ratio.bigleft > .brxe-block:nth-child(2) {
    width: 38.2%;
}

@media only screen and (max-width: 768px) {
    .golden-ratio {
        flex-direction: column;
    }

    .golden-ratio > .brxe-block {
        width: 100% !important;
    }
}

.list-nomargin ul, .list-nomargin ol {
    margin: 0;
    padding-left: 1em;
}

.list-nomargin li {
    margin-bottom: 3px;
}

.glassmorphism {
    background-color: rgba(255,255,255,0.4);
    backdrop-filter: blur(4px);
}


/*** LAYOUT *************************************************************/
.sticky-footer {
    position: sticky;
    bottom: 0;
    left: 0;
    z-index: -1;
    margin-bottom:0;
}

.full-height {
  min-height: 100vh;
  min-height: 100svh;
  justify-content: center;
}



/* FORMS ********************************/

.center-submit {
    display: flex;
    justify-content: center;    
}

.center-submit button {
    width: auto !important;
}

.wsf-form .wsf-button {
    padding: 1.2rem 2.6rem !important;
}

fieldset.wsf-section {
    border: none;
}

.wsf-form .wsf-field-wrapper.bottom-20 {
    margin-bottom: 20px;
}


#brx-content input[type=checkbox].wsf-field + label.wsf-label {
    cursor: pointer;
}

#brx-content .wsf-field-wrapper[data-type='texteditor'], .wsf-field-wrapper[data-type='message'] {
    margin-bottom: 1rem;
}

.wsf-field-wrapper.center > div:not(.wsf-invalid-feedback), .wsf-field-wrapper.center > div > div {
    display: flex;
    justify-content: center;
    position: relaive;
}

.wsf-bottom {
    margin-bottom: 0 !important;
}

.wsf-field-wrapper[data-type="radio"] div[role="radiogroup"] label {
  cursor: pointer;
}

.wsf-field-wrapper[data-type="radio"] > label {
    font-weight: bold;
}

.wsf-validated input[type=date].wsf-field:invalid, .wsf-validated input[type=datetime-local].wsf-field:invalid, .wsf-validated input[type=file].wsf-field:invalid, .wsf-validated input[type=month].wsf-field:invalid, .wsf-validated input[type=password].wsf-field:invalid, .wsf-validated input[type=search].wsf-field:invalid, .wsf-validated input[type=time].wsf-field:invalid, .wsf-validated input[type=week].wsf-field:invalid, .wsf-validated input[type=email].wsf-field:invalid, .wsf-validated input[type=number].wsf-field:invalid, .wsf-validated input[type=tel].wsf-field:invalid, .wsf-validated input[type=text].wsf-field:invalid, .wsf-validated input[type=url].wsf-field:invalid, .wsf-validated select.wsf-field:invalid, .wsf-validated textarea.wsf-field:invalid {
    border-color: #bb0000 !important;
}

input[type=date].wsf-field, input[type=datetime-local].wsf-field, input[type=file].wsf-field, input[type=month].wsf-field, input[type=password].wsf-field, input[type=search].wsf-field, input[type=time].wsf-field, input[type=week].wsf-field, input[type=email].wsf-field, input[type=number].wsf-field, input[type=tel].wsf-field, input[type=text].wsf-field, input[type=url].wsf-field, select.wsf-field:not([multiple]):not([size]) {
    height: 48px !important;
}

input[type=date].wsf-field, input[type=datetime-local].wsf-field, input[type=file].wsf-field, input[type=month].wsf-field, input[type=password].wsf-field, input[type=search].wsf-field, input[type=time].wsf-field, input[type=week].wsf-field, input[type=email].wsf-field, input[type=number].wsf-field, input[type=tel].wsf-field, input[type=text].wsf-field, input[type=url].wsf-field, select.wsf-field, textarea.wsf-field {
    font-size: var(--text-m) !important;
}

/* CHECKOUTWC FIXES **************************************/

body.futurist #cfw-breadcrumb li>a {
    max-width: 110px;
}


/* MEDIA QUERIES ***************************************/

@media only screen and (max-width: 768px) {
    .grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .grid--3 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 479px) {
    [class*=rounded--] {
        display: flex !important;
        flex-direction: column;
    }

    #brx-header > .brxe-section {
        padding: var(--space-xs) var(--space-xs) var(--space-xs) var(--space-xs);
    }

    .brxe-post-navigation {
        flex-wrap: wrap;
    }

    /* CheckoutWC fixes */
    #cfw-billing-fields-container .cfw-input-wrap-row:first-of-type, #cfw-billing-fields-container .cfw-input-wrap-row:nth-of-type(5) {
        margin-bottom: 10px;
    }

    #cfw .woocommerce-form__label-for-checkbox {
        display: flex;
        margin-top: 2rem;
    }

    #cfw .woocommerce-checkout .woocommerce-privacy-policy-text, #cfw .woocommerce-checkout .woocommerce-terms-and-conditions {
        line-height: 1.3;
    }    


    /* ***MOBILE MENU***  */

    #main-nav .brx-nav-nested-items {
        transform: translateX(100%);
    }

    #main-nav.brx-open .brx-nav-nested-items {
        transform: translateX(0);
    }

} 



/*** Changes to allow overriding at the class level in Bricks editor. These are no longer part of the Global CSS stylesheet!

Set these in The Styles > Element - Section:
    padding: var(--section-space-m) var(--space-m);
    align-items: center;

Set these in The Styles > Element - Container:

    align-items: center;
    margin-left: unset;
    margin-right: unset;
    max-width: var(--max-width);


For breakpoint < 992:
    Set these in The Styles > Element - Section:
        padding: var(--space-xl) var(--space-m);

For breakpoint < 479:
    Set these in The Styles > Element - Section:
        padding: var(--space-l) var(--space-s);

*/