/* @preserve
 * Theme Name: mzaUI
 * Author: Monavaz
 * Author URI: https://monavaz.com
 * Description: The basic theme made for Monavaz Sites. Any other use is strictly prohibited.

 * Version: 26.0
 * Build: 251010-BK7
 * Writer: Louis Clay
 * Copyright © 2025 Monavaz, LLC. All Rights Reserved.

 * Tested up to: 6.8.3
 * Requires at least: 6.7
 * Requires PHP: 8.3
 * @endpreserve
 */

html, html.light-mode {
    --mza-core-accent-a00: var(--wp--preset--color--light-accent-00);
    --mza-core-accent-a10: var(--wp--preset--color--light-accent-10);
    --mza-core-accent-a20: var(--wp--preset--color--light-accent-20);
    --mza-core-accent-a30: var(--wp--preset--color--light-accent-30);
    --mza-core-accent-a40: var(--wp--preset--color--light-accent-40);
    --mza-core-accent-a50: var(--wp--preset--color--light-accent-50);
    --mza-core-surface-a00: var(--wp--preset--color--light-surface-00);
    --mza-core-surface-a10: var(--wp--preset--color--light-surface-10);
    --mza-core-surface-a20: var(--wp--preset--color--light-surface-20);
    --mza-core-surface-a30: var(--wp--preset--color--light-surface-30);
    --mza-core-surface-a40: var(--wp--preset--color--light-surface-40);
    --mza-core-surface-a50: var(--wp--preset--color--light-surface-50);
    --mza-core-text-a00: var(--wp--preset--color--light-text-00);
    --mza-core-text-a10: var(--wp--preset--color--light-text-10);
    --mza-core-text-a20: var(--wp--preset--color--light-text-20);
    --mza-core-text-a30: var(--wp--preset--color--light-text-30);
    --mza-core-text-a40: var(--wp--preset--color--light-text-40);
    --mza-core-text-a50: var(--wp--preset--color--light-text-50);
    --mza-core-tonal-a00: var(--wp--preset--color--light-tonal-00);
    --mza-core-tonal-a10: var(--wp--preset--color--light-tonal-10);
    --mza-core-tonal-a20: var(--wp--preset--color--light-tonal-20);
    --mza-core-tonal-a30: var(--wp--preset--color--light-tonal-30);
    --mza-core-tonal-a40: var(--wp--preset--color--light-tonal-40);
    --mza-core-tonal-a50: var(--wp--preset--color--light-tonal-50);

    --header-shadow: 0 10px 15px 5px rgba(0, 0, 0, 3%);
    --inv-header-shadow: 0 -10px 15px 5px rgba(0, 0, 0, 3%);

    --loader: rgba(28, 25, 39, 0.15) rgba(28, 25, 39, 0.25) rgba(28, 25, 39, 0.35) rgba(28, 25, 39, 0.5);
}
html.dark-mode {
    --mza-core-accent-a00: var(--wp--preset--color--dark-accent-00);
    --mza-core-accent-a10: var(--wp--preset--color--dark-accent-10);
    --mza-core-accent-a20: var(--wp--preset--color--dark-accent-20);
    --mza-core-accent-a30: var(--wp--preset--color--dark-accent-30);
    --mza-core-accent-a40: var(--wp--preset--color--dark-accent-40);
    --mza-core-accent-a50: var(--wp--preset--color--dark-accent-50);
    --mza-core-surface-a00: var(--wp--preset--color--dark-surface-00);
    --mza-core-surface-a10: var(--wp--preset--color--dark-surface-10);
    --mza-core-surface-a20: var(--wp--preset--color--dark-surface-20);
    --mza-core-surface-a30: var(--wp--preset--color--dark-surface-30);
    --mza-core-surface-a40: var(--wp--preset--color--dark-surface-40);
    --mza-core-surface-a50: var(--wp--preset--color--dark-surface-50);
    --mza-core-text-a00: var(--wp--preset--color--dark-text-00);
    --mza-core-text-a10: var(--wp--preset--color--dark-text-10);
    --mza-core-text-a20: var(--wp--preset--color--dark-text-20);
    --mza-core-text-a30: var(--wp--preset--color--dark-text-30);
    --mza-core-text-a40: var(--wp--preset--color--dark-text-40);
    --mza-core-text-a50: var(--wp--preset--color--dark-text-50);
    --mza-core-tonal-a00: var(--wp--preset--color--dark-tonal-00);
    --mza-core-tonal-a10: var(--wp--preset--color--dark-tonal-10);
    --mza-core-tonal-a20: var(--wp--preset--color--dark-tonal-20);
    --mza-core-tonal-a30: var(--wp--preset--color--dark-tonal-30);
    --mza-core-tonal-a40: var(--wp--preset--color--dark-tonal-40);
    --mza-core-tonal-a50: var(--wp--preset--color--dark-tonal-50);

    --header-shadow: 0 10px 15px 5px rgba(0, 0, 0, 15%);
    --inv-header-shadow: 0 -10px 15px 5px rgba(0, 0, 0, 15%);

    --loader: rgba(255, 255, 255, 0.15) rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.35) rgba(255, 255, 255, 0.5);
}
@media (prefers-color-scheme: dark) {
    html.default-colors {
        --mza-core-accent-a00: var(--wp--preset--color--dark-accent-00);
        --mza-core-accent-a10: var(--wp--preset--color--dark-accent-10);
        --mza-core-accent-a20: var(--wp--preset--color--dark-accent-20);
        --mza-core-accent-a30: var(--wp--preset--color--dark-accent-30);
        --mza-core-accent-a40: var(--wp--preset--color--dark-accent-40);
        --mza-core-accent-a50: var(--wp--preset--color--dark-accent-50);
        --mza-core-surface-a00: var(--wp--preset--color--dark-surface-00);
        --mza-core-surface-a10: var(--wp--preset--color--dark-surface-10);
        --mza-core-surface-a20: var(--wp--preset--color--dark-surface-20);
        --mza-core-surface-a30: var(--wp--preset--color--dark-surface-30);
        --mza-core-surface-a40: var(--wp--preset--color--dark-surface-40);
        --mza-core-surface-a50: var(--wp--preset--color--dark-surface-50);
        --mza-core-text-a00: var(--wp--preset--color--dark-text-00);
        --mza-core-text-a10: var(--wp--preset--color--dark-text-10);
        --mza-core-text-a20: var(--wp--preset--color--dark-text-20);
        --mza-core-text-a30: var(--wp--preset--color--dark-text-30);
        --mza-core-text-a40: var(--wp--preset--color--dark-text-40);
        --mza-core-text-a50: var(--wp--preset--color--dark-text-50);
        --mza-core-tonal-a00: var(--wp--preset--color--dark-tonal-00);
        --mza-core-tonal-a10: var(--wp--preset--color--dark-tonal-10);
        --mza-core-tonal-a20: var(--wp--preset--color--dark-tonal-20);
        --mza-core-tonal-a30: var(--wp--preset--color--dark-tonal-30);
        --mza-core-tonal-a40: var(--wp--preset--color--dark-tonal-40);
        --mza-core-tonal-a50: var(--wp--preset--color--dark-tonal-50);

        --header-shadow: 0 10px 15px 5px rgba(0, 0, 0, 15%);
        --inv-header-shadow: 0 -10px 15px 5px rgba(0, 0, 0, 15%);

        --loader: rgba(255, 255, 255, 0.15) rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.35) rgba(255, 255, 255, 0.5);
    }    
}
@media (prefers-color-scheme: light) {
    html.default-colors {
        --mza-core-accent-a00: var(--wp--preset--color--light-accent-00);
        --mza-core-accent-a10: var(--wp--preset--color--light-accent-10);
        --mza-core-accent-a20: var(--wp--preset--color--light-accent-20);
        --mza-core-accent-a30: var(--wp--preset--color--light-accent-30);
        --mza-core-accent-a40: var(--wp--preset--color--light-accent-40);
        --mza-core-accent-a50: var(--wp--preset--color--light-accent-50);
        --mza-core-surface-a00: var(--wp--preset--color--light-surface-00);
        --mza-core-surface-a10: var(--wp--preset--color--light-surface-10);
        --mza-core-surface-a20: var(--wp--preset--color--light-surface-20);
        --mza-core-surface-a30: var(--wp--preset--color--light-surface-30);
        --mza-core-surface-a40: var(--wp--preset--color--light-surface-40);
        --mza-core-surface-a50: var(--wp--preset--color--light-surface-50);
        --mza-core-text-a00: var(--wp--preset--color--light-text-00);
        --mza-core-text-a10: var(--wp--preset--color--light-text-10);
        --mza-core-text-a20: var(--wp--preset--color--light-text-20);
        --mza-core-text-a30: var(--wp--preset--color--light-text-30);
        --mza-core-text-a40: var(--wp--preset--color--light-text-40);
        --mza-core-text-a50: var(--wp--preset--color--light-text-50);
        --mza-core-tonal-a00: var(--wp--preset--color--light-tonal-00);
        --mza-core-tonal-a10: var(--wp--preset--color--light-tonal-10);
        --mza-core-tonal-a20: var(--wp--preset--color--light-tonal-20);
        --mza-core-tonal-a30: var(--wp--preset--color--light-tonal-30);
        --mza-core-tonal-a40: var(--wp--preset--color--light-tonal-40);
        --mza-core-tonal-a50: var(--wp--preset--color--light-tonal-50);

        --header-shadow: 0 10px 15px 5px rgba(0, 0, 0, 3%);
        --inv-header-shadow: 0 -10px 15px 5px rgba(0, 0, 0, 3%);

        --loader: rgba(28, 25, 39, 0.15) rgba(28, 25, 39, 0.25) rgba(28, 25, 39, 0.35) rgba(28, 25, 39, 0.5);
    }    
}


