/* Joomla 3 compatibility layer for the original Microplane visual style. */
#nav ul.nav,
#nav ul.menu,
#nav ul.mod-menu {
    margin: 0;
    padding: 0;
}

#nav li.current > a,
#nav li.active > a,
#nav li.current > a:hover,
#nav li.active > a:hover {
    color: #fff;
    background-image: url(../images/buttonhover.png);
    background-color: #3399CC;
}

#nav .nav > li > ul {
    display: none;
    position: absolute;
    z-index: 1000;
    min-width: 170px;
    margin-top: 27px;
    padding: 0;
    background: #e8e8e8;
    border: 1px solid #bbb;
}

#nav .nav > li:hover > ul,
#nav .nav > li:focus-within > ul {
    display: block;
}

#nav .nav > li > ul li,
#nav .nav > li > ul a {
    float: none;
    display: block;
    width: auto;
    text-align: left;
}

#left .nav,
#left .menu,
#left .mod-menu {
    margin-top: 0;
    margin-bottom: 0;
}

#left .nav li,
#left .menu li,
#left .mod-menu li {
    list-style: none;
}

#left .nav li.current > a,
#left .menu li.current > a,
#left .mod-menu li.current > a,
#left .nav li.active > a,
#left .menu li.active > a,
#left .mod-menu li.active > a {
    background-color: #0066FF;
    color: #fff;
    background-image: url(../images/vertnavbutton-hover.png);
}

#content img {
    max-width: 100%;
    height: auto;
}

#content table {
    max-width: 100%;
}

#content .item-page,
#content .blog,
#content .category-list {
    overflow: hidden;
}

#content .page-header {
    border: 0;
    margin: 0 0 10px;
    padding: 0;
}

#content .page-header h1,
#content .page-header h2 {
    margin: 0;
}

/* Joomla 3 wraps search controls differently than Joomla 1.5. */
#search form,
#search .form-inline,
#search .search {
    margin: 0;
}

#search input.inputbox,
#search input[type="search"],
#search input[type="text"] {
    width: 170px;
    height: 19px;
    padding: 0 4px;
}

/* The old template kept the left menu visually inside the page at normal widths. */
@media (max-width: 1000px) {
    #wrapper,
    #Menu {
        width: 96%;
    }

    #left,
    #right,
    #content {
        float: none;
        position: static;
        width: auto !important;
    }
}

/* v1.1: Joomla 3 renders both top and left menu modules with class="menu".
   The legacy generic .menu rule is intentionally retained for the left rail,
   so the top navigation is explicitly reset here. */
#nav,
#nav .moduletable,
#nav .moduletable_menu,
#nav .mod-menu {
    float: right;
    width: auto !important;
    height: 28px;
    margin: 0;
    padding: 0;
}

#nav > ul,
#nav > div > ul,
#nav ul.nav,
#nav ul.menu,
#nav ul.mod-menu,
#nav ul.menu.mod-list {
    display: block !important;
    float: left !important;
    width: auto !important;
    min-width: 0 !important;
    height: 28px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
    text-indent: 0 !important;
    white-space: nowrap;
}

#nav > ul > li,
#nav > div > ul > li,
#nav ul.nav > li,
#nav ul.menu > li,
#nav ul.mod-menu > li,
#nav ul.menu.mod-list > li {
    float: left !important;
    display: block !important;
    position: relative !important;
    width: auto !important;
    height: 27px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-right: 1px solid #ccc;
}

#nav > ul > li:first-child,
#nav > div > ul > li:first-child,
#nav ul.nav > li:first-child,
#nav ul.menu > li:first-child,
#nav ul.mod-menu > li:first-child,
#nav ul.menu.mod-list > li:first-child {
    border-left: 1px solid #ccc;
}

#nav > ul > li > a,
#nav > div > ul > li > a,
#nav ul.nav > li > a,
#nav ul.menu > li > a,
#nav ul.mod-menu > li > a,
#nav ul.menu.mod-list > li > a {
    float: left !important;
    display: block !important;
    box-sizing: border-box;
    width: auto !important;
    height: 27px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    line-height: 26px !important;
    color: #000 !important;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    background: transparent;
}

#nav > ul > li.current > a,
#nav > ul > li.active > a,
#nav > div > ul > li.current > a,
#nav > div > ul > li.active > a,
#nav ul.nav > li.current > a,
#nav ul.nav > li.active > a,
#nav ul.menu > li.current > a,
#nav ul.menu > li.active > a,
#nav ul.mod-menu > li.current > a,
#nav ul.mod-menu > li.active > a,
#nav ul.menu.mod-list > li.current > a,
#nav ul.menu.mod-list > li.active > a,
#nav > ul > li > a:hover,
#nav > div > ul > li > a:hover,
#nav ul.nav > li > a:hover,
#nav ul.menu > li > a:hover,
#nav ul.mod-menu > li > a:hover,
#nav ul.menu.mod-list > li > a:hover {
    color: #fff !important;
    background-color: #0066ff !important;
    background-image: url(../images/buttonhover.png) !important;
    background-repeat: repeat-x !important;
}

