@charset "UTF-8";

/*! 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
}

hr {
    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: -.25em
}

sup {
    top: -.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
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    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] {
    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
}

body {
    font-family: "IBM Plex Sans", sans-serif;
    line-height: 1.6;
    color: #353434;
    font-size: 1rem
}

@media screen and (min-width:64.0625rem) {
    body {
        font-size: 1.125rem
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
    font-family: "Playfair Display", serif;
    color: #070504;
    font-weight: 500;
    line-height: 1.15;
    margin-bottom: 1rem
}

@media screen and (min-width:48rem) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-bottom: 1.5rem
    }
}

h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
    margin-bottom: 0
}

h1.is-style-size-h1,
h2.is-style-size-h1,
h3.is-style-size-h1,
h4.is-style-size-h1,
h5.is-style-size-h1,
h6.is-style-size-h1 {
    font-size: 2.5rem
}

@media screen and (min-width:48rem) {

    h1.is-style-size-h1,
    h2.is-style-size-h1,
    h3.is-style-size-h1,
    h4.is-style-size-h1,
    h5.is-style-size-h1,
    h6.is-style-size-h1 {
        font-size: 3.25rem
    }
}

@media screen and (min-width:64.0625rem) {

    h1.is-style-size-h1,
    h2.is-style-size-h1,
    h3.is-style-size-h1,
    h4.is-style-size-h1,
    h5.is-style-size-h1,
    h6.is-style-size-h1 {
        font-size: 3.75rem
    }
}

h1.is-style-size-h2,
h2.is-style-size-h2,
h3.is-style-size-h2,
h4.is-style-size-h2,
h5.is-style-size-h2,
h6.is-style-size-h2 {
    font-size: 2rem
}

@media screen and (min-width:48rem) {

    h1.is-style-size-h2,
    h2.is-style-size-h2,
    h3.is-style-size-h2,
    h4.is-style-size-h2,
    h5.is-style-size-h2,
    h6.is-style-size-h2 {
        font-size: 3rem
    }
}

@media screen and (min-width:64.0625rem) {

    h1.is-style-size-h2,
    h2.is-style-size-h2,
    h3.is-style-size-h2,
    h4.is-style-size-h2,
    h5.is-style-size-h2,
    h6.is-style-size-h2 {
        font-size: 3.5rem
    }
}

h1.is-style-size-h3,
h2.is-style-size-h3,
h3.is-style-size-h3,
h4.is-style-size-h3,
h5.is-style-size-h3,
h6.is-style-size-h3 {
    font-size: 1.875rem
}

@media screen and (min-width:48rem) {

    h1.is-style-size-h3,
    h2.is-style-size-h3,
    h3.is-style-size-h3,
    h4.is-style-size-h3,
    h5.is-style-size-h3,
    h6.is-style-size-h3 {
        font-size: 2.75rem
    }
}

@media screen and (min-width:64.0625rem) {

    h1.is-style-size-h3,
    h2.is-style-size-h3,
    h3.is-style-size-h3,
    h4.is-style-size-h3,
    h5.is-style-size-h3,
    h6.is-style-size-h3 {
        font-size: 3rem
    }
}

h1.is-style-size-h4,
h2.is-style-size-h4,
h3.is-style-size-h4,
h4.is-style-size-h4,
h5.is-style-size-h4,
h6.is-style-size-h4 {
    font-size: 1.75rem
}

@media screen and (min-width:48rem) {

    h1.is-style-size-h4,
    h2.is-style-size-h4,
    h3.is-style-size-h4,
    h4.is-style-size-h4,
    h5.is-style-size-h4,
    h6.is-style-size-h4 {
        font-size: 2rem
    }
}

@media screen and (min-width:64.0625rem) {

    h1.is-style-size-h4,
    h2.is-style-size-h4,
    h3.is-style-size-h4,
    h4.is-style-size-h4,
    h5.is-style-size-h4,
    h6.is-style-size-h4 {
        font-size: 2.25rem
    }
}

h1.is-style-size-h5,
h2.is-style-size-h5,
h3.is-style-size-h5,
h4.is-style-size-h5,
h5.is-style-size-h5,
h6.is-style-size-h5 {
    line-height: 1.2em;
    font-size: 1.5rem
}

@media screen and (min-width:48rem) {

    h1.is-style-size-h5,
    h2.is-style-size-h5,
    h3.is-style-size-h5,
    h4.is-style-size-h5,
    h5.is-style-size-h5,
    h6.is-style-size-h5 {
        font-size: 1.75rem
    }
}

h1.is-style-size-h6,
h2.is-style-size-h6,
h3.is-style-size-h6,
h4.is-style-size-h6,
h5.is-style-size-h6,
h6.is-style-size-h6 {
    font-size: 1.25rem
}

@media screen and (min-width:48rem) {

    h1.is-style-size-h6,
    h2.is-style-size-h6,
    h3.is-style-size-h6,
    h4.is-style-size-h6,
    h5.is-style-size-h6,
    h6.is-style-size-h6 {
        font-size: 1.375rem
    }
}

h1 {
    font-size: 2.5rem
}

@media screen and (min-width:48rem) {
    h1 {
        font-size: 3.25rem
    }
}

@media screen and (min-width:64.0625rem) {
    h1 {
        font-size: 3.75rem
    }
}

h2 {
    font-size: 2rem
}

@media screen and (min-width:48rem) {
    h2 {
        font-size: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    h2 {
        font-size: 3.5rem
    }
}

h3 {
    font-size: 1.875rem
}

@media screen and (min-width:48rem) {
    h3 {
        font-size: 2.75rem
    }
}

@media screen and (min-width:64.0625rem) {
    h3 {
        font-size: 3rem
    }
}

h4 {
    font-size: 1.75rem
}

@media screen and (min-width:48rem) {
    h4 {
        font-size: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    h4 {
        font-size: 2.25rem
    }
}

h5 {
    line-height: 1.2em;
    font-size: 1.5rem
}

@media screen and (min-width:48rem) {
    h5 {
        font-size: 1.75rem
    }
}

h6 {
    line-height: 1.2em;
    font-size: 1.5rem
}

@media screen and (min-width:48rem) {
    h6 {
        font-size: 1.75rem
    }
}

ol,
ul {
    margin: 1.5rem 0;
    padding: 0 0 0 1.75rem
}

@media screen and (min-width:48rem) {

    ol,
    ul {
        padding: 0 0 0 2rem;
        margin: 2rem 0
    }
}

ol li,
ul li {
    margin-bottom: .5rem
}

ol li ul,
ul li ul {
    margin: 1.25rem 0
}

ol li:last-child,
ul li:last-child {
    margin-bottom: 0
}

ol.wp-block-list,
ul.wp-block-list {
    margin: 0
}

.lg-heading {
    font-size: 3.25rem
}

@media screen and (min-width:48rem) {
    .lg-heading {
        font-size: 3.75rem
    }
}

@media screen and (min-width:64.0625rem) {
    .lg-heading {
        font-size: 4.875rem
    }
}

p:not(:last-child) {
    margin-bottom: 1.5rem
}

p.wp-block-paragraph {
    margin-bottom: 0
}

div.is-style-xs,
div.is-style-xs>li,
li.is-style-xs,
li.is-style-xs>li,
ol.is-style-xs,
ol.is-style-xs>li,
p.is-style-xs,
p.is-style-xs>li,
span.is-style-xs,
span.is-style-xs>li,
ul.is-style-xs,
ul.is-style-xs>li {
    font-size: .825rem !important
}

@media screen and (min-width:48rem) {

    div.is-style-xs,
    div.is-style-xs>li,
    li.is-style-xs,
    li.is-style-xs>li,
    ol.is-style-xs,
    ol.is-style-xs>li,
    p.is-style-xs,
    p.is-style-xs>li,
    span.is-style-xs,
    span.is-style-xs>li,
    ul.is-style-xs,
    ul.is-style-xs>li {
        font-size: .9rem !important
    }
}

div.is-style-sm,
div.is-style-sm>li,
li.is-style-sm,
li.is-style-sm>li,
ol.is-style-sm,
ol.is-style-sm>li,
p.is-style-sm,
p.is-style-sm>li,
span.is-style-sm,
span.is-style-sm>li,
ul.is-style-sm,
ul.is-style-sm>li {
    font-size: 1rem !important
}

div.is-style-md,
div.is-style-md>li,
li.is-style-md,
li.is-style-md>li,
ol.is-style-md,
ol.is-style-md>li,
p.is-style-md,
p.is-style-md>li,
span.is-style-md,
span.is-style-md>li,
ul.is-style-md,
ul.is-style-md>li {
    font-size: 1rem !important
}

@media screen and (min-width:64.0625rem) {

    div.is-style-md,
    div.is-style-md>li,
    li.is-style-md,
    li.is-style-md>li,
    ol.is-style-md,
    ol.is-style-md>li,
    p.is-style-md,
    p.is-style-md>li,
    span.is-style-md,
    span.is-style-md>li,
    ul.is-style-md,
    ul.is-style-md>li {
        font-size: 1.125rem !important
    }
}

div.is-style-lg,
div.is-style-lg>li,
li.is-style-lg,
li.is-style-lg>li,
ol.is-style-lg,
ol.is-style-lg>li,
p.is-style-lg,
p.is-style-lg>li,
span.is-style-lg,
span.is-style-lg>li,
ul.is-style-lg,
ul.is-style-lg>li {
    font-size: 1.125rem !important
}

@media screen and (min-width:48rem) {

    div.is-style-lg,
    div.is-style-lg>li,
    li.is-style-lg,
    li.is-style-lg>li,
    ol.is-style-lg,
    ol.is-style-lg>li,
    p.is-style-lg,
    p.is-style-lg>li,
    span.is-style-lg,
    span.is-style-lg>li,
    ul.is-style-lg,
    ul.is-style-lg>li {
        font-size: 1.25rem !important
    }
}

@media screen and (min-width:64.0625rem) {

    div.is-style-lg,
    div.is-style-lg>li,
    li.is-style-lg,
    li.is-style-lg>li,
    ol.is-style-lg,
    ol.is-style-lg>li,
    p.is-style-lg,
    p.is-style-lg>li,
    span.is-style-lg,
    span.is-style-lg>li,
    ul.is-style-lg,
    ul.is-style-lg>li {
        font-size: 1.5rem !important
    }
}

div.is-style-xl,
div.is-style-xl>li,
li.is-style-xl,
li.is-style-xl>li,
ol.is-style-xl,
ol.is-style-xl>li,
p.is-style-xl,
p.is-style-xl>li,
span.is-style-xl,
span.is-style-xl>li,
ul.is-style-xl,
ul.is-style-xl>li {
    font-size: 1.25rem !important
}

@media screen and (min-width:48rem) {

    div.is-style-xl,
    div.is-style-xl>li,
    li.is-style-xl,
    li.is-style-xl>li,
    ol.is-style-xl,
    ol.is-style-xl>li,
    p.is-style-xl,
    p.is-style-xl>li,
    span.is-style-xl,
    span.is-style-xl>li,
    ul.is-style-xl,
    ul.is-style-xl>li {
        font-size: 1.5rem !important
    }
}

@media screen and (min-width:64.0625rem) {

    div.is-style-xl,
    div.is-style-xl>li,
    li.is-style-xl,
    li.is-style-xl>li,
    ol.is-style-xl,
    ol.is-style-xl>li,
    p.is-style-xl,
    p.is-style-xl>li,
    span.is-style-xl,
    span.is-style-xl>li,
    ul.is-style-xl,
    ul.is-style-xl>li {
        font-size: 2rem !important
    }
}

a {
    color: #b0a8ba;
    transition: all .2s;
    text-decoration: none
}

@media screen and (min-width:48rem) {
    a:hover {
        color: #b5c3ac
    }
}

blockquote {
    padding: .625rem 1.25rem;
    border-left: 5px solid #e2e2e2;
    font-size: 1.125rem;
    line-height: 1.2;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

@media screen and (min-width:48rem) {
    blockquote {
        margin-top: 2rem;
        margin-bottom: 2rem
    }
}

hr {
    width: 100%;
    height: 1px;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

@media screen and (min-width:48rem) {
    hr {
        margin-top: 2rem;
        margin-bottom: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    hr {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.text-white {
    color: #fff !important
}

.text-white-2 {
    color: #f2f2f2 !important
}

.text-grey {
    color: #757575 !important
}

.text-charcoal {
    color: #353434 !important
}

.text-dark {
    color: #070504 !important
}

.text-dark-2 {
    color: #181a0c !important
}

.text-wood {
    color: #8d6f29 !important
}

.text-purple {
    color: #502db2 !important
}

.text-purple-2 {
    color: #21123b !important
}

.text-purple-2-80 {
    color: rgba(33, 18, 59, .9019607843) !important
}

.text-purple-3 {
    color: #b0a8ba !important
}

.text-purple-4 {
    color: #7b7485 !important
}

.text-spring-rain {
    color: #b5c3ac !important
}

.text-white {
    color: #fff !important
}

.text-playfair {
    font-family: "Playfair Display", serif !important
}

.text-bodoni {
    font-family: "Bodoni Moda", serif !important
}

.text-ibm {
    font-family: "IBM Plex Sans", sans-serif !important
}

.text-ibm-mono {
    font-family: "IBM Plex Mono", monospace !important
}

.text-left {
    text-align: left !important
}

.text-center {
    text-align: center !important
}

.text-right {
    text-align: right !important
}

@media screen and (max-width:47.98rem) {

    .mobile-ta-left,
    .mobile-text-left {
        text-align: left !important
    }
}

@media screen and (max-width:47.98rem) {

    .mobile-ta-center,
    .mobile-text-center {
        text-align: center !important
    }
}

@media screen and (max-width:47.98rem) {

    .mobile-ta-right,
    .mobile-text-right {
        text-align: right !important
    }
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-italic {
    font-style: italic !important
}

.font-900 {
    font-weight: 900 !important
}

.font-700 {
    font-weight: 700 !important
}

.font-600 {
    font-weight: 600 !important
}

.font-500 {
    font-weight: 500 !important
}

.font-400 {
    font-weight: 400 !important
}

.font-300 {
    font-weight: 300 !important
}

.letter-spacing-10 {
    letter-spacing: 10px
}

.letter-spacing-5 {
    letter-spacing: 5px
}

.has-small-font-size,
.has-small-font-size li,
.text-sm {
    font-size: 1rem !important
}

.has-large-font-size,
.has-large-font-size li,
.text-lg {
    font-size: 1.25rem !important
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: none
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

#content {
    flex: 1 0 auto;
    overflow-x: clip;
    margin: 0;
}

img {
    display: block;
    max-width: 100%;
    height: auto
}

img.alignleft {
    float: left;
    margin-right: 1.5em
}

img.alignright {
    float: right;
    margin-left: 1.5em
}

img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.fade-down,
.fade-in,
.fade-left,
.fade-right,
.fade-up,
.img-fade-left,
.img-fade-right,
.staggered-fade-up,
.staggered-text {
    visibility: hidden
}

.block-background-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.block-background-slider .background-slide:first-child {
    animation: fadeIn 2.5s
}

.block-background-slider .background-slide {
    opacity: 0;
    height: 100%;
    width: 100%;
    background-position: center center;
    background-size: cover;
    position: absolute;
    transition: 1.5s ease-in-out;
    z-index: 1
}

.block-background-slider .background-slide.active {
    opacity: 1
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.blog-hero h1 {
    line-height: 1;
    font-size: 2.25rem
}

@media screen and (min-width:48rem) {
    .blog-hero h1 {
        font-size: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .blog-hero h1 {
        font-size: 3.625rem
    }
}

.blog-content .post-results {
    font-weight: 600
}

#spearhead-case-studies {
    position: relative;
    width: 100%;
    mix-blend-mode: multiply
}

#spearhead-case-studies h1,
#spearhead-case-studies h2,
#spearhead-case-studies h3,
#spearhead-case-studies h4,
#spearhead-case-studies h5,
#spearhead-case-studies h6,
#spearhead-case-studies p {
    color: #fff
}

#spearhead-case-studies h1 {
    position: absolute;
    z-index: 5;
    top: 5rem;
    margin: 0;
    transform: translateX(-1rem);
    font-size: .85rem;
    padding: .875rem;
    font-weight: 400;
    text-transform: uppercase;
    background: #181a0c;
    font-family: "IBM Plex Mono", monospace
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies h1 {
        top: 6.5rem;
        font-size: .9rem;
        transform: translateX(-50%);
        padding: 1rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies h1 {
        top: 9rem;
        font-size: 1rem
    }
}

#spearhead-case-studies .timeline-bar {
    position: absolute;
    width: 4px;
    background: #181a0c;
    height: 100%;
    top: 0;
    transform: translateX(-2px);
    z-index: 2
}

#spearhead-case-studies .timeline-progress {
    position: fixed;
    background-image: linear-gradient(180deg, transparent 20%, #8d6f29);
    width: 4px;
    top: 0;
    transform: translateX(-2px);
    z-index: 3;
    height: 10rem
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-progress {
        height: 12.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-progress {
        height: 17.5rem
    }
}

#spearhead-case-studies .timeline-bar,
#spearhead-case-studies .timeline-progress,
#spearhead-case-studies h1 {
    left: 40px
}

@media screen and (min-width:48rem) {

    #spearhead-case-studies .timeline-bar,
    #spearhead-case-studies .timeline-progress,
    #spearhead-case-studies h1 {
        left: 125px
    }
}

@media screen and (min-width:64.0625rem) {

    #spearhead-case-studies .timeline-bar,
    #spearhead-case-studies .timeline-progress,
    #spearhead-case-studies h1 {
        left: 28%
    }
}

@media screen and (min-width:90rem) {

    #spearhead-case-studies .timeline-bar,
    #spearhead-case-studies .timeline-progress,
    #spearhead-case-studies h1 {
        left: 33.333%
    }
}

#spearhead-case-studies .timeline-items {
    position: relative;
    z-index: 4;
    display: grid;
    align-items: start;
    width: 100%;
    position: relative;
    padding: 10rem 0 3rem;
    grid-template-columns: 40px 1fr
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-items {
        padding: 12.5rem 0 4rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-items {
        padding: 17.5rem 0 5rem
    }
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-items {
        grid-template-columns: 125px 1fr
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-items {
        grid-template-columns: 28% 1fr
    }
}

@media screen and (min-width:90rem) {
    #spearhead-case-studies .timeline-items {
        grid-template-columns: 33.333% 1fr
    }
}

#spearhead-case-studies .timeline-categories .timeline-category-heading {
    position: relative;
    height: 10rem
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-categories .timeline-category-heading {
        height: 12.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-categories .timeline-category-heading {
        padding: 0 3rem;
        height: 17.5rem
    }
}

#spearhead-case-studies .timeline-categories .timeline-category-heading:last-child {
    height: 25rem
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-categories .timeline-category-heading:last-child {
        height: 30rem
    }
}

#spearhead-case-studies .timeline-categories .timeline-category-heading h2 {
    text-align: right;
    font-size: 1.75rem;
    max-width: 300px;
    margin: 0 0 0 auto;
    line-height: 1.25;
    transform: translateY(-1rem) scale(.8);
    transition: color .2s;
    transform-origin: 100% 0;
    color: #fff;
    cursor: pointer;
    display: none
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-categories .timeline-category-heading h2 {
        display: block;
        font-size: 1.625rem
    }
}

@media screen and (min-width:90rem) {
    #spearhead-case-studies .timeline-categories .timeline-category-heading h2 {
        font-size: 1.75rem
    }
}

#spearhead-case-studies .timeline-categories .timeline-category-heading button {
    position: absolute;
    cursor: pointer;
    right: -.5rem;
    width: 1rem;
    height: 1rem;
    background: #fff;
    border-radius: 50%;
    z-index: 4;
    top: -.5rem;
    border: none;
    padding: 0;
    transition: background .2s
}

#spearhead-case-studies .timeline-categories .timeline-category-heading.active h2 {
    color: #8d6f29
}

#spearhead-case-studies .timeline-categories .timeline-category-heading.active button {
    background: #8d6f29
}

#spearhead-case-studies .timeline-category-details {
    overflow: hidden;
    top: 2rem;
    position: sticky;
    padding: 0 1.25rem 0 2.5rem
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details {
        padding: 0 2rem 0 4rem;
        top: 5rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-category-details {
        padding: 0 5rem;
        top: 7.5rem
    }
}

@media screen and (min-width:90rem) {
    #spearhead-case-studies .timeline-category-details {
        padding: 0 7.5rem
    }
}

@media screen and (min-width:1921px) {
    #spearhead-case-studies .timeline-category-details {
        top: 10rem;
        padding: 0 10rem
    }
}

@media screen and (max-width:1024px) and (orientation:landscape) {
    #spearhead-case-studies .timeline-category-details {
        top: 3rem
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items {
    max-width: 45rem;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: -1;
    transform: translateX(-100vw);
    transition: opacity .5s ease-out
}

@media screen and (min-width:90rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items {
        max-width: 55rem
    }
}

@media screen and (min-width:1921px) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items {
        max-width: 65rem
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items h2 {
    font-family: "IBM Plex Sans", sans-serif;
    font-size: .9rem;
    font-weight: 600;
    color: #8d6f29;
    margin: 0 0 1.5rem
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items h2 {
        margin: 0 0 2rem;
        font-size: 1rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items h2 {
        display: none
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items.active {
    visibility: visible;
    opacity: 1;
    transform: none;
    z-index: 1;
    position: initial
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination {
    display: flex;
    grid-gap: 1.25rem;
    align-items: center;
    color: #fff;
    margin-bottom: 1.5rem
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination {
        margin-bottom: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination {
        margin-bottom: 3rem
    }
}

@media screen and (max-width:1024px) and (orientation:landscape) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination {
        margin-bottom: 1.5rem
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination button,
#spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination div {
    line-height: 1
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination div {
    display: flex;
    align-items: center;
    grid-gap: .375rem;
    font-size: .9rem
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination button {
    background: 0 0;
    border: none;
    cursor: pointer;
    color: #fff;
    transition: color .2s;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #8d6f29;
    padding: .5rem;
    border-radius: 50%
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination button {
        background: 0 0;
        display: block;
        padding: 0
    }

    #spearhead-case-studies .timeline-category-details .timeline-category-items .category-item-pagination button:hover {
        color: #8d6f29
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item {
    display: grid;
    align-items: start
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item {
        grid-template-columns: 1fr 9rem;
        grid-gap: 1.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item {
        grid-template-columns: 1fr 14rem
    }
}

@media screen and (min-width:90rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item {
        grid-template-columns: 1fr 18rem;
        grid-gap: 3rem
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item .force-aspect {
    display: none
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item .force-aspect {
        display: block
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item img {
    border-radius: 50%
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item h3 {
    font-size: 1.5rem;
    margin-bottom: 1.25rem
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item h3 {
        font-size: 1.75rem
    }
}

@media screen and (min-width:1921px) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item h3 {
        font-size: 1.875rem
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item .block-video-embed {
    background: #070504;
    display: none
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item .block-video-embed {
        display: block
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item p {
    font-size: .85rem;
    line-height: 1.6;
    margin: 0
}

@media screen and (max-width:1024px) and (orientation:landscape) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item p {
        display: none !important
    }
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item p {
        font-size: 1rem;
        display: block;
        line-height: 1.75
    }
}

@media screen and (min-width:1921px) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item p {
        font-size: 1.125rem
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item p:not(:first-of-type) {
    display: none
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .timeline-category-item p:last-child {
    margin-bottom: 0
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .custom-modal-trigger {
    font-size: .825rem !important;
    line-height: 1;
    text-decoration: underline;
    padding: .9rem;
    margin-top: 2rem;
    display: none
}

@media screen and (max-width:1024px) and (orientation:landscape) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .custom-modal-trigger {
        display: block !important;
        margin-top: 1.5rem
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .video-item .custom-modal-trigger {
    display: block
}

@media screen and (min-width:48rem) {
    #spearhead-case-studies .timeline-category-details .timeline-category-items .video-item .custom-modal-trigger {
        display: none
    }
}

#spearhead-case-studies .timeline-category-details .timeline-category-items .show-read-more .custom-modal-trigger {
    display: block !important
}

.case-study-images {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.case-study-images .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(33, 18, 59, .9)
}

.case-study-images img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    -o-object-fit: cover;
    object-fit: cover
}

.case-study-images img:not(:first-of-type) {
    opacity: 0
}

.content-container {
    max-width: 100rem;
    width: 100%;
    margin: 0 auto
}

@media screen and (min-width:1921px) {
    .content-container {
        max-width: 110rem
    }
}

.blog-content-container {
    display: grid;
    align-items: start;
    gap: 2rem;
    max-width: 75rem;
    margin: 0 auto;
    width: 100%
}

@media screen and (min-width:48rem) {
    .blog-content-container {
        gap: 2.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .blog-content-container {
        gap: 3.75rem
    }
}

@media screen and (min-width:64.0625rem) {
    .blog-content-container {
        grid-template-columns: 1fr 17.5rem;
        gap: 4rem
    }
}

@media screen and (min-width:90rem) {
    .blog-content-container {
        gap: 6rem
    }
}

.spearhead-post-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 2rem
}

@media screen and (min-width:48rem) {
    .spearhead-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-gap: 2rem 1.25rem
    }
}

.bg-white {
    background-color: #fff !important
}

.bg-white-2 {
    background-color: #f2f2f2 !important
}

.bg-grey {
    background-color: #757575 !important
}

.bg-charcoal {
    background-color: #353434 !important
}

.bg-dark {
    background-color: #070504 !important
}

.bg-dark-2 {
    background-color: #181a0c !important
}

.bg-wood {
    background-color: #8d6f29 !important
}

.bg-purple {
    background-color: #502db2 !important
}

.bg-purple-2 {
    background-color: #21123b !important
}

.bg-purple-2-80 {
    background-color: rgba(33, 18, 59, .9019607843) !important
}

.bg-purple-3 {
    background-color: #b0a8ba !important
}

.bg-purple-4 {
    background-color: #7b7485 !important
}

.bg-spring-rain {
    background-color: #b5c3ac !important
}

.bg-white {
    background-color: #fff !important
}

.force-aspect {
    position: relative;
    height: auto;
    width: 100%
}

.force-aspect img,
.force-aspect video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    -o-object-fit: cover;
    object-fit: cover
}

.force-aspect.aspect-1x1 {
    padding-top: 100%
}

.force-aspect.aspect-3x4 {
    padding-top: 133.333%
}

.force-aspect.aspect-4x3 {
    padding-top: 75%
}

.force-aspect.aspect-9x16 {
    padding-top: 177.778%
}

.force-aspect.aspect-16x9 {
    padding-top: 56.25%
}

.force-aspect.aspect-21x9 {
    padding-top: 42.857%
}

.force-aspect.aspect-9x21 {
    padding-top: 233.333%
}

.force-aspect.aspect-3x2 {
    padding-top: 66.666%
}

.force-aspect.aspect-2x1 {
    padding-top: 50%
}

.force-aspect.aspect-1x2 {
    padding-top: 150%
}

@media screen and (max-width:64.0425rem) {
    .hide-tablet {
        display: none !important
    }
}

@media screen and (max-width:47.98rem) {
    .hide-mobile {
        display: none !important
    }
}

@media screen and (min-width:64.0625rem) {
    .show-tablet {
        display: none !important
    }
}

@media screen and (min-width:48rem) {
    .show-mobile {
        display: none !important
    }
}

.design-ideation-hero {
    padding-bottom: 0 !important;
    overflow-y: visible;
    overflow-x: clip
}

.design-ideation-hero-content {
    padding-bottom: 2.5rem
}

@media screen and (min-width:36rem) {
    .design-ideation-hero-content {
        padding-bottom: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .design-ideation-hero-content {
        padding-bottom: 4rem
    }
}

@media screen and (min-width:90rem) {
    .design-ideation-hero-content {
        padding-bottom: 5rem
    }
}

@media screen and (min-width:1921px) {
    .design-ideation-hero-content {
        padding-bottom: 6rem
    }
}

.design-ideation-hero-image {
    transform: rotate(-8deg) scale(1) translate(0, 3rem);
    transform-origin: bottom right;
    margin-top: -6rem
}

@media screen and (min-width:48rem) {
    .design-ideation-hero-image {
        transform: rotate(-10deg) scale(1.05) translate(-2rem, 3rem);
        margin-top: -3rem;
        transform-origin: center center
    }
}

@media screen and (min-width:64.0625rem) {
    .design-ideation-hero-image {
        transform: rotate(-10deg) scale(1.15) translate(-3rem, 5rem);
        margin-top: -4rem
    }
}

.design-ideation-hero-image.wp-block {
    transform: none;
    margin-top: 0
}

.site-footer {
    width: 100%;
    background: #502db2;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 11rem;
    padding-bottom: 10rem;
    color: #fff;
    position: relative;
    z-index: 4;
    padding-top: 3rem;
    padding-bottom: 3rem
}

@media screen and (min-width:36rem) {
    .site-footer {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .site-footer {
        padding-left: 3rem;
        padding-right: 3rem
    }
}

@media screen and (min-width:48rem) {
    .site-footer {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}

@media screen and (min-width:64.0625rem) {
    .site-footer {
        padding-top: 7.5rem;
        padding-bottom: 7.5rem
    }
}

@media screen and (min-width:90rem) {
    .site-footer {
        padding-top: 10rem;
        padding-bottom: 10rem
    }
}

.site-footer #footer-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.site-footer #footer-navigation ul li {
    margin-bottom: 0
}

.site-footer #footer-navigation ul li a {
    position: relative;
    display: block
}

.site-footer::after {
    content: "";
    background-image: url(../images/spearhead-logo-footer.svg);
    background-size: 400px;
    background-repeat: no-repeat;
    background-position: bottom right;
    position: absolute;
    opacity: .1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.site-footer .content-container {
    max-width: 1300px;
    z-index: 2;
    position: relative
}

.site-footer .certifications {
    padding-left: 0 !important;
    margin: 0 !important
}

.site-footer .certifications .certificate {
    list-style: none
}

.site-footer .certifications .certificate img {
    max-width: 100px
}

.site-footer .certifications .certificate:not(:last-child) {
    margin-bottom: 30px
}

.site-footer .social-icons {
    margin-top: 30px;
    display: flex;
    gap: 15px
}

.site-footer .social-icons .social-icon {
    background: #fff;
    border-radius: 100px;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity .4s ease-in-out
}

.site-footer .social-icons .social-icon:hover {
    opacity: .6;
    transition: opacity .4s ease-in-out
}

.site-footer .social-icons .social-icon a,
.site-footer .social-icons .social-icon i {
    display: block
}

.site-footer .social-icons .social-icon a {
    margin: 0 !important
}

.site-footer .social-icons .social-icon i {
    font-size: 18px;
    color: #502db2
}

.site-footer #footer-menu a {
    font-size: 1.08rem;
    line-height: 1.08rem
}

.site-footer a:not(.theme-button) {
    margin-bottom: 20px;
    font-size: .875rem;
    line-height: 1.2rem;
    font-weight: 300;
    text-decoration: none;
    text-transform: capitalize;
    transition: color .4s
}

.site-footer p {
    font-size: .875rem;
    line-height: 1rem;
    font-weight: 300;
    text-transform: uppercase
}

.site-footer .footer-logo img {
    max-width: 200px
}

.site-footer .footer-columns {
    margin: 3.75rem 0;
    display: flex;
    gap: 30px;
    justify-content: space-between
}

@media screen and (max-width:64.0425rem) {
    .site-footer .footer-columns {
        flex-direction: column;
        margin: 2.75rem 0
    }
}

.site-footer .footer-columns .footer-column {
    flex: 1
}

.site-footer .copyright p,
.site-footer .copyright p>a {
    text-transform: capitalize;
    font-size: .75rem;
    margin: 0
}

.site-footer .copyright span {
    display: block;
    height: 0;
    opacity: 0;
    margin: 5px 0
}

@media screen and (min-width:48rem) {
    .site-footer .copyright span {
        height: auto;
        opacity: 1;
        display: inline-block;
        margin: 0 15px
    }
}

.site-footer .copyright a {
    color: #fff;
    text-decoration: underline
}

.site-footer .copyright a:hover {
    color: rgba(255, 255, 255, .75)
}

.site-footer .copyright::before {
    content: "";
    display: block;
    width: 66%;
    height: 1px;
    background: #7b7485;
    margin-bottom: 30px
}

@media screen and (max-width:64.0425rem) {
    .site-footer .copyright::before {
        width: 100%
    }
}

.d-grid {
    display: grid
}

@media screen and (min-width:48rem) {
    .d-grid.cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-2.quarter {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr)
    }
}

@media screen and (min-width:64.0625rem) {
    .d-grid.cols-2.quarter {
        grid-template-columns: minmax(0, 1fr) minmax(0, 3fr)
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.quarter.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-2.third {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr)
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.third.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-2.forty {
        grid-template-columns: minmax(0, 4fr) minmax(0, 6fr)
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.forty.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-2.sixty {
        grid-template-columns: minmax(0, 6fr) minmax(0, 4fr)
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.sixty.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-2.three_quarters {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr)
    }
}

@media screen and (min-width:64.0625rem) {
    .d-grid.cols-2.three_quarters {
        grid-template-columns: minmax(0, 3fr) minmax(0, 2fr)
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.three_quarters.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-2.two_thirds {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr)
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.two_thirds.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width:47.98rem) {
    .d-grid.cols-2.reverse-mobile>div:first-child {
        order: 1
    }
}

@media screen and (max-width:47.98rem) {
    .d-grid.cols-2.reverse-mobile>div:last-child {
        order: 0
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.reverse-mobile.collapse-tablet>div:first-child {
        order: 1
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-2.reverse-mobile.collapse-tablet>div:last-child {
        order: 0
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-3.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-3.cols-2-tablet {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media screen and (min-width:64.0625rem) {
    .d-grid.cols-3.cols-2-tablet {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media screen and (min-width:48rem) {
    .d-grid.cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media screen and (min-width:64.0625rem) {
    .d-grid.cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-4.collapse-tablet {
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:36rem) {
    .d-grid.cols-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media screen and (min-width:64.0625rem) {
    .d-grid.cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-5.collapse-tablet {
        grid-template-columns: 1fr
    }
}

.d-grid.cols-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

@media screen and (min-width:48rem) {
    .d-grid.cols-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media screen and (min-width:64.0625rem) {
    .d-grid.cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }
}

@media screen and (max-width:64.0425rem) {
    .d-grid.cols-6.collapse-tablet {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.d-flex {
    display: flex
}

.jc-start {
    justify-content: start
}

.jc-end {
    justify-content: end
}

.jc-center {
    justify-content: center
}

.jc-sb {
    justify-content: space-between
}

.ai-start {
    align-items: start
}

.ai-end {
    align-items: end
}

.ai-stretch {
    align-items: stretch
}

.ai-center {
    align-items: center
}

.gap-xs {
    gap: .5rem
}

@media screen and (min-width:36rem) {
    .gap-xs {
        gap: .75rem
    }
}

.gap-sm {
    gap: 1rem
}

@media screen and (min-width:48rem) {
    .gap-sm {
        gap: 1.5rem
    }
}

.gap-md {
    gap: 1.5rem
}

@media screen and (min-width:48rem) {
    .gap-md {
        gap: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .gap-md {
        gap: 2.5rem
    }
}

.gap-lg {
    gap: 2rem
}

@media screen and (min-width:48rem) {
    .gap-lg {
        gap: 2.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .gap-lg {
        gap: 3.75rem
    }
}

.gap-xl {
    gap: 3rem
}

@media screen and (min-width:48rem) {
    .gap-xl {
        gap: 4rem
    }
}

@media screen and (min-width:64.0625rem) {
    .gap-xl {
        gap: 6rem
    }
}

.site-header {
    background-color: rgba(33, 18, 59, .9019607843);
    top: 0;
    left: 0;
    z-index: 998;
    width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    position: sticky;
    transition: background-color .5s ease-in-out, padding .3s ease-in-out;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
}

@media screen and (min-width:36rem) {
    .site-header {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .site-header {
        padding-left: 3rem;
        padding-right: 3rem
    }
}

@media screen and (min-width:48rem) {
    .site-header {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .site-header {
        padding-top: 1.875rem;
        padding-bottom: 1.875rem
    }
}

.site-header.header-sticky {
    background-color: rgba(33, 18, 59, .9019607843) !important;
    padding-top: .875rem;
    padding-bottom: .875rem
}

@media screen and (min-width:48rem) {
    .site-header.header-sticky {
        padding-top: 1rem;
        padding-bottom: 1rem
    }
}

.site-header.header-sticky .site-logo {
    transform: scale(.85)
}

.site-header.transparent-header {
    position: fixed;
    top: 0;
    background: 0 0
}

.site-header.static-header {
    position: absolute !important
}

.header-inner {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem
}

@media screen and (min-width:48rem) {
    .header-inner {
        gap: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .header-inner {
        gap: 2.5rem
    }
}

.header-inner #site-navigation,
.header-inner .header-cta,
.header-inner .site-logo {
    flex: 1
}

@media screen and (max-width:47.98rem) {
    .header-inner #site-navigation {
        order: 2
    }

    .header-inner #site-navigation .menu-burger-icon img {
        margin-left: auto
    }

    .header-inner .site-logo {
        order: 1
    }
}

.header-inner .site-logo {
    line-height: 1;
    display: block;
    width: 100%;
    margin-right: 0rem;
    flex: 0 1 11.25rem !important
}

@media screen and (min-width:48rem) {
    .header-inner .site-logo {
        flex: 0 1 12.5rem !important
    }
}

@media screen and (min-width:64.0625rem) {
    .header-inner .site-logo {
        flex: 0 1 15rem !important
    }
}

@media screen and (min-width:90rem) {
    .header-inner .site-logo {
        flex: 0 1 16.25rem !important
    }
}

.header-inner .site-logo img,
.header-inner .site-logo span {
    display: block;
    width: 100%;
    height: auto;
    margin-right: 0rem
}

@media screen and (min-width:64.0625rem) {

    .header-inner .site-logo img,
    .header-inner .site-logo span {
        margin-right: 0rem
    }
}

@media screen and (min-width:90rem) {

    .header-inner .site-logo img,
    .header-inner .site-logo span {
        margin-right: 0rem
    }
}

.header-inner .site-logo img {
    min-width: 200px
}

.header-inner .header-cta {
    text-align: right
}

@media screen and (max-width:47.98rem) {
    .header-inner .header-cta {
        display: none
    }
}

.card-style {
    padding-top: 7.5rem !important
}

@media screen and (min-width:48rem) {
    .card-style {
        padding-top: 10rem !important
    }
}

@media screen and (min-width:64.0625rem) {
    .card-style {
        padding-top: 15rem !important
    }
}

.card-style .block-section-overlay {
    background: linear-gradient(to bottom, rgba(121, 76, 246, .5019607843), #502db2) !important
}

.card-style .block-column-content {
    display: flex;
    align-items: flex-end
}

.list-style-1 {
    counter-reset: orderedlist;
    padding-left: 0
}

.list-style-1 li {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
    margin-bottom: 2rem;
    position: relative;
    padding-left: 3.25rem
}

@media screen and (max-width:47.98rem) {
    .list-style-1 li {
        padding-left: 2rem;
        margin-bottom: 1.5rem
    }
}

.list-style-1 li::before {
    counter-increment: orderedlist;
    content: counter(orderedlist);
    font-weight: 700;
    color: #502db2;
    transform: translateX(-1.5rem);
    margin-left: 1.5rem
}

.list-style-1 li::after {
    content: "";
    display: block;
    height: 1px;
    width: 2.5rem;
    background: #502db2;
    position: absolute;
    top: 14px
}

@media screen and (max-width:47.98rem) {
    .list-style-1 li::after {
        width: 1.75rem
    }
}

.acf-innerblocks-container:has(>.text-sticky) {
    position: sticky;
    top: calc(40px + var(--header-height))
}

.overlap-left {
    margin-left: -65px !important
}

@media screen and (max-width:47.98rem) {
    .overlap-left {
        margin-left: 0 !important
    }
}

.overlap-right {
    margin-right: -65px !important
}

@media screen and (max-width:47.98rem) {
    .overlap-right {
        margin-right: 0 !important
    }
}

.sticky-offset {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
    z-index: 9999
}

@media screen and (max-width:47.98rem) {
    .sticky-offset {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }
}

.portfolio-columns .acf-innerblocks-container {
    display: flex;
    flex-direction: column;
    height: 100%
}

.portfolio-columns .acf-innerblocks-container .overlap-top {
    height: 100%
}

.overlap-top {
    z-index: 9 !important;
    margin-top: -95px !important
}

@media screen and (max-width:47.98rem) {
    .overlap-top {
        margin-top: 0 !important;
        width: 100% !important;
        max-width: 100% !important
    }
}

@media screen and (max-width:47.98rem) {
    .circle-cap-cols {
        grid-template-columns: 60px 1fr !important;
        grid-gap: 1rem !important
    }
}

.circle-cap-wrap p {
    text-align: right
}

.circle-cap {
    font-family: "Playfair Display", serif;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    background-color: #21123b;
    font-size: 28px;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    text-align: center;
    padding: 10px 8px;
    display: inline-block
}

@media screen and (min-width:48rem) {
    .circle-cap {
        width: 70px;
        height: 70px;
        padding: 13px 10px;
        font-size: 40px
    }
}

#site-navigation {
    display: flex;
    justify-content: end;
    align-items: center
}

@media screen and (min-width:48rem) {
    #site-navigation {
        justify-content: start
    }
}

#site-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none
}

#site-navigation ul li {
    margin-bottom: 0
}

#site-navigation ul li a {
    position: relative;
    display: block
}

#site-navigation #primary-menu {
    display: none
}

@media screen and (min-width:64.0625rem) {
    #site-navigation #primary-menu {
        display: flex
    }
}

#site-navigation #primary-menu>li {
    margin-right: 1.25rem
}

@media screen and (min-width:90rem) {
    #site-navigation #primary-menu>li {
        margin-right: 1.5rem
    }
}

#site-navigation #primary-menu>li:last-child {
    margin-right: 0
}

#site-navigation #primary-menu>li>a {
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
    padding: .5rem 0
}

#site-navigation #primary-menu>li.menu-item-has-children ul {
    position: absolute;
    transform: translateX(-100vw);
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    width: 14rem;
    transition: opacity .2s ease-out
}

#site-navigation #primary-menu>li.menu-item-has-children>ul li {
    margin: 0;
    padding: 0
}

#site-navigation #primary-menu>li.menu-item-has-children>ul>li {
    position: relative
}

#site-navigation #primary-menu>li.menu-item-has-children>ul>li a {
    padding: .75rem;
    color: #fff;
    background-color: #070504
}

#site-navigation #primary-menu>li.menu-item-has-children>ul>li>ul {
    position: absolute;
    transform: translateX(-100vw);
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    top: 0;
    left: 100%
}

#site-navigation #primary-menu>li.menu-item-has-children>ul>li.menu-item-has-children>a::after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding-left: .3125rem;
    position: absolute;
    right: .5rem;
    top: 50%;
    transform: translateY(-50%)
}

#site-navigation #primary-menu li.menu-item-has-children:hover>ul {
    opacity: 1;
    visibility: visible;
    z-index: 999;
    transform: none
}

#site-navigation #primary-menu>li.menu-item-has-children>a::after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding-left: .3125rem;
    display: inline;
    font-size: .8rem
}

#site-navigation .menu-icon {
    position: relative;
    cursor: pointer;
    background: 0 0;
    border: none
}

.single-post-hero {
    background: rgba(33, 18, 59, .9);
    position: relative
}

.single-post-hero img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    -o-object-fit: cover;
    object-fit: cover
}

.single-post-hero .overlay {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(33, 18, 59, .9);
    position: absolute
}

.single-post-hero .content-container {
    z-index: 3;
    position: relative;
    max-width: 80rem
}

.single-post-hero .single-post-meta,
.single-post-hero h1 {
    text-align: center
}

.single-post-hero h1 {
    color: #fff;
    text-transform: initial;
    font-weight: 300;
    margin-top: 1rem
}

@media screen and (min-width:48rem) {
    .single-post-hero h1 {
        margin-top: 1.25rem
    }
}

.single-post-hero .single-post-meta {
    margin-top: .5rem;
    color: rgba(255, 255, 255, .8)
}

.single-post-hero .single-post-tags {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    max-width: 400px;
    margin: 1rem auto 0;
    gap: .25rem
}

.single-post-hero .back-to-blog {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1rem;
    text-transform: uppercase;
    gap: .75rem;
    text-decoration: none;
    color: rgba(255, 255, 255, .75)
}

.single-post-hero .back-to-blog:hover {
    color: #fff
}

.single-post-content .wp-video {
    max-width: 100% !important;
    width: 100% !important
}

.single-post-content a {
    color: #8d6f29;
    text-decoration: underline;
    font-weight: 500
}

.single-post-content a:visited {
    color: #21123b
}

.single-post-content a:hover {
    color: #502db2
}

.blog-sidebar .theme-form-wrap .gform_wrapper.gravity-theme .gform_submission_error {
    display: none
}

.blog-sidebar .theme-form-wrap .gform_wrapper.gravity-theme .gform_footer {
    margin-top: .5rem
}

.blog-sidebar .theme-form-wrap .gform_wrapper.gravity-theme .theme-button.gform_button {
    padding: 1rem;
    font-size: .9rem
}

.blog-sidebar ul {
    margin-top: 0;
    padding-left: 0;
    list-style: none
}

.blog-sidebar ol {
    padding-left: 0
}

.blog-sidebar h2 {
    font-size: 1.75rem
}

.blog-sidebar h2:not(.mt-none) {
    margin: 2rem 0 1rem !important
}

@media screen and (min-width:64.0625rem) {
    .blog-sidebar h2:not(.mt-none) {
        margin: 2.5rem 0 1rem !important
    }
}

.blog-sidebar h2.mt-none {
    margin: 0 0 1rem !important
}

.blog-sidebar select {
    background: #f2f2f2;
    border: 1px solid #ddd;
    padding: .75rem;
    width: 100%
}

.blog-sidebar .widget_block ul {
    margin: 0 !important
}

.blog-sidebar .widget_block ul li {
    line-height: 1.25;
    font-size: 1rem
}

.blog-sidebar .widget_block ul li.current-cat a {
    color: #8d6f29;
    font-weight: 600;
    pointer-events: none
}

.blog-sidebar .widget_block ul li a {
    color: #21123b;
    text-decoration: underline
}

.blog-sidebar .widget_block ul li a:hover {
    color: #502db2
}

.blog-sidebar .widget_block ul li:not(:last-child) {
    margin-bottom: 1rem
}

.blog-sidebar .widget_block ul li strong {
    font-weight: 500
}

#slide-nav {
    position: fixed;
    z-index: -1;
    opacity: 0;
    transform: translateY(-100vh);
    visibility: hidden;
    transition: transform .3s, opacity .3s, visibility .3s;
    width: 100%;
    height: 100%;
    display: flex;
    background: #502db2;
    z-index: 999;
    overflow: auto
}

#slide-nav>.nav-wrapper,
#slide-nav>.navigation-image {
    width: 50%
}

@media screen and (max-width:64.0425rem) {

    #slide-nav>.nav-wrapper,
    #slide-nav>.navigation-image {
        width: 100%
    }
}

#slide-nav .nav-wrapper {
    padding-top: 4rem;
    padding-bottom: 3rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

@media screen and (min-width:36rem) {
    #slide-nav .nav-wrapper {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    #slide-nav .nav-wrapper {
        padding-left: 3rem;
        padding-right: 3rem
    }
}

#slide-nav .navigation-image {
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (max-width:64.0425rem) {
    #slide-nav .navigation-image {
        display: none
    }
}

#slide-nav .slide-site-branding {
    max-width: 12.5rem !important
}

@media screen and (min-width:48rem) {
    #slide-nav .slide-site-branding {
        max-width: 13.75rem !important
    }
}

@media screen and (min-width:64.0625rem) {
    #slide-nav .slide-site-branding {
        max-width: 15rem !important
    }
}

@media screen and (min-width:90rem) {
    #slide-nav .slide-site-branding {
        max-width: 16.25rem !important
    }
}

#slide-nav .slide-site-branding img {
    width: 100%;
    height: auto;
    display: block
}

#slide-nav .slide-site-branding a {
    display: block
}

#slide-nav .nav-close {
    cursor: pointer
}

#slide-nav .nav-close.theme-button {
    padding: 13px 16px;
    font-size: 12px
}

#slide-nav .nav-close.theme-button:hover {
    padding-left: 35px;
    padding-right: 35px
}

#slide-nav .nav-close.close-icon {
    position: absolute;
    color: #fff;
    font-size: 1.5rem;
    opacity: .8;
    transition: opacity .25s;
    background: 0 0;
    border: none;
    top: 1.25rem;
    right: 1.25rem
}

@media screen and (min-width:64.0625rem) {
    #slide-nav .nav-close.close-icon {
        top: 2rem;
        right: 2rem;
        font-size: 2rem
    }
}

#slide-nav .nav-close.close-icon:hover {
    opacity: 1
}

#slide-nav #primary-menu {
    list-style: none;
    padding: 0;
    margin-top: 1.875rem;
    margin-bottom: 3.75rem
}

#slide-nav #primary-menu>ul {
    padding: 0;
    margin: 0
}

#slide-nav #primary-menu a {
    display: inline-flex;
    align-items: center;
    position: relative;
    transition: color .2s;
    font-size: 2.25rem;
    text-decoration: none;
    line-height: 1.25;
    color: #b5c3ac;
    font-family: "Playfair Display", serif;
    cursor: pointer
}

@media screen and (max-width:64.0425rem) {
    #slide-nav #primary-menu a {
        font-size: 1.875rem
    }
}

@media screen and (max-width:47.98rem) {
    #slide-nav #primary-menu a {
        font-size: 1.5rem
    }
}

#slide-nav #primary-menu a:hover {
    color: #fff
}

#slide-nav #primary-menu li {
    list-style: none
}

#slide-nav #primary-menu li:not(:last-child) {
    margin-bottom: 1.25rem
}

#slide-nav #primary-menu li.current-menu-item>a {
    color: #fff
}

#slide-nav #primary-menu .menu-item-has-children>ul {
    display: none;
    list-style: none;
    padding: 0 0 .25rem;
    margin: 1rem 0 0
}

#slide-nav #primary-menu .menu-item-has-children>ul>li {
    margin: 0 0 .5rem
}

#slide-nav #primary-menu .menu-item-has-children>ul>li:last-child {
    margin: 0
}

#slide-nav #primary-menu .menu-item-has-children>ul>li>a {
    font-family: "IBM Plex Sans", sans-serif;
    font-size: 1.25rem;
    padding: .25rem;
    line-height: 1.25
}

#slide-nav #primary-menu .menu-item-has-children>a:after {
    content: "\f078";
    display: inline;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font: var(--fa-font-sharp-solid);
    font-size: 1.25rem;
    font-weight: 900;
    margin-left: .75rem;
    transform: translateY(2px)
}

#slide-nav #primary-menu .menu-item-has-children a.open:after {
    transform: translateY(2px) rotate(180deg)
}

#slide-nav.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    z-index: 1000
}

#slide-nav .primary-button {
    margin-top: 1.5rem
}

.margin-for-header,
.transparent-header+.site-content .block-section:first-child .block-section-content {
    margin-top: 65px
}

@media screen and (min-width:48rem) {

    .margin-for-header,
    .transparent-header+.site-content .block-section:first-child .block-section-content {
        margin-top: 92.41px
    }
}

@media screen and (min-width:64.0625rem) {

    .margin-for-header,
    .transparent-header+.site-content .block-section:first-child .block-section-content {
        margin-top: 104.41px
    }
}

.mt-none {
    margin-top: 0
}

.mb-0 {
    margin-bottom: 0 !important
}

.ml-0 {
    margin-left: 0 !important
}

.mr-0 {
    margin-right: 0 !important
}

.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important
}

.mt-xs:not(:first-child) {
    margin-top: .5rem
}

.mt-sm:not(:first-child) {
    margin-top: 1rem
}

@media screen and (min-width:48rem) {
    .mt-sm:not(:first-child) {
        margin-top: 1.25rem
    }
}

.mt-md:not(:first-child) {
    margin-top: 1.5rem
}

@media screen and (min-width:48rem) {
    .mt-md:not(:first-child) {
        margin-top: 2rem
    }
}

.mt-lg:not(:first-child) {
    margin-top: 1.5rem
}

@media screen and (min-width:36rem) {
    .mt-lg:not(:first-child) {
        margin-top: 2rem
    }
}

@media screen and (min-width:48rem) {
    .mt-lg:not(:first-child) {
        margin-top: 2.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .mt-lg:not(:first-child) {
        margin-top: 3rem
    }
}

.mt-xl:not(:first-child) {
    margin-top: 2rem
}

@media screen and (min-width:36rem) {
    .mt-xl:not(:first-child) {
        margin-top: 3rem
    }
}

@media screen and (min-width:48rem) {
    .mt-xl:not(:first-child) {
        margin-top: 4rem
    }
}

@media screen and (min-width:64.0625rem) {
    .mt-xl:not(:first-child) {
        margin-top: 6rem
    }
}

.pt-0 {
    padding-top: 0 !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pl-0 {
    padding-left: 0 !important
}

.pr-0 {
    padding-right: 0 !important
}

.pad-none {
    padding: 0 !important
}

.pad-xs {
    padding: 1rem .75rem
}

@media screen and (min-width:36rem) {
    .pad-xs {
        padding: 1rem
    }
}

.pad-sm {
    padding: 1.5rem 1.25rem
}

@media screen and (min-width:48rem) {
    .pad-sm {
        padding: 1.75rem
    }
}

.pad-md {
    padding: 2rem 1.25rem
}

@media screen and (min-width:36rem) {
    .pad-md {
        padding: 3rem 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .pad-md {
        padding: 3rem
    }
}

.pad-lg {
    padding: 2rem 1.25rem
}

@media screen and (min-width:36rem) {
    .pad-lg {
        padding: 4rem 2.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .pad-lg {
        padding: 4rem
    }
}

.pad-xl {
    padding: 2.5rem 1.25rem
}

@media screen and (min-width:36rem) {
    .pad-xl {
        padding: 4rem 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .pad-xl {
        padding: 5rem 3.5rem
    }
}

@media screen and (min-width:90rem) {
    .pad-xl {
        padding: 5rem 4rem
    }
}

.container-x-pad {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

@media screen and (min-width:36rem) {
    .container-x-pad {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .container-x-pad {
        padding-left: 3rem;
        padding-right: 3rem
    }
}

.container-y-pad {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

@media screen and (min-width:36rem) {
    .container-y-pad {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .container-y-pad {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}

@media screen and (min-width:90rem) {
    .container-y-pad {
        padding-top: 5rem;
        padding-bottom: 5rem
    }
}

@media screen and (min-width:1921px) {
    .container-y-pad {
        padding-top: 6rem;
        padding-bottom: 6rem
    }
}

.container-y-pad-xs {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
}

@media screen and (min-width:36rem) {
    .container-y-pad-xs {
        padding-top: 2rem;
        padding-bottom: 2rem
    }
}

.container-y-pad-sm {
    padding-top: 2rem;
    padding-bottom: 2rem
}

@media screen and (min-width:36rem) {
    .container-y-pad-sm {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .container-y-pad-sm {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}

.container-y-pad-lg {
    padding-top: 3rem;
    padding-bottom: 3rem
}

@media screen and (min-width:36rem) {
    .container-y-pad-lg {
        padding-top: 5rem;
        padding-bottom: 5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .container-y-pad-lg {
        padding-top: 6rem;
        padding-bottom: 6rem
    }
}

@media screen and (min-width:90rem) {
    .container-y-pad-lg {
        padding-top: 7.5rem;
        padding-bottom: 7.5rem
    }
}

@media screen and (min-width:1921px) {
    .container-y-pad-lg {
        padding-top: 8rem;
        padding-bottom: 8rem
    }
}

.container-y-pad-xl {
    padding-top: 5rem;
    padding-bottom: 5rem
}

@media screen and (min-width:36rem) {
    .container-y-pad-xl {
        padding-top: 7rem;
        padding-bottom: 7rem
    }
}

@media screen and (min-width:64.0625rem) {
    .container-y-pad-xl {
        padding-top: 10rem;
        padding-bottom: 10rem
    }
}

@media screen and (min-width:90rem) {
    .container-y-pad-xl {
        padding-top: 14rem;
        padding-bottom: 14rem
    }
}

@media screen and (min-width:1921px) {
    .container-y-pad-xl {
        padding-top: 16rem;
        padding-bottom: 16rem
    }
}

.no-x-pad {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.no-y-pad {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.theme-button {
    border-radius: 0;
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 300;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    line-height: normal;
    transition: color .3s, background .3s, border .3s, padding .4s;
    cursor: pointer;
    line-height: 1;
    padding: 1rem 1.25rem;
    font-size: .9rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
   background: #8bd14d;
    border: 1px solid #8bd14d;
}

@media screen and (min-width:48rem) {
    .theme-button {
        letter-spacing: 2px;
        padding: 1.25rem 1.75rem;
        font-size: 1rem
    }
}

@media screen and (min-width:64.0625rem) {
    .theme-button {
        letter-spacing: 2px;
        padding: 1.375rem 2rem
    }
}

.theme-button:hover {
    color: #fff;
    background: #4c722b;
    border: 1px solid #4c722b
}

.theme-button:hover {
    padding-left: 2.813rem;
    padding-right: 2.813rem;
    transition: padding .4s
}

@media screen and (max-width:47.98rem) {
    .theme-button:hover {
        padding: 1.425rem 1.425rem
    }
}

.theme-button i {
    pointer-events: none;
    font-size: 1.25rem;
    line-height: .25
}

@media screen and (min-width:48rem) {
    .theme-button i {
        font-size: 1.375rem
    }
}

.theme-button.secondary {
    color: #fff;
    background: #181a0c;
    border: 1px solid #181a0c
}

.theme-button.secondary:hover {
    color: #fff;
    background: #21123b;
    border: 1px solid #21123b
}

.theme-button.tertiary {
    color: #fff;
    background: #8d6f29;
    border: 1px solid #8d6f29
}

.theme-button.tertiary:hover {
    color: #fff;
    background: #21123b;
    border: 1px solid #21123b
}

@media screen and (min-width:48rem) {
    .theme-button.size-lg {
        max-width: 20rem;
        width: 100%
    }
}

.theme-button.size-sm {
    font-size: 1rem;
    padding: .625rem 1.563rem
}

@media screen and (min-width:48rem) {
    .theme-button.size-sm {
        font-size: .9rem;
        padding: .875rem 1.5rem
    }
}

.theme-button.size-sm i {
    font-size: 1rem
}

@media screen and (min-width:48rem) {
    .theme-button.size-sm i {
        font-size: 1.25rem
    }
}

.theme-button.size-sm:hover {
    padding-left: 1.875rem;
    padding-right: 1.875rem
}

.theme-button.fw-button {
    width: 100%
}

.theme-button.text-cta {
    background: 0 0;
    padding: 0 !important;
    border: none;
    letter-spacing: 0
}

.theme-button.text-cta:hover {
    color: #b0a8ba
}

.spearhead-pill {
    font-size: 1rem;
    color: #fff;
    padding: .25rem .75rem;
    border-radius: 5rem;
    line-height: 1;
    background: #8d6f29
}

.spearhead-pill.active {
    background-color: #502db2
}

.spearhead-pill:hover {
    color: #fff;
    background: #502db2
}

.theme-form-wrap:not(:first-child) {
    margin-top: 1rem
}

@media screen and (min-width:48rem) {
    .theme-form-wrap:not(:first-child) {
        margin-top: 1.25rem
    }
}

.theme-form-wrap .gform_confirmation_message {
    font-size: 1.125rem;
    color: #502db2;
    line-height: 1.25;
    font-weight: 600
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_required_legend {
    display: none
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_fields .gfield {
    position: relative
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_fields .gfield.gfield_visibility_hidden {
    position: absolute
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_fields .gfield .gfield_description {
    padding: 5px 0 0;
    margin: 0
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_fields .gfield .validation_message {
    padding-top: 5px;
    font-size: .75rem;
    border: none;
    background: 0 0;
    padding: .375rem 0 0;
    margin: 0;
    color: #bb1c1c;
    font-weight: 700
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_fields .gfield .gfield_label {
    font-weight: 600;
    margin: 0 0 .25rem;
    font-size: 1rem;
    color: #353434
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_fields .gfield .gfield_label+.gfield_description {
    padding-top: 0;
    font-size: .8rem;
    font-weight: 300
}

.theme-form-wrap .gform_wrapper.gravity-theme .gfield_html h2:last-child,
.theme-form-wrap .gform_wrapper.gravity-theme .gfield_html h3:last-child,
.theme-form-wrap .gform_wrapper.gravity-theme .gfield_html h4:last-child,
.theme-form-wrap .gform_wrapper.gravity-theme .gfield_html h5:last-child,
.theme-form-wrap .gform_wrapper.gravity-theme .gfield_html h6:last-child,
.theme-form-wrap .gform_wrapper.gravity-theme .gfield_html p:last-child {
    margin: 0
}

.theme-form-wrap .gform_wrapper.gravity-theme input[type=email],
.theme-form-wrap .gform_wrapper.gravity-theme input[type=num],
.theme-form-wrap .gform_wrapper.gravity-theme input[type=password],
.theme-form-wrap .gform_wrapper.gravity-theme input[type=tel],
.theme-form-wrap .gform_wrapper.gravity-theme input[type=text],
.theme-form-wrap .gform_wrapper.gravity-theme input[type=url],
.theme-form-wrap .gform_wrapper.gravity-theme textarea {
    border-width: 1px;
    border-color: #e2e2e2;
    border-style: solid;
    background: #f5f5f5;
    padding: .75rem;
    border-radius: 0;
    font-size: 1rem;
    margin: 0;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #000;
    min-height: initial !important;
    line-height: 1.2 !important
}

@media screen and (min-width:48rem) {

    .theme-form-wrap .gform_wrapper.gravity-theme input[type=email],
    .theme-form-wrap .gform_wrapper.gravity-theme input[type=num],
    .theme-form-wrap .gform_wrapper.gravity-theme input[type=password],
    .theme-form-wrap .gform_wrapper.gravity-theme input[type=tel],
    .theme-form-wrap .gform_wrapper.gravity-theme input[type=text],
    .theme-form-wrap .gform_wrapper.gravity-theme input[type=url],
    .theme-form-wrap .gform_wrapper.gravity-theme textarea {
        font-size: 1.125rem
    }
}

.theme-form-wrap .gform_wrapper.gravity-theme input[type=email]:active,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=email]:focus,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=num]:active,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=num]:focus,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=password]:active,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=password]:focus,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=tel]:active,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=tel]:focus,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=text]:active,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=text]:focus,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=url]:active,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=url]:focus,
.theme-form-wrap .gform_wrapper.gravity-theme textarea:active,
.theme-form-wrap .gform_wrapper.gravity-theme textarea:focus {
    border-color: #8d6f29;
    outline: 0
}

.theme-form-wrap .gform_wrapper.gravity-theme input[type=email]::-moz-placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=num]::-moz-placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=password]::-moz-placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=tel]::-moz-placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=text]::-moz-placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=url]::-moz-placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme textarea::-moz-placeholder {
    color: #999
}

.theme-form-wrap .gform_wrapper.gravity-theme input[type=email]::placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=num]::placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=password]::placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=tel]::placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=text]::placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme input[type=url]::placeholder,
.theme-form-wrap .gform_wrapper.gravity-theme textarea::placeholder {
    color: #999
}

.theme-form-wrap .gform_wrapper.gravity-theme .textarea.small {
    height: 5rem
}

.theme-form-wrap .gform_wrapper.gravity-theme select {
    border-width: 1px;
    border-color: #e2e2e2;
    border-style: solid;
    background: #f5f5f5;
    padding: .75rem;
    border-radius: 0;
    font-size: 1rem
}

@media screen and (min-width:48rem) {
    .theme-form-wrap .gform_wrapper.gravity-theme select {
        font-size: 1.125rem
    }
}

.theme-form-wrap .gform_wrapper.gravity-theme select:active,
.theme-form-wrap .gform_wrapper.gravity-theme select:focus {
    border-color: #8d6f29;
    outline: 0
}

.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs input[type=email],
.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs input[type=num],
.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs input[type=password],
.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs input[type=tel],
.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs input[type=text],
.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs input[type=url],
.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs select,
.theme-form-wrap .gform_wrapper.gravity-theme .white-inputs textarea {
    background: #fff !important
}

.theme-form-wrap .gform_wrapper.gravity-theme .white-labels .gfield .gfield_label {
    color: #fff
}

.theme-form-wrap .gform_wrapper.gravity-theme .gfield_checkbox,
.theme-form-wrap .gform_wrapper.gravity-theme .gfield_radio {
    margin: .5rem 0
}

.theme-form-wrap .gform_wrapper.gravity-theme .gfield_checkbox label,
.theme-form-wrap .gform_wrapper.gravity-theme .gfield_radio label {
    font-weight: 400;
    padding-left: .25rem
}

.theme-form-wrap .gform_wrapper.gravity-theme .gf_list_2col .gfield_checkbox,
.theme-form-wrap .gform_wrapper.gravity-theme .gf_list_2col .gfield_radio {
    grid-row-gap: .75rem
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_validation_errors {
    text-align: left;
    border: none;
    padding: 0;
    margin-bottom: .625rem;
    box-shadow: none;
    background: 0 0;
    font-size: .9rem;
    font-weight: 700
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_validation_errors ol,
.theme-form-wrap .gform_wrapper.gravity-theme .gform_validation_errors ul {
    margin: 1rem 0
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_validation_errors h2 {
    font-size: .9rem;
    font-weight: 700;
    color: #bb1c1c
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_validation_errors .gform-icon {
    display: none
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_button[type=submit] {
    margin-bottom: 0;
    cursor: pointer
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_footer {
    display: inline-block;
    padding: 0;
    position: relative;
    margin-top: 1.5rem
}

.theme-form-wrap .gform_wrapper.gravity-theme .gform_footer .gform_ajax_spinner {
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translate(.5rem, -50%)
}

.captcha-disclaimer {
    flex: 0 0 100%;
    font-size: .7rem;
    color: #888;
    margin-top: .625rem;
    letter-spacing: 0
}

.captcha-disclaimer a {
    color: #888;
    text-decoration: underline
}

@media screen and (min-width:64.0625rem) {
    .single-row-form_wrapper {
        padding: 1.25rem;
        background: #eeecf5;
        box-shadow: 0 3px 8px rgba(0, 0, 0, .15);
        border-radius: .25rem
    }
}

.single-row-form_wrapper .gform_validation_errors {
    display: none
}

.single-row-form_wrapper .gfield .validation_message {
    color: #edc565 !important
}

@media screen and (min-width:64.0625rem) {
    .single-row-form_wrapper .gfield .validation_message {
        position: absolute;
        top: calc(100% + 1.25rem);
        left: 0;
        color: #edc565 !important
    }
}

.single-row-form_wrapper .single-row-form .gfield input[type=email],
.single-row-form_wrapper .single-row-form .gfield input[type=num],
.single-row-form_wrapper .single-row-form .gfield input[type=password],
.single-row-form_wrapper .single-row-form .gfield input[type=tel],
.single-row-form_wrapper .single-row-form .gfield input[type=text],
.single-row-form_wrapper .single-row-form .gfield input[type=url],
.single-row-form_wrapper .single-row-form .gfield textarea {
    border: 1px solid #ccc
}

.single-row-form_wrapper .gform_ajax_spinner {
    position: absolute;
    top: 50%;
    right: .5rem;
    transform: translateY(-50%)
}

.single-row-form_wrapper .captcha-disclaimer {
    color: #bbb;
    line-height: 1.2;
    font-size: .675rem
}

@media screen and (min-width:64.0625rem) {
    .single-row-form_wrapper .captcha-disclaimer {
        position: absolute;
        top: calc(100% + 1.25rem);
        left: 0
    }
}

.single-row-form_wrapper .gform_footer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important
}

.single-row-form_wrapper .gfield_label {
    position: absolute;
    bottom: 100%;
    left: 0
}

.single-row-form_wrapper .theme-button {
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 1rem
}

@media screen and (max-width:89.98rem) {
    .single-row-form_wrapper .theme-button {
        font-size: .85rem;
        letter-spacing: 1px
    }
}

@media screen and (max-width:64.0425rem) {
    .single-row-form_wrapper .gfield.gfield--width-third {
        grid-column: 1/-1 !important
    }

    .single-row-form_wrapper #field_submit {
        display: block !important
    }
}

.single-row-form .gform_confirmation_message {
    color: #fff !important
}

@media screen and (min-width:64.0625rem) {
    .single-row-form .gform_confirmation_message {
        font-size: 1.25rem !important;
        text-align: center !important
    }
}

.spearhead-interactive-map {
    position: relative
}

.spearhead-interactive-map-photo {
    position: relative
}

.spearhead-interactive-map-photo img {
    width: 100%;
    display: block;
    height: auto
}

.spearhead-interactive-map-locations-mobile {
    display: block
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-map-locations-mobile {
        display: none
    }
}

.spearhead-interactive-map-pin {
    position: absolute;
    top: 0;
    left: 0;
    width: 4.75%
}

.spearhead-interactive-map-pin[data-location=usa] {
    top: 10.4%;
    left: 19.6%
}

.spearhead-interactive-map-pin[data-location=mexico] {
    top: 23.25%;
    left: 4.9%
}

.spearhead-interactive-map-pin[data-location=italy] {
    top: 9.3%;
    left: 49.75%
}

.spearhead-interactive-map-pin[data-location=india] {
    top: 13.5%;
    left: 76.2%
}

.spearhead-interactive-map-pin .pin-icon {
    width: 100%;
    height: auto
}

.spearhead-interactive-map-pin .pin-icon:hover+.tooltip {
    transform: none;
    opacity: 1;
    visibility: visible;
    z-index: 999
}

.spearhead-interactive-map-pin .tooltip {
    position: absolute;
    left: 50%;
    bottom: 80%
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-map-pin .tooltip {
        display: block;
        min-width: 225px;
        max-width: 400px;
        padding: 1rem;
        z-index: -1;
        visibility: hidden;
        opacity: 0;
        transform: translateY(.5rem);
        transition: opacity .25s, transform .25s;
        background: #502db2;
        box-shadow: 0 .75rem 1rem rgba(0, 0, 0, .2)
    }

    .spearhead-interactive-map-pin .tooltip:hover {
        transform: none;
        opacity: 1;
        visibility: visible;
        z-index: 999
    }
}

@media screen and (min-width:90rem) {
    .spearhead-interactive-map-pin .tooltip {
        min-width: 250px
    }
}

.spearhead-interactive-map-pin .tooltip h4,
.spearhead-interactive-map-pin .tooltip p {
    color: #fff;
    display: none
}

@media screen and (min-width:64.0625rem) {

    .spearhead-interactive-map-pin .tooltip h4,
    .spearhead-interactive-map-pin .tooltip p {
        display: block
    }
}

.spearhead-interactive-map-pin .tooltip h4 {
    font-size: 1.375rem;
    margin: 0 0 .5rem
}

.spearhead-interactive-map-pin .tooltip p {
    font-size: .8rem;
    line-height: 1.5
}

@media screen and (min-width:90rem) {
    .spearhead-interactive-map-pin .tooltip p {
        font-size: .85rem
    }
}

.spearhead-interactive-map-pin .tooltip a {
    display: block;
    margin-top: 0;
    color: #fff;
    text-decoration: underline
}

.spearhead-interactive-map-pin .tooltip a:hover {
    color: #b0a8ba
}

.custom-modal {
    display: grid;
    justify-content: center;
    align-items: center;
    transition: opacity .5s;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    grid-template-columns: 1fr;
    overflow: auto;
    z-index: 9999;
    background: rgba(33, 18, 59, .85);
    position: fixed;
    transform: translateX(-100vw);
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

@media screen and (min-width:36rem) {
    .custom-modal {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .custom-modal {
        padding-left: 3rem;
        padding-right: 3rem
    }
}

@media screen and (min-width:36rem) {
    .custom-modal {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .custom-modal {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}

@media screen and (min-width:90rem) {
    .custom-modal {
        padding-top: 5rem;
        padding-bottom: 5rem
    }
}

@media screen and (min-width:1921px) {
    .custom-modal {
        padding-top: 6rem;
        padding-bottom: 6rem
    }
}

.custom-modal .custom-modal-inner {
    background: #fafafa;
    box-shadow: 0 .625rem 1.5rem rgba(0, 0, 0, .375);
    max-width: 45rem;
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2rem;
    padding-bottom: 2rem
}

@media screen and (min-width:36rem) {
    .custom-modal .custom-modal-inner {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .custom-modal .custom-modal-inner {
        padding-left: 3rem;
        padding-right: 3rem
    }
}

@media screen and (min-width:36rem) {
    .custom-modal .custom-modal-inner {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .custom-modal .custom-modal-inner {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}

.custom-modal .custom-modal-close {
    background: 0 0;
    border: none;
    border-radius: 0;
    line-height: normal;
    position: absolute;
    top: 0rem;
    right: 0rem;
    transform: translate(25%, -50%);
    cursor: pointer;
    background: #8d6f29;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .5rem;
    border-radius: 50%;
    color: #fff;
    height: 2rem;
    width: 2rem
}

.custom-modal .custom-modal-close i {
    font-size: 1.25rem;
    pointer-events: none
}

.custom-modal.show {
    z-index: 9999;
    visibility: visible;
    opacity: 1;
    transform: none
}

.custom-modal.form-modal .custom-modal-inner {
    background: #eeecf5
}

@media screen and (min-width:64.0625rem) {
    .custom-modal.form-modal .custom-modal-inner {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important
    }
}

.custom-modal.form-modal .custom-modal-inner h3 {
    margin: 0 0 1rem
}

@media screen and (min-width:64.0625rem) {
    .custom-modal.home-modal .custom-modal-inner {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important
    }
}

.custom-modal.lightbox-modal .custom-modal-inner {
    background: 0 0;
    max-width: 60rem;
    position: relative;
    padding: 0
}

.custom-modal.lightbox-modal .custom-modal-close {
    color: #fff;
    top: 1.5rem;
    right: 1.5rem;
    padding: 0;
    background: 0 0
}

@media screen and (min-width:64.0625rem) {
    .custom-modal.lightbox-modal .custom-modal-close {
        top: 2rem;
        right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .custom-modal.lightbox-modal .custom-modal-close {
        top: 3rem;
        right: 3rem
    }
}

.custom-modal.lightbox-modal .custom-modal-close img {
    width: 1.125rem;
    opacity: .75;
    pointer-events: none;
    transition: opacity .2s
}

.custom-modal.lightbox-modal .custom-modal-close:hover img {
    opacity: 1
}

.spearhead-post-pagination {
    width: 100%;
    margin-top: 1.5rem;
    grid-template-columns: 1fr
}

@media screen and (min-width:36rem) {
    .spearhead-post-pagination {
        margin-top: 2rem
    }
}

@media screen and (min-width:48rem) {
    .spearhead-post-pagination {
        margin-top: 2.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .spearhead-post-pagination {
        margin-top: 3rem
    }
}

@media screen and (min-width:48rem) {
    .spearhead-post-pagination {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

.spearhead-post-pagination.blog-pagination .pagination-icon {
    margin-top: 0 !important
}

.spearhead-post-pagination-next,
.spearhead-post-pagination-prev {
    display: grid;
    align-items: center;
    grid-gap: .75rem;
    position: relative
}

@media screen and (min-width:48rem) {

    .spearhead-post-pagination-next,
    .spearhead-post-pagination-prev {
        grid-gap: 1.25rem
    }
}

.spearhead-post-pagination-next a,
.spearhead-post-pagination-prev a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.spearhead-post-pagination-next .pagination-icon,
.spearhead-post-pagination-prev .pagination-icon {
    font-size: .9rem;
    line-height: 1;
    display: none
}

@media screen and (min-width:48rem) {

    .spearhead-post-pagination-next .pagination-icon,
    .spearhead-post-pagination-prev .pagination-icon {
        font-size: 1.125rem;
        margin-top: 2rem;
        display: block
    }
}

.spearhead-post-pagination-next .post-details,
.spearhead-post-pagination-prev .post-details {
    color: #8d6f29
}

.spearhead-post-pagination-next .post-details .subhead,
.spearhead-post-pagination-prev .post-details .subhead {
    font-size: .8rem;
    letter-spacing: 1.5px;
    font-weight: 700;
    color: #502db2
}

.spearhead-post-pagination-next .post-details .title,
.spearhead-post-pagination-prev .post-details .title {
    display: block;
    font-size: 1rem;
    font-weight: 500;
    transition: all .2s;
    line-height: 1.2;
    text-decoration: underline;
    color: #070504;
    font-weight: 500
}

.spearhead-post-pagination-next:hover .post-details span:last-child,
.spearhead-post-pagination-prev:hover .post-details span:last-child {
    color: #502db2
}

.spearhead-post-pagination-next:hover .pagination-icon,
.spearhead-post-pagination-prev:hover .pagination-icon {
    color: #502db2
}

@media screen and (min-width:48rem) {
    .spearhead-post-pagination-prev {
        grid-column: 1;
        grid-template-columns: auto 1fr
    }
}

@media screen and (min-width:48rem) {
    .spearhead-post-pagination-next {
        grid-column: 2;
        text-align: right;
        grid-template-columns: 1fr auto
    }
}

.spearhead-post-tease {
    position: relative;
    overflow: hidden
}

.spearhead-post-tease .full-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3
}

.spearhead-post-tease-content {
    height: 100%;
    padding: 1.25rem 0 0
}

@media screen and (min-width:48rem) {
    .spearhead-post-tease-content {
        padding: 2rem 1rem
    }
}

.spearhead-post-tease-content.block-wrapper {
    padding: 1.25rem 0 0 !important
}

@media screen and (min-width:48rem) {
    .spearhead-post-tease-content.block-wrapper {
        padding: 2rem 1rem 0 !important
    }
}

@media screen and (min-width:64.0625rem) {
    .spearhead-post-tease-content.block-wrapper {
        padding: 2rem 1rem 0 !important
    }
}

.spearhead-post-tease-content h4 {
    line-height: 1.25;
    text-transform: initial;
    font-size: 1.5rem
}

@media screen and (min-width:48rem) {
    .spearhead-post-tease-content h4 {
        fonts-size: 1.75rem
    }
}

.spearhead-post-tease-excerpt {
    margin-top: .75rem
}

.spearhead-post-tease-meta {
    margin-top: .5rem;
    font-size: .9rem;
    font-style: italic
}

.spearhead-post-tease .theme-button {
    padding: .75rem;
    font-size: .9rem
}

.spearhead-post-tease img {
    transition: transform .3s ease-out
}

@media screen and (min-width:64.0625rem) {
    .spearhead-post-tease:hover img {
        transform: scale(1.08)
    }
}

.spearhead-post-tease:hover .theme-button {
    background: #502db2;
    border-color: #502db2;
    color: #fff
}

.search-form .search-form-flex {
    display: grid;
    grid-gap: .25rem;
    align-items: stretch;
    grid-template-columns: 1fr auto
}

.search-form .search-form-flex input {
    height: 3rem;
    width: 100%;
    font-size: 1rem;
    padding: .75rem;
    border-style: solid;
    border-width: 1px;
    border-color: #e2e2e2;
    transition: .3s;
    border-radius: 0 !important;
    background: #f5f5f5
}

.search-form .search-form-flex input:active,
.search-form .search-form-flex input:focus {
    border-color: #8d6f29;
    outline: 0
}

.search-form .search-form-flex input::-ms-clear {
    display: none;
    width: 0;
    height: 0
}

.search-form .search-form-flex input::-ms-reveal {
    display: none;
    width: 0;
    height: 0
}

.search-form .search-form-flex input::-webkit-search-cancel-button,
.search-form .search-form-flex input::-webkit-search-decoration,
.search-form .search-form-flex input::-webkit-search-results-button,
.search-form .search-form-flex input::-webkit-search-results-decoration {
    display: none
}

.search-form .search-form-flex button {
    font-size: .9rem;
    height: 3rem;
    padding: .75rem
}

#page-not-found .search-form {
    margin-top: 1.5rem;
    max-width: 40rem
}

@media screen and (min-width:48rem) {
    #page-not-found .search-form {
        margin-top: 2rem
    }
}

.spearhead-interactive-components {
    position: relative
}

.spearhead-interactive-components-photo {
    position: relative
}

.spearhead-interactive-components-photo img {
    width: 100%;
    display: block;
    height: auto
}

.spearhead-interactive-components .rollovers .spearhead-component {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip-icon {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 1rem;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: none;
    justify-content: center;
    align-items: center;
    background: #502db2;
    box-shadow: 0 0 1rem rgba(0, 0, 0, .5)
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip-icon i {
    pointer-events: none
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip-icon:hover+.tooltip {
    transform: none;
    opacity: 1;
    visibility: visible;
    z-index: 999
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-components .rollovers .spearhead-component {
        display: block
    }

    .spearhead-interactive-components .rollovers .spearhead-component .tooltip-icon {
        display: flex
    }
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip {
    position: absolute;
    pointer-events: none;
    left: 50%;
    bottom: 80%
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-components .rollovers .spearhead-component .tooltip {
        display: block;
        min-width: 300px;
        max-width: 400px;
        padding: 1rem;
        z-index: -1;
        visibility: hidden;
        opacity: 0;
        transform: translateY(.5rem);
        transition: opacity .25s, transform .25s;
        background: #502db2;
        box-shadow: 0 .75rem 1rem rgba(0, 0, 0, .2)
    }
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip h4,
.spearhead-interactive-components .rollovers .spearhead-component .tooltip p {
    color: #fff;
    display: none
}

@media screen and (min-width:64.0625rem) {

    .spearhead-interactive-components .rollovers .spearhead-component .tooltip h4,
    .spearhead-interactive-components .rollovers .spearhead-component .tooltip p {
        display: block
    }
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip h4 {
    font-size: 1.375rem;
    margin: 0 0 .5rem
}

@media screen and (min-width:90rem) {
    .spearhead-interactive-components .rollovers .spearhead-component .tooltip h4 {
        font-size: 1.5rem
    }
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip p {
    font-size: .9rem;
    line-height: 1.5
}

@media screen and (min-width:90rem) {
    .spearhead-interactive-components .rollovers .spearhead-component .tooltip p {
        font-size: 1rem
    }
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip .reference-number {
    color: #fff;
    height: 1.125rem;
    width: 1.125rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-size: .6rem;
    font-weight: 700;
    background: rgba(80, 45, 178, .9)
}

@media screen and (min-width:48rem) {
    .spearhead-interactive-components .rollovers .spearhead-component .tooltip .reference-number {
        font-size: .85rem;
        height: 1.75rem;
        width: 1.75rem
    }
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-components .rollovers .spearhead-component .tooltip .reference-number {
        display: none
    }
}

.spearhead-interactive-components .rollovers .spearhead-component .tooltip .reference-number span {
    display: block;
    text-align: center
}

.spearhead-interactive-components .rollovers .spearhead-component.research-and-development {
    top: 25%;
    width: 17%;
    height: 65%
}

.spearhead-interactive-components .rollovers .spearhead-component.research-and-development .tooltip {
    width: 400px
}

.spearhead-interactive-components .rollovers .spearhead-component.folding-cartons {
    top: 18%;
    left: 19%;
    width: 23%;
    height: 44%
}

.spearhead-interactive-components .rollovers .spearhead-component.enhancements {
    top: 73%;
    left: 23.5%;
    height: 17.5%;
    width: 7.5%
}

.spearhead-interactive-components .rollovers .spearhead-component.labels {
    top: 63%;
    left: 31.5%;
    height: 26%;
    width: 10.5%
}

.spearhead-interactive-components .rollovers .spearhead-component.bottles {
    top: 35%;
    left: 42.25%;
    width: 22.5%;
    height: 55%
}

.spearhead-interactive-components .rollovers .spearhead-component.luxury-boxes {
    top: 13%;
    left: 65%;
    width: 15.5%;
    height: 39%
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-components .rollovers .spearhead-component.luxury-boxes .tooltip {
        right: 50%;
        left: initial
    }
}

@media screen and (min-width:90rem) {
    .spearhead-interactive-components .rollovers .spearhead-component.luxury-boxes .tooltip {
        left: 50%;
        right: initial
    }
}

.spearhead-interactive-components .rollovers .spearhead-component.textiles {
    top: 54%;
    left: 66.5%;
    height: 35%;
    width: 12.5%
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-components .rollovers .spearhead-component.textiles .tooltip {
        right: 50%;
        left: initial
    }
}

@media screen and (min-width:90rem) {
    .spearhead-interactive-components .rollovers .spearhead-component.textiles .tooltip {
        left: 50%;
        right: initial
    }
}

.spearhead-interactive-components .rollovers .spearhead-component.sustainability {
    top: 33%;
    left: 81%;
    width: 19%;
    height: 55%
}

@media screen and (max-width:89.98rem) {
    .spearhead-interactive-components .rollovers .spearhead-component.sustainability {
        display: flex;
        justify-content: flex-end
    }
}

.spearhead-interactive-components .rollovers .spearhead-component.sustainability .tooltip {
    left: initial;
    right: 50%
}

.spearhead-interactive-components .mobile-tooltips {
    display: block;
    padding-top: 2rem;
    padding-bottom: 2rem
}

@media screen and (min-width:48rem) {
    .spearhead-interactive-components .mobile-tooltips {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .spearhead-interactive-components .mobile-tooltips {
        display: none
    }
}

.spearhead-interactive-components .mobile-tooltips .spearhead-component-mobile {
    display: grid;
    grid-template-columns: 1rem 1fr;
    grid-gap: 1.5rem
}

.spearhead-interactive-components .mobile-tooltips .spearhead-component-mobile .reference-number {
    color: #fff;
    font-size: .8rem;
    line-height: 1;
    border-radius: 50%;
    height: 1.5rem;
    width: 1.5rem;
    background-color: #8d6f29;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: .25rem
}

.spearhead-interactive-components .mobile-tooltips .spearhead-component-mobile h4 {
    font-size: 1.25rem
}

@media screen and (min-width:48rem) {
    .spearhead-interactive-components .mobile-tooltips .spearhead-component-mobile h4 {
        font-size: 1.5rem
    }
}

.block-accordions {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1rem
}

.block-accordion {
    width: 100%;
    display: block
}

.block-accordion-toggle {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: center;
    cursor: pointer;
    padding: 1rem;
    border: none !important;
    background: #502db2
}

@media screen and (min-width:48rem) {
    .block-accordion-toggle {
        padding: 1.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-accordion-toggle {
        padding: 2rem
    }
}

.block-accordion-toggle h3.accordion-title {
    text-align: left;
    line-height: 1.05;
    font-weight: 300;
    text-transform: initial;
    color: #fff;
    margin: 0;
    font-size: 1.25rem
}

@media screen and (min-width:48rem) {
    .block-accordion-toggle h3.accordion-title {
        font-size: 1.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-accordion-toggle h3.accordion-title {
        font-size: 1.75rem
    }
}

.block-accordion-toggle .icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    padding: .5rem;
    transition: all .2s;
    background: #fff
}

@media screen and (max-width:47.98rem) {
    .block-accordion-toggle .icon-container {
        height: 1.75rem;
        width: 1.75rem
    }
}

.block-accordion-toggle i {
    font-size: 1.25rem;
    color: #502db2;
    transition: transform .1s
}

@media screen and (min-width:48rem) {
    .block-accordion-toggle i {
        font-size: 1.375rem
    }
}

.block-accordion-toggle.active i {
    transform: rotate(180deg)
}

.block-accordion-content {
    display: none;
    padding: 1.5rem 1rem;
    background: rgba(247, 228, 214, .37)
}

@media screen and (min-width:48rem) {
    .block-accordion-content {
        padding: 1.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-accordion-content {
        padding: 2rem
    }
}

.block-accordion-content p:empty {
    display: none
}

.block-button-group {
    display: flex;
    flex-flow: row wrap;
    align-items: center
}

.block-button-group.align-center {
    align-items: center;
    flex-direction: column
}

@media screen and (min-width:48rem) {
    .block-button-group.align-center {
        justify-content: center;
        flex-direction: unset
    }
}

.block-button-group.align-right {
    align-items: end
}

@media screen and (min-width:48rem) {
    .block-button-group.align-right {
        justify-content: flex-end
    }
}

.block-button-group.button-gap-xs {
    gap: 1rem .25rem
}

@media screen and (min-width:64.0625rem) {
    .block-button-group.button-gap-xs {
        gap: 1.25rem .25rem
    }
}

.block-button-group.button-gap-sm {
    gap: 1rem .5rem
}

@media screen and (min-width:64.0625rem) {
    .block-button-group.button-gap-sm {
        gap: 1.25rem .75rem
    }
}

.block-button-group.button-gap-md {
    gap: 1rem .75rem
}

@media screen and (min-width:64.0625rem) {
    .block-button-group.button-gap-md {
        gap: 1.25rem 1rem
    }
}

.block-button-group.button-gap-lg {
    gap: 1rem
}

@media screen and (min-width:64.0625rem) {
    .block-button-group.button-gap-lg {
        gap: 1.25rem 1.5rem
    }
}

.block-button-group.button-gap-xl {
    gap: 1rem 1.5rem
}

@media screen and (min-width:64.0625rem) {
    .block-button-group.button-gap-xl {
        gap: 1.25rem 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .sticky-column {
        position: sticky !important;
        position: -webkit-sticky !important;
        z-index: 999;
        top: 80px
    }
}

@media screen and (max-width:64.0425rem) {
    .sticky-column {
        top: initial !important
    }
}

.has-media-bg {
    min-height: 15rem
}

@media screen and (min-width:48rem) {
    .has-media-bg {
        min-height: initial
    }
}

.has-media-bg.collapse-tablet {
    min-height: 15rem
}

@media screen and (min-width:48rem) {
    .has-media-bg.collapse-tablet {
        min-height: 20rem
    }
}

@media screen and (min-width:64.0625rem) {
    .has-media-bg.collapse-tablet {
        min-height: initial
    }
}

@media screen and (min-width:48rem) {
    .block-column.collapse-tablet {
        margin-top: 0
    }
}

.block-column>.full-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 4
}

.block-column.slight-overlap {
    min-height: 80%;
    display: flex;
    justify-content: center;
    align-items: center
}

.block-column.slight-overlap:first-child {
    z-index: 3
}

@media screen and (min-width:48rem) {
    .block-column.slight-overlap:first-child {
        transform: translateX(2rem)
    }
}

.block-column.slight-overlap:last-child {
    z-index: 3
}

@media screen and (min-width:48rem) {
    .block-column.slight-overlap:last-child {
        transform: translateX(-2rem)
    }
}

.block-column.parallax .parallax-block {
    display: flex
}

@media screen and (min-width:64.0625rem) {
    .block-column.parallax .parallax-block {
        display: block
    }
}

.block-column.parallax .parallax-block .parallax-block-image {
    background-size: cover;
    width: 100%;
    background-repeat: no-repeat
}

@media screen and (min-width:64.0625rem) {
    .block-column.parallax .parallax-block .parallax-block-image {
        background-attachment: fixed
    }
}

.block-column.parallax .parallax-block .parallax-block-image.aspect-default {
    padding-top: 50%
}

@media screen and (min-width:64.0625rem) {
    .block-column.parallax .parallax-block .parallax-block-image.aspect-default {
        padding-top: 110%
    }
}

.block-columns-row.d-flex {
    flex-flow: row wrap
}

.block-columns-row.ai-stretch .block-column,
.block-columns-row.ai-stretch .block-column-content {
    height: 100%
}

.block-columns-row .block-column-content {
    position: relative;
    z-index: 3
}

.block-count-up {
    font-size: 3.5rem;
    line-height: 1;
    text-align: center;
    font-family: "Bodoni Moda", serif
}

@media screen and (min-width:48rem) {
    .block-count-up {
        font-size: 4rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-count-up {
        font-size: 4.5rem
    }
}

.block-count-up span {
    display: block
}

.block-count-up .num-text {
    margin-top: .5rem;
    font-family: "IBM Plex Sans", sans-serif;
    font-size: 1rem
}

@media screen and (min-width:48rem) {
    .block-count-up .num-text {
        font-size: 1.125rem;
        margin-top: .75rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-count-up .num-text {
        font-size: 1.25rem;
        margin-top: 1rem
    }
}

hr.block-divider {
    border: none
}

hr.block-divider.space-none {
    margin: 0 !important
}

hr.block-divider.space-xs {
    margin-top: .5rem;
    margin-bottom: .5rem
}

hr.block-divider.space-sm {
    margin-top: 1rem;
    margin-bottom: 1rem
}

@media screen and (min-width:48rem) {
    hr.block-divider.space-sm {
        margin-top: 1.25rem;
        margin-bottom: 1.25rem
    }
}

hr.block-divider.space-md {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

@media screen and (min-width:48rem) {
    hr.block-divider.space-md {
        margin-top: 2rem;
        margin-bottom: 2rem
    }
}

hr.block-divider.space-lg {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

@media screen and (min-width:36rem) {
    hr.block-divider.space-lg {
        margin-top: 2rem;
        margin-bottom: 2rem
    }
}

@media screen and (min-width:48rem) {
    hr.block-divider.space-lg {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    hr.block-divider.space-lg {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

hr.block-divider.space-xl {
    margin-top: 2rem;
    margin-bottom: 2rem
}

@media screen and (min-width:36rem) {
    hr.block-divider.space-xl {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

@media screen and (min-width:48rem) {
    hr.block-divider.space-xl {
        margin-top: 4rem;
        margin-bottom: 4rem
    }
}

@media screen and (min-width:64.0625rem) {
    hr.block-divider.space-xl {
        margin-top: 6rem;
        margin-bottom: 6rem
    }
}

.block-home-hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column
}

.block-home-hero.has-no-cta .block-home-hero-slider {
    height: 100%;
    min-height: 100vh
}

.block-home-hero-slider {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (min-width:36rem) {
    .block-home-hero-slider {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-home-hero-slider {
        padding-left: 3rem;
        padding-right: 3rem
    }
}

@media screen and (min-width:36rem) {
    .block-home-hero-slider {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-home-hero-slider {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}

@media screen and (min-width:90rem) {
    .block-home-hero-slider {
        padding-top: 5rem;
        padding-bottom: 5rem
    }
}

@media screen and (min-width:1921px) {
    .block-home-hero-slider {
        padding-top: 6rem;
        padding-bottom: 6rem
    }
}

.block-home-hero-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #502db2;
    padding-top: 2rem;
    padding-bottom: 2rem
}

@media screen and (min-width:64.0625rem) {
    .block-home-hero-cta {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem
    }
}

.block-home-hero-cta .content-container {
    max-width: 80rem;
    display: block;
    height: 100%;
    gap: 2rem
}

@media screen and (min-width:48rem) {
    .block-home-hero-cta .content-container {
        gap: 2.5rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-home-hero-cta .content-container {
        gap: 3.75rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-home-hero-cta .content-container {
        display: flex;
        justify-content: space-between;
        align-items: center
    }
}

.block-home-hero-cta .content-container h3 {
    margin: 0 0 .5rem;
    font-size: 2.25rem;
    color: #fff
}

@media screen and (min-width:48rem) {
    .block-home-hero-cta .content-container h3 {
        font-size: 1.75rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-home-hero-cta .content-container h3 {
        font-size: 2rem
    }
}

@media screen and (min-width:90rem) {
    .block-home-hero-cta .content-container h3 {
        font-size: 2.25rem
    }
}

.block-home-hero-cta .content-container p:last-child {
    margin: 0
}

.block-home-hero-cta .content-container div:last-child a {
    width: -moz-max-content;
    width: max-content;
    margin: 1rem 0 0
}

@media screen and (min-width:64.0625rem) {
    .block-home-hero-cta .content-container div:last-child a {
        margin: 0
    }
}

.block-home-hero-cta .content-container div:last-child a:hover {
    background: #070504 !important
}

.block-image {
    position: relative;
    width: 100%
}

.block-image .full-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.block-image.br-circle img {
    border-radius: 50%
}

.block-image.has-decorative-img {
    position: relative
}

.block-image.has-decorative-img .decorative-image {
    position: absolute;
    max-width: 40%;
    width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, .25)
}

@media screen and (min-width:48rem) {
    .block-image.has-decorative-img .decorative-image {
        max-width: 45%
    }
}

.block-image.has-decorative-img.decorative-img-top-left {
    padding: 7.5% 0 0 7.5%
}

@media screen and (min-width:48rem) {
    .block-image.has-decorative-img.decorative-img-top-left {
        padding: 10% 0 0 10%
    }
}

.block-image.has-decorative-img.decorative-img-top-left .decorative-image {
    top: 0;
    left: 0
}

.block-image.has-decorative-img.decorative-img-top-right {
    padding: 7.5% 7.5% 0 0
}

@media screen and (min-width:48rem) {
    .block-image.has-decorative-img.decorative-img-top-right {
        padding: 10% 10% 0 0
    }
}

.block-image.has-decorative-img.decorative-img-top-right .decorative-image {
    top: 0;
    right: 0
}

.block-image.has-decorative-img.decorative-img-bottom-left {
    padding: 0 0 7.5% 7.5%
}

@media screen and (min-width:48rem) {
    .block-image.has-decorative-img.decorative-img-bottom-left {
        padding: 0 0 10% 10%
    }
}

.block-image.has-decorative-img.decorative-img-bottom-left .decorative-image {
    bottom: 0;
    left: 0
}

.block-image.has-decorative-img.decorative-img-bottom-right {
    padding: 0 7.5% 7.5% 0
}

@media screen and (min-width:48rem) {
    .block-image.has-decorative-img.decorative-img-bottom-right {
        padding: 0 10% 10% 0
    }
}

.block-image.has-decorative-img.decorative-img-bottom-right .decorative-image {
    bottom: 0;
    right: 0
}

.block-image-gallery {
    display: grid;
    grid-gap: 1rem
}

@media screen and (max-width:47.98rem) {
    .block-image-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-gap: .5rem
    }
}

.block-image-gallery a[data-fslightbox] {
    display: block;
    position: relative;
    padding-top: 100%
}

.block-image-gallery a[data-fslightbox] .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    background: #000;
    mix-blend-mode: multiply;
    opacity: 0;
    z-index: -1;
    transition: opacity .3s, visibility .3s
}

.block-image-gallery a[data-fslightbox] .overlay button {
    pointer-events: none
}

.block-image-gallery a[data-fslightbox]:hover .overlay {
    opacity: .5;
    visibility: visible;
    z-index: 2
}

.block-image-gallery a[data-fslightbox] .gallery-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    -o-object-fit: cover;
    object-fit: cover
}

.block-inline-list {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 3rem;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center
}

@media screen and (min-width:48rem) {
    .block-inline-list {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

.block-inline-list .inline-list-item {
    text-align: center;
    position: relative;
    line-height: 1.15
}

@media screen and (min-width:48rem) {
    .block-inline-list .inline-list-item {
        padding: 0 1.5rem
    }
}

.block-inline-list .inline-list-item:not(:last-child)::after {
    content: "";
    position: absolute;
    width: 2rem;
    height: 1px;
    bottom: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    background: #21123b
}

@media screen and (min-width:48rem) {
    .block-inline-list .inline-list-item:not(:last-child)::after {
        right: 0;
        bottom: initial;
        left: initial;
        top: 50%;
        width: 3rem;
        transform: translate(100%, -50%)
    }
}

.block-inline-list.text-white .inline-list-item:not(:last-child)::after {
    background-color: #7b7485
}

.block-logo-showcase .swiper-wrapper {
    webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
    align-items: center
}

.block-logo-showcase .logo-showcase-item {
    text-align: center
}

.block-section.fit-to-screen {
    min-height: max(100vh - var(--header-height), 30rem)
}

.block-section.fullscreen {
    min-height: 100vh
}

.block-section.fullwidth .block-section-content {
    max-width: 100%
}

.block-section.inside-page-hero {
    min-height: max(50vh, 17.5rem)
}

@media screen and (min-width:64.0625rem) {
    .block-section.inside-page-hero {
        min-height: max(70vh, 20rem)
    }
}

.block-section.rotating-background {
    display: flex;
    align-items: center
}

.block-section .block-section-content {
    max-width: 100rem;
    width: 100%;
    margin: 0 auto
}

@media screen and (min-width:1921px) {
    .block-section .block-section-content {
        max-width: 110rem
    }
}

@media screen and (max-width:47.98rem) {
    .block-wrapper {
        width: 100% !important
    }
}

.block-slider {
    position: relative
}

.block-slider.controls-gold .block-slider-pagination button {
    background: #8d6f29
}

.block-slider.controls-purple .block-slider-pagination button {
    background: #502db2
}

.block-slider-pagination {
    display: flex;
    grid-gap: 1.25rem;
    align-items: center;
    justify-content: center;
    color: #070504;
    margin: 2rem auto 0
}

@media screen and (min-width:48rem) {
    .block-slider-pagination {
        margin: 3rem auto 0
    }
}

@media screen and (min-width:64.0625rem) {
    .block-slider-pagination {
        margin: 4rem auto 0
    }
}

.block-slider-pagination button,
.block-slider-pagination div {
    line-height: 1
}

.block-slider-pagination div {
    display: flex;
    align-items: center;
    grid-gap: .375rem;
    font-size: .9rem
}

@media screen and (min-width:64.0625rem) {
    .block-slider-pagination div {
        font-size: 1rem
    }
}

.block-slider-pagination button {
    background: 0 0;
    border: none;
    cursor: pointer;
    color: #fff;
    transition: color .2s;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #070504;
    padding: .5rem;
    border-radius: 50%;
    font-size: 1rem;
    height: 2.5rem;
    width: 2.5rem;
    opacity: .75;
    transition: opacity .25s
}

.block-slider-pagination button:hover {
    opacity: 1
}

.block-spacer.xs {
    height: .5rem !important
}

.block-spacer.sm {
    height: 1rem !important
}

@media screen and (min-width:48rem) {
    .block-spacer.sm {
        height: 1.25rem !important
    }
}

.block-spacer.md {
    height: 1.5rem !important
}

@media screen and (min-width:48rem) {
    .block-spacer.md {
        height: 2rem !important
    }
}

.block-spacer.lg {
    height: 1.5rem !important
}

@media screen and (min-width:36rem) {
    .block-spacer.lg {
        height: 2rem !important
    }
}

@media screen and (min-width:48rem) {
    .block-spacer.lg {
        height: 2.5rem !important
    }
}

@media screen and (min-width:64.0625rem) {
    .block-spacer.lg {
        height: 3rem !important
    }
}

.block-spacer.xl {
    height: 2rem !important
}

@media screen and (min-width:36rem) {
    .block-spacer.xl {
        height: 3rem !important
    }
}

@media screen and (min-width:48rem) {
    .block-spacer.xl {
        height: 4rem !important
    }
}

@media screen and (min-width:64.0625rem) {
    .block-spacer.xl {
        height: 6rem !important
    }
}

.block-team-members.text-dark .sh-team-member {
    background-color: #efefef;
    color: #353434
}

.block-team-members.text-dark .sh-team-member h3,
.block-team-members.text-dark .sh-team-member h4,
.block-team-members.text-dark .sh-team-member p {
    color: #353434
}

.block-team-members.text-dark .sh-team-member-title {
    color: #070504
}

.block-team-members.text-dark .sh-team-member-read-more {
    color: #8d6f29
}

.block-team-members.text-dark .sh-team-member:hover .sh-team-member-read-more {
    color: #502db2
}

.sh-team-member {
    color: #fff;
    background: #21123b;
    position: relative;
    cursor: pointer
}

.sh-team-member h3,
.sh-team-member h4,
.sh-team-member p {
    color: #fff
}

.sh-team-member-img {
    overflow: hidden
}

.sh-team-member-img img {
    transition: transform .2s
}

.sh-team-member-content {
    padding: 1.5rem 1rem 4rem 1rem
}

.sh-team-member h4 {
    font-size: 1.75rem;
    line-height: 1
}

.sh-team-member-title {
    color: rgba(255, 255, 255, .75);
    font-size: .85rem;
    line-height: 1.25;
    margin-top: .75rem
}

@media screen and (min-width:64.0625rem) {
    .sh-team-member-modal .custom-modal-inner {
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

.sh-team-member-modal .sh-team-member-name {
    display: block
}

@media screen and (min-width:48rem) {
    .sh-team-member-modal .sh-team-member-name {
        display: flex;
        align-items: center;
        gap: 1rem
    }
}

.sh-team-member-modal .sh-team-member-name a {
    display: block;
    font-size: 1.75rem;
    color: #8d6f29;
    line-height: 1;
    margin-top: .5rem
}

@media screen and (min-width:48rem) {
    .sh-team-member-modal .sh-team-member-name a {
        font-size: 2rem;
        transform: translateY(.375rem);
        margin: 0
    }
}

.sh-team-member-modal .sh-team-member-name a:hover {
    color: #502db2
}

.sh-team-member-modal .sh-team-member-title {
    color: #070504;
    font-weight: 600;
    font-size: 1.125rem;
    margin-top: .75rem
}

.sh-team-member-read-more {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    color: #fff;
    background: 0 0;
    font-size: .9rem;
    position: absolute;
    bottom: 1.25rem;
    left: 1rem;
    text-transform: uppercase;
    pointer-events: none;
    transition: color .2s;
    line-height: 1
}

.sh-team-member:hover .sh-team-member-img img {
    transform: scale(1.05)
}

.sh-team-member:hover .sh-team-member-read-more {
    color: #8d6f29
}

.block-testimonial-slider {
    color: #21123b
}

.block-testimonial-slider .testimonial-item-content {
    align-self: center
}

.block-testimonial-slider .testimonial-quote {
    color: inherit;
    font-size: 1.875rem
}

@media screen and (min-width:48rem) {
    .block-testimonial-slider .testimonial-quote {
        font-size: 2.25rem
    }
}

@media screen and (min-width:64.0625rem) {
    .block-testimonial-slider .testimonial-quote {
        font-size: 2.5rem
    }
}

.block-testimonial-slider .testimonial-author {
    color: inherit
}

.block-testimonial-slider .swiper-slide {
    display: grid !important
}

.block-testimonial-slider .testimonial-image-caption {
    text-shadow: 0 1px 1px #000;
    position: absolute;
    bottom: 4rem;
    z-index: 9;
    left: 0;
    right: 0
}

@media screen and (max-width:47.98rem) {
    .block-testimonial-slider .testimonial-image-caption {
        position: relative;
        bottom: unset;
        margin-top: 15px
    }
}

.block-video-embed {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 56.25%
}

.block-video-embed embed,
.block-video-embed iframe,
.block-video-embed object,
.block-video-embed video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.block-video-embed.with-poster {
    padding: 0
}

.block-video-embed.with-poster .embed-wrap {
    padding-top: 56.25%;
    position: absolute;
    transform: translateX(100%);
    z-index: -1;
    visibility: hidden;
    transition: opacity .2s
}

.block-video-embed.with-poster .embed-wrap.show {
    opacity: 1;
    visibility: visible;
    z-index: 1;
    transform: translateX(0);
    position: relative
}

.block-video-embed.with-poster .embed-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    -o-object-fit: cover;
    object-fit: cover
}

.block-video-embed-poster {
    cursor: pointer;
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 56.25%;
    transition: box-shadow .3s;
    box-shadow: 0 0 35px rgba(0, 0, 0, .2)
}

.block-video-embed-poster .poster-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: bottom left;
    object-position: bottom left;
    pointer-events: none
}

.block-video-embed-poster .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, .25);
    transition: background .3s;
    pointer-events: none
}

.block-video-embed-poster:hover .overlay {
    background: rgba(0, 0, 0, .4)
}

.block-video-embed-poster .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 3.5rem;
    font-size: 2rem;
    color: #fff;
    text-align: center;
    z-index: 3;
    pointer-events: none
}

@media screen and (min-width:48rem) {
    .block-video-embed-poster .play-button {
        width: 5rem;
        font-size: 3rem
    }
}

.lightbox-poster {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 56.25%;
    transition: box-shadow .3s
}

.lightbox-poster .poster-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    -o-object-fit: cover;
    object-fit: cover;
    pointer-events: none
}

.lightbox-poster .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgba(0, 0, 0, .3);
    transition: background .3s;
    pointer-events: none
}

.lightbox-poster:hover .overlay {
    background: rgba(0, 0, 0, .75)
}

.lightbox-poster .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    z-index: 3;
    pointer-events: none
}

.block-core-heading h1:last-child,
.block-core-heading h2:last-child,
.block-core-heading h3:last-child,
.block-core-heading h4:last-child,
.block-core-heading h5:last-child,
.block-core-heading h6:last-child {
    margin-bottom: 0
}

.block-core-list ol,
.block-core-list ul {
    margin: 0
}

.block-core-paragraph p:last-child {
    margin-bottom: 0
}
.block-section-overlay p{color: #fff !important;}
h1,h2,h3,h4,h5,h6,h7{color: #fff;}
.has-wood-color{color:#8bd14d !important;};
.banshiliutitle{display: block; }
/* 手机 */
@media (max-width: 769px) {
    h4.wp-block-heading {
        color: #fff !important; /* 强制应用颜色 */
        font-size: 28px !important; /* 强制应用字体大小 */
    }
    p.has-text-align-center.fade-none.mobile-ta-left.mt-md.wp-block-paragraph.is-style-lg.has-white-color.has-text-color.has-link-color.wp-elements-895f694b9df8d3e313cccdac111aa0d1{
        color: #fff;
    }
    .banshiliutitle{font-size: 36px;color: #fff;}
    p.fade-none.mobile-ta-inherit.mt-md.wp-block-paragraph.has-white-color.has-text-color.has-link-color.wp-elements-2baf941461678c358a2ef6dea75716aa{color: #fff;}
    .acf-innerblocks-container {
        color: #fff;
    }
    section.block-section.container-y-pad-sm.container-x-pad.ai-start{margin-top: 0px !important;}
    section.block-section.container-y-pad.container-x-pad.ai-start{margin-bottom: 0px !important;}
    p.fade-none.mobile-ta-inherit.mt-sm.wp-block-paragraph {
        color: #000;
    }
    h4.wp-block-heading.fade-none.mobile-ta-inherit.mt-lg.has-wood-color.has-text-color.has-link-color.wp-elements-0fe87e0598ac7499408189d40f5cb6dc {
        color: #8bd14d !important;
    }
}
/* 电脑 */
@media screen and (min-width:769px) {
    h4.wp-block-heading.fade-none.mobile-ta-inherit.mt-lg.has-white-color.has-text-color.has-link-color.wp-elements-f840fd1d816a8011332b4d24dbb8ff17 {
        font-size: 36px;color: #fff !important;
    }
    .has-wood-color{font-size: 36px;}
    p.has-text-align-center.fade-none.mobile-ta-left.mt-md.wp-block-paragraph.is-style-lg.has-white-color.has-text-color.has-link-color.wp-elements-895f694b9df8d3e313cccdac111aa0d1{
        color: #fff;
    }
    .banshiliutitle{font-size: 56px;color: #fff;text-align: center; position: relative;font-size:56px;}
    h4.wp-block-heading.fade-none.mobile-ta-inherit.mt-md.has-white-color.has-text-color.has-link-color.wp-elements-e36e670a7ea414dfb30c54888f867866{
        font-size: 36px;
    }
    p.fade-none.mobile-ta-inherit.mt-md.wp-block-paragraph.has-white-color.has-text-color.has-link-color.wp-elements-2baf941461678c358a2ef6dea75716aa{color: #fff;}
    .acf-innerblocks-container {
        color: #fff;
    }
    section.block-section.container-y-pad-sm.container-x-pad.ai-start{margin-top: 0px !important;}
    section.block-section.container-y-pad.container-x-pad.ai-start{margin-bottom: 0px !important;}
    p.fade-none.mobile-ta-inherit.mt-sm.wp-block-paragraph {
        color: #000;
    }
}

.block-section-overlay {
    background: rgb(93 95 91 / 84%) !important;
}