@font-face{font-family: 'monavaz-sans'; src: url('https://monavaz.com/core/fonts/monavaz-sans.woff2') format('woff2'), url('https://monavaz.com/core/fonts/monavaz-sans.woff') format('woff'); font-weight: 500; font-style: normal; font-display: auto;}
@font-face{font-family: 'monavaz-sans'; src: url('https://monavaz.com/core/fonts/monavaz-sans-bold.woff2') format('woff2'), url('https://monavaz.com/core/fonts/monavaz-sans-bold.woff') format('woff'); font-weight: 700; font-style: normal; font-display: auto;}
@font-face{font-family: 'monavaz-sans'; src: url('https://monavaz.com/core/fonts/monavaz-sans-black.woff2') format('woff2'), url('https://monavaz.com/core/fonts/monavaz-sans-black.woff') format('woff'); font-weight: 900; font-style: normal; font-display: auto;}

* { 
    -webkit-tap-highlight-color: transparent !important; 
    font-family: "monavaz-sans";
    letter-spacing: -0.02em;
    direction: ltr;
    -moz-osx-font-smoothing: grayscale;
     -webkit-font-smoothing: antialiased;
} 
html {
    --wp--preset--font-size--small: 0.875em !important;
    --wp--preset--font-size--normal: 1.125em !important;
    --wp--preset--font-size--medium: 1.25em !important;
    --wp--preset--font-size--large: 2.75em !important;
    --wp--preset--font-size--x-large: 3.75em !important;
    
    --mza-core-duration: var(--wp--preset--duration, 0.25s);
    --mza-core-radius: var(--wp--preset--radius, 25px);

    --no_good_color: #F84E5A;
    --hov_no_good_color: #F84E5ABD;
    --link_color: var(--mza-core-tonal-a00);
    --hov_link_color: var(--mza-core-tonal-a50);
    --good_color: #2EBF40;
    --hov_good_color: #2EBF40BD;
}

html, body { 
    width: 100vw;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    background: var(--mza-core-surface-a00);
    transition: all var(--mza-core-duration) ease-in-out;
}


.container { width: 100%; margin: 0 auto; max-width: 1440px; }


.__site_banner {
    position: fixed;
	top: 0;
	left: 0;
	height: var(--wp--preset--banner_size);
	width: 100vw;
	z-index: 99999;

	background: var(--no_good_color);
	color: white;
    direction: ltr;
	font-size: var(--wp--preset--font-size--small);

	display: flex;
	align-items: center;
	justify-content: center;
}
.__site_banner .mza-icon {
    --size: 24px;
    --color: white;
    --hov_color: #ff9ca3;
    --weight: 2px;
    position: absolute;
    left: 10px;
    margin: 0;
}




/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- TEXT -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



h1, h2, h3, h4, h5, h6 { margin-top: 0; font-weight: 700; max-width: 600px; color: var(--mza-core-text-a00); }
h1 { font-size: 3.5em; }
h2 { font-size: 2.4em; margin: 0.67em auto; }
h3 { font-size: 2em; margin: 0.67em auto; }
p { font-size: var(--wp--preset--font-size--normal); line-height: 1.4em; font-weight: 500; margin: 1em auto; color: var(--mza-core-text-a30); }



a { 
    transition: all var(--mza-core-duration) ease-in-out;
    font-weight: inherit;
    text-decoration: none !important;
    color: inherit;
    position: relative;
    padding: 4px 0;
    width: fit-content;
}
a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    background-color: var(--mza-core-tonal-a00);
    opacity: 1;
    transition: all var(--mza-core-duration) ease-in-out;
    transform: scale(0);
    transform-origin: center;
}
a[class^="__mza-icon-"], [class^="__mza-icon-"] a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
[class^="__mza-icon-"] .mza-icon {
    --color: var(--mza-core-text-a30);
    --hov_color: var(--mza-core-text-a30);
    --size: 1em;
    --weight: 2.5px;
    margin: 0 5px;
}

figure > a::after { content: unset; }



.wp-block-list {
    font-size: var(--wp--preset--font-size--normal);
    text-align: left;
    color: var(--mza-core-text-a30);
    padding-left: 1em;

    display: flex;
    flex-direction: column;
    gap: 0.25em;
}

.stylized-list { padding-left: 2em; }    
.stylized-list li::marker { font-size: 0.75em; }
.stylized-list li > strong { color: var(--mza-core-text-a00); margin-top: 0.5em; font-weight: 500; }
.stylized-list li > span { padding: 0.5em 0; display: block; font-size: 0.875em; }
    
.is-skeleton-text {
    background: var(--mza-core-surface-a50);
    color: var(--mza-core-surface-a50);
    border-radius: 1em;
    padding: 0 0.5em;
}

.stylized-header {
    text-transform: uppercase;
    padding: 1em;
    outline: 2px var(--txt_color, var(--mza-core-tonal-a00)) solid;
    border-radius: var(--mza-core-radius);
    margin: 1em 0;
    width: fit-content;
    color: var(--mza-core-text-a00) !important;
    font-size: 12px;
    font-weight: 700;
}

