*, *::before, *::after {
    box-sizing: border-box;
}

@-ms-viewport {
    width: device-width;
}

html {
    font-size: 10px;
    line-height: 1.4;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent;
}

body {
    display: flex;
    flex-direction: column;
    font: 400 1.6em/1.5 Georgia, serif;
    height: 100%;
    margin: 0;
    overflow-x: hidden;
    text-align: left;
}

article, aside, figcaption, figure, footer, header, main, menu, nav, section, summary {
    display: block;
}

audio, canvas, iframe, img, svg, video {
    vertical-align: middle;
}

a {
    background-color: transparent;
    text-decoration: none;
    -webkit-text-decoration-skip: objects;
}

a:hover, a:focus, a:active {
    text-decoration: none;
}

a:active, a:hover {
    outline-width: 0;
}

a:not([href]):not([tabindex]) {
    color: inherit;
}

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
}

b, strong {
    font-weight: bolder;
}

h1, h2, h3, h4, h5, h6 {
    clear: both;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: .5em;
}

h1:not(:first-child), h2:not(:first-child), h3:not(:first-child) {
    margin-top: 3rem
}

h1, h2 {
    font-size: 2em;
}
h3 {
    font-size: 1.75em;
}
h4 {
    font-size: 1.5em;
}
h5 {
    font-size: 1.25em;
}
h6 {
    font-size: 1em;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

small, .small {
    font-size: 75%;
}

big, .big, .large {
    font-size: 150% !important;
    line-height: 1.25 !important;
}

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

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

ol, ul, dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

ol ol, ul ul, ol ul, ul ol {
    margin-bottom: 0;
}

blockquote, .wp-block-quote {
    margin: 0 0 1rem;
    quotes: "\201C" "\201D" "\2018" "\2019";
    width: 90%;
}

blockquote > p {
    margin-left: 2em;
}

cite {
    font-style: italic;
    font-size: 75%;
}

cite::before {
    content: "\00a0 \2014 \00a0 "
}

q {
    display: inline;
    quotes: "\201C" "\201D" "\2018" "\2019";
}

q::before {
    content: open-quote;
}

q::after {
    content: close-quote;
}

dfn {
    font-style: italic;
}

pre, code, kbd, samp {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 87.5%;
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    -ms-overflow-style: scrollbar;
}

code {
    word-break: break-word;
}

pre code {
    color: inherit;
    font-size: inherit;
    word-break: normal;
}

button, input {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, .button, .btn, [type="button"], [type="reset"], [type="submit"] {
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5;
    padding: .5em .8em;
    text-align: center;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
    -webkit-appearance: button;
}

button:focus,
button:hover,
.button:focus,
.button:hover,
.btn:focus,
.btn:hover,
[type=button]:focus,
[type=button]:hover,
[type=reset]:focus,
[type=reset]:hover,
[type=submit]:focus,
[type=submit]:hover {
    outline: 0;
}

button::-moz-focus-inner,
.button::-moz-focus-inner,
.btn::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

button.disabled,
button:disabled,
.button.disabled,
.button:disabled,
.btn.disabled,
.btn:disabled,
[type=button].disabled,
[type=button]:disabled,
[type=reset].disabled,
[type=reset]:disabled,
[type=submit].disabled,
[type=submit]:disabled {
    opacity: .65;
    pointer-events: none;
}

button.block, .button.block, .btn.block, [type=button].block {
    display: block;
    width: 100%;
}

button.ghost-btn, .button.ghost-btn, .btn.ghost-btn, [type=button].ghost-btn {
    background: transparent;
    border: 2px solid;
}

hr {
    border: 0;
    border-top: 1px solid;
    box-sizing: content-box;
    display: block;
    height: 1px;
    margin: 1em 0;
    overflow: visible;
    padding: 0;
}

input, button, select, optgroup, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
}

input[type="radio"], input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] {
    -webkit-appearance: listbox;
}

input, textarea {
    border: 1px solid;
    padding: .25em .5em;
}

textarea {
    min-height: 3em;
    overflow: auto;
    resize: vertical;
    width: 100%;
}

img {
    border-style: none;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
}

.img-fluid {
    margin: 0 auto;
    width: 100%;
}

figure {
    margin: 0 0 1rem;
}

