/*
Theme Name:     NMG
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
*/



/* 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;
}

.light-form input:-webkit-autofill,
.light-form input:-webkit-autofill:hover,
.light-form input:-webkit-autofill:focus,
.light-form input:-webkit-autofill:active {
    -webkit-text-fill-color: rgb(255 255 255 / 50%) !important;
    caret-color: #fff;
}


/* 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;
}

.light-form .tingle-modal-box__content::-webkit-scrollbar-track {
    background: #2b5fde;
}
.light-form .tingle-modal-box__content::-webkit-scrollbar-thumb {
    background: #a0bcfd;
    border: 2px solid #2b5fde;
}


/* 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.4em;
}
.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;
}


/* 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--6xl: 30px;
    --text-preset--8xl: 36px;
    --text-preset--10xl: 45px;
}
@media (min-width: 576px) {
    :root {
        --text-preset--6xl: 38px;
        --text-preset--8xl: 48px;
        --text-preset--10xl: 60px;
    }
}
@media (min-width: 960px) { 
    :root {
        --text-preset--xl: 18px;
        --text-preset--2xl: 22px;
        --text-preset--6xl: 64px;
        --text-preset--8xl: 88px;
        --text-preset--10xl: 112px;
        --text-preset--13xl: 160px;
    }
}
@media (min-width: 960px) and (max-width: 1440px) {
    :root {
        --text-preset--6xl: 52px;
        --text-preset--8xl: 68px;
        --text-preset--10xl: 92px;
    }
}
.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-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;
    /* --secondarybtnpadding: calc(7px - 1.2px) calc(20px - 1.2px); */
    --btnfs: 15px;
}
.is-style-primary.button-preset-sm {
    --primarybtnpadding: 7px 20px;
    --btnfs: 15px;
}

.is-style-secondary.button-preset-lg {
    --secondarybtnpadding: 9px 25px;
    /* --secondarybtnpadding: calc(9px - 1.2px) calc(25px - 1.2px); */
    --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;
}


/* Text Gradients */
.has-text-gradient {
    color: transparent;
    background-clip: text !important;
}
.text-gradient-secondary-primary {
    background: linear-gradient(to right, #3772FE 35%, #ffffff00 60%), #00B6E0;
}
.text-gradient-white-primary {
    background: linear-gradient(to right, #ffffff 35%, rgb(255 255 255 / 0%) 50%), #02CAF8;
}


/* 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 */
}


/* 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-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;
}


/* Padding */
.px-0 {
    padding-left: 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-24, .py-24 {
    padding-top: 6rem;
}
.pb-24, .py-24 {
    padding-bottom: 6rem;
}
.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;
}


/* 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 */
.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;
}


/* Sprites */
.sprite {
    display: block;
    visibility: hidden;
}


/* 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) } }



/* 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: 235px;
}
.wpcf7-form {
    position: relative;
}
.wpcf7-form-control-wrap {
    position: relative;
    display: block;
}
.wpcf7.js .wpcf7-not-valid-tip {
    display: none !important;
}
.wpcf7-form.submitting .field-wrap {
    opacity: 0.5;
}
.wpcf7-form .acceptance-wrap {
    margin-top: 1em;
}
.wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}
.wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}
.wpcf7-acceptance label span {
    margin-top: 1px;
}
.wpcf7-form-control.wpcf7-acceptance {
    max-width: 510px;
    display: block;
    text-wrap: balance;
    margin: 0 auto;
}
@media (max-width: 700px) {
    .wpcf7-form-control.wpcf7-acceptance {
        max-width: 360px;
    }
}
.wpcf7-form .submit-wrap {
    text-align: center;
}
.wpcf7-form-control-wrap select {
    background-position-x: calc(100% - 5px);
}
@media (max-width: 781px) {
    .wpcf7-form .basis-1-2 {
        flex-basis: 100%;
    }
}
@media (max-width: 575px) {
    .wpcf7-form .basis-2-3,
    .wpcf7-form .basis-1-3 {
        flex-basis: 100%;
    }
}


/* Password Managers FIX */
.light-form [data-dashlanecreated] {
    -webkit-filter: brightness(0) invert(1) !important;
    filter: brightness(0) invert(1) !important;
}
form input:read-write,
form select, 
form textarea {
    background: var(--formfieldbgcolor) !important;
    color: var(--formfieldcolor) !important;
}


