/*
Theme Name:     Neve Child
Theme URI:      https://themeisle.com/themes/neve/
Template: neve
Author:         ThemeIsle
Author URI:     https://themeisle.com
Description:    Neve is a super fast, easily customizable, multi-purpose theme. It’s perfect for blogs, small business, startups, agencies, firms, e-commerce shops (WooCommerce storefront) as well as personal portfolio sites and most types of projects. A fully AMP optimized and responsive theme, Neve will load in mere seconds and adapt perfectly on any viewing device. While it is lightweight and has a minimalist design, the theme is highly extendable, it has a highly SEO optimized code, resulting in top rankings in Google search results. Neve works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer, SiteOrigin, Divi). Neve is also WooCommerce ready, responsive, RTL & translation ready. Look no further. Neve is the perfect theme for you!
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:    neve
Tags: blog, custom-logo, e-commerce, rtl-language-support, post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, accessibility-ready, wide-blocks, block-styles
*/


html {
    scroll-behavior: smooth;
}


/* Fix Neve overriding Gutenberg block link colors on hover */
[class*="wp-elements-"] a:where(:not(.wp-element-button)):hover {
    color: inherit !important;
}


/* ScrollSmoother FIX */
.wrapper {
    transition: unset !important;
}


/* Prevent from auto-inflating font sizes */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}


/* WebKit Autofill FIX */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 999999s ease-in-out 0s;
}


/* Remove WebKit Highlight */
a,
label,
button,
[role="button"],
[type="submit"] {
    -webkit-tap-highlight-color: transparent;
}


/* Hide Neve skip link */
.show-on-focus:focus {
    visibility: hidden;
}


/* Hide video player controls on iOS devices */
@supports (-webkit-touch-callout: none) {
    video::-webkit-media-controls {
        display: none !important;
    }
}


/* Scrollbars */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    border-radius: 12px;
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    border-radius: 12px;
    background: #c1c1c1;
    border: 2px solid #f1f1f1;
}



/* WP & Neve */
.excerpt-wrap ol, 
.excerpt-wrap ul, 
.nv-content-wrap ol, 
.nv-content-wrap ul {
    margin: 0 0 15px;
}
.excerpt-wrap li, 
.nv-content-wrap li {
    margin-top: 7px;
}
p, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 12px;
}
th {
    font-weight: 500;
}
td {
    line-height: 1.37em;
}
.alignfull {
    padding-left: max(25px, env(safe-area-inset-left));
    padding-right: max(25px, env(safe-area-inset-right));
}
.container {
    padding-left: 25px;
    padding-right: 25px;
}
.nv-page-title h1 {
    font-size: var(--wp--preset--font-size--x-large);
    line-height: var(--h2lineheight);
}
.alignwide {
    width: 100%;
    max-width: calc(var(--container) + 12em);
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 630px) {
    .alignfull-left-align {
        padding-left: calc((100vw - var(--container)) / 2);
    }
    .alignfull-right-align {
        padding-right: calc((100vw - var(--container)) / 2);
    }
}


/* Text Wrap */
.text-wrap-balance {
    text-wrap: balance;
}


/* Input States */ 
[tabindex="-1"]:focus,
:focus-visible {
    outline: 1px solid var(--custom-5);
    outline-offset: 3px;
    box-shadow: none;
}
input:read-write:focus, 
select:focus, 
textarea:focus {
    outline: 0;
    box-shadow: none;
}


/* Checkboxes */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border: 2px solid;
    border-color: var(--formfieldbordercolor);
    border-radius: 32px;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}
input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 0.45rem;
    top: 0.17rem;
    width: 6px;
    height: 11px;
    border-style: solid;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    border-color: inherit;
}



/* Custom Font Presets */
:root {
    --text-preset--2xl: 18px;
    --text-preset--4xl: 24px;
    --text-preset--6xl: 32px;
    --text-preset--8xl: 40px;
    --text-preset--10xl: 48px;
    --text-preset--13xl: 64px;
}

