@charset "UTF-8";

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

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

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

a {
    background-color: transparent
}

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

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

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

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

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

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

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

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

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

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
html input[disabled] {
    cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

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

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

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

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

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

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

td,
th {
    padding: 0
}

@font-face {
    font-family: Lato;
    src: url(../fonts/Lato-Regular.woff2) format("woff2"), url(../fonts/Lato-Regular.woff) format("woff");
    font-display: swap
}

@font-face {
    font-family: Lato;
    src: url(../fonts/Lato-Bold.woff2) format("woff2"), url(../fonts/Lato-Bold.woff) format("woff");
    font-weight: 700;
    font-display: swap
}

@font-face {
    font-family: Borg Nine;
    src: url(../fonts/BorgNine-Regular.woff2) format("woff2"), url(../fonts/BorgNine-Regular.woff) format("woff");
    font-display: swap
}

@font-face {
    font-family: Bariol;
    src: url(../fonts/Bariol-Regular.woff2) format("woff2"), url(../fonts/Bariol-Regular.woff) format("woff");
    font-display: swap
}

@font-face {
    font-family: Bariol;
    src: url(../fonts/Bariol-Bold.woff2) format("woff2"), url(../fonts/Bariol-Bold.woff) format("woff");
    font-weight: 700;
    font-display: swap
}

@font-face {
    font-family: Bariol;
    src: url(../fonts/Bariol-Light.woff2) format("woff2"), url(../fonts/Bariol-Light.woff) format("woff");
    font-weight: 300;
    font-display: swap
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
.quote-header p,
h6,
.h6 {
    margin-top: 0;
    font-family: Bariol, Helvetica, sans-serif;
    line-height: 1.1;
    text-transform: uppercase
}

h1,
.h1 {
    font-size: 47px;
    font-weight: 700;
    letter-spacing: 6px
}

h2,
.h2 {
    font-size: 37px;
    font-weight: 700;
    letter-spacing: 4px
}

h3,
.h3 {
    font-size: 31px;
    font-weight: 700;
    letter-spacing: 4px
}

h4,
.h4 {
    font-size: 25px;
    font-weight: 400;
    letter-spacing: 3px
}

h5,
.h5,
.quote-header p,
h6,
.h6 {
    font-size: 16px;
    letter-spacing: 2px;
    font-weight: 700
}

.site-width {
    position: relative;
    width: 90%;
    max-width: 1680px;
    margin-left: auto;
    margin-right: auto
}

.site-width.full {
    max-width: 100%;
    width: 100%
}

.site-width.small {
    max-width: 1280px
}

.site-width.medium {
    max-width: 1580px
}

section {
    position: relative;
    display: block;
    width: 100%;
    z-index: 1
}

::selection {
    background-color: #1a1a1a;
    color: #fff
}

html,
body {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    font-smoothing: antialiased;
    font: normal 15px/1.2 "Bariol", Helvetica, sans-serif;
    letter-spacing: 1px;
    color: #1a1a1a;
    background-color: #fff
}

body {
    padding-top: 62px
}

@media only screen and (max-width:767px) {
    body {
        padding-top: 60px
    }
}

body.menu-open {
    overflow: hidden
}

*,
*:before,
*:after,
input,
select,
textarea {
    box-sizing: border-box
}

#container {
    position: relative;
    width: 100%;
    overflow: hidden
}

#container.product-template,
.page-template-page-product #container {
    overflow: visible
}

.content {
    position: relative;
    width: 100%
}

@media only screen and (max-width:767px) {
    .content.has-page-bg-text {
        padding-top: 99.6px
    }
}

@media only screen and (min-width:768px) {
    .content.has-page-bg-text {
        padding-top: 100px
    }
}

img {
    max-width: 100%
}

img.full-width {
    width: 100%
}

p {
    position: relative;
    display: block;
    margin: 0 0 1rem
}

p a {
    color: #df1e26
}

a {
    cursor: pointer;
    color: inherit;
    transition: all .5s ease
}

ul {
    margin: 0 0 1rem;
    padding: 0
}

ul li {
    list-style-type: disc;
    margin-left: 20px;
    padding-left: 5px;
    vertical-align: center
}

ul.plain li,
.testimonial-carousel ul.slick-dots li {
    list-style-type: none;
    margin: 0;
    padding: 0 2px
}

ul.horizontal li {
    display: inline-block
}

.center {
    text-align: center
}

.align-right {
    text-align: right
}

.align-left {
    text-align: left
}

[data-aos][data-aos][data-aos-duration="50"],
body[data-aos-duration="50"] [data-aos] {
    transition-duration: 50ms
}