.has-small-text {
    color: var(--mza-core-text-a50);
    font-size: var(--wp--preset--font-size--small) !important;
    text-align: center !important;
    margin: 2em auto;
}
.has-x-large-font-size { font-size: var(--wp--preset--font-size--x-large) !important; line-height: 1.05em !important; font-weight: 700 !important; margin: 0.67em auto !important; }
.has-large-font-size { font-size: var(--wp--preset--font-size--large) !important; line-height: 1.05em !important; font-weight: 700 !important; margin: 0.67em auto !important; }
.has-medium-font-size { font-size: var(--wp--preset--font-size--medium) !important; line-height: 1.4em !important; margin: 1em auto !important; }
.has-small-font-size { font-size: var(--wp--preset--font-size--small) !important; line-height: 1.4em !important; margin: 0 auto !important; }

sup { font-size: 0.625em !important; font-weight: 700; }
sup.exponent { font-size: 0.875em !important; font-weight: 500; }


@media (hover: none) {
    a.has-touch::after {
        opacity: 1;
        transform: scale(1);
    }
}
@media (hover: hover) {
    a:hover::after, a:focus::after {
        opacity: 1;
        transform: scale(1);
    }
}




/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- SIZES -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



.has__no_margin { margin: 0 !important; }
.has__no_margin_inner > div { margin: 0 !important; }

.has__margin_1 { margin: 1em !important; }
.has__margin_2 { margin: 2em !important; }
.has__margin_3 { margin: 3em !important; }

.has__no_margin_top { margin-top: 0 !important; }
.has__margin_top_1 { margin-top: 1em !important; }
.has__margin_top_2 { margin-top: 2em !important; }
.has__margin_top_3 { margin-top: 3em !important; }

.has__no_margin_left { margin-left: 0 !important; }
.has__margin_left_1 { margin-left: 1em !important; }
.has__margin_left_2 { margin-left: 2em !important; }
.has__margin_left_3 { margin-left: 3em !important; }

.has__no_margin_right { margin-right: 0 !important; }
.has__margin_right_1 { margin-right: 1em !important; }
.has__margin_right_2 { margin-right: 2em !important; }
.has__margin_right_3 { margin-right: 3em !important; }

.has__no_margin_bottom { margin-bottom: 0 !important; }
.has__margin_bottom_1 { margin-bottom: 1em !important; }
.has__margin_bottom_2 { margin-bottom: 2em !important; }
.has__margin_bottom_3 { margin-bottom: 3em !important; }

.has__no_padding { padding: 0 !important; }
.has__no_padding_inner > div { padding: 0 !important; }

.has__padding_1 { padding: 1em !important; }
.has__padding_2 { padding: 2em !important; }
.has__padding_3 { padding: 3em !important; }

.has__no_padding_top { padding-top: 0 !important; }
.has__padding_top_1 { padding-top: 1em !important; }
.has__padding_top_2 { padding-top: 2em !important; }
.has__padding_top_3 { padding-top: 3em !important; }

.has__no_padding_left { padding-left: 0 !important; }
.has__padding_left_1 { padding-left: 1em !important; }
.has__padding_left_2 { padding-left: 2em !important; }
.has__padding_left_3 { padding-left: 3em !important; }

.has__no_padding_right { padding-right: 0 !important; }
.has__padding_right_1 { padding-right: 1em !important; }
.has__padding_right_2 { padding-right: 2em !important; }
.has__padding_right_3 { padding-right: 3em !important; }

.has__no_padding_bottom { padding-bottom: 0 !important; }
.has__padding_bottom_1 { padding-bottom: 1em !important; }
.has__padding_bottom_2 { padding-bottom: 2em !important; }
.has__padding_bottom_3 { padding-bottom: 3em !important; }



.has__display_inline { display: inline; }
.has__display_inline_block { display: inline-block; }
.has__display_inline_flex { display: inline-flex; }

.has-align-left { text-align: left !important; margin-left: 0 !important; margin-right: auto  !important; }
.has-text-align-left { text-align: left !important; margin-left: 0 !important; margin-right: auto  !important; }