/* Keep any future submenu vertical, below its horizontal parent. */
#nav > ul > li > ul,
#nav > div > ul > li > ul,
#nav ul.nav > li > ul,
#nav ul.menu > li > ul,
#nav ul.mod-menu > li > ul,
#nav ul.menu.mod-list > li > ul {
    display: none;
    position: absolute;
    top: 27px;
    left: -1px;
    z-index: 1000;
    width: 190px !important;
    height: auto;
    margin: 0;
    padding: 0;
    white-space: normal;
    background: #e8e8e8;
    border: 1px solid #bbb;
}

#nav > ul > li:hover > ul,
#nav > ul > li:focus-within > ul,
#nav > div > ul > li:hover > ul,
#nav > div > ul > li:focus-within > ul,
#nav ul.nav > li:hover > ul,
#nav ul.nav > li:focus-within > ul,
#nav ul.menu > li:hover > ul,
#nav ul.menu > li:focus-within > ul,
#nav ul.mod-menu > li:hover > ul,
#nav ul.mod-menu > li:focus-within > ul,
#nav ul.menu.mod-list > li:hover > ul,
#nav ul.menu.mod-list > li:focus-within > ul {
    display: block;
}

#nav > ul > li > ul li,
#nav > div > ul > li > ul li,
#nav ul.nav > li > ul li,
#nav ul.menu > li > ul li,
#nav ul.mod-menu > li > ul li,
#nav ul.menu.mod-list > li > ul li,
#nav > ul > li > ul a,
#nav > div > ul > li > ul a,
#nav ul.nav > li > ul a,
#nav ul.menu > li > ul a,
#nav ul.mod-menu > li > ul a,
#nav ul.menu.mod-list > li > ul a {
    float: none !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 26px;
    text-align: left;
}

/* Footer restored from the original Microplane template.
   Its fixed 50px image height and positioned credit prevent the bottom from
   taking part in the content float layout. */
#wrapper {
    padding-bottom: 0;
}

#footer {
    clear: both;
    position: relative;
    width: 990px;
    min-height: 50px;
    height: 50px;
    margin: 0 auto 20px;
    box-sizing: border-box;
    background-image: url(../images/footer.png);
    background-repeat: no-repeat;
}

#footer .footer-inner {
    position: relative;
    min-height: 50px;
}

#footer .moduletable,
#footer .moduletable_menu,
#footer .module {
    margin: 0;
    padding: 0;
}

#sozdatel {
    position: absolute;
    top: 0;
    right: 15px;
    width: 300px;
    height: 36px;
    padding: 0;
    font-size: 10px;
    line-height: 1;
    text-align: right;
    color: #ccc;
    cursor: pointer;
}

/* Original sozdatel hover behaviour, retained without an external link. */
#sozdatel:hover {
    color: #222;
}

#sozdatel .joomla-template {
    color: inherit;
    text-decoration: none;
}

#sozdatel .joomla-template-design {
    position: absolute;
    top: 0;
    right: 0;
    width: 26px;
    height: 29px;
    border: 0;
}

#sozdatel .joomla-template {
    position: absolute;
    top: 5px;
    right: 33px;
    display: block;
}

@media (max-width: 1000px) {
    #footer {
        width: 96%;
        background-size: 100% 50px;
    }

    #nav {
        float: none;
        overflow-x: auto;
        margin-right: 0;
    }
}

/* v1.2: restore the original Microplane right offset for the horizontal menu.
   v1.1 reset all #nav margins to zero to neutralise Joomla 3 module styles,
   but the legacy template deliberately used 36px on the outer nav container. */
#nav {
    margin: 0 36px 0 0 !important;
}

#nav .moduletable,
#nav .moduletable_menu,
#nav .module,
#nav .mod-menu {
    margin: 0 !important;
}


/* v1.3: Joomla Language Switcher — keep flags compact and on one row.
   The Joomla 3 module uses <div class="mod-languages"><ul class="lang-inline">.
   Legacy styles inherited from the old template made each item behave like a
   block and allowed images to inherit a larger size. */
.mod-languages,
#search .mod-languages {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle;
}

.mod-languages ul,
.mod-languages ul.lang-inline,
#search .mod-languages ul,
#search .mod-languages ul.lang-inline {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    line-height: 12px !important;
}

.mod-languages li,
.mod-languages ul.lang-inline > li,
#search .mod-languages li,
#search .mod-languages ul.lang-inline > li {
    display: inline-block !important;
    float: none !important;
    width: auto !important;
    height: 12px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 12px !important;
    vertical-align: middle !important;
}