/* Gradient border fields */
input:read-write,
select,
textarea {
    border-image: linear-gradient(to right, var(--formfieldbordercolor), transparent);
    border-image-slice: 1;
}
input:read-write:focus, 
select:focus, 
textarea:focus {
    box-shadow: none;
    border-image: none;
    --formfieldbordercolor: var(--formfieldcolor);
}
input.wpcf7-not-valid:read-write,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
    --formfieldbordercolor: var(--nv-c-2);
}



/* Individual CF7 @media */
@media (max-width: 1279px) {
    .wpcf7[data-wpcf7-id="3260"] .wpcf7-form-control.wpcf7-checkbox > .wpcf7-list-item {
        flex-basis: calc(50% - 6px);  
    }
    .wpcf7[data-wpcf7-id="3260"] .wpcf7-form-control.wpcf7-checkbox > .wpcf7-list-item:last-child {
        display: none;
    }
    .wpcf7[data-wpcf7-id="3260"] .wpcf7-form textarea {
        max-height: 270px;
    }
}
@media (max-width: 781px) {
    .wpcf7[data-wpcf7-id="3260"] .wpcf7-form textarea {
        margin-bottom: 1em;
    }    
}


/* CF7 radio badges */
.wpcf7-form-control.wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 1em;
}
.wpcf7-form-control.wpcf7-checkbox > .wpcf7-list-item {
    margin: 0 !important;
    flex-grow: 1;
    flex-basis: calc(33.33% - 8px);    
}
.wpcf7-form-control.wpcf7-checkbox > .wpcf7-list-item > label {
    width: 100%;
    white-space: nowrap;
}
.wpcf7-form-control.wpcf7-checkbox > .wpcf7-list-item > label > span.wpcf7-list-item-label {
    padding: 15px 20px;
    background-color: rgb(255 255 255 / 10%);
    border-radius: 32px;
    font-size: var(--bodyfontsize);
    display: block;
    text-align: center;
    cursor: pointer;
    border: 1px solid;
    border-color: transparent;
    user-select: none;
}
.wpcf7-form-control.wpcf7-checkbox input {
    display: none;
}
.wpcf7-form-control.wpcf7-checkbox input:checked + span.wpcf7-list-item-label {
    border-color: var(--custom-5);
    background-color: rgb(255 255 255 / 15%);
}  


/* 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;
}
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;
}


/* Light Form */
.light-form {
    --formfieldbordercolor: var(--custom-5);
    --formfieldcolor: var(--nv-text-dark-bg);
    --iti-arrow-color: var(--nv-text-dark-bg);
    --nv-text-color: var(--nv-text-dark-bg);
    --primarybtnbg: var(--nv-dark-bg);
    --primarybtnhoverbg: var(--nv-dark-bg);
    --iti-dropdown-bg: #5681ff;
    --iti-dialcode-color: var(--custom-5);
}
.light-form a {
    color: var(--nv-text-dark-bg) !important;
}
.light-form .tippy-box[data-theme~=light] {
    color: #05173a;
}
.light-form .tingle-modal__close {
    --primarybtnbg: var(--iti-dropdown-bg);
    --primarybtnhoverbg: var(--iti-dropdown-bg);
}



/* Contact Popup */
.contact-popup .tingle-modal-box {
    background-color: var(--nv-secondary-accent);
}
.contact-popup a {
    text-decoration: underline;
}