@media (min-width: 576px) {
    :root {
        --text-preset--4xl: 32px;
        --text-preset--6xl: 48px;
        --text-preset--8xl: 64px;
        --text-preset--10xl: 80px;
        --text-preset--13xl: 110px;
    }
}

@media (min-width: 960px) { 
    :root {
        /* Desktop values */
        --text-preset--xl: 18px;
        --text-preset--2xl: 22px;
        --text-preset--4xl: 40px;
        --text-preset--6xl: 64px;
        --text-preset--8xl: 88px;
        --text-preset--10xl: 112px;
        --text-preset--13xl: 160px;
    }
}

.has-text-preset-xl {
    font-size: var(--text-preset--xl);
    line-height: 1.3em;
}
.has-text-preset-2xl {
    font-size: var(--text-preset--2xl);
    line-height: 1.3em;
}
.has-text-preset-4xl {
    font-size: var(--text-preset--4xl);
    line-height: 1.2em;
}
.has-text-preset-6xl {
    font-size: var(--text-preset--6xl);
    line-height: 1.1em;
}
.has-text-preset-8xl {
    font-size: var(--text-preset--8xl);
    line-height: 1em;
}
.has-text-preset-10xl {
    font-size: var(--text-preset--10xl);
    line-height: 1em;
}
.has-text-preset-13xl {
    font-size: var(--text-preset--13xl);
    line-height: 1em;
}



/* WP Font Presets */
:root {
    --wp--preset--font-size--small: 14px;
}
.has-medium-font-size {
    line-height: 1.4em;
}
.has-large-font-size {
    line-height: 1.3em;
}
@media (max-width: 960px) {
    :root {
        --wp--preset--font-size--large: 30px;
    }
}
@media (max-width: 575px) {
    :root {
        --wp--preset--font-size--medium: 18px;
        --wp--preset--font-size--large: 24px;
    }
}

@media (min-width: 960px) and (max-width: 1440px) {
    :root {
        --h1fontsize: 68px;
    }
}


/* Font Weights */
.font-normal {
    font-weight: 400;
}


/* Text Align */
.text-center {
    text-align: center;
}


/* Buttons */
.flex-button > .wp-element-button {
    display: flex;
    align-items: center;
    gap: 10px;
}

button.wp-block-button__link:hover {
    opacity: .9;
}

.wp-block-button.is-style-default .wp-block-button__link {
    background-color: var(--nv-dark-bg);
    color: var(--nv-text-dark-bg);
}

.is-style-secondary .wp-block-button__link {
    box-shadow: 0 0 0 0.075em var(--secondarybtncolor);
    border: none !important;
}
.is-style-secondary .wp-block-button__link:hover {
    box-shadow: 0 0 0 0.075em var(--secondarybtnhovercolor);
}

.is-style-secondary.button-preset-sm {
    --secondarybtnpadding: 7px 20px;
    --btnfs: 15px;
}
.is-style-primary.button-preset-sm {
    --primarybtnpadding: 7px 20px;
    --btnfs: 15px;
}

.is-style-secondary.button-preset-lg {
    --secondarybtnpadding: 9px 25px;
    --btnfs: 17px;
}
.is-style-primary.button-preset-lg {
    --primarybtnpadding: 9px 25px;
    --btnfs: 17px;
}

.is-style-primary.button-preset-alert {
    --primarybtnbg: var(--nv-c-2);
    --primarybtnhoverbg: var(--nv-c-2);
}


/* Filled buttons :active */
.header .button.button-primary,
.wp-block-button.is-style-primary .wp-block-button__link,
.wp-block-button.is-style-default .wp-block-button__link {
    clip-path: inset(0 0 0 0 round var(--primarybtnborderradius)); 
    transition: clip-path 0.3s ease-in-out;
}
.header .button.button-primary:active,
.wp-block-button.is-style-primary .wp-block-button__link:active,
.wp-block-button.is-style-default .wp-block-button__link:active {
    clip-path: inset(0.2rem 0.4rem round var(--primarybtnborderradius)); 
}

/* Secondary button :hover */
.wp-block-button.is-style-secondary .wp-block-button__link {
    transition: all 0.3s ease-in-out;
}