.mod-languages a,
#search .mod-languages a {
    display: inline-block !important;
    float: none !important;
    width: auto !important;
    height: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 12px !important;
    background: none !important;
    vertical-align: middle !important;
}

.mod-languages img,
#search .mod-languages img {
    display: block !important;
    width: 16px !important;
    height: 11px !important;
    max-width: 16px !important;
    max-height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: cover;
}

/* The active language should remain visible but not reserve a separate row. */
.mod-languages .lang-active,
#search .mod-languages .lang-active {
    opacity: 0.72;
}

/* v2.4.8: keep the language module in its original search-slot position.
   Horizontal layout is handled by the rules below; the slot itself is not moved. */
#search {
    position: static !important;
    left: auto !important;
    top: auto !important;
}



/* v2.4.5: the language module uses a custom Joomla module class suffix.
   Support both possible layouts: class on the outer module wrapper or on
   the switcher itself. The flags must remain a single compact row. */
#search .microplane-language-switcher {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    line-height: 12px !important;
}

#search .microplane-language-switcher > .mod-languages,
#search .microplane-language-switcher .mod-languages,
#search .microplane-language-switcher > ul,
#search .microplane-language-switcher ul,
#search ul.microplane-language-switcher {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    line-height: 12px !important;
    white-space: nowrap !important;
}

#search .microplane-language-switcher li,
#search .microplane-language-switcher ul > li,
#search ul.microplane-language-switcher > li {
    display: inline-block !important;
    flex: 0 0 auto !important;
    float: none !important;
    width: auto !important;
    height: 12px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 12px !important;
    vertical-align: middle !important;
}

#search .microplane-language-switcher a,
#search ul.microplane-language-switcher a {
    display: inline-block !important;
    float: none !important;
    width: auto !important;
    height: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 12px !important;
    background: none !important;
    vertical-align: middle !important;
}

#search .microplane-language-switcher img,
#search ul.microplane-language-switcher img {
    display: block !important;
    width: 16px !important;
    height: 11px !important;
    max-width: 16px !important;
    max-height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: cover;
}

/* v1.8: Kunena archive readability.
   The forum text was readable, but the pale legacy page background did not
   visually separate adjacent posts. Restore the old Microplane/Kunena blue
   block hierarchy with solid panels, borders and spacing. */
#Kunena .kmessage,
#Kunena table.kmessage,
#kunena .kmessage,
#kunena table.kmessage {
    margin: 12px 0 !important;
    border: 1px solid #4c82ad !important;
    background: #f7fcff !important;
    box-shadow: 0 1px 2px rgba(0, 61, 108, 0.34) !important;
}

#Kunena .kmsg-header,
#Kunena .kmessage-header,
#kunena .kmsg-header,
#kunena .kmessage-header {
    background: #5388b4 !important;
    border-bottom: 1px solid #376d99 !important;
    color: #ffffff !important;
}

#Kunena .kmsg-header a,
#Kunena .kmessage-header a,
#Kunena .kmsg-header h1,
#Kunena .kmsg-header h2,
#Kunena .kmessage-header h1,
#Kunena .kmessage-header h2,
#kunena .kmsg-header a,
#kunena .kmessage-header a,
#kunena .kmsg-header h1,
#kunena .kmsg-header h2,
#kunena .kmessage-header h1,
#kunena .kmessage-header h2 {
    color: #ffffff !important;
}

#Kunena td.kmessage-left,
#Kunena td.kmessage-top,
#Kunena .kmessage-left,
#Kunena .kmessage-top,
#kunena td.kmessage-left,
#kunena td.kmessage-top,
#kunena .kmessage-left,
#kunena .kmessage-top {
    background: #e2f0fa !important;
    border-right: 1px solid #9bbdd6 !important;
}

#Kunena td.kmessage-right,
#Kunena td.kmessage-bottom,
#Kunena .kmessage-right,
#Kunena .kmessage-bottom,
#Kunena .kmsgbody,
#Kunena .kmessage-body,
#kunena td.kmessage-right,
#kunena td.kmessage-bottom,
#kunena .kmessage-right,
#kunena .kmessage-bottom,
#kunena .kmsgbody,
#kunena .kmessage-body {
    background: #f7fcff !important;
}

#Kunena .kmessage-footer,
#Kunena .kmessage-buttons-cover,
#Kunena .kmessage-buttons-row,
#kunena .kmessage-footer,
#kunena .kmessage-buttons-cover,
#kunena .kmessage-buttons-row {
    background: #dcecf8 !important;
    border-top: 1px solid #9bbdd6 !important;
}

/* The category/topic listing and breadcrumb blocks need the same separation. */
#Kunena .kblock,
#Kunena .kblocktable,
#Kunena .kforum-pathway,
#kunena .kblock,
#kunena .kblocktable,
#kunena .kforum-pathway {
    margin: 10px 0 !important;
    border: 1px solid #4c82ad !important;
    background: #edf7fe !important;
    box-shadow: 0 1px 2px rgba(0, 61, 108, 0.25) !important;
}