/* Tippy */
.tippy-box {
    user-select: none;
    box-shadow: 0 4px 40px 2px rgb(0 0 0 / 10%) !important;
}
.tippy-box[data-theme~=large] {
    font-size: var(--bodyfontsize);
    line-height: var(--bodylineheight);
}
.tippy-box[data-theme~=large] .tippy-content {
    padding: 20px 25px !important;
}
.tippy-box[data-theme~=large] {
    border-radius: 24px;
}
.tippy-box[data-theme~='large'] > .tippy-arrow::before {
    transform: scale(1.5);
}
@media (max-width: 1279px) {
    .tippy-box[data-theme~=large] {
        font-size: var(--wp--preset--font-size--small);
        border-radius: 16px;
    }
    .tippy-box[data-theme~=large] .tippy-content {
        padding: 15px 20px !important;
    }
    .tippy-box[data-theme~='large'] > .tippy-arrow::before {
        transform: scale(1.3);
    }
}
.tippy-box[data-theme~=small] .tippy-content {
    padding: 7px 15px !important;
}
.tippy-box[data-theme~=small] {
    border-radius: 10px;
}
.tippy-box[data-theme~=light] {
    background-color: var(--nv-site-bg);
    color: var(--nv-text-color);
}
.tippy-box[data-theme~=light] > .tippy-arrow {
    color: var(--nv-site-bg);
}



/* User Shortcode */
.user-avatar {
    position: relative;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    background: linear-gradient(to bottom right, #01B7E1, #3873FF);
    cursor: pointer;
    display: block;
}
.user-avatar img.avatar {
    display: block;
    position: absolute;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
    height: calc(100% - 4px);
    width: calc(100% - 4px);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--nv-light-bg);
}
.user-name {
    display: block;
    white-space: nowrap;
    margin-top: 3px;
    color: var(--custom-4);
}
.user-menu > .account-tooltip {
    display: none !important;
}
.account-tooltip {
    font-weight: 300;
    min-width: max-content;
    white-space: nowrap;
}
.account-tooltip > .tooltip-row {
    display: flex;
    align-items: center;
    gap: 7px;
}
.account-tooltip > .tooltip-row:not(:last-of-type) {
    margin-bottom: 12px;
}
.account-tooltip > div {
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px solid var(--custom-2);
}
body.has-white-header .account-tooltip {
    --color: var(--nv-text-color);
}
.account-tooltip a:hover {
    opacity: 0.7;
}


/* Contact Ripple CTA */
#contact-us {
    min-height: min(70svh, 900px);
}
#contact-us .wp-block-cover__image-background:not(.replaced-svg) {
    opacity: 0;
}
#contact-us .wp-block-cover__background {
    z-index: -1;
}
#contact-us .wp-block-cover__image-background {
    max-width: calc(var(--container) + 6em);
    height: auto;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    overflow: unset;
}


/* Hero Types */
.hero-container.wp-block-cover canvas {
    position: absolute;
}
.hero-container.wp-block-cover .wp-block-cover__background {
    z-index: -1;
}
.hero-container {
    text-wrap: balance;
    min-height: min(75svh, 650px);
} 


/* Toggle Switch */
.toggle-switch {
    display: inline-block;
    position: relative;
    cursor: pointer;
}
.toggle-switch input[type="checkbox"] {
    display: none;
}
.toggle-switch-slider {
    position: relative;
    width: 2.75rem;
    height: 1.5rem;
    background-color: var(--custom-3);
    border-radius: 32px;
    transition: all 0.2s ease-in-out;
}
.toggle-switch-slider::after {
    content: '';
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    background-color: var(--nv-text-dark-bg);
    border-radius: 32px;
    height: 1rem;
    width: 1rem;
    transition: all 0.2s ease-in-out;
    will-change: transform;
}
.toggle-switch input[type="checkbox"]:checked + .toggle-switch-slider {
    background-color: var(--nv-secondary-accent);
}
.toggle-switch input[type="checkbox"]:checked + .toggle-switch-slider::after {
    transform: translateX(1.25rem);
}
.toggle-switch input[type="checkbox"]:disabled + .toggle-switch-slider {
    background-color: var(--custom-3);
}