[data-aos][data-aos][data-aos-delay="50"],
body[data-aos-delay="50"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate,
body[data-aos-delay="50"] [data-aos].aos-animate {
    transition-delay: 50ms
}

[data-aos][data-aos][data-aos-duration="100"],
body[data-aos-duration="100"] [data-aos] {
    transition-duration: .1s
}

[data-aos][data-aos][data-aos-delay="100"],
body[data-aos-delay="100"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate,
body[data-aos-delay="100"] [data-aos].aos-animate {
    transition-delay: .1s
}

[data-aos][data-aos][data-aos-duration="150"],
body[data-aos-duration="150"] [data-aos] {
    transition-duration: .15s
}

[data-aos][data-aos][data-aos-delay="150"],
body[data-aos-delay="150"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate,
body[data-aos-delay="150"] [data-aos].aos-animate {
    transition-delay: .15s
}

[data-aos][data-aos][data-aos-duration="200"],
body[data-aos-duration="200"] [data-aos] {
    transition-duration: .2s
}

[data-aos][data-aos][data-aos-delay="200"],
body[data-aos-delay="200"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate,
body[data-aos-delay="200"] [data-aos].aos-animate {
    transition-delay: .2s
}

[data-aos][data-aos][data-aos-duration="250"],
body[data-aos-duration="250"] [data-aos] {
    transition-duration: .25s
}

[data-aos][data-aos][data-aos-delay="250"],
body[data-aos-delay="250"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate,
body[data-aos-delay="250"] [data-aos].aos-animate {
    transition-delay: .25s
}

[data-aos][data-aos][data-aos-duration="300"],
body[data-aos-duration="300"] [data-aos] {
    transition-duration: .3s
}

[data-aos][data-aos][data-aos-delay="300"],
body[data-aos-delay="300"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate,
body[data-aos-delay="300"] [data-aos].aos-animate {
    transition-delay: .3s
}

[data-aos][data-aos][data-aos-duration="350"],
body[data-aos-duration="350"] [data-aos] {
    transition-duration: .35s
}

[data-aos][data-aos][data-aos-delay="350"],
body[data-aos-delay="350"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="350"].aos-animate,
body[data-aos-delay="350"] [data-aos].aos-animate {
    transition-delay: .35s
}

[data-aos][data-aos][data-aos-duration="400"],
body[data-aos-duration="400"] [data-aos] {
    transition-duration: .4s
}

[data-aos][data-aos][data-aos-delay="400"],
body[data-aos-delay="400"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="400"].aos-animate,
body[data-aos-delay="400"] [data-aos].aos-animate {
    transition-delay: .4s
}

[data-aos][data-aos][data-aos-duration="450"],
body[data-aos-duration="450"] [data-aos] {
    transition-duration: .45s
}

[data-aos][data-aos][data-aos-delay="450"],
body[data-aos-delay="450"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="450"].aos-animate,
body[data-aos-delay="450"] [data-aos].aos-animate {
    transition-delay: .45s
}

[data-aos][data-aos][data-aos-duration="500"],
body[data-aos-duration="500"] [data-aos] {
    transition-duration: .5s
}

[data-aos][data-aos][data-aos-delay="500"],
body[data-aos-delay="500"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate,
body[data-aos-delay="500"] [data-aos].aos-animate {
    transition-delay: .5s
}

[data-aos][data-aos][data-aos-duration="550"],
body[data-aos-duration="550"] [data-aos] {
    transition-duration: .55s
}

[data-aos][data-aos][data-aos-delay="550"],
body[data-aos-delay="550"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="550"].aos-animate,
body[data-aos-delay="550"] [data-aos].aos-animate {
    transition-delay: .55s
}

[data-aos][data-aos][data-aos-duration="600"],
body[data-aos-duration="600"] [data-aos] {
    transition-duration: .6s
}

[data-aos][data-aos][data-aos-delay="600"],
body[data-aos-delay="600"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="600"].aos-animate,
body[data-aos-delay="600"] [data-aos].aos-animate {
    transition-delay: .6s
}

[data-aos][data-aos][data-aos-duration="650"],
body[data-aos-duration="650"] [data-aos] {
    transition-duration: .65s
}

[data-aos][data-aos][data-aos-delay="650"],
body[data-aos-delay="650"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="650"].aos-animate,
body[data-aos-delay="650"] [data-aos].aos-animate {
    transition-delay: .65s
}

[data-aos][data-aos][data-aos-duration="700"],
body[data-aos-duration="700"] [data-aos] {
    transition-duration: .7s
}

[data-aos][data-aos][data-aos-delay="700"],
body[data-aos-delay="700"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="700"].aos-animate,
body[data-aos-delay="700"] [data-aos].aos-animate {
    transition-delay: .7s
}

[data-aos][data-aos][data-aos-duration="750"],
body[data-aos-duration="750"] [data-aos] {
    transition-duration: .75s
}

[data-aos][data-aos][data-aos-delay="750"],
body[data-aos-delay="750"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="750"].aos-animate,
body[data-aos-delay="750"] [data-aos].aos-animate {
    transition-delay: .75s
}

[data-aos][data-aos][data-aos-duration="800"],
body[data-aos-duration="800"] [data-aos] {
    transition-duration: .8s
}

[data-aos][data-aos][data-aos-delay="800"],
body[data-aos-delay="800"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate,
body[data-aos-delay="800"] [data-aos].aos-animate {
    transition-delay: .8s
}

[data-aos][data-aos][data-aos-duration="850"],
body[data-aos-duration="850"] [data-aos] {
    transition-duration: .85s
}

[data-aos][data-aos][data-aos-delay="850"],
body[data-aos-delay="850"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="850"].aos-animate,
body[data-aos-delay="850"] [data-aos].aos-animate {
    transition-delay: .85s
}

[data-aos][data-aos][data-aos-duration="900"],
body[data-aos-duration="900"] [data-aos] {
    transition-duration: .9s
}

[data-aos][data-aos][data-aos-delay="900"],
body[data-aos-delay="900"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="900"].aos-animate,
body[data-aos-delay="900"] [data-aos].aos-animate {
    transition-delay: .9s
}

[data-aos][data-aos][data-aos-duration="950"],
body[data-aos-duration="950"] [data-aos] {
    transition-duration: .95s
}

[data-aos][data-aos][data-aos-delay="950"],
body[data-aos-delay="950"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="950"].aos-animate,
body[data-aos-delay="950"] [data-aos].aos-animate {
    transition-delay: .95s
}

[data-aos][data-aos][data-aos-duration="1000"],
body[data-aos-duration="1000"] [data-aos] {
    transition-duration: 1s
}

[data-aos][data-aos][data-aos-delay="1000"],
body[data-aos-delay="1000"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate,
body[data-aos-delay="1000"] [data-aos].aos-animate {
    transition-delay: 1s
}

[data-aos][data-aos][data-aos-duration="1050"],
body[data-aos-duration="1050"] [data-aos] {
    transition-duration: 1.05s
}

[data-aos][data-aos][data-aos-delay="1050"],
body[data-aos-delay="1050"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1050"].aos-animate,
body[data-aos-delay="1050"] [data-aos].aos-animate {
    transition-delay: 1.05s
}

[data-aos][data-aos][data-aos-duration="1100"],
body[data-aos-duration="1100"] [data-aos] {
    transition-duration: 1.1s
}

[data-aos][data-aos][data-aos-delay="1100"],
body[data-aos-delay="1100"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1100"].aos-animate,
body[data-aos-delay="1100"] [data-aos].aos-animate {
    transition-delay: 1.1s
}

[data-aos][data-aos][data-aos-duration="1150"],
body[data-aos-duration="1150"] [data-aos] {
    transition-duration: 1.15s
}

[data-aos][data-aos][data-aos-delay="1150"],
body[data-aos-delay="1150"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1150"].aos-animate,
body[data-aos-delay="1150"] [data-aos].aos-animate {
    transition-delay: 1.15s
}

[data-aos][data-aos][data-aos-duration="1200"],
body[data-aos-duration="1200"] [data-aos] {
    transition-duration: 1.2s
}

[data-aos][data-aos][data-aos-delay="1200"],
body[data-aos-delay="1200"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1200"].aos-animate,
body[data-aos-delay="1200"] [data-aos].aos-animate {
    transition-delay: 1.2s
}

[data-aos][data-aos][data-aos-duration="1250"],
body[data-aos-duration="1250"] [data-aos] {
    transition-duration: 1.25s
}

[data-aos][data-aos][data-aos-delay="1250"],
body[data-aos-delay="1250"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1250"].aos-animate,
body[data-aos-delay="1250"] [data-aos].aos-animate {
    transition-delay: 1.25s
}

[data-aos][data-aos][data-aos-duration="1300"],
body[data-aos-duration="1300"] [data-aos] {
    transition-duration: 1.3s
}

[data-aos][data-aos][data-aos-delay="1300"],
body[data-aos-delay="1300"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1300"].aos-animate,
body[data-aos-delay="1300"] [data-aos].aos-animate {
    transition-delay: 1.3s
}

[data-aos][data-aos][data-aos-duration="1350"],
body[data-aos-duration="1350"] [data-aos] {
    transition-duration: 1.35s
}

[data-aos][data-aos][data-aos-delay="1350"],
body[data-aos-delay="1350"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1350"].aos-animate,
body[data-aos-delay="1350"] [data-aos].aos-animate {
    transition-delay: 1.35s
}

[data-aos][data-aos][data-aos-duration="1400"],
body[data-aos-duration="1400"] [data-aos] {
    transition-duration: 1.4s
}

[data-aos][data-aos][data-aos-delay="1400"],
body[data-aos-delay="1400"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1400"].aos-animate,
body[data-aos-delay="1400"] [data-aos].aos-animate {
    transition-delay: 1.4s
}

[data-aos][data-aos][data-aos-duration="1450"],
body[data-aos-duration="1450"] [data-aos] {
    transition-duration: 1.45s
}

[data-aos][data-aos][data-aos-delay="1450"],
body[data-aos-delay="1450"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1450"].aos-animate,
body[data-aos-delay="1450"] [data-aos].aos-animate {
    transition-delay: 1.45s
}

[data-aos][data-aos][data-aos-duration="1500"],
body[data-aos-duration="1500"] [data-aos] {
    transition-duration: 1.5s
}

[data-aos][data-aos][data-aos-delay="1500"],
body[data-aos-delay="1500"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1500"].aos-animate,
body[data-aos-delay="1500"] [data-aos].aos-animate {
    transition-delay: 1.5s
}

[data-aos][data-aos][data-aos-duration="1550"],
body[data-aos-duration="1550"] [data-aos] {
    transition-duration: 1.55s
}

[data-aos][data-aos][data-aos-delay="1550"],
body[data-aos-delay="1550"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1550"].aos-animate,
body[data-aos-delay="1550"] [data-aos].aos-animate {
    transition-delay: 1.55s
}

[data-aos][data-aos][data-aos-duration="1600"],
body[data-aos-duration="1600"] [data-aos] {
    transition-duration: 1.6s
}

[data-aos][data-aos][data-aos-delay="1600"],
body[data-aos-delay="1600"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1600"].aos-animate,
body[data-aos-delay="1600"] [data-aos].aos-animate {
    transition-delay: 1.6s
}

[data-aos][data-aos][data-aos-duration="1650"],
body[data-aos-duration="1650"] [data-aos] {
    transition-duration: 1.65s
}

[data-aos][data-aos][data-aos-delay="1650"],
body[data-aos-delay="1650"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1650"].aos-animate,
body[data-aos-delay="1650"] [data-aos].aos-animate {
    transition-delay: 1.65s
}

[data-aos][data-aos][data-aos-duration="1700"],
body[data-aos-duration="1700"] [data-aos] {
    transition-duration: 1.7s
}

[data-aos][data-aos][data-aos-delay="1700"],
body[data-aos-delay="1700"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1700"].aos-animate,
body[data-aos-delay="1700"] [data-aos].aos-animate {
    transition-delay: 1.7s
}

[data-aos][data-aos][data-aos-duration="1750"],
body[data-aos-duration="1750"] [data-aos] {
    transition-duration: 1.75s
}

[data-aos][data-aos][data-aos-delay="1750"],
body[data-aos-delay="1750"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1750"].aos-animate,
body[data-aos-delay="1750"] [data-aos].aos-animate {
    transition-delay: 1.75s
}

[data-aos][data-aos][data-aos-duration="1800"],
body[data-aos-duration="1800"] [data-aos] {
    transition-duration: 1.8s
}

[data-aos][data-aos][data-aos-delay="1800"],
body[data-aos-delay="1800"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1800"].aos-animate,
body[data-aos-delay="1800"] [data-aos].aos-animate {
    transition-delay: 1.8s
}

[data-aos][data-aos][data-aos-duration="1850"],
body[data-aos-duration="1850"] [data-aos] {
    transition-duration: 1.85s
}

[data-aos][data-aos][data-aos-delay="1850"],
body[data-aos-delay="1850"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1850"].aos-animate,
body[data-aos-delay="1850"] [data-aos].aos-animate {
    transition-delay: 1.85s
}

[data-aos][data-aos][data-aos-duration="1900"],
body[data-aos-duration="1900"] [data-aos] {
    transition-duration: 1.9s
}

[data-aos][data-aos][data-aos-delay="1900"],
body[data-aos-delay="1900"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1900"].aos-animate,
body[data-aos-delay="1900"] [data-aos].aos-animate {
    transition-delay: 1.9s
}

[data-aos][data-aos][data-aos-duration="1950"],
body[data-aos-duration="1950"] [data-aos] {
    transition-duration: 1.95s
}

[data-aos][data-aos][data-aos-delay="1950"],
body[data-aos-delay="1950"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="1950"].aos-animate,
body[data-aos-delay="1950"] [data-aos].aos-animate {
    transition-delay: 1.95s
}

[data-aos][data-aos][data-aos-duration="2000"],
body[data-aos-duration="2000"] [data-aos] {
    transition-duration: 2s
}

[data-aos][data-aos][data-aos-delay="2000"],
body[data-aos-delay="2000"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2000"].aos-animate,
body[data-aos-delay="2000"] [data-aos].aos-animate {
    transition-delay: 2s
}

[data-aos][data-aos][data-aos-duration="2050"],
body[data-aos-duration="2050"] [data-aos] {
    transition-duration: 2.05s
}

[data-aos][data-aos][data-aos-delay="2050"],
body[data-aos-delay="2050"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2050"].aos-animate,
body[data-aos-delay="2050"] [data-aos].aos-animate {
    transition-delay: 2.05s
}

[data-aos][data-aos][data-aos-duration="2100"],
body[data-aos-duration="2100"] [data-aos] {
    transition-duration: 2.1s
}

[data-aos][data-aos][data-aos-delay="2100"],
body[data-aos-delay="2100"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2100"].aos-animate,
body[data-aos-delay="2100"] [data-aos].aos-animate {
    transition-delay: 2.1s
}

[data-aos][data-aos][data-aos-duration="2150"],
body[data-aos-duration="2150"] [data-aos] {
    transition-duration: 2.15s
}

[data-aos][data-aos][data-aos-delay="2150"],
body[data-aos-delay="2150"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2150"].aos-animate,
body[data-aos-delay="2150"] [data-aos].aos-animate {
    transition-delay: 2.15s
}

[data-aos][data-aos][data-aos-duration="2200"],
body[data-aos-duration="2200"] [data-aos] {
    transition-duration: 2.2s
}

[data-aos][data-aos][data-aos-delay="2200"],
body[data-aos-delay="2200"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2200"].aos-animate,
body[data-aos-delay="2200"] [data-aos].aos-animate {
    transition-delay: 2.2s
}

[data-aos][data-aos][data-aos-duration="2250"],
body[data-aos-duration="2250"] [data-aos] {
    transition-duration: 2.25s
}

[data-aos][data-aos][data-aos-delay="2250"],
body[data-aos-delay="2250"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2250"].aos-animate,
body[data-aos-delay="2250"] [data-aos].aos-animate {
    transition-delay: 2.25s
}

[data-aos][data-aos][data-aos-duration="2300"],
body[data-aos-duration="2300"] [data-aos] {
    transition-duration: 2.3s
}

[data-aos][data-aos][data-aos-delay="2300"],
body[data-aos-delay="2300"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2300"].aos-animate,
body[data-aos-delay="2300"] [data-aos].aos-animate {
    transition-delay: 2.3s
}

[data-aos][data-aos][data-aos-duration="2350"],
body[data-aos-duration="2350"] [data-aos] {
    transition-duration: 2.35s
}

[data-aos][data-aos][data-aos-delay="2350"],
body[data-aos-delay="2350"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2350"].aos-animate,
body[data-aos-delay="2350"] [data-aos].aos-animate {
    transition-delay: 2.35s
}

[data-aos][data-aos][data-aos-duration="2400"],
body[data-aos-duration="2400"] [data-aos] {
    transition-duration: 2.4s
}

[data-aos][data-aos][data-aos-delay="2400"],
body[data-aos-delay="2400"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2400"].aos-animate,
body[data-aos-delay="2400"] [data-aos].aos-animate {
    transition-delay: 2.4s
}

[data-aos][data-aos][data-aos-duration="2450"],
body[data-aos-duration="2450"] [data-aos] {
    transition-duration: 2.45s
}

[data-aos][data-aos][data-aos-delay="2450"],
body[data-aos-delay="2450"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2450"].aos-animate,
body[data-aos-delay="2450"] [data-aos].aos-animate {
    transition-delay: 2.45s
}

[data-aos][data-aos][data-aos-duration="2500"],
body[data-aos-duration="2500"] [data-aos] {
    transition-duration: 2.5s
}

[data-aos][data-aos][data-aos-delay="2500"],
body[data-aos-delay="2500"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2500"].aos-animate,
body[data-aos-delay="2500"] [data-aos].aos-animate {
    transition-delay: 2.5s
}

[data-aos][data-aos][data-aos-duration="2550"],
body[data-aos-duration="2550"] [data-aos] {
    transition-duration: 2.55s
}

[data-aos][data-aos][data-aos-delay="2550"],
body[data-aos-delay="2550"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2550"].aos-animate,
body[data-aos-delay="2550"] [data-aos].aos-animate {
    transition-delay: 2.55s
}

[data-aos][data-aos][data-aos-duration="2600"],
body[data-aos-duration="2600"] [data-aos] {
    transition-duration: 2.6s
}

[data-aos][data-aos][data-aos-delay="2600"],
body[data-aos-delay="2600"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2600"].aos-animate,
body[data-aos-delay="2600"] [data-aos].aos-animate {
    transition-delay: 2.6s
}

[data-aos][data-aos][data-aos-duration="2650"],
body[data-aos-duration="2650"] [data-aos] {
    transition-duration: 2.65s
}

[data-aos][data-aos][data-aos-delay="2650"],
body[data-aos-delay="2650"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2650"].aos-animate,
body[data-aos-delay="2650"] [data-aos].aos-animate {
    transition-delay: 2.65s
}

[data-aos][data-aos][data-aos-duration="2700"],
body[data-aos-duration="2700"] [data-aos] {
    transition-duration: 2.7s
}

[data-aos][data-aos][data-aos-delay="2700"],
body[data-aos-delay="2700"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2700"].aos-animate,
body[data-aos-delay="2700"] [data-aos].aos-animate {
    transition-delay: 2.7s
}

[data-aos][data-aos][data-aos-duration="2750"],
body[data-aos-duration="2750"] [data-aos] {
    transition-duration: 2.75s
}

[data-aos][data-aos][data-aos-delay="2750"],
body[data-aos-delay="2750"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2750"].aos-animate,
body[data-aos-delay="2750"] [data-aos].aos-animate {
    transition-delay: 2.75s
}

[data-aos][data-aos][data-aos-duration="2800"],
body[data-aos-duration="2800"] [data-aos] {
    transition-duration: 2.8s
}

[data-aos][data-aos][data-aos-delay="2800"],
body[data-aos-delay="2800"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2800"].aos-animate,
body[data-aos-delay="2800"] [data-aos].aos-animate {
    transition-delay: 2.8s
}

[data-aos][data-aos][data-aos-duration="2850"],
body[data-aos-duration="2850"] [data-aos] {
    transition-duration: 2.85s
}

[data-aos][data-aos][data-aos-delay="2850"],
body[data-aos-delay="2850"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2850"].aos-animate,
body[data-aos-delay="2850"] [data-aos].aos-animate {
    transition-delay: 2.85s
}

[data-aos][data-aos][data-aos-duration="2900"],
body[data-aos-duration="2900"] [data-aos] {
    transition-duration: 2.9s
}

[data-aos][data-aos][data-aos-delay="2900"],
body[data-aos-delay="2900"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2900"].aos-animate,
body[data-aos-delay="2900"] [data-aos].aos-animate {
    transition-delay: 2.9s
}

[data-aos][data-aos][data-aos-duration="2950"],
body[data-aos-duration="2950"] [data-aos] {
    transition-duration: 2.95s
}

[data-aos][data-aos][data-aos-delay="2950"],
body[data-aos-delay="2950"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="2950"].aos-animate,
body[data-aos-delay="2950"] [data-aos].aos-animate {
    transition-delay: 2.95s
}

[data-aos][data-aos][data-aos-duration="3000"],
body[data-aos-duration="3000"] [data-aos] {
    transition-duration: 3s
}

[data-aos][data-aos][data-aos-delay="3000"],
body[data-aos-delay="3000"] [data-aos] {
    transition-delay: 0
}

[data-aos][data-aos][data-aos-delay="3000"].aos-animate,
body[data-aos-delay="3000"] [data-aos].aos-animate {
    transition-delay: 3s
}

[data-aos][data-aos][data-aos-easing=linear],
body[data-aos-easing=linear] [data-aos] {
    transition-timing-function: cubic-bezier(.25, .25, .75, .75)
}

[data-aos][data-aos][data-aos-easing=ease],
body[data-aos-easing=ease] [data-aos] {
    transition-timing-function: ease
}

[data-aos][data-aos][data-aos-easing=ease-in],
body[data-aos-easing=ease-in] [data-aos] {
    transition-timing-function: ease-in
}

[data-aos][data-aos][data-aos-easing=ease-out],
body[data-aos-easing=ease-out] [data-aos] {
    transition-timing-function: ease-out
}

[data-aos][data-aos][data-aos-easing=ease-in-out],
body[data-aos-easing=ease-in-out] [data-aos] {
    transition-timing-function: ease-in-out
}

[data-aos][data-aos][data-aos-easing=ease-in-back],
body[data-aos-easing=ease-in-back] [data-aos] {
    transition-timing-function: cubic-bezier(.6, -.28, .735, .045)
}

[data-aos][data-aos][data-aos-easing=ease-out-back],
body[data-aos-easing=ease-out-back] [data-aos] {
    transition-timing-function: cubic-bezier(.175, .885, .32, 1.275)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-back],
body[data-aos-easing=ease-in-out-back] [data-aos] {
    transition-timing-function: cubic-bezier(.68, -.55, .265, 1.55)
}

[data-aos][data-aos][data-aos-easing=ease-in-sine],
body[data-aos-easing=ease-in-sine] [data-aos] {
    transition-timing-function: cubic-bezier(.47, 0, .745, .715)
}

[data-aos][data-aos][data-aos-easing=ease-out-sine],
body[data-aos-easing=ease-out-sine] [data-aos] {
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-sine],
body[data-aos-easing=ease-in-out-sine] [data-aos] {
    transition-timing-function: cubic-bezier(.445, .05, .55, .95)
}

[data-aos][data-aos][data-aos-easing=ease-in-quad],
body[data-aos-easing=ease-in-quad] [data-aos] {
    transition-timing-function: cubic-bezier(.55, .085, .68, .53)
}

[data-aos][data-aos][data-aos-easing=ease-out-quad],
body[data-aos-easing=ease-out-quad] [data-aos] {
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quad],
body[data-aos-easing=ease-in-out-quad] [data-aos] {
    transition-timing-function: cubic-bezier(.455, .03, .515, .955)
}

[data-aos][data-aos][data-aos-easing=ease-in-cubic],
body[data-aos-easing=ease-in-cubic] [data-aos] {
    transition-timing-function: cubic-bezier(.55, .085, .68, .53)
}

[data-aos][data-aos][data-aos-easing=ease-out-cubic],
body[data-aos-easing=ease-out-cubic] [data-aos] {
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],
body[data-aos-easing=ease-in-out-cubic] [data-aos] {
    transition-timing-function: cubic-bezier(.455, .03, .515, .955)
}

[data-aos][data-aos][data-aos-easing=ease-in-quart],
body[data-aos-easing=ease-in-quart] [data-aos] {
    transition-timing-function: cubic-bezier(.55, .085, .68, .53)
}

[data-aos][data-aos][data-aos-easing=ease-out-quart],
body[data-aos-easing=ease-out-quart] [data-aos] {
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quart],
body[data-aos-easing=ease-in-out-quart] [data-aos] {
    transition-timing-function: cubic-bezier(.455, .03, .515, .955)
}

[data-aos^=fade][data-aos^=fade] {
    opacity: 0;
    transition-property: opacity, transform
}

[data-aos^=fade][data-aos^=fade].aos-animate {
    opacity: 1;
    transform: translateZ(0)
}

[data-aos=fade-up] {
    transform: translate3d(0, 100px, 0)
}

[data-aos=fade-down] {
    transform: translate3d(0, -100px, 0)
}

[data-aos=fade-right] {
    transform: translate3d(-100px, 0, 0)
}

[data-aos=fade-left] {
    transform: translate3d(100px, 0, 0)
}

[data-aos=fade-up-right] {
    transform: translate3d(-100px, 100px, 0)
}

[data-aos=fade-up-left] {
    transform: translate3d(100px, 100px, 0)
}

[data-aos=fade-down-right] {
    transform: translate3d(-100px, -100px, 0)
}

[data-aos=fade-down-left] {
    transform: translate3d(100px, -100px, 0)
}

[data-aos^=zoom][data-aos^=zoom] {
    opacity: 0;
    transition-property: opacity, transform
}

[data-aos^=zoom][data-aos^=zoom].aos-animate {
    opacity: 1;
    transform: translateZ(0) scale(1)
}

[data-aos=zoom-in] {
    -ms-transform: scale(.6);
    transform: scale(.6)
}

[data-aos=zoom-in-up] {
    transform: translate3d(0, 100px, 0) scale(.6)
}

[data-aos=zoom-in-down] {
    transform: translate3d(0, -100px, 0) scale(.6)
}

[data-aos=zoom-in-right] {
    transform: translate3d(-100px, 0, 0) scale(.6)
}

[data-aos=zoom-in-left] {
    transform: translate3d(100px, 0, 0) scale(.6)
}

[data-aos=zoom-out] {
    -ms-transform: scale(1.2);
    transform: scale(1.2)
}

[data-aos=zoom-out-up] {
    transform: translate3d(0, 100px, 0) scale(1.2)
}

[data-aos=zoom-out-down] {
    transform: translate3d(0, -100px, 0) scale(1.2)
}

[data-aos=zoom-out-right] {
    transform: translate3d(-100px, 0, 0) scale(1.2)
}

[data-aos=zoom-out-left] {
    transform: translate3d(100px, 0, 0) scale(1.2)
}

[data-aos^=slide][data-aos^=slide] {
    transition-property: transform
}

[data-aos^=slide][data-aos^=slide].aos-animate {
    transform: translateZ(0)
}

[data-aos=slide-up] {
    transform: translate3d(0, 100%, 0)
}

[data-aos=slide-down] {
    transform: translate3d(0, -100%, 0)
}

[data-aos=slide-right] {
    transform: translate3d(-100%, 0, 0)
}

[data-aos=slide-left] {
    transform: translate3d(100%, 0, 0)
}

[data-aos^=flip][data-aos^=flip] {
    backface-visibility: hidden;
    transition-property: transform
}

[data-aos=flip-left] {
    transform: perspective(2500px) rotateY(-100deg)
}

[data-aos=flip-left].aos-animate {
    transform: perspective(2500px) rotateY(0)
}

[data-aos=flip-right] {
    transform: perspective(2500px) rotateY(100deg)
}

[data-aos=flip-right].aos-animate {
    transform: perspective(2500px) rotateY(0)
}

[data-aos=flip-up] {
    transform: perspective(2500px) rotateX(-100deg)
}

[data-aos=flip-up].aos-animate {
    transform: perspective(2500px) rotateX(0)
}

[data-aos=flip-down] {
    transform: perspective(2500px) rotateX(100deg)
}

[data-aos=flip-down].aos-animate {
    transform: perspective(2500px) rotateX(0)
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: ""
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block;
    outline: none
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 45px;
    text-transform: uppercase;
    font-size: 10px;
    color: #fff;
    font-weight: 700;
    background-color: #1a1a1a;
    z-index: 101
}

header .logo {
    position: relative;
    margin-left:20px;
    top: auto;
    left: auto; /* was 50% */
    -ms-transform: none;
    transform: none;
}

header .logo path {
    transition: all .5s ease
}

header .site-width {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 100%
}

header ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin: 0
}

header .social-list li+li {
    margin-left: 20px
}

header .social-list svg {
    display: block;
    width: auto;
    height: 15px
}

header .social-list svg path,
header .social-list svg rect {
    transition: all .5s ease
}

header .social-list svg:hover path:not(.no-change),
header .social-list svg:hover rect:not(.no-change) {
    fill: #df1e26
}

header .contact-list {
    font-size: 12px
}

header .contact-list li:first-child {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

header .contact-list li:first-child svg {
    display: block;
    margin-right: 10px
}

header .contact-list li+li {
    margin-left: 20px
}

header .contact-list .btn path,
header .contact-list .contact-popout input[type=submit] path,
.contact-popout header .contact-list input[type=submit] path,
header .contact-list .contact-form-columns form input[type=submit] path,
.contact-form-columns form header .contact-list input[type=submit] path {
    transition: all .5s ease
}

@media only screen and (max-width:1023px) {
    header {
        height: 60px
    }

    header .social-list {
        display: none
    }

    header .contact-list {
        margin-left: auto
    }

    header .contact-list li:first-child {
        display: none
    }

    header .contact-list .btn,
    header .contact-list .contact-popout input[type=submit],
    .contact-popout header .contact-list input[type=submit],
    header .contact-list .contact-form-columns form input[type=submit],
    .contact-form-columns form header .contact-list input[type=submit] {
        -ms-flex-pack: start;
        justify-content: flex-start;
        width: 38px;
        height: 38px;
        padding: 10px;
        color: rgba(223, 30, 38, 0);
        overflow: hidden
    }

    header .contact-list .btn svg,
    header .contact-list .contact-popout input[type=submit] svg,
    .contact-popout header .contact-list input[type=submit] svg,
    header .contact-list .contact-form-columns form input[type=submit] svg,
    .contact-form-columns form header .contact-list input[type=submit] svg {
        -ms-flex-negative: 0;
        flex-shrink: 0
    }
}

@media only screen and (min-width:1024px) {

    header .btn:hover,
    header .contact-popout input:hover[type=submit],
    .contact-popout header input:hover[type=submit],
    header .contact-form-columns form input:hover[type=submit],
    .contact-form-columns form header input:hover[type=submit] {
        color: #df1e26;
        background-color: #fff
    }

    header .btn:hover path,
    header .contact-popout input:hover[type=submit] path,
    .contact-popout header input:hover[type=submit] path,
    header .contact-form-columns form input:hover[type=submit] path,
    .contact-form-columns form header input:hover[type=submit] path {
        fill: #df1e26
    }
}

nav:not(.pagination):not(.posts-navigation) {
    position: fixed;
    top: 45px;
    left: 0;
    width: 100%;
    /*height: 50px; allow the menu to wrap */
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    color: #1a1a1a;
    background-color: #fff;
    z-index: 101
}

nav:not(.pagination):not(.posts-navigation) ul.plain,
nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots,
.testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots {
    margin: 0
}

nav:not(.pagination):not(.posts-navigation) ul.plain>li>a,
nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li>a,
.testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li>a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    text-decoration: none
}

nav:not(.pagination):not(.posts-navigation) ul.plain>li>a:after,
nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li>a:after,
.testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li>a:after {
    margin-left: 1vw
}

nav:not(.pagination):not(.posts-navigation) ul.plain>li>a:hover,
nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li>a:hover,
.testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li>a:hover {
    color: #df1e26
}

nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown>a:after,
nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown>a:after,
.testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown>a:after {
    content: '';
    position: relative;
    display: block;
    background: transparent;
    border-style: solid dashed dashed;
    border-color: transparent;
    border-top-color: #1a1a1a;
    border-width: 5px 4px 0;
    transition: all .5s ease
}

.search-form {
    padding-left: 10px
}

.search-form input[type=text],
.search-form input[type=search] {
    padding: 10px 0;
    color: #1a1a1a;
    border: 2px solid rgba(223, 30, 38, 0);
    background: #fff;
    transition: all .3s;
    box-sizing: border-box
}

.search-form input[type=submit] {
    display: block;
    width: 17px;
    height: 17px;
    padding: 0px;
    background: #fff url(../img/icon-search.svg) center center no-repeat;
    background-size: 17px auto
}

@media only screen and (max-width:1023px) {
    nav:not(.pagination):not(.posts-navigation) {
        top: 60px;
        left: 100vw;
        width: 100vw;
        height: calc(100vh - 60px);
        overflow-y: auto;
        color: #fff;
        background: #1a1a1a;
        transition: all .5s ease
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown>a.expanded,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown>a.expanded,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown>a.expanded {
        color: #df1e26
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown>a.expanded:after,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown>a.expanded:after,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown>a.expanded:after {
        border-top-color: #df1e26
    }

    nav:not(.pagination):not(.posts-navigation)>.site-width {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        padding-top: 150px
    }

    nav:not(.pagination):not(.posts-navigation) .about-sub-nav li:first-child {
        display: none
    }

    nav:not(.pagination):not(.posts-navigation) .mobile-search-form {
        position: absolute;
        top: 30px;
        left: 0;
        width: 100%
    }

    nav:not(.pagination):not(.posts-navigation) .mobile-search-form form {
        position: relative;
        display: block
    }

    nav:not(.pagination):not(.posts-navigation) .mobile-search-form input[type=text],
    nav:not(.pagination):not(.posts-navigation) .mobile-search-form input[type=search] {
        position: relative;
        width: 100%;
        padding: 10px;
        margin-bottom: 0;
        color: #fff;
        border: 1px solid #fff;
        background: transparent;
        border-radius: 7px;
        transition: all .3s
    }

    nav:not(.pagination):not(.posts-navigation) .mobile-search-form input[type=submit] {
        position: absolute;
        right: 11px;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        display: block;
        width: 27px;
        height: 27px;
        padding: 5px;
        background: transparent url(../img/icon-search-white.svg) center center no-repeat;
        background-size: 17px auto
    }

    nav:not(.pagination):not(.posts-navigation) .mobile-search-form .btn,
    nav:not(.pagination):not(.posts-navigation) .mobile-search-form .contact-popout input[type=submit],
    .contact-popout nav:not(.pagination):not(.posts-navigation) .mobile-search-form input[type=submit],
    nav:not(.pagination):not(.posts-navigation) .mobile-search-form .contact-form-columns form input[type=submit],
    .contact-form-columns form nav:not(.pagination):not(.posts-navigation) .mobile-search-form input[type=submit] {
        margin-top: 20px;
        width: 100%
    }

    .menu-open nav:not(.pagination):not(.posts-navigation) {
        left: 0
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots {
        width: 100%
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain .mobile-search-form,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots .mobile-search-form,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots .mobile-search-form {
        display: block
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain li.search-form,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots li.search-form,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots li.search-form {
        display: none
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li {
        border-bottom: 1px solid #cacaca
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li>a,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li>a,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li>a {
        width: 100%;
        padding: 20px 0
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown>a:after,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown>a:after,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown>a:after {
        margin-left: 5vw;
        border-top-color: #fff
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown>a.expanded:after,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown>a.expanded:after,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown>a.expanded:after {
        -ms-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

@media only screen and (min-width:1024px) {
    nav:not(.pagination):not(.posts-navigation) {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        /* box-shadow: 0 5px 10px -2px rgba(0, 0, 0, .4) */
    }

    nav:not(.pagination):not(.posts-navigation) .mobile-search-form {
        display: none
    }

    nav:not(.pagination):not(.posts-navigation)>.site-width {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    nav:not(.pagination):not(.posts-navigation) .search-form input[type=text],
    nav:not(.pagination):not(.posts-navigation) .search-form input[type=search] {
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 100%;
        width: 0;
        margin-bottom: 0
    }

    nav:not(.pagination):not(.posts-navigation) .search-form:hover input[type=text],
    nav:not(.pagination):not(.posts-navigation) .search-form:hover input[type=search] {
        width: 200px;
        padding: 10px 20px;
        border-color: #df1e26
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain.nav-list-one>li a,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.nav-list-one.slick-dots>li a,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.nav-list-one.slick-dots>li a,
    nav:not(.pagination):not(.posts-navigation) ul.plain.nav-list-two>li a,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.nav-list-two.slick-dots>li a,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.nav-list-two.slick-dots>li a {
        position: relative;
        z-index: 102;
    }

    .nav-list-two {
        flex: 1 1 auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    nav:not(.pagination):not(.posts-navigation) li.search-form {
        z-index: 103
    }

    nav:not(.pagination):not(.posts-navigation) .nav-list-two>li:first-child {
        margin-left: 3vw
    }

    /* nav-list-two: add gap, larger text, no underline */
    .nav-list-two > li + li {
        margin-left: clamp(16px, 2vw, 5vw);
    }

    .nav-list-two a {
        text-decoration: none;
        font-size: 16px; /* increase as required */
        font-weight: 700;
        line-height: 1;
        padding: 10px 0; /* preserves click area */
        color: inherit;
    }
    /* preserve the intended first-item offset */
    .nav-list-two>li:first-child {
        margin-left: 3vw;
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown:hover>a,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown:hover>a,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown:hover>a {
        color: #df1e26
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown:hover>a:after,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown:hover>a:after,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown:hover>a:after {
        border-top-color: #df1e26
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li.dropdown>a:hover:after,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li.dropdown>a:hover:after,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li.dropdown>a:hover:after {
        border-top-color: #df1e26
    }

    nav:not(.pagination):not(.posts-navigation) ul.plain>li+li,
    nav:not(.pagination):not(.posts-navigation) .testimonial-carousel ul.slick-dots>li+li,
    .testimonial-carousel nav:not(.pagination):not(.posts-navigation) ul.slick-dots>li+li {
        margin-left: 3vw
    }
}

.menu-toggle {
    position: relative;
    display: block;
    width: 20px;
    transition: all .3s;
    z-index: 101
}

.menu-toggle span {
    position: relative;
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: all .3s;
    backface-visibility: hidden
}

.menu-toggle span+span {
    margin-top: 6px
}

.menu-open .menu-toggle span {
    background-color: #fff
}

.menu-open .menu-toggle span:nth-child(1) {
    -ms-transform: translate(0, 7px) rotate(45deg);
    transform: translate(0, 7px) rotate(45deg)
}

.menu-open .menu-toggle span:nth-child(2) {
    opacity: 0
}

.menu-open .menu-toggle span:nth-child(3) {
    -ms-transform: translate(0, -7px) rotate(-45deg);
    transform: translate(0, -7px) rotate(-45deg)
}

@media only screen and (min-width:1024px) {
    .menu-toggle {
        display: none
    }
}

.sub-nav a {
    text-decoration: none
}

@media only screen and (max-width:1023px) {
    .sub-nav {
        display: none;
        padding-bottom: 10px;
        text-align: center
    }

    .sub-nav ul li {
        margin-bottom: 15px
    }

    .nav-list-one .sub-nav ul {
        margin: 0
    }

    .nav-list-one .sub-nav ul li:first-child a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        position: relative
    }

    .nav-list-one .sub-nav ul li:first-child a:after {
        content: '';
        position: relative;
        display: block;
        margin-left: 5vw;
        background: transparent;
        border-style: solid dashed dashed;
        border-color: transparent;
        border-top-color: #fff;
        border-width: 5px 4px 0;
        transition: all .5s ease
    }

    .nav-list-one .sub-nav ul li:first-child~li {
        display: none
    }

    .nav-list-one .sub-nav ul li:first-child.expand a:after {
        -ms-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

@media only screen and (min-width:1024px) {
    .sub-nav {
        pointer-events: none;
        display: block !important;
        position: fixed;
        /* top: 75px; move nav-list-two dropdown back up to normal position */
        /* left: 0;*/
        /* width: 100vw;*/
        /* max-height: 0;*/
        /* padding: 0;*/
        background-color: #fff;
        color:#000;
        /*border-top: 2px solid transparent;*/
        box-shadow: 0 9px 10px -2px rgba(0, 0, 0, .5);
        z-index: 100000000000000000000000000;
        overflow: hidden;
        transition: all .5s
    }

    .dropdown:hover .sub-nav {
        pointer-events: auto;
        max-height: 500px;
        padding: 50px 0 70px
    }

    .sub-nav .site-width {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .sub-nav li {
        display: block !important
    }

    .sub-nav li:first-child {
        padding-bottom: 5px;
        margin-bottom: 10px;
        text-transform: uppercase;
        border-bottom: 1px solid #1a1a1a
    }

    .sub-nav li:first-child:nth-child(1n+2) {
        font-weight: 400
    }

    .sub-nav a:hover {
        color: #df1e26
    }

    .sub-nav ul {
        margin: 0
    }

    .sub-nav ul+ul {
        margin-left: 2vw
    }

    .sub-nav ul li:nth-child(1n+2) {
        text-transform: capitalize;
        margin-bottom: 5px
    }
}

.pre-footer {
    padding: 0 0 120px;
    text-align: center
}

.pre-footer ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0
}

.pre-footer ul li {
    display: inline-block
}

.pre-footer ul li+li {
    margin-left: 2.6vw
}

.pre-footer a {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 68px;
    height: 68px;
    border-radius: 100%;
    border: 3px solid gray
}

.pre-footer a path,
.pre-footer a rect {
    transition: all .5s ease
}

.pre-footer a:hover {
    background-color: gray
}

.pre-footer a:hover path,
.pre-footer a:hover rect {
    fill: #fff
}

.pre-footer a:hover path.alt-hover,
.pre-footer a:hover rect.alt-hover {
    fill: gray
}

@media only screen and (max-width:767px) {
    .pre-footer {
        padding: 0 0 30px
    }

    .pre-footer a {
        width: 34px;
        height: 34px
    }

    .pre-footer a svg {
        max-width: 70%;
        max-height: 60%
    }

    .pre-footer a {
        margin-bottom: 30px
    }
}

footer {
    padding: 15px 0;
    color: #fff;
    background-color: #333
}

footer .site-width {
    max-width: 1160px;
    font-family: Lato, Helvetica, sans-serif;
    font-size: 12px
}

footer .address {
    padding-left: 22px
}

footer .address:before {
    content: '';
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 17px;
    height: 26px;
    background: url(../img/icon-address.svg) center center no-repeat
}

@media only screen and (max-width:767px) {
    footer {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        text-align: center
    }

    footer p:last-child {
        margin-bottom: 0
    }
}

@media only screen and (min-width:768px) {
    footer .site-width {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    footer p {
        margin-bottom: 0
    }

    footer p+p {
        margin-left: 20px
    }
}

.contact-footer h4 {
    color: #df1e26
}

.contact-footer input[type=email] {
    color: #1a1a1a;
    text-transform: uppercase;
    text-align: center;
    font-size: 12px;
    letter-spacing: 1px
}

.contact-footer .columns {
    width: 100%;
    max-width: 1215px;
    margin: 0 auto;
    text-align: center
}

.contact-footer .col {
    -ms-flex-preferred-size: 1;
    flex-basis: 1;
    max-width: 325px
}

.contact-footer .col img {
    display: inline-block
}

.contact-footer .btn:not(.small),
.contact-footer .contact-popout input:not(.small)[type=submit],
.contact-popout .contact-footer input:not(.small)[type=submit],
.contact-footer .contact-form-columns form input:not(.small)[type=submit],
.contact-form-columns form .contact-footer input:not(.small)[type=submit] {
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.contact-footer input,
.contact-footer .btn,
.contact-footer .contact-popout input[type=submit],
.contact-popout .contact-footer input[type=submit],
.contact-footer .contact-form-columns form input[type=submit],
.contact-form-columns form .contact-footer input[type=submit] {
    margin-top: 30px
}

.contact-footer .phone-link,
.contact-footer .email-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 100%;
    max-width: 260px;
    margin: 0 auto 30px;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    text-align: left
}

.contact-footer .phone-link svg,
.contact-footer .email-link svg {
    margin-right: clamp(20px, 5vw, 60px)
}

.contact-footer .phone-link path,
.contact-footer .email-link path {
    transition: all .5s ease
}

.contact-footer .phone-link:hover,
.contact-footer .email-link:hover {
    color: #df1e26
}

.contact-footer .phone-link:hover path,
.contact-footer .email-link:hover path {
    fill: #df1e26
}

@media only screen and (max-width:767px) {
    .contact-footer {
        padding: 60px 0
    }

    .contact-footer .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .contact-footer .col {
        width: 100%
    }

    .contact-footer .col img {
        margin-bottom: 60px
    }

    .contact-footer .col h4 {
        margin-bottom: 30px
    }

    .contact-footer .col+.col:before {
        content: '';
        display: block;
        position: relative;
        width: 100%;
        height: 1px;
        background-color: gray;
        margin: 60px 0
    }
}

@media only screen and (min-width:768px) {
    .contact-footer {
        padding: 120px 0
    }

    .contact-footer .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: stretch;
        align-items: stretch;
        -ms-flex-line-pack: stretch;
        align-content: stretch;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .contact-footer .col {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        width: 33.3%
    }

    .contact-footer .col:nth-child(1n+2) {
        padding-bottom: 65px
    }

    .contact-footer .col form {
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding-bottom: 65px
    }

    .contact-footer .col input,
    .contact-footer .col .btn,
    .contact-footer .col .contact-popout input[type=submit],
    .contact-popout .contact-footer .col input[type=submit],
    .contact-footer .col .contact-form-columns form input[type=submit],
    .contact-form-columns form .contact-footer .col input[type=submit] {
        position: absolute;
        bottom: 0;
        left: 50%;
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .contact-footer .col img {
        margin-bottom: 79.2px
    }

    .contact-footer .col h4 {
        margin-bottom: 39.6px
    }

    .contact-footer .col:nth-child(2) {
        margin: 0 6vw
    }

    .contact-footer .col:nth-child(2):before,
    .contact-footer .col:nth-child(2):after {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        width: 1px;
        height: 100%;
        background-color: gray
    }

    .contact-footer .col:nth-child(2):before {
        left: -3vw
    }

    .contact-footer .col:nth-child(2):after {
        right: -3vw
    }
}

.btn,
.contact-popout input[type=submit],
.contact-form-columns form input[type=submit] {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    text-decoration: none;
    text-transform: uppercase
}

.btn:not(.outline),
.contact-popout input:not(.outline)[type=submit],
.contact-form-columns form input:not(.outline)[type=submit] {
    color: #fff;
    background-color: #df1e26
}

.btn:not(.outline) path,
.contact-popout input:not(.outline)[type=submit] path,
.contact-form-columns form input:not(.outline)[type=submit] path {
    transition: all .5s ease
}

.btn:not(.outline):hover,
.contact-popout input:not(.outline):hover[type=submit],
.contact-form-columns form input:not(.outline):hover[type=submit] {
    color: #df1e26;
    background-color: #fff
}

.btn:not(.outline):hover path,
.contact-popout input:not(.outline):hover[type=submit] path,
.contact-form-columns form input:not(.outline):hover[type=submit] path {
    fill: #df1e26
}

.btn.outline,
.contact-popout input.outline[type=submit],
.contact-form-columns form input.outline[type=submit] {
    background-color: transparent;
    border: 2px solid #df1e26
}

.btn.outline:hover,
.contact-popout input.outline:hover[type=submit],
.contact-form-columns form input.outline:hover[type=submit] {
    color: #fff;
    background-color: #df1e26
}

.btn:not(.small),
.contact-popout input:not(.small)[type=submit],
.contact-form-columns form input:not(.small)[type=submit] {
    width: auto;
    min-height: 34px;
    padding: 0 30px;
    font-weight: 700;
    font-size: 17px;
    border-radius: 7px
}

.btn.small,
.contact-popout input.small[type=submit],
.contact-form-columns form input.small[type=submit] {
    width: 125px;
    height: 25px;
    border-radius: 3px
}

.btn svg,
.contact-popout input[type=submit] svg,
.contact-form-columns form input[type=submit] svg {
    display: block;
    margin-right: 10px
}

form {
    position: relative;
    display: block;
    width: 100%
}

button,
input[type=submit] {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    transition: all .5s ease
}

.contact-footer input[type=text],
.contact-footer input[type=email],
.contact-footer input[type=phone] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    display: block;
    width: 100%;
    height: 34px;
    padding: 0 30px;
    border-radius: 7px;
    border: 2px solid #cacaca
}

input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding: 0 0 10px;
    margin-bottom: 25px;
    color: #fff;
    border: 0;
    border-bottom: 1px solid #fff;
    background: transparent
}

input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    opacity: 1
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
select::placeholder,
textarea::placeholder {
    opacity: 1
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
    outline: 2px solid #fff
}

.custom-select {
    position: relative
}

.custom-select:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    -ms-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
    width: 7px;
    height: 14px;
    background: url(../img/carousel-arw.svg) center center no-repeat;
    background-size: 100% auto
}

.custom-select option {
    color: #1a1a1a
}

.wpcf7-not-valid-tip {
    display: block;
    margin-top: -15px;
    margin-bottom: 25px
}

.contact-footer fieldset {
    padding: 0;
    margin: 0;
    border: 0
}

.contact-footer .form__label {
    display: none
}

.product-cols .product-content {
    overflow: hidden
}

.product-cols .product-downloads {
    overflow: hidden
}

.product-cols .product-downloads>* {
    position: relative;
    width: 100%;
    max-width: 385px;
    margin-left: auto;
    margin-right: auto
}

.product-cols .product-downloads h1 {
    margin-bottom: 30px
}

.product-cols .product-downloads h2 {
    text-transform: none;
    font-size: 20px;
    letter-spacing: 0
}

.product-cols .product-downloads h5 {
    margin-bottom: 0
}

.product-cols .product-downloads ul {
    padding-left: 90px;
    margin-top: 30px;
    min-height: 80px;
    background: url(../img/icon-downloads.svg) left top no-repeat;
    background-size: 65px auto
}

.product-cols .product-downloads ul li:first-child {
    text-transform: uppercase;
    font-weight: 700
}

.product-cols .product-downloads ul li+li {
    margin-top: 5px
}

.product-cols .product-downloads ul a {
    text-decoration: none
}

.product-cols .product-downloads ul a:hover {
    color: #df1e26
}

@media only screen and (max-width:1279px) {
    .product-cols .product-downloads {
        padding: 60px 5vw
    }

    .product-cols .product-downloads.mobile-only {
        display: block
    }

    .product-cols .product-downloads.desktop-only {
        display: none
    }
}

@media only screen and (min-width:1280px) {
    .product-cols {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .product-cols .product-downloads.mobile-only {
        display: none
    }

    .product-cols .product-downloads.desktop-only {
        display: block
    }

    .product-cols .product-content {
        width: 67%;
        border-right: 1px solid #cacaca
    }

    .product-cols .product-downloads {
        position: sticky;
        top: 95px;
        right: 0;
        width: 33%;
        min-width: 425px;
        min-height: calc(100vh - 95px);
        padding: 60px 20px;
        box-shadow: inset 10px 0 20px 1px rgba(0, 0, 0, .3)
    }
}

@media only screen and (min-width:767px) and (min-height:900px) {
    .product-cols .product-downloads {
        padding-top: 120px
    }

    .product-cols .product-downloads h1 {
        margin-bottom: 60px
    }

    .product-cols .product-downloads h5 {
        margin-bottom: 0
    }

    .product-cols .product-downloads ul {
        margin-top: 60px;
        padding-left: 115px;
        min-height: 101px;
        background: url(../img/icon-downloads.svg) left top no-repeat
    }

    .product-cols .product-downloads ul li+li {
        margin-top: 15px
    }
}

.breadcrumbs {
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    z-index: 5
}

.breadcrumbs a {
    text-decoration: none
}

.breadcrumbs a:hover {
    color: #df1e26
}

.has-page-bg-text .breadcrumbs {
    top: 20px;
    color: #1a1a1a
}

.slick-arrow {
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    background: transparent;
    border: 0
}

.read-more {
    position: relative;
    display: inline-block;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 19px;
    text-decoration: none
}

.read-more:after {
    content: '';
    position: relative;
    display: inline-block;
    width: 8px;
    height: 15px;
    margin-left: 20px;
    background: url(../img/icon-arrow.svg) center center no-repeat;
    background-size: 100% auto
}

.read-more-toggle {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 75px;
    margin: 40px auto 0;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700
}

.read-more-toggle:hover {
    color: inherit
}

.read-more-toggle:after {
    content: '';
    position: relative;
    display: inline-block;
    margin-top: 10px;
    background: transparent;
    border-style: solid dashed dashed;
    border-color: transparent;
    border-top-color: #df1e26;
    border-width: 10px 8px 0;
    transition: all .5s ease
}

.caption {
    position: relative;
    display: block;
    width: 100%;
    margin-top: 20px;
    font-size: 12px;
    text-align: center;
    text-transform: uppercase
}

.iframe-contain {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0
}

.iframe-contain iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.iframe-contain iframe+p {
    display: none
}

iframe {
    max-width: 100%
}

.article-content {
    padding: 60px 0 120px
}

.article-content .site-width {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.article-content h1,
.article-content .h1,
.article-content h2,
.article-content .h2,
.article-content h3,
.article-content .h3,
.article-content h4,
.article-content .h4,
.article-content h5,
.article-content .h5,
.article-content .quote-header p,
.quote-header .article-content p,
.article-content h6,
.article-content .h6 {
    width: 100%;
    margin: 30px 0
}

.article-content p:first-child {
    margin-bottom: 60px
}

.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote {
    width: 100%
}

.article-content blockquote {
    position: relative;
    display: block;
    margin: 0 0 60px;
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    text-align: center
}

.article-content blockquote span {
    position: relative;
    display: block;
    padding: 120px 0;
    z-index: 2
}

.article-content blockquote span:before,
.article-content blockquote span:after {
    position: absolute;
    display: block;
    height: 100px;
    font-size: 200px;
    line-height: .8
}

.article-content blockquote span:before {
    content: open-quote;
    top: 0;
    left: 0
}

.article-content blockquote span:after {
    content: close-quote;
    bottom: 0;
    right: 0
}

.article-content blockquote:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: -50VW;
    width: 200vw;
    height: 100%;
    background-color: #333;
    z-index: 0
}

@media only screen and (max-width:767px) {
    .article-content blockquote span {
        padding: 60px 0
    }

    .article-content blockquote span:before {
        top: 5px
    }

    .article-content blockquote span:before,
    .article-content blockquote span:after {
        height: 50px;
        font-size: 160px;
        line-height: .6
    }
}

.article-content .site-width>img,
.article-content .site-width p img {
    position: relative;
    margin: 30px auto;
    text-align: center
}

.article-content iframe {
    position: relative;
    margin: 30px auto
}

.article-content .gallery figure img {
    height: auto
}

@media only screen and (max-width:767px) {
    .article-content .gallery {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        margin-top: 30px
    }

    .article-content .gallery figure {
        width: 100%;
        margin: 0 0 30px
    }
}

@media only screen and (min-width:768px) {
    .article-content .gallery {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        margin: 30px 0 30px -20px
    }

    .article-content .gallery figure {
        width: calc(50% - 40px);
        margin: 0 20px
    }
}

.article-share {
    margin-top: 60px;
    text-align: center
}

.article-share ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0
}

.article-share ul li {
    display: inline-block
}

.article-share ul li+li {
    margin-left: clamp(20px, 2.6vw, 2.6vw)
}

.article-share a {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 68px;
    height: 68px;
    border-radius: 100%;
    border: 3px solid #1a1a1a
}

.article-share a path,
.article-share a rect {
    transition: all .5s ease
}

.article-share a:hover {
    background-color: #1a1a1a
}

.article-share a:hover path,
.article-share a:hover rect {
    fill: #fff
}

.article-share a:hover path.alt-hover,
.article-share a:hover rect.alt-hover {
    fill: #1a1a1a
}

@media only screen and (max-width:767px) {
    .article-share {
        padding: 0 0 30px;
        margin-top: 30px
    }

    .article-share a {
        width: 54px;
        height: 54px
    }

    .article-share a svg {
        max-width: 70%;
        max-height: 60%
    }
}

.page-background-text {
    opacity: .05;
    position: absolute;
    width: auto;
    top: 60px;
    left: 0;
    color: #df1e26;
    font-size: 11vw;
    white-space: nowrap;
    line-height: .8;
    letter-spacing: 2vw;
    text-transform: uppercase;
    z-index: 1
}

@media only screen and (max-width:767px) {
    .page-background-text {
        display: none
    }
}

#gtranslate_wrapper {
    left: 0 !important
}

.search-results .nav-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.search-results .nav-next {
    margin-right: 15px
}

.no-touch .search-results .nav-links a:hover {
    color: #df1e26
}

.title-categories {
    padding-bottom: 30px
}

.title-categories .categories-contain {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -10px
}

.title-categories .btn,
.title-categories .contact-popout input[type=submit],
.contact-popout .title-categories input[type=submit],
.title-categories .contact-form-columns form input[type=submit],
.contact-form-columns form .title-categories input[type=submit] {
    margin: 0 10px 30px;
    font-size: 13px
}

@media only screen and (max-width:767px) {
    .title-categories .categories-contain {
        -ms-flex-pack: center;
        justify-content: center
    }
}

.paging {
    text-align: center;
    font-weight: 700;
    font-size: 20px
}

.paging a {
    text-decoration: none
}

.paging a:hover {
    color: #df1e26
}

.paging span {
    display: inline-block;
    color: #df1e26
}

.paging span,
.paging a {
    margin: 0 5px
}

@media only screen and (max-width:767px) {
    .paging {
        padding-bottom: 60px
    }
}

@media only screen and (min-width:768px) {
    .paging {
        padding-bottom: 120px
    }
}

.contact-background {
    pointer-events: none;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: rgba(26, 26, 26, .5);
    transition: all .5s ease
}

.contact-popout {
    position: fixed;
    right: 0;
    top: 0;
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    width: calc(100% - 30px);
    max-width: 440px;
    color: #fff;
    overflow: visible;
    background-color: #333;
    border-left: 20px solid #df1e26;
    transition: all .5s ease;
    z-index: 1001
}

.contact-popout .internal {
    position: relative;
    width: 100%;
    height: 100vh;
    padding: 120px 60px;
    overflow-y: auto
}

.contact-popout .tab {
    position: absolute;
    top: 110px;
    right: 100%;
    -ms-transform: rotate(-90deg) translateY(-59%);
    transform: rotate(-90deg) translateY(-59%);
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    padding: 10px;
    font-weight: 700;
    width: 175px;
    text-align: center;
    text-transform: uppercase;
    line-height: 1;
    font-size: 14px;
    border-radius: 7px 7px 0 0;
    background-color: #df1e26
}

.contact-popout input[type=submit] {
    position: relative;
    display: block;
    width: 100px;
    margin-left: auto
}

@media only screen and (max-width:767px) {
    .contact-popout .internal {
        padding: 60px
    }
}

.popout-open .contact-background {
    opacity: 1;
    pointer-events: auto;
    pointer: cursor
}

.popout-open .contact-popout {
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.menu-open .contact-popout,
.menu-open .contact-background,
.menu-open.popout-open .contact-popout,
.menu-open.popout-open .contact-background {
    opacity: 0;
    pointer-events: none
}

.header-carousel .header-carousel-contain {
    position: relative;
    z-index: 1
}

.header-carousel .scroll-icon {
    position: absolute;
    top: calc(100vh - 110px);
    left: 50%;
    -ms-transform: translate(-50%, -110%);
    transform: translate(-50%, -110%);
    transition: all .5s ease;
    z-index: 10
}

.header-carousel .scroll-icon.scrolled {
    opacity: 0
}

.header-carousel .scroll-icon #Line_33,
.header-carousel .scroll-icon #Line_34 {
    opacity: 0;
    animation: show 2s linear infinite
}

.header-carousel .scroll-icon #Line_35,
.header-carousel .scroll-icon #Line_36 {
    opacity: 0;
    animation: show 2s linear .5s infinite
}

.header-carousel .slick-arrow {
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2
}

.header-carousel .slick-arrow.prev-arw {
    left: 20px;
    -ms-transform: translateY(-50%) rotate(-180deg);
    transform: translateY(-50%) rotate(-180deg)
}

.header-carousel .slick-arrow.next-arw {
    right: 20px
}

.header-carousel .slick-arrow path {
    transition: all .5s ease
}

.header-carousel .slick-arrow:hover path {
    fill: #df1e26
}

.header-carousel .slide {
    position: relative
}

.header-carousel .slide img {
    display: block;
    width: 100%
}

.header-carousel .site-width {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 20vh 0
}

.header-carousel .text-contain {
    width: 100%;
    max-width: 595px;
    padding: 20px;
    color: #fff;
    background: rgba(0, 0, 0, .8)
}

@media only screen and (max-width:767px) {
    .header-carousel .site-width {
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center
    }

    .header-carousel .scroll-icon {
        display: none
    }

    .header-carousel .slick-arrow {
        width: 12px
    }

    .header-carousel .slick-arrow svg {
        width: 100%
    }

    .header-carousel .slick-arrow.prev-arw {
        left: 10px
    }

    .header-carousel .slick-arrow.next-arw {
        right: 10px
    }
}

@keyframes show {
    0% {
        opacity: 0
    }

    25% {
        opacity: 1
    }

    50% {
        opacity: 1
    }

    75% {
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

@keyframes show2 {
    0% {
        opacity: 0
    }

    20% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    80% {
        opacity: 0
    }
}

.two-col-background-text {
    font-size: 20px
}

.two-col-background-text .background-text {
    opacity: .05;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #df1e26;
    text-align: center;
    font-size: 18vw;
    white-space: nowrap;
    line-height: .8;
    letter-spacing: 2vw;
    text-transform: uppercase;
    z-index: 1
}

.two-col-background-text h2.h1 {
    position: relative;
    display: block;
    padding-bottom: 20px;
    margin-bottom: 30px;
    line-height: .8;
    border-bottom: 4px dotted #1a1a1a
}

.two-col-background-text h2.h1:before {
    content: '';
    position: absolute;
    display: block;
    right: 100%;
    bottom: 0;
    -ms-transform: translate(0, 4px);
    transform: translate(0, 4px);
    width: 50vw;
    height: 1px;
    border-bottom: 4px dotted #df1e26
}

.two-col-background-text .columns {
    position: relative;
    width: 100%;
    z-index: 2
}

.two-col-background-text .col:first-child p {
    max-width: 440px;
    font-weight: 700
}

@media only screen and (max-width:767px) {
    .two-col-background-text {
        padding: 120px 0;
        text-align: center
    }

    .two-col-background-text .background-text {
        display: none
    }

    .two-col-background-text h2.h1:after {
        content: '';
        position: absolute;
        display: block;
        left: 100%;
        bottom: 0;
        -ms-transform: translate(12px, 4px);
        transform: translate(12px, 4px);
        width: 50vw;
        height: 1px;
        border-bottom: 4px dotted #1a1a1a
    }

    .two-col-background-text .col:first-child p {
        margin-bottom: 30px
    }
}

@media only screen and (min-width:768px) {
    .two-col-background-text {
        padding: 120px 0
    }

    .two-col-background-text h2.h1 {
        max-width: 440px
    }

    .two-col-background-text .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .two-col-background-text .columns .col {
        width: 48.5%
    }
}

.product-content .three-column-boxes {
    font-size: 12px
}

.three-column-boxes .col {
    position: relative;
    display: block;
    text-align: center;
    color: #fff;
    overflow: hidden
}

.three-column-boxes .col a:not(.btn) {
    color: #fff
}

.three-column-boxes .col:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 26, 26, .7);
    transition: all .5s ease;
    z-index: 2
}

.three-column-boxes .col.light {
    color: #1a1a1a
}

.three-column-boxes .col.light:after {
    background: rgba(255, 255, 255, .8)
}

.three-column-boxes .col>img {
    position: relative;
    display: block;
    width: 100%;
    z-index: 1;
    transition: all .5s ease
}

.three-column-boxes .text-contain {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
    z-index: 3
}

.three-column-boxes .text-contain img {
    display: block;
    width: auto;
    height: auto;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto
}

.three-column-boxes h3,
.three-column-boxes .text-contain img {
    margin-bottom: 20px
}

.three-column-boxes p {
    position: relative;
    max-width: 370px;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.three-column-boxes p:last-child {
    margin-bottom: 0
}

@media only screen and (max-width:767px) {
    .three-column-boxes .col {
        width: 100%
    }
}

@media only screen and (min-width:768px) {
    .three-column-boxes .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: stretch;
        align-items: stretch;
        -ms-flex-line-pack: stretch;
        align-content: stretch;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .three-column-boxes .col {
        width: 33.3%;
        -ms-flex-positive: 1;
        flex-grow: 1
    }

    .three-column-boxes .col.logo-hover .intro {
        opacity: 0;
        -ms-transform: translateY(25px);
        transform: translateY(25px);
        transition: all .5s ease
    }

    .three-column-boxes .col.logo-hover:hover .intro {
        opacity: 1;
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    .three-column-boxes .col.logo-hover:hover>img {
        -ms-transform: scale(1.2);
        transform: scale(1.2)
    }

    .three-column-boxes a.col img {
        transition: all .5s;
        backface-visibility: none
    }

    .three-column-boxes a.col:hover img {
        -ms-transform: scale(1.2);
        transform: scale(1.2)
    }
}

.large-background-text-overlay {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100vh;
    display: flex; /* 2025 */
}

.large-background-text-overlay img {
    display: block
}

.large-background-text-overlay video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.large-background-text-overlay h2 {
    padding-bottom: 20px;
    margin-bottom: 30px;
    /* border-bottom: 4px dotted #fff    2025 */
}

.large-background-text-overlay .btn,
.large-background-text-overlay .contact-popout input[type=submit],
.contact-popout .large-background-text-overlay input[type=submit],
.large-background-text-overlay .contact-form-columns form input[type=submit],
.contact-form-columns form .large-background-text-overlay input[type=submit] {
    margin-top: 30px
}

.large-background-text-overlay .btn img,
.large-background-text-overlay .contact-popout input[type=submit] img,
.contact-popout .large-background-text-overlay input[type=submit] img,
.large-background-text-overlay .contact-form-columns form input[type=submit] img,
.contact-form-columns form .large-background-text-overlay input[type=submit] img {
    display: inline-block;
    height: 20px;
    width: auto;
    margin-right: 15px
}

.large-background-text-overlay .text-contain {
    width: 100%;
    padding: 60px 0;
    color: #fff;
    text-align: center;
    background: rgba(26, 26, 26, 0.3); /* 2025 */
    display: flex; /* 2025 */
    align-items: center; /* 2025 */
}

.large-background-text-overlay .text-contain .internal {
    position: relative;
    width: 90%;
    max-width: 760px;
    margin: 0 auto
}

@media only screen and (max-width:767px) {
    .large-background-text-overlay {
        /* padding: 100px 0     2025 */
    }

    .large-background-text-overlay .text-contain {
        position: relative
    }

    .large-background-text-overlay img {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .large-background-text-overlay .text-contain {
        position: absolute;
        top: 50%;
        left: 0;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        height: 100%; /* 2025 */
    }
}

.two-col-projects-links .col.text {
    background-color: #f0f0f0
}

.two-col-projects-links .col.text .btn,
.two-col-projects-links .col.text .contact-popout input[type=submit],
.contact-popout .two-col-projects-links .col.text input[type=submit],
.two-col-projects-links .col.text .contact-form-columns form input[type=submit],
.contact-form-columns form .two-col-projects-links .col.text input[type=submit] {
    margin-top: 30px
}

.two-col-projects-links .col.links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.two-col-projects-links .col.links .overlay {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    color: #fff;
    text-transform: uppercase;
    background: rgba(26, 26, 26, .6);
    z-index: 2;
    transition: all .5s ease
}

.two-col-projects-links .col.links .overlay span {
    opacity: 0;
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    transition: all .5s ease .3s
}

.two-col-projects-links .col.links .overlay .title {
    font-size: 11px;
    font-weight: 700
}

.two-col-projects-links .col.links .overlay .location {
    font-size: 10px
}

.two-col-projects-links .col.links a {
    position: relative;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: block;
    width: 33%;
    overflow: hidden
}

.two-col-projects-links .col.links a img {
    position: relative;
    display: block;
    width: 100%;
    max-width: none;
    min-height: 100%;
    z-index: 1
}

.two-col-projects-links .col.links a:hover .overlay {
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.two-col-projects-links .col.links a:hover .overlay span {
    opacity: 1;
    -ms-transform: translateY(0);
    transform: translateY(0)
}

@media only screen and (max-width:767px) {
    .two-col-projects-links .col.text {
        padding: 60px 5vw;
        text-align: center
    }

    .two-col-projects-links .col.links a:first-child {
        width: 100%
    }

    .two-col-projects-links .col.links a:nth-child(1n+2) {
        width: 50%
    }
}

@media only screen and (min-width:768px) {
    .two-col-projects-links .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        background-color: #f0f0f0
    }

    .two-col-projects-links .col {
        width: 50%
    }

    .two-col-projects-links .col.text {
        padding: 80px 40px;
        text-align: right
    }

    .two-col-projects-links .col.text .internal {
        position: relative;
        width: 100%;
        max-width: 660px;
        margin: 0 auto
    }
}

.small-background-text-overlay {
    color: #fff;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 100%
}

.small-background-text-overlay .text-contain {
    position: relative;
    width: 100%;
    max-width: 845px;
    margin: 0 auto;
    text-align: center
}

@media only screen and (max-width:767px) {
    .small-background-text-overlay {
        padding: 100px 0
    }
}

@media only screen and (min-width:768px) {
    .small-background-text-overlay {
        padding: 150px 0
    }
}

.two-col-img-text {
    background-color: #f0f0f0
}

.two-col-img-text .site-width {
    z-index: 2
}

.two-col-img-text>img {
    display: block;
    z-index: 1
}

.two-col-img-text ul:not(.plain) li {
    position: relative;
    list-style-type: none;
    padding-left: 15px;
    margin-left: 0
}

.two-col-img-text ul:not(.plain) li+li {
    margin-top: 15px
}

.two-col-img-text ul:not(.plain) li:before {
    content: '–';
    position: absolute;
    top: -1px;
    left: 0
}

.two-col-img-text .col.links img {
    display: block;
    width: 100%
}

.two-col-img-text .col.links a {
    position: relative;
    display: block;
    padding: 12px 20px 12px 60px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    color: rgba(26, 26, 26, .5);
    background: #fff;
    border: 2px solid rgba(26, 26, 26, 0)
}

.two-col-img-text .col.links a:before {
    opacity: .5;
    content: '';
    position: absolute;
    display: block;
    top: 10px;
    left: 20px;
    width: 17px;
    height: 17px;
    background: url(../img/col-search-placeholder.svg) center center no-repeat;
    background-size: 100% auto;
    transition: all .5s ease
}

.two-col-img-text .col.links a:hover {
    color: #1a1a1a;
    border: 2px solid #1a1a1a
}

.two-col-img-text .col.links a:hover:before {
    opacity: 1
}

@media only screen and (max-width:1023px) {
    .two-col-img-text {
        padding: 60px 0
    }

    .two-col-img-text .col {
        text-align: center
    }

    .two-col-img-text .col+.col {
        margin-top: 60px
    }

    .two-col-img-text.edge-img>img {
        position: relative;
        width: 100%;
        height: auto;
        margin-top: 60px;
        max-width: 500px;
        margin-left: auto
    }

    .two-col-img-text.full-height-img {
        padding-bottom: 0
    }
}

@media only screen and (min-width:1024px) {
    .two-col-img-text {
        padding: 120px 0
    }

    .two-col-img-text.edge-img:not(.full-height-img):not(.vertically-center)>img {
        position: absolute;
        display: block;
        right: 0;
        bottom: 0;
        width: auto;
        height: auto;
        max-height: 90%;
        max-width: 50%
    }

    .two-col-img-text.edge-img.vertically-center:not(.full-height-img)>img {
        position: absolute;
        display: block;
        right: 0;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: auto;
        height: auto;
        max-height: 90%;
        max-width: 50%
    }

    .two-col-img-text.edge-img.full-height-img>img {
        position: absolute;
        display: block;
        right: 0;
        top: 0;
        width: auto;
        height: 100%
    }

    .two-col-img-text .btn,
    .two-col-img-text .contact-popout input[type=submit],
    .contact-popout .two-col-img-text input[type=submit],
    .two-col-img-text .contact-form-columns form input[type=submit],
    .contact-form-columns form .two-col-img-text input[type=submit] {
        margin-top: 30px
    }

    .two-col-img-text .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .two-col-img-text .columns.reverse {
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .two-col-img-text .columns .col {
        width: 48.5%
    }

    .two-col-img-text .columns .col.text>* {
        max-width: 660px
    }
}

.logo-carousel {
    background-color: #cacaca
}

.logo-carousel .logo-carousel-contain .slick-slide {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 100px
}

.logo-carousel .logo-carousel-contain .slick-slide img {
    display: block;
    max-height: 100px;
    max-width: 200px;
    width: auto;
    height: auto
}

@media only screen and (max-width:767px) {
    .logo-carousel {
        padding: 60px 0
    }
}

@media only screen and (min-width:768px) {
    .logo-carousel {
        padding: 120px 0
    }
}

.header-small {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 100%;
    min-height: 380px;
    padding: 50px 0;
    text-align: center;
    color: #fff;
    font-size: 20px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat
}

.header-small a:not(.btn) {
    color: #fff
}

.header-small:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 26, 26, .7);
    z-index: 1
}

.header-small .text-contain {
    z-index: 2
}

.header-small p {
    max-width: 1230px;
    margin-left: auto;
    margin-right: auto
}

.location-columns .col {
    position: relative;
    text-align: center
}

.location-columns iframe {
    width: 100%
}

.location-columns .text-contain {
    padding: 60px 30px
}

@media only screen and (min-width:768px) {
    .location-columns .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .location-columns .col {
        width: 50%
    }
}

.social-links-block {
    color: #fff;
    font-weight: 700;
    background: #3f3f3f;
    background: linear-gradient(180deg, #3f3f3f 0, #2d2d2d 100%)
}

.social-links-block .background-text {
    opacity: .02;
    position: absolute;
    width: 100%;
    top: 50px;
    left: 0;
    -ms-transform: translate(-20%, -32%);
    transform: translate(-20%, -32%);
    color: #fff;
    text-align: center;
    font-size: 165px;
    font-weight: 400;
    white-space: nowrap;
    line-height: .8;
    letter-spacing: 1vw;
    text-transform: uppercase;
    z-index: 1
}

.social-links-block h2 {
    position: relative;
    display: block;
    padding-bottom: 20px;
    margin-bottom: 30px;
    line-height: 1;
    border-bottom: 4px dotted #fff
}

.social-links-block h2:before {
    content: '';
    position: absolute;
    display: block;
    right: 100%;
    bottom: 0;
    -ms-transform: translate(0, 4px);
    transform: translate(0, 4px);
    width: 50vw;
    height: 1px;
    border-bottom: 4px dotted #df1e26
}

.social-links-block h2+p {
    font-size: 20px
}

.social-links-block .col {
    position: relative
}

.social-links-block .columns {
    position: relative;
    width: 100%;
    z-index: 2
}

.social-links-block .col:first-child>*:not(.background-text) {
    position: relative;
    z-index: 2
}

.social-links-block ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 0 -1vw
}

.social-links-block ul li {
    display: inline-block;
    margin: 20px 1vw 0
}

.social-links-block .hashtag {
    font-size: 28px
}

.social-links-block .hashtag span {
    color: #df1e26
}

.social-links-block a {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 100%;
    border: 3px solid #fff
}

.social-links-block a svg {
    max-width: 70%;
    max-height: 60%
}

.social-links-block a path,
.social-links-block a rect {
    transition: all .5s ease
}

.social-links-block a:hover {
    background-color: gray
}

.social-links-block a:hover path,
.social-links-block a:hover rect {
    fill: #fff
}

.social-links-block a:hover path.alt-hover,
.social-links-block a:hover rect.alt-hover {
    fill: gray
}

@media only screen and (max-width:767px) {
    .social-links-block {
        text-align: center
    }

    .social-links-block .background-text {
        display: none
    }

    .social-links-block h2:after {
        content: '';
        position: absolute;
        display: block;
        left: 100%;
        bottom: 0;
        -ms-transform: translate(-2px, 4px);
        transform: translate(-2px, 4px);
        width: 50vw;
        height: 1px;
        border-bottom: 4px dotted #fff
    }

    .social-links-block ul {
        -ms-flex-pack: center;
        justify-content: center;
        margin-left: -2vw
    }

    .social-links-block ul li {
        margin: 20px 2vw 0
    }

    .social-links-block ul a {
        width: 44px;
        height: 44px
    }

    .social-links-block ul a svg {
        max-width: 70%;
        max-height: 60%
    }

    .social-links-block .col:last-child {
        padding: 60px 0
    }

    .social-links-block .col:first-child {
        padding: 0 0 60px
    }
}

@media only screen and (min-width:768px) {
    .social-links-block h2 {
        max-width: 440px
    }

    .social-links-block .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .social-links-block .columns .col {
        position: relative;
        width: 48.5%
    }

    .social-links-block .columns .col:last-child {
        padding: 120px 0;
        min-width: 675px;
        z-index: 2
    }

    .social-links-block .columns .col:first-child {
        z-index: 1
    }

    .social-links-block .columns .col:first-child img {
        display: block;
        height: 100%;
        width: auto;
        max-width: none
    }
}

.product-gallery img {
    display: block;
    width: 100%
}

.product-gallery .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 2
}

.product-gallery .slick-arrow path {
    transition: all .3s
}

.product-gallery .slick-arrow.slick-prev {
    left: 20px;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.product-gallery .slick-arrow.slick-next {
    right: 20px;
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg)
}

.product-gallery .slick-arrow:hover path {
    fill: #df1e26
}

.product-gallery .thumb-gallery .slick-list {
    margin-left: -2px
}

.product-gallery .thumb-gallery img {
    margin: 2px 1px 0
}

.product-gallery .slick-slide {
    opacity: .7;
    cursor: pointer;
    transition: all .5s ease
}

.product-gallery .slick-slide.slick-current,
.product-gallery .slick-slide:hover {
    opacity: 1
}

.product-gallery .slick-list {
    z-index: 1
}

.icon-strip {
    padding: 60px 0;
    text-align: center;
    background-color: #f0f0f0
}

.icon-strip .icons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -20px
}

.icon-strip .icons img {
    display: block;
    max-width: 70px;
    margin: 0 clamp(5px, 2vw, 10px) 30px
}

.two-col-img-media.bg-grey {
    background-color: #f0f0f0
}

.two-col-img-media:not(.bg-grey)+.two-col-img-media:not(.bg-grey):not(.maintain-pad),
.text-block+.two-col-img-media:not(.bg-grey):not(.maintain-pad),
.two-col-img-media.bg-grey+.two-col-img-media.bg-grey:not(.maintain-pad) {
    padding-top: 0
}

.two-col-img-media a.read-more-link {
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase
}

.two-col-img-media a.read-more-link span {
    display: inline-block;
    margin-left: 10px
}

.two-col-img-media a.read-more-link:hover {
    color: #df1e26
}

.two-col-img-media ul:not(.plain) li {
    position: relative;
    list-style-type: none;
    padding-left: 15px;
    margin-left: 0
}

.two-col-img-media ul:not(.plain) li+li {
    margin-top: 15px
}

.two-col-img-media ul:not(.plain) li:before {
    content: '–';
    position: absolute;
    top: -1px;
    left: 0
}

.two-col-img-media .icons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -1.5%;
    margin-top: 60px
}

.two-col-img-media .icons>div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 30%;
    margin: 0 1.5%;
    font-size: 9px;
    text-transform: uppercase
}

.two-col-img-media .icons>div span {
    display: block;
    margin-left: 10px;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: center
}

.two-col-img-media .icons>div:nth-child(1n+4) {
    margin-top: 20px
}

.two-col-img-media.listing-cols h2 {
    font-size: 20px;
    text-transform: none
}

.two-col-img-media.listing-cols h2 a:not(.read-more-link) {
    text-decoration: none
}

.two-col-img-media.listing-cols h2 a:not(.read-more-link):hover {
    color: #df1e26
}

@media only screen and (max-width:767px) {
    .two-col-img-media {
        padding: 60px 0
    }

    .two-col-img-media .col+.col {
        margin-top: 60px
    }
}

@media only screen and (min-width:768px) {
    .two-col-img-media {
        padding: 120px 0
    }

    .two-col-img-media .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .two-col-img-media .columns.reverse {
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .two-col-img-media .columns .col:first-child {
        width: 49%;
        max-width: 525px
    }

    .two-col-img-media .columns .col:last-child {
        width: 48%
    }
}

.accordion .row {
    border: 1px solid #cacaca;
    transition: all .3s
}

.accordion .row .question {
    position: relative;
    display: block;
    width: 100%;
    padding: 30px 0;
    font-weight: 700
}

.accordion .row .question span {
    display: block
}

.accordion .row .question .site-width {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.accordion .row .question svg,
.accordion .row .question path {
    transition: all .3s
}

.accordion .row .question:hover {
    color: #fff;
    background-color: #1a1a1a
}

.accordion .row .question:hover path {
    fill: #fff
}

.accordion .row .answer {
    max-height: 0;
    padding-bottom: 0;
    font-size: 14px;
    color: #fff;
    background-color: #1a1a1a;
    transition: all .3s;
    overflow: hidden
}

.accordion .row.active {
    color: #fff;
    background-color: #1a1a1a
}

.accordion .row.active svg {
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.accordion .row.active path {
    fill: #fff
}

.accordion .row.active .answer {
    max-height: 1000px;
    padding-bottom: 30px
}

.blog-cta-strip .blog-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 60px
}

.blog-cta-strip .blog-links .overlay {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    background: rgba(26, 26, 26, .6);
    z-index: 2;
    transition: all .5s ease
}

.blog-cta-strip .blog-links .overlay span {
    transition: all .5s ease .3s
}

.blog-cta-strip .blog-links .overlay .title {
    font-size: 11px;
    font-weight: 700
}

.blog-cta-strip .blog-links a {
    position: relative;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: block;
    width: 33%;
    overflow: hidden
}

.blog-cta-strip .blog-links a img {
    position: relative;
    display: block;
    width: 100%;
    z-index: 1
}

.blog-cta-strip p a {
    color: #df1e26;
    text-decoration: none
}

.blog-cta-strip p a:hover {
    color: #1a1a1a
}

.blog-cta-strip .additional-links {
    padding-top: 60px
}

@media only screen and (max-width:767px) {
    .blog-cta-strip {
        padding: 60px 0
    }

    .blog-cta-strip .blog-links {
        width: 110vw;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-transform: translateX(-5vw);
        transform: translateX(-5vw)
    }

    .blog-cta-strip .blog-links a {
        width: 190px;
        -ms-flex-positive: 0;
        flex-grow: 0
    }

    .blog-cta-strip .additional-links {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .blog-cta-strip .additional-links .btn,
    .blog-cta-strip .additional-links .contact-popout input[type=submit],
    .contact-popout .blog-cta-strip .additional-links input[type=submit],
    .blog-cta-strip .additional-links .contact-form-columns form input[type=submit],
    .contact-form-columns form .blog-cta-strip .additional-links input[type=submit] {
        width: 100%;
        max-width: 275px
    }

    .blog-cta-strip .additional-links .btn+.btn,
    .blog-cta-strip .additional-links .contact-popout input[type=submit]+.btn,
    .contact-popout .blog-cta-strip .additional-links input[type=submit]+.btn,
    .blog-cta-strip .additional-links .contact-form-columns form input[type=submit]+.btn,
    .contact-form-columns form .blog-cta-strip .additional-links input[type=submit]+.btn,
    .blog-cta-strip .additional-links .contact-popout .btn+input[type=submit],
    .contact-popout .blog-cta-strip .additional-links .btn+input[type=submit],
    .blog-cta-strip .additional-links .contact-popout input[type="submit"]+input[type="submit"],
    .contact-popout .blog-cta-strip .additional-links input[type="submit"]+input[type="submit"],
    .blog-cta-strip .additional-links .contact-form-columns form .btn+input[type=submit],
    .contact-form-columns form .blog-cta-strip .additional-links .btn+input[type=submit],
    .blog-cta-strip .additional-links .contact-form-columns form input[type="submit"]+input[type="submit"],
    .contact-form-columns form .blog-cta-strip .additional-links input[type="submit"]+input[type="submit"] {
        margin-top: 20px
    }
}

@media only screen and (min-width:768px) {
    .blog-cta-strip {
        padding: 120px 0
    }

    .blog-cta-strip .blog-links .overlay {
        -ms-transform: translateY(100%);
        transform: translateY(100%)
    }

    .blog-cta-strip .blog-links .overlay span {
        opacity: 0;
        -ms-transform: translateY(50px);
        transform: translateY(50px)
    }

    .blog-cta-strip .blog-links a {
        width: 20%
    }

    .blog-cta-strip .blog-links a:hover .overlay {
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    .blog-cta-strip .blog-links a:hover .overlay span {
        opacity: 1;
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    .blog-cta-strip .additional-links {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .blog-cta-strip .additional-links .btn+.btn,
    .blog-cta-strip .additional-links .contact-popout input[type=submit]+.btn,
    .contact-popout .blog-cta-strip .additional-links input[type=submit]+.btn,
    .blog-cta-strip .additional-links .contact-form-columns form input[type=submit]+.btn,
    .contact-form-columns form .blog-cta-strip .additional-links input[type=submit]+.btn,
    .blog-cta-strip .additional-links .contact-popout .btn+input[type=submit],
    .contact-popout .blog-cta-strip .additional-links .btn+input[type=submit],
    .blog-cta-strip .additional-links .contact-popout input[type="submit"]+input[type="submit"],
    .contact-popout .blog-cta-strip .additional-links input[type="submit"]+input[type="submit"],
    .blog-cta-strip .additional-links .contact-form-columns form .btn+input[type=submit],
    .contact-form-columns form .blog-cta-strip .additional-links .btn+input[type=submit],
    .blog-cta-strip .additional-links .contact-form-columns form input[type="submit"]+input[type="submit"],
    .contact-form-columns form .blog-cta-strip .additional-links input[type="submit"]+input[type="submit"] {
        margin-left: 20px
    }
}

.simple-icon-strip {
    background-color: #f0f0f0
}

.simple-icon-strip .site-width.icon-contain {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.simple-icon-strip h3 {
    margin-bottom: 40px
}

.simple-icon-strip .icon {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.simple-icon-strip .icon span {
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    margin-left: 15px
}

.simple-icon-strip .icon img {
    display: block;
    width: auto;
    height: auto;
    max-width: 50px;
    max-height: 32px
}

.simple-icon-strip a.icon {
    text-decoration: none
}

.simple-icon-strip a:hover {
    color: #df1e26
}

@media only screen and (max-width:767px) {
    .simple-icon-strip {
        padding: 60px 0 30px
    }

    .simple-icon-strip .site-width.icon-contain {
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .simple-icon-strip .icon {
        width: 47%;
        margin: 0 0 30px
    }
}

@media only screen and (min-width:768px) {
    .simple-icon-strip {
        padding: 120px 0 calc(120px - 30px)
    }

    .simple-icon-strip h3 {
        margin-left: 2%;
        margin-right: 2%;
        text-align: left
    }

    .simple-icon-strip .icon {
        width: 21%;
        margin: 0 2% 60px
    }
}

.cta-background-text {
    color: #fff;
    background: #333
}

.cta-background-text a:not(.btn) {
    color: #fff
}

.cta-background-text .site-width {
    max-width: 640px
}

.cta-background-text .site-width>*:not(.background-text) {
    z-index: 2
}

.cta-background-text .site-width p,
.cta-background-text .site-width ul,
.cta-background-text .site-width ol {
    max-width: 560px
}

.cta-background-text .btn,
.cta-background-text .contact-popout input[type=submit],
.contact-popout .cta-background-text input[type=submit],
.cta-background-text .contact-form-columns form input[type=submit],
.contact-form-columns form .cta-background-text input[type=submit] {
    position: relative;
    margin-top: 60px
}

.cta-background-text .background-text {
    opacity: .02;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    -ms-transform: translate(-15%, -57%);
    transform: translate(-15%, -57%);
    color: #fff;
    text-align: center;
    font-size: 8vw;
    font-weight: 400;
    white-space: nowrap;
    line-height: .8;
    letter-spacing: 1vw;
    text-transform: uppercase;
    z-index: 1
}

.cta-background-text h2 {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 30px;
    line-height: .8;
    border-bottom: 4px dotted #fff
}

.cta-background-text h2:before {
    content: '';
    position: absolute;
    display: block;
    right: 100%;
    bottom: 0;
    -ms-transform: translate(0, 4px);
    transform: translate(0, 4px);
    width: 50vw;
    height: 1px;
    border-bottom: 4px dotted #df1e26
}

@media only screen and (max-width:767px) {
    .cta-background-text {
        padding: 120px 0;
        text-align: center
    }

    .cta-background-text .background-text {
        display: none
    }

    .cta-background-text h2:after {
        content: '';
        position: absolute;
        display: block;
        left: 100%;
        bottom: 0;
        -ms-transform: translate(-2px, 4px);
        transform: translate(-2px, 4px);
        width: 50vw;
        height: 1px;
        border-bottom: 4px dotted #fff
    }
}

@media only screen and (min-width:768px) {
    .cta-background-text {
        padding: 240px 0
    }

    .product-content .cta-background-text {
        padding: 120px 0
    }
}

.full-width-img img {
    display: block;
    width: 100%
}

.blog-header {
    color: #fff;
    background-image: url(../img/article.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.blog-header:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 26, 26, .7);
    z-index: 1
}

.blog-header a {
    color: #fff;
    text-decoration: none
}

.blog-header a:hover {
    color: #df1e26
}

.blog-header h1 {
    text-transform: none;
    margin-bottom: 120px
}

.blog-header .site-width {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    min-height: 355px;
    padding: 120px 0;
    z-index: 2
}

@media only screen and (max-width:767px) {
    .blog-header {
        text-align: center
    }
}

.cta-background-text-cols {
    color: #fff;
    background: #333
}

.cta-background-text-cols a:not(.btn) {
    color: #fff
}

.cta-background-text-cols .site-width {
    max-width: 640px
}

.cta-background-text-cols .site-width>*:not(.background-text) {
    z-index: 2
}

.cta-background-text-cols .site-width p,
.cta-background-text-cols .site-width ul,
.cta-background-text-cols .site-width ol {
    max-width: 560px
}

.cta-background-text-cols .btn,
.cta-background-text-cols .contact-popout input[type=submit],
.contact-popout .cta-background-text-cols input[type=submit],
.cta-background-text-cols .contact-form-columns form input[type=submit],
.contact-form-columns form .cta-background-text-cols input[type=submit] {
    position: relative;
    margin-top: 60px
}

.cta-background-text-cols .background-text {
    opacity: .02;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    -ms-transform: translate(-48%, -57%);
    transform: translate(-48%, -57%);
    color: #fff;
    text-align: center;
    font-size: 8vw;
    font-weight: 400;
    white-space: nowrap;
    line-height: .8;
    letter-spacing: 1vw;
    text-transform: uppercase;
    z-index: 1
}

.product-cols .cta-background-text-cols {
    -ms-transform: translate(-15%, -57%);
    transform: translate(-15%, -57%)
}

.cta-background-text-cols h2 {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 30px;
    line-height: .8;
    border-bottom: 4px dotted #fff
}

.cta-background-text-cols h2:before {
    content: '';
    position: absolute;
    display: block;
    right: 100%;
    bottom: 0;
    -ms-transform: translate(0, 4px);
    transform: translate(0, 4px);
    width: 50vw;
    height: 1px;
    border-bottom: 4px dotted #df1e26
}

@media only screen and (max-width:767px) {
    .cta-background-text-cols {
        padding: 120px 0;
        text-align: center
    }

    .cta-background-text-cols .background-text {
        display: none
    }

    .cta-background-text-cols h2:after {
        content: '';
        position: absolute;
        display: block;
        left: 100%;
        bottom: 0;
        -ms-transform: translate(-2px, 4px);
        transform: translate(-2px, 4px);
        width: 50vw;
        height: 1px;
        border-bottom: 4px dotted #1a1a1a
    }
}

@media only screen and (min-width:768px) {
    .cta-background-text-cols {
        padding: 240px 0
    }
}

.text-block {
    padding-bottom: 60px
}

.text-block a {
    color: #df1e26
}

.text-block a:hover {
    color: #1a1a1a
}

@media only screen and (max-width:767px) {
    .text-block .expand-text {
        position: relative;
        max-height: 60px;
        overflow: hidden
    }

    .text-block .expand-text:after {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all .5s ease;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .7) 20%, white 100%);
        z-index: 10
    }

    .text-block .expand-text.expand {
        max-height: 2000px
    }

    .text-block .expand-text.expand:after {
        opacity: 0
    }

    .text-block .expand-text.expand+.read-more-toggle:after {
        -ms-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

@media only screen and (min-width:768px) {
    .text-block .read-more-toggle {
        display: none
    }
}

.listing-columns h2 {
    font-size: 20px;
    text-transform: none
}

.listing-columns .item {
    position: relative;
    display: block;
    overflow: hidden
}

.listing-columns .item img,
.listing-columns .item picture,
.listing-columns .item .img {
    display: block;
    margin-right: 20px;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.listing-columns .item a {
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase
}

.listing-columns .item a span {
    display: inline-block;
    margin-left: 10px
}

.listing-columns .item a:hover {
    color: #df1e26
}

.listing-columns .item.featured img,
.listing-columns .item.featured picture {
    width: 100%;
    margin-right: 0
}

.listing-columns .item.featured h2 {
    min-height: 44px
}

.listing-columns .item.featured .item-content {
    position: absolute;
    -ms-transform: translateY(calc(100% - 80px));
    transform: translateY(calc(100% - 80px));
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 20px;
    color: #fff;
    background-color: rgba(26, 26, 26, .5);
    transition: .5s ease;
    z-index: 2
}

@media only screen and (max-width:767px) {
    .listing-columns+.testimonial-carousel {
        margin-top: 60px
    }

    .listing-columns.blog-listing {
        padding-bottom: 60px
    }

    .listing-columns .item+.item {
        margin-top: 60px
    }

    .listing-columns .item img,
    .listing-columns .item picture,
    .listing-columns .item .img {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px
    }

    .listing-columns .item.featured img,
    .listing-columns .item.featured picture,
    .listing-columns .item.featured .img {
        margin-bottom: 0
    }

    .listing-columns .item.featured .item-content {
        -ms-transform: translateY(0);
        transform: translateY(0);
        height: auto
    }

    .listing-columns .item.featured .item-content p {
        display: none
    }

    .listing-columns .item.featured h2 {
        min-height: auto
    }
}

@media only screen and (min-width:768px) {
    .listing-columns+.testimonial-carousel {
        margin-top: 60px
    }

    .listing-columns.blog-listing {
        padding-bottom: 120px
    }

    .listing-columns .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .listing-columns .columns .item {
        width: 48%
    }

    .listing-columns .columns .item:not(.featured) {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .listing-columns .columns .item img,
    .listing-columns .columns .item picture {
        width: 185px
    }

    .listing-columns .columns .item:nth-child(1n+3) {
        margin-top: 60px
    }

    .listing-columns .columns .item.featured img,
    .listing-columns .columns .item.featured picture {
        width: 100%
    }

    .listing-columns .columns .item.featured:hover .item-content {
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.categories-grid h2 {
    font-size: 20px;
    text-transform: none
}

.categories-grid .item {
    position: relative;
    display: block;
    overflow: hidden
}

.categories-grid .item img,
.categories-grid .item picture {
    display: block;
    margin-right: 20px;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.categories-grid .item.featured .item-content {
    position: absolute;
    -ms-transform: translateY(calc(100% - 80px));
    transform: translateY(calc(100% - 80px));
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 20px;
    color: #fff;
    background-color: rgba(26, 26, 26, .5);
    transition: .5s ease;
    z-index: 2
}

.categories-grid .item a {
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase
}

.categories-grid .item a span {
    display: inline-block;
    margin-left: 10px
}

.categories-grid .item a:hover {
    color: #df1e26
}

@media only screen and (max-width:767px) {
    .categories-grid:nth-last-child(2) {
        padding-bottom: 60px
    }

    .categories-grid .item {
        width: 100%
    }

    .categories-grid .item+.item {
        margin-top: 60px
    }

    .categories-grid .item img,
    .categories-grid .item picture {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px
    }

    .categories-grid .item.featured img,
    .categories-grid .item.featured picture {
        margin-bottom: 0
    }

    .categories-grid .item.featured .item-content {
        -ms-transform: translateY(0);
        transform: translateY(0);
        height: auto
    }

    .categories-grid .item.featured .item-content p {
        display: none
    }

    .categories-grid .item.featured h2 {
        min-height: auto
    }
}

@media only screen and (min-width:768px) {
    .categories-grid:nth-last-child(2) {
        padding-bottom: 120px
    }

    .categories-grid .columns {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 4%
    }

    .categories-grid .columns .item:not(.featured) {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .categories-grid .columns .item img,
    .categories-grid .columns .item picture {
        width: 185px
    }

    .categories-grid .columns .item:nth-child(1n+3) {
        margin-top: 60px
    }

    .categories-grid .columns .item.featured {
        min-height: 300px;
        grid-row: span 2;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat
    }

    .categories-grid .columns .item.featured img,
    .categories-grid .columns .item.featured picture {
        display: none
    }

    .categories-grid .columns .item.featured h2 {
        min-height: 44px
    }

    .categories-grid .columns .item.featured .item-content {
        position: absolute;
        -ms-transform: translateY(calc(100% - 80px));
        transform: translateY(calc(100% - 80px));
        bottom: 0;
        left: 0;
        padding: 20px;
        color: #fff;
        background-color: rgba(26, 26, 26, .5);
        transition: .5s ease;
        z-index: 2
    }

    .categories-grid .columns .item.featured:hover .item-content {
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    .categories-grid .columns .item.featured a {
        text-decoration: none;
        font-weight: 700;
        text-transform: uppercase
    }

    .categories-grid .columns .item.featured a span {
        display: inline-block;
        margin-left: 10px
    }

    .categories-grid .columns .item.featured a:hover {
        color: #df1e26
    }
}

.text-img-header {
    color: #fff;
    text-align: center;
    background-image: url(../img/article.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.text-img-header:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 26, 26, .7);
    z-index: 1
}

.text-img-header h1 {
    text-transform: none;
    margin-bottom: 120px
}

.text-img-header .site-width {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    min-height: 355px;
    padding: 120px 0;
    z-index: 2
}

.one-col-background-text .background-text {
    opacity: .05;
    position: absolute;
    width: auto;
    bottom: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #df1e26;
    text-align: center;
    font-size: 18vw;
    white-space: nowrap;
    line-height: .8;
    letter-spacing: 2vw;
    text-transform: uppercase;
    z-index: 1
}

.one-col-background-text .background-text.small {
    font-size: clamp(90px, 9vw, 9vw);
    letter-spacing: 1vw
}

.one-col-background-text h2.h1 {
    position: relative;
    display: block;
    max-width: 1120px;
    padding-bottom: 20px;
    margin-bottom: 30px;
    line-height: .8;
    border-bottom: 4px dotted #1a1a1a
}

.one-col-background-text h2.h1:before {
    content: '';
    position: absolute;
    display: block;
    right: 100%;
    bottom: 0;
    -ms-transform: translate(0, 4px);
    transform: translate(0, 4px);
    width: 50vw;
    height: 1px;
    border-bottom: 4px dotted #df1e26
}

@media only screen and (max-width:767px) {
    .one-col-background-text {
        padding: 120px 0;
        text-align: center
    }

    .one-col-background-text .background-text {
        display: none
    }

    .one-col-background-text h2.h1:after {
        content: '';
        position: absolute;
        display: block;
        left: 100%;
        bottom: 0;
        -ms-transform: translate(-2px, 4px);
        transform: translate(-2px, 4px);
        width: 50vw;
        height: 1px;
        border-bottom: 4px dotted #1a1a1a
    }
}

@media only screen and (min-width:768px) {
    .one-col-background-text {
        padding: 180px 0
    }
}

.carousel-columns .img-carousel {
    z-index: 5
}

.carousel-columns .img-carousel img {
    position: relative;
    display: block;
    z-index: 1
}

.carousel-columns .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 2
}

.carousel-columns .slick-arrow path {
    transition: all .3s
}

.carousel-columns .slick-arrow.slick-prev {
    left: 20px;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.carousel-columns .slick-arrow.slick-next {
    right: 20px;
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg)
}

.carousel-columns .slick-arrow:hover path {
    fill: #df1e26
}

.carousel-columns.grey-background .col.text-carousel {
    background-color: #f0f0f0
}

.carousel-columns.grey-background .col.text-carousel>* {
    position: relative;
    z-index: 2
}

.carousel-columns.grey-background .col.text-carousel:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    right: 99%;
    width: 50vw;
    height: 100%;
    background-color: #f0f0f0;
    z-index: 1
}

.carousel-columns .slick-dots {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    width: 90%;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    margin: 0;
    text-align: center;
    z-index: 2
}

.carousel-columns .slick-dots li {
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style-type: none
}

.carousel-columns .slick-dots li+li {
    margin-left: 15px
}

.carousel-columns .slick-dots button {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 15px;
    height: 15px;
    padding: 0;
    background-color: #fff;
    border-radius: 100%;
    text-indent: 1000px;
    overflow: hidden;
    transition: all .5s ease
}

.carousel-columns .slick-dots button:hover {
    background-color: #df1e26
}

.carousel-columns .slick-dots .slick-active button {
    background-color: #df1e26
}

.carousel-columns.hide-dots .slick-dots,
.carousel-columns.hide-dots .slick-arrow {
    display: none !important
}

@media only screen and (max-width:767px) {
    .carousel-columns {
        text-align: center
    }

    .carousel-columns.pad {
        padding-top: 60px
    }

    .carousel-columns .btn,
    .carousel-columns .contact-popout input[type=submit],
    .contact-popout .carousel-columns input[type=submit],
    .carousel-columns .contact-form-columns form input[type=submit],
    .contact-form-columns form .carousel-columns input[type=submit] {
        width: 100%
    }

    .carousel-columns .img-carousel {
        width: 100vw;
        margin-left: -5vw
    }

    .carousel-columns.grey-background .col.text-carousel:after {
        width: 110vw;
        right: 0;
        left: -5vw
    }

    .carousel-columns .text-carousel {
        padding: 60px 0
    }
}

@media only screen and (min-width:768px) {
    .carousel-columns.pad {
        padding: 120px 0
    }

    .carousel-columns .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: stretch;
        align-items: stretch;
        -ms-flex-line-pack: stretch;
        align-content: stretch;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .carousel-columns .site-width {
        width: 100%;
        max-width: none
    }

    .carousel-columns .text-carousel {
        padding: 60px 60px 60px 0
    }

    .carousel-columns.reverse .columns {
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .carousel-columns.reverse .col.text-carousel {
        text-align: right
    }

    .carousel-columns.reverse .text-carousel {
        padding: 60px 0 60px 60px
    }

    .carousel-columns.reverse.grey-background .col.text-carousel:after {
        right: auto;
        left: 99%
    }

    .carousel-columns .slick-list {
        width: 100%
    }

    .carousel-columns .slick-list,
    .carousel-columns .slick-track {
        height: 100%
    }

    .carousel-columns .col.img-carousel {
        width: 60%
    }

    .carousel-columns .col.img-carousel img {
        object-fit: cover
    }

    .carousel-columns .col.text-carousel {
        width: 40%
    }

    .carousel-columns .col.text-carousel .item {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .carousel-columns .col.text-carousel .item>* {
        width: 100%;
        max-width: 340px
    }

    .carousel-columns .col.text-carousel .slick-list,
    .carousel-columns .col.text-carousel .slick-track,
    .carousel-columns .col.text-carousel .item {
        height: 100%
    }
}

.two-col-text-map .background-text {
    opacity: .05;
    position: absolute;
    width: 100%;
    top: 0;
    left: -5vw;
    color: #df1e26;
    font-size: 10vw;
    white-space: nowrap;
    line-height: .8;
    letter-spacing: 2vw;
    text-transform: uppercase;
    z-index: 1
}

.two-col-text-map h2.h1 {
    position: relative;
    display: block;
    padding-bottom: 20px;
    margin-bottom: 30px;
    line-height: .8;
    border-bottom: 4px dotted #1a1a1a
}

.two-col-text-map h2.h1:before {
    content: '';
    position: absolute;
    display: block;
    right: 100%;
    bottom: 0;
    -ms-transform: translate(0, 4px);
    transform: translate(0, 4px);
    width: 50vw;
    height: 1px;
    border-bottom: 4px dotted #df1e26
}

.two-col-text-map h3 {
    margin: 60px 0 30px
}

.two-col-text-map .columns {
    position: relative;
    width: 100%;
    z-index: 2
}

.two-col-text-map .col-text {
    padding: 60px 0
}

.two-col-text-map .col:first-child p {
    max-width: 550px
}

.two-col-text-map .addres {
    font-size: 18px
}

.two-col-text-map iframe {
    display: block;
    width: 100%
}

@media only screen and (max-width:767px) {
    .two-col-text-map {
        text-align: center
    }

    .two-col-text-map .background-text {
        display: none
    }

    .two-col-text-map h2.h1:after {
        content: '';
        position: absolute;
        display: block;
        left: 100%;
        bottom: 0;
        -ms-transform: translate(-2px, 4px);
        transform: translate(-2px, 4px);
        width: 50vw;
        height: 1px;
        border-bottom: 4px dotted #1a1a1a
    }

    .two-col-text-map .col:first-child p {
        margin-bottom: 30px
    }

    .two-col-text-map iframe {
        width: 100vw;
        max-width: none;
        margin-left: -5vw;
        height: 280px
    }
}

@media only screen and (min-width:768px) {
    .two-col-text-map .site-width {
        width: 100%;
        max-width: none
    }

    .two-col-text-map h2.h1 {
        max-width: 440px
    }

    .two-col-text-map .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .two-col-text-map .columns .col {
        width: 48.5%
    }

    .two-col-text-map .columns .col.col-text {
        padding-left: 5vw;
        padding-right: 60px
    }

    .two-col-text-map .columns .col.col-text .inner {
        position: relative;
        width: 100%;
        max-width: 486px;
        margin-left: auto;
        margin-right: auto
    }

    .two-col-text-map iframe {
        height: 720px
    }
}

.contact-form-columns {
    color: #fff
}

.contact-form-columns form input[type=submit] {
    position: relative;
    display: block;
    width: 100px;
    margin-left: auto
}

.contact-form-columns .col {
    position: relative
}

.contact-form-columns .details-col a {
    text-decoration: none;
    font-weight: 700
}

.contact-form-columns .form-col h3 {
    margin-bottom: 60px;
    text-align: center
}

.contact-form-columns .logo {
    position: relative;
    width: 100%;
    padding-bottom: 30px;
    margin-bottom: 30px
}

.contact-form-columns .logo:before,
.contact-form-columns .logo:after {
    content: '';
    position: absolute;
    display: block;
    bottom: 0;
    border-bottom-width: 4px;
    border-bottom-style: dotted
}

.contact-form-columns .logo:before {
    width: 35%;
    left: 0;
    border-color: #df1e26
}

.contact-form-columns .logo:after {
    left: 35%;
    width: 65%;
    border-color: #fff
}

.contact-form-columns .col.details-col a {
    color: #fff
}

@media only screen and (max-width:767px) {
    .contact-form-columns .col {
        width: 100%;
        padding: 60px 0
    }

    .contact-form-columns .col>* {
        position: relative;
        z-index: 2
    }

    .contact-form-columns .col.details-col:before,
    .contact-form-columns .col.form-col:before {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        bottom: 0;
        left: -5vw;
        width: 100vw;
        height: 100%;
        z-index: 1
    }

    .contact-form-columns .col.details-col:before {
        background: url(../img/column-placeholder.jpg) center center no-repeat;
        background-size: cover
    }

    .contact-form-columns .col.form-col:before {
        max-width: 745px;
        background-color: #1a1a1a
    }
}

@media only screen and (min-width:768px) {
    .contact-form-columns .site-width {
        z-index: 2
    }

    .contact-form-columns:before,
    .contact-form-columns:after {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        bottom: 0;
        width: 50%;
        height: 100%;
        z-index: 1
    }

    .contact-form-columns:before {
        left: 0;
        background: url(../img/column-placeholder.jpg) center center no-repeat;
        background-size: cover
    }

    .contact-form-columns:after {
        right: 0;
        background-color: #1a1a1a
    }

    .contact-form-columns .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .contact-form-columns .col {
        width: 48%;
        padding: 120px 0
    }

    .contact-form-columns .col.details-col .inner {
        position: relative;
        width: 100%;
        max-width: 445px;
        margin-left: auto;
        margin-right: auto
    }

    .contact-form-columns .col.details-col .address {
        margin-bottom: 40px
    }

    .contact-form-columns .col.details-col a:hover {
        color: #df1e26
    }

    .contact-form-columns .col.form-col {
        max-width: 745px
    }

    .contact-form-columns form {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .contact-form-columns form>*:not(.your-message) {
        display: block;
        width: 48.5%;
        max-width: 325px
    }

    .contact-form-columns form .your-message {
        width: 100%
    }
}

.quote-header {
    color: #fff;
    background-image: url(../img/article.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.quote-header:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 26, 26, .5);
    z-index: 1
}

.quote-header h1 {
    text-align: center;
    text-transform: none
}

.quote-header p {
    width: 100%;
    text-align: right
}

.quote-header .site-width {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    min-height: 355px;
    z-index: 2
}

.quote-header .site-width h1.h2 {
    font-size: 24px
}

.quote-header .site-width:before,
.quote-header .site-width:after {
    display: block;
    height: 100px;
    font-size: 320px;
    line-height: .6
}

.quote-header .site-width:before {
    content: open-quote;
    position: relative;
    width: 100%
}

.quote-header .site-width:after {
    content: close-quote;
    position: absolute;
    bottom: 0;
    right: 0
}

@media only screen and (max-width:767px) {
    .quote-header h1+p {
        margin-top: 60px
    }

    .quote-header .site-width {
        padding: 60px 0
    }

    .quote-header .site-width h1.h2 {
        font-size: 18px;
        line-height: 1.4
    }

    .quote-header .site-width:before,
    .quote-header .site-width:after {
        height: 50px;
        font-size: 160px
    }

    .quote-header .site-width:before {
        margin-bottom: 30px
    }

    .quote-header .site-width:after {
        position: relative;
        width: 100%;
        text-align: right;
        margin-top: 30px
    }
}

@media only screen and (min-width:768px) {
    .quote-header {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        min-height: calc(100vh - 95px);
        padding-bottom: 120px
    }

    .quote-header .site-width {
        padding: 120px 0
    }

    .quote-header h1 {
        padding: 0 140px
    }

    .quote-header h1+p {
        margin-top: 120px
    }

    .quote-header p {
        padding: 0 140px
    }
}

.timeline .col {
    position: relative
}

.timeline .col-text {
    padding: 60px 60px 60px 0
}

.timeline .col-timeline {
    padding: 240px 0;
    font-weight: 700
}

.timeline .col-timeline:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 77px;
    width: 6px;
    height: 100%;
    background-color: #cacaca;
    z-index: 1
}

.timeline .col-timeline .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 100%;
    transition: all .3s;
    z-index: 2
}

.timeline .col-timeline .row+.row {
    margin-top: 120px
}

.timeline .col-timeline .row .year {
    position: relative;
    width: 50px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 90px;
    text-align: right;
    transition: all .3s
}

.timeline .col-timeline .row .year:after {
    content: '';
    position: absolute;
    display: block;
    right: -45px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: #fff;
    border-radius: 100%;
    border: 6px solid #cacaca;
    transition: all .3s
}

.timeline .col-timeline .row:hover {
    color: #df1e26
}

.timeline .col-timeline .row:hover .year:after {
    border-color: #df1e26
}

.timeline .col-timeline .row span {
    display: block
}

@media only screen and (max-width:767px) {
    .timeline .col-text {
        text-align: center
    }
}

@media only screen and (min-width:768px) {
    .timeline .columns {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .timeline.reverse .columns {
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }

    .timeline.reverse .col.col-text {
        text-align: right
    }

    .timeline.reverse.grey-background .col.col-text:after {
        right: auto;
        left: 99%
    }

    .timeline .col.col-timeline {
        width: 40%
    }

    .timeline .col.col-text {
        width: 60%
    }

    .timeline .col.col-text .inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .timeline .col.col-text .inner>* {
        width: 100%;
        max-width: 655px
    }
}

.large-background-text-overlay-simple {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

.large-background-text-overlay-simple img {
    display: block
}

.large-background-text-overlay-simple .btn,
.large-background-text-overlay-simple .contact-popout input[type=submit],
.contact-popout .large-background-text-overlay-simple input[type=submit],
.large-background-text-overlay-simple .contact-form-columns form input[type=submit],
.contact-form-columns form .large-background-text-overlay-simple input[type=submit] {
    margin-top: 30px
}

.large-background-text-overlay-simple .btn img,
.large-background-text-overlay-simple .contact-popout input[type=submit] img,
.contact-popout .large-background-text-overlay-simple input[type=submit] img,
.large-background-text-overlay-simple .contact-form-columns form input[type=submit] img,
.contact-form-columns form .large-background-text-overlay-simple input[type=submit] img {
    display: inline-block;
    height: 20px;
    width: auto;
    margin-right: 15px
}

.large-background-text-overlay-simple .text-contain {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    position: relative;
    width: 100%;
    padding: 60px 0;
    min-height: 100vh;
    color: #fff;
    text-align: center;
    background: rgba(26, 26, 26, .7)
}

.large-background-text-overlay-simple .text-contain .internal {
    position: relative;
    width: 90%;
    max-width: 760px;
    margin: 0 auto
}

@media only screen and (max-width:767px) {
    .large-background-text-overlay-simple img {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .large-background-text-overlay-simple .text-contain {
        padding: 120px 0
    }
}

.testimonial-carousel {
    text-align: center;
    color: #fff;
    background-color: #333
}

.testimonial-carousel p {
    margin-bottom: 40px
}

.testimonial-carousel .testimonial-carousel-contain {
    font-size: 30px
}

.testimonial-carousel .testimonial-carousel-contain img {
    display: inline-block;
    margin-bottom: 40px
}

.testimonial-carousel ul.slick-dots {
    width: 100%;
    margin-top: 20px;
    text-align: center
}

.testimonial-carousel ul.slick-dots li {
    display: inline-block
}

.testimonial-carousel ul.slick-dots li+li {
    margin-left: 25px
}

.testimonial-carousel ul.slick-dots li button {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 15px;
    height: 15px;
    padding: 0;
    text-indent: 1000px;
    border-radius: 100%;
    background: #fff;
    border: 0;
    overflow: hidden;
    transition: all .3s
}

.testimonial-carousel ul.slick-dots li.slick-active button,
.testimonial-carousel ul.slick-dots li button:hover {
    background-color: #df1e26
}

@media only screen and (max-width:767px) {
    .testimonial-carousel {
        padding: 60px 0
    }
}

@media only screen and (min-width:768px) {
    .testimonial-carousel {
        padding: 120px 0
    }

    .testimonial-carousel h2 {
        margin-bottom: 60px
    }
}

.search-listings article {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #1a1a1a
}

.search-listings article h2 {
    margin-bottom: 0
}

.search-listings article .entry-header {
    width: 100%
}

.search-listings img {
    display: block;
    height: auto
}

.search-listings a {
    text-decoration: none
}

.search-listings .entry-summary {
    max-width: 400px
}

@media only screen and (max-width:767px) {
    .search-listings article img {
        margin-top: 30px
    }

    .search-listings article .entry-summary {
        margin-top: 30px
    }
}

@media only screen and (min-width:768px) {
    .search-listings article {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .search-listings article a:hover {
        color: #df1e26
    }

    .search-listings article img {
        max-width: 200px;
        margin-top: 30px
    }

    .search-listings article .entry-summary {
        margin-top: 30px
    }

    .search-listings article .post-thumbnail+.entry-summary,
    .search-listings article img+.entry-summary {
        margin-left: 30px
    }
}