.has-align-center { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
.has-text-align-center { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }

.has-align-right { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }
.has-text-align-right { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }



/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- HEADER -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



header {
    position: fixed;
    z-index: 99;
    height: var(--wp--preset--header_size);
    padding: 0 2em;
    max-width: 100vw;
    width: calc(100vw - 4em);
    margin: 0;
    display: flex; 
    align-items: center;
    background-color: var(--mza-core-surface-a00);
    transition: all var(--mza-core-duration) ease-in-out;
}
header.scrolled { box-shadow: var(--header-shadow); }

header .site-logo {
    margin: 0 auto 0 0;
    height: calc(var(--wp--preset--header_size) - 0.5em);
    width: calc(var(--wp--preset--header_size) - 0.5em);
    padding: 0;
    outline: none;
    border: none;
}
header .site-logo::after { content: unset !important; }
header .site-logo img {
    height: calc(var(--wp--preset--header_size) - 0.5em);
    width: calc(var(--wp--preset--header_size) - 0.5em);
    -webkit-tap-highlight-color: transparent;
}

header .mza-icon {
    --color: var(--mza-core-text-a00);
    --hov_color: var(--mza-core-text-a30);
    --size: 2.5em;
    margin: 0;
}

header .header-icons {
    display: flex;
    flex-direction: row;
    gap: 1em;
    padding-left: 1em;
    margin-left: auto;
}

header .shop-button > svg { height: 28px; width: 28px; }
header .shop-button.notify::after { 
    content: '';
    background: var(--wp--preset--color--magic-potion);
    height: 10px;
    width: 10px;
    border-radius: 10px;
    transition: all var(--mza-core-duration) ease-in-out;
}

header .menu-hld {
    background-color: var(--mza-core-surface-a00);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    height: 0;
    margin: 0;
    overflow: hidden;
    padding-top: var(--wp--preset--header_size);
    z-index: -1;
    transition: height calc(var(--mza-core-duration) * 2) ease-in-out, background-color var(--mza-core-duration) ease-in-out;
}
header.opened .menu-hld {
    box-shadow: var(--header-shadow);
    height: var(--maxsize);
}

header .menu {
    padding: 0;
    list-style: none;
    text-align: left;

    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    gap: 0.5em;
    box-sizing: border-box;
    position: relative;
    height: fit-content;
    padding: 1em 3em 2em;
	opacity: 0;
    transition: all calc(var(--mza-core-duration) * 4) ease-in-out;
	transform: translateY(-1em);
}
header .menu li { color: var(--mza-core-text-a50); padding: 4px 0; }
header .menu li a {
    color: inherit;
    text-align: inherit;
    margin: 0;
    font-size: 1.25em;
}

header .menu li.current-menu-item { color: var(--mza-core-text-a00); }
header .menu li.current-menu-item a::after { transform: scale(1) !important; }

header .menu-usr {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    gap: 1em;

    margin-left: 3em;
    padding-bottom: 3em;

    opacity: 0;
    transition: all calc(var(--mza-core-duration) * 4) ease-in-out;
	transform: translateY(-1em);
}

header.opened .menu, header.opened .menu-usr {
	opacity: 1; 
	transform: translateY(0);
}

header .menu-usr-hld{
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 1em;
}
header .menu-usr-hld::after {
    content: var(--name);
    display: block;
    font-size: var(--wp--preset--font-size--normal);
    color: var(--mza-core-text-a00);
}
header .menu-usr img { 
    height: 2em;
    width: 2em;
    border-radius: 2em;
    cursor: pointer;
}

header .portal-butn { margin: 0 !important; }
header .portal-butn a { padding: 0.75em 2em; margin: 0 !important; }

html.has_banner header { margin-top: var(--wp--preset--banner_size); }



/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- MAIN & SECTIONS -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



main { 
    --adjusted_header: calc(var(--wp--preset--header_size) + 2em);
    padding: var(--adjusted_header) 1em 3em;
    width: calc(100vw - 2em);
    min-height: calc(100svh - var(--adjusted_header) - 3em);
    transition: all var(--mza-core-duration) ease-in-out;
}
html.has_banner main { --adjusted_header: calc(var(--wp--preset--header_size) + 2em + var(--wp--preset--banner_size)); }
header.opened ~ main, header.opened ~ footer {
    pointer-events: none;
    filter: grayscale(1);
    opacity: 0.25;
    overflow: hidden;
    transition: all var(--mza-core-duration);
}


section { width: 100%; }
section.space_tall { margin-top: 100px; margin-bottom: 100px; }
section.space_short { margin-top: 50px; margin-bottom: 50px; }
section.width_restricted { max-width: 800px; margin-left: auto; margin-right: auto; }
section.width_wide { max-width: 1200px; margin-left: auto; margin-right: auto; }
section.width_full { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }


figure { margin: 0; }

.frontpage-cover {
    margin-top: calc(-1px - var(--adjusted_header));
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    height: 100svh;
}
.frontpage-cover > div { padding: 2em; }
html:has(.frontpage-cover) header:not(.scrolled):not(.opened) { 
    --mza-core-text-a00: white;
    --mza-core-text-a50: white;
    background-color: transparent !important; 
}

span.divider {
    display: block;
    height: 2px;
    width: calc(100% - 2em);
    margin: 1em;
    background-color: var(--mza-core-surface-a20);
    border-radius: 1px;
}

.hidden { display: none !important; }

.is-style-rounded > a > img,
.is-style-rounded > img,
.is-style-rounded { border-radius: var(--mza-core-radius); }

.contact-form { max-width: 400px; margin: 0 auto; }
.contact-form .mza-input { max-width: unset; }
.contact-form .mza-button { max-width: 400px; width: fit-content; margin: 2em auto; }

.flexbox-mobile { 
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
}
.flexbox { 
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2em;
}

.constrained_columns { width: fit-content !important; margin-left: auto !important; margin-right: auto !important; gap: 0 !important; }

.float-button {
    --bg_color: var(--mza-core-tonal-a00) !important;
    --color: var(--mza-core-surface-a00) !important;
    --hov_bg_color: var(--mza-core-tonal-a20) !important;
    --hov_color: var(--mza-core-surface-a00) !important;

    --size: 3em !important;
    display: flex !important;
    position: fixed !important;
    bottom: 1em !important;
    left: 1em !important;
    margin: 0 !important;
    z-index: 999 !important;
}
.float-button svg{
    height: 24px !important;
    width: 24px !important;
}
#theme-button {
    --bg_color: var(--mza-core-surface-a20) !important;
    --color: var(--mza-core-text-a00) !important;
    --hov_bg_color: var(--mza-core-surface-a50) !important;
    --hov_color: var(--mza-core-text-a30) !important;
    left: unset !important;
    right: 1em !important;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- SCROLLING -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



.has__no_scrolling { overflow: hidden; }

.scroll_animation { animation-play-state: running; }
.scroll_animation.paused { animation: none !important; }


@supports (scrollbar-color:auto) {
    * {
        scrollbar-color: var(--mza-core-surface-a50) var(--mza-core-surface-a00);
        scrollbar-gutter: auto;
        scrollbar-width: thin;
    }
}



/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- FOOTER -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



footer {
	position: absolute;
	height: auto;
    padding: 0;
    max-width: 100vw;
    width: 100vw; 
    margin: 0;  
    transition: all var(--mza-core-duration) ease-in-out;
}
footer .container { 
    position: relative;
    margin: 0 calc(50% - 50vw); 
	padding: 2em 1em;
    max-width: 100vw !important;
    width: calc(100vw - 2em);
    border-radius: 0;
	background-color: var(--mza-core-surface-a10);

    display: flex;
    flex-direction: column;
    gap: 4em;
    
    transition: all var(--mza-core-duration) ease-in-out;
}

footer .divider {
    width: 100%;
    margin: 0;
    background-color: var(--mza-core-surface-a30);
}



footer a, footer p {
    font-size: 1em;
    text-align: inherit;
    color: var(--mza-core-text-a00);
    margin: 0;
}


footer .social-icons {
	display: flex;
    flex-direction: row;
    margin: 0;
    padding-top: 2em;
}
footer .social-icons > div {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}
footer .social-icons .mza-icon {
    --color: var(--mza-core-text-a00);
    --hov_color: var(--mza-core-text-a20);
    --size: 2em;
    margin: 0;
}



footer .menu {
    padding: 0;
    list-style: none;
    text-align: left;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0;
    gap: 4em;
    width: 100%;
}
footer .sub-menu {
    padding: 0;
    list-style: none;
    text-align: left;

    display: flex;
    flex-direction: column;
    margin-top: 0.5em;
    gap: 0.5em;
}
footer .menu-header {
    color: var(--mza-core-text-a50);
}



footer .copyright {
    width: 100%;
	display: flex;
    flex-direction: column;
    gap: 1.5em;
}
footer .copyright > div { 
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
    width: 100%;
}
footer .copyright .mza-icon {
    --color: var(--mza-core-text-a00);
    --hov_color: var(--mza-core-text-a20);
    --size: 1.5em;
    margin: 0;
}
footer .copyright .mza-icon[data-icon="battery"] svg > path:nth-child(2) {
    --color: var(--wp--preset--color--magic-potion) !important;
    --hov_color: var(--wp--preset--color--magic-potion) !important;
}
footer .copyright .mza-icon[data-icon="battery"].on svg > path:nth-child(2) {
    --color: var(--wp--preset--color--shamrock) !important;
    --hov_color: var(--wp--preset--color--shamrock) !important;
}



/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- SCREEN SIZE -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



@media only screen and (max-width: 600px) { 
    html:has(.frontpage-cover) header:not(.opened) .menu-hld { 
        --mza-core-text-a00: white;
        --mza-core-text-a50: white;
        background-color: transparent !important; 
    }
}
@media only screen and (min-width: 600px) { 
    header .site-logo { margin-right: 2em; }
    header .menu-button { display: none; }
    header .menu-hld {
        align-items: center;
        height: auto;
        width: 100%;
        flex-direction: row;
        position: unset;
        background-color: transparent;
        padding-top: unset;
        z-index: unset;
        box-shadow: unset !important;
    }
    header .menu {
        flex-direction: row;
        gap: 1em;
        padding: 0;
        transform: translateY(0);
        opacity: 1;
    }
    header .menu-usr {
        margin-left: auto;
        padding-bottom: 0;
        opacity: 1; 
        transform: translateY(0);
    }
    header .menu-usr-hld { flex-direction: row-reverse; }
    header .menu-usr-hld::after { font-size: 1em; } 
    header .menu li a {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1em;
    }
    
    .is-constrained { max-width: 350px; }

    footer .container {
        padding: 2em 4em;
        max-width: calc(100% - 8em);
        width: calc(100% - 8em);
    }
    footer .copyright { flex-direction: row; }
    footer .copyright > div { justify-content: center; }
}
@media only screen and (max-width: 734px) {
	.is_night_group, .is_gray_group { padding: 2em 1em; border-radius: 0; width: 100vw; max-width: 100vw !important; margin: 0 calc(50% - 50vw) !important; }
}
@media only screen and (min-width: 820px) {
    main { padding: var(--adjusted_header) 2em 3em; width: calc(100% - 4em); }
    .flexbox-mobile { flex-direction: row; gap: 2em; }
}

@media only screen and (min-width: 1068px) {
    html, body {
        --wp--preset--font-size--medium: 1.5em !important;
        --wp--preset--font-size--large: 4.25em !important;
        --wp--preset--font-size--x-large: 6em !important;
        --wp--preset--font-size--normal: 1.25em !important;
    }
    .wp-block-list, p { max-width: 875px; }
}



/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- COLORS -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



.has-text-color { color: var(--txt_color); }
.has-magic-potion-color { --txt_color: var(--wp--preset--color--magic-potion) !important; }
.has-raspberry-crush-color { --txt_color: var(--wp--preset--color--raspberry-crush) !important; }
.has-amethyst-surge-color { --txt_color: var(--wp--preset--color--amethyst-surge) !important; }
.has-galactic-violet-color { --txt_color: var(--wp--preset--color--galactic-violet) !important; }
.has-night-sky-indigo-color { --txt_color: var(--wp--preset--color--night-sky-indigo) !important; }
.has-ocean-blue-color { --txt_color: var(--wp--preset--color--ocean-blue) !important; }
.has-sky-mist-color { --txt_color: var(--wp--preset--color--sky-mist) !important; }
.has-turquoise-oasis-color { --txt_color: var(--wp--preset--color--turquoise-oasis) !important; }
.has-emerald-isle-color { --txt_color: var(--wp--preset--color--emerald-isle) !important; }
.has-evergreen-color { --txt_color: var(--wp--preset--color--evergreen) !important; }
.has-shamrock-background-color { --txt_color: var(--wp--preset--color--shamrock) !important; }
.has-lime-zest-color { --txt_color: var(--wp--preset--color--lime-zest) !important; }
.has-kiwi-splash-color { --txt_color: var(--wp--preset--color--kiwi-splash) !important; }
.has-sunbeam-yellow-color { --txt_color: var(--wp--preset--color--sunbeam-yellow) !important; }
.has-goldenrod-color { --txt_color: var(--wp--preset--color--goldenrod) !important; }
.has-tangerine-dream-color { --txt_color: var(--wp--preset--color--tangerine-dream) !important; }
.has-canyon-sunset-color { --txt_color: var(--wp--preset--color--canyon-sunset) !important; }
.has-espresso-bean-color { --txt_color: var(--wp--preset--color--espresso-bean) !important; }
.has-midnight-color { --txt_color: var(--wp--preset--color--midnight) !important; }
.has-obsidian-color { --txt_color: var(--wp--preset--color--obsidian) !important; }
.has-deep-charcoal-color { --txt_color: var(--wp--preset--color--deep-charcoal) !important; }
.has-stone-gray-color { --txt_color: var(--wp--preset--color--stone-gray) !important; }
.has-silver-lining-color { --txt_color: var(--wp--preset--color--silver-lining) !important; }
.has-snow-drift-color { --txt_color: var(--wp--preset--color--snow-drift) !important; }

.has-tonal-00-color { --txt_color: var(--mza-core-tonal-a00); }
.has-tonal-10-color { --txt_color: var(--mza-core-tonal-a10); }
.has-tonal-20-color { --txt_color: var(--mza-core-tonal-a20); }
.has-tonal-30-color { --txt_color: var(--mza-core-tonal-a30); }
.has-tonal-40-color { --txt_color: var(--mza-core-tonal-a40); }
.has-tonal-50-color { --txt_color: var(--mza-core-tonal-a50); }
.has-accent-00-color { --txt_color: var(--mza-core-accent-a00); }
.has-accent-10-color { --txt_color: var(--mza-core-accent-a10); }
.has-accent-20-color { --txt_color: var(--mza-core-accent-a20); }
.has-accent-30-color { --txt_color: var(--mza-core-accent-a30); }
.has-accent-40-color { --txt_color: var(--mza-core-accent-a40); }
.has-accent-50-color { --txt_color: var(--mza-core-accent-a50); }
.has-surface-00-color { --txt_color: var(--mza-core-surface-a00); }
.has-surface-10-color { --txt_color: var(--mza-core-surface-a10); }
.has-surface-20-color { --txt_color: var(--mza-core-surface-a20); }
.has-surface-30-color { --txt_color: var(--mza-core-surface-a30); }
.has-surface-40-color { --txt_color: var(--mza-core-surface-a40); }
.has-surface-50-color { --txt_color: var(--mza-core-surface-a50); }
.has-text-00-color { --txt_color: var(--mza-core-text-a00); }
.has-text-10-color { --txt_color: var(--mza-core-text-a10); }
.has-text-20-color { --txt_color: var(--mza-core-text-a20); }
.has-text-30-color { --txt_color: var(--mza-core-text-a30); }
.has-text-40-color { --txt_color: var(--mza-core-text-a40); }
.has-text-50-color { --txt_color: var(--mza-core-text-a50); }
.has-dark-tonal-00-color { --txt_color: var(--wp--preset--dark-tonal-a00); }
.has-dark-tonal-10-color { --txt_color: var(--wp--preset--dark-tonal-a10); }
.has-dark-tonal-20-color { --txt_color: var(--wp--preset--dark-tonal-a20); }
.has-dark-tonal-30-color { --txt_color: var(--wp--preset--dark-tonal-a30); }
.has-dark-tonal-40-color { --txt_color: var(--wp--preset--dark-tonal-a40); }
.has-dark-tonal-50-color { --txt_color: var(--wp--preset--dark-tonal-a50); }
.has-dark-accent-00-color { --txt_color: var(--wp--preset--dark-accent-a00); }
.has-dark-accent-10-color { --txt_color: var(--wp--preset--dark-accent-a10); }
.has-dark-accent-20-color { --txt_color: var(--wp--preset--dark-accent-a20); }
.has-dark-accent-30-color { --txt_color: var(--wp--preset--dark-accent-a30); }
.has-dark-accent-40-color { --txt_color: var(--wp--preset--dark-accent-a40); }
.has-dark-accent-50-color { --txt_color: var(--wp--preset--dark-accent-a50); }
.has-dark-surface-00-color { --txt_color: var(--wp--preset--dark-surface-a00); }
.has-dark-surface-10-color { --txt_color: var(--wp--preset--dark-surface-a10); }
.has-dark-surface-20-color { --txt_color: var(--wp--preset--dark-surface-a20); }
.has-dark-surface-30-color { --txt_color: var(--wp--preset--dark-surface-a30); }
.has-dark-surface-40-color { --txt_color: var(--wp--preset--dark-surface-a40); }
.has-dark-surface-50-color { --txt_color: var(--wp--preset--dark-surface-a50); }
.has-dark-text-00-color { --txt_color: var(--wp--preset--dark-text-a00); }
.has-dark-text-10-color { --txt_color: var(--wp--preset--dark-text-a10); }
.has-dark-text-20-color { --txt_color: var(--wp--preset--dark-text-a20); }
.has-dark-text-30-color { --txt_color: var(--wp--preset--dark-text-a30); }
.has-dark-text-40-color { --txt_color: var(--wp--preset--dark-text-a40); }
.has-dark-text-50-color { --txt_color: var(--wp--preset--dark-text-a50); }
.has-light-tonal-00-color { --txt_color: var(--wp--preset--light-tonal-a00); }
.has-light-tonal-10-color { --txt_color: var(--wp--preset--light-tonal-a10); }
.has-light-tonal-20-color { --txt_color: var(--wp--preset--light-tonal-a20); }
.has-light-tonal-30-color { --txt_color: var(--wp--preset--light-tonal-a30); }
.has-light-tonal-40-color { --txt_color: var(--wp--preset--light-tonal-a40); }
.has-light-tonal-50-color { --txt_color: var(--wp--preset--light-tonal-a50); }
.has-light-accent-00-color { --txt_color: var(--wp--preset--light-accent-a00); }
.has-light-accent-10-color { --txt_color: var(--wp--preset--light-accent-a10); }
.has-light-accent-20-color { --txt_color: var(--wp--preset--light-accent-a20); }
.has-light-accent-30-color { --txt_color: var(--wp--preset--light-accent-a30); }
.has-light-accent-40-color { --txt_color: var(--wp--preset--light-accent-a40); }
.has-light-accent-50-color { --txt_color: var(--wp--preset--light-accent-a50); }
.has-light-surface-00-color { --txt_color: var(--wp--preset--light-surface-a00); }
.has-light-surface-10-color { --txt_color: var(--wp--preset--light-surface-a10); }
.has-light-surface-20-color { --txt_color: var(--wp--preset--light-surface-a20); }
.has-light-surface-30-color { --txt_color: var(--wp--preset--light-surface-a30); }
.has-light-surface-40-color { --txt_color: var(--wp--preset--light-surface-a40); }
.has-light-surface-50-color { --txt_color: var(--wp--preset--light-surface-a50); }
.has-light-text-00-color { --txt_color: var(--wp--preset--light-text-a00); }
.has-light-text-10-color { --txt_color: var(--wp--preset--light-text-a10); }
.has-light-text-20-color { --txt_color: var(--wp--preset--light-text-a20); }
.has-light-text-30-color { --txt_color: var(--wp--preset--light-text-a30); }
.has-light-text-40-color { --txt_color: var(--wp--preset--light-text-a40); }
.has-light-text-50-color { --txt_color: var(--wp--preset--light-text-a50); }



.has-background { background-color: var(--bg_color); }
.has-magic-potion-background-color { --bg_color: var(--wp--preset--color--magic-potion) !important; }
.has-raspberry-crush-background-color { --bg_color: var(--wp--preset--color--raspberry-crush) !important; }
.has-amethyst-surge-background-color { --bg_color: var(--wp--preset--color--amethyst-surge) !important; }
.has-galactic-violet-background-color { --bg_color: var(--wp--preset--color--galactic-violet) !important; }
.has-night-sky-indigo-background-color { --bg_color: var(--wp--preset--color--night-sky-indigo) !important; }
.has-ocean-blue-background-color { --bg_color: var(--wp--preset--color--ocean-blue) !important; }
.has-sky-mist-background-color { --bg_color: var(--wp--preset--color--sky-mist) !important; }
.has-turquoise-oasis-background-color { --bg_color: var(--wp--preset--color--turquoise-oasis) !important; }
.has-emerald-isle-background-color { --bg_color: var(--wp--preset--color--emerald-isle) !important; }
.has-evergreen-background-color { --bg_color: var(--wp--preset--color--evergreen) !important; }
.has-shamrock-background-color { --bg_color: var(--wp--preset--color--shamrock) !important; }
.has-lime-zest-background-color { --bg_color: var(--wp--preset--color--lime-zest) !important; }
.has-kiwi-splash-background-color { --bg_color: var(--wp--preset--color--kiwi-splash) !important; }
.has-sunbeam-yellow-background-color { --bg_color: var(--wp--preset--color--sunbeam-yellow) !important; }
.has-goldenrod-background-color { --bg_color: var(--wp--preset--color--goldenrod) !important; }
.has-tangerine-dream-background-color { --bg_color: var(--wp--preset--color--tangerine-dream) !important; }
.has-canyon-sunset-background-color { --bg_color: var(--wp--preset--color--canyon-sunset) !important; }
.has-espresso-bean-background-color { --bg_color: var(--wp--preset--color--espresso-bean) !important; }
.has-midnight-background-color { --bg_color: var(--wp--preset--color--midnight) !important; }
.has-obsidian-background-color { --bg_color: var(--wp--preset--color--obsidian) !important; }
.has-deep-charcoal-background-color { --bg_color: var(--wp--preset--color--deep-charcoal) !important; }
.has-stone-gray-background-color { --bg_color: var(--wp--preset--color--stone-gray) !important; }
.has-silver-lining-background-color { --bg_color: var(--wp--preset--color--silver-lining) !important; }
.has-snow-drift-background-color { --bg_color: var(--wp--preset--color--snow-drift) !important; }

.has-tonal-00-background-color { --bg_color: var(--mza-core-tonal-a00); }
.has-tonal-10-background-color { --bg_color: var(--mza-core-tonal-a10); }
.has-tonal-20-background-color { --bg_color: var(--mza-core-tonal-a20); }
.has-tonal-30-background-color { --bg_color: var(--mza-core-tonal-a30); }
.has-tonal-40-background-color { --bg_color: var(--mza-core-tonal-a40); }
.has-tonal-50-background-color { --bg_color: var(--mza-core-tonal-a50); }
.has-accent-00-background-color { --bg_color: var(--mza-core-accent-a00); }
.has-accent-10-background-color { --bg_color: var(--mza-core-accent-a10); }
.has-accent-20-background-color { --bg_color: var(--mza-core-accent-a20); }
.has-accent-30-background-color { --bg_color: var(--mza-core-accent-a30); }
.has-accent-40-background-color { --bg_color: var(--mza-core-accent-a40); }
.has-accent-50-background-color { --bg_color: var(--mza-core-accent-a50); }
.has-surface-00-background-color { --bg_color: var(--mza-core-surface-a00); }
.has-surface-10-background-color { --bg_color: var(--mza-core-surface-a10); }
.has-surface-20-background-color { --bg_color: var(--mza-core-surface-a20); }
.has-surface-30-background-color { --bg_color: var(--mza-core-surface-a30); }
.has-surface-40-background-color { --bg_color: var(--mza-core-surface-a40); }
.has-surface-50-background-color { --bg_color: var(--mza-core-surface-a50); }
.has-text-00-background-color { --bg_color: var(--mza-core-text-a00); }
.has-text-10-background-color { --bg_color: var(--mza-core-text-a10); }
.has-text-20-background-color { --bg_color: var(--mza-core-text-a20); }
.has-text-30-background-color { --bg_color: var(--mza-core-text-a30); }
.has-text-40-background-color { --bg_color: var(--mza-core-text-a40); }
.has-text-50-background-color { --bg_color: var(--mza-core-text-a50); }
.has-dark-tonal-00-background-color { --bg_color: var(--wp--preset--dark-tonal-a00); }
.has-dark-tonal-10-background-color { --bg_color: var(--wp--preset--dark-tonal-a10); }
.has-dark-tonal-20-background-color { --bg_color: var(--wp--preset--dark-tonal-a20); }
.has-dark-tonal-30-background-color { --bg_color: var(--wp--preset--dark-tonal-a30); }
.has-dark-tonal-40-background-color { --bg_color: var(--wp--preset--dark-tonal-a40); }
.has-dark-tonal-50-background-color { --bg_color: var(--wp--preset--dark-tonal-a50); }
.has-dark-accent-00-background-color { --bg_color: var(--wp--preset--dark-accent-a00); }
.has-dark-accent-10-background-color { --bg_color: var(--wp--preset--dark-accent-a10); }
.has-dark-accent-20-background-color { --bg_color: var(--wp--preset--dark-accent-a20); }
.has-dark-accent-30-background-color { --bg_color: var(--wp--preset--dark-accent-a30); }
.has-dark-accent-40-background-color { --bg_color: var(--wp--preset--dark-accent-a40); }
.has-dark-accent-50-background-color { --bg_color: var(--wp--preset--dark-accent-a50); }
.has-dark-surface-00-background-color { --bg_color: var(--wp--preset--dark-surface-a00); }
.has-dark-surface-10-background-color { --bg_color: var(--wp--preset--dark-surface-a10); }
.has-dark-surface-20-background-color { --bg_color: var(--wp--preset--dark-surface-a20); }
.has-dark-surface-30-background-color { --bg_color: var(--wp--preset--dark-surface-a30); }
.has-dark-surface-40-background-color { --bg_color: var(--wp--preset--dark-surface-a40); }
.has-dark-surface-50-background-color { --bg_color: var(--wp--preset--dark-surface-a50); }
.has-dark-text-00-background-color { --bg_color: var(--wp--preset--dark-text-a00); }
.has-dark-text-10-background-color { --bg_color: var(--wp--preset--dark-text-a10); }
.has-dark-text-20-background-color { --bg_color: var(--wp--preset--dark-text-a20); }
.has-dark-text-30-background-color { --bg_color: var(--wp--preset--dark-text-a30); }
.has-dark-text-40-background-color { --bg_color: var(--wp--preset--dark-text-a40); }
.has-dark-text-50-background-color { --bg_color: var(--wp--preset--dark-text-a50); }
.has-light-tonal-00-background-color { --bg_color: var(--wp--preset--light-tonal-a00); }
.has-light-tonal-10-background-color { --bg_color: var(--wp--preset--light-tonal-a10); }
.has-light-tonal-20-background-color { --bg_color: var(--wp--preset--light-tonal-a20); }
.has-light-tonal-30-background-color { --bg_color: var(--wp--preset--light-tonal-a30); }
.has-light-tonal-40-background-color { --bg_color: var(--wp--preset--light-tonal-a40); }
.has-light-tonal-50-background-color { --bg_color: var(--wp--preset--light-tonal-a50); }
.has-light-accent-00-background-color { --bg_color: var(--wp--preset--light-accent-a00); }
.has-light-accent-10-background-color { --bg_color: var(--wp--preset--light-accent-a10); }
.has-light-accent-20-background-color { --bg_color: var(--wp--preset--light-accent-a20); }
.has-light-accent-30-background-color { --bg_color: var(--wp--preset--light-accent-a30); }
.has-light-accent-40-background-color { --bg_color: var(--wp--preset--light-accent-a40); }
.has-light-accent-50-background-color { --bg_color: var(--wp--preset--light-accent-a50); }
.has-light-surface-00-background-color { --bg_color: var(--wp--preset--light-surface-a00); }
.has-light-surface-10-background-color { --bg_color: var(--wp--preset--light-surface-a10); }
.has-light-surface-20-background-color { --bg_color: var(--wp--preset--light-surface-a20); }
.has-light-surface-30-background-color { --bg_color: var(--wp--preset--light-surface-a30); }
.has-light-surface-40-background-color { --bg_color: var(--wp--preset--light-surface-a40); }
.has-light-surface-50-background-color { --bg_color: var(--wp--preset--light-surface-a50); }
.has-light-text-00-background-color { --bg_color: var(--wp--preset--light-text-a00); }
.has-light-text-10-background-color { --bg_color: var(--wp--preset--light-text-a10); }
.has-light-text-20-background-color { --bg_color: var(--wp--preset--light-text-a20); }
.has-light-text-30-background-color { --bg_color: var(--wp--preset--light-text-a30); }
.has-light-text-40-background-color { --bg_color: var(--wp--preset--light-text-a40); }
.has-light-text-50-background-color { --bg_color: var(--wp--preset--light-text-a50); }




/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- END OF LOG -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */



.disabled, .no-events {
    pointer-events: none;
}

.disabled {
    filter: grayscale(1);
    opacity: 0.25;
    transition: all var(--mza-core-duration) ease-in-out;
    cursor: not-allowed;
}

.disabled * {
    pointer-events: none;
    filter: grayscale(1);
    transition: all var(--mza-core-duration) ease-in-out;
}

.disabled input::placeholder {
    opacity: 1;
}



.mza-list {
    display: block;
    margin: 0 0 2em;
    padding: 0 2em;
    background-color: var(--mza-core-surface-a10);
    border-radius: var(--mza-core-radius);
    transition: all var(--mza-core-duration);
}
.mza-list-item:not(.no-hover) {
    cursor: pointer;
}
.mza-list-item {
    display: grid;
    padding: 2em 0;
    grid-template-columns: calc(100% - 28px - 1em) 28px;
    grid-template-rows: auto;
    grid-gap: 1em;
    width: 100%;
    box-shadow: 0 -1px 0 var(--mza-core-surface-a40) inset;
    transition: all var(--mza-core-duration) ease-in-out;
}
.mza-list-item:has(.mza-switch) { grid-template-columns: calc(100% - 40px - 1em) 40px; }
.mza-list-item:has(img) { grid-template-columns: 50px calc(100% - 50px - 28px - 2em) 28px; }
.mza-list-item:has(.mza-icon[data-style="filled"]) { grid-template-columns: 28px calc(100% - 28px - 28px - 2em) 28px; }
.mza-list-item:has(.mza-icon[data-icon="chevron_right"]) { grid-template-columns: calc(100% - 35px - 1em) 35px; }
.mza-list-item:has(.mza-icon[data-icon="chevron_right"]):has(img) { grid-template-columns: 50px calc(100% - 50px - 35px - 2em) 35px; }
.mza-list-item:has(.mza-icon[data-icon="chevron_right"]):has(.mza-icon[data-style="filled"]) { grid-template-columns: 28px calc(100% - 28px - 35px - 2em) 35px; }
.mza-list-item:has(.mza-checks) { grid-template-columns: 100% !important; }

.mza-list-item:last-child { box-shadow: none; }

.mza-list-item img {
    border-radius: 50%;
    height: 50px;
    width: 50px;
}

.mza-list-title {
    font-size: 1em;
    font-weight: 700;
    opacity: 0.25;
    margin: 0 1em 1em;
}
.mza-list-info { font-size: 1em; margin: 1em 1em 3em; }
.mza-list + .mza-list-info { margin-top: -1em; }


.mza-list-item p {
    align-self: center;
    text-align: left;
    margin: 0;
    text-wrap: nowrap;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1em;
    width: 100%;
    max-width: calc(100% - 10px);
}
.mza-list-item:has(.mza-switch) p { white-space: unset; }
.mza-list-item p.bold { font-weight: 700; font-size: 1.2em; }
.mza-list-item p span { opacity: 0.5; }
.mza-list-item-title { color: var(--mza-core-text-a00); }
.mza-list-item-info { color: var(--mza-core-text-a50); }

.mza-list-item > .mza-checks { grid-row: 2; grid-column: 1 / 4; }

.mza-list-item > .mza-switch { align-self: center; }

.mza-list-item > .mza-icon { --size: 28px; margin: 0; align-self: center; }
.mza-list-item > .mza-icon[data-icon="chevron_right"] { --size: 35px; }
.mza-list-item > .mza-icon[data-icon="link"] { --size: 20px; --weight: 2px; }


.mza-list-item > .mza-icon {
    --color: var(--mza-core-surface-a50);
    --hov_color: var(--mza-core-surface-a40);
}


.mza-list-item.itemized { grid-template-columns: 1fr 1fr; grid-gap: 0 1em; }
.mza-list-item.itemized *:nth-child(even) { text-align: right; grid-column: 2; }
.mza-list-item.itemized.line-item *:first-child { grid-area: 1 / 1 / 1 / 3; }
.mza-list-item.itemized.line-item *:nth-child(3) { grid-area: 2 / 1 / 2 / 2; }
.mza-list-item.itemized:not(.line-item) .mza-list-item-info { margin: 1em 0 0; }



html:has(#model-overlay.loading), body:has(#model-overlay.loading) { overflow: hidden !important; }
#model-overlay {
    width: calc(100vw - 2em);
    padding: 1em;
}

#model-overlay:not(.loaded):not(.loading) { display: none; }
#model-overlay.loaded ~ * { display: none; }


#model-overlay form {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto 1fr;
    grid-gap: 1em;
    padding: 0;
    height: auto;
    min-height: calc(100svh - 2em);
    margin: 0 auto;
}