/* Cookie Consent */
.cookie-toast.toastify {
    text-wrap: balance;
    background: var(--nv-light-bg);
    color: var(--nv-text-color);
    text-align: center;
    z-index: 9998;
}
@media (min-width: 431px) {
    .cookie-toast.toastify {
        max-width: 325px;
    }    
}
.cookie-toast .cookie-text > p {
    font-size: var(--wp--preset--font-size--small);
    font-weight: 300;
    margin-bottom: 1em;
}
.cookie-toast .cookie-text > div > p {
    margin-bottom: 7px;
    font-weight: 500;   
}
.cookie-toast #cookie-customize {
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: var(--wp--preset--font-size--small);
    cursor: pointer;
}
.cookie-toast .wp-block-buttons {
    gap: 1em;
    justify-content: center;
}
.cookie-preferences-popup .cookie-types {
    display: grid;
    gap: 2em;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 6em;
}
@media (max-width: 768px) {
    .cookie-preferences-popup .cookie-types {
        grid-template-columns: auto;
    }    
}
.cookie-preferences-popup .cookie-types > label {
    border: 1px solid var(--custom-5);
    border-radius: 16px;
    padding: 1.5em 2em;
    cursor: pointer;
    user-select: none;
}
.cookie-preferences-popup .cookie-type-text > p {
    margin-bottom: 1.5em;
    text-wrap: balance;
}
.cookie-preferences-popup .tingle-modal-box__content {
    text-align: center;
}
.cookie-preferences-popup .tingle-modal-box__content > p {
    margin-bottom: 3em;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}
.cookie-preferences-popup .wp-block-buttons {
    gap: 1em;
    white-space: nowrap;
}
@media (min-width: 576px) {
    .cookie-preferences-popup .wp-block-buttons {
        padding: 1.5em 2em;
        flex-wrap: nowrap;
        background-color: var(--nv-light-bg);
        justify-content: center;
        border-top-right-radius: 32px;
        border-top-left-radius: 32px;
        position: fixed;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
}
@media (max-width: 575px) {
    .cookie-preferences-popup .wp-block-buttons {
        padding-bottom: 1em;
    }
    .cookie-preferences-popup .wp-block-buttons .wp-block-button {
        flex: 1;
    }
    .cookie-preferences-popup .cookie-types {
        margin-bottom: 3em;
    }
}


/* Footer */
footer {
    --secondarybtncolor: var(--nv-primary-accent);
    text-wrap: balance;
}
footer .widget {
    margin-bottom: 2rem;
}
footer .footer-main > .footer--row-inner {
    padding-top: 4em;
}
footer .footer-bottom > .footer--row-inner {
    padding: 2em 0;
}

footer .builder-item--footer_copyright span:first-of-type {
    font-family: sans-serif;
}
footer .builder-item--footer_copyright span {
    vertical-align: middle;
    margin-right: 5px;
    display: inline-block;
}

footer .builder-item--footer-one-widgets .wp-block-buttons {
    justify-content: var(--justify);
}

footer .builder-item--footer-four-widgets .widget {
    display: flex;
    justify-content: var(--justify);
    align-items: center;
    gap: 7px;
    margin: 4px 0;
}

footer .builder-item--contact ul > li {
    margin-bottom: 2em;
}
footer .builder-item--contact li:last-child a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}
footer .builder-item--contact strong {
    display: block;
    margin-bottom: 7px;
}
footer .builder-item--contact a {
    color: var(--nv-primary-accent);
}
footer .builder-item--contact > span {
    font-weight: 500;
}

footer .builder-item--custom_layout_5 ul > li:not(:last-of-type) {
    margin-bottom: 1em;
}
footer .builder-item--custom_layout_5 ul:first-child > li a {
    display: block;
    box-shadow: 0 0 0 0.075em var(--custom-4);
    padding: 0.5em 2em;
    border-radius: 30px;
    text-align: center;
}

@media (min-width: 960px) {
    footer .footer--row-inner.footer-main-inner .row {
        grid-template-columns: 1fr 1fr 1fr; /* Theme 960px @media FIX */
    }
    footer .footer--row-inner.footer-bottom-inner .row {
        grid-template-columns: 1fr 1fr; /* Theme 960px @media FIX */
    }
    footer .builder-item--custom_layout_5 > .wp-block-group.is-layout-flex {
        justify-content: space-around;
        gap: 2em;
    }
}
@media (max-width: 959px) {
    footer .builder-item--custom_layout_5 > .wp-block-group.is-layout-flex {
        white-space: nowrap;
        gap: 4em;
    }
}
@media (min-width: 576px) and (max-width: 959px) {
    footer .footer--row-inner.footer-main-inner .row {
        grid-template-columns: 1fr 1fr;
        row-gap: 4em;
        column-gap: 2em;
    }
    .footer-main-inner .hfg-slot.left {
        grid-column: 1;
        grid-row: 1;
    }
    .footer-main-inner .hfg-slot.c-left {
        grid-column: 1;
        grid-row: 2;
    }
    .footer-main-inner .hfg-slot.center {
        grid-column: 2;
        grid-row: 1 / 3;
    }
}
@media (min-width: 576px) {
    footer .footer-main .hfg-slot.left {
        max-width: 325px;
    }
    footer .footer-main .hfg-slot.center {
        max-width: 300px;
        margin-left: auto;    
    }
}
@media (max-width: 575px) {
    footer .footer--row-inner.footer-main-inner .row {
        grid-template-columns: 1fr;
        gap: 3em;
    }
    footer .builder-item--custom_layout_5 > .wp-block-group.is-layout-flex {
        flex-direction: column;
        align-items: center;
    }
}