#Kunena .kblock .kheader,
#Kunena .kblocktable .kheader,
#kunena .kblock .kheader,
#kunena .kblocktable .kheader {
    background: #5388b4 !important;
    border-bottom: 1px solid #376d99 !important;
    color: #ffffff !important;
}

#Kunena .kblock .kheader a,
#Kunena .kblocktable .kheader a,
#kunena .kblock .kheader a,
#kunena .kblocktable .kheader a {
    color: #ffffff !important;
}

#Kunena .kblock .kbody,
#Kunena .kblocktable td,
#kunena .kblock .kbody,
#kunena .kblocktable td {
    background: #f7fcff !important;
}

/* Local notebook-style font for article headings. It is bundled with this template,
   so it works without Google Fonts or another external service. */
@font-face {
    font-family: 'MicroplaneNotebook';
    src: url('../fonts/Neucha.woff2') format('woff2'),
         url('../fonts/Neucha.woff') format('woff'),
         url('../fonts/Neucha.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Joomla 3 uses .page-header h1/h2 instead of the legacy .contentheading.
   Apply the original Microplane article-title appearance only to Joomla content. */
#content .item-page > .page-header,
#content .blog > .page-header,
#content .items-row .page-header,
#content .category-list > .page-header,
#content .categories-list > .page-header {
    margin: 0 0 10px;
    padding: 5px 0 10px;
}

#content .item-page > .page-header h1,
#content .item-page > .page-header h2,
#content .blog > .page-header h1,
#content .blog > .page-header h2,
#content .items-row .page-header h1,
#content .items-row .page-header h2,
#content .category-list > .page-header h1,
#content .category-list > .page-header h2,
#content .categories-list > .page-header h1,
#content .categories-list > .page-header h2 {
    margin: 0;
    padding: 0;
    font-family: 'MicroplaneNotebook', 'Comic Sans MS', cursive;
    font-size: 26px;
    font-weight: normal;
    letter-spacing: 0.25px;
    line-height: 1.08;
    color: #0066CC;
}

#content .item-page > .page-header h1 a,
#content .item-page > .page-header h2 a,
#content .blog > .page-header h1 a,
#content .blog > .page-header h2 a,
#content .items-row .page-header h1 a,
#content .items-row .page-header h2 a,
#content .category-list > .page-header h1 a,
#content .category-list > .page-header h2 a,
#content .categories-list > .page-header h1 a,
#content .categories-list > .page-header h2 a {
    color: #0066CC;
    text-decoration: none;
}

#content .item-page > .page-header h1 a:hover,
#content .item-page > .page-header h2 a:hover,
#content .blog > .page-header h1 a:hover,
#content .blog > .page-header h2 a:hover,
#content .items-row .page-header h1 a:hover,
#content .items-row .page-header h2 a:hover {
    color: #0066FF;
    text-decoration: underline;
}


/* On narrow screens the handwritten font remains readable without forcing long titles to overflow. */
@media (max-width: 640px) {
    #content .item-page > .page-header h1,
    #content .item-page > .page-header h2,
    #content .blog > .page-header h1,
    #content .blog > .page-header h2,
    #content .items-row .page-header h1,
    #content .items-row .page-header h2,
    #content .category-list > .page-header h1,
    #content .category-list > .page-header h2,
    #content .categories-list > .page-header h1,
    #content .categories-list > .page-header h2 {
        font-size: 22px;
        line-height: 1.1;
    }
}


/* ================================================================
   Experimental: handwritten Neucha on the MAIN SITE only.
   This file belongs to tpl_microplan3; the separate forum template
   tpl_microplan3_forum is not affected.
   The Shop / Магазин menu item is restored by the small script in index.php.
   ================================================================ */

/* Do not touch picture/icon glyphs; text uses the handwritten face. */
body,
body input,
body textarea,
body select,
body button,
#wrapper,
#wrapper *,
#footer,
#footer * {
    font-family: 'MicroplaneNotebook', 'Comic Sans MS', cursive !important;
}

/* Preserve icon fonts and image-only interface pieces where present. */
[class^="icon-"],
[class*=" icon-"],
.fa,
.glyphicon,
.icon,
[class^="fa-"],
[class*=" fa-"] {
    font-family: inherit !important;
}

/* The Shop / Магазин menu item keeps the site's original, standard typeface. */
#nav .mp-keep-standard-font,
#nav .mp-keep-standard-font *,
#left .mp-keep-standard-font,
#left .mp-keep-standard-font *,
#right .mp-keep-standard-font,
#right .mp-keep-standard-font * {
    font-family: Helvetica, Arial, sans-serif !important;
}

/* Neucha looks more natural without artificial bolding in long text. */
#content p,
#content li,
#content td,
#content th,
#content blockquote,
#left,
#right,
#footer {
    font-weight: normal;
}