#model-overlay form .site-logo {
    grid-row: 1;
    margin: 0 auto;
    display: block;
    padding: 0;
    outline: none;
    border: none;
}
#model-overlay form .site-logo::after { content: unset; }
#model-overlay form .site-logo img { height: 80px; width: 80px; -webkit-tap-highlight-color: transparent; }
#model-overlay form .header { grid-row: 2; margin-bottom: 1em; }
#model-overlay form .info-header {
    margin: 0 auto;
    font-size: 2em;
    color: var(--mza-core-text-a00);
    text-align: center;
}
#model-overlay form .info-subheader {
    margin: 1em auto 0;
    font-size: 1em;
    text-align: center;
}
#model-overlay form .info-link {
    font-size: 16px;
    cursor: pointer;
    margin: 0 auto;
    text-align: center;
    position: relative;
    padding: 4px 0;
    width: fit-content;
    transition: all var(--mza-core-duration) ease-in-out;
}
#model-overlay form .info-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 1px;
    background-color: var(--mza-core-tonal-a00);
    opacity: 1;
    transition: all var(--mza-core-duration) ease-in-out;
    transform: scale(0);
    transform-origin: center;
}
#model-overlay form .input-hld { grid-row: 3; }
#model-overlay form .input-hld .mza-input { --bg_color: var(--mza-core-surface-a00); margin: 0 0 1em; max-width: unset; }
#model-overlay form .input-hld .mza-input textarea:not(:focus),
#model-overlay form .input-hld .mza-input input:not(:focus) { outline-color: var(--mza-core-surface-a30); }
#model-overlay form .input-hld .rowed-inputs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1em;
}
#model-overlay form .input-hld .rowed-inputs .mza-input { width: calc(50% - 0.5em); }