/* Navigation */
.hfg_header.site-header {
    box-shadow: none;
}
.header .site-logo svg {
    padding-top: 15px;
    width: var(--maxwidth);
    height: auto;
}
.header nav {
    display: block !important;
}
.header .builder-item .button {
    font-size: var(--bodyfontsize);
    white-space: nowrap;
    margin: 0 !important;
}
@media (max-width: 575px) {
    .header .builder-item .button {
        font-size: var(--wp--preset--font-size--small);
    }
}
.header .hfg-slot.left .builder-item,
.header .hfg-slot.center .builder-item {
    padding-right: 0;
}
.header .hfg-slot.right .builder-item,
.header .hfg-slot.center .builder-item {
    padding-left: 0;
}
body.logged-in .header .hfg-slot.center {
    gap: 1em;
}
@media (max-width: 430px) {
    body.logged-in .header .hfg-slot.right .builder-item {
        display: none;
    }
    body.logged-in .has-center .row--wrapper {
        grid-template-columns: auto auto;
    }
    body.logged-in .header .hfg-slot.center {
        justify-content: flex-end;
        padding-right: 15px;        
    }
}
@media (max-width: 360px) {
    .header .hfg-slot.right {
        display: none;
    }
    .has-center .row--wrapper {
        grid-template-columns: auto auto;
    }
}



/* Navigation Transparent */
body.has-transparent-header header > .site-header:not(.has-sticky-rows--desktop) {
    position: absolute;
}
body.has-transparent-header header > .site-header {
    width: 100%;
    z-index: 10000;
}
body.has-transparent-header header > .sticky-header-placeholder {
    display: none;
}
body.has-transparent-header header > .site-header:not(.is-stuck) .header-main {
    --bgcolor: transparent;
    --bgimage: none;
    --overlaycolor: transparent;
}


/* White Navigation */
body.has-white-header .header-main {
    --color: var(--nv-text-dark-bg);
}
body.has-white-header .header .builder-item .button {
    --primarybtnbg: var(--nv-text-dark-bg);
    --primarybtncolor: var(--nv-text-color);
    --primarybtnhoverbg: var(--nv-text-dark-bg);
    --primarybtnhovercolor: var(--nv-text-color);
}