/* ================================================================
   Permanent typography split for the MAIN SITE (tpl_microplan3).
   Neucha is used for normal text; Marck Script is used for titles
   and navigation, like lettering made with a marker by hand.
   The forum has its own template and is not affected.
   ================================================================ */
@font-face {
    font-family: 'MicroplaneMarker';
    src: url('../fonts/MarckScript-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Article and category titles. */
#content .item-page > .page-header h1,
#content .item-page > .page-header h2,
#content .blog > .page-header h1,
#content .blog > .page-header h2,
#content .items-row .page-header h1,
#content .items-row .page-header h2,
#content .category-list > .page-header h1,
#content .category-list > .page-header h2,
#content .categories-list > .page-header h1,
#content .categories-list > .page-header h2,
#content .componentheading,
#content .contentheading {
    font-family: 'MicroplaneMarker', 'Comic Sans MS', cursive !important;
    font-weight: normal !important;
    letter-spacing: 0.15px;
    line-height: 1.08;
}

/* Module titles and short section headings. */
#left h1,
#left h2,
#left h3,
#right h1,
#right h2,
#right h3,
#FlashHeadpiece h1,
#FlashHeadpiece h2,
#FlashHeadpiece h3,
#content > h1,
#content > h2,
#content > h3 {
    font-family: 'MicroplaneMarker', 'Comic Sans MS', cursive !important;
    font-weight: normal !important;
    letter-spacing: 0.1px;
}

/* Navigation labels: the more expressive marker-like face. */
#nav a,
#left .menu a,
#left .nav a,
#left .mod-menu a,
#right .menu a,
#right .nav a,
#right .mod-menu a {
    font-family: 'MicroplaneMarker', 'Comic Sans MS', cursive !important;
    font-weight: normal !important;
    letter-spacing: 0.05px;
}

#nav a {
    font-size: 18px !important;
}

#left .menu a,
#left .nav a,
#left .mod-menu a,
#right .menu a,
#right .nav a,
#right .mod-menu a {
    font-size: 18px !important;
}

/* Do not turn the established shop label into marker lettering. */
#nav .mp-keep-standard-font,
#nav .mp-keep-standard-font *,
#left .mp-keep-standard-font,
#left .mp-keep-standard-font *,
#right .mp-keep-standard-font,
#right .mp-keep-standard-font * {
    font-family: Helvetica, Arial, sans-serif !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
}

@media (max-width: 640px) {
    #nav a { font-size: 16px !important; }
    #left .menu a,
    #left .nav a,
    #left .mod-menu a,
    #right .menu a,
    #right .nav a,
    #right .mod-menu a { font-size: 16px !important; }
}


/* =================================================================
   Configurable local typography, controlled in template parameters.
   Applies only to tpl_microplan3. The forum uses another template.
   ================================================================= */
@font-face {
    font-family: 'MicroplaneBadScript';
    src: url('../fonts/BadScript-Regular.woff2') format('woff2'),
         url('../fonts/BadScript-Regular.woff') format('woff'),
         url('../fonts/BadScript-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'MicroplanePlaypen';
    src: url('../fonts/PlaypenSans-wght.woff2') format('woff2'),
         url('../fonts/PlaypenSans-wght.woff') format('woff'),
         url('../fonts/PlaypenSans-wght.ttf') format('truetype');
    font-weight: 300 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'MicroplaneShantell';
    src: url('../fonts/ShantellSans-variable.woff2') format('woff2'),
         url('../fonts/ShantellSans-variable.woff') format('woff'),
         url('../fonts/ShantellSans-variable.ttf') format('truetype');
    font-weight: 300 800;
    font-style: normal;
    font-display: swap;
}

/* Body/text choice. This intentionally comes after the previous Neucha rule. */
body.mp-body-font-neucha,
body.mp-body-font-neucha input,
body.mp-body-font-neucha textarea,
body.mp-body-font-neucha select,
body.mp-body-font-neucha button,
body.mp-body-font-neucha #wrapper,
body.mp-body-font-neucha #wrapper *,
body.mp-body-font-neucha #footer,
body.mp-body-font-neucha #footer * {
    font-family: 'MicroplaneNotebook', 'Comic Sans MS', cursive !important;
}
body.mp-body-font-badscript,
body.mp-body-font-badscript input,
body.mp-body-font-badscript textarea,
body.mp-body-font-badscript select,
body.mp-body-font-badscript button,
body.mp-body-font-badscript #wrapper,
body.mp-body-font-badscript #wrapper *,
body.mp-body-font-badscript #footer,
body.mp-body-font-badscript #footer * {
    font-family: 'MicroplaneBadScript', 'Comic Sans MS', cursive !important;
}