#model-overlay form .button-hld {
    margin-top: auto;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: flex-start;
    gap: 2em;
    grid-row: 4;
}
#model-overlay form .mza-button { margin: 0; }
#model-overlay form .mza-button.secondary { margin-right: auto; }
#model-overlay form .mza-button div:has(.grecaptcha-badge) { display: none !important; }

#model-overlay.loading {
    height: calc(100vh - 2em);
    pointer-events: none;
    filter: grayscale(1);
    transition: all var(--mza-core-duration) ease-in-out;
    cursor: not-allowed;
}
#model-overlay.loading::after {
    content: ' ';
    display: inline-block;
    align-self: center;
    justify-self: center;
    position: absolute;
    top: calc(50vh - 24px);
    bottom: calc(50vh - 24px);
    left: calc(50vw - 24px);
    right: calc(50vw - 24px);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 10px solid;
    border-color: var(--loader);
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}


@media (hover: none) {
    .info-link.has-touch::after {
        opacity: 1 !important;
        transform: scale(1) !important;
    }
    .mza-list-item.has-touch:not(.no-hover) {
        opacity: 0.75;
    }
    .mza-list-item.has-touch:not(.no-hover) .mza-icon[data-icon="chevron_right"] {
        transform: translate(0.5em, 0) scale(0.97);
    }
}
@media (hover: hover) {
    .info-link:hover::after, .info-link:focus::after {
        opacity: 1 !important;
        transform: scale(1) !important;
    }
    .mza-list-item:not(.no-hover):hover { opacity: 0.75; }
    .mza-list-item:not(.no-hover):hover .mza-icon[data-icon="chevron_right"] { transform: translate(0.5em, 0); }

    .mza-list-item:not(.no-hover):active .mza-icon[data-icon="chevron_right"] { transform: translate(0.5em, 0) scale(0.97); }
}

