/* ==========================================================================
   1. GLOBAL DESIGN SYSTEM VARIABLES & ROOT PROPERTIES
   ========================================================================== */
:root {
    --colorLight: #ffffff;
    --colorLightRGB: 255, 255, 255;
    --colorFont: #555555;
    --colorFontMuted: #666666;
    --colorBackground: #f7f7f7;
    --colorBorder: #e1e1e1;
    --colorDark: #444444;
    --colorDarkMuted: #222222;
    --colorMain: #a17de8;
    --colorMain2: #8a8dff;
    --colorMain3: #e678f5;
    --colorMain4: #7892f5;
    --btn-fs: .92em;
    --sb-gap: 2.5rem;
    --wli-my: .5em;
    --sideNavWidth: 290px;
    --mobileNavWidth: 290px;
    --sideNavPX: 20px;
    --mobileNavPX: 20px;
    --socialGap: 1em;
    --overlay-dark: 0.55;
    --overlay-light: 0.75;
    --c-facebook: #3b5998;
    --c-twitter: #1da1f2;
    --c-x: #1d9bf0;
    --c-youtube: #ff0000;
    --c-instagram: #c13584;
    --c-pinterest: #bd081c;
    --c-linkedin: #0077b5;
    --c-github: #333333;
    --c-skype: #00aff0;
    --c-tiktok: #000000;
    --c-buffer: #2c4bff;
    --c-tumblr: #455974;
    --c-reddit: #f84300;
    --c-evernote: #82bd3e;
    --c-delicious: #3399ff;
    --c-stumbleupon: #eb4823;
    --c-telegram: #2fa3d9;
    --c-mastodon: #6364ff;
    --wp--style--block-gap: 1.5em;
    --wp--preset--spacing--20: 0.44rem;
    --wp--preset--spacing--30: 0.67rem;
    --wp--preset--spacing--40: 1rem;
    --wp--preset--spacing--50: 1.5rem;
    --wp--preset--spacing--60: 2.25rem;
    --wp--preset--spacing--70: 3.38rem;
    --wp--preset--spacing--80: 5.06rem;
}

/* ==========================================================================
   2. NORMALIZE & CORE ELEMENT RESETS
   ========================================================================== */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
    width: 100%;
}

html.customize-preview {
    scroll-behavior: initial;
}

body {
    margin: 0;
    background-color: var(--colorLight);
    text-rendering: optimizeLegibility;
    word-break: break-word;
    width: 100%;
    position: relative;
    font-weight: 300;
}

body, button, input, select, textarea {
    color: var(--colorFont);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.74;
    letter-spacing: .02em;
}

main {
    display: block;
}

hr {
    box-sizing: content-box;
    overflow: visible;
    border: 0;
    height: 1px;
    margin: 0;
    background-color: var(--colorBorder);
}

pre {
    font-family: monospace, monospace;
    font-size: .85rem;
    margin: 1.5em 0;
    max-width: 100%;
    overflow-x: auto;
    padding: 1em;
    background-color: var(--colorBackground);
}

code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

code {
    padding: 0 .5rem;
    font-size: .85rem;
    display: inline-block;
    background-color: var(--colorBackground);
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
}

figure, img {
    margin: 0;
    max-width: 100%;
    height: auto;
}

iframe {
    max-width: 100%;
}

/* ==========================================================================
   3. TYPOGRAPHY & ELEMENT DESIGN RULES
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
    color: var(--colorDarkMuted);
    line-height: 1.34;
    margin-top: 2em;
    margin-bottom: 1em;
    font-weight: 400;
}

h1:first-child:not([class*=mt-]), 
h2:first-child:not([class*=mt-]), 
h3:first-child:not([class*=mt-]), 
h4:first-child:not([class*=mt-]), 
h5:first-child:not([class*=mt-]), 
h6:first-child:not([class*=mt-]) {
    margin-top: 0;
}

h1 { font-size: 2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.3em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.1em; }
h6 { font-size: 1em; }

p {
    margin-top: 0;
    margin-bottom: 1.5em;
}

p:last-child:after {
    content: "";
    display: block;
    clear: both;
}

blockquote {
    margin: 2em 0;
    padding: 1em 0 1em 1.75em;
    border-left: 3px solid;
    border-color: var(--colorMain) !important;
}

blockquote:last-child, blockquote p:last-child {
    margin-bottom: 0;
}

blockquote cite img {
    max-width: 50px;
    border-radius: 50%;
    margin-right: .5em;
    vertical-align: middle;
}

cite {
    font-style: normal;
    font-size: .92em;
}

address {
    margin-bottom: 1.5em;
}

a {
    background-color: rgba(0,0,0,0);
    outline: none;
    text-decoration: none;
    transition: .2s all ease;
    color: var(--colorDarkMuted);
}

a:focus, a:hover {
    color: var(--colorMain);
}

a:focus {
    outline: 1px dotted rgba(124,124,124,.9);
    outline-offset: 2px;
}

b, strong {
    font-weight: 700;
}

/* Lists Configurations */
ol, ul, dd {
    padding-left: 20px;
}

