
/************************************************
 General Default Styles
************************************************/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td,
button,
input,
select,
textarea {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
/************************************************
 Grid Default Styles
************************************************/
body {
  border: none;
  max-width: none;
  margin: 0 auto;
  position: relative;
  min-height: 100vh;
}
.row {
  border: none;
}
.subgrid,
.container,
.container-fluid,
.form-container,
.link-container,
[class*=callout] {
  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;
}
/************************************************
 Images Default Styles
************************************************/
.responsive-picture {
  width: 100%;
  overflow: hidden;
  max-width: 200px;
  display: block;
}
.responsive-picture picture {
  max-width: none;
  display: block;
  line-height: 0;
}
.responsive-picture img {
  width: 100%;
  height: 100%;
}
/************************************************
Placeholder Hero Unit Default Styles
************************************************/
.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 Default Styles
************************************************/
.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 Default Styles
************************************************/
.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;
}
a.social-image {
  background-color: #525252;
  border-radius: 3px 3px;
  max-width: 32px;
  display: inline-block;
}
a.social-image img {
  margin: 0 auto;
  display: block;
  width: 100%;
  height: 100%;
}
/************************************************
Span Styles
************************************************/
span.text-element {
  display: block;
  line-height: 1.2;
  font-size: 0.875em;
}
/************************************************
Font Icon element Styles
************************************************/
span.glyph,
a.glyph {
  display: block;
  text-decoration: none;
}
span.glyph i,
a.glyph i {
  line-height: 1;
}
/************************************************
Button element Styles
************************************************/
.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%;
  height: 100%;
}
button.button-glyph,
button.button-image {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
span.glyph-for-button,
a.glyph-for-button {
  font-size: 22px;
  text-decoration: none;
}
span.glyph-for-button i,
a.glyph-for-button i {
  line-height: 1;
}
a[class*='link-button'] .image-for-button {
  vertical-align: middle;
}
button[data-coffeebuilder-button][data-disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
/************************************************
 Video Element Styles
************************************************/
.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 iframe,
.responsive-video object,
.responsive-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/************************************************
 HTML5 Video Element Styles
************************************************/
video {
  width: 50%;
  background-color: black;
}
/************************************************
 HTML5 Audio Element Styles
************************************************/
audio {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: transparent;
  padding: 0px 20px 30px 20px;
  height: 95px;
  width: 50%;
  margin: 10px;
}
/************************************************
 Map Element Styles
************************************************/
.responsive-map {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  width: 100%;
  height: 350px;
  min-height: 50px;
  background-color: #dcdcdc;
}
.responsive-map iframe,
.responsive-map object,
.responsive-map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/************************************************
 Link Default Styles
************************************************/
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-2-1,
a.link-image-1-2,
a.link-image-3-2,
a.link-image-4-3 {
  display: block;
  max-width: 200px;
}
a.link-image-1-1 img,
a.link-image-2-1 img,
a.link-image-1-2 img,
a.link-image-3-2 img,
a.link-image-4-3 img {
  max-width: 200px;
  width: 100%;
  height: 100%;
}
/************************************************
 Framework Fixes
************************************************/
.rule {
  padding: 5px 0;
  width: 100%;
  margin: 7px 0;
}
.rule hr {
  margin: 0;
  padding: 0;
  border: none;
  border-top: 1px solid #dddddd;
  width: 100%;
  max-width: none;
}
/************************************************
 Default q and code tags Styles
************************************************/
code {
  font-family: Consolas, monaco, monospace;
}
/************************************************
 Payment Styles
************************************************/
form.paypal-image,
form.paypal-button {
  display: inline-block;
  padding: 0;
  overflow: hidden;
}
form.paypal-button button {
  padding: 0.85em 1em;
  color: inherit;
  cursor: inherit;
  display: block;
  margin: 0;
  width: 100%;
  height: 100%;
}
form.paypal-image input[type=image] {
  width: 100%;
  margin: 0;
}
/************************************************
 Video Background Full Screen Styles
************************************************/
.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: 100%;
  background-color: transparent;
  object-fit: cover;
}
/************************************************
 Video Background Content Size Styles
************************************************/
.bg-content-size-container {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  min-height: 100px;
  width: 100%;
}
video.content-size-video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: transparent;
  object-fit: cover;
}
/************************************************
 Menu Arrows Styles
************************************************/
.button.dropdown {
  border-top-style: none;
  border-top-color: inherit;
}
.button.dropdown::after {
  border-top-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.button.dropdown.hollow::after {
  border-top-color: inherit;
}
.button.dropdown.hollow.primary::after {
  border-top-color: inherit;
}
.button.dropdown.hollow.secondary::after {
  border-top-color: inherit;
}
.button.dropdown.hollow.success::after {
  border-top-color: inherit;
}
.button.dropdown.hollow.warning::after {
  border-top-color: inherit;
}
.button.dropdown.hollow.alert::after {
  border-top-color: inherit;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  border-top-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.submenu-toggle::after {
  border-top-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.drilldown .is-drilldown-submenu-parent > a::after {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: inherit;
}
.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: inherit;
}
.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  border-top-color: transparent;
  border-right-color: inherit;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.drilldown .js-drilldown-back > a::before {
  border-top-color: transparent;
  border-right-color: inherit;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  border-top-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.dropdown.menu.vertical > li.opens-left > a::after {
  border-top-color: transparent;
  border-right-color: inherit;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.dropdown.menu.vertical > li.opens-right > a::after {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: inherit;
}
.dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
  border-top-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.dropdown.menu.medium-vertical > li.opens-left > a::after {
  border-top-color: transparent;
  border-right-color: inherit;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.dropdown.menu.medium-vertical > li.opens-right > a::after {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: inherit;
}
.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
  border-top-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.dropdown.menu.large-vertical > li.opens-left > a::after {
  border-top-color: transparent;
  border-right-color: inherit;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.dropdown.menu.large-vertical > li.opens-right > a::after {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: inherit;
}
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  border-top-color: transparent;
  border-right-color: inherit;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: inherit;
}
.tooltip.bottom::before {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: inherit;
  border-left-color: transparent;
}
.tooltip.top::before {
  border-top-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.tooltip.left::before {
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: inherit;
}
.tooltip.right::before {
  border-top-color: transparent;
  border-right-color: inherit;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
/************************************************
 Textarea
************************************************/
textarea {
  resize: none;
}
/************************************************
 Range
************************************************/
input[type="range"] {
  display: block;
  width: 100%;
  margin: 0 0 1rem;
  height: 2.4375rem;
}
/************************************************
 Text Elements inside a label container
************************************************/
.label-container span.text-element {
  display: inline-block;
  font-size: 1em;
}

/* Layout Elements */
.container.sd-two-cols,
.container.sd-three-cols,
.container.sd-four-cols {
  display: grid;
  max-width: 75rem;
  padding-right: .625rem;
  padding-left: .625rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 40rem) {
  .container.sd-two-cols,
  .container.sd-three-cols,
  .container.sd-four-cols {
    padding-right: .9375rem;
    padding-left: .9375rem;
    grid-column-gap: 1.875rem;
  }
  .container.sd-two-cols {
    grid-template-columns: 1fr 1fr;
  }
  .container.sd-three-cols {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .container.sd-four-cols {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
}
@media screen and (min-width: 64rem) {
  .container.sd-four-cols {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