/* Gaps */
.gap-0 {
    gap: 0;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-3 {
    gap: 0.75em
}
.gap-4 {
    gap: 1rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-8 {
    gap: 2rem;
}
.gap-16 {
    gap: 4rem;
}


/* Flex */
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.flex-wrap {
    flex-wrap: wrap;
}
.grow-1 {
    flex-grow: 1;
}
.shrink-0 {
	flex-shrink: 0;
}
.items-center {
    align-items: center;
}
.items-start {
    align-items: flex-start;
}
.items-end {
    align-items: flex-end;
}
.items-stretch {
    align-items: stretch;
}
.self-end {
    align-self: flex-end;
}
.justify-between {
    justify-content: space-between;
}
.justify-end {
    justify-content: flex-end;
}
.basis-1-1 {
    flex-basis: 100%;
}
.gap-8 > .basis-1-2 {
    flex-basis: calc(50% - 1rem);
}
.gap-8 > .basis-1-3 {
    flex-basis: calc(33.33% - 1.34rem); /* rounded to 1.34 */
}

.gap-6 > .basis-1-2 {
    /* (1 * 1.5rem) / 2 = 0.75rem */
    flex-basis: calc(50% - 0.75rem);
}

.gap-6 > .basis-1-3 {
    /* (2 * 1.5rem) / 3 = 1rem */
    flex-basis: calc(33.33% - 1rem);
}


/* Margin */
.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}
.mt-0, .my-0 {
    margin-top: 0;
}
.mb-0, .my-0 {
    margin-bottom: 0;
}
.mt-2, .my-2 {
    margin-top: 0.5rem;
}
.mb-2, .my-2 {
    margin-bottom: 0.5rem;
}
.mt-4, .my-4 {
    margin-top: 1rem;
}
.mb-4, .my-4 {
    margin-bottom: 1rem;
}
.mt-6, .my-6 {
    margin-top: 1.5rem;
}
.mb-6, .my-6 {
    margin-bottom: 1.5rem;
}
.mt-8, .my-8 {
    margin-top: 2rem;
}
.mb-8, .my-8 {
    margin-bottom: 2rem;
}
.mt-12, .my-12 {
    margin-top: 3rem;
}
.mb-12, .my-12 {
    margin-bottom: 3rem;
}
.mt-16, .my-16 {
    margin-top: 4rem;
}
.mb-16, .my-16 {
    margin-bottom: 4rem;
}
.mt-20, .my-20 {
    margin-top: 5rem;
}
.mb-20, .my-20 {
    margin-bottom: 5rem;
}
.mt-24, .my-24 {
    margin-top: 6rem;
}
.mb-24, .my-24 {
    margin-bottom: 6rem;
}
.mt-32, .my-32 {
    margin-top: 8rem;
}
.mb-32, .my-32 {
    margin-bottom: 8rem;
}


:root .-ml-20 {
    margin-left: -5rem;
}
:root .-mr-20 {
    margin-right: -5rem;
}



/* Padding */
.px-0, .pl-0 {
    padding-left: 0;
}
.px-0, .pr-0 {
    padding-right: 0;
}
.pt-4, .py-4 {
    padding-top: 1rem;
}
.pb-4, .py-4 {
    padding-bottom: 1rem;
}
.p-8 {
    padding: 2rem;
}
.pt-12, .py-12 {
    padding-top: 3rem;
}
.pb-12, .py-12 {
    padding-bottom: 3rem;
}
.pt-16, .py-16 {
    padding-top: 4rem;
}
.pb-16, .py-16 {
    padding-bottom: 4rem;
}
.pt-20, .py-20 {
    padding-top: 5rem;
}
.pb-20, .py-20 {
    padding-bottom: 5rem;
}
.pt-24, .py-24 {
    padding-top: 6rem;
}
.pb-24, .py-24 {
    padding-bottom: 6rem;
}
.pt-28, .py-28 {
    padding-top: 7rem;
}
.pb-28, .py-28 {
    padding-bottom: 7rem;
}
.pt-32, .py-32 {
    padding-top: 8rem;
}
.pb-32, .py-32 {
    padding-bottom: 8rem;
}


/* Max Width */
.max-w-340px {
	max-width: 340px;
}
.max-w-365px {
	max-width: 365px;
}
.max-w-448px {
	max-width: 448px;
}
.max-w-490px {
	max-width: 490px;
}
.max-w-576px {
	max-width: 575px;
}
.max-w-672px {
	max-width: 672px;
}
.max-w-768px {
	max-width: 768px;
}
.max-w-800px {
	max-width: 800px;
}
.max-w-860px {
    max-width: 860px;
}
.max-w-960px {
    max-width: 960px;
}



/* Letter Spacing */
.tracking-widest {
    letter-spacing: 0.1em;
}



/* Height */
.h-full {
    height: 100%;
}
.min-dvh-screen {
    min-height: 100dvh;
}


/* Aspect Ratio */
.aspect-square {
    aspect-ratio: 1 / 1;
}


/* Display */
.inner-block > * {
    display: block;
}
.table {
    display: table;
}
.inline-block {
    display: inline-block;
}
.hidden {
    display: none;
}


/* Positions */
.relative {
    position: relative;
}


/* Underline */
.underline {
    text-decoration: underline;
}
.no-underline-inner > * {
    text-decoration: none;
}
.underline-offset-5 {
    text-underline-offset: 5px;
}



/* Opacity */
.opacity-70 {
    opacity: 0.7;
}


/* Link Container */
.link-container:hover a,
.link-container:hover img {
    opacity: 0.9;
}


/* Overflows */
.overflow-y-visible {
    overflow-y: visible;
}


/* Line Height */
.leading-none {
    line-height: 1;
}
.leading-5 {
    line-height: 1.25;
}



/* CF7 Spinner */
.wpcf7-spinner {
    vertical-align: middle;
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 !important;
    background: transparent;
    opacity: 1;
    width: auto;
    height: auto;
}
.wpcf7-spinner:before {
    position: relative;
    display: block;
    width: 62px;
    height: 62px;
    left: 0;
    top: 0;
    padding: 8px;
    --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
    -webkit-mask: var(--_m);
    mask: var(--_m);
    -webkit-mask-composite: source-out;
    mask-composite: subtract;
    animation: l3 1s infinite linear;
    transform-origin: center;
}
@keyframes l3 { to { transform: rotate(1turn) } }


/* Gradient border fields */
input.wpcf7-not-valid:read-write,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
    --formfieldbordercolor: var(--nv-c-2);
}


