.has-gigantic-font-size {
    font-size: var(--font-size-4xl) !important
}

.has-huge-font-size {
    font-size: var(--font-size-3xl) !important
}

.has-extra-large-font-size {
    font-size: var(--font-size-2xl) !important
}

.has-larger-font-size {
    font-size: var(--font-size-xl) !important
}

.has-large-font-size {
    font-size: var(--font-size-lg) !important
}

.has-normal-font-size {
    font-size: var(--font-size-md) !important
}

.has-small-font-size {
    font-size: var(--font-size-sm) !important
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b, strong {
    font-weight: bolder
}

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

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
}

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

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button
}

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

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: 0.35em 0.75em 0.625em
}

legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

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

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

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

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

*, *::before, *::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

body, button, input, select, optgroup, textarea {
    color: var(--color-text);
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: var(--body-line-height)
}

body {
    -webkit-font-smoothing: antialiased
}

h1, h2, h3, h4, h5, h6, .site-title {
    color: var(--color-headings);
    clear: both;
    font-family: 'Cormorant Garamond', sans-serif;
    line-height: var(--headings-line-height);
    font-weight: 600
}

h1 {
    font-size: var(--font-size-4xl);
    line-height: var(--headings-small-line-height);
    margin: 20px 0
}

h2 {
    font-size: var(--font-size-3xl);
    margin: 16px 0
}

h3 {
    font-size: var(--font-size-2xl)
}

h4 {
    font-size: var(--font-size-xl)
}

h5 {
    font-size: var(--font-size-lg)
}

h6 {
    font-size: var(--font-size-md)
}

h3, h4, h5, h6 {
    margin: 14px 0
}

.entry-content h1 {
    margin-top: 46px;
    margin-bottom: 32px
}

.entry-content h2 {
    margin-top: 38px;
    margin-bottom: 24px
}

.entry-content h3 {
    margin-top: 34px;
    margin-bottom: 20px
}

.entry-content h4 {
    margin-top: 30px
}

.entry-content h5 {
    margin-top: 24px
}

.entry-content h6 {
    margin-top: 18px
}

p {
    margin-top: 0;
    margin-bottom: 30px
}

dfn, cite, em, i {
    font-style: italic
}

.elsie-icon {
    vertical-align: middle;
    fill: var(--color-text)
}

.elsie-icon svg {
    width: 32px;
    height: 32px
}

.wp-block-pullquote {
    padding: 0
}

.wp-block-quote.is-large, .wp-block-quote.is-style-large, blockquote {
    border-left: 2px solid;
    padding-left: 30px
}

.wp-block-pullquote .wp-block-quote.is-large, .wp-block-pullquote .wp-block-quote.is-style-large, .wp-block-pullquote blockquote {
    border: 0;
    padding: 30px;
    background-color: var(--color-light-background)
}

.wp-block-pullquote.has-background blockquote {
    background: transparent
}

address {
    margin: 0 0 1.5em
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", courier, monospace;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em
}

code, kbd, tt, var {
    font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace
}

abbr, acronym {
    border-bottom: 1px dotted var(--color-borders) -abbr;
    cursor: help
}

mark, ins {
    background: #fff9c0;
    text-decoration: none
}

big {
    font-size: 125%
}

body {
    background: var(--color-white)
}

hr, .wp-block-separator {
    background-color: var(--color-borders);
    border: 0;
    height: 2px;
    margin-bottom: 24px
}

ul, ol {
    margin: 0 0 20px 0;
    padding-left: 20px
}

ul li, ol li {
    padding-bottom: 5px
}

ul {
    list-style: disc
}

ol {
    list-style: decimal
}

li>ul, li>ol {
    margin: 0;
    padding-left: 20px
}

dt {
    font-weight: 700
}

dd {
    margin: 0 1.5em 1.5em
}

embed, iframe, object {
    max-width: 100%
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: top
}

figure {
    margin: 0 0 1em
}

table {
    margin: 0 0 30px;
    width: 100%;
    border-collapse: collapse
}

table a {
    border: 0 !important
}

th {
    background-color: var(--color-light-background);
    padding: 15px;
    border: 1px solid var(--color-borders)
}

td {
    padding: 15px;
    border: 1px solid var(--color-borders)
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.elsie-fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

.elsie-fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn
}

