/* === GLOBAL STYLES === */
body {
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--color--contrast: var(--contrast);
    --wp--preset--color--contrast-2: var(--contrast-2);
    --wp--preset--color--contrast-3: var(--contrast-3);
    --wp--preset--color--base: var(--base);
    --wp--preset--color--base-2: var(--base-2);
    --wp--preset--color--base-3: var(--base-3);
    --wp--preset--color--accent: var(--accent);
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6,147,227,1) 0%, rgb(155,81,224) 100%);
    --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2,3,129) 0%, rgb(40,116,252) 100%);
    --wp--preset--font-size--small: 13px;
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--large: 36px;
    --wp--preset--font-size--x-large: 42px;
    --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;
}

body {
    background-color: var(--base-2);
    color: var(--base);
}

a { color: var(--accent); text-decoration: underline; }

.entry-title a,
.site-branding a,
a.button,
.wp-block-button__link,
.main-navigation a { text-decoration: none; }

a:hover, a:focus, a:active { color: blue; }

.wp-block-group__inner-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* === ROOT VARS === */
:root {
    --contrast: #222222;
    --contrast-2: #575760;
    --contrast-3: #b2b2be;
    --base: #f0f0f0;
    --base-2: #0c111c;
    --base-3: #ffffff;
    --accent: #247efd;
    --gp-search-modal-bg-color: var(--base-3);
    --gp-search-modal-text-color: var(--contrast);
    --gp-search-modal-overlay-bg-color: rgba(0,0,0,0.2);
    --gp-slideout-width: 265px;
}

:root .has-contrast-color { color: var(--contrast); }
:root .has-contrast-background-color { background-color: var(--contrast); }
:root .has-contrast-2-color { color: var(--contrast-2); }
:root .has-contrast-2-background-color { background-color: var(--contrast-2); }
:root .has-contrast-3-color { color: var(--contrast-3); }
:root .has-contrast-3-background-color { background-color: var(--contrast-3); }
:root .has-base-color { color: var(--base); }
:root .has-base-background-color { background-color: var(--base); }
:root .has-base-2-color { color: var(--base-2); }
:root .has-base-2-background-color { background-color: var(--base-2); }
:root .has-base-3-color { color: var(--base-3); }
:root .has-base-3-background-color { background-color: var(--base-3); }
:root .has-accent-color { color: var(--accent); }
:root .has-accent-background-color { background-color: var(--accent); }