/* Input with floating label */
form.wpcf7-form {
    --formfieldfontsize: var(--wp--preset--font-size--medium);
}
form .floating-label-field {
    position: relative;
    padding-top: 20px;
}
form .floating-label-field label {
    font-size: var(--wp--preset--font-size--medium);
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(35px);
    transition: transform 0.3s ease, font-size 0.3s ease;
    will-change: transform;
}
form .floating-label-field.active label {
    font-size: var(--bodyfontsize);
    pointer-events: none;
    transform: translateY(0);
}
form .floating-label-field:not(.active) .wpcf7-form-control::placeholder {
    color: transparent;
}
form .iti__country-container {
    opacity: 0;
}
form .floating-label-field.active .iti__country-container {
    transition: opacity 0.3s ease;
    opacity: 1;
}



/* CF7 */
.grecaptcha-badge {
    display: none !important;
}
.wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
    width: 100%;
}
.wpcf7-form textarea {
    resize: none;
    display: block;
    line-height: 1.4em;
    max-height: 200px;
}
.wpcf7-form {
    position: relative;
}
.wpcf7-form-control-wrap {
    position: relative;
    display: block;
}
.wpcf7.js .wpcf7-not-valid-tip {
    text-align: left;
    color: var(--nv-c-2);
    font-weight: 300;
    font-size: var(--wp--preset--font-size--small);
}
.wpcf7-form.submitting .field-wrap {
    opacity: 0.5;
}
.wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}
.wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}
.wpcf7-acceptance input[type="checkbox"] {
    margin-top: 1px;
}
.wpcf7-form-control-wrap select {
    background-position-x: calc(100% - 5px);
}
@media (min-width: 782px) {
    .wpcf7-form .submit-wrap {
        text-align: right;
    }
}
@media (max-width: 781px) {
    .wpcf7-form .basis-1-2 {
        flex-basis: 100%;
    }
    .wpcf7 .wpcf7-form textarea {
        max-height: 185px !important; /* global message field height */
    }
    .acceptance-wrap {
        margin-left: auto;
        margin-right: auto;
        max-width: 260px;
    }
}
@media (max-width: 575px) {
    .wpcf7-form .basis-2-3,
    .wpcf7-form .basis-1-3 {
        flex-basis: 100%;
    }
}

