/*
Theme Name: BlankSlate
Theme URI: https://opencollective.com/blankslate
Author: Web Guy
Author URI: https://opencollective.com/blankslate#section-contributors
Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you.
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2026
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate

BlankSlate WordPress Theme 2011-2026
BlankSlate is distributed under the terms of the GNU GPL
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline
}

:root {
    --gutter: max((100vw - 1600px) / 2, 5vw);
}

html {
    scroll-behavior: smooth
}

body {
    line-height: 1.4;
    color: var(--wp--preset--color--primary);
}

style, script {
    display: none !important;
}

a {
    text-decoration-skip-ink: auto;
    color: inherit;
}

h1, h2, h3, h4, h5, h6 {
    text-transform: uppercase;
    font-weight: 400;
    line-height: 1.2;
}

h1 {
    letter-spacing: 0.14em;
}

a[href^="tel"] {
    color: inherit;
    text-decoration: none
}

button {
    outline: 0;
    cursor: pointer;
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

q {
    display: inline;
    font-style: italic
}

q:before {
    content: '"';
    font-style: normal
}

q:after {
    content: '"';
    font-style: normal
}

textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"] {
    appearance: none;
    border-radius: 0
}

input[type="search"] {
    appearance: textfield
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

th,
td {
    padding: 2px
}

big {
    font-size: 120%
}

small,
sup,
sub {
    font-size: 80%
}

sup {
    vertical-align: super
}

sub {
    vertical-align: sub
}

dd {
    margin-left: 20px
}

kbd,
tt {
    font-family: courier;
    font-size: 12px
}

ins {
    text-decoration: underline
}

del,
strike,
s {
    text-decoration: line-through
}

dt {
    font-weight: bold
}

cite,
var {
    font-style: italic
}

address {
    font-style: normal;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent
}

p, h1, h2, h3 {
    margin-bottom: 1em;
    &:last-child {
        margin-bottom: 0;
    }
}

video {
    border-radius: 7px;
}

.sticky {}

.bypostauthor {}

.wp-caption {}

.wp-caption-text {}

.gallery-caption {}

.alignright {}

.alignleft {}

.aligncenter {}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    word-break: normal
}

.screen-reader-text:focus {
    background-color: #f7f7f7;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    clip: auto !important;
    clip-path: none;
    color: #007acc;
    display: block;
    font-size: 14px;
    font-size: .875rem;
    font-weight: 700;
    height: auto;
    right: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

.skip-link {
    left: -9999rem;
    top: 2.5rem;
    z-index: 999999999;
    text-decoration: underline
}

.skip-link:focus {
    display: block;
    left: 6px;
    top: 7px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    line-height: normal;
    padding: 15px 23px 14px;
    z-index: 100000;
    right: auto
}

.visually-hidden:not(:focus):not(:active),
.form-allowed-tags:not(:focus):not(:active) {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap
}

/* Header */
#header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    display: flex;
    align-items: center;
    padding: 30px var(--gutter);
}

#branding {
    flex: auto;
}

#site-title {
    max-width: 190px;
    a {
        display: block;
        padding-top: calc(69 / 182 * 100%);
        background: url(assets/images/Logo.svg) center no-repeat;
        background-size: contain;
        position: relative;
        overflow: hidden;
        span {
            position: absolute;
        }
    }
}

#menu {
    flex: auto;
    @media (max-width: 767px) {
        display: flex;
        justify-content: flex-end;
    }
}

#menu-main-menu {
    display: flex;
    color: white;
    text-transform: uppercase;
    justify-content: space-between;
    li {
        transition: all 0.2s;
        > a {
            transition: all 0.2s;
        }
        > .sub-menu-wrap {
            transition: all 0.2s;
        }
    }
    > li {
        &:hover > a, &.current-menu-item > a, &.current-menu- > a {
            color: var(--wp--preset--color--secondary);
        }
        &:hover > .sub-menu-wrap {
            opacity: 1;
            visibility: visible;
        }
    }
    a {
        text-decoration: none;
    }
}