@media only screen and (min-width: 600px) {
    html:has(#model-overlay.loaded), body:has(#model-overlay.loaded) { overflow: hidden !important; }
    .overflow-box {
        max-height: 100%;
        overflow-y: scroll;
        overflow-x: hidden;
        margin: 0 0.5em;
        padding: 0;
        width: 100%;
    }
    .overflow-box::before, .overflow-box::after {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 60px;
        z-index: 2;
        pointer-events: none;
        transition: all var(--mza-core-duration) ease-in-out;
    }
    .overflow-box::before {
        top: 0;
        background: linear-gradient(
            to top,
            transparent 0%,
            var(--mza-core-surface-a00) 75%
        );
    }
    .overflow-box::after {
        bottom: 0;
        background: linear-gradient(
            to bottom, 
            transparent 0%,
            var(--mza-core-surface-a00) 75%
        );
    }

    .overflow-box.is-at-top::before, .overflow-box.is-at-bottom::after {
        opacity: 0;
    }

    .overflow-box .mza-input {
        max-width: calc(100% - 0.7em) !important;
        padding: 2px;
    }
    .overflow-box > .rowed-inputs { width: calc(100% - 0.5em); }

    html:has(#model-overlay.loaded), body:has(#model-overlay.loaded) { background: var(--mza-core-surface-a10); }
    #model-overlay {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        height: calc(100vh - 4em);
        width: calc(100vw - 4em);
        padding: 2em;
    }
    #model-overlay.loading {
        height: calc(100vh - 4em);
    }

    #model-overlay form {
        background: var(--mza-core-surface-a00);
        grid-template-columns: 1fr 1.25fr;
        grid-gap: 1em 3em;
        padding: 3em;
        height: fit-content;
        width: calc(100% - 6em);
        min-height: 300px;
        max-height: calc(100vh - 4em);
        max-width: 700px;
        margin: 0 auto;
        border-radius: var(--mza-core-radius);
    }
    #model-overlay form .site-logo { grid-column: 1; margin: -1em; }
    #model-overlay form .header { grid-column: 1; }
    #model-overlay form .input-hld { grid-column: 2; grid-row: 2; }
    #model-overlay form .input-hld:has(.overflow-box) {
        max-height: calc(100vh - 12em - 52px);
        overflow: hidden;
        position: relative; 
    }


    #model-overlay form .button-hld { grid-column: 2; grid-row: 3; }
    #model-overlay form .info-header { margin: 0; text-align: left; }
    #model-overlay form .info-subheader { margin: 1em 0 0; text-align: left; }
    #model-overlay form .info-link { text-align: left; margin: 0; }
    #model-overlay form .mza-button.secondary { margin-right: 0; }
}
@keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }} 