/* === HEADER === */
.site-header { background-color: #0c111c; }
.site-header .header-image { width: 100px; }
.main-title a, .main-title a:hover { color: var(--contrast); }
.site-description { color: var(--contrast-2); }

/* === TOP BAR === */
.top-bar { background-color: rgba(99,99,99,0); color: #fff; font-weight: 400; text-transform: none; font-size: 13px; }
.top-bar a { color: #fff; }
.top-bar a:hover { color: #303030; }

/* === NAV === */
.main-navigation, .main-navigation ul ul { background-color: var(--base-2); }
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items { color: #f0f0f0; }

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover>a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus>a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"])>a,
.main-navigation .menu-bar-item:hover>a,
.main-navigation .menu-bar-item.sfHover>a {
    color: var(--accent);
    background-color: transparent;
}

button.menu-toggle:hover, button.menu-toggle:focus { color: #f0f0f0; }

.main-navigation .main-nav ul li[class*="current-menu-"]>a {
    color: var(--accent);
    background-color: transparent;
}

.main-navigation ul ul { background-color: rgba(240,240,240,0); }
.main-navigation .main-nav ul ul li[class*="current-menu-"]>a { background-color: transparent; }

/* === CONTENT AREA === */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header {
    color: var(--base);
    background-color: var(--base-2);
}

.entry-title a { color: var(--contrast); }
.entry-title a:hover { color: var(--contrast-2); }
.entry-meta { color: var(--contrast-2); }
.sidebar .widget { background-color: rgba(255,255,255,0); }

/* === FOOTER === */
.footer-widgets { background-color: var(--base-2); }
.site-info { background-color: var(--base-2); }

/* === BUTTONS === */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
a.wp-block-button__link:not(.has-background) {
    color: #fff;
    background-color: #55555e;
}

button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
a.button:hover,
button:focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
a.button:focus,
a.wp-block-button__link:not(.has-background):active,
a.wp-block-button__link:not(.has-background):focus,
a.wp-block-button__link:not(.has-background):hover {
    color: #fff;
    background-color: #3f4047;
}

a.generate-back-to-top { background-color: rgba(0,0,0,0.4); color: #fff; }
a.generate-back-to-top:hover, a.generate-back-to-top:focus { background-color: rgba(0,0,0,0.6); color: #fff; }

/* === LAYOUT === */
.nav-below-header .main-navigation .inside-navigation.grid-container,
.nav-above-header .main-navigation .inside-navigation.grid-container {
    padding: 0 20px;
}

.site-main .wp-block-group__inner-container { padding: 40px; }
.separate-containers .paging-navigation { padding: 20px 0; }

.entry-content .alignwide,
body:not(.no-sidebar) .entry-content .alignfull {
    margin-left: -40px;
    width: calc(100% + 80px);
    max-width: calc(100% + 80px);
}

.is-right-sidebar { width: 20%; }
.is-left-sidebar { width: 30%; }
.site-content .content-area { width: 100%; }

/* === SLIDEOUT === */
.slideout-navigation, .slideout-navigation a { color: #fff; }
.slideout-navigation button.slideout-exit { color: #fff; padding-left: 20px; padding-right: 20px; }
.slide-opened nav.toggled .menu-toggle:before { display: none; }

.button-container a.winlink.yellow {
    background: linear-gradient(103deg, #247efd -30%, #247efd);
}

/* === FOOTER WIDGETS === */
.footer-widgets-container { padding: 40px; }
.inside-footer-widgets { display: flex; }
.inside-footer-widgets>div { flex: 1 1 0; }
.site-footer .footer-widgets-container .inner-padding { padding: 0 0 0 40px; }
.site-footer .footer-widgets-container .inside-footer-widgets { margin-left: -40px; }

.footer-widgets .widget :last-child, .sidebar .widget :last-child {
    margin-bottom: 1px;
    color: #f0f0f0;
}

/* === TYPOGRAPHY === */
h1 {
    font-size: 30px;
    margin-bottom: 20px;
    line-height: 1.2em;
    font-weight: 400;
    text-transform: none;
}

h2 {
    font-size: 24px;
    margin-top: 35px;
    margin-bottom: 15px;
    line-height: 1.3em;
    font-weight: 500;
    color: #247efd;
}

p {
    margin-bottom: 16px;
    line-height: 1.7em;
}

strong { color: #fff; }

/* === RESPONSIVE === */
@media (max-width: 1090px) {
    .main-navigation .menu-bar-item:hover>a,
    .main-navigation .menu-bar-item.sfHover>a {
        background: none;
        color: #fff;
    }

    .main-navigation .menu-toggle,
    .sidebar-nav-mobile:not(#sticky-placeholder) { display: block; }

    .main-navigation ul,
    .gen-sidebar-nav,
    .main-navigation:not(.slideout-navigation):not(.toggled) .main-nav>ul,
    .has-inline-mobile-toggle #site-navigation .inside-navigation>*:not(.navigation-search):not(.main-nav) {
        display: none;
    }

    .nav-align-right .inside-navigation,
    .nav-align-center .inside-navigation { justify-content: space-between; }

    .has-inline-mobile-toggle .mobile-menu-control-wrapper { display: flex; flex-wrap: wrap; }
    .has-inline-mobile-toggle .inside-header { flex-direction: row; text-align: left; flex-wrap: wrap; }
    .has-inline-mobile-toggle .header-widget,
    .has-inline-mobile-toggle #site-navigation { flex-basis: 100%; }
    .nav-float-left .has-inline-mobile-toggle #site-navigation { order: 10; }

    .menu-bar-item.slideout-toggle { display: none; }
}

@media (max-width: 768px) {
    .separate-containers .inside-article,
    .separate-containers .comments-area,
    .separate-containers .page-header,
    .separate-containers .paging-navigation,
    .one-container .site-content,
    .inside-page-header { padding: 30px; }

    .site-main .wp-block-group__inner-container { padding: 30px; }
    .inside-top-bar { padding-right: 30px; padding-left: 30px; }
    .inside-header { padding-right: 30px; padding-left: 30px; }

    .widget-area .widget { padding: 30px; }
    .footer-widgets-container { padding: 30px 30px 0; }
    .inside-site-info { padding-right: 30px; padding-left: 30px; }

    .entry-content .alignwide,
    body:not(.no-sidebar) .entry-content .alignfull {
        margin-left: -30px;
        width: calc(100% + 60px);
        max-width: calc(100% + 60px);
    }

    .one-container .site-main .paging-navigation { margin-bottom: 20px; }
}