dt {
    font-weight: bolder;
}

dd {
    margin-left: 0;
}

ol.styled, ul.styled {
    padding-left: 0;
    list-style: none;
}

ol.styled li, ul.styled li {
    padding: .5em 0;
}

ol.bordersul, ul.bordersul {
    border-top: 1px solid var(--colorBorder);
    border-bottom: 1px solid var(--colorBorder);
}

ol.bordersli li, ul.bordersli li {
    padding: .75em 0;
}

ol.bordersli li + li, ul.bordersli li + li {
    border-top: 1px solid var(--colorBorder);
}

ol.styled {
    counter-reset: olc;
}

ol.styled li {
    counter-increment: olc;
}

ol.styled li:before {
    content: counter(olc) ". ";
    color: var(--colorMain);
}

ul.styled li:before {
    content: "";
    display: inline-block;
    width: .5em;
    height: 1em;
    margin-right: 1.5em;
    border: 2px solid var(--colorMain);
    border-width: 0 2px 2px 0;
    position: relative;
    bottom: .05em;
    left: .5em;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

nav > ul {
    margin-top: 0;
}

/* Text Sizing Helpers */
.special { font-size: 2em; text-transform: uppercase; }
.small { font-size: .92em; }
.normal { font-size: 1em; }
.big { font-size: 3em; }
.huge { font-size: 4.5em; }
.small-text {
    font-size: .75em;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: .15em;
}
.fw-700 { font-weight: 700; }
.text-uppercase { text-transform: uppercase; }
.text-right { text-align: right; }
.text-center { text-align: center; }

/* Tables Design */
table {
    width: 100%;
    border-collapse: collapse;
}

td, th {
    padding: .5em 1em;
    word-break: initial;
}

th {
    text-align: inherit;
    background-color: var(--colorBackground);
}

.i th {
    background-color: rgba(0,0,0,0);
}

/* ==========================================================================
   4. DESIGN SYSTEM THEMES, COLOR MODIFIERS, & LAYOUT MODULES
   ========================================================================== */
.l { background-color: var(--colorLight); }
.m { background-color: var(--colorBackground); }
.bg-main { color: #fff; background-color: var(--colorMain); }

/* Dark Background System Context */
.i {
    background-color: var(--colorDark);
    color: rgba(var(--colorLightRGB), 0.8);
}

.i input, .i select, .i textarea {
    color: rgba(var(--colorLightRGB), 0.8);
    border-color: rgba(var(--colorLightRGB), 0.3);
    background: rgba(0,0,0,0);
}

.i ::-webkit-input-placeholder { color: rgba(var(--colorLightRGB), 0.8); }
.i :-ms-input-placeholder { color: rgba(var(--colorLightRGB), 0.8); }
.i ::placeholder { color: rgba(var(--colorLightRGB), 0.8); }
.i h1, .i h2, .i h3, .i h4, .i h5, .i h6 { color: var(--colorLight); }
.i a { color: var(--colorLight); }
.i a:hover { color: var(--colorMain); }
.i .section-hr { background-color: rgba(255,255,255,.15); }
.i .bordered { border-color: rgba(255,255,255,.15); }
.i .muted { background-color: rgba(255,255,255,.1); }
.i .shadow { box-shadow: 0 0 20px 0 rgba(255,255,255,.1); }

.i .button, .i button, .i input[type=reset], .i input[type=button], .i input[type=submit], .i .wp-block-button__link {
    background-color: var(--colorLight);
    color: var(--colorDarkMuted);
}

.i .button:hover, .i button:hover, .i input[type=reset]:hover, .i input[type=button]:hover, .i input[type=submit]:hover, .i .wp-block-button__link:hover {
    background-color: var(--colorMain);
    color: #fff;
}

.btns-colormain .i .button, .btns-colormain .i button, .btns-colormain .i input[type=reset], .btns-colormain .i input[type=button], .btns-colormain .i input[type=submit], .btns-colormain .i .wp-block-button__link {
    background-color: var(--colorMain);
    color: #fff;
}

.btns-outline .i .button, .btns-outline .i button, .btns-outline .i input[type=reset], .btns-outline .i input[type=button], .btns-outline .i input[type=submit], .btns-outline .i .wp-block-button__link {
    background: rgba(0,0,0,0);
    border-color: var(--colorLight);
    color: var(--colorLight);
}

.i .is-style-outline a.wp-block-button__link {
    border-color: var(--colorLight);
    color: var(--colorLight);
    background: rgba(0,0,0,0);
}

.i .is-style-outline a.wp-block-button__link:hover {
    border-color: rgba(0,0,0,0);
    background-color: var(--colorMain);
}

.i.m { background-color: var(--colorDarkMuted); }

/* Color Primary Accents Context */
.i.c {
    background-color: var(--colorMain);
    color: rgba(255,255,255,.8);
}

.i.c input, .i.c select, .i.c textarea {
    color: rgba(255,255,255,.8);
    border-color: rgba(255,255,255,.3);
    background: rgba(0,0,0,0);
}

.i.c ::-webkit-input-placeholder { color: rgba(255,255,255,.8); }
.i.c :-ms-input-placeholder { color: rgba(255,255,255,.8); }
.i.c ::placeholder { color: rgba(255,255,255,.8); }
.i.c h1, .i.c h2, .i.c h3, .i.c h4, .i.c h5, .i.c h6 { color: #fff; }
.i.c a.logo, .i.c a:not([class]) { color: #fff; }
.i.c a.logo:hover, .i.c a:not([class]):hover { opacity: .7; color: #fff; }

.i.c .button:hover, .i.c button:hover, .i.c input[type=reset]:hover, .i.c input[type=button]:hover, .i.c input[type=submit]:hover, .i.c .wp-block-button__link:hover {
    background-color: var(--colorMain2);
    border-color: rgba(0,0,0,0);
}

.btns-colormain .i.c .button, .btns-colormain .i.c button, .btns-colormain .i.c input[type=reset], .btns-colormain .i.c input[type=button], .btns-colormain .i.c input[type=submit], .btns-colormain .i.c .wp-block-button__link {
    background-color: var(--colorMain2);
}

.btns-colormain.btns-outline .i.c .button, .btns-colormain.btns-outline .i.c button, .btns-colormain.btns-outline .i.c input[type=reset], .btns-colormain.btns-outline .i.c input[type=button], .btns-colormain.btns-outline .i.c input[type=submit], .btns-colormain.btns-outline .i.c .wp-block-button__link {
    background-color: rgba(0,0,0,0);
}

.btns-colormain.btns-outline .i.c .button:hover, .btns-colormain.btns-outline .i.c button:hover, .btns-colormain.btns-outline .i.c input[type=reset]:hover, .btns-colormain.btns-outline .i.c input[type=button]:hover, .btns-colormain.btns-outline .i.c input[type=submit]:hover, .btns-colormain.btns-outline .i.c .wp-block-button__link:hover {
    background-color: var(--colorMain2);
}

.i.c .is-style-outline a.wp-block-button__link {
    border-color: var(--colorLight);
    color: var(--colorLight);
    background: rgba(0,0,0,0);
}

.i.c .is-style-outline a.wp-block-button__link:hover {
    border-color: rgba(0,0,0,0);
    background-color: var(--colorDarkMuted);
}

.i.c .svg-icon svg, .i.c .icon-inline .svg-icon svg { fill: #fff; }
.i.c.c2 { background-color: var(--colorMain2); }
.i.c.c3 { background-color: var(--colorMain3); }
.i.c.c4 { background-color: var(--colorMain4); }
.i.c.gradient { background-image: linear-gradient(0deg, var(--colorMain), var(--colorMain2)); }
.i.c.gradient.horizontal { background-image: linear-gradient(90deg, var(--colorMain), var(--colorMain2)); }
.i.c.gradient.diagonal { background-image: linear-gradient(45deg, var(--colorMain), var(--colorMain2)); }
.i .svg-icon svg, .i .icon-inline .svg-icon svg { fill: var(--colorLight); }
.i .l.affix .svg-icon svg { fill: var(--colorDarkMuted); }

.i .affix.l { color: #fff; }
.i .affix.l a:not([class*=button]) { color: var(--colorDarkMuted); }
.i .affix.l a:not([class*=button]):hover { color: var(--colorMain); }
.i .affix.l [type=search] { border-color: var(--colorBorder); color: var(--colorDarkMuted); }

/* Structural Padding and Boxes Modifiers */
.d-block { display: block; }
.bordered { border: 1px solid; border-color: var(--colorBorder); }
.muted { background-color: var(--colorBackground); }
.l.m .muted { background-color: var(--colorLight); }
.shadow { box-shadow: 0 0 20px 0 rgba(100,100,100,.15); }
.extra-padding, .bordered, .muted, .shadow { padding: 1.5em; }
.rounded { border-radius: 10px; overflow: hidden; }

.background-overlay {
    position: relative;
}

.background-overlay:before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background-color: rgba(0, 0, 0, var(--overlay-dark));
}

.background-overlay.overlay-light:before {
    background-color: rgba(255, 255, 255, var(--overlay-light));
}

.background-overlay > * {
    position: relative;
}

.background-cover {
    background-position: 50% 0;
    background-size: cover;
}

.background-cover.cover-center {
    background-position: 50% 50%;
}

.background-fixed {
    background-attachment: fixed;
}

.dropdown {
    position: relative;
}

/* Container Framework */
.container {
    position: relative;
    max-width: 1400px;
    margin: auto;
}

.container:before, .container:after {
    content: "";
    display: block;
    clear: both;
}

.container-1400 .container, .container-1400 > .container { max-width: 1400px; }
.container-1140 .container, .container-1140 > .container { max-width: 1140px; }
.container-960 .container,  .container-960 > .container  { max-width: 960px; }
.container-720 .container,  .container-720 > .container  { max-width: 720px; }

.row:before, .row:after {
    content: "";
    display: block;
    clear: both;
}

.container-fluid {
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
}

.container-fluid:before, .container-fluid:after {
    content: "";
    display: block;
    clear: both;
}

@media(max-width: 1430px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.container-flex { display: flex; flex-wrap: wrap; }
@media(min-width: 992px) {
    .container-md-flex { display: flex; align-items: center; }
}

/* ==========================================================================
   5. FORMS, FIELDS, & BUTTON STYLING PILES
   ========================================================================== */
fieldset {
    border-color: var(--colorBorder);
    border-width: 1px;
    border-style: solid;
    padding: .5em 1.25em 1.25em;
}

input, label, select, button, textarea {
    font-size: inherit;
    margin: 0;
    border: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: normal;
    background: none;
}

label {
    cursor: pointer;
    font-size: .92em;
}

button:focus, input:focus, textarea:focus {
    outline: 1px dotted rgba(124, 124, 124, .9);
    outline-offset: 2px;
}

input[type=date], input[type=datetime], input[type=datetime-local], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], textarea, select {
    padding: .15em .75em;
    min-height: 40px;
    border: 1px solid;
    border-color: var(--colorBorder);
    background-color: var(--colorLight);
    box-shadow: none;
}

textarea {
    padding-top: .25em;
    padding-bottom: .25em;
    vertical-align: top;
    overflow: auto;
}

input[type=number] { padding-right: 0; }
input[type=file] { display: block; }
select[multiple] { vertical-align: top; }

select {
    height: 40px;
    line-height: 40px;
    white-space: nowrap;
}

input[type=checkbox], input[type=radio] {
    width: 13px;
    height: 13px;
    margin-right: .25em;
    position: relative;
    top: -0.15em;
}

input[type=search] {
    -webkit-appearance: textfield;
}

::-webkit-search-decoration {
    display: none;
}

::placeholder { opacity: .5; transition: opacity .6s ease; }
::-webkit-input-placeholder { opacity: .5; transition: opacity .6s ease; }
:-ms-input-placeholder { opacity: .5; transition: opacity .6s ease; }
:focus::placeholder { opacity: 0; }
:focus::-webkit-input-placeholder { opacity: 0; }
:focus:-ms-input-placeholder { opacity: 0; }

/* Interactive Interface Buttons Engine */
[type=reset], [type=button], [type=submit], .wp-block-button__link {
    overflow: hidden;
    width: auto;
    position: relative;
    border: 3px solid rgba(0,0,0,0);
    display: inline-block;
    line-height: 1;
    font-size: var(--btn-fs);
    font-weight: normal;
    text-align: center;
    padding: 15px 23px;
    border-radius: 1px;
    background-color: var(--colorDark);
    color: var(--colorLight);
    cursor: pointer;
    transition: color .25s, background-color .25s, border-color .25s ease-out, opacity .25s ease-out;
}

[type=reset]:hover, [type=button]:hover, [type=submit]:hover, .wp-block-button__link:hover {
    background-color: var(--colorMain);
    color: #fff;
    cursor: pointer;
    opacity: .9;
}

.wp-block-button__link:visited, .wp-block-button__link:active, .wp-block-button__link:focus {
    color: var(--colorLight);
}

.btns-big [type=reset], .btns-big [type=button], .btns-big [type=submit], .btns-big .wp-block-button__link { padding: 20px 35px; }
.btns-uppercase [type=reset], .btns-uppercase [type=button], .btns-uppercase [type=submit], .btns-uppercase .wp-block-button__link { text-transform: uppercase; }
.btns-bold [type=reset], .btns-bold [type=button], .btns-bold [type=submit], .btns-bold .wp-block-button__link { font-weight: bold; }
.btns-rounded [type=reset], .btns-rounded [type=button], .btns-rounded [type=submit], .btns-rounded .wp-block-button__link { border-radius: 6px; }
.btns-round [type=reset], .btns-round [type=button], .btns-round [type=submit], .btns-round .wp-block-button__link { border-radius: 40px; }

.btns-colormain [type=reset], .btns-colormain [type=button], .btns-colormain [type=submit], .btns-colormain .wp-block-button__link {
    background-color: var(--colorMain);
    color: #fff;
}

.btns-colormain [type=reset]:hover, .btns-colormain [type=button]:hover, .btns-colormain [type=submit]:hover, .btns-colormain .wp-block-button__link:hover {
    background-color: var(--colorDark);
    color: var(--colorLight);
}

.btns-outline [type=reset], .btns-outline [type=button], .btns-outline [type=submit], .btns-outline .wp-block-button__link {
    background-color: rgba(0,0,0,0);
    color: var(--colorDark);
    border-color: var(--colorDark);
}

.btns-outline [type=reset]:hover, .btns-outline [type=button]:hover, .btns-outline [type=submit]:hover, .btns-outline .wp-block-button__link:hover {
    background-color: var(--colorDark);
    color: var(--colorLight);
}

.btns-colormain.btns-outline [type=reset], .btns-colormain.btns-outline [type=button], .btns-colormain.btns-outline [type=submit], .btns-colormain.btns-outline .wp-block-button__link {
    color: var(--colorMain);
    border-color: var(--colorMain);
}

.btns-colormain.btns-outline [type=reset]:hover, .btns-colormain.btns-outline [type=button]:hover, .btns-colormain.btns-outline [type=submit]:hover, .btns-colormain.btns-outline .wp-block-button__link:hover {
    border-color: var(--colorMain);
    background-color: var(--colorMain);
    color: #fff;
}

button:disabled, [type=submit]:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.is-style-outline [class].wp-block-button__link { padding: 15px 23px; }
.btns-big .is-style-outline [class].wp-block-button__link { padding: 20px 35px; }
.is-style-outline .wp-block-button__link { background-color: rgba(0,0,0,0); border-width: 3px; }

.btns-rounded input, .btns-rounded select, .btns-rounded textarea { border-radius: 6px; }
.btns-round input, .btns-round select, .btns-round textarea { border-radius: 20px; }

/* ==========================================================================
   6. SITE NAVIGATION PANEL FRAMEWORK (HEADER, MOBILE, OVERLAY)
   ========================================================================== */
.topline {
    position: relative;
    z-index: 11;
}

.header-absolute-wrap .topline {
    background-color: rgba(0,0,0,0);
    z-index: 12;
}

.topline .container, .topline .container-fluid {
    display: flex;
    align-items: center;
    padding-top: .75em;
    padding-bottom: .75em;
}

.topline .container > *:first-child, .topline .container-fluid > *:first-child {
    margin-right: auto;
}

.topline .icon-inline { margin: 0 1em 0 0; }
.topline .icon-inline:last-child { margin-right: 0; }
.topline .login-links span:last-child a { margin-right: 0; }

#header-affix-wrap, .header > div.container, .header > div.container-fluid {
    min-height: 60px;
}

.header-wrap.transparent { background-color: rgba(0,0,0,0); }
.header-wrap.absolute { min-height: 0; }

.header {
    top: 0; left: 0; right: 0;
    position: relative;
    transition-property: transform, background-color;
    z-index: 10;
}

.top-menu-active .header { z-index: 12; }
.header.transparent:not(.affix) { background-color: rgba(0,0,0,0); background-image: none; }

.header.affix {
    position: fixed;
    transform: translateY(-100%);
    box-shadow: 0 0 20px 0 rgba(100,100,100,.1);
}

.header.affix.scrolling-down { transition-timing-function: ease-in; transition-duration: .25s; }
.header.affix.scrolling-up { transition-timing-function: ease-out; transition-duration: .3s; transform: translateY(0); }
.header.affix.always-sticky { transform: none; }

.header > div.container, .header > div.container-fluid {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media(max-width: 1199px) {
    .header > div.container, .header > div.container-fluid { padding: 0; }
}

.header #nav_toggle { display: none; }
.header.header-2:not(.affix) .logo, .header.header-3:not(.affix) .logo { display: none; opacity: 0; }
#logo-align { margin-right: auto; }
.header .logo.w0 { width: 0; margin-right: 0; }
.header .logo.w0 img { max-width: none; }

/* Brand Typography & Layout System */
.toplogo { position: relative; }
.header-absolute-wrap .toplogo { background-color: rgba(0,0,0,0); z-index: 11; }
.toplogo .meta-wrap > * { margin: .5em 0; }
.toplogo [class*=cols-] { align-items: center; }

@media(max-width: 599px) {
    .toplogo [class*=cols-] { flex-direction: column; }
    .toplogo [class*=cols-] > * { width: auto; }
    .toplogo [class*=cols-] .search-social-wrap > *, .toplogo [class*=cols-] .meta-wrap > * { margin: 1em 0; }
}

@media(min-width: 600px) {
    .toplogo [class*=cols-] > *:last-child { text-align: right; justify-content: flex-end; }
}

.toplogo .search-social-wrap.flex-column { align-items: flex-end; flex-direction: column; }
.toplogo .search-social-wrap.flex-column > * { margin: 1em 0; }
.toplogo .search-social-wrap.flex-column > * + * { margin-top: 0; }
.toplogo .container-md-flex .logo { justify-content: center; margin-right: auto; }
.toplogo .container-md-flex .icon-inline, .toplogo .container-md-flex .search-social-wrap { padding: 6px 0; }

@media(min-width: 992px) {
    .toplogo .container-md-flex .icon-inline, .toplogo .container-md-flex .search-social-wrap { margin-left: 1.25em; }
}
@media(max-width: 991px) {
    .toplogo .container-md-flex { text-align: center; }
}

.logo-wrap { text-align: center; line-height: 1; }
.logo-link { display: inline-block; }
.header a.logo:first-child { margin-right: 1em; }
.logo { display: flex; align-items: center; line-height: 1; white-space: nowrap; }
.logo.px { padding-left: 1.5em; padding-right: 1.5em; }
.logo .logo-text { margin: 0 1em; }
.logo .logo-text span { margin-top: 5px; margin-bottom: 5px; }

@media(min-width: 1200px) {
    .container-fluid .logo.no-image .logo-text { margin: 0 1em; }
    .header:not(.header-7) .container .logo.no-image .logo-text { margin-left: 0; }
}

.toplogo .logo.no-image .logo-text { margin: 0; }
.logo:not(.logo-between) .logo-text-primary { font-size: 1.2em; font-weight: bold; }
#toplogo.header-tall .logo { padding-top: 1.5em; padding-bottom: 1.5em; }
@media(max-width: 991px) { #toplogo.header-tall .logo { padding-top: 1em; padding-bottom: 1em; } }
#header.header-tall:not(.affix) .logo { padding-top: 1.5em; padding-bottom: 1.5em; }
.logo.logo-left { text-align: left; }
.logo.logo-left span span { display: block; }
.logo.logo-vertical { display: inline-block; text-align: center; }
.logo.logo-vertical span { display: block; }
.logo.logo-between > span { padding: 0 1em; }
.logo.logo-between.no-image { padding: 0 .25em; }
.logo.logo-between.no-image > span { padding: 0 .25em; }
.logo img { max-height: 100px; width: auto; display: inline; }

/* Structural Trigger Buttons & Overlay Screen */
.nav-btn {
    width: 44px;
    height: 44px;
    border: none;
    text-align: center;
    position: relative;
    cursor: pointer;
}

.nav-btn[class] { padding: 0; }
.nav-btn[id][id][id] { background: rgba(0,0,0,0); }
.nav-btn:hover, .nav-btn:focus { background: rgba(0,0,0,0) !important; }

.nav-btn span, .nav-btn span:before, .nav-btn span:after {
    width: 18px;
    height: 2px;
    margin: auto;
    left: 0;
    display: block;
    position: relative;
    content: "";
    background: var(--colorDarkMuted);
    transition: .25s all ease-in-out;
}

.i .nav-btn span, .i .nav-btn span:before, .i .nav-btn span:after { background: var(--colorLight); }
.i.c .nav-btn span, .i.c .nav-btn span:before, .i.c .nav-btn span:after { background: #fff; }
.i .l.affix .nav-btn span, .i .l.affix .nav-btn span:before, .i .l.affix .nav-btn span:after { background: var(--colorDarkMuted); }

.nav-btn.active span { background: rgba(0,0,0,0) !important; }
.nav-btn span:before { bottom: 5px; opacity: 1; }
.nav-btn span:after { top: 3px; }
.nav-btn.active span:before { top: 1px; transform: rotate(45deg); }
.nav-btn.active span:after { top: -1px; transform: rotate(-45deg); }

#overlay {
    position: fixed;
    top: 0; left: 0;
    height: 100vh; width: 100vw;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    background-color: rgba(0,0,0,.001);
    transition: all .2s ease;
}

.side-menu-active #overlay, .top-menu-active #overlay {
    background-color: rgba(0,0,0,.5);
    opacity: 1;
    visibility: visible;
}

#to-top {
    position: fixed;
    right: 0; bottom: -60px;
    background-color: var(--colorLight);
    box-shadow: 0 0 20px 0 rgba(100,100,100,.15);
    width: 44px; height: 44px; line-height: 44px;
    font-size: 1rem; text-align: center;
    transition: bottom .3s ease-in-out;
    z-index: 2;
}

#to-top.visible { bottom: 0; }
#to-top:before {
    content: "";
    display: inline-block;
    position: relative;
    top: 0;
    width: 7px; height: 7px;
    border-style: solid; border-width: 1px 1px 0 0;
    border-color: var(--colorDarkMuted);
    transform: rotate(-45deg);
}

/* ==========================================================================
   7. WIDGETS, PORTFOLIOS, GALLERIES & INTERFACES ARCHITECTURE
   ========================================================================== */
.section-hr {
    box-sizing: border-box;
    position: absolute;
    margin: 0 auto; padding: 0;
    left: 0; right: 0; bottom: 0;
    background-color: var(--colorBorder);
    width: 100%;
}

.container .section-hr, .section-hr.container { left: 0; right: 0; }
.section-hr:first-child { bottom: auto; top: 0; }

#main { position: relative; flex-grow: 1; overflow: hidden; }
#main.overflow-visible, .with-sidebar #main { overflow: visible; }

/* Alignment Utility Structures */
.alignleft { max-width: 50%; float: left; margin: 0 1.5em 1em 0; clear: both; }
.alignright { max-width: 50%; float: right; margin: 0 0 1em 1.5em; clear: both; }
.aligncenter { text-align: center; clear: both; margin-left: auto; margin-right: auto; }

.alignfull {
    width: 100vw; position: relative;
    left: 50%; right: 50%;
    margin-left: -50vw; margin-right: -50vw;
    max-width: none;
}
@media(min-width: 1200px) { .alignfull { padding-left: 7px; padding-right: 7px; } }
.alignfull.wp-block-image > img { max-width: none; width: 100vw; }

/* Grid Components & Framework Engine */
.cols-2 { display: flex; flex-wrap: wrap; }
.cols-2 > * { width: 50%; }
.cols-3 { display: flex; flex-wrap: wrap; }
.cols-3 > * { width: 33.333%; }
.cols-4 { display: flex; flex-wrap: wrap; }
.cols-4 > * { width: 25%; }

/* Block System Layout Support Rules */
.has-background:not(hr):not(a) { padding: 1.5em; }
.has-background:not(hr):not(a) p:last-child { margin-bottom: 0 !important; }
.is-layout-flex { display: flex; flex-wrap: wrap; }
.wp-block-image { line-height: 0; }
.wp-block-image img { border-radius: 4px; }

/* Spacing Engine Framework Utility Layers */
.p-2 { padding: 2em; }
.p-3 { padding: 3em; }
.pt-2 { padding-top: 2em; }
.pt-5 { padding-top: 5em; }
.pb-2 { padding-bottom: 2em; }
.pb-5 { padding-bottom: 5em; }
.mt-0 { margin-top: 0em !important; }
.mt-2 { margin-top: 2em !important; }
.mb-0 { margin-bottom: 0em !important; }
.mb-2 { margin-bottom: 2em !important; }

/* Custom Text and Highlight Background Tokens */
.has-light-color { color: var(--colorLight) !important; }
.has-dark-color { color: var(--colorDark) !important; }
.has-dark-muted-color { color: var(--colorDarkMuted) !important; }
.has-main-color { color: var(--colorMain) !important; }
.has-main-2-color { color: var(--colorMain2) !important; }
.has-main-3-color { color: var(--colorMain3) !important; }

.has-light-background-color { background-color: var(--colorLight); }
.has-main-background-color { background-color: var(--colorMain); }
.has-main-2-background-color { background-color: var(--colorMain2); }
.has-main-3-background-color { background-color: var(--colorMain3); }

/* Footer Systems Area */
.footer, .copyright { position: relative; overflow: hidden; }
.copyright .copyright-text { margin: .5em 0; }
.copyright .cols-2 { align-items: center; }

/* ==========================================================================
   8. DESKTOP ONLY LAYOUT CONSTRAINTS ENGINE
   ========================================================================== */
@media screen and (min-width: 1200px) {
    .top-nav {
        position: relative;
        flex: 1 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .top-nav .nav-btn { display: none; }
    
    .top-menu {
        display: flex;
        list-style: none;
        padding: 0; margin: 0;
        line-height: 1.1;
        align-items: center;
        justify-content: center;
    }
    .top-menu > li {
        margin: 0 .75em;
        overflow: hidden;
    }
    .top-menu > li > a {
        display: inline-block;
        padding: .5em 0;
        position: relative;
    }
    .menu-bold .top-menu > li > a { font-weight: 700; }
    .menu-uppercase .top-menu > li > a { text-transform: uppercase; }
    
    .top-menu > li > a:before {
        position: absolute;
        transition: all .35s ease;
        height: 3px; content: "";
        background-color: var(--colorMain);
        width: 0; bottom: 0; left: 0;
    }
    .top-menu > li > a:hover:before,
    .top-menu > .current-menu-item > a:before {
        width: 100%;
    }
    #nav_close { display: none; }
}

/* ==========================================================================
   9. MOBILE & TABLET LAYOUT ADAPTIVE INTERRUPT SYSTEM
   ========================================================================== */
@media screen and (max-width: 1199px) {
    .top-menu { display: none; }
    .top-menu-active { height: 100%; overflow: hidden; overscroll-behavior: contain; }
    .top-menu-active .top-menu { display: block; }
    
    .top-nav {
        position: fixed;
        width: var(--mobileNavWidth);
        right: calc(0px - var(--mobileNavWidth));
        top: 0; bottom: 0;
        overflow: auto; z-index: 21;
        transition: right .2s ease;
        height: 100vh;
        padding: 2.5em var(--mobileNavPX);
        background: var(--colorLight);
    }
    .top-nav.active {
        right: 0;
        box-shadow: 0 0 20px 0 rgba(100,100,100,.15);
        max-width: 100vw;
    }
    .top-nav .top-menu > li { padding: .4em 0; }
    .top-nav .top-menu a:not([id]) { color: var(--colorDarkMuted); }
    .top-nav .top-menu a:not([id]):hover { color: var(--colorMain); }
    
    .top-nav .nav-btn {
        position: absolute;
        right: 15px; top: 15px;
        background-color: var(--colorLight) !important;
    }
    .top-nav .nav-btn span, .top-nav .nav-btn span:before, .top-nav .nav-btn span:after {
        background: var(--colorDark);
    }
    #header #nav_toggle { display: block; margin-left: auto; }
    #nav_close { display: block; }
}

/* ==========================================================================
   10. ALEX SQUARED SYSTEM STRUCTURAL GRID OVERRIDES
   ========================================================================== */

/* Desktop & Tablet Layout Rules (Screens wider than 768px) */
@media screen and (min-width: 769px) {
    
    /* 1. About Us Profiles: Side-by-Side 50/50 balanced profile cards */
    .alex-profile-row {
        display: flex !important;
        flex-direction: row !important;
        gap: 30px !important;
        padding: 20px 0 !important;
    }
    .alex-profile-row .wp-block-column {
        flex: 1 !important;
        width: 50% !important;
        max-width: calc(50% - 15px) !important;
    }

    /* 2. Together Section: Locked down to middle 50% (creating the 25/50/25 layout look) */
    .alex-together-row {
        display: block !important;
    }
    .alex-together-container {
        width: 50% !important;
        max-width: 50% !important;
        margin: 0 auto !important;
        padding: 40px 0 !important;
    }

    /* 3. Our Ventures Canvas: Matches the centered box framing from image_3385de.png */
    .alex-ventures-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 320px) !important; /* Locks columns to card width */
        justify-content: center !important; /* Perfect grouping center alignment */
        gap: 32px 40px !important; /* Horizontal and vertical gaps between cards */
        background-color: #dddddd !important; /* Flat outer grey background wrapper */
        padding: 55px 0 !important; /* Top and bottom canvas buffers */
        margin-top: 35px !important;
        border-radius: 4px !important;
    }

    /* Individual Venture Blocks Configuration (Verbatim square aspect ratios) */
    .alex-ventures-grid .wp-block-column {
        width: 320px !important;
        height: 320px !important; /* Makes blocks look like uniform square tiles */
        padding: 40px 30px !important; /* Spacious inner breathing room for content */
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        margin: 0 !important;
    }
}

/* ==========================================================================
   CARD CONTRAST & ALIGNMENT ENGINES (Perbatim to image_3385de.png)
   ========================================================================== */
.alex-ventures-grid h2 {
    margin: 0 0 20px 0 !important;
    font-size: 1.5rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

.alex-ventures-grid p {
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    text-align: left !important;
}

/* Purple Cards: Forces pure white elements */
.alex-ventures-grid .has-main-background-color,
.alex-ventures-grid .has-main-background-color a,
.alex-ventures-grid .has-main-background-color span {
    color: #ffffff !important;
}

/* Sage Green Cards: Forces clean dark-charcoal text contrast */
.alex-ventures-grid .has-main-2-background-color,
.alex-ventures-grid .has-main-2-background-color a,
.alex-ventures-grid .has-main-2-background-color span {
    color: #222222 !important;
}

/* ==========================================================================
   MOBILE ADAPTIVE BREAKPOINT ENGINE
   ========================================================================== */
@media screen and (max-width: 768px) {
    .alex-profile-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 40px !important;
    }
    .alex-profile-row .wp-block-column {
        width: 100% !important;
        max-width: 100% !important;
    }
    .alex-together-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 15px !important;
    }
    .alex-ventures-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        max-width: 340px !important;
        margin: 30px auto !important;
        padding: 30px 20px !important;
        gap: 24px !important;
        background-color: #dddddd !important;
    }
    .alex-ventures-grid .wp-block-column {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important; /* Keeps them beautifully square on phones */
        padding: 35px 25px !important;
    }
}

/* Global Media Asset Normalization Rules */
.alex-profile-row img, 
.alex-together-container img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

/* ==========================================================================
   11. GLOBAL TEXT ALIGNMENT UTILITIES
   ========================================================================== */
.has-text-align-center {
    text-align: center !important;
}