/* Dropdown menu */
.menu-item {
    position: relative;
    @media (min-width: 768px) {
        &.mobile-only {
            display: none;
        }
    }
}
#menu-main-menu {
    .sub-menu {
        li:not(:last-child) {
            margin-bottom: 0.5em;
        }
        li {
            &:hover {
                color: var(--wp--preset--color--secondary);
            }
        }
        a {
            white-space: nowrap;
        }
    }
    @media (min-width: 768px) {
        .sub-menu-wrap {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
        }
        .sub-menu {
            position: absolute;
            left: -1em;
            color: white;
            padding: 2em 1em 1em;
            min-width: calc(100% + 2em);
            z-index: 0;
            &::before {
                content: '';
                width: 100%;
                position: absolute;
                left: 0;
                top: 1em;
                bottom: 0;
                background: var(--wp--preset--color--primary);
                z-index: -1;
            }
        }
        li {
            > .sub-menu-wrap {
                opacity: 0;
                visibility: hidden;
            }
        }
    }
    @media (max-width: 767px) {
        .sub-menu-wrap {
            display: none;
            padding-top: 1em;
        }
        li[data-expanded] {
            background: var(--wp--preset--color--primary);
            > a {
                color: var(--wp--preset--color--secondary);
            }
            .sub-menu-wrap {
                display: block;
            }
        }
    }
}

/* Mobile menu */
#mobile-menu-toggle {
    display: none;
}
@media (max-width: 767px) {
    #mobile-menu-toggle {
        display: block;
        background: transparent;
        border: 0;
        padding: 0;
        margin: 0;
        color: var(--wp--preset--color--secondary);
        width: 80px;
        height: 80px;
        .active {
            display: none;
        }
        &[data-active] {
            .default {
                display: none;
            }
            .active {
                display: inline-block;
            }
            + .menu-main-menu-container {
                display: block !important;
            }
        }
    }
    #menu > .menu-main-menu-container {
        display: none;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: grey;
        padding: 150px var(--gutter) 50px;
        z-index: -1;
        #menu-main-menu {
            display: block;
            text-align: center;
            li {
                padding: 0.5em;
            }
            > li {
                margin-bottom: 0.5em;
            }
        }
    }
}


#content, .is-root-container {
    ul, ol {
        margin: 0 0 1em 1.2em;
        ul, ol {
            margin-bottom: 0;
        }
    }
    ul {
        list-style: disc;
        ul {
            list-style: circle;
            ul {
                list-style: square;
            }
        }
    }
    ol {
        list-style: decimal;
        ol {
            list-style: lower-alpha;
            ol {
                list-style: lower-roman;
            }
        }
    }
}

#footer {
    background: var(--wp--preset--color--primary);
    padding: 80px var(--gutter);
    color: white;
    display: flex;
    gap: 60px;
    justify-content: space-between;
    @media( max-width: 640px ) {
        flex-wrap: wrap;
    }
    .column {
        max-width: 330px;
        &.left > * {
            margin-bottom: 1em;
        }
    }
    .social-icons {
        display: flex;
        gap: 1em;
    }
}
#footer-logo span {
    position: absolute;
    left: -10000em;
}
#footer-logo svg path {
    fill: var(--wp--preset--color--secondary);
}
#footer-menu {
    width: clamp(62%, 1024px, 100%);
}
#menu-footer {
    text-transform: uppercase;
    display: flex;
    gap: 60px;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 20px;
    a {
        text-decoration: none;
    }
    > li > a {
        color: var(--wp--preset--color--secondary);
    }
    .sub-menu {
        margin-top: 2em;
    }
}

/* News Posts templatre */
.news-articles {
    @media (min-width: 768px) {
        display: grid;
        grid-template-columns: 1fr;
        gap: 60px;
    }
    @media (min-width: 1024px) {
        grid-template-columns: 1fr 1fr;
    }
    article {
        @media (min-width: 768px) {
            display: flex;
            gap: 30px;
        }
        .image, .content {
            flex: 40%;
            display: block;
            @media (max-width: 767.9px) {
                margin-bottom: 30px;
            }
        }
        img {
            width: 100%;
            height: 360px;
            object-fit: cover;
            display: block;
            border-radius: 7px;
        }
        .date {
            text-transform: uppercase;
            margin-bottom: 1em;
        }
        h2 {
            font-size: 2em;
        }
        a {
            text-decoration: none;
        }
        .news-button {
            width: min(300px, 100%);
            display: block;
            padding: 0 60px 0 0;
            position: relative;
            text-transform: uppercase;
            > svg {
                position: absolute;
                right: 10px;
                height: 20px;
                width: 30px;
                top: 50%;
                transform: translateY(-50%);
                transition: right 0.4s;
            }
            &:hover svg {
                right: 0;
            }
        }
        .excerpt {
            margin-bottom: 2em;
        }
    }
    article:first-child {
        @media (min-width: 1024px) {
            grid-column: span 2;
        }
        flex-direction: column;
    }
    article:not(:first-child) {
        .excerpt {
            position: fixed;
            width: 1px;
            left: -10000px;
        }
    }
}