.acceptance-wrap {
    line-height: 1.6em;
    text-align: left;
    text-wrap: balance;
}




/**
  * Neve Header Footer Grid 
  * (inherited from Neve blog_pro styles)
  */
.hfg_header {
    width: 100%;
    z-index: 99999;
}
.hfg_header .header--row {
    height: auto;
    transition: height 0.2s ease-out;
    -webkit-transition: height 0.2s ease-out;
}
.hfg_header .header--row.is_sticky_on_scroll {
    height: 0;
    overflow: hidden;
}
.hfg_header.is-stuck.has-sticky-rows--mobile .header--row:not(.is_sticky) {
    overflow: hidden;
    height: 0;
}
.hfg_header.is-stuck.has-sticky-rows--mobile .is_sticky_on_scroll {
    overflow: visible;
}
.sticky-header-placeholder {
    transition: height 0.2s ease-out 2ms;
    -webkit-transition: height 0.2s ease-out 2ms;
}
.hfg_header.has-sticky-rows--mobile {
    position: fixed;
}
.neve-transparent-header {
    position: absolute;
    width: 100%;
    z-index: 10000;
}
.header .neve-transparent-header.has-sticky-rows--mobile:not(.is-stuck) .header--row.hide-on-desktop,
.header .neve-transparent-header:not(.has-sticky-rows--mobile) .header--row.hide-on-desktop {
    --bgcolor: transparent;
    --bgimage: none;
    --overlaycolor: transparent;
}
.header .neve-transparent-header.has-sticky-rows--mobile:not(.is-stuck) {
    box-shadow: none;
}

@media (min-width: 960px) {
    .hfg_header.has-sticky-rows--desktop {
        position: fixed;
    }
    .hfg_header.neve-transparent-header:not(.has-sticky-rows--desktop) {
        position: absolute;
    }
    .hfg_header:not(.has-sticky-rows--desktop):not(.neve-transparent-header) {
        position: static;
    }
    .hfg_header:not(.has-sticky-rows--desktop):not(.neve-transparent-header) .sticky-header-placeholder {
        display: none;
    }
    .hfg_header:not(.has-sticky-rows--desktop):not(.neve-transparent-header).is-stuck .header--row:not(.is_sticky) {
        overflow: initial;
        max-height: initial;
    }
    .is-stuck.has-sticky-rows--desktop .header--row:not(.is_sticky) {
        overflow: hidden;
        height: 0;
    }
    .is-stuck.has-sticky-rows--desktop .is_sticky_on_scroll {
        overflow: visible;
    }
    .header .neve-transparent-header.has-sticky-rows--desktop:not(.is-stuck) .header--row,
    .header .neve-transparent-header:not(.has-sticky-rows--desktop) .header--row {
        --bgcolor: transparent;
        --bgimage: none;
        --overlaycolor: transparent;
    }
    .header .neve-transparent-header.has-sticky-rows--desktop:not(.is-stuck) {
        box-shadow: none;
    }
}



/* Navigation */
.navbar-toggle:focus {
    outline: none;
}
.header-menu-sidebar .navbar-toggle-wrapper {
    padding-top: 15px !important;
}