.elsie-fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.elsie-animated {
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

a {
    color: var(--color-accent);
    text-decoration: none;
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

a:visited {
    color: var(--color-accent)
}

a:hover, a:focus, a:active {
    color: #000
}

a:focus {
    outline: thin dotted
}

a:hover, a:active {
    outline: 0
}

.entry-content a {
    text-decoration: underline
}

.product-name a, a.wp-block-button__link, a.remove, a.button {
    text-decoration: none
}

button, .button, .widget .button, .wp-block-button__link, input[type="button"], input[type="reset"], input[type="submit"], .wpforms-form button[type=submit], div.wpforms-container-full .wpforms-form button[type=submit], div.nf-form-content input[type=button], .wp-block-search .wp-block-search__button {
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: #000;
    color: #fff;
    padding: 15px 36px;
    cursor: pointer;
    display: inline-block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    border-radius: 0;
    height: auto;
    border-radius: 0;
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600
}

button:hover, .button:hover, .widget .button:hover, .wp-block-button__link:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, .wpforms-form button[type=submit]:hover, div.wpforms-container-full .wpforms-form button[type=submit]:hover, div.nf-form-content input[type=button]:hover, .wp-block-search .wp-block-search__button:hover {
    color: #fff;
    background-color: var(--color-accent-dark)
}

button:visited, button:active, button:focus, .button:visited, .button:active, .button:focus, .widget .button:visited, .widget .button:active, .widget .button:focus, .wp-block-button__link:visited, .wp-block-button__link:active, .wp-block-button__link:focus, input[type="button"]:visited, input[type="button"]:active, input[type="button"]:focus, input[type="reset"]:visited, input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"]:visited, input[type="submit"]:active, input[type="submit"]:focus, .wpforms-form button[type=submit]:visited, .wpforms-form button[type=submit]:active, .wpforms-form button[type=submit]:focus, div.wpforms-container-full .wpforms-form button[type=submit]:visited, div.wpforms-container-full .wpforms-form button[type=submit]:active, div.wpforms-container-full .wpforms-form button[type=submit]:focus, div.nf-form-content input[type=button]:visited, div.nf-form-content input[type=button]:active, div.nf-form-content input[type=button]:focus, .wp-block-search .wp-block-search__button:visited, .wp-block-search .wp-block-search__button:active, .wp-block-search .wp-block-search__button:focus {
    color: #fff
}

a.wc-backward {
    color: #fff
}

.is-style-outline .wp-block-button__link, .wp-block-button__link.is-style-outline {
    color: var(--color-accent);
    border: 2px solid var(--color-accent)
}

.is-style-outline .wp-block-button__link:hover, .wp-block-button__link.is-style-outline:hover {
    border-color: var(--color-accent-dark);
    color: var(--color-white-text);
    background-color: var(--color-accent-dark)
}

.wp-block-button {
    margin-bottom: 20px
}

.wp-block-button.is-style-squared a, .wp-block-button__link.wp-block-button.is-style-squared a {
    border-radius: 0
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, select, .woocommerce .select2-container .select2-selection--single, .woocommerce-page .select2-container .select2-selection--single, .wp-block-search .wp-block-search__input {
    color: #666;
    border: 1px solid var(--color-borders);
    border-radius: 0;
    padding: 10px 16px;
    border-radius: 5px;
    max-width: 100%
}

input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus, select:focus, .woocommerce .select2-container .select2-selection--single:focus, .woocommerce-page .select2-container .select2-selection--single:focus, .wp-block-search .wp-block-search__input:focus {
    color: #111
}

select {
    border: 1px solid var(--color-borders)
}

textarea {
    width: 100%
}

.woocommerce .select2-container .select2-selection--single, .woocommerce-page .select2-container .select2-selection--single {
    height: 100%
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow, .woocommerce-page .select2-container .select2-selection--single .select2-selection__arrow {
    top: 15px
}

div.nf-form-content {
    margin: 0;
    padding: 0
}

.elsie-main-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 60px;
    margin-bottom: 120px
}

.v-align {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.h-align {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.grow1 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

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

.clear:after {
    clear: both
}

.site-main {
    padding-right: 60px;
    width: calc(100% - 300px)
}

.site-main.no-sidebar {
    padding: 0;
    margin-left: auto;
    margin-right: auto
}

.no-sidebar .site-main {
    padding-right: 0;
    width: 100%
}

.site-main.col-md-12 {
    padding-right: 15px
}

.error404 .site-main {
    padding-right: 0;
    width: 100%;
    text-align: center
}

.error404 .site-main .page-header {
    margin-bottom: 60px
}

.error404 .site-main .widget_recent_entries {
    border-top: 1px solid var(--color-borders);
    padding-top: 60px;
    margin-top: 60px
}

.no-sidebar.layout-stretched .elsie-main-container {
    margin-top: 0;
    margin-bottom: 0
}

.no-sidebar.single-post .elsie-main-container {
    max-width: 900px
}

@media (min-width: 992px) {
    .sidebar-left .site-main {
        padding-right: 0;
        padding-left: 60px;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-overflow-style: scrollbar
}

*, *::before, *::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 576px) {
    .container {
        max-width: 540px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px
    }
}

.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 1200px) {
    .container-fluid {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (min-width: 576px) {
    .container, .container-sm {
        max-width: 540px
    }
}

@media (min-width: 768px) {
    .container, .container-sm, .container-md {
        max-width: 720px
    }
}

@media (min-width: 992px) {
    .container, .container-sm, .container-md, .container-lg {
        max-width: 960px
    }
}

@media (min-width: 1200px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl {
        max-width: 1140px
    }
}

.row {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    -webkit-box-flex: 1;
    flex-grow: 1;
    max-width: 100%
}

.col-auto {
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
}

.col-1 {
    -ms-flex: 0 0 8.333333%;
    -webkit-box-flex: 0;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
}

.col-2 {
    -ms-flex: 0 0 16.666667%;
    -webkit-box-flex: 0;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
}

.col-3 {
    -ms-flex: 0 0 25%;
    -webkit-box-flex: 0;
    flex: 0 0 25%;
    max-width: 25%
}

.col-4 {
    -ms-flex: 0 0 33.333333%;
    -webkit-box-flex: 0;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
}

.col-5 {
    -ms-flex: 0 0 41.666667%;
    -webkit-box-flex: 0;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
}

.col-6 {
    -ms-flex: 0 0 50%;
    -webkit-box-flex: 0;
    flex: 0 0 50%;
    max-width: 50%
}

.col-7 {
    -ms-flex: 0 0 58.333333%;
    -webkit-box-flex: 0;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
}

.col-8 {
    -ms-flex: 0 0 66.666667%;
    -webkit-box-flex: 0;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
}

.col-9 {
    -ms-flex: 0 0 75%;
    -webkit-box-flex: 0;
    flex: 0 0 75%;
    max-width: 75%
}

.col-10 {
    -ms-flex: 0 0 83.333333%;
    -webkit-box-flex: 0;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
}

.col-11 {
    -ms-flex: 0 0 91.666667%;
    -webkit-box-flex: 0;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
}

.col-12 {
    -ms-flex: 0 0 100%;
    -webkit-box-flex: 0;
    flex: 0 0 100%;
    max-width: 100%
}

@media (min-width: 576px) {
    .col-sm {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .col-sm-auto {
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }

    .col-sm-1 {
        -ms-flex: 0 0 8.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-sm-2 {
        -ms-flex: 0 0 16.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-sm-3 {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-sm-4 {
        -ms-flex: 0 0 33.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }

    .col-sm-5 {
        -ms-flex: 0 0 41.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-sm-6 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-sm-7 {
        -ms-flex: 0 0 58.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-sm-8 {
        -ms-flex: 0 0 66.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-sm-9 {
        -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-sm-10 {
        -ms-flex: 0 0 83.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-sm-11 {
        -ms-flex: 0 0 91.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-sm-12 {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width: 768px) {
    .col-md {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .col-md-auto {
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }

    .col-md-1 {
        -ms-flex: 0 0 8.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-md-2 {
        -ms-flex: 0 0 16.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-md-3 {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
        
    }

    .col-md-5 {
        -ms-flex: 0 0 41.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-md-6 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-7 {
        -ms-flex: 0 0 58.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-md-8 {
        -ms-flex: 0 0 66.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-md-9 {
        -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-md-10 {
        -ms-flex: 0 0 83.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-md-11 {
        -ms-flex: 0 0 91.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-md-12 {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%
    }
}

.d-md-none {
    display: none !important
}

@media (min-width: 992px) {
    .d-lg-block {
        display: block !important
    }

    .d-lg-inline-block {
        display: inline-block !important
    }

    .col-lg {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        -webkit-box-flex: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .col-lg-auto {
        -ms-flex: 0 0 auto;
        -webkit-box-flex: 0;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }

    .col-lg-1 {
        -ms-flex: 0 0 8.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-lg-2 {
        -ms-flex: 0 0 16.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-lg-3 {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-lg-4 {
        -ms-flex: 0 0 33.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }

    .col-lg-5 {
        -ms-flex: 0 0 41.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-lg-6 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-lg-7 {
        -ms-flex: 0 0 58.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-lg-8 {
        -ms-flex: 0 0 66.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-lg-9 {
        -ms-flex: 0 0 75%;
        -webkit-box-flex: 0;
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-lg-10 {
        -ms-flex: 0 0 83.333333%;
        -webkit-box-flex: 0;
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-lg-11 {
        -ms-flex: 0 0 91.666667%;
        -webkit-box-flex: 0;
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-lg-12 {
        -ms-flex: 0 0 100%;
        -webkit-box-flex: 0;
        flex: 0 0 100%;
        max-width: 100%
    }
}

.main-navigation {
    display: block
}

.main-navigation ul {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 0
}

.main-navigation ul .icon-dropdown {
    margin-left: -16px;
    margin-right: 16px
}

.main-navigation ul ul {
    visibility: hidden;
    background-color: #fff;
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    float: left;
    position: absolute;
    top: calc(100% + 30px);
    -webkit-transition: top 0.4s;
    transition: top 0.4s;
    left: -999em;
    z-index: 99999;
    display: block;
    border-radius: 15px
}

.main-navigation ul ul .icon-dropdown {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin-right: 0
}

.main-navigation ul ul svg {
    fill: var(--color-text)
}

.main-navigation ul ul a {
    padding: 15px 0;
    border-bottom: 1px solid var(--color-borders)
}

.main-navigation ul ul ul {
    left: -999em;
    top: calc(100% + 30px)
}

.main-navigation ul ul li {
    padding: 0 30px;
    text-align: left
}

.main-navigation ul ul li:hover>ul, .main-navigation ul ul li.focus>ul {
    display: block;
    left: 100%;
    top: 0
}

.main-navigation ul ul li:first-of-type {
    padding-top: 10px
}

.main-navigation ul ul li:last-of-type {
    padding-bottom: 10px
}

.main-navigation ul ul li:last-of-type a {
    border-bottom: 0
}

.main-navigation ul ul a {
    color: var(--color-headings);
    width: 200px
}

.main-navigation ul li:hover>ul, .main-navigation ul li.focus>ul {
    left: auto;
    top: 100%;
    visibility: visible
}

.main-navigation ul li:hover>ul ul, .main-navigation ul li.focus>ul ul {
    top: 0
}

.main-navigation>div>ul>li:first-of-type a {
    padding-left: 0
}

.main-navigation li {
    position: relative;
    padding-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.main-navigation a {
    display: block;
    text-decoration: none;
    color: var(--color-headings);
    padding: 25px 20px;
    font-size: var(--font-size-sm);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

.main-navigation a:hover {
    opacity: 0.6
}

.sub-menu.toggled {
    left: auto;
    top: 100%;
    visibility: visible
}

.top-navigation ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0
}

.top-navigation li {
    margin-right: 15px
}

.top-navigation li:last-of-type {
    margin-right: 0
}

.top-navigation a {
    color: var(--color-text);
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

.top-navigation a:hover {
    opacity: 0.7
}

.menu-toggle, .main-navigation.toggled ul {
    display: block
}

.menu-toggle {
    background-color: transparent;
    padding: 0
}

.menu-toggle:hover {
    background-color: transparent
}

.menu-toggle .elsie-icon, .menu-toggle svg {
    display: block;
    width: 32px;
    height: 32px
}

.site-header, .menu-bar {
    display: none
}

@media screen and (min-width: 1025px) {
    .mobile-header, .menu-toggle {
        display: none
    }

    .site-header, .menu-bar {
        display: block
    }

    .main-navigation ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width: 1024px) {
    .main-navigation {
        position: fixed;
        left: -100%;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        top: 0;
        -webkit-box-shadow: 0 5px 15px 3px rgba(0, 0, 0, 0.07);
        box-shadow: 0 5px 15px 3px rgba(0, 0, 0, 0.07);
        padding: 75px 0 0;
        margin: 0;
        z-index: 99999;
        background-color: #fff;
        width: 100%;
        max-width: 300px;
        height: 100%;
        overflow-y: auto
    }

    .admin-bar .main-navigation {
        top: 32px
    }
}

.mobile-menu-active {
    overflow-y: hidden
}

.main-navigation.toggled {
    left: 0
}

.main-navigation.toggled .mobile-menu-close {
    display: block
}

.main-navigation.toggled>div>ul>li:first-of-type a {
    padding-left: 15px
}

.main-navigation.toggled ul ul li {
    padding-top: 0;
    padding-bottom: 0
}

.main-navigation.toggled li {
    display: block;
    text-align: left;
    margin: 0
}

.main-navigation.toggled li.menu-item-has-children>a:after {
    display: none
}

.main-navigation.toggled .icon-cancel {
    display: block;
    line-height: 35px;
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    text-align: center;
    background-color: #e6e6e6;
    cursor: pointer;
    font-size: 22px
}

.main-navigation.toggled .sub-menu {
    display: none;
    margin: 0;
    list-style: none
}

.main-navigation.toggled .sub-menu li a:last-of-type {
    border: 0
}

.main-navigation.toggled .sub-menu.toggled {
    display: block;
    position: static;
    float: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: rgba(0, 0, 0, 0.07);
    border-radius: 0
}

.main-navigation.toggled .sub-menu.toggled ul {
    background-color: transparent
}

.main-navigation.toggled .nav-menu {
    list-style: none;
    padding: 0;
    margin: 0
}

.main-navigation.toggled a {
    color: var(--color-text)
}

.main-navigation.toggled li {
    padding-bottom: 0;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08)
}

.main-navigation.toggled li>a {
    width: auto;
    width: calc(100% - 25px);
    display: block;
    padding: 12px 35px 12px 15px;
    position: relative
}

.main-navigation.toggled li:last-of-type {
    border-bottom: 0
}

.main-navigation.toggled ul ul .icon-dropdown {
    -webkit-transform: none !important;
    transform: none !important
}

.main-navigation.toggled .icon-dropdown {
    margin: 0;
    position: absolute;
    top: 12px;
    right: 15px
}

.main-navigation.toggled .icon-dropdown .elsie-icon {
    display: inline;
    cursor: pointer
}

.main-navigation.toggled .icon-dropdown svg {
    width: 25px;
    height: 25px;
    fill: var(--color-text) !important
}

.main-navigation.toggled .icon-dropdown.toggled+.sub-menu {
    display: block;
    position: static;
    float: none;
    -webkit-box-shadow: none;
    box-shadow: none
}

.main-navigation.toggled .icon-dropdown span {
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
    display: block
}

.main-navigation.toggled .icon-dropdown span.submenu-exp {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.main-navigation.toggled .menu-last-item {
    padding: 5px 15px
}

.main-navigation.toggled .menu-last-item .button {
    background: transparent !important;
    padding: 0;
    border: 0
}

.main-navigation.toggled .menu-last-item .header-search-toggle {
    display: none
}

.main-navigation.toggled .header-search-form {
    padding: 5px 15px
}

.main-navigation.toggled .header-search-form .search-form {
    display: block
}

.main-navigation.toggled .header-search-form .search-field {
    width: 100%
}

.main-navigation.toggled .header-search-form .search-submit {
    display: none
}

.site-main .comment-navigation, .site-main .posts-navigation {
    margin: 0 0 1.5em
}

.comment-navigation .nav-links, .posts-navigation .nav-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.comment-navigation .nav-previous, .posts-navigation .nav-previous {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 50%;
    flex: 1 0 50%
}

.comment-navigation .nav-next, .posts-navigation .nav-next {
    text-align: end;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 50%;
    flex: 1 0 50%
}

.nav-next {
    text-align: end
}

.navigation.pagination {
    text-align: center
}

.navigation.pagination .page-numbers {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: #000;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
    margin-right: 7px;
    border-radius: 50%
}

.navigation.pagination .page-numbers:last-child {
    margin-right: 0
}

.navigation.pagination .page-numbers:focus, .navigation.pagination .page-numbers:hover, .navigation.pagination .page-numbers.current {
    background-color: var(--color-accent);
    color: #fff
}

.mobile-menu-close {
    display: none;
    position: absolute;
    top: 15px;
    right: 15px;
    width: 46px;
    height: 46px;
    line-height: 46px;
    border-radius: 50%;
    background-color: fixed;
    text-align: center;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.07)
}

.mobile-menu-close .elsie-icon {
    margin: 0;
    line-height: 1
}

.mobile-menu-close .elsie-icon svg {
    fill: var(--color-text)
}

.mobile-header .search-overlay-wrapper {
    top: 0
}

.mobile-header .site-header-cart {
    margin-right: 25px
}

.has-header-image .header-layout-inline:not(.isSticky) ul ul a {
    color: var(--color-headings);
    text-align: left
}

.container-wide {
    max-width: 1430px;
    margin-left: auto;
    margin-right: auto
}

.hero-layout-grid5 .hero-inner, .hero-layout-default .hero-inner {
    min-height: 600px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 30px
}

.hero-layout-grid5 .hero-inner .hero-element, .hero-layout-default .hero-inner .hero-element {
    padding: 45px
}

.hero-layout-grid5 .hero-inner .hero-element:first-of-type, .hero-layout-default .hero-inner .hero-element:first-of-type {
    grid-column: 1 / span 4;
    grid-row: 1 / span 2
}

.hero-layout-grid5 .hero-inner .hero-element:first-of-type .entry-title, .hero-layout-default .hero-inner .hero-element:first-of-type .entry-title {
    font-size: var(--font-size-4xl);
    line-height: var(--headings-small-line-height);
    margin-top: 24px;
    margin-bottom: 24px
}

.hero-element {
    background-size: cover
}

.hero-layout-grid5 {
    margin-left: 30px;
    margin-right: 30px
}

.hero-layout-mixed .hero-inner, .hero-layout-columns4 .hero-inner, .hero-layout-grid5 .hero-inner, .hero-layout-default .hero-inner {
    margin: 30px 0
}

.hero-layout-mixed .hero-inner .entry-title, .hero-layout-columns4 .hero-inner .entry-title, .hero-layout-grid5 .hero-inner .entry-title, .hero-layout-default .hero-inner .entry-title {
    font-size: var(--font-size-lg);
    max-width: 80%
}

.hero-layout-mixed .hero-inner .hero-element, .hero-layout-columns4 .hero-inner .hero-element, .hero-layout-grid5 .hero-inner .hero-element, .hero-layout-default .hero-inner .hero-element {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-size: cover;
    background-position: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    position: relative;
    min-height: 300px;
    border-radius: 10px;
    overflow: hidden;
    grid-column: span 2
}

.hero-layout-mixed .hero-inner .hero-element .entry-title a, .hero-layout-columns4 .hero-inner .hero-element .entry-title a, .hero-layout-grid5 .hero-inner .hero-element .entry-title a, .hero-layout-default .hero-inner .hero-element .entry-title a {
    color: var(--color-white-text)
}

.hero-layout-mixed .hero-inner .hero-element .entry-meta, .hero-layout-columns4 .hero-inner .hero-element .entry-meta, .hero-layout-grid5 .hero-inner .hero-element .entry-meta, .hero-layout-default .hero-inner .hero-element .entry-meta {
    color: var(--color-white-text)
}

.hero-layout-mixed .hero-inner .hero-element .entry-meta a, .hero-layout-columns4 .hero-inner .hero-element .entry-meta a, .hero-layout-grid5 .hero-inner .hero-element .entry-meta a, .hero-layout-default .hero-inner .hero-element .entry-meta a {
    color: var(--color-white-text)
}

.hero-layout-mixed .hero-inner .hero-element .element-content, .hero-layout-columns4 .hero-inner .hero-element .element-content, .hero-layout-grid5 .hero-inner .hero-element .element-content, .hero-layout-default .hero-inner .hero-element .element-content {
    position: relative;
    z-index: 11;
    width: 100%
}

.hero-layout-mixed .hero-inner .hero-element:after, .hero-layout-columns4 .hero-inner .hero-element:after, .hero-layout-grid5 .hero-inner .hero-element:after, .hero-layout-default .hero-inner .hero-element:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
    background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.6)));
    background-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.6))
}

.hero-layout-mixed .hero-inner .hero-element:hover:after, .hero-layout-columns4 .hero-inner .hero-element:hover:after, .hero-layout-grid5 .hero-inner .hero-element:hover:after, .hero-layout-default .hero-inner .hero-element:hover:after {
    background-color: rgba(0, 0, 0, 0.6)
}

.hero-layout-grid5 .hero-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.hero-layout-grid5 .hero-inner .hero-element {
    grid-column: span 1;
    grid-row: span 1
}

.hero-layout-grid5 .hero-inner .hero-element:first-of-type {
    grid-column: 1 / span 2;
    grid-row: 1 / span 2
}

.hero-layout-columns4 .hero-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px
}

.hero-layout-columns4 .hero-inner .hero-element {
    padding: 30px;
    grid-column: span 1
}

.hero-layout-columns4 .hero-inner .hero-element .entry-title {
    font-size: var(--font-size-lg)
}

.nocontainer .hero-layout-columns4 {
    padding: 0 30px
}

.hero-wrapper>div>img {
    width: 100%
}

.hero-layout-mixed .hero-inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 30px
}

.hero-layout-mixed .hero-inner .hero-element {
    padding: 45px;
    grid-column: 1 / span 7;
    grid-row: 1 / span 3
}

.hero-layout-mixed .hero-inner .hero-element .entry-title {
    font-size: var(--font-size-2xl)
}

.hero-layout-mixed .hero-inner .hero-element-list {
    grid-column: span 5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid var(--color-borders);
    padding-bottom: 30px
}

.hero-layout-mixed .hero-inner .hero-element-list:last-of-type {
    border-bottom: 0;
    padding-bottom: 0
}

.hero-layout-mixed .hero-inner .hero-element-list .post-thumbnail {
    margin-right: 30px;
    margin-bottom: 0
}

.hero-layout-mixed .hero-inner .hero-element-list .post-thumbnail img {
    width: 120px;
    height: 120px;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 50%
}

.hero-layout-mixed .hero-inner .hero-element-list .element-content {
    width: calc(100% - 150px)
}

.hero-layout-mixed .hero-inner .hero-element-list .entry-title {
    max-width: 100%;
    font-size: var(--font-size-md)
}

.header-image {
    position: relative
}

.header-image img {
    width: 100%
}

.header-image .header-overlay {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4)
}

.hero-text-wrapper {
    text-align: center;
    max-width: 700px
}

.hero-text-wrapper .hero-title, .hero-text-wrapper .hero-before-title {
    color: #fff;
    line-height: 1.1
}

.hero-text-wrapper .hero-title {
    font-size: var(--font-size-5xl)
}

.hero-text-wrapper .button {
    margin-top: 40px
}

.hero-text-wrapper .hero-before-title {
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600
}

.overlay-hidden {
    background-color: transparent !important
}

.top-bar {
    padding: 8px 0;
    font-size: var(--font-size-sm);
    background-color: var(--color-dark-bg);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    color: var(--color-white-text)
}

.top-bar .column-right {
    text-align: right
}

.top-bar a {
    color: var(--color-white-text)
}

.top-bar svg {
    fill: var(--color-white-text)
}

.top-bar-social a {
    display: inline-block;
    text-align: center;
    margin-right: 25px;
    line-height: 1
}

.top-bar-social a:last-of-type {
    margin-right: 0
}

.top-bar-contact a {
    margin-right: 25px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.top-bar-contact a:last-of-type {
    margin-right: 0
}

.top-bar-contact a:hover {
    opacity: 0.7
}

.top-bar-contact svg {
    width: 14px;
    height: 14px
}

.top-bar-contact .elsie-icon {
    line-height: 14px;
    margin-right: 5px
}

.site-header {
    background-color: var(--color-white)
}

.site-header .col-4 .row {
    width: 100%
}

.site-header .align-right {
    text-align: right;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.site-title {
    font-size: 32px;
    font-size: 2rem
}

.site-title a {
    color: var(--color-headings)
}

.site-title, .site-description {
    margin: 0
}

.site-branding {
    padding-top: 30px;
    padding-bottom: 30px
}

.search-overlay-wrapper {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    left: -99999em;
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    visibility: hidden
}

.search-overlay-wrapper form {
    width: 100%;
    border: 0;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px;
    -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15)
}

.search-overlay-wrapper label {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.search-overlay-wrapper input[type="search"] {
    display: block;
    width: 100%;
    padding-left: 15px
}

.search-overlay-wrapper.display-search {
    left: 0;
    opacity: 1;
    visibility: visible
}

.header-search-toggle, .header-search-cancel {
    cursor: pointer
}

.header-search-toggle.hide, .header-search-cancel.hide {
    display: none
}

.header-elements>* {
    margin-right: 25px
}

.header-elements>*:last-child {
    margin-right: 0
}

.header-elements .button {
    white-space: nowrap
}

.header-ad {
    padding-top: 30px;
    padding-bottom: 30px
}

.mobile-header {
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-borders)
}

.custom-logo-link img {
    max-width: 150px
}

.header-button {
    margin-left: 25px
}

.header-layout-centered .site-branding {
    text-align: center
}

.header-layout-centered .main-navigation {
    width: auto
}

.header-layout-centered .header-elements {
    margin-left: 20px
}

.header-layout-centered .menu-bar .col-md-12 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.has-header-image .header-layout-inline {
    position: absolute;
    width: 100%
}

.has-sticky-header .menu-bar, .has-sticky-header .header-layout-inline {
    z-index: 999;
    position: sticky;
    top: 0
}

.has-sticky-header.admin-bar .menu-bar, .has-sticky-header.admin-bar .header-layout-inline {
    top: 32px
}

.has-sticky-header.has-header-image .header-layout-inline {
    position: fixed;
    width: 100%
}

.header-layout-inline {
    border-bottom: 1px solid var(--color-borders);
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.header-layout-inline .site-branding {
    padding-top: 20px;
    padding-bottom: 20px
}

.header-search-controls {
    margin-left: 20px
}

.featured-boxes {
    margin-top: 60px;
    margin-bottom: 90px
}

.has-header-image .featured-boxes {
    margin-top: -150px;
    margin-bottom: 140px
}
.cadre_sup_1, .cadre_sup_2 {
    width: calc(100% - 67px);
    height: calc(100% - 60px);
    position: absolute;
    z-index: 1;
  }
  
  .cadre_sup_1 {
    transform: rotate3d(1, 1, 1, -5deg);
    background: #314865;
    margin-top: 25px;
    margin-left: 30px;
    height: calc(100% - 50px);
  }
  
  .cadre_sup_2 {
    background: #218ba6;
    transform: rotate3d(1, 1, 1, 3deg);
    margin-top: 30px;
    margin-left: 30px;
  }
  
.featured-boxes .featured-box {
    background: #333;
    height: 300px;
    background-size: cover;
    background-position: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.featured-boxes .featured-box .box-img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%
}

.featured-boxes .featured-box .box-link {
    background-color: var(--color-light-background);
    color: var(--color-text);
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    padding: 18px 10px;
    min-width: 200px;
    text-align: center;
    margin-bottom: -29px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.featured-boxes .featured-box:hover .box-link {
    background-color: var(--color-accent-dark);
    color: #fff
}

.secondary-logo {
    display: none !important
}

.has-header-image .header-layout-inline {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 11
}

.has-header-image .header-layout-inline:not(.isSticky) {
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: transparent
}

.has-header-image .header-layout-inline:not(.isSticky) .site-description {
    color: #fff
}

.has-header-image .header-layout-inline:not(.isSticky) a {
    color: #fff
}

.has-header-image .header-layout-inline:not(.isSticky) svg {
    fill: #fff
}

.has-header-image .header-layout-inline:not(.isSticky) .secondary-logo+.custom-logo-link {
    display: none
}

.has-header-image .header-layout-inline:not(.isSticky) .secondary-logo {
    display: block !important
}

.align-right {
    text-align: right
}

.sticky {
    display: block
}

.post {
    margin: 0 0 50px
}

.updated:not(.published) {
    display: none
}

.entry-summary p:last-of-type {
    margin-bottom: 0
}

.post-thumbnail {
    display: block;
    margin-bottom: 30px
}

.post-thumbnail-wrapper {
    position: relative;
    margin: 30px 0 !important;
    overflow: hidden
}

.post-thumbnail-wrapper .post-cats {
    position: absolute;
    top: 15px;
    z-index: 11
}

.layout-list .post-thumbnail-wrapper .post-cats {
    left: 30px;
    top: 15px
}

.page-links {
    clear: both;
    margin: 0 0 1.5em
}

.entry-header {
    margin-bottom: 40px
}

.er-icon {
    margin-right: 5px;
    vertical-align: middle;
    fill: #000
}

.er-icon svg {
    width: 16px;
    height: 16px
}

.entry-title a {
    color: var(--color-headings);
    text-decoration: none
}

.entry-title a:hover {
    color: var(--color-accent)
}

.posts-loop article {
    text-align: center;
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid var(--color-borders)
}

.posts-loop .content-grid .post-cats, .posts-loop .content-grid .entry-summary, .posts-loop .content-grid .entry-meta, .posts-loop .content-grid .entry-title {
    display: block;
    width: 90%;
    margin-left: auto;
    margin-right: auto
}

.posts-loop .content-grid .entry-summary {
    text-align: left
}

.posts-loop .content-grid>*:not(:last-child), .posts-loop .content-list>*:not(:last-child) {
    margin-bottom: var(--post-elements-spacing)
}

.posts-loop .content-grid>*:last-child, .posts-loop .content-list>*:last-child {
    margin-bottom: 0
}

.posts-loop .post-thumbnail {
    display: block;
    margin-bottom: 0;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.posts-loop .post-thumbnail img {
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.posts-loop .post-thumbnail.effect-opacity:hover {
    opacity: 0.7
}

.posts-loop .post-thumbnail.effect-zoomin:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

.posts-loop .post-thumbnail.effect-zoominr:hover img {
    -webkit-transform: scale(1.2) rotate(5deg);
    transform: scale(1.2) rotate(5deg)
}

.posts-loop .entry-title {
    margin-top: 0
}

.posts-loop .entry-meta {
    display: inline-block
}

.posts-loop.card-style-boxed .post-content-inner {
    padding: 30px;
    border: 1px solid var(--color-borders)
}

.posts-loop.card-style-boxed.layout-grid .post-content-inner {
    height: 100%
}

.posts-loop .read-more-link {
    margin-top: 30px
}

.no-sidebar .posts-loop.layout-classic {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto
}

.entry-meta {
    display: block;
    font-size: var(--font-size-sm);
    color: var(--color-gray);
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1px
}

.single-post .entry-meta:not(.post-cats) {
    display: inline-block
}

.single-post .entry-meta:not(.post-cats) .byline {
    text-align: left
}

.entry-meta a {
    color: var(--color-gray)
}

.entry-meta a:hover {
    color: var(--color-accent)
}

.entry-meta .byline a {
    color: var(--color-text);
    font-weight: 600
}

.entry-meta .byline:before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
    background: #c9c9c9;
    margin: 0 15px 2px
}

.entry-meta .avatar {
    border-radius: 50%;
    vertical-align: middle;
    display: inline !important
}

.entry-meta .post-data-text>* {
    display: inline-block
}

.entry-meta .post-data-text.author-hidden {
    padding-left: 0
}

.entry-meta .post-data-text.author-hidden .posted-on:before {
    display: none
}

.entry-meta .col-3 {
    text-align: right
}

.page-header {
    margin-top: 0;
    margin-bottom: 120px;
    padding-top: 90px;
    padding-bottom: 90px;
    background-color: var(--color-light-background);
    text-align: center
}

.page-header .archive-description {
    max-width: 800px
}

.archive-description {
    color: var(--color-gray);
    font-style: italic
}

.single-post .site-main>*:not(article) {
    margin-top: 60px;
    padding-top: 60px;
    margin-bottom: 0;
    border-top: 1px solid var(--color-borders)
}

.tags-links a {
    border: 1px solid var(--color-borders);
    color: var(--color-text);
    margin-right: 5px;
    line-height: 1;
    padding: 3px 5px;
    -webkit-transition: border-color 0.3s;
    transition: border-color 0.3s
}

.tags-links a:hover {
    border-color: var(--color-headings)
}

body.no-sidebar {
    overflow-x: hidden
}

.wp-block-cover__inner-container {
    max-width: 1110px
}

.no-sidebar .entry-content .alignfull {
    margin: 30px calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw
}

@media (min-width: 1024px) {
    .no-sidebar .entry-content .alignwide {
        margin: 30px calc(25% - 25vw);
        width: auto
    }
}

.entry-footer {
    margin-top: 30px
}

.entry-content .aligncenter, .entry-content>* {
    margin-bottom: 30px
}

.entry-content .wp-block-spacer {
    margin-bottom: 0
}

.post-cats a.has-cat-color {
    background-color: var(--cat-color)
}

.post-cats a.has-cat-color.has-link-cat {
    background-color: transparent;
    color: var(--cat-color)
}

.single-header {
    margin-left: auto;
    margin-right: auto;
    max-width: 90%;
    text-align: center
}

.no-sidebar.elementor-page .elsie-main-container.container {
    max-width: 100%;
    padding: 0
}

.wp-block-post-template {
    margin: 0
}

.wp-block-post-template li {
    margin-bottom: 30px
}

.wp-block-post-template li:last-of-type {
    margin-bottom: 0
}

.wp-block-post-template li>*:not(:last-child), .wp-block-post-template .wp-block-column>*:not(:last-child), .wp-block-post-template .wp-block-group__inner-container>*:not(:last-child) {
    margin-bottom: var(--post-elements-spacing)
}

.wp-block-post-template li>*:last-child, .wp-block-post-template .wp-block-column>*:last-child, .wp-block-post-template .wp-block-group__inner-container>*:last-child {
    margin-bottom: 0
}

.wp-block-post-template.is-style-elsie-counter {
    counter-reset: loopCounter
}

.wp-block-post-template.is-style-elsie-counter li {
    position: relative
}

.wp-block-post-template.is-style-elsie-counter li::before {
    position: absolute;
    left: 5px;
    top: 5px;
    counter-increment: loopCounter;
    content: counters(loopCounter, ".") " ";
    display: inline-block;
    height: 35px;
    width: 35px;
    line-height: 35px;
    text-align: center;
    z-index: 15;
    font-weight: 600;
    border-radius: 50%;
    font-size: var(--font-size-md);
    background-color: #fff;
    color: var(--color-accent)
}

.wp-block-post-title {
    margin-top: 0 !important;
    font-size: var(--font-size-xl)
}

.wp-block-post-title a {
    color: var(--color-headings);
    text-decoration: none
}

.wp-block-post-title a:hover {
    color: var(--color-accent)
}

.wp-block-post-terms {
    color: transparent;
    margin-bottom: 20px
}

.wp-block-post-terms a {
    margin-right: 0;
    text-decoration: none;
    font-weight: 600
}

.wp-block-post-date, .posted-on {
    font-size: var(--font-size-sm);
    color: var(--color-gray)
}

.wp-block-post-date a, .posted-on a {
    color: var(--color-gray)
}

.is-style-elsie-solid-cats, .post-cats {
    margin-bottom: 20px
}

.is-style-elsie-solid-cats a, .post-cats a {
    background-color: var(--color-accent);
    color: var(--color-white-text);
    display: inline-block;
    text-decoration: none;
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    line-height: 1;
    margin-right: 5px;
    border-radius: 30px;
    padding: 5px 12px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.is-style-elsie-solid-cats a:last-of-type, .post-cats a:last-of-type {
    margin-right: 0
}

.is-style-elsie-solid-cats a:hover, .post-cats a:hover {
    background-color: var(--color-accent-dark);
    color: #fff
}

h1.is-style-elsie-no-margins, h2.is-style-elsie-no-margins, h3.is-style-elsie-no-margins, h4.is-style-elsie-no-margins, h5.is-style-elsie-no-margins, h6.is-style-elsie-no-margins {
    margin-top: 0;
    margin-bottom: 0
}

.is-post-overlay {
    position: relative
}

.is-post-overlay .wp-block-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 45px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    background-color: rgba(0, 0, 0, 0.3);
    height: 100%;
    position: absolute;
    bottom: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.is-post-overlay img {
    vertical-align: top
}

.has-text-color.has-white-color, .has-text-color.has-white-color a {
    color: #fff !important
}

.wp-block-image figcaption {
    margin-bottom: 0;
    color: var(--color-gray);
    font-size: var(--font-size-sm)
}

.wp-block-group.has-background {
    padding: 30px
}

.elsie-breadcrumb-trail {
    border-bottom: 1px solid var(--color-borders);
    font-size: var(--font-size-sm);
    padding: 15px 0
}

.elsie-breadcrumb-trail ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.elsie-breadcrumb-trail ul .elsie-icon {
    margin: 0 9px
}

.elsie-breadcrumb-trail ul .elsie-icon svg {
    width: 11px;
    height: 11px;
    fill: var(--color-gray)
}

.elsie-breadcrumb-trail ul li {
    display: inline;
    padding-bottom: 0
}

.elsie-breadcrumb-trail ul li:last-of-type .elsie-icon {
    display: none
}

.elsie-breadcrumb-trail a {
    color: var(--color-gray)
}

.elsie-breadcrumb-trail a:hover {
    color: var(--color-accent)
}

.page-banner {
    padding-top: 30px;
    padding-bottom: 30px;
    min-height: 400px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.page-banner .post-cats {
    position: relative;
    z-index: 11
}

.page-banner .entry-header {
    max-width: 900px;
    margin-bottom: 0;
    position: relative;
    z-index: 11;
    display: inline-block
}

.page-banner img:not(.avatar) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.page-banner.has-featured.overlay .banner-overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4)
}

.page-banner.has-featured.overlay a, .page-banner.has-featured.overlay .entry-title {
    color: var(--color-white-text)
}

.page-banner.overlap {
    margin-bottom: 180px
}

.page-banner.overlap .entry-header {
    background-color: #fff;
    margin-bottom: -150px;
    padding: 60px
}

.page-banner-container.container-wide, .page-banner-container.container {
    margin-top: 30px
}

.page-banner-container.container .overlay {
    padding: 30px 15px
}

.elsie-related h3 {
    margin-top: 0;
    text-align: center
}

.elsie-related .post-thumbnail {
    margin-bottom: 0
}

.elsie-related .entry-title {
    font-size: var(--font-size-lg) !important
}

.elsie-related .entry-title a {
    color: var(--color-headings)
}

.elsie-related .entry-title a:hover {
    color: var(--color-accent)
}

.elsie-related h3 {
    margin-bottom: 30px
}

.elsie-related h4 {
    margin-bottom: 5px
}

.elsie-related .related-post {
    text-align: center;
    margin-bottom: 30px
}

.elsie-related .related-post:last-of-type, .elsie-related .related-post:nth-last-of-type(2), .elsie-related .related-post:nth-last-of-type(3) {
    margin-bottom: 0
}

.related-post .entry-summary {
    margin-top: 15px
}

.elsie-author-bio {
    text-align: center
}

.elsie-author-bio .avatar {
    border-radius: 50%
}

.elsie-author-bio .author-name a {
    color: var(--color-headings)
}

.elsie-author-bio p:last-of-type {
    margin-bottom: 0
}

.post-navigation h4 {
    margin: 5px 0 0;
    font-size: var(--font-size-lg);
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

.post-navigation h4:hover {
    color: var(--color-accent)
}

.post-navigation .post-nav-label {
    font-size: var(--font-size-sm);
    color: var(--color-gray);
    text-transform: uppercase;
    letter-spacing: 1px
}

.elsie-sharing {
    margin-top: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.elsie-sharing h4 {
    margin-right: 15px
}

.elsie-sharing .sharing-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.elsie-sharing .share-button {
    line-height: 1;
    vertical-align: middle;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    border-radius: 50%;
    margin-right: 10px;
    width: 42px;
    height: 42px;
    line-height: 42px
}

.elsie-sharing .share-button .elsie-icon {
    line-height: 20px
}

.elsie-sharing .share-button:last-of-type {
    margin-right: 0
}

.elsie-sharing .share-button svg {
    width: 20px;
    height: 20px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    fill: var(--color-white-text)
}

.elsie-sharing .share-button:hover {
    background-color: var(--color-dark-bg)
}

.share-button-facebook {
    background-color: #3b5998
}

.share-button-twitter {
    background-color: #1da1f2
}

.share-button-linkedin {
    background-color: #0a66c2
}

.share-button-reddit {
    background-color: #ff4500
}

.share-button-pinterest {
    background-color: #bd081c
}

.share-button-whatsapp {
    background-color: #25d366
}

.share-button-telegram {
    background-color: #0088cc
}

.share-button-weibo {
    background-color: #ce1126
}

.share-button-vk {
    background-color: #4a76a8
}

.share-button-ok {
    background-color: #ee8208
}

.share-button-xing {
    background-color: #006567
}

.share-button-mail {
    background-color: var(--color-dark-bg)
}

.comment-content a {
    word-wrap: break-word;
    text-decoration: underline
}

.bypostauthor {
    display: block
}

.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"] {
    width: 100%
}

.comment-reply-title {
    margin-top: 0
}

.comments-area .comments-title {
    margin: 0 0 30px;
    font-size: var(--font-size-2xl)
}

.comments-area .comment-author {
    color: #000
}

.comments-area .comment-author a {
    color: #000
}

.comments-area .logged-in-as a:not(:hover) {
    color: #716f6f
}

.comments-area .comment-meta {
    margin-bottom: 15px
}

.comments-area .avatar {
    border-radius: 50%;
    vertical-align: top;
    margin-right: 7px
}

.comments-area .comment-metadata a {
    font-size: var(--font-size-sm);
    color: #716f6f;
    line-height: 1
}

.comments-area .comment-body {
    padding: 0 0 30px;
    border-bottom: 1px solid #f0f3f5;
    margin-bottom: 30px
}

.comments-area .comment-author-name {
    margin-bottom: 15px
}

.comments-area .comment-time {
    font-size: 14px;
    font-size: 0.875rem;
    font-style: italic;
    color: #716f6f;
    line-height: 1;
    margin-bottom: 10px
}

.comments-area ol {
    margin: 0;
    padding: 0;
    list-style: none
}

.comments-area ol ol {
    padding-left: 50px
}

.comments-area ol ol .comment-text {
    border-left: 0
}

.comments-area ol ol ol {
    padding-left: 0;
    margin-left: 0;
    border-left: 0
}

.comments-area .comment-content p {
    margin-bottom: 15px
}

.comments-area .comment {
    position: relative
}

.comments-area .comment-avatar {
    position: absolute;
    margin: 0
}

.comments-area .comment-text {
    margin-left: 100px;
    padding-left: 30px;
    border-left: 1px solid rgba(37, 37, 37, 0.1)
}

.comments-area .comment-reply-link {
    background-color: var(--color-dark-bg);
    color: #fff;
    padding: 7px 12px;
    border-radius: 5px;
    line-height: 1;
    display: inline-block;
    font-size: var(--font-size-sm);
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.comments-area .comment-reply-link:hover {
    background-color: var(--color-accent-dark);
    color: #fff
}

@media (min-width: 992px) {
    .comment-form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .comment-form>* {
        width: 100%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%
    }

    .comment-form .comment-form-author, .comment-form .comment-form-email, .comment-form .comment-form-url {
        width: 31%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 31%;
        flex: 0 0 31%
    }
}

.widget {
    margin: 0 0 45px
}

.widget select {
    max-width: 100%
}

.widget .widget-title {
    margin: 0 0 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--color-borders);
    font-size: var(--font-size-xl)
}

.widget a {
    color: var(--color-text)
}

.widget a:hover {
    color: var(--color-accent)
}

.widget ul {
    padding-left: 0;
    list-style: none;
    margin: 0
}

.widget ul li {
    padding-bottom: 10px
}

.widget ul li:last-of-type {
    padding-bottom: 0
}

.widget ul li>ul, .widget ul .children {
    padding-left: 20px
}

.widget.widget_product_search .search-field, .widget.widget_search .search-field {
    width: 100%;
    margin-bottom: 5px
}

.widget_search .search-form {
    position: relative;
    padding-right: 110px
}

.widget_search .search-submit {
    width: 110px;
    position: absolute;
    top: 0;
    right: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.widget_search .search-field {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.widget-area {
    max-width: 300px
}

.widget_text a {
    text-decoration: underline
}

.author_wrap {
    text-align: center;
    border: 2px solid #ebebeb;
    padding: 30px
}

.author_wrap img {
    border-radius: 50%;
    max-width: 150px
}

.author_wrap p:last-of-type {
    margin-bottom: 0
}

.widget_recent_entries .post-date {
    color: var(--color-gray);
    font-size: var(--font-size-sm)
}

.elsie_recent_entries .post-date {
    vertical-align: top;
    font-size: 13px;
    font-size: .8125rem;
    color: var(--color-gray);
    position: relative
}

.elsie_recent_entries .post-date~h6 {
    margin: 0
}

.elsie_recent_entries ul {
    padding-top: 15px;
    counter-reset: section;
    list-style-type: none
}

.elsie_recent_entries li {
    margin-bottom: 20px;
    position: relative
}

.elsie_recent_entries li .counter {
    position: absolute;
    left: 5px;
    top: -10px;
    z-index: 11
}

.elsie_recent_entries li .counter::before {
    counter-increment: section;
    content: counters(section, ".") " ";
    display: block;
    text-align: center;
    line-height: 35px;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    z-index: 15;
    font-weight: 700;
    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.03);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.03);
    background-color: var(--color-accent);
    color: #fff
}

.elsie_recent_entries li:last-of-type {
    margin-bottom: 0
}

.elsie_recent_entries .col-md-4 {
    padding-right: 0
}

.elsie_recent_entries .col-md-12 {
    padding-left: 45px
}

.elsie_recent_entries h6 {
    margin-top: 0
}

.widget-area .widget_block h2 {
    font-size: var(--font-size-xl)
}

.wp-block-latest-comments {
    padding: 0
}

.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0
}

.custom-logo-link {
    display: inline-block
}

.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
}

.gallery {
    margin-bottom: 1.5em;
    display: grid;
    grid-gap: 1.5em
}

.gallery-item {
    display: inline-block;
    text-align: center;
    width: 100%
}

.gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr)
}

.gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr)
}

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr)
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr)
}

.gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr)
}

.gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr)
}

.gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr)
}

.gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr)
}

.gallery-caption {
    display: block
}

.before-footer, .site-footer {
    background-color: var(--color-dark-bg);
    color: var(--color-white-text)
}

.before-footer h1, .before-footer h2, .before-footer h3, .before-footer h4, .before-footer h5, .before-footer h6, .before-footer a, .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6, .site-footer a {
    color: var(--color-white-text)
}

.before-footer .underline, .site-footer .underline {
    text-decoration: underline
}

.before-footer-inner, .footer-widgets-inner {
    padding-top: 90px;
    padding-bottom: 90px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15)
}

.site-info {
    padding-top: 30px;
    padding-bottom: 60px;
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 1px
}

.site-info.fb-inline .footer-social {
    text-align: right
}

.site-info.fb-separate {
    text-align: center
}

.site-info.fb-separate .col {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%
}

.site-info.fb-separate .footer-social {
    margin-top: 20px
}

.footer-column .widget:last-of-type {
    margin-bottom: 0
}

.before-footer-cta h2 {
    margin: 0
}

.before-footer-cta .col:last-of-type {
    text-align: right
}

.before-footer-social {
    text-align: center
}

.before-footer-social a {
    margin-right: 40px;
    text-transform: uppercase;
    vertical-align: middle;
    letter-spacing: 1px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.before-footer-social a:last-of-type {
    margin-right: 0
}

.before-footer-social a:hover {
    opacity: 0.5
}

.before-footer-social .elsie-icon {
    margin-right: 10px;
    line-height: 22px
}

.before-footer-social svg {
    width: 22px;
    height: 22px;
    fill: #fff
}

.footer-social a {
    margin-right: 25px
}

.footer-social a:last-of-type {
    margin-right: 0
}

.footer-social svg {
    fill: #fff
}

.footer-featured {
    background-color: var(--color-light-background);
    padding-top: 60px;
    padding-bottom: 60px
}

.footer-featured .post-cats {
    margin-bottom: 5px
}

.footer-featured .col-4 {
    padding-right: 0
}

.footer-featured .entry-title {
    font-size: var(--font-size-sm);
    margin: 0
}

.footer-featured .entry-meta {
    margin-top: 5px
}

.footer-featured .footer-featured-title {
    margin-top: 0;
    margin-bottom: 30px
}

.infinite-scroll .posts-navigation, .infinite-scroll.neverending .site-footer {
    display: none
}

.infinity-end.neverending .site-footer {
    display: block
}

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

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

#primary[tabindex="-1"]:focus {
    outline: 0
}

.alignleft {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em
}

.alignright {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em
}

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

@media (max-width: 1399px) {
    .hero-text-wrapper .hero-title {
        font-size: var(--font-size-4xl)
    }
}

@media (max-width: 1199px) {
    .has-header-image .featured-boxes {
        margin-top: 60px;
        margin-bottom: 90px
    }

    .hero-text-wrapper .button {
        margin-top: 15px
    }

    .hero-layout-grid5 .hero-inner .hero-element:first-of-type {
        grid-column: 1 / span 4;
        min-height: 400px
    }

    .hero-layout-grid5 .hero-inner .hero-element {
        padding: 30px;
        grid-column: span 2
    }

    .hero-layout-columns4 {
        margin-left: 15px;
        margin-right: 15px
    }

    .hero-layout-columns4 .hero-inner .hero-element {
        padding: 30px;
        grid-column: span 2
    }
}

@media (max-width: 1024px) {
    .mobile-header .col-5 {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .hero-layout-grid5 .hero-inner .hero-element:first-of-type .entry-title, .hero-layout-default .hero-inner .hero-element:first-of-type .entry-title {
        font-size: var(--font-size-3xl)
    }

    .wp-block-cover__inner-container {
        padding-left: 30px;
        padding-right: 30px
    }

    .hero-layout-default {
        margin-left: 15px;
        margin-right: 15px
    }

    .hero-layout-default .hero-inner .hero-element:first-of-type {
        grid-column: 1 / span 6;
        min-height: 400px
    }

    .hero-layout-default .hero-inner .hero-element {
        grid-column: span 3
    }

    .hero-layout-mixed {
        margin-left: 15px;
        margin-right: 15px
    }

    .hero-layout-mixed .hero-inner {
        display: block
    }

    .hero-layout-mixed .hero-element-list {
        padding-top: 30px
    }
}

@media (max-width: 991px) {
    :root {
        --font-size-xl: 1.25rem;
        --font-size-2xl: 1.5rem;
        --font-size-3xl: 2rem;
        --font-size-4xl: 2.375rem
    }

    .site-main {
        padding-right: 0;
        width: 100%
    }

    .widget-area {
        max-width: 100%;
        margin-top: 40px
    }

    .before-footer-inner, .footer-widgets-inner {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .footer-column {
        margin-bottom: 30px
    }

    .footer-column:last-of-type {
        margin-bottom: 0
    }

    .hero-text-wrapper .button {
        margin-top: 0
    }

    .featured-boxes .featured-box {
        height: 200px
    }

    .widget {
        margin-bottom: 30px
    }

    .wp-block-post-template.is-flex-container.is-flex-container.columns-4>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li {
        width: calc(50% - 1.25em)
    }

    .wp-block-post-template.is-flex-container.columns-4 li, .wp-block-query-loop.is-flex-container.columns-4 li {
        margin-right: 2.5em
    }

    .wp-block-post-template.is-flex-container.is-flex-container.columns-4>li:nth-child(2n), .wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li:nth-child(2n) {
        margin-right: 0
    }

    .wp-block-columns.columns-stack-991 {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .wp-block-columns.columns-stack-991>.wp-block-column {
        -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important;
        margin-left: 0;
        margin-bottom: 30px
    }

    .wp-block-columns.columns-stack-991>.wp-block-column:last-of-type {
        margin-bottom: 0
    }

    .wp-block-post-template .wp-block-column>*:last-child {
        margin-bottom: 12px
    }

    .footer-featured .col-md-6:first-child, .footer-featured .col-md-6:nth-of-type(2) {
        margin-bottom: 15px
    }
}

@media (max-width: 767px) {
    .top-bar, .top-bar .column-right {
        text-align: center
    }

    .top-bar .col-md-6:last-of-type {
        margin-top: 5px
    }

    .featured-boxes .featured-box {
        margin-bottom: 50px
    }

    .featured-boxes .col-md-4:last-of-type .featured-box {
        margin-bottom: 0
    }

    .top-navigation ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .hero-layout-default .hero-inner .hero-element:first-of-type, .hero-layout-default .hero-inner .hero-element {
        grid-column: span 6;
        min-height: 320px
    }

    .hero-layout-default .hero-inner .hero-element:first-of-type .entry-title, .hero-layout-default .hero-inner .hero-element .entry-title {
        font-size: var(--font-size-lg);
        max-width: 100%
    }

    .hero-layout-grid5 .hero-inner .hero-element:first-of-type, .hero-layout-grid5 .hero-inner .hero-element {
        grid-column: span 4;
        min-height: 320px
    }

    .hero-layout-grid5 .hero-inner .hero-element:first-of-type .entry-title, .hero-layout-grid5 .hero-inner .hero-element .entry-title {
        font-size: var(--font-size-lg);
        max-width: 100%
    }

    .hero-layout-columns4 .hero-inner .hero-element {
        grid-column: span 4;
        min-height: 320px
    }

    .navigation.post-navigation .col-md-6:last-of-type {
        margin-top: 20px
    }

    .elsie-related .related-post {
        margin-bottom: 20px !important
    }

    .single-post .site-main>*:not(article) {
        margin-top: 30px;
        padding-top: 30px
    }

    .woocommerce-results-wrapper {
        text-align: left
    }

    .woocommerce-results-wrapper .align-right {
        margin-top: 15px;
        text-align: left
    }

    .elsie-main-container {
        margin-top: 40px;
        margin-bottom: 40px
    }

    .wp-block-columns.columns-stack-767 {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .wp-block-columns.columns-stack-767>.wp-block-column {
        -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important;
        margin-left: 0;
        margin-bottom: 10px
    }

    .wp-block-columns.columns-stack-767>.wp-block-column:last-of-type {
        margin-bottom: 0
    }

    .header-image {
        min-height: 300px
    }

    .header-image img {
        min-height: 300px;
        -o-object-fit: cover;
        object-fit: cover
    }
}

@media (max-width: 575px) {
    :root {
        --font-size-2xl: 1.25rem;
        --font-size-3xl: 1.5rem;
        --font-size-4xl: 2rem
    }

    .before-footer-cta .col {
        width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        text-align: center
    }

    .before-footer-cta .col:last-of-type {
        text-align: center;
        margin-top: 30px
    }

    .before-footer-inner, .footer-widgets-inner {
        padding-top: 30px;
        padding-bottom: 30px
    }

    .site-info {
        padding-bottom: 30px
    }

    .posts-loop .post-thumbnail {
        margin-bottom: 14px
    }

    .wp-block-post-template.is-flex-container.is-flex-container.columns-4>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-4>li {
        width: 100%;
        margin-right: 0
    }

    .footer-featured .col-md-6 {
        margin-bottom: 15px
    }

    .footer-featured {
        padding-top: 30px;
        padding-bottom: 30px
    }
}