figure img {
    line-height: 1;
    margin-bottom: .5rem;
}

figcaption {
    font-size: 90%;
}

svg {
    max-width: 100%;
}

svg:not(:root) {
    overflow: hidden;
}

table {
    background-color: transparent;
    border-collapse: collapse;
    max-width: 100%;
    margin-bottom: 1rem;
    width: 100%;
}

table thead th {
    border-bottom: 2px solid;
    border-color: inherit;
}

th {
    text-align: inherit;
}

th, td {
    border-top: 1px solid;
    padding: .5em;
    vertical-align: top;
}

td {
    padding: .5rem;
}

thead th {
    vertical-align: bottom;
    border-bottom: 2px solid;
}

.table-responsive {
    display: block;
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

caption {
    caption-side: bottom;
    padding-top: .75rem;
    padding-bottom: .75rem;
    text-align: left;
}

dl dt {
    font-weight: 700;
}

dl dd {
    margin-bottom: .5rem;
    margin-left: 0;
}

abbr[title], abbr[data-original-title] {
    cursor: help;
    border-bottom: 0;
    text-decoration: underline;
    text-decoration: underline dotted;
}

address {
    font-style: normal;
    line-height: inherit;
    margin-bottom: 1rem;
}

fieldset {
    min-width: 0;
    border: 0;
    margin: 0;
    padding: 0;
}

label {
    display: inline-block;
    margin-bottom: 0.5rem;
}

legend {
    color: inherit;
    display: block;
    font-size: 1.5rem;
    line-height: inherit;
    margin-bottom: .5rem;
    max-width: 100%;
    padding: 0;
    width: 100%;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    border: 2px solid;
    outline-offset: -2px;
    padding: 0.5em;
    -webkit-appearance: none;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

output {
    display: inline-block;
}

summary {
    cursor: pointer;
    display: list-item;
}

.collapse:not(.show) {
    display: none;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

.close:hover, .close:focus {
  text-decoration: none;
  opacity: .75;
}

.close:not(:disabled):not(.disabled) {
    cursor: pointer;
}

.float-left, .pull-left {
    float: left !important;
}

.float-right, .pull-right {
    float: right !important;
}

.text-center {
    text-align: center !important;
}

/*
 * Columns
 */
.container, .container-fluid {
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

.row {
    display: flex;
    flex-wrap: wrap;
}

.column {
    flex-grow: 1;
    max-width: 100%;
    min-height: 1px;
    position: relative;
    width: auto;
}

.column.gutter {
    padding-right: 1em;
    padding-left: 1em;
}

@media (min-width: 48em) {

    .column.quarter {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .column.third {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .column.half {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .column.two-third {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }

    .column.three-quarter {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .column.gr-1 {
        flex: 0 0 7.692307%;
        max-width: 7.692307%;
    }

    .column.gr-2 {
        flex: 0 0 15.384615%;
        max-width: 15.384615%;
    }

    .column.gr-3 {
        flex: 0 0 23.076923%;
        max-width: 23.076923%;
    }

    .column.gr-5 {
        flex: 0 0 38.461538%;
        max-width: 38.461538%;
    }

    .column.gr-8 {
        flex: 0 0 61.538461%;
        max-width: 61.538461%;
    }

}

/**
 * Mobile nav
 */
 body.nav-open {
    overflow: hidden;
 }

.navbar-toggler {
    background-color: transparent;
    flex: 0 0 6%;
    margin-left: auto;
    margin-right: 2em;
    max-width: 6%;
    position: relative;
    width: 100%;
    z-index: 999;
}

.navbar-toggler-icon {
    position: relative;
}

.navbar-toggler-icon, .navbar-toggler-icon::before, .navbar-toggler-icon::after {
    content: " ";
    display: inline-block;
    height: 0.2em;
    width: 3em;
}

.navbar-toggler-icon::before, .navbar-toggler-icon::after {
    position: absolute;
    right: 0;
    transition: all 0.3s ease 0s;
}

.navbar-toggler-icon::before {
    top: -1em;
}

.navbar-toggler-icon::after {
    top: 1em;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
    background-color: transparent;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before, .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
    top: 0;
    transform-origin: 50% 50% 0;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
    transform: rotate3d(0, 0, 1, 45deg);
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
    transform: rotate3d(0, 0, 1, -45deg);
}

.nav-open .navbar-top {
    display: none;
}

/*
 * Header and nav styles
 */
.site-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    position: relative;
    white-space: nowrap;
    width: 100%;
    z-index: 999;
}

.site-header .logo-container {
    flex-basis: 85%;
    flex-grow: 1;
    max-width: 100%;
    text-align: center;
    width: 100%;
}

nav ul, nav li, .navbar ul, .navbar li {
    list-style: none;
}

.navbar {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    letter-spacing: 1.5px;
    padding: 0;
    position: relative;
}

.navbar-primary {
    text-transform: uppercase;
}

.navbar-primary .search-icon {
    font-size: 0.7em;
}

.navbar-top {
    align-items: center;
    padding: 0 1em;
    flex: 0 0 100%;
}

.navbar-brand {
    display: inline-block;
    font-size: 1.25rem;
    line-height: inherit;
    margin-right: 1rem;
    padding-bottom: 0.3125rem;
    padding-top: 0.3125rem;
    white-space: nowrap;
}

.navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none;
}

.navbar-brand > img {
    height: auto;
    max-height: 8em;
    width: auto;
    transition: max-height .2s;
}

.header-fixed .navbar-brand > img {
    max-height: 4em;
}

.navbar-nav {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    margin-left: auto;
    padding-bottom: 1em;
    padding-left: 0;
    position: relative;
}

.navbar-top .navbar-nav {
    flex-direction: row;
}

.navbar-nav .nav-item {
    transition: opacity .3s;
}

.navbar-nav .nav-item:not(.mega-menu) {
    position: relative;
}

#menu-top-social .nav-link.icon span {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    visibility: hidden;
    white-space: nowrap;
    width: 1px;
}

#menu-top-social .icon i::before {
    font-size: 1.5em;
}

.navbar-top.search-open .nav-item {
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
}

.navbar-top .menu-item-type-search {
    float: right;
    opacity: 1 !important;
    visibility: visible !important;
    width: 1em;
}

.navbar-nav .menu-item-type-search .search-form {
    left: 2em;
    opacity: 0;
    position: relative;
    transition: all .3s;
    visibility: hidden;
}

.navbar-top .menu-item-type-search .search-form {
    left: auto;
    position: absolute;
    right: 1.5em;
    bottom: 0;
    top: auto;
}

.navbar-nav .menu-item-type-search.open .search-form {
    opacity: 1;
    visibility: visible;
}

.navbar-nav .menu-item-type-search .search-field {
    border: none;
    line-height: 1;
    width: 50vw;
}

.navbar-nav .menu-item-type-search .search-icon {
    cursor: pointer;
}

.navbar-nav .menu-item-type-search .search-icon::before {
    content: "\f002";
    cursor: pointer;
    display: block;
    font-family: "Font Awesome 5 Free";
    font-size: 1em;
    font-style: normal;
    font-variant: normal;
    font-weight: 900;
    padding: 0 .7em;
    text-rendering: auto;
    transition: color .5s;
    width: 100%;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

.navbar-top .menu-item-type-search .search-icon::before {
    display: inline-block;
    font-size: 0.7em;
    right: 0;
}

.navbar-nav .nav-link, .navbar-nav .dropdown-header, .navbar-nav .dropdown-divider {
    display: block;
    font-size: .8em;
    font-weight: 700;
    padding: 0.5rem 0;
}

.navbar-nav > li > .nav-link {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.nav-item > .nav-link[data-title]::after, .nav-item > .dropdown-header[data-title]::after, .title .dropdown-divider[data-title]::after {
    content: attr(data-title);
    cursor: inherit;
    display: block;
    font-size: 85%;
    font-weight: normal;
    line-height: 1;
    text-transform: lowercase;
}

.navbar-nav > .nav-item > .icon[data-title], .dropdown > .dropdown-divider.icon[data-title], .dropdown > .dropdown-header.icon[data-title] {
    padding-left: 1.5em !important;
}

.nav-item .icon[data-title] .fa, .nav-item .icon[data-title] .fas, .nav-item .icon[data-title] .far, .nav-item .icon[data-title] .fal, .nav-item .icon[data-title] .fab, .nav-item .icon[data-title] .glyphicon {
    line-height: 1.7;
    margin-left: -1.5em;
    position: absolute;
}

.navbar-nav .dropdown-header {
    display: block;
}

.navbar-nav .dropdown-divider {
    border-bottom: 1px solid;
    height: 0;
    margin: .5rem 0;
    overflow: hidden;
    white-space: nowrap;
}

.navbar-nav .title .dropdown-divider {
    height: auto;
}

.navbar-nav .title .dropdown-divider[data-title] {
    padding-bottom: 1rem;
}

.navbar-nav .dropdown-menu {
    position: static;
}

.navbar-nav .mega-menu > .dropdown-menu {
    width: 100%;
}

.navbar-nav .mega-menu .dropdown-menu .dropdown-menu {
    position: relative;
}

.dropdown-menu .dropdown-item {
    background-color: transparent;
    border: 0;
    clear: both;
    display: block;
    text-align: inherit;
    white-space: normal;
    width: 100%;
}

.navbar-nav .dropdown > .dropdown-toggle::before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-variant: normal;
    font-weight: 900;
    line-height: 1.7;
    position: absolute;
    text-rendering: auto;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

.navbar-mobile .navbar-nav .dropdown > .dropdown-toggle::before {
    content: "\f105";
    margin-right: -1em;
    right: 0;
    transition: transform .3s;
}

.navbar-mobile .navbar-nav .dropdown > .dropdown-toggle.open::before {
    transform: rotate(90deg);
}

.navbar-collapse {
    align-self: flex-end;
    flex-basis: 100%;
    flex-grow: 1;
}

.navbar-toggler {
    background-color: transparent !important;
    border-radius: 0;
    border: 1px solid transparent;
    font-size: .5rem;
    line-height: 1;
    padding: 1em .25em;
}

.nav-open .navbar-toggler {
    right: 4em;
}

.navbar-toggler:hover, .navbar-toggler:focus {
    text-decoration: none;
}

.navbar-toggler:not(:disabled):not(.disabled) {
    cursor: pointer;
}

.navbar-toggler-icon {
    background-size: 100% 100%;
    background: no-repeat center center;
    content: "";
    display: inline-block;
    vertical-align: middle;
}

@media (max-width: 48em) {

    .navbar-brand > img {
        max-height: 4em;
        width: auto;
    }

    .navbar-collapse {
        top: 0;
        height: 100vh;
        left: 0;
        padding: 1em 2em;
        position: fixed;
        width: 100%;
    }

    .navbar-primary .menu-item-type-search {
        order: -1;
    }

}

@media (max-width: 48em) {

    .site-header .logo-container {
        margin-left: 1em;
    }

}

@media (min-width: 48em) {

    .site-header {
        min-height: 4em;
        padding: 0 1em;
    }

    .header-fixed .site-header, .header-fixed .navbar-primary {
        min-height: auto;
    }

    .site-header .logo-container {
        flex: 0 1 38.461538%;
        max-width: 38.461538%;
        min-width: 10%;
        padding-right: 1em;
    }

    .header-fixed .navbar-brand > img {
        max-height: 4em;
        width: auto;
    }

    .navbar-nav {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-end;
        padding: 0;
        width: 100%;
    }

    .navbar-primary {
        flex-flow: row nowrap;
        flex: 1 1 61.538461%;
        height: 100%;
        justify-content: flex-start;
        min-height: 4em;
        width: 100%;
    }

    .navbar-mobile {
        display: none;
    }

    .navbar-top {
        font-size: .7em;
    }

    .navbar-nav .nav-item {
        display: block;
        padding: 0 .3em;
    }

    .navbar.search-open .nav-item {
        opacity: 0;
        visibility: hidden;
        transition: all .3s;
    }

    .navbar-nav .menu-item-type-search {
        float: right;
        opacity: 1 !important;
        visibility: visible !important;
        width: 1em;
    }

    .navbar-nav .menu-item-type-search .search-form {
        left: auto;
        position: absolute;
        right: 1.5em;
        top: 0;
    }

    .header-fixed .navbar-nav .menu-item-type-search .search-form {
        top: 50%;
        transform: translateY(-50%);
    }

    .navbar-top .menu-item-type-search .search-form {
        bottom: 0;
        top: auto;
    }

    .navbar-nav .menu-item-type-search .search-icon::before {
        display: inline-block;
        right: 0;
    }

    .navbar-nav .mega-menu .dropdown-menu .nav-item {
        display: inline-block;
        flex: 0 0 33%;
        max-width: 33%;
        position: relative;
        vertical-align: top;
        width: 100%;
    }

    .navbar-nav .dropdown-menu .dropdown-menu .nav-item {
        flex: none;
        max-width: none;
    }

    .navbar-nav .mega-menu .dropdown-menu .nav-link:not(.icon) {
        display: inline;
    }

    .nav-item .icon[data-title] .fa, .nav-item .icon[data-title] .fas, .nav-item .icon[data-title] .far, .nav-item .icon[data-title] .fal, .nav-item .icon[data-title] .fab, .nav-item .icon[data-title] .glyphicon {
        line-height: 2;
    }

    .navbar-nav .dropdown-menu {
        background-clip: padding-box;
        margin: 0;
        padding: 0;
        position: absolute;
        text-align: left;
        visibility: hidden;
        z-index: 998;
    }

    .dropdown:not(.mega-menu) .dropdown-menu .dropdown-item {
        white-space: nowrap;
    }

    .dropdown:not(.mega-menu) > .dropdown-menu > .dropdown .dropdown-item {
        padding-right: 1em;
    }

    .dropdown.menu-left:not(.mega-menu) > .dropdown-menu > .dropdown .dropdown-item {
        padding-left: 1em;
        padding-right: 0;
    }

    .dropdown.mega-menu .dropdown-item {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .navbar-nav .mega-menu .dropdown-menu .dropdown-menu .nav-item {
        display: block;
        padding-left: .5em;
    }

    .navbar-nav .dropdown:not(.mega-menu) .dropdown-menu .dropdown-menu {
        left: 100%;
        right: auto;
        top: 0;
    }

    .navbar-nav .dropdown.menu-left:not(.mega-menu) .dropdown-menu .dropdown-menu {
        left: auto !important;
        right: 100% !important;
    }

    .navbar-nav .dropdown > .dropdown-toggle {
        margin-right: 1em;
        position: relative;
    }

    .navbar-nav .dropdown > .dropdown-toggle::before {
        content: "\f107";
        margin-right: -1em;
        right: 0;
    }

    .navbar-nav .dropdown > .dropdown-menu .dropdown > .dropdown-toggle::before {
        content: "\f105";
        right: 0;
    }

    .navbar-nav .dropdown.menu-left > .dropdown-menu .dropdown > .dropdown-toggle::before {
        content: "\f104";
        margin-left: -1.2em;
        margin-right: 0;
        right: auto;
    }

    .navbar-nav .dropdown.mega-menu > .dropdown-menu .dropdown-toggle::before {
        content: " " !important;
    }

    .navbar-nav .mega-menu > .dropdown-menu {
        display: flex;
        flex-wrap: wrap;
        min-height: 5em;
        padding: 1em;
        right: 0;
    }

    .navbar-nav .mega-menu .dropdown-menu .dropdown-menu {
        right: auto !important;
        left: auto !important;
        top: auto !important;
    }

    .dropdown:hover > .dropdown-menu, .dropdown.mega-menu:hover .dropdown-menu {
        visibility: visible;
    }

    .dropdown:hover .mega-menu .dropdown-menu {
        display: flex;
    }

    .navbar-nav .dropdown-header {
        padding-bottom: .25em;
    }

    .navbar-nav .dropdown-menu .nav-item {
        padding: 1rem 1em;
    }

    .navbar-nav .mega-menu .nav-item {
        padding: 0 1em 1rem 0;
    }

    .navbar-nav > li > .nav-link {
        height: 100%;
        padding-bottom: 1em;
    }

    .navbar .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-toggler {
        display: none;
    }

}

@media (min-width: 64em) {

    .site-header {
        padding-left: 5%;
        padding-right: 5%;
    }

}

/**
 * Main styles
 */
.site-wrap {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    min-height: 100vh;
}

.page-header-container {
    margin: 1em 0;
    padding: 0.5em 0;
}

.page-header {
    margin: 1em 0;
    padding: 0 20%;
}

.page-header-title {
    margin: 0;
    word-wrap: break-word;
}

article {
    position: relative;
    width: 100%;
}

.blog article, .archive article {
    padding-bottom: 5%;
}

.posts-wrapper {
    padding: 5%;
}

.site-main > .header-container {
    display: block;
    flex: none;
    position: relative;
    width: 100%;
}

.posts-wrapper .header-container {
    align-items: center;
    display: flex;
    max-height: 25em;
    overflow: hidden;
}

.header-container .header-img {
    display: flex;
    height: 100%;
    justify-content: center;
    object-fit: cover;
    overflow: hidden;
    position: relative;
    width: auto;
}

.header-container.column .header-img {
    height: auto;
}

.header-container.column .header-img img {
    align-self: center;
}

.single .header-container .header-img, .page .header-container .header-img {
    max-height: 85vh;
    min-height: 25vh;
}

.site-main > .header-container .header-img, .page-template-page_hero .header-container .header-img {
    max-height: 100vh;
}

.header-container:not(.column) .header-img img {
    align-self: center;
    flex: none;
    height: auto;
    max-width: none;
    width: 100%;
}

article {
    padding-bottom: 5%;
}

.home article {
    padding-top: 5%;
}

.story {
    padding: 0 5%;
}

.blog .story, .archive .story, .search .story {
    padding: 1em;
}

.post-wrapper {
    padding-top: 5%;
}

.page-template-page_full-width .story, .page-template-page_full-width article,
.page-template-page_blank .post-wrapper, .page-template-page_blank .story, .page-template-page_blank article,
.page-template-page_no-header .post-wrapper {
    padding: 0;
}

.entry-header {
    margin-bottom: 5%;
}

.blog .sticky .entry-header {
    border-bottom: 1px solid;
    text-align: center;
}

.entry-header > a {
    display: inline-block;
}

.entry-title {
    margin: 0;
    word-break: break-word;
}

.entry-meta, .page-header-meta, .entry-footer {
    font-size: 70%;
    text-transform: uppercase;
}

.entry-footer {
    border-bottom: 1px solid;
    border-top: 1px solid;
    margin-top: 10%;
    padding: 0.5em;
}

.meta-author, .meta-categories, .meta-tags {
    padding-right: 1em;
}

.more-link {
    border-bottom: 1px solid;
    display: block;
    font-size: 70%;
    letter-spacing: 1.2px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    width: 20em;
}

#return-to-top {
    bottom: 5em;
    display: none;
    height: 1em;
    position: fixed;
    right: 1em;
    width: 1em;
}

.page-links {
    clear: both;
}

.pagination {
    clear: both;
    position: relative;
}
 
.pagination span, .pagination a {
    display: inline-block;
    margin: .2rem .2rem .2rem 0;
    min-width: 2.5em;
    padding: .3em .7em;
    text-align: center;
    text-decoration: none;
    width: auto;
}

.nav-links {
    font-size: 60%;
}

.post-navigation .nav-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 10%;
    padding: 0 5%;
}

.nav-previous, .nav-next {
    padding-bottom: 2em;
    width: 100%;
}

.nav-previous span, .nav-next span {
    display: block;
}

.site-footer {
    flex: none;
    padding: 1em 1em 0;
}

.site-footer .site-text {
    font-size: 50%;
    padding-bottom: 1em;
    padding-left: 2em;
    text-align: center;
}

@media (min-width: 48em) {

    body {
        font-size: 2em;
        line-height: 1.8;
    }

    .posts-wrapper {
        padding: 5% 10%;
    }

    .story {
        padding: 0 10% 5%;
    }

    .nav-previous, .nav-next {
        flex: 1 0 50%;
        padding: 0;
    }

    .nav-next {
        text-align: right;
    }

}

@media (max-width: 64em) {

    .post-wrapper {
        padding-bottom: 5%;
    }

}

@media (min-width: 64em) {

    .story {
        padding: 0 20% 5%;
    }

}

@media (min-width: 85.375em) {

    body {
        font-size: 2.6em;
    }

    .header-container.column {
        flex: 0 0 38.461538%;
        max-width: 38.461538%;
    }

    .story.column {
        flex: 0 0 61.538461%;
        max-width: 61.538461%;
    }

}

@media (min-width: 120em) {

    body {
        font-size: 2.8em;
    }

}

@media (min-width: 160em) {

    body {
        font-size: 3.2em;
    }

}

/**
 * Sidebar
 */
.site-sidebar {
    align-content: flex-start;
    clear: both;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 100%;
    order: 1;
    padding: 1em;
}

@media (min-width: 48em) and (max-width: 64em) {

    .site-sidebar {
        padding: 1em 2em;
    }

}

@media (min-width: 64em) {

    .has-sidebar .site-main, .has-sidebar .site-main > article {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .has-sidebar .header-container:not(.column), .has-sidebar .page-header-container {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .has-sidebar.home .site-main > article, .has-sidebar .home-wrapper, .has-sidebar .posts-wrapper, .has-sidebar .post-wrapper {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .has-sidebar.sidebar-left.home .site-main > article, .has-sidebar.sidebar-left .home-wrapper, .has-sidebar.sidebar-left .posts-wrapper, .has-sidebar.sidebar-left .post-wrapper {
        order: 1;
    }

    .has-sidebar .home-wrapper, .has-sidebar .posts-wrapper {
        padding-left: 5%;
        padding-right: 1em;
    }

    .has-sidebar.sidebar-left .home-wrapper, .has-sidebar.sidebar-left .posts-wrapper {
        padding-left: 1em;
        padding-right: 5%;
    }

    .has-sidebar.home .site-main > article, .has-sidebar .post-wrapper {
        padding-left: 15%;
        padding-right: 1em;
    }

    .has-sidebar.sidebar-left.home .site-main > article, .has-sidebar.sidebar-left .post-wrapper {
        padding-left: 1em;
        padding-right: 15%;
    }

    .has-sidebar.page .story, .has-sidebar.single .story {
        padding: 0 0 5%;
    }

    .has-sidebar .comments-container, .has-sidebar #disqus_thread {
        padding-left: 0;
        padding-right: 0;
    }

    .site-sidebar {
        flex: 0 0 25%;
        max-width: 25%;
        order: 0;
        padding: 5% 2em;
    }

}

/**
 * Comments
 */
.comments-container, #disqus_thread {
    padding: 1em 5% 5%;
}

.comment-list {
    font-size: .7em;
}

.comment-list, .comment-list .children {
    list-style: none;
}

.comment {
    margin: 1em;
}

.comment-body {
    padding: 1em;
}

.bypostauthor > .comment-body {
    border-top: 1rem solid;
}

.comments-pagination {
    margin: 1em;
}

.comment-reply-title {
    font-size: 1.2em;
}

.comment-respond {
    padding-bottom: 2.5em;
}

/*
 * Widgets, Sidebar & Footer
 */
.site-footer .widget-area {
    display: flex;
    flex-wrap: wrap;
    margin: -1em -1em 1em;
    padding: 1em 1em 0;
}

.widget-column {
    flex: 0 0 100%;
    margin-bottom: 2em;
    max-width: 100%;
    min-height: 1px;
    padding: 0 1em;
    position: relative;
    vertical-align: top;
    width: 100%;
}

.widget {
    padding-bottom: 3rem;
}

.site-sidebar .widget {
    flex: 0 0 100%;
    max-width: 100%;
}

.widget .widget-title {
    font-size: 1.5em;
    margin-top: 0;
}

.widget-area ul {
    list-style: none;
}

.widget-area .widget_recent_entries ul {
    display: table;
    padding: 0;
}

.widget-area .widget_recent_entries li {
    display: table-row;
}

.widget-area .widget_recent_entries .post-thumbnail img {
    float: left;
    margin-bottom: 1em;
    margin-right: 0.5em;
    max-width: 33.333333%;
    min-height: 1px;
    position: relative;
    width: 33.333333%;
}

.widget-area .widget_recent_entries .post-details-wrapper {
    display: table;
}

.widget-area .widget_recent_entries .post-title, .widget-area .widget_recent_entries .post-date {
    display: block;
}

.footer-menu {
    display: inline-block;
}

.footer-menu ul {
    padding: 0;
}

.footer-menu li {
    display: inline;
}

.footer-menu li:first-child::before {
    content: " | ";
}

.footer-menu li:not(:last-child)::after {
    content: " · ";
}

@media (min-width: 48em) and (max-width: 64em) {

    .site-sidebar .widget, .widget-column {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .widget-area .widget_recent_entries .post-details-wrapper {
        font-size: 85%;
    }

}

@media (min-width: 64em) {

    .widget-area {
        font-size: 60%;
    }

    .widget-column {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

/* ==========================================================================
   WordPress specific classes
   ========================================================================== */

.alignfull {
    margin-left: -6%;
    margin-right: -6%;
    max-width: none;
    width: auto;
}

.alignwide {
    margin-left: -3%;
    margin-right: -3%;
    max-width: none;
    width: auto;
}

.wp-block-columns.alignfull {
    margin-left: -30%;
    margin-right: -30%;
}

@media (min-width: 48em) {

    .alignfull {
        margin-left: -15%;
        margin-right: -15%;
    }

    .alignwide {
        margin-left: -10%;
        margin-right: -10%;
    }

}

@media (min-width: 64em) {

    .alignfull {
        margin-left: -35%;
        margin-right: -35%;
    }

    .has-sidebar .alignfull {
        margin-left: -26%;
        margin-right: -5%;
    }

    .has-sidebar.sidebar-left .alignfull {
        margin-left: -3%;
        margin-right: -26%;
    }

    .has-sidebar .alignwide {
        margin-left: -20%;
        margin-right: -5%;
    }

    .has-sidebar.sidebar-left .alignwide {
        margin-left: -3%;
        margin-right: -20%;
    }

}

.alignleft {
    display: inline;
    float: left;
    margin-bottom: .3em;
    margin-right: 1.5em;
    margin-top: .3em;
}

.alignright {
    display: inline;
    float: right;
    margin-bottom: .3em;
    margin-left: 1.5em;
    margin-top: .3em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-block-button .wp-block-button__link {
    border-radius: 0;
}

.wp-block-quote.is-large, .wp-block-quote.is-style-large {
    margin: 1em auto 1em;
    padding: 1em;
}

.wp-block-quote.is-large p, .wp-block-quote.is-style-large p {
    font-size: 1.5em;
}

.wp-block-quote__citation, .wp-block-quote cite, .wp-block-quote footer {
    color: inherit;
}

.wp-block-quote.is-large cite, .wp-block-quote.is-large footer, .wp-block-quote.is-style-large cite, .wp-block-quote.is-style-large footer {
    font-size: 1.1em;
}

.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

.wp-caption-text {
    text-align: center;
}

.search-submit {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.search-field {
    width: 90%;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    flex-basis: 100%;
    flex-grow: 1;
    margin: 0;
    max-width: 100%;
    min-height: 1px;
    position: relative;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.gallery-caption {
    display: block;
}

@media (min-width: 30em) {

    .gallery-columns-2 .gallery-item {
        flex: 0 0 50%;
        max-width: 50%;
    }

}

@media (min-width: 48em) {

    .gallery-columns-3 .gallery-item {
        flex: 0 0 33.33%;
        max-width: 33.33%;
    }

    .gallery-columns-4 .gallery-item {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .gallery-columns-5 .gallery-item {
        flex: 0 0 20%;
        max-width: 20%;
    }

    .gallery-columns-6 .gallery-item {
        flex: 0 0 16.66%;
        max-width: 16.66%;
    }

    .gallery-columns-7 .gallery-item {
        flex: 0 0 14.28%;
        max-width: 14.28%;
    }

    .gallery-columns-8 .gallery-item {
        flex: 0 0 12.5%;
        max-width: 12.5%;
    }

    .gallery-columns-9 .gallery-item {
        flex: 0 0 11.11%;
        max-width: 11.11%;
    }

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
}

.visually-hidden, .screen-reader-text, .sr-only {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix::before,
.clearfix::after {
    content: " ";
    display: table;
}

.clearfix::after {
    clear: both;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *, *::before, *::after, *:first-letter, *:first-line {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a, a:visited {
        text-decoration: underline;
    }

    a[href]::after {
        content: " (" attr(href) ")";
    }

    abbr[title]::after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]::after, a[href^="javascript:"]::after {
        content: "";
    }

    pre, blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr, img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p, h2, h3 {
        orphans: 3;
        widows: 3;
    }

    h2, h3 {
        page-break-after: avoid;
    }
}