/* Mega Menu */
.mega-menu-popup .tingle-modal-box {
    max-width: 1000px;
}
.menu-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
    padding: 3px 0; /* focus fix */
}
@media (max-width: 700px) {
    .menu-grid {
        grid-template-columns: auto;
    }
}
#services-menu-view {
    padding-top: 3px; /* focus fix */
}
.menu-card {
    display: flex; 
    align-items: center; 
    gap: 1rem; 
    padding: 1rem;
    border-radius: 16px; 
    text-decoration: none; 
    box-shadow: rgba(27, 27, 27, 0.04) 0px 8px 16px 0px, rgba(27, 27, 27, 0.04) 0px 2px 8px 0px;
    transition: all 0.2s ease-in-out; 
    color: var(--nv-text-color) !important;
    outline-color: var(--custom-5); /* focus fix */
    cursor: pointer;
    user-select: none;
}
.menu-card:hover {
    transform: translateY(-4px);
    box-shadow: rgba(27, 27, 27, 0.02) 0px 2px 32px 0px, rgba(27, 27, 27, 0.12) 0px 16px 32px 0px;
}
.menu-icon {
    flex-shrink: 0; 
    display: grid; 
    place-items: center;
    width: 60px; 
    height: 60px; 
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
    border-radius: 10px;
}
#download-cta {
    border: 2px solid var(--custom-2);
    box-shadow: none;
}
#download-cta .menu-icon {
    box-shadow: none;
    background-color: var(--nv-light-bg);
}
#download-cta .menu-icon > img {
    width: 40px;
    height: auto;
}
.menu-card .menu-icon > img { 
    width: 32px; 
    height: 32px; 
}
.card-content {
    flex: 1 1 0%;
}
.card-title {
    font-weight: 400;
    margin-bottom: 5px;
}
.card-description { 
    color: var(--custom-4); 
    margin-bottom: 0;
    text-wrap: balance;
}
@media (max-width: 959px) {
    .card-description { 
        font-size: var(--wp--preset--font-size--small);
        line-height: 1.4em;
    }    
}
#back-to-main {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    color: var(--nv-text-color);
    margin-bottom: 1em;  
}
.menu-cta-container {
    position: relative;
    overflow: hidden;
    background-color: var(--nv-secondary-accent);
    color: var(--nv-text-dark-bg);
    border-radius: 16px;
    padding: 3em 2em;
    margin-top: 2.5rem;
    text-align: center;
}
.menu-cta-container > div {
    position: relative;
    z-index: 1;
}
.menu-cta-container .wp-block-button {
    margin-top: 2em;
}
.menu-cta-container svg {
    position: absolute;
    width: calc(100% + 6em);
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.menu-cta-container p.has-large-font-size {
    font-weight: 400;
}


/* Menu Toggle */
#menuToggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 140px;
    background-color: var(--nv-light-bg);
    padding: 7px;
    border-radius: 30px;
    gap: 0.25rem;
    cursor: pointer;
    transition: max-width 0.4s cubic-bezier(0.65, 0, 0.35, 1);
    user-select: none;
    overflow: hidden;
}
body.has-white-header #menuToggle {
    background-color: var(--nv-site-bg);
}
.menu-toggle__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}
.hamburger-icon {
    width: 18px;
    height: 14px;
    overflow: visible;
}
.hamburger-icon__line {
    stroke: var(--nv-text-color);
    stroke-width: 2;
    stroke-linecap: round;
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1),
                opacity 0.2s ease;
}
@media (min-width: 576px) {
    .menu-toggle__text {
        display: block;
        white-space: nowrap;
        opacity: 1;
        transform: scale(1);
        transform-origin: left;
        transition: opacity 0.3s ease,
                    transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
        border-radius: 30px;
        box-shadow: 0 0 0 0.07em var(--nv-text-color);
        padding: 3px 15px;
        font-size: 18px;
        font-weight: 400;
        color: var(--nv-text-color);
    }
    #menuToggle.is-active .menu-toggle__text {
        opacity: 0;
        transform: scale(0.8);
        transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    }
}
@media (max-width: 575px) {
    .menu-toggle__text {
        display: none;
    }
}
#menuToggle.is-active {
    max-width: 50px;
}
#menuToggle.is-active .hamburger-icon__line--top {
    transform: translateY(-2px) translateX(-1px) rotate(45deg);
}
#menuToggle.is-active .hamburger-icon__line--middle {
    opacity: 0;
}
#menuToggle.is-active .hamburger-icon__line--bottom {
    transform: translateY(2px) translateX(-1px) rotate(-45deg);
}





/* Legal Pages */
body.legal-page .nv-page-title {
    margin-bottom: 2em;
}
body.legal-page .single-page-container {
    --container: 700px;
    margin-bottom: 6em;
}




/**
  * Neve Social Icons Component
  * (inherited from Neve blog_pro styles)
  */
.nv-social-icons-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing, 15px);
}
.nv-social-icons-list a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--iconpadding, 5px);
    line-height: 1;
    border-radius: var(--borderradius, 4px);
}
.nv-social-icons-list :is(img, svg) {
    width: var(--icon-size, 24px);
    height: var(--icon-size, 24px);
}


/**
  * 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;
    }
}
