blockquote,
body,
button,
dd,
div,
dl,
dt,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
ol,
p,
pre,
select,
td,
textarea,
th,
ul {
    font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
}

body {
    border: none;
    max-width: none;
    margin: 0 auto;
    position: relative;
    min-height: 100vh;
}

.row {
    margin: 0 auto;
    border: none;
}

.container,
.container-fluid,
.form-container,
.link-container,
.subgrid,
[class*=panel] {
    min-width: 10px;
}

.link-container,
label.label-container {
    display: block;
}

li.list-item-link {
    width: auto;
    max-width: none;
    min-width: 0;
    min-height: 0;
    background-color: transparent;
}

.responsive-picture {
    width: 100%;
    overflow: hidden;
    max-width: 200%;
    display: block;
}

.responsive-picture picture {
    max-width: none;
    display: block;
    line-height: 0;
}

.responsive-picture img {
    width: 100%;
    height: 100%;
}

.placeholder-hero {
    background-color: lightgrey;
    text-align: left;
    padding: 10px 0 10px 20px;
}

h1.hero-header {
    color: #464646;
}

p.hero-tagline {
    color: #646464;
    font-style: normal;
    padding: 0;
}

.social-media {
    display: block;
}

.social-media * {
    font-family: coffeecup-font-icons!important;
    color: #444;
    background-color: transparent;
}

.social-media li {
    display: inline;
    padding: 2px;
}

.social-element {
    display: inline-block;
    text-align: center;
}

.social-element a.social-label {
    text-align: center;
    font-family: Georgia,Times,'Times New Roman',serif;
    display: block;
}

.social-image {
    background-color: #525252;
    border-radius: 3px;
    max-width: 32px;
    display: inline-block;
}

.social-image img {
    margin: 0 auto;
    max-width: 100%;
    display: block;
}

.flex-clearfix:after,
.flex-clearfix:before {
    display: none;
}

span.text-element {
    display: block;
    line-height: 1.2;
    font-size: .875em;
}

a.glyph,
span.glyph {
    display: block;
    text-decoration: none;
}

a.glyph i,
span.glyph i {
    line-height: 1;
}

.image-for-button {
    height: auto;
    overflow: hidden;
    width: 100%;
    max-width: 24px;
    display: inline-block;
    vertical-align: inherit;
}

.image-for-button picture {
    max-width: none;
    height: auto;
    display: block;
    line-height: 0;
}

.image-for-button img {
    width: 100%;
}

button.button-glyph,
button.button-image {
    font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
}

a.glyph-for-button,
span.glyph-for-button {
    font-size: 22px;
    text-decoration: none;
}

a.glyph-for-button i,
span.glyph-for-button i {
    line-height: 1;
}

a[class*=link-button] .image-for-button {
    vertical-align: middle;
}

button[data-coffeebuilder-button][data-disabled] {
    opacity: .65;
}

.responsive-video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.responsive-video.square {
    padding-bottom: 120%;
    max-width: initial;
}

.responsive-video embed,
.responsive-video iframe,
.responsive-video object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 315px;
}

video {
    width: 100%;
    background-color: #000;
}

audio {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: transparent;
    padding: 0 20px 30px;
    height: 95px;
    width: 50%;
    margin: 10px;
}

a {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
    -webkit-transition-property: all;
    transition-property: all;
}

a.link-image-1-1,
a.link-image-1-2,
a.link-image-2-1,
a.link-image-3-2,
a.link-image-4-3 {
    display: block;
    max-width: 200%;
}

a.link-image-1-1 img,
a.link-image-1-2 img,
a.link-image-2-1 img,
a.link-image-3-2 img,
a.link-image-4-3 img {
    width: 100%;
    max-width: 200%;
}

.rule {
    padding: 5px 0;
    width: 100%;
    margin: 7px 0;
}

.rule hr {
    margin: 0;
    padding: 0;
    border: none;
    border-top: 1px solid #ddd;
    width: 100%;
}

code {
    font-family: Consolas,monaco,monospace;
}

form.paypal-button,
form.paypal-image {
    display: inline-block;
    padding: 0;
    overflow: hidden;
}

form.paypal-button {
    background-color: silver;
}

form.paypal-button button {
    padding: .5em 1em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    background: 0 0;
    line-height: 1;
    color: inherit;
    cursor: inherit;
    display: block;
    margin: 0;
    width: 100%;
    height: 100%;
}

form.paypal-image input[type=image] {
    width: 100%;
    margin: 0;
}

textarea {
    resize: none;
}

input[type=range] {
    display: block;
    width: 100%;
    margin: 0 0 1rem;
    height: 2.4375rem;
}

.label-container span.text-element {
    display: inline-block;
    font-size: 1em;
}

.bg-full-screen-container {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -100;
    overflow: hidden;
}

video.full-screen-video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -100;
    width: 100%;
    height: 315px;
    background-color: transparent;
    object-fit: cover;
}

.bg-content-size-container {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    min-height: 315px;
    width: 100%;
}

video.content-size-video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 315px;
    background-color: transparent;
    object-fit: cover;
}

.container-grid.sd-four-cols,
.container-grid.sd-three-cols,
.container-grid.sd-two-cols {
    display: grid;
    padding-left: 15px;
    padding-right: 15px;
    grid-column-gap: 30px;
}

@media screen and (min-width:36rem){
    .container-grid.sd-two-cols {
        grid-template-columns: 1fr 1fr;
    }

    .container-grid.sd-three-cols {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .container-grid.sd-four-cols {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
    }
}

@media screen and (min-width:48rem){
    .container-grid.sd-four-cols {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}