.custom-cart-link {
    position: relative;
    display: block;
    text-decoration: none;
}
.custom-cart-svg {
    color: inherit;
    margin-right: 4px;
    display: block;
}
.custom-cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: var(--nv-dark-bg);
    color: #ffffff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-weight: 400;
    font-family: 'Ryo Text PlusN';
}


/* Footer */
.footer-main {
    padding-top: 1em;
}
.footer-bottom {
    padding-bottom: 1em;
}


/* Product Swiper */
article.type-product.layout-card {
    user-select: none;
}
article.type-product.layout-card.portrait .nv-post-thumbnail-wrap {
    background-color: rgb(189 172 161 / 20%);
    position: relative;
    height: 450px;
}
article.type-product.layout-card.portrait .nv-post-thumbnail-wrap img {
    aspect-ratio: unset;
    object-fit: cover;
    position: absolute;
    height: 100%;
    width: 100%;
}

@media (min-width: 576px) {
    .swiper-slide {
        max-width: 420px;
    }
    .product-swiper .swiper:not(.swiper-initialized) .swiper-wrapper {
        gap: 75px;
    }
}
@media (min-width: 769px) {
    .product-swiper .swiper:not(.swiper-initialized) .swiper-wrapper {
        gap: 50px;
    }
}


/* Shadow Box */
.shadow-box-large {
    padding: 4rem;
    background-color: var(--nv-site-bg);
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.07);
    z-index: 1;
}


/* Woo */
.product-card-actions > a {
    display: inline-block;
    text-decoration: underline;
    text-underline-offset: 5px;
    font-weight: 300;
    text-transform: uppercase;
    padding: 0 !important;
    border: 0 !important;
    position: relative;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    -webkit-font-smoothing: subpixel-antialiased;
    vertical-align: middle;
    line-height: 1;
}
.wc-block-components-checkbox label {
    align-items: center;
}
.wc-block-cart__submit {
    padding: 0;
}

table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image {
    width: 157px;
}
@media (min-width: 380px) {
    .is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
    .is-medium table.wc-block-cart-items .wc-block-cart-items__row {
        grid-template-columns: 147px 132px;
    }
}
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    font-size: var(--wp--preset--font-size--medium);
}
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    pointer-events: none;
    font-size: var(--h4fontsize);
    font-family: 'Ryo Text PlusN';
    color: var(--nv-text-color);
    font-weight: 400;
}
.wc-block-components-button:focus {
    box-shadow: none !important;
}





/* Spinner */
.product-card-actions .button.loading {
    opacity: 0.7;
    pointer-events: none;
}
.product-card-actions .button.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -20px;
    width: 18px;
    height: 18px;
    margin-top: -8px;
    margin-left: -8px;
    border: 2px solid var(--nv-light-bg);
    border-top-color: var(--secondarybtncolor);
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}



/* Home Page */
body.home .wpcf7 {
    margin-top: 2em;
}
@media (max-width: 768px) {
    #intro {
        flex-direction: column;
        align-items: stretch;
        padding-top: 0;
        margin-bottom: 0;
    }
    #intro > .wp-block-group {
        padding-top: 4rem;
        padding-bottom: 0;
    }
    #intro > .wp-block-cover {
        display: none;
    }
    body.home .alignfull-right-align {
        flex-direction: column;
        align-items: stretch;
        padding-right: 0;
    }
    body.home .alignfull-right-align > .wp-block-group {
        margin-top: -5rem;
        margin-left: 25px;
        margin-right: 25px;
        flex-basis: auto;        
    }
    body.home .alignfull-right-align > .wp-block-cover {
        min-height: 420px !important;
    }
    article.type-product.layout-card.portrait .nv-post-thumbnail-wrap {
        height: 350px;
    }
}
@media (max-width: 575px) {
    .shadow-box-large {
        padding: 3rem;
    }
    body.home .alignfull-right-align p.has-medium-font-size {
        font-size: 16px !important;
    }
}


/* Lagal Pages */
body.page-id-585 h3,
body.page-id-3 h3 {
    margin-top: 1em;
    --h3fontsize: 25px;
}