/* Menu choice is independent from headings and text. */
body.mp-menu-font-playpen #nav a,
body.mp-menu-font-playpen #left .menu a,
body.mp-menu-font-playpen #left .nav a,
body.mp-menu-font-playpen #left .mod-menu a,
body.mp-menu-font-playpen #right .menu a,
body.mp-menu-font-playpen #right .nav a,
body.mp-menu-font-playpen #right .mod-menu a {
    font-family: 'MicroplanePlaypen', 'Comic Sans MS', cursive !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
}
body.mp-menu-font-shantell #nav a,
body.mp-menu-font-shantell #left .menu a,
body.mp-menu-font-shantell #left .nav a,
body.mp-menu-font-shantell #left .mod-menu a,
body.mp-menu-font-shantell #right .menu a,
body.mp-menu-font-shantell #right .nav a,
body.mp-menu-font-shantell #right .mod-menu a {
    font-family: 'MicroplaneShantell', 'Comic Sans MS', cursive !important;
    font-weight: 650 !important;
    letter-spacing: 0.01em;
}

/* Heading choice is independent from menu and text. */
body.mp-heading-font-playpen #content .item-page > .page-header h1,
body.mp-heading-font-playpen #content .item-page > .page-header h2,
body.mp-heading-font-playpen #content .blog > .page-header h1,
body.mp-heading-font-playpen #content .blog > .page-header h2,
body.mp-heading-font-playpen #content .items-row .page-header h1,
body.mp-heading-font-playpen #content .items-row .page-header h2,
body.mp-heading-font-playpen #content .category-list > .page-header h1,
body.mp-heading-font-playpen #content .category-list > .page-header h2,
body.mp-heading-font-playpen #content .categories-list > .page-header h1,
body.mp-heading-font-playpen #content .categories-list > .page-header h2,
body.mp-heading-font-playpen #content .componentheading,
body.mp-heading-font-playpen #content .contentheading,
body.mp-heading-font-playpen #left h1,
body.mp-heading-font-playpen #left h2,
body.mp-heading-font-playpen #left h3,
body.mp-heading-font-playpen #right h1,
body.mp-heading-font-playpen #right h2,
body.mp-heading-font-playpen #right h3,
body.mp-heading-font-playpen #FlashHeadpiece h1,
body.mp-heading-font-playpen #FlashHeadpiece h2,
body.mp-heading-font-playpen #FlashHeadpiece h3,
body.mp-heading-font-playpen #content > h1,
body.mp-heading-font-playpen #content > h2,
body.mp-heading-font-playpen #content > h3 {
    font-family: 'MicroplanePlaypen', 'Comic Sans MS', cursive !important;
    font-weight: 650 !important;
    letter-spacing: 0.015em;
}
body.mp-heading-font-shantell #content .item-page > .page-header h1,
body.mp-heading-font-shantell #content .item-page > .page-header h2,
body.mp-heading-font-shantell #content .blog > .page-header h1,
body.mp-heading-font-shantell #content .blog > .page-header h2,
body.mp-heading-font-shantell #content .items-row .page-header h1,
body.mp-heading-font-shantell #content .items-row .page-header h2,
body.mp-heading-font-shantell #content .category-list > .page-header h1,
body.mp-heading-font-shantell #content .category-list > .page-header h2,
body.mp-heading-font-shantell #content .categories-list > .page-header h1,
body.mp-heading-font-shantell #content .categories-list > .page-header h2,
body.mp-heading-font-shantell #content .componentheading,
body.mp-heading-font-shantell #content .contentheading,
body.mp-heading-font-shantell #left h1,
body.mp-heading-font-shantell #left h2,
body.mp-heading-font-shantell #left h3,
body.mp-heading-font-shantell #right h1,
body.mp-heading-font-shantell #right h2,
body.mp-heading-font-shantell #right h3,
body.mp-heading-font-shantell #FlashHeadpiece h1,
body.mp-heading-font-shantell #FlashHeadpiece h2,
body.mp-heading-font-shantell #FlashHeadpiece h3,
body.mp-heading-font-shantell #content > h1,
body.mp-heading-font-shantell #content > h2,
body.mp-heading-font-shantell #content > h3 {
    font-family: 'MicroplaneShantell', 'Comic Sans MS', cursive !important;
    font-weight: 650 !important;
    letter-spacing: 0.01em;
}

/* The Shop / Магазин item is deliberately excluded from handwriting choices. */
body #nav .mp-keep-standard-font,
body #nav .mp-keep-standard-font *,
body #left .mp-keep-standard-font,
body #left .mp-keep-standard-font *,
body #right .mp-keep-standard-font,
body #right .mp-keep-standard-font * {
    font-family: Helvetica, Arial, sans-serif !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
}


/* =================================================================
   v2.2.2 — Classical emergency typography.
   It restores the font styling from the original Microplane template
   without needing any locally loaded handwriting font.
   ================================================================= */

/* When a selected downloadable font does not arrive, use legacy fonts,
   not the browser's generic cursive fallback. */
body.mp-menu-font-playpen #nav a,
body.mp-menu-font-playpen #left .menu a,
body.mp-menu-font-playpen #left .nav a,
body.mp-menu-font-playpen #left .mod-menu a,
body.mp-menu-font-playpen #right .menu a,
body.mp-menu-font-playpen #right .nav a,
body.mp-menu-font-playpen #right .mod-menu a {
    font-family: 'MicroplanePlaypen', Helvetica, Arial, sans-serif !important;
}
body.mp-menu-font-shantell #nav a,
body.mp-menu-font-shantell #left .menu a,
body.mp-menu-font-shantell #left .nav a,
body.mp-menu-font-shantell #left .mod-menu a,
body.mp-menu-font-shantell #right .menu a,
body.mp-menu-font-shantell #right .nav a,
body.mp-menu-font-shantell #right .mod-menu a {
    font-family: 'MicroplaneShantell', Helvetica, Arial, sans-serif !important;
}
body.mp-heading-font-playpen #content .item-page > .page-header h1,
body.mp-heading-font-playpen #content .item-page > .page-header h2,
body.mp-heading-font-playpen #content .blog > .page-header h1,
body.mp-heading-font-playpen #content .blog > .page-header h2,
body.mp-heading-font-playpen #content .items-row .page-header h1,
body.mp-heading-font-playpen #content .items-row .page-header h2,
body.mp-heading-font-playpen #content .category-list > .page-header h1,
body.mp-heading-font-playpen #content .category-list > .page-header h2,
body.mp-heading-font-playpen #content .categories-list > .page-header h1,
body.mp-heading-font-playpen #content .categories-list > .page-header h2,
body.mp-heading-font-playpen #content .componentheading,
body.mp-heading-font-playpen #content .contentheading,
body.mp-heading-font-playpen #left h1,
body.mp-heading-font-playpen #left h2,
body.mp-heading-font-playpen #left h3,
body.mp-heading-font-playpen #right h1,
body.mp-heading-font-playpen #right h2,
body.mp-heading-font-playpen #right h3,
body.mp-heading-font-playpen #FlashHeadpiece h1,
body.mp-heading-font-playpen #FlashHeadpiece h2,
body.mp-heading-font-playpen #FlashHeadpiece h3,
body.mp-heading-font-playpen #content > h1,
body.mp-heading-font-playpen #content > h2,
body.mp-heading-font-playpen #content > h3 {
    font-family: 'MicroplanePlaypen', Helvetica, Tahoma, Verdana, Arial, sans-serif !important;
}
body.mp-heading-font-shantell #content .item-page > .page-header h1,
body.mp-heading-font-shantell #content .item-page > .page-header h2,
body.mp-heading-font-shantell #content .blog > .page-header h1,
body.mp-heading-font-shantell #content .blog > .page-header h2,
body.mp-heading-font-shantell #content .items-row .page-header h1,
body.mp-heading-font-shantell #content .items-row .page-header h2,
body.mp-heading-font-shantell #content .category-list > .page-header h1,
body.mp-heading-font-shantell #content .category-list > .page-header h2,
body.mp-heading-font-shantell #content .categories-list > .page-header h1,
body.mp-heading-font-shantell #content .categories-list > .page-header h2,
body.mp-heading-font-shantell #content .componentheading,
body.mp-heading-font-shantell #content .contentheading,
body.mp-heading-font-shantell #left h1,
body.mp-heading-font-shantell #left h2,
body.mp-heading-font-shantell #left h3,
body.mp-heading-font-shantell #right h1,
body.mp-heading-font-shantell #right h2,
body.mp-heading-font-shantell #right h3,
body.mp-heading-font-shantell #FlashHeadpiece h1,
body.mp-heading-font-shantell #FlashHeadpiece h2,
body.mp-heading-font-shantell #FlashHeadpiece h3,
body.mp-heading-font-shantell #content > h1,
body.mp-heading-font-shantell #content > h2,
body.mp-heading-font-shantell #content > h3 {
    font-family: 'MicroplaneShantell', Helvetica, Tahoma, Verdana, Arial, sans-serif !important;
}

/* Emergency: exactly the pre-downloadable-font menu appearance. */
body.mp-menu-font-classic #nav a {
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: normal !important;
}
body.mp-menu-font-classic #left .menu a,
body.mp-menu-font-classic #left .nav a,
body.mp-menu-font-classic #left .mod-menu a,
body.mp-menu-font-classic #right .menu a,
body.mp-menu-font-classic #right .nav a,
body.mp-menu-font-classic #right .mod-menu a {
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: normal !important;
}

/* Emergency: original article title and module-heading typography. */
body.mp-heading-font-classic #content .item-page > .page-header h1,
body.mp-heading-font-classic #content .item-page > .page-header h2,
body.mp-heading-font-classic #content .blog > .page-header h1,
body.mp-heading-font-classic #content .blog > .page-header h2,
body.mp-heading-font-classic #content .items-row .page-header h1,
body.mp-heading-font-classic #content .items-row .page-header h2,
body.mp-heading-font-classic #content .category-list > .page-header h1,
body.mp-heading-font-classic #content .category-list > .page-header h2,
body.mp-heading-font-classic #content .categories-list > .page-header h1,
body.mp-heading-font-classic #content .categories-list > .page-header h2,
body.mp-heading-font-classic #content .componentheading,
body.mp-heading-font-classic #content .contentheading {
    font-family: Helvetica, Tahoma, Verdana, Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    color: #0066CC !important;
}
body.mp-heading-font-classic #left h1,
body.mp-heading-font-classic #left h2,
body.mp-heading-font-classic #left h3,
body.mp-heading-font-classic #right h1,
body.mp-heading-font-classic #right h2,
body.mp-heading-font-classic #right h3,
body.mp-heading-font-classic #FlashHeadpiece h1,
body.mp-heading-font-classic #FlashHeadpiece h2,
body.mp-heading-font-classic #FlashHeadpiece h3,
body.mp-heading-font-classic #content > h1,
body.mp-heading-font-classic #content > h2,
body.mp-heading-font-classic #content > h3 {
    font-family: 'Trebuchet MS', Tahoma, Verdana, Arial, sans-serif !important;
    font-weight: bold !important;
    letter-spacing: normal !important;
}
body.mp-heading-font-classic #left h1,
body.mp-heading-font-classic #left h2,
body.mp-heading-font-classic #left h3,
body.mp-heading-font-classic #right h1,
body.mp-heading-font-classic #right h2,
body.mp-heading-font-classic #right h3,
body.mp-heading-font-classic #FlashHeadpiece h1,
body.mp-heading-font-classic #FlashHeadpiece h2,
body.mp-heading-font-classic #FlashHeadpiece h3,
body.mp-heading-font-classic #content > h1,
body.mp-heading-font-classic #content > h2,
body.mp-heading-font-classic #content > h3 {
    font-size: 18px !important;
    color: #222222 !important;
}


/* v2.4.6: custom language-switcher — no inherited list dot, arrow or bullet.
   The module can use its own class either around or directly on the list. */
#search .microplane-language-switcher,
#search .microplane-language-switcher ul,
#search ul.microplane-language-switcher,
#search .microplane-language-switcher li,
#search .microplane-language-switcher ul > li,
#search ul.microplane-language-switcher > li {
    list-style: none !important;
    list-style-image: none !important;
    background: none !important;
    background-image: none !important;
    text-indent: 0 !important;
}

#search .microplane-language-switcher li::marker,
#search .microplane-language-switcher ul > li::marker,
#search ul.microplane-language-switcher > li::marker {
    content: '' !important;
    font-size: 0 !important;
}

#search .microplane-language-switcher li::before,
#search .microplane-language-switcher li::after,
#search .microplane-language-switcher ul > li::before,
#search .microplane-language-switcher ul > li::after,
#search ul.microplane-language-switcher > li::before,
#search ul.microplane-language-switcher > li::after {
    content: none !important;
    display: none !important;
}

/* v2.4.7: Joomla 3 can append the Module Class Suffix directly to
   "moduletable" when the suffix is entered without a leading space.
   [class*="microplane-language-switcher"] handles both output forms.
   This applies only to the language module placed inside #search. */
#search [class*="microplane-language-switcher"],
#search [class*="microplane-language-switcher"] .mod-languages {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent none !important;
}

#search [class*="microplane-language-switcher"] ul,
#search [class*="microplane-language-switcher"] ul.lang-inline,
#search [class*="microplane-language-switcher"] .mod-languages ul {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
    white-space: nowrap !important;
    background: transparent none !important;
}

#search [class*="microplane-language-switcher"] li,
#search [class*="microplane-language-switcher"] ul > li,
#search [class*="microplane-language-switcher"] .mod-languages li {
    display: block !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
    list-style-image: none !important;
    list-style-position: outside !important;
    text-indent: 0 !important;
    background: transparent none !important;
    border: 0 !important;
}

#search [class*="microplane-language-switcher"] li::marker {
    content: '' !important;
    font-size: 0 !important;
}

#search [class*="microplane-language-switcher"] li::before,
#search [class*="microplane-language-switcher"] li::after {
    content: none !important;
    display: none !important;
}

#search [class*="microplane-language-switcher"] a,
#search [class*="microplane-language-switcher"] img {
    display: block !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent none !important;
    border: 0 !important;
}


/* v2.5.3: language selector only — 8 px right and 2 px down from its restored original slot. */
#search [class*="microplane-language-switcher"] {
    position: relative !important;
    left: 8px !important;
    top: 2px !important;
}
