@charset "UTF-8";
/**
 * Built using Imarc Boilerplate v2.1
 *
 * Copyright 2016 Imarc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * = Table of Contents =
 * Variables
 * Mixins
 * Base
 * Layout
 * Typography
 * Forms
 * Iconography
 * Messaging
 * Tables
 * Section Specific
 * Page Specific
 * Components
 * Media Queries
 * Print Styles
 */
/**
 * _components.scss contains solely the mixin definitions for components.
 *
 * + This file should not depend on styles.scss; we should be able to use
 *   include this file without including styles.scss.
 * + This file should not generate any CSS on it's own; it should only contain
 *   mixin and/or function definitions.
 */
/**
 * Media query breakpoints
 */
/**
* ACCORDION
*
* ACCORDION requires the accordion.plugin.js file. Within the .accordion
* class each accordion item requires a div wrapper. Within the div wrapper
* there is a .header class and a .content class. The .header class is the
* clickable element that will reveal what is hidden in the .content class.
* By default .content is hidden by javascript just in case javascript is not available.
*
* Emmet: .accordion>div>(.header{header}+.content>{lorem ipsum})
*
*/
/**
 * BACKGROUND VIDEO
 *
 * BACKGROUND VIDEO plays a video (without sound) in the background of an element.
 * Emmet: .backgroundvideo>(.panel>div>h1+p)+video>source[src]
 */
/**
/**
 * BREADCRUMBS
 *
 * The breadcrumb mixin provides basic breadcrumb styling, complete with
 * fontawesome icons being used as separators between crumbs.
 *
 * Emmet: nav.breadcrumbs>ul>li*3>a
 */
/**
 * CAROUSEL
 *
 * CAROUSEL uses Slick to create a carousel. It defaults to a rather
 * basic, one-slide-at-a-time implementation with dots, but slick supports a
 * good deal of configuration including showing multiple slides, breakpoints,
 * syncing between slides, and plenty of javascript events and methods for
 * integration.
 *
 * The implementation on Boilerplate is using a CDN to provide
 *
 * + slick.css
 * + slick-theme.css
 * + slick.min.js
 *
 * See http://kenwheeler.github.io/slick/ for more information.
 *
 * The carousel() mixin should be included on a parent element that contains
 * one div per slide. No additional classes are necessary - the slick classes
 * referenced are added dynamically by slick.
 *
 * <div class="carousel">
 *     <div>
 *         <h2>A slide!</h2>
 *         <p>Some text.</p>
 *     </div>
 * </div>
 *
 * Emmet: .carousel>div*3>h2+p
 *
 * While there's more information in slick's documentation, .slick-slide wraps
 * slides while .slick-next and .slick-prev are used for the next/previous
 * arrows.
 */
/**
 * COLUMNS
 *
 * The COLUMNS mixin makes it so that immmediate child elements appear as
 * columns. It is responsive, allowing you to specify the media query at which
 * to switch the layout from stacking to columns.
 *
 * Additionally, it assumes the use of <hr> elements to create visual gutters
 * that are only visible while displayed as columns.
 *
 * <div class="columns">
 *     <div>
 *         <h2>A column</h2>
 *     </div>
 *     <hr />
 *     <div>
 *         <h2>Another column</h2>
 *     </div>
 * </div>
 *
 * Emmet: .columns>div+(hr+div)*2
 */
/**
 * DOSSIER
 *
 * the DOSSIER mixin displays an individual's biography and photograph.
 *
 * Emmet: .dossiers>div>(.photo>img^.bio>h2{Lorem Ipsum}+p.title{Vice President}+p{Lorem20})
 */
/**
 * DROPDOWN
 *
 * The DROPDOWN mixin allows for dropdown menus. By default, a single
 * column dropdown is used. It is positioned to its parent.
 *
 * Emmet: nav.primary>ul>li>a{link name}+.dropdown>.menu>ul>li>(a{link name})*3
 */
/**
 * DROPDOWN (mega)
 * The DROPDOWN (mega) mixin allows for full-width mega dropdown
 * menus. Call this mixin on a list item. Note that the simple
 * dropdown component is a dependency of this mega dropdown.
 * The mega dropdown is positioned to header.primary instead
 * of its parent list item.
 *
 * Emmet: nav.primary>ul>li>a{link name}+.dropdown>.menu(div*3)
 */
/**
 * FEATURES house three features in one row. Powered by flexbox,
 * this allows for a bottom alignment of each feature's anchor. Use the
 * <code>$gutter</code> variable to pass you preferred gutter width.
 *
 * Emmet: .features>(div>(.icon>img)+h4+p+a)*3
 */
/**
 * FLEXBOX is a basic mixin for flexbox layouts.
 * this can be extended for different elements, layouts, styles, etc.
 *
**/
/**
 * GRID extends the FLEXBOX mixin to create evenly spaced grid items
 *
**/
/**
 * LISTING shows a listing of entries. Used on Blogs and Resources and includes a featured slider
 *
 */
/**
 * The LOGIN mixin is a basic implementation of a login module that includes a
 * username input, password input, submit button, forgot password link, and
 * remember me checkbox
 *
 * Emmet: .login>form>(div.text>label{Username}+input)+(div.password>label{Password}+input[type="password"])+div.actions>(.submit>button{Login})+(label>input[type="hidden"]+input[type="checkbox"])+a{Forgot Your Password?}
 */
/**
 * MOBILE NAVIGATION
 *
 * Emmet
 */
/**
 * PAGINATION
 *
 * Emmet: nav.pagination>ul>(li.previous>a{Previous})+(li*2>a)+(li.active>a)+(li*2>a)+li.next>a{Next}
 */
/**
 * POSTS
 * THE POSTS mixin includes styles for news, blog, and press posts

 */
/**
 * PROGRESS BREADCRUMBS
 *
 * the progress mixin provides a basic, pill-style progress nav bar like you
 * might find as part of an e-commerce or registration process.
 *
 * Emmet: nav.progress>ul>(li.complete*2>a)+(li.active>a)+(li*2>a)
 */
/*
 RELATED is for the related posts layout on blogs, recoures, news detail pages
*/
/**
 * SPACINGFLEX extends the FLEXBOX mixin to add margin to the flex items
 *
**/
/**
 * STICKY HEADER
 *
 * The STICKY-HEADER mixin works with js (sticky-header.plugin.js) to hide the
 * header as you scroll down, and show it as you scroll back up. This is
 * responsive as the "top" value is dynamically set in the
 * js based on the height of the header. Top padding is also added
 * to the body dynamically via js so that the header doesn't overlap any
 * content.
 *
 * Emmet: header.primary
 *
 **/
/**
 * TABS
 *
 * Emmet: nav.tabs>ul>li*3>a
 */
/**
********* TESTIMONIAL - EDITED FOR LUMINOSO *******
*
* The TESTIMONIAL mixin is a basic implementation of a testimonial design.
* Emmet: div.testimonial>div.container>blockquote+p
* To use the TESTIMONIAL WITH ASSET component, you simply need to add additional html markup, see emmet below.
* Emmet: div.testimonial.asset>div.container>(div>img)+blockquote+p
*/
/**
 * THREEUPFLEX extends the FLEXBOX mixin to create three-up row of flex items
 *
**/
/**
 *  TILES
 *
 *  Tiles helps you create an equal-width column grid layout without the use of row wrappers.
 *  Tiles is similar to the Features component, expect that Tiles's items can wrap.
 *  Powered by flexbox, you can pass in a $gutter width and $column amount. Note that the
 *  specified $column amount only is respected at the large breakpoint. Tiles will automatically
 *  two-up your items at the medium breakpoint, and stack them at the small breakpoint.
 *
 *
 * Emmet: .tiles>.tiles
 *
 **/
/**
 * TWOUPFLEX extends the FLEXBOX mixin to create a two-up row of flex items
 *
**/
/**
 * VERTICALFLEX extends the FLEXBOX mixin to create vertically stacked blocks
 *
**/
/* = Variables = */
/* Z-index levels */
/* Grays */
/* The brand colors (name them the color) */
/* Standard Palette */
/* Grayscale */
/* Extended Palette */
/* Button Colors */
/* Messaging colors */
/* Applied colors */
/* Social Network Colors */
/* Breakpoint values */
/* = Mixins = */
.cta-button {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #3a3c3c;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  height: 2.5rem; }
  .cta-button:hover, .cta-button:focus {
    background-color: #23c1f2;
    color: white; }
  .cta-button.disabled, .cta-button[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .cta-button.alt {
    background-color: #808285; }
    .cta-button.alt:hover {
      background-color: #23c1f2; }
  .cta-button.outline {
    background-color: transparent;
    border: 1px solid #3a3c3c;
    color: #3a3c3c; }
    .cta-button.outline:hover {
      border-color: #6c7070;
      color: #6c7070; }
  .cta-button.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

.cta-button--white {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: white;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  color: #444; }
  .cta-button--white:hover, .cta-button--white:focus {
    background-color: rgba(255, 255, 255, 0.8);
    color: white; }
  .cta-button--white.disabled, .cta-button--white[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .cta-button--white.alt {
    background-color: #808285; }
    .cta-button--white.alt:hover {
      background-color: #23c1f2; }
  .cta-button--white.outline {
    background-color: transparent;
    border: 1px solid white;
    color: white; }
    .cta-button--white.outline:hover {
      border-color: white;
      color: white; }
  .cta-button--white.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }
  .cta-button--white:hover {
    color: #444; }

.cta-button--black {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #444;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top; }
  .cta-button--black:hover, .cta-button--black:focus {
    background-color: #5e5e5e;
    color: white; }
  .cta-button--black.disabled, .cta-button--black[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .cta-button--black.alt {
    background-color: #808285; }
    .cta-button--black.alt:hover {
      background-color: #23c1f2; }
  .cta-button--black.outline {
    background-color: transparent;
    border: 1px solid #444;
    color: #444; }
    .cta-button--black.outline:hover {
      border-color: #777777;
      color: #777777; }
  .cta-button--black.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

.cta-button--blue {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #04aade;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top; }
  .cta-button--blue:hover, .cta-button--blue:focus {
    background-color: #1ac5fb;
    color: white; }
  .cta-button--blue.disabled, .cta-button--blue[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .cta-button--blue.alt {
    background-color: #808285; }
    .cta-button--blue.alt:hover {
      background-color: #23c1f2; }
  .cta-button--blue.outline {
    background-color: transparent;
    border: 1px solid #04aade;
    color: #04aade; }
    .cta-button--blue.outline:hover {
      border-color: #4cd2fc;
      color: #4cd2fc; }
  .cta-button--blue.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

.cta-button--green {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #95ca4e;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top; }
  .cta-button--green:hover, .cta-button--green:focus {
    background-color: #add675;
    color: white; }
  .cta-button--green.disabled, .cta-button--green[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .cta-button--green.alt {
    background-color: #808285; }
    .cta-button--green.alt:hover {
      background-color: #23c1f2; }
  .cta-button--green.outline {
    background-color: transparent;
    border: 1px solid #95ca4e;
    color: #95ca4e; }
    .cta-button--green.outline:hover {
      border-color: #c4e29c;
      color: #c4e29c; }
  .cta-button--green.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

.cta-button--amber {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #fcba61;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top; }
  .cta-button--amber:hover, .cta-button--amber:focus {
    background-color: #fdd093;
    color: white; }
  .cta-button--amber.disabled, .cta-button--amber[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .cta-button--amber.alt {
    background-color: #808285; }
    .cta-button--amber.alt:hover {
      background-color: #23c1f2; }
  .cta-button--amber.outline {
    background-color: transparent;
    border: 1px solid #fcba61;
    color: #fcba61; }
    .cta-button--amber.outline:hover {
      border-color: #fee6c5;
      color: #fee6c5; }
  .cta-button--amber.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

.cta-button--red {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #ff7850;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top; }
  .cta-button--red:hover, .cta-button--red:focus {
    background-color: #ff9f83;
    color: white; }
  .cta-button--red.disabled, .cta-button--red[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .cta-button--red.alt {
    background-color: #808285; }
    .cta-button--red.alt:hover {
      background-color: #23c1f2; }
  .cta-button--red.outline {
    background-color: transparent;
    border: 1px solid #ff7850;
    color: #ff7850; }
    .cta-button--red.outline:hover {
      border-color: #ffc7b6;
      color: #ffc7b6; }
  .cta-button--red.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

.cta-button__icon {
  margin-right: .25rem; }

.global-header {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  height: 5rem;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  flex-direction: row;
  align-items: center;
  font-family: "Lato", Arial, sans-serif;
  font-size: .875rem;
  background: white;
  color: #333333; }

.global-header__offset {
  height: 5rem; }

.global-header__logo {
  width: auto;
  height: 3rem;
  padding: 0 1rem; }

.desktop-nav {
  display: flex;
  flex-direction: row;
  flex: 1;
  align-items: center; }
  .desktop-nav ul, .desktop-nav li {
    list-style: none; }

.desktop-nav__menu {
  display: flex;
  flex-direction: row;
  flex: 1;
  padding: 0 2rem;
  margin: 0; }
  .desktop-nav__menu a {
    text-decoration: none;
    color: #333333; }

.desktop-nav__flyout {
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  border-radius: 0 0 0.1625rem 0.1625rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  display: block;
  position: absolute;
  top: 2rem;
  left: 1rem;
  padding: .5rem 1rem;
  margin: 0;
  min-width: 10rem;
  background: white;
  border-top: #23c1f2 solid 0.25rem;
  opacity: 0;
  transition-delay: .1s;
  pointer-events: none; }

.desktop-nav__top-level-item {
  position: relative;
  padding: .5rem .75rem;
  margin: 0; }
  .desktop-nav__top-level-item:hover .desktop-nav__flyout {
    opacity: 1;
    pointer-events: all; }

.desktop-nav__top-level-item--dropdown:before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "";
  margin: 0 .25rem 0 0;
  color: #808285; }

.desktop-nav__flyout-item {
  display: block;
  width: 100%;
  white-space: nowrap;
  margin: .5rem 0; }
  .desktop-nav__flyout-item a {
    display: block; }

.desktop-nav__ctas {
  padding: 0 1rem; }
  .desktop-nav__ctas .cta-button {
    margin-left: .5rem; }

.mobile-nav__toggle {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  display: none;
  padding: .5rem .75rem;
  margin-left: 1rem;
  background: #23c1f2;
  font-size: 1rem;
  color: white; }
  .mobile-nav__toggle:before {
    content: "Menu";
    margin-right: .5rem; }

.mobile-nav__wrapper {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none; }

.mobile-nav__overlay {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer; }

.mobile-nav {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 20rem;
  max-width: 90%;
  background: white;
  overflow: scroll; }

.mobile-nav__back-button {
  cursor: pointer; }

.mobile-nav__back-button:before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "";
  display: block;
  color: #23c1f2;
  font-size: 2rem;
  margin: 1rem 1.5rem; }

.mobile-nav__menu {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  list-style: none;
  padding: 0 0 2rem;
  margin: 0;
  margin-left: -20rem; }

.mobile-nav__top-level-item {
  font-size: 1rem;
  padding: 0 1rem;
  margin: .5rem 0 0; }
  .mobile-nav__top-level-item a {
    display: block;
    padding: .5rem;
    text-decoration: none;
    color: #333333; }

.mobile-nav__flyout {
  list-style: none;
  padding: 0;
  margin: 0; }

.mobile-nav__flyout-item {
  font-size: .875rem;
  padding: 0 1rem;
  margin: 0;
  border-top: #f3f3f3 solid 1px; }
  .mobile-nav__flyout-item a {
    display: block;
    padding: .5rem;
    text-decoration: none;
    color: #808285; }

@media only screen and (max-width: 1000px) {
  .desktop-nav {
    display: none; }
  .mobile-nav__wrapper {
    opacity: 0; }
  .mobile-nav__wrapper.open {
    pointer-events: all;
    opacity: 1; }
    .mobile-nav__wrapper.open .mobile-nav__menu {
      margin-left: 0; }
  .mobile-nav__toggle {
    display: block; } }

@media only screen and (max-width: 1300px) {
  .desktop-nav__schedule-demo-cta {
    display: none; } }

.footer {
  display: flex;
  flex-direction: row;
  align-items: end;
  padding: 4rem;
  background: #23c1f2;
  font-size: .875rem;
  color: white; }
  .footer p {
    margin-bottom: 1rem; }
  .footer a {
    color: white;
    text-decoration: none; }
    .footer a:hover {
      color: rgba(255, 255, 255, 0.8);
      text-decoration: none; }

.footer__heading {
  margin: 0;
  padding: .25rem 0;
  font-family: "Lato", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  color: white; }

.footer__spacer-column {
  flex: 2; }

.footer__social-icons {
  font-size: 1.5rem; }

.footer__lists {
  flex: 1;
  display: flex;
  flex-direction: row; }

.footer-list {
  flex: 1;
  box-sizing: border-box;
  padding: 0 1rem; }

.footer-list__links {
  list-style: none;
  margin: 0;
  padding: 0; }

.footer-list__list-item {
  margin: 0;
  padding: .25rem 0; }

.footer-list__list-item-link {
  color: white;
  text-decoration: none; }

.footer__contact-form {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  min-width: 25%;
  background: rgba(255, 255, 255, 0.2);
  padding: 1rem; }
  .footer__contact-form form {
    background: none;
    padding: 0;
    margin-top: 1rem; }
  .footer__contact-form label {
    display: none; }
  .footer__contact-form input#email {
    width: 100% !important; }
  .footer__contact-form span.mktoButtonWrap {
    margin: 0 !important; }
  .footer__contact-form button.mktoButton {
    border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
    background-color: #FF7850;
    color: white;
    display: inline-block;
    box-sizing: border-box;
    font-family: "Lato", Arial, sans-serif;
    padding: 0.5rem 1rem;
    text-align: center;
    text-decoration: none;
    vertical-align: top; }
    .footer__contact-form button.mktoButton:hover, .footer__contact-form button.mktoButton:focus {
      background-color: #04aade;
      color: white; }
    .footer__contact-form button.mktoButton.disabled, .footer__contact-form button.mktoButton[disabled] {
      background-color: #acafaf;
      color: #cccccc;
      pointer-events: none; }
    .footer__contact-form button.mktoButton.alt {
      background-color: #808285; }
      .footer__contact-form button.mktoButton.alt:hover {
        background-color: #23c1f2; }
    .footer__contact-form button.mktoButton.outline {
      background-color: transparent;
      border: 1px solid #FF7850;
      color: #FF7850; }
      .footer__contact-form button.mktoButton.outline:hover {
        border-color: #ffc7b6;
        color: #ffc7b6; }
    .footer__contact-form button.mktoButton.load {
      border-radius: 100px;
      height: 100px;
      letter-spacing: 0.5px;
      padding: 25px;
      text-align: center;
      width: 100px; }

.footer-bottom {
  display: flex;
  flex-direction: row;
  background: #04aade;
  padding: 2rem 4rem;
  font-size: .75rem;
  color: white; }
  .footer-bottom p {
    margin: 0; }
  .footer-bottom a {
    color: white;
    text-decoration: none; }
    .footer-bottom a:hover {
      color: rgba(255, 255, 255, 0.8); }
  .footer-bottom i.fa {
    font-size: 1.25rem;
    margin-right: .5rem; }
  .footer-bottom *:first-child {
    flex: 1; }
  .footer-bottom *:last-child {
    text-align: right; }

.footer-bottom__separator {
  margin: 0 .5rem; }

.color-stripe {
  height: .5rem;
  background-image: url("/img/color-stripe.jpg");
  background-position: center top;
  background-repeat: repeat-x; }

@media (max-width: 1100px) {
  .footer-bottom {
    flex-direction: column; }
    .footer-bottom *:first-child, .footer-bottom *:last-child {
      text-align: center;
      margin-bottom: .5rem; } }

@media (max-width: 900px) {
  .footer {
    flex-direction: column;
    align-items: stretch;
    padding: 2rem; }
  .footer__contact-form {
    margin-bottom: 2rem; }
  .footer__spacer-column {
    display: none; }
  .footer__lists {
    flex: none; }
  .footer-bottom {
    padding: 2rem; } }

.hero-video {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4rem; }
  .hero-video:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: auto;
    content: "";
    height: 1rem;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); }

.hero-video__background-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-position: center center;
  background-size: cover;
  filter: blur(3px); }

.hero-video__background-gradient {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #04aade;
  opacity: .85; }
  .hero-video__background-gradient:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background-image: linear-gradient(to bottom right, #999, #555);
    mix-blend-mode: overlay; }

.hero-video__body {
  width: 100%;
  padding: 0 4rem;
  display: flex;
  flex-direction: row;
  align-items: center; }

.hero-video__text-block {
  box-sizing: border-box;
  position: relative;
  width: 40%;
  padding: 4rem 0;
  margin-right: 4rem;
  color: white;
  text-align: center; }
  .hero-video__text-block h2 {
    text-align: center; }

.hero-video__cta-buttom {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: white;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top; }
  .hero-video__cta-buttom:hover, .hero-video__cta-buttom:focus {
    background-color: rgba(255, 255, 255, 0.75);
    color: white; }
  .hero-video__cta-buttom.disabled, .hero-video__cta-buttom[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  .hero-video__cta-buttom.alt {
    background-color: #808285; }
    .hero-video__cta-buttom.alt:hover {
      background-color: #23c1f2; }
  .hero-video__cta-buttom.outline {
    background-color: transparent;
    border: 1px solid white;
    color: white; }
    .hero-video__cta-buttom.outline:hover {
      border-color: white;
      color: white; }
  .hero-video__cta-buttom.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

.hero-video__video-block {
  box-sizing: border-box;
  width: 70%;
  padding: 4rem 0; }

.hero-video__video-wrapper {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%; }

.hero-video__video-wrapper iframe,
.hero-video__video-wrapper object,
.hero-video__video-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 101%; }

.plyr__poster {
  background-color: transparent !important; }

@media only screen and (max-width: 1000px) {
  .hero-video__body {
    flex-direction: column-reverse;
    padding: 2rem 0; }
  .hero-video__text-block, .hero-video__video-block {
    width: 90%;
    padding: 2rem 0; } }

@media only screen and (max-width: 1300px) {
  .hero-video {
    padding: 0; }
  .hero-video__text-block, .hero-video__video-block {
    margin: 0; } }

/* = Components = */
.accordion > div.open .header::after {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: ""; }

.accordion > div.close .header::after {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: ""; }

.accordion > div.initially-hidden .content {
  display: none; }

.accordion > div .header {
  background-color: #f3f3f3;
  border: 1px solid #808285;
  color: #3a3c3c;
  cursor: pointer;
  font-size: 1rem;
  margin-top: .5rem;
  padding: 1rem;
  position: relative;
  text-align: left;
  width: 100%; }
  .accordion > div .header:hover {
    background: #e6e6e6; }
  .accordion > div .header::after {
    background-color: #23c1f2;
    color: #fff;
    bottom: 0;
    height: 1em;
    margin: auto 0;
    padding: 0.5rem;
    position: absolute;
    right: 1em;
    text-align: center;
    top: 0;
    width: 1em; }
  .accordion > div .header h3 {
    font-size: 1rem;
    margin: 0;
    text-align: left; }

.accordion > div .content {
  padding: 1em; }
  .accordion > div .content h3,
  .accordion > div .content h4,
  .accordion > div .content h5 {
    font-size: 1rem;
    text-align: left; }
  .accordion > div .content h4 {
    margin-bottom: 0; }
    .accordion > div .content h4 a {
      color: #b4cd54;
      font-size: 1.125rem; }

.header-content > .flex > .dropdown,
.mobile {
  background-color: #3a3c3c;
  bottom: 0;
  display: none;
  font-family: "Lato", Arial, sans-serif;
  height: 100%;
  opacity: 0;
  overflow-y: auto;
  padding: 1rem;
  position: fixed;
  top: 0;
  transition: transform .25s;
  width: 80%;
  z-index: 1000; }
  .header-content > .flex > .dropdown.left,
  .mobile.left {
    display: block;
    left: 0;
    right: auto;
    transform: translateX(-100%); }
  .header-content > .flex > .dropdown.right,
  .mobile.right {
    display: block;
    left: auto;
    right: 0;
    transform: translateX(100%); }
  .header-content > .flex > .dropdown.left.open, .header-content > .flex > .dropdown.right.open,
  .mobile.left.open,
  .mobile.right.open {
    transform: translateX(0);
    transition: transform .25s; }
  .header-content > .flex > .dropdown.init,
  .mobile.init {
    display: block;
    opacity: 1; }
  .header-content > .flex > .dropdown nav.utility ul li a,
  .mobile nav.utility ul li a {
    padding: 0.75rem 0; }
  .header-content > .flex > .dropdown li.cta,
  .mobile li.cta {
    border: none;
    display: block;
    padding: 1rem 0; }
  .header-content > .flex > .dropdown a.button,
  .mobile a.button {
    background-color: #23c1f2;
    padding: 1rem; }
    .header-content > .flex > .dropdown a.button:hover,
    .mobile a.button:hover {
      background-color: #808285;
      color: #fff; }
  .header-content > .flex > .dropdown ul,
  .mobile ul {
    display: block;
    padding-left: 0; }
  .header-content > .flex > .dropdown ul li,
  .mobile ul li {
    align-items: center;
    border-bottom: 1px solid #535656;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-bottom: 0;
    text-align: left;
    text-transform: uppercase; }
    .header-content > .flex > .dropdown ul li a,
    .mobile ul li a {
      color: #fff;
      display: block;
      padding: 1rem 0; }
      .header-content > .flex > .dropdown ul li a:hover,
      .mobile ul li a:hover {
        color: #23c1f2; }
    .header-content > .flex > .dropdown ul li i.fa,
    .mobile ul li i.fa {
      display: inline-block; }
    .header-content > .flex > .dropdown ul li > ul > li > a,
    .mobile ul li > ul > li > a {
      color: #fff; }
    .header-content > .flex > .dropdown ul li .sub-menu-toggle.link,
    .mobile ul li .sub-menu-toggle.link {
      -webkit-transition: all 250ms ease-in-out;
      transition: all 250ms ease-in-out;
      font-size: 1.25rem;
      padding: 0.5rem 0.5rem; }
      .header-content > .flex > .dropdown ul li .sub-menu-toggle.link:hover,
      .mobile ul li .sub-menu-toggle.link:hover {
        padding-right: 0.25rem; }
  @media only screen and (min-width: 550px) {
    .header-content > .flex > .dropdown li.cta,
    .mobile li.cta {
      display: inline-block;
      margin: 0 0.5rem; } }
  @media only screen and (min-width: 1024px) {
    .header-content > .flex > .dropdown.open.left,
    .mobile.open.left {
      transform: translateX(-100%); }
    .header-content > .flex > .dropdown.open.right,
    .mobile.open.right {
      transform: translateX(100%); } }

.features > * {
  background-color: #EEE;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
  text-align: center; }
  .features > * img,
  .features > * h3,
  .features > * p {
    margin-bottom: 1rem; }
  .features > * .button {
    margin-bottom: 0; }

@media only screen and (min-width: 1024px) {
  .features {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between; }
    .features > * {
      display: flex;
      flex: 1 0 0;
      flex-direction: column;
      margin-left: 3rem;
      margin-right: 0; }
      .features > * .button {
        align-self: center;
        margin-top: auto; }
      .features > *:first-child {
        margin-left: 0; } }

.twoUp {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1024px; }
  .twoUp .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    .twoUp .content .scroll {
      margin-top: auto; }
    .twoUp .content > * {
      position: relative;
      width: 100%; }
    .twoUp .content .button {
      width: auto; }
    .twoUp .content .scroll {
      justify-self: flex-end; }
    .twoUp .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .twoUp .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  .twoUp img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    .twoUp {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .twoUp > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      .twoUp .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      .twoUp img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }
  .twoUp > * {
    position: relative; }
  .twoUp.text-only .content {
    padding-bottom: 0;
    padding-top: 0; }
  .twoUp .dark {
    background-color: transparent;
    color: #3a3c3c;
    text-align: left; }
    .twoUp .dark > * {
      color: #3a3c3c;
      text-align: left; }
    .twoUp .dark a.button {
      color: #fff; }
  .twoUp .center {
    text-align: center; }
    .twoUp .center > * {
      text-align: center; }
    .twoUp .center .button {
      margin: 0 auto; }
  .twoUp .media {
    position: relative;
    padding-bottom: 56.25%; }
  .twoUp video,
  .twoUp iframe {
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%; }
  .twoUp img {
    height: auto;
    position: relative;
    max-width: 100%; }
  .twoUp .play {
    position: relative; }
    .twoUp .play::before {
      font: normal normal normal 1em / 1 FontAwesome;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      speak: none;
      text-rendering: auto;
      text-transform: none;
      display: inline-block;
      align-items: center;
      color: #fff;
      content: "\f144";
      cursor: pointer;
      display: flex;
      font-size: 4rem;
      height: 100%;
      justify-content: center;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 10; }
    .twoUp .play::after {
      background: rgba(0, 0, 0, 0.5);
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
  @media only screen and (min-width: 669px) {
    .twoUp {
      margin: 0 auto;
      max-width: 1024px; }
      .twoUp img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0; }
      .twoUp .content {
        padding: 4.75rem 3rem; }
      .twoUp .media,
      .twoUp .media + div {
        flex-basis: 50%;
        min-height: 0; }
      .twoUp video,
      .twoUp iframe {
        position: absolute; }
      .twoUp.assets > * {
        max-height: 22rem; }
      .twoUp.assets img {
        height: auto;
        left: 0;
        max-width: 100%;
        position: relative;
        top: 0; } }

.threeUp {
  display: flex;
  flex-direction: column; }
  .threeUp .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    .threeUp .content .scroll {
      margin-top: auto; }
    .threeUp .content > * {
      position: relative;
      width: 100%; }
    .threeUp .content .button {
      width: auto; }
    .threeUp .content .scroll {
      justify-self: flex-end; }
    .threeUp .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .threeUp .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  .threeUp img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    .threeUp {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .threeUp > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      .threeUp .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      .threeUp img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }
  @media only screen and (min-width: 669px) {
    .threeUp > * {
      flex-basis: 28%; }
    .threeUp .content {
      flex-basis: 40%; }
    .threeUp img {
      position: relative; } }

.twoUp.vertical {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1024px;
  height: auto; }
  .twoUp.vertical .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    .twoUp.vertical .content .scroll {
      margin-top: auto; }
    .twoUp.vertical .content > * {
      position: relative;
      width: 100%; }
    .twoUp.vertical .content .button {
      width: auto; }
    .twoUp.vertical .content .scroll {
      justify-self: flex-end; }
    .twoUp.vertical .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .twoUp.vertical .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  .twoUp.vertical img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    .twoUp.vertical {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .twoUp.vertical > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      .twoUp.vertical .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      .twoUp.vertical img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }
  .twoUp.vertical > * {
    position: relative; }
  .twoUp.vertical.text-only .content {
    padding-bottom: 0;
    padding-top: 0; }
  .twoUp.vertical .dark {
    background-color: transparent;
    color: #3a3c3c;
    text-align: left; }
    .twoUp.vertical .dark > * {
      color: #3a3c3c;
      text-align: left; }
    .twoUp.vertical .dark a.button {
      color: #fff; }
  .twoUp.vertical .center {
    text-align: center; }
    .twoUp.vertical .center > * {
      text-align: center; }
    .twoUp.vertical .center .button {
      margin: 0 auto; }
  .twoUp.vertical .media {
    position: relative;
    padding-bottom: 56.25%; }
  .twoUp.vertical video,
  .twoUp.vertical iframe {
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%; }
  .twoUp.vertical img {
    height: auto;
    position: relative;
    max-width: 100%; }
  .twoUp.vertical .play {
    position: relative; }
    .twoUp.vertical .play::before {
      font: normal normal normal 1em / 1 FontAwesome;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      speak: none;
      text-rendering: auto;
      text-transform: none;
      display: inline-block;
      align-items: center;
      color: #fff;
      content: "\f144";
      cursor: pointer;
      display: flex;
      font-size: 4rem;
      height: 100%;
      justify-content: center;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 10; }
    .twoUp.vertical .play::after {
      background: rgba(0, 0, 0, 0.5);
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
  @media only screen and (min-width: 669px) {
    .twoUp.vertical {
      margin: 0 auto;
      max-width: 1024px; }
      .twoUp.vertical img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0; }
      .twoUp.vertical .content {
        padding: 4.75rem 3rem; }
      .twoUp.vertical .media,
      .twoUp.vertical .media + div {
        flex-basis: 50%;
        min-height: 0; }
      .twoUp.vertical video,
      .twoUp.vertical iframe {
        position: absolute; }
      .twoUp.vertical.assets > * {
        max-height: 22rem; }
      .twoUp.vertical.assets img {
        height: auto;
        left: 0;
        max-width: 100%;
        position: relative;
        top: 0; } }
  .twoUp.vertical > * {
    max-height: 21rem;
    min-height: 18.75rem; }
  @media only screen and (min-width: 669px) {
    .twoUp.vertical {
      flex-direction: column; }
      .twoUp.vertical .content > * {
        margin-left: auto;
        margin-right: auto; }
      .twoUp.vertical .content .button {
        margin-left: auto;
        margin-right: auto; }
      .twoUp.vertical.assets img,
      .twoUp.vertical img {
        height: auto;
        left: 0;
        position: relative;
        width: 100%;
        top: -10rem; } }

.twoUp.spacing {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1024px;
  margin: 0 auto 4rem; }
  .twoUp.spacing .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    .twoUp.spacing .content .scroll {
      margin-top: auto; }
    .twoUp.spacing .content > * {
      position: relative;
      width: 100%; }
    .twoUp.spacing .content .button {
      width: auto; }
    .twoUp.spacing .content .scroll {
      justify-self: flex-end; }
    .twoUp.spacing .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .twoUp.spacing .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  .twoUp.spacing img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    .twoUp.spacing {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .twoUp.spacing > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      .twoUp.spacing .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      .twoUp.spacing img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }
  .twoUp.spacing > * {
    position: relative; }
  .twoUp.spacing.text-only .content {
    padding-bottom: 0;
    padding-top: 0; }
  .twoUp.spacing .dark {
    background-color: transparent;
    color: #3a3c3c;
    text-align: left; }
    .twoUp.spacing .dark > * {
      color: #3a3c3c;
      text-align: left; }
    .twoUp.spacing .dark a.button {
      color: #fff; }
  .twoUp.spacing .center {
    text-align: center; }
    .twoUp.spacing .center > * {
      text-align: center; }
    .twoUp.spacing .center .button {
      margin: 0 auto; }
  .twoUp.spacing .media {
    position: relative;
    padding-bottom: 56.25%; }
  .twoUp.spacing video,
  .twoUp.spacing iframe {
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%; }
  .twoUp.spacing img {
    height: auto;
    position: relative;
    max-width: 100%; }
  .twoUp.spacing .play {
    position: relative; }
    .twoUp.spacing .play::before {
      font: normal normal normal 1em / 1 FontAwesome;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      speak: none;
      text-rendering: auto;
      text-transform: none;
      display: inline-block;
      align-items: center;
      color: #fff;
      content: "\f144";
      cursor: pointer;
      display: flex;
      font-size: 4rem;
      height: 100%;
      justify-content: center;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 10; }
    .twoUp.spacing .play::after {
      background: rgba(0, 0, 0, 0.5);
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
  @media only screen and (min-width: 669px) {
    .twoUp.spacing {
      margin: 0 auto;
      max-width: 1024px; }
      .twoUp.spacing img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0; }
      .twoUp.spacing .content {
        padding: 4.75rem 3rem; }
      .twoUp.spacing .media,
      .twoUp.spacing .media + div {
        flex-basis: 50%;
        min-height: 0; }
      .twoUp.spacing video,
      .twoUp.spacing iframe {
        position: absolute; }
      .twoUp.spacing.assets > * {
        max-height: 22rem; }
      .twoUp.spacing.assets img {
        height: auto;
        left: 0;
        max-width: 100%;
        position: relative;
        top: 0; } }
  .twoUp.spacing img {
    height: auto;
    left: 0;
    max-width: 100%;
    top: 2rem;
    width: 100%; }
  .twoUp.spacing .content.dark {
    margin-bottom: 0; }
  .twoUp.spacing .content.dark > * {
    color: #3a3c3c; }
  .twoUp.spacing > * {
    align-content: center;
    align-items: center;
    justify-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem; }
  .twoUp.spacing + .twoUp.spacing div:last-child {
    margin-bottom: 0; }
  .twoUp.spacing + .twoUp.spacing div:first-child {
    order: 2; }
  @media only screen and (min-width: 669px) {
    .twoUp.spacing {
      margin: 0 auto; }
      .twoUp.spacing + .twoUp.spacing div:first-child {
        order: 1; } }

.grid {
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .grid .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    .grid .content .scroll {
      margin-top: auto; }
    .grid .content > * {
      position: relative;
      width: 100%; }
    .grid .content .button {
      width: auto; }
    .grid .content .scroll {
      justify-self: flex-end; }
    .grid .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .grid .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  .grid img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    .grid {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .grid > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      .grid .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      .grid img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }
  .grid > div {
    max-height: none;
    overflow: auto;
    padding: 0 1.25rem 1.25rem;
    text-align: center; }
    .grid > div h3 {
      color: #f3f3f3;
      font-size: 3.75rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .grid > div img {
      height: auto;
      left: 0;
      margin-bottom: 1rem;
      max-height: 100%;
      max-width: 100%;
      position: relative;
      width: auto; }
    .grid > div a.button {
      align-self: center;
      margin-top: auto; }
    .grid > div.small {
      border-bottom: 1px solid #e8e7e7;
      display: flex;
      flex: 0 1 50%;
      flex-direction: row;
      justify-content: space-between;
      margin: 0 2.375rem;
      padding: 3.125rem 0 2.75rem;
      text-align: left; }
      .grid > div.small div {
        padding-left: 1rem; }
      .grid > div.small .icon {
        flex: 0 0 12%;
        padding: 0; }
      .grid > div.small h3,
      .grid > div.small h4,
      .grid > div.small p {
        height: auto;
        text-align: left; }
      .grid > div.small img {
        height: auto; }
  .grid:last-child > div {
    border-bottom: none;
    padding-bottom: 0; }
  @media only screen and (min-width: 669px) {
    .grid > div {
      display: flex;
      flex: 0 1 50%;
      flex-direction: column;
      justify-content: space-between;
      justify-content: flex-start;
      padding: 0 2.25rem 2.25rem; }
      .grid > div h3 {
        height: 75px; }
      .grid > div h4 {
        line-height: 1;
        height: 60px;
        margin-bottom: 0; }
      .grid > div .icon {
        height: 100px; }
      .grid > div.small h3,
      .grid > div.small h4,
      .grid > div.small p {
        height: auto;
        text-align: left; } }

/* blog and resources list views */
.list {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1024px; }
  .list .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    .list .content .scroll {
      margin-top: auto; }
    .list .content > * {
      position: relative;
      width: 100%; }
    .list .content .button {
      width: auto; }
    .list .content .scroll {
      justify-self: flex-end; }
    .list .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .list .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  .list img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    .list {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .list > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      .list .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      .list img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }
  .list > * {
    position: relative; }
  .list.text-only .content {
    padding-bottom: 0;
    padding-top: 0; }
  .list .dark {
    background-color: transparent;
    color: #3a3c3c;
    text-align: left; }
    .list .dark > * {
      color: #3a3c3c;
      text-align: left; }
    .list .dark a.button {
      color: #fff; }
  .list .center {
    text-align: center; }
    .list .center > * {
      text-align: center; }
    .list .center .button {
      margin: 0 auto; }
  .list .media {
    position: relative;
    padding-bottom: 56.25%; }
  .list video,
  .list iframe {
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%; }
  .list img {
    height: auto;
    position: relative;
    max-width: 100%; }
  .list .play {
    position: relative; }
    .list .play::before {
      font: normal normal normal 1em / 1 FontAwesome;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      speak: none;
      text-rendering: auto;
      text-transform: none;
      display: inline-block;
      align-items: center;
      color: #fff;
      content: "\f144";
      cursor: pointer;
      display: flex;
      font-size: 4rem;
      height: 100%;
      justify-content: center;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 10; }
    .list .play::after {
      background: rgba(0, 0, 0, 0.5);
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
  @media only screen and (min-width: 669px) {
    .list {
      margin: 0 auto;
      max-width: 1024px; }
      .list img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0; }
      .list .content {
        padding: 4.75rem 3rem; }
      .list .media,
      .list .media + div {
        flex-basis: 50%;
        min-height: 0; }
      .list video,
      .list iframe {
        position: absolute; }
      .list.assets > * {
        max-height: 22rem; }
      .list.assets img {
        height: auto;
        left: 0;
        max-width: 100%;
        position: relative;
        top: 0; } }
  .list article .content h3 {
    font-size: 1rem;
    font-weight: normal;
    margin-bottom: 0.75rem; }
  .list article .content p {
    color: #808285;
    font-size: 0.6875rem;
    margin-bottom: 0.75rem; }
  .list article .content .photo {
    height: 100px;
    margin-bottom: 1rem;
    overflow: hidden; }
  .list .listing {
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    .list .listing article:nth-child(3) {
      margin-left: 0;
      margin-right: 0; }
      .list .listing article:nth-child(3) .content {
        color: #3a3c3c;
        height: auto;
        padding: 2.25rem 1rem;
        position: relative;
        width: 100%; }
        .list .listing article:nth-child(3) .content > * {
          align-items: center;
          position: relative;
          z-index: 5; }
        .list .listing article:nth-child(3) .content::after {
          background: rgba(0, 0, 0, 0.6);
          content: "";
          height: 100%;
          left: 0;
          position: absolute;
          top: 0;
          width: 100%;
          z-index: 1; }
      .list .listing article:nth-child(3) h3 a {
        color: #fff;
        font-size: 1.5rem;
        text-decoration: none; }
      .list .listing article:nth-child(3) .photo {
        height: 100%;
        left: 0;
        overflow: hidden;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1; }
        .list .listing article:nth-child(3) .photo img {
          height: auto;
          left: 0;
          max-width: none;
          position: absolute;
          top: 0;
          width: auto;
          z-index: 1; }
      .list .listing article:nth-child(3) .meta li {
        font-size: 1rem; }
      .list .listing article:nth-child(3) p {
        color: #fff;
        font-size: 1rem; }
  .list.resources .featured .content .meta li,
  .list.resources .listing article:nth-child(3) .content .meta li {
    display: block;
    line-height: 1;
    margin-bottom: 0.5rem; }
  @media only screen and (min-width: 669px) {
    .list .featured {
      flex-basis: 55%;
      margin-right: 1rem; }
    .list .listing.posts.border {
      flex-direction: row;
      flex-wrap: wrap; }
      .list .listing.posts.border article {
        display: flex;
        flex: 1 0 47%; }
        .list .listing.posts.border article:nth-child(3) {
          flex-basis: 100%; }
    .list .more {
      flex-basis: 100%; } }

.login {
  background: #EEE;
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  padding: 3rem; }
  .login input:focus {
    box-shadow: 0 0 5px rgba(114, 164, 0, 0.7); }
  .login .submit {
    text-align: center; }
  .login .actions {
    text-align: center; }
  @media only screen and (min-width: 669px) {
    .login .actions {
      align-items: center;
      display: flex;
      justify-content: space-between;
      flex-flow: row wrap; }
      .login .actions > * {
        margin: 0;
        padding: 0; }
      .login .actions label {
        margin-left: 1em; }
      .login .actions a {
        display: block;
        margin-left: auto;
        text-align: right; } }

nav.pagination {
  display: flex;
  flex-basis: 100%;
  justify-content: center; }
  nav.pagination ul {
    display: flex;
    justify-content: center; }
  nav.pagination li {
    margin-bottom: 0; }
  nav.pagination a {
    color: #808285;
    padding: 0.5rem 1rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center; }
  nav.pagination li:not(:last-child) a {
    border-right: 1px solid #dedede; }
  nav.pagination li.active a {
    background-color: #23c1f2;
    color: #fff;
    cursor: default;
    pointer-events: none; }
    nav.pagination li.active a::before, nav.pagination li.active a::after {
      background-color: #23c1f2; }
    nav.pagination li.active a:hover {
      color: #fff;
      background-color: #23c1f2; }
      nav.pagination li.active a:hover::before, nav.pagination li.active a:hover::after {
        background-color: #23c1f2; }
  nav.pagination li.disabled a {
    color: #dedede;
    cursor: default;
    pointer-events: none; }
  nav.pagination li.previous a::before {
    font: normal normal normal 1em / 1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
    text-rendering: auto;
    text-transform: none;
    content: ""; }
  nav.pagination li.next a::before {
    font: normal normal normal 1em / 1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
    text-rendering: auto;
    text-transform: none;
    content: ""; }
  nav.pagination li:hover:not(.active):not(.disabled) a {
    background-color: #808285;
    color: #FFF; }
    nav.pagination li:hover:not(.active):not(.disabled) a::before {
      background-color: #808285;
      color: #FFF; }

.posts {
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .posts article {
    margin-bottom: 3rem; }
  .posts .content {
    background: none;
    padding: 1rem;
    width: 100%; }
    .posts .content img {
      height: auto;
      margin: 0 0 0.875rem;
      max-width: 100%;
      position: relative;
      width: 100%; }
    .posts .content h3 {
      font-size: 0.875rem;
      font-weight: normal;
      margin-bottom: 0.6875rem;
      text-align: left; }
      .posts .content h3 a {
        color: #23c1f2;
        text-decoration: underline; }
    .posts .content h4 {
      font-size: 0.75rem;
      margin-bottom: 0.6875rem;
      text-align: left; }
    .posts .content p {
      color: #808285;
      font-family: "Lato", Arial, sans-serif;
      font-size: 0.6875rem;
      margin-bottom: 0.6875rem;
      text-align: left; }
    .posts .content .date {
      font-family: "Lato", Arial, sans-serif;
      font-size: 0.6875rem; }
    .posts .content .photo {
      height: 100px;
      margin-bottom: 1rem;
      overflow: hidden;
      position: relative;
      width: 100%; }
  .posts.border {
    justify-content: flex-start; }
    .posts.border article {
      border: 1px solid #cacaca; }
  .posts.press article {
    border: 1px solid #cacaca;
    flex: 0 0 48%;
    margin: 0 1% 1.625rem; }
  .posts.press a.button {
    margin-top: auto; }
  @media only screen and (min-width: 669px) {
    .posts {
      flex-wrap: wrap; }
      .posts .content {
        justify-content: flex-start; } }
  .posts .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    .posts .content .scroll {
      margin-top: auto; }
    .posts .content > * {
      position: relative;
      width: 100%; }
    .posts .content .button {
      width: auto; }
    .posts .content .scroll {
      justify-self: flex-end; }
    .posts .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .posts .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  .posts img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    .posts {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .posts > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      .posts .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      .posts img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }
  .posts > div {
    max-height: none;
    overflow: auto;
    padding: 0 1.25rem 1.25rem;
    text-align: center; }
    .posts > div h3 {
      color: #f3f3f3;
      font-size: 3.75rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    .posts > div img {
      height: auto;
      left: 0;
      margin-bottom: 1rem;
      max-height: 100%;
      max-width: 100%;
      position: relative;
      width: auto; }
    .posts > div a.button {
      align-self: center;
      margin-top: auto; }
    .posts > div.small {
      border-bottom: 1px solid #e8e7e7;
      display: flex;
      flex: 0 1 50%;
      flex-direction: row;
      justify-content: space-between;
      margin: 0 2.375rem;
      padding: 3.125rem 0 2.75rem;
      text-align: left; }
      .posts > div.small div {
        padding-left: 1rem; }
      .posts > div.small .icon {
        flex: 0 0 12%;
        padding: 0; }
      .posts > div.small h3,
      .posts > div.small h4,
      .posts > div.small p {
        height: auto;
        text-align: left; }
      .posts > div.small img {
        height: auto; }
  .posts:last-child > div {
    border-bottom: none;
    padding-bottom: 0; }
  @media only screen and (min-width: 669px) {
    .posts > div {
      display: flex;
      flex: 0 1 50%;
      flex-direction: column;
      justify-content: space-between;
      justify-content: flex-start;
      padding: 0 2.25rem 2.25rem; }
      .posts > div h3 {
        height: 75px; }
      .posts > div h4 {
        line-height: 1;
        height: 60px;
        margin-bottom: 0; }
      .posts > div .icon {
        height: 100px; }
      .posts > div.small h3,
      .posts > div.small h4,
      .posts > div.small p {
        height: auto;
        text-align: left; } }
  .posts article {
    margin-bottom: 3rem; }
  .posts .content {
    background: none;
    padding: 1rem;
    width: 100%; }
    .posts .content img {
      height: auto;
      margin: 0 0 0.875rem;
      max-width: 100%;
      position: relative;
      width: 100%; }
    .posts .content h3 {
      font-size: 0.875rem;
      font-weight: normal;
      margin-bottom: 0.6875rem;
      text-align: left; }
      .posts .content h3 a {
        color: #23c1f2;
        text-decoration: underline; }
    .posts .content h4 {
      font-size: 0.75rem;
      margin-bottom: 0.6875rem;
      text-align: left; }
    .posts .content p {
      color: #808285;
      font-family: "Lato", Arial, sans-serif;
      font-size: 0.6875rem;
      margin-bottom: 0.6875rem;
      text-align: left; }
    .posts .content .date {
      font-family: "Lato", Arial, sans-serif;
      font-size: 0.6875rem; }
    .posts .content .photo {
      height: 100px;
      margin-bottom: 1rem;
      overflow: hidden;
      position: relative;
      width: 100%; }
  .posts.border {
    justify-content: flex-start; }
    .posts.border article {
      border: 1px solid #cacaca; }
  .posts.press article {
    border: 1px solid #cacaca;
    flex: 0 0 48%;
    margin: 0 1% 1.625rem; }
  .posts.press a.button {
    margin-top: auto; }
  @media only screen and (min-width: 669px) {
    .posts {
      flex-wrap: wrap; }
      .posts .content {
        justify-content: flex-start; } }
  .posts.related article {
    border: none; }
  .posts.related .photo,
  .posts.related .meta {
    margin-bottom: 1rem; }
  .posts img {
    height: auto;
    max-width: 100%;
    position: relative; }
  .posts h3 {
    font-size: 0.875rem; }
    .posts h3 a {
      color: #23c1f2; }
  @media only screen and (min-width: 669px) {
    .posts.border {
      flex-wrap: wrap; }
      .posts.border article {
        flex: 0 0 31%;
        margin: 0 1% 1.625rem; }
    .posts.press h3, .posts.related h3 {
      margin-bottom: 1.75rem; }
    .posts.press p, .posts.related p {
      margin-bottom: 1.875rem; }
    .posts.press .photo, .posts.related .photo {
      max-height: 200px;
      overflow: hidden;
      position: relative; }
      .posts.press .photo img, .posts.related .photo img {
        left: 0;
        position: relative;
        top: 0; }
    .posts.latest article {
      flex: 1 0 31%;
      margin: 0 1% 1.625rem; } }

.tabs nav ul {
  display: none; }
  .tabs nav ul li {
    display: block;
    cursor: pointer;
    margin-bottom: 2rem;
    text-transform: uppercase;
    text-align: center; }
    .tabs nav ul li span {
      background-color: #ef542d;
      border-radius: 50px;
      color: #fff;
      display: block;
      font-size: 1.875rem;
      height: 50px;
      margin-bottom: 0.5rem;
      padding: 0.25rem;
      text-align: center;
      width: 50px; }
    .tabs nav ul li.tab2 span {
      background-color: #f9a156; }
    .tabs nav ul li.tab3 span {
      background-color: #eec15f; }
    .tabs nav ul li.tab4 span {
      background-color: #aad152; }
    .tabs nav ul li.tab5 span {
      background-color: #33bc9a; }
    .tabs nav ul li.tab6 span {
      background-color: #1680b7; }
    .tabs nav ul li.tab7 span {
      background-color: #23c1f2; }
  .tabs nav ul li.active {
    font-weight: bold; }

.tabs .panel {
  padding: 2rem 0; }
  .tabs .panel h2 {
    color: #ef542d;
    font-size: 1.875rem; }
  .tabs .panel h3 {
    font-size: 1.125rem; }
  .tabs .panel h4 {
    color: #3a3c3c;
    font-size: 1rem; }
  .tabs .panel h5 {
    text-align: left; }
  .tabs .panel > div {
    margin-bottom: 3.5rem; }
  .tabs .panel img {
    margin-bottom: 1rem; }
  .tabs .panel .twoUp.spacing {
    margin: 0; }

.tabs .panel2 h2 {
  color: #f9a156; }

.tabs .panel3 h2 {
  color: #eec15f; }

.tabs .panel4 h2 {
  color: #aad152; }

.tabs .panel5 h2 {
  color: #33bc9a; }

.tabs .panel6 h2 {
  color: #1680b7; }

.tabs .panel.initial {
  text-align: center; }
  .tabs .panel.initial img {
    max-width: 400px; }

@media only screen and (min-width: 669px) {
  .tabs nav ul {
    display: block;
    float: left;
    width: 30%; }
    .tabs nav ul li {
      display: flex;
      flex-direction: column;
      align-content: center;
      justify-content: space-between;
      align-items: center;
      cursor: pointer;
      text-transform: uppercase; }
      .tabs nav ul li img {
        display: block;
        margin-bottom: 1.875rem; }
      .tabs nav ul li.initial {
        display: none; }
    .tabs nav ul li.active {
      font-weight: bold; }
  .tabs .panel {
    display: none;
    float: right;
    width: 70%;
    padding: 4rem; }
    .tabs .panel.active {
      display: inherit; }
    .tabs .panel img {
      margin-bottom: 2rem; } }

.testimonial {
  margin-bottom: 8.75rem;
  padding: 4rem 0 4rem;
  text-align: center; }
  .testimonial .asset {
    margin-bottom: 2rem; }
    .testimonial .asset img {
      max-width: 280px; }
  .testimonial blockquote {
    background: none;
    color: #3a3c3c;
    font-family: "Lato", Arial, sans-serif;
    font-size: 1rem;
    padding: 0 1.5rem;
    position: relative;
    text-align: center; }
    .testimonial blockquote::after {
      display: none; }
    .testimonial blockquote::before {
      background: url("/img/quote-icon-left.png") no-repeat top left;
      content: "";
      height: 65px;
      left: 0;
      position: absolute;
      top: 0;
      width: 81px; }
    .testimonial blockquote p.quote {
      margin-bottom: 2.5rem;
      position: relative;
      z-index: 10; }
      .testimonial blockquote p.quote::after {
        background: url("/img/quote-icon-right.png") no-repeat bottom right;
        bottom: -170px;
        content: "";
        height: 170px;
        position: absolute;
        right: 0;
        width: 214px;
        z-index: -1; }
    .testimonial blockquote cite h4 {
      font-size: 1.125rem; }
  .testimonial.slider {
    margin-bottom: 8.75rem !important;
    padding-bottom: 0;
    /* slick.js overrides */ }
    .testimonial.slider .slick-list,
    .testimonial.slider .slick-slide {
      height: auto !important; }
    .testimonial.slider .slick-dots {
      bottom: -3rem !important;
      padding-top: 2rem !important; }
      .testimonial.slider .slick-dots li button {
        background: none !important; }
        .testimonial.slider .slick-dots li button::before {
          color: #808285 !important;
          font-size: 1.5rem !important;
          opacity: 1 !important; }
      .testimonial.slider .slick-dots li.slick-active button::before {
        color: #23c1f2 !important; }
      .testimonial.slider .slick-dots::before {
        border-top: 1px solid #808285;
        content: "";
        height: 1px;
        left: calc(50% - 11%);
        margin: 0 auto;
        position: absolute;
        width: 22%;
        top: 0; }
  @media only screen and (min-width: 1024px) {
    .testimonial {
      margin-bottom: 15.75rem;
      text-align: left; }
      .testimonial .container > div {
        display: flex;
        justify-content: space-between; }
      .testimonial .asset {
        flex-basis: 33%;
        flex-shrink: 0;
        margin-bottom: 0;
        margin-right: 4rem; }
        .testimonial .asset img {
          max-width: 100%; }
      .testimonial blockquote {
        font-size: 1.25rem;
        padding: 0 6rem; }
        .testimonial blockquote::before, .testimonial blockquote::after {
          font-size: 18.75rem;
          line-height: 1;
          z-index: 1; }
        .testimonial blockquote::after {
          bottom: auto;
          font-size: 50rem;
          line-height: 0.815;
          top: 0; }
      .testimonial.slider {
        margin-bottom: 0; } }

.tiles > * {
  background-color: #EEE;
  margin-bottom: 2rem;
  padding: 2rem;
  text-align: left; }
  .tiles > * *:last-child {
    margin-bottom: 0; }

@media only screen and (min-width: 669px) {
  .tiles {
    display: flex;
    flex-flow: row wrap;
    margin-left: -1rem;
    margin-right: -1rem; }
    .tiles > * {
      flex-basis: calc(50% - 2rem);
      flex-shrink: 0;
      margin-left: 1rem;
      margin-right: 1rem; } }

@media only screen and (min-width: 1024px) {
  .tiles > * {
    flex-basis: calc((100% / 4) - (2rem)); } }

/* = Base = */
html {
  font-size: 16px; }

@media only screen and (max-width: 1100px) and (min-width: 1001px) {
  html {
    font-size: 14px; } }

@media only screen and (max-width: 1000px) {
  html {
    font-size: 12px; } }

a, abbr, address, article, aside, audio, b, blockquote, body, button, canvas, caption, cite, code, datalist, dd, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, hr, i, iframe, img, input, label, legend, li, main, meter, nav, object, ol, option, p, pre, progress, q, section, select, span, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead, tr, u, ul, video {
  border: 0;
  box-sizing: border-box;
  font: inherit;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, video {
  display: block; }

html {
  background-color: #FFF;
  color: #3a3c3c;
  font-family: "Lato", Arial, sans-serif;
  letter-spacing: 0.75px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  min-width: 300px; }

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

::selection {
  background: #dedede; }

::-moz-selection {
  background: #dedede; }

video[poster] {
  height: 100%;
  width: 100%; }

/* = Layout = */
.group::before, .group::after {
  content: "";
  display: table; }

.group::after {
  clear: both; }

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1032px;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative; }

.shell {
  overflow: hidden; }

.sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.main {
  position: relative; }

.search-drawer {
  background-color: #333333; }
  .search-drawer > div {
    max-height: 0;
    overflow: hidden;
    transition: max-height 150ms ease; }
    .search-drawer > div.open {
      max-height: 80px; }
  .search-drawer form {
    display: flex;
    padding: 1rem 0; }
    .search-drawer form > * {
      margin-bottom: 0; }
    .search-drawer form .text {
      flex: 1 1 auto; }
    .search-drawer form .submit input {
      height: 100%; }

.menu-toggle {
  position: absolute;
  right: 1rem;
  top: 2.5rem; }

form.search {
  display: flex; }
  form.search .text,
  form.search .submit {
    margin-bottom: 0; }
  form.search .text {
    width: 100%; }
  form.search label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px; }
  form.search .submit {
    flex-basis: 33%;
    flex-shrink: 0; }
  form.search input {
    border: none;
    width: 100%; }

.torso {
  padding-bottom: 3rem;
  padding-top: 1rem;
  position: relative; }

.main section,
main section {
  padding: 2rem 0;
  text-align: center; }
  .main section.headline,
  main section.headline {
    padding: 2rem 0; }
    .main section.headline > *,
    main section.headline > * {
      margin-bottom: 0; }
  .main section.headline + .headline,
  main section.headline + .headline {
    margin-top: -2rem;
    padding: 0 0 2rem; }
  .main section.twoUp,
  main section.twoUp {
    padding: 0; }

aside.primary {
  margin-bottom: 2rem;
  padding: 2rem 0; }
  aside.primary h5 {
    text-align: left; }
  aside.primary a {
    color: #23c1f2; }
    aside.primary a:hover {
      color: #808285; }
  aside.primary .module {
    padding-bottom: 3.375rem; }
  aside.primary p {
    margin-bottom: 1.25rem; }
  aside.primary ul {
    list-style: none;
    margin: 0;
    padding-left: 0; }
    aside.primary ul li::before {
      display: none; }
    aside.primary ul li {
      margin-bottom: 1.25rem; }

/* = Typography = */
h1,
h2,
h3,
h4,
h5 {
  font-family: "Lato", Arial, sans-serif;
  line-height: 1.2;
  margin-bottom: 1.5rem; }

h1 {
  font-size: 2rem;
  font-weight: 700; }

h2 {
  font-size: 1.7rem;
  font-weight: 700; }

h3 {
  font-size: 1.3rem;
  font-weight: 700; }

h4 {
  color: #b4cd54;
  font-size: 1.1rem; }

h5 {
  font-size: 1rem;
  font-weight: bold; }

strong {
  font-weight: bold; }

em {
  font-style: italic; }

blockquote {
  background: none;
  color: #3a3c3c;
  font-size: 1.5rem;
  padding: 1.5rem 0;
  text-align: left; }
  blockquote::before, blockquote::after {
    color: #3a3c3c;
    position: relative; }
  blockquote::before {
    content: open-quote;
    left: 0;
    line-height: 1;
    top: 0; }
  blockquote::after {
    bottom: 0;
    content: close-quote;
    right: 0; }
  blockquote p.quote {
    margin-bottom: 3.875rem; }
  blockquote cite {
    color: #b4cd54;
    font-size: 1.125rem; }

p.callout {
  color: #b4cd54;
  font-size: 1.25rem; }
  p.callout.emphasis {
    color: #f9ab55;
    font-style: italic; }

.intro {
  color: #808285; }
  .intro p {
    font-size: 1.3rem;
    margin-bottom: 0.8em; }

.guide {
  color: #808285;
  font-size: 1.25rem; }

.meta {
  color: #808285;
  font-family: "Lato", Arial, sans-serif;
  font-size: 0.6875rem;
  margin-bottom: 0.6875rem;
  text-transform: uppercase; }

hr {
  border: 0;
  border-top: 1px solid #a9a9a9;
  display: block;
  height: 0;
  margin: 5.25rem auto;
  width: 100%; }

a {
  color: #808285;
  cursor: pointer;
  text-decoration: underline;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out; }
  a:hover, a:active {
    color: #23c1f2; }
  a:focus {
    outline: thin dotted; }
  a.disabled, a[disabled] {
    color: #cccccc;
    cursor: default;
    pointer-events: none; }

p:empty {
  display: none; }

p,
ol,
ul,
dl {
  margin-bottom: 2rem; }

ol,
ul {
  padding-left: 2rem; }
  ol li,
  ol dt,
  ol dd,
  ul li,
  ul dt,
  ul dd {
    margin-bottom: 0.5em; }

ul {
  list-style: disc; }

dt {
  font-weight: bold;
  padding-left: 0.5em; }

dd {
  padding-left: 2em; }

pre {
  background-color: #efefef;
  color: #3a3c3c;
  font-family: "Courier New", serif;
  margin-bottom: 2rem;
  padding: 1em;
  white-space: pre-wrap;
  word-wrap: break-word; }

code {
  color: #FBCE78;
  font-family: "Consolas", monospace;
  padding: 2px 4px; }

/* = Forms = */
form {
  background: #f3f3f3;
  padding: 1.25rem 2.25rem; }
  form .hs_submit .actions {
    text-align: right; }
  form .hs-form-field {
    margin-bottom: 1.5rem; }
    form .hs-form-field label {
      display: none; }
  form .hs-error-msgs ul {
    padding: 0; }
  form .hs-error-msgs li {
    list-style: none;
    margin: 0;
    padding-left: 0; }
    form .hs-error-msgs li li::before {
      display: none; }
  form .hs-error-msgs label {
    color: #CE2A2A;
    display: block;
    text-transform: none; }

form.filter {
  background: none;
  padding: 0; }
  form.filter .wrapper {
    display: flex;
    justify-content: flex-start;
    max-width: 1024px; }
    form.filter .wrapper div {
      flex-basis: 49%; }
      form.filter .wrapper div:first-child {
        margin-right: 1%; }
  form.filter label {
    font-family: "Lato", Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: normal;
    text-transform: uppercase; }
  form.filter button.search {
    background: none;
    color: #808285;
    margin-left: -2rem;
    padding: 0;
    position: absolute;
    right: 2.5rem;
    top: 2.25rem; }

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

.button,
.checkboxes,
.file,
.password,
.radios,
.reset,
.select,
.submit,
.text,
.textarea {
  margin-bottom: 2rem; }

label {
  cursor: pointer;
  display: block;
  font-weight: bold;
  margin-bottom: 0.5em; }

.required {
  color: #CE2A2A; }

fieldset .help {
  color: #808285;
  display: block;
  font-size: 0.8rem;
  margin: 0; }

input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
textarea {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) inset;
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  position: relative;
  box-sizing: border-box;
  color: #333333;
  display: block;
  height: 2.5rem;
  font-family: "Lato", Arial, sans-serif;
  margin: 0;
  padding: .25rem .5rem;
  width: 100%; }

input[type="reset"],
input[type="search"],
input[type="text"],
input[type="submit"] {
  -webkit-appearance: none; }

::-webkit-input-placeholder {
  color: #4A4A4A; }

::ms-input-placeholder {
  color: #4A4A4A; }

::-moz-placeholder {
  color: #4A4A4A; }

::-placeholder {
  color: #4A4A4A; }

.styled-select {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  position: relative;
  box-sizing: border-box;
  color: #333333;
  display: block;
  height: 2.5rem;
  font-family: "Lato", Arial, sans-serif;
  margin: 0;
  padding: .25rem .5rem;
  width: 100%;
  background: #fff url("/img/select-arrow.png") no-repeat 97% center;
  overflow: hidden; }
  .styled-select select::-ms-expand {
    display: none; }

select {
  background-color: transparent;
  border: none;
  box-shadow: none;
  color: #333333;
  font-family: "Lato", Arial, sans-serif;
  height: 35px;
  padding: 0;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.multiple select {
  padding-left: 5px;
  padding-right: 10px; }

textarea {
  position: relative;
  box-sizing: border-box;
  color: #333333;
  display: block;
  height: 2.5rem;
  font-family: "Lato", Arial, sans-serif;
  margin: 0;
  padding: .25rem .5rem;
  width: 100%;
  height: 7.5em;
  overflow: auto;
  resize: vertical; }

.radio,
.checkbox {
  font-weight: normal; }

input[type="checkbox"],
input[type="radio"] {
  padding: 0; }

a.button {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #3a3c3c;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  margin-bottom: 0; }
  a.button:hover, a.button:focus {
    background-color: #23c1f2;
    color: white; }
  a.button.disabled, a.button[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  a.button.alt {
    background-color: #808285; }
    a.button.alt:hover {
      background-color: #23c1f2; }
  a.button.outline {
    background-color: transparent;
    border: 1px solid #3a3c3c;
    color: #3a3c3c; }
    a.button.outline:hover {
      border-color: #6c7070;
      color: #6c7070; }
  a.button.load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

button:not(.link),
input[type="button"]:not(.link),
input[type="reset"]:not(.link),
input[type="submit"]:not(.link) {
  border-radius: 0.1625rem 0.1625rem 0.1625rem 0.1625rem;
  background-color: #3a3c3c;
  color: white;
  display: inline-block;
  box-sizing: border-box;
  font-family: "Lato", Arial, sans-serif;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  -webkit-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  cursor: pointer; }
  button:not(.link):hover, button:not(.link):focus,
  input[type="button"]:not(.link):hover,
  input[type="button"]:not(.link):focus,
  input[type="reset"]:not(.link):hover,
  input[type="reset"]:not(.link):focus,
  input[type="submit"]:not(.link):hover,
  input[type="submit"]:not(.link):focus {
    background-color: #23c1f2;
    color: white; }
  button:not(.link).disabled, button:not(.link)[disabled],
  input[type="button"]:not(.link).disabled,
  input[type="button"]:not(.link)[disabled],
  input[type="reset"]:not(.link).disabled,
  input[type="reset"]:not(.link)[disabled],
  input[type="submit"]:not(.link).disabled,
  input[type="submit"]:not(.link)[disabled] {
    background-color: #acafaf;
    color: #cccccc;
    pointer-events: none; }
  button:not(.link).alt,
  input[type="button"]:not(.link).alt,
  input[type="reset"]:not(.link).alt,
  input[type="submit"]:not(.link).alt {
    background-color: #808285; }
    button:not(.link).alt:hover,
    input[type="button"]:not(.link).alt:hover,
    input[type="reset"]:not(.link).alt:hover,
    input[type="submit"]:not(.link).alt:hover {
      background-color: #23c1f2; }
  button:not(.link).outline,
  input[type="button"]:not(.link).outline,
  input[type="reset"]:not(.link).outline,
  input[type="submit"]:not(.link).outline {
    background-color: transparent;
    border: 1px solid #3a3c3c;
    color: #3a3c3c; }
    button:not(.link).outline:hover,
    input[type="button"]:not(.link).outline:hover,
    input[type="reset"]:not(.link).outline:hover,
    input[type="submit"]:not(.link).outline:hover {
      border-color: #6c7070;
      color: #6c7070; }
  button:not(.link).load,
  input[type="button"]:not(.link).load,
  input[type="reset"]:not(.link).load,
  input[type="submit"]:not(.link).load {
    border-radius: 100px;
    height: 100px;
    letter-spacing: 0.5px;
    padding: 25px;
    text-align: center;
    width: 100px; }

button.link,
input[type=button].link,
input[type="button"].link,
input[type="reset"].link,
input[type="submit"].link {
  color: #808285;
  cursor: pointer;
  text-decoration: underline;
  background: transparent; }
  button.link:hover, button.link:active,
  input[type=button].link:hover,
  input[type=button].link:active,
  input[type="button"].link:hover,
  input[type="button"].link:active,
  input[type="reset"].link:hover,
  input[type="reset"].link:active,
  input[type="submit"].link:hover,
  input[type="submit"].link:active {
    color: #23c1f2; }
  button.link:focus,
  input[type=button].link:focus,
  input[type="button"].link:focus,
  input[type="reset"].link:focus,
  input[type="submit"].link:focus {
    outline: thin dotted; }
  button.link.disabled, button.link[disabled],
  input[type=button].link.disabled,
  input[type=button].link[disabled],
  input[type="button"].link.disabled,
  input[type="button"].link[disabled],
  input[type="reset"].link.disabled,
  input[type="reset"].link[disabled],
  input[type="submit"].link.disabled,
  input[type="submit"].link[disabled] {
    color: #cccccc;
    cursor: default;
    pointer-events: none; }

/* = Iconography = */
.thumbs-up::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "";
  margin-right: 0.5em; }

.facebook::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "";
  font-size: 1rem; }

.linkedin::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "";
  font-size: 1rem; }

.twitter::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "";
  font-size: 1rem; }

/* = Messaging = */
.success,
.submitted-message {
  margin-bottom: 2rem;
  padding: 1em 3em;
  position: relative;
  background-color: #48AC2C;
  color: #fff; }
  .success p:last-of-type,
  .success ul:last-of-type,
  .submitted-message p:last-of-type,
  .submitted-message ul:last-of-type {
    margin-bottom: 0; }
  .success a,
  .submitted-message a {
    text-decoration: underline; }
  .success::before,
  .submitted-message::before {
    font: normal normal normal 1em / 1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
    text-rendering: auto;
    text-transform: none;
    display: inline-block;
    content: "";
    display: block;
    font-size: 20px;
    height: 23px;
    left: 1em;
    position: absolute;
    top: 1em;
    width: 23px; }
  .success::before,
  .submitted-message::before {
    content: "\f00c"; }
  .success a,
  .submitted-message a {
    color: #FFF; }
  .success a:hover,
  .submitted-message a:hover {
    color: #d9d9d9; }

.info {
  margin-bottom: 2rem;
  padding: 1em 3em;
  position: relative;
  background-color: #DDD; }
  .info p:last-of-type,
  .info ul:last-of-type {
    margin-bottom: 0; }
  .info a {
    text-decoration: underline; }
  .info::before {
    font: normal normal normal 1em / 1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
    text-rendering: auto;
    text-transform: none;
    display: inline-block;
    content: "";
    display: block;
    font-size: 20px;
    height: 23px;
    left: 1em;
    position: absolute;
    top: 1em;
    width: 23px; }
  .info::before {
    content: "\f129"; }

.error {
  margin-bottom: 2rem;
  padding: 1em 3em;
  position: relative;
  background-color: #CE2A2A; }
  .error p:last-of-type,
  .error ul:last-of-type {
    margin-bottom: 0; }
  .error a {
    text-decoration: underline; }
  .error::before {
    font: normal normal normal 1em / 1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
    text-rendering: auto;
    text-transform: none;
    display: inline-block;
    content: "";
    display: block;
    font-size: 20px;
    height: 23px;
    left: 1em;
    position: absolute;
    top: 1em;
    width: 23px; }
  .error::before {
    content: "\f12a"; }
  .error a {
    color: #DDD; }
  .error a:hover {
    color: #b7b7b7; }

/* = Tables = */
table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 2rem;
  width: 100%; }
  table caption {
    font-size: 0.9rem;
    margin-bottom: 0.75em; }
  table td,
  table th {
    padding: 0.5em 1em;
    text-align: left;
    vertical-align: top; }
  table th {
    background-color: #3a3c3c;
    color: #FFF;
    font-weight: bold;
    text-transform: uppercase; }
  table td {
    border: 1px solid #dedede; }
  table tr:nth-child(even) td {
    background-color: #F3F3F3; }

/* = Section Specific = */
/* featured slider styles */
.featured {
  margin-bottom: 1.25rem;
  align-content: stretch;
  align-items: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column; }
  .featured .slider {
    flex-grow: 1;
    height: 100%;
    margin-bottom: 0 !important; }
  .featured article {
    color: #fff;
    height: auto;
    position: relative; }
    .featured article .content {
      height: 100%;
      padding: 5rem 2.25rem 2.25rem;
      position: relative;
      text-align: left; }
      .featured article .content > * {
        align-items: center;
        position: relative;
        z-index: 2; }
      .featured article .content::after {
        background: rgba(0, 0, 0, 0.6);
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1; }
      .featured article .content h3 {
        font-size: 1.5rem;
        text-align: left; }
      .featured article .content h3 a {
        color: #fff;
        text-decoration: none; }
      .featured article .content p,
      .featured article .content .date {
        color: #fff;
        font-size: 1rem;
        font-family: "Lato", Arial, sans-serif;
        text-align: left;
        text-transform: uppercase; }
      .featured article .content .meta li {
        font-size: 1rem; }
      .featured article .content p {
        font-family: "Lato", Arial, sans-serif;
        font-size: 1.25rem;
        margin-bottom: 2rem;
        text-transform: none; }
      .featured article .content div {
        margin-bottom: 1.25rem; }
      .featured article .content a.button {
        background-color: #b4cd54;
        font-size: 1.25rem;
        margin-bottom: 1.5rem; }
      .featured article .content .meta {
        margin-bottom: 1rem; }
  .featured .slick-dots {
    height: 2rem;
    top: 1rem; }
    .featured .slick-dots li button,
    .featured .slick-dots li button:hover {
      background: none; }
      .featured .slick-dots li button::before,
      .featured .slick-dots li button:hover::before {
        color: #fff;
        content: '\f111'; }
    .featured .slick-dots li button::before {
      font: normal normal normal 1em / 1 FontAwesome;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      speak: none;
      text-rendering: auto;
      text-transform: none;
      display: inline-block;
      color: #fff;
      content: '\f1db';
      font-size: 1rem;
      height: 2rem;
      opacity: 1;
      width: 2rem; }
    .featured .slick-dots li.slick-active button::before {
      color: #fff;
      content: '\f111';
      opacity: 1; }
  .featured.hero.full {
    max-height: 650px;
    padding: 0; }
    .featured.hero.full .slider {
      max-height: 650px; }
    .featured.hero.full article .content {
      padding: 6.5rem 4rem 6.875rem; }
  .featured .sharethis-inline-share-buttons {
    text-align: left !important; }

.actions {
  padding: 2rem 0;
  text-align: center; }

.date {
  color: #808285;
  font-family: "Lato", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: normal;
  text-transform: uppercase; }

.meta {
  list-style: none;
  margin: 0;
  padding-left: 0;
  color: #b4cd54; }
  .meta li::before {
    display: none; }
  .meta li {
    font-size: 0.75rem;
    margin-right: 1rem; }

/* =  Page Specific = */
body#home section {
  padding: 0;
  margin-bottom: 1.25rem; }

body#home .twoUp h2,
body#home .threeUp h2 {
  text-align: left; }

body#home .twoUp a.button:hover,
body#home .threeUp a.button:hover {
  color: #3a3c3c;
  background: #fff; }

body#home #slide1 .content {
  background-color: #b4cd54; }

body#home #slide2 .content {
  background-color: #eca14f; }

body#home #slide3 .content {
  background-color: #4a86c6; }

body#home #slide4 .content {
  background-color: #e9582f; }

body#home #slide5 .content {
  background-color: #e7d563; }

body#home #slide5 h2 {
  margin-top: 0; }

body#home #slide6 .content {
  background-color: #b4cd54; }

.customers .full .copy {
  max-width: 100%; }
  .customers .full .copy .flex {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center; }
    .customers .full .copy .flex .content {
      align-items: flex-start;
      background-color: #b4cd54;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 1.75rem 2rem;
      text-align: left; }
      .customers .full .copy .flex .content .scroll {
        margin-top: auto; }
      .customers .full .copy .flex .content > * {
        position: relative;
        width: 100%; }
      .customers .full .copy .flex .content .button {
        width: auto; }
      .customers .full .copy .flex .content .scroll {
        justify-self: flex-end; }
      .customers .full .copy .flex .content h3 {
        font-size: 1.5rem;
        font-weight: 900;
        margin-bottom: 1.25rem; }
      .customers .full .copy .flex .content h4 {
        color: #fff;
        margin-bottom: 2.25rem; }
    .customers .full .copy .flex img {
      height: auto;
      left: 0;
      max-width: 100%;
      position: relative;
      width: 100%; }
    @media only screen and (min-width: 669px) {
      .customers .full .copy .flex {
        align-items: stretch;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between; }
        .customers .full .copy .flex > * {
          flex-basis: 50%;
          margin: 0;
          position: relative;
          overflow: hidden; }
        .customers .full .copy .flex .content {
          align-items: flex-start;
          display: flex;
          flex-direction: column;
          justify-content: center;
          padding: 2.75rem 3rem;
          text-align: left; }
        .customers .full .copy .flex img {
          height: 100%;
          left: 0;
          max-width: none;
          position: absolute;
          top: 0;
          width: auto; } }
    .customers .full .copy .flex > div {
      max-height: none;
      overflow: auto;
      padding: 0 1.25rem 1.25rem;
      text-align: center; }
      .customers .full .copy .flex > div h3 {
        color: #f3f3f3;
        font-size: 3.75rem;
        font-weight: 900;
        margin-bottom: 1.25rem; }
      .customers .full .copy .flex > div img {
        height: auto;
        left: 0;
        margin-bottom: 1rem;
        max-height: 100%;
        max-width: 100%;
        position: relative;
        width: auto; }
      .customers .full .copy .flex > div a.button {
        align-self: center;
        margin-top: auto; }
      .customers .full .copy .flex > div.small {
        border-bottom: 1px solid #e8e7e7;
        display: flex;
        flex: 0 1 50%;
        flex-direction: row;
        justify-content: space-between;
        margin: 0 2.375rem;
        padding: 3.125rem 0 2.75rem;
        text-align: left; }
        .customers .full .copy .flex > div.small div {
          padding-left: 1rem; }
        .customers .full .copy .flex > div.small .icon {
          flex: 0 0 12%;
          padding: 0; }
        .customers .full .copy .flex > div.small h3,
        .customers .full .copy .flex > div.small h4,
        .customers .full .copy .flex > div.small p {
          height: auto;
          text-align: left; }
        .customers .full .copy .flex > div.small img {
          height: auto; }
    .customers .full .copy .flex:last-child > div {
      border-bottom: none;
      padding-bottom: 0; }
    @media only screen and (min-width: 669px) {
      .customers .full .copy .flex > div {
        display: flex;
        flex: 0 1 50%;
        flex-direction: column;
        justify-content: space-between;
        justify-content: flex-start;
        padding: 0 2.25rem 2.25rem; }
        .customers .full .copy .flex > div h3 {
          height: 75px; }
        .customers .full .copy .flex > div h4 {
          line-height: 1;
          height: 60px;
          margin-bottom: 0; }
        .customers .full .copy .flex > div .icon {
          height: 100px; }
        .customers .full .copy .flex > div.small h3,
        .customers .full .copy .flex > div.small h4,
        .customers .full .copy .flex > div.small p {
          height: auto;
          text-align: left; } }
    .customers .full .copy .flex > * {
      align-items: center;
      overflow: auto;
      padding: 4rem; }
      .customers .full .copy .flex > * img {
        left: auto;
        max-height: 200px;
        max-width: 200px;
        width: auto;
        position: relative; }

body.who-uses-us .grid div h4,
body.science .grid div h4 {
  color: #3a3c3c;
  font-size: 2rem;
  font-weight: bold; }

body.who-uses-us .grid div.small h4,
body.science .grid div.small h4 {
  color: #b4cd54;
  font-size: 1.5rem;
  font-weight: normal; }

body.blog .hero::after {
  background: rgba(0, 0, 0, 0.6);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1; }

body.blog .hero > * {
  position: relative;
  z-index: 5; }

body.blog .meta {
  list-style: none;
  margin: 0;
  padding-left: 0;
  color: #b4cd54; }
  body.blog .meta li::before {
    display: none; }
  body.blog .meta li {
    display: inline-block;
    font-size: 0.75rem; }
  body.blog .meta a {
    color: #b4cd54;
    text-decoration: none; }

body.blog main h2,
body.blog main h3,
body.blog main h4,
body.blog main h5 {
  text-align: left; }

body.blog main img {
  display: block;
  margin: 2rem 0; }

body.blog main table {
  margin: 2rem 0; }

body.blog .recommended {
  border-top: 1px solid #808285;
  padding-top: 5rem; }

body.blog .sharethis-inline-share-buttons {
  text-align: center !important; }

body#blog .sharethis-inline-share-buttons {
  text-align: left !important; }

body.resources .hero.full {
  padding-bottom: 0; }

body.resources .filter .wrapper div:first-child,
body.resources .filter .wrapper div:nth-child(2) {
  flex-basis: 30%;
  margin-right: 1rem; }

body.resources .hero > * {
  text-align: left; }

body.resources .photo {
  margin-bottom: 6rem; }

body.resources .hbspt-form {
  margin: 0 auto;
  max-width: 90%; }

body.resources .resource-content {
  display: none;
  padding: 2rem 0; }
  body.resources .resource-content.shown {
    display: block; }
  body.resources .resource-content .file,
  body.resources .resource-content .image,
  body.resources .resource-content .embed {
    padding: 2rem 0;
    text-align: center; }
  body.resources .resource-content .text {
    margin: 0 auto;
    max-width: 90%;
    padding: 2rem 0; }

body.investor-information .hero.full {
  padding-bottom: 1rem; }

/* Contact Us Map */
.map {
  background-color: #f3f3f3;
  position: relative;
  padding: 3rem; }
  .map .location h3 {
    font-size: 1.125rem;
    text-align: left; }
  .map .location p,
  .map .location a {
    font-size: 0.875rem; }
  .map .location .details {
    margin-bottom: 2rem;
    text-align: left; }

body.press h1,
body.press h2 {
  text-align: left; }

body.press .featured article .content p {
  font-size: 1rem; }

body.press .featured .slick-dots {
  top: 5rem; }

body.press .featured .content > div > p {
  display: none; }

body.about .timeline-cta {
  border: 1px solid #c3c3c3;
  position: relative; }
  body.about .timeline-cta a {
    bottom: 1px;
    display: inline-block;
    padding-right: 2rem;
    position: absolute;
    right: 0;
    text-decoration: none; }
    body.about .timeline-cta a::after {
      font: normal normal normal 1em / 1 FontAwesome;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      speak: none;
      text-rendering: auto;
      text-transform: none;
      content: "";
      background-color: #23c1f2;
      color: #fff;
      bottom: 0;
      height: 0.75rem;
      margin: auto 0;
      padding: 0.5rem;
      position: absolute;
      right: 0;
      text-align: center;
      top: 0;
      width: 0.75rem; }

body.become-a-partner .hero {
  margin-bottom: 0; }

body.become-a-partner .torso {
  margin-top: 0;
  padding-top: 0; }

body.contact-us .grid > div {
  border: 1px solid #808285;
  justify-content: space-around;
  margin: 0 1rem;
  padding: 2rem; }

body.products .grid > div {
  justify-content: flex-start; }

body.get-to-know-us.work-here main h2,
body.get-to-know-us.work-here main h3,
body.get-to-know-us.work-here main h4,
body.get-to-know-us.work-here main h5 {
  text-align: left; }

body#resources .torso .hbspt-form form,
.partner-portal .torso .hbspt-form form {
  padding: 4.25rem 6.25rem 3.25rem;
  position: relative; }
  body#resources .torso .hbspt-form form .hs-richtext,
  .partner-portal .torso .hbspt-form form .hs-richtext {
    font-family: "Lato", Arial, sans-serif;
    font-size: 1.2rem;
    left: 0;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    top: 2rem;
    width: 100%; }
  body#resources .torso .hbspt-form form .hs-error-msgs,
  body#resources .torso .hbspt-form form .hs-form-field,
  .partner-portal .torso .hbspt-form form .hs-error-msgs,
  .partner-portal .torso .hbspt-form form .hs-form-field {
    margin-bottom: 0;
    margin-top: 1rem; }

body.partner-portal .hero {
  padding: 6rem 1rem 2rem; }
  body.partner-portal .hero .logo img {
    margin: 0 auto;
    max-width: 250px; }

body.partner-portal .torso .hbspt-form form {
  padding: 4.25rem 1rem; }
  body.partner-portal .torso .hbspt-form form .hs-richtext {
    font-size: 1rem; }

body.partner-portal .container.group {
  display: table; }
  body.partner-portal .container.group main {
    display: table-footer-group; }
  body.partner-portal .container.group aside.primary {
    display: table-footer-group; }

body.partner-portal main h2,
body.partner-portal main h3,
body.partner-portal main h4,
body.partner-portal main h5 {
  text-align: left; }

body.partner-portal main div.accordion .content {
  margin-bottom: 1rem; }
  body.partner-portal main div.accordion .content h4 {
    margin-bottom: 1rem; }
  body.partner-portal main div.accordion .content p.date {
    margin-bottom: 0; }
  body.partner-portal main div.accordion .content.file, body.partner-portal main div.accordion .content.link {
    margin-bottom: 0; }
    body.partner-portal main div.accordion .content.file h4, body.partner-portal main div.accordion .content.link h4 {
      margin-bottom: 0; }

body.partner-portal .contact-form {
  margin-bottom: 2rem; }

body.partner-portal .important-links {
  background-color: #23c1f2;
  margin-bottom: 2rem;
  padding: 1rem; }
  body.partner-portal .important-links.dark-link a {
    color: #808285; }
  body.partner-portal .important-links a {
    color: #fff; }
    body.partner-portal .important-links a:hover {
      color: #000; }

/* =  Site Specific Components = */
.scroll a {
  color: #333333;
  font-size: 2rem; }

footer .flex {
  display: flex;
  flex-direction: column; }
  footer .flex .content {
    align-items: flex-start;
    background-color: #b4cd54;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 2rem;
    text-align: left; }
    footer .flex .content .scroll {
      margin-top: auto; }
    footer .flex .content > * {
      position: relative;
      width: 100%; }
    footer .flex .content .button {
      width: auto; }
    footer .flex .content .scroll {
      justify-self: flex-end; }
    footer .flex .content h3 {
      font-size: 1.5rem;
      font-weight: 900;
      margin-bottom: 1.25rem; }
    footer .flex .content h4 {
      color: #fff;
      margin-bottom: 2.25rem; }
  footer .flex img {
    height: auto;
    left: 0;
    max-width: 100%;
    position: relative;
    width: 100%; }
  @media only screen and (min-width: 669px) {
    footer .flex {
      align-items: stretch;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      footer .flex > * {
        flex-basis: 50%;
        margin: 0;
        position: relative;
        overflow: hidden; }
      footer .flex .content {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.75rem 3rem;
        text-align: left; }
      footer .flex img {
        height: 100%;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: auto; } }

.hero {
  margin: 0 auto 2rem;
  text-align: center; }
  .hero a.button {
    margin-right: 1.5rem; }
  .hero.full {
    color: #3a3c3c;
    margin-top: -2.85rem;
    padding-bottom: 0;
    padding-top: 10rem; }
    .hero.full .copy {
      margin: 0 auto;
      max-width: 90%; }
      .hero.full .copy > * {
        text-align: center; }
    .hero.full.image {
      background-repeat: no-repeat;
      background-size: cover;
      color: #fff; }
    .hero.full.dark {
      color: #3a3c3c; }
  .hero.left .copy > * {
    text-align: left; }
  .hero.background {
    color: #fff; }
    .hero.background .copy > * {
      text-align: center; }
  .hero.twoUp {
    display: block;
    flex-direction: column;
    margin-top: -2.85rem; }
    .hero.twoUp .content {
      color: #fff;
      padding-top: 6.5rem; }
      .hero.twoUp .content h1 {
        color: #fff;
        font-size: 3rem;
        text-align: left; }
    .hero.twoUp div {
      flex-basis: 100%; }
    .hero.twoUp img {
      display: none; }

/* magnific popup styles */
.mfp-inline-holder .mfp-content {
  text-align: center;
  width: auto; }
  .mfp-inline-holder .mfp-content button.mfp-close {
    background-color: transparent;
    color: #fff;
    padding: 0;
    right: 0;
    text-align: right;
    top: -3rem; }
    .mfp-inline-holder .mfp-content button.mfp-close:hover {
      background-color: transparent; }

/* full width text blocks */
.full {
  color: #fff;
  margin: 0 auto;
  padding-bottom: 2.875rem;
  padding-top: 2.875rem; }
  .full .copy {
    margin: 0 auto;
    max-width: 90%; }
    .full .copy > * {
      text-align: left; }
    .full .copy p:last-child {
      margin-bottom: 0; }
  .full.image {
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff; }
  .full.dark {
    color: #3a3c3c; }
  .full.center {
    text-align: center; }
    .full.center .copy > * {
      text-align: center; }

.slider.vertical {
  list-style: none;
  margin: 0;
  padding-left: 0; }
  .slider.vertical li::before {
    display: none; }
  .slider.vertical .slick-track .slick-slide:first-child {
    counter-reset: slideNum; }
  .slider.vertical .slick-slide {
    height: 400px; }
  .slider.vertical .slide {
    counter-increment: slideNum;
    display: flex;
    margin: 0;
    padding-top: 4rem;
    position: relative; }
    .slider.vertical .slide > div {
      display: block; }
    .slider.vertical .slide .image {
      display: none; }
    .slider.vertical .slide .content {
      padding: 1rem;
      position: relative; }
    .slider.vertical .slide .content::before {
      color: #23c1f2;
      content: "0" counter(slideNum);
      font-family: "PT Sans", sans-serif;
      font-size: 3.5rem;
      left: 1rem;
      position: absolute;
      top: -3rem; }
  .slider.vertical h4 {
    color: #3a3c3c;
    text-align: left; }
  .slider.vertical button.slick-prev,
  .slider.vertical button.slick-next {
    background: none !important;
    color: #b0b1b1;
    position: absolute;
    top: 2rem;
    left: 70%;
    z-index: 500; }
  .slider.vertical button.slick-next {
    left: 78%; }
  .slider.vertical button.slick-prev::before,
  .slider.vertical button.slick-next::before {
    font: normal normal normal 1em / 1 FontAwesome;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: none;
    text-rendering: auto;
    text-transform: none;
    display: inline-block;
    color: #b0b1b1;
    content: "\f106";
    font-size: 3rem;
    height: 25px;
    left: 0;
    position: absolute;
    top: 0;
    width: 50px; }
  .slider.vertical button.slick-next::before {
    content: "\f107"; }

.slick-dotted.slick-slider {
  margin-bottom: 0; }

.masonry {
  max-width: 920px;
  margin: 0 auto; }
  .masonry .item,
  .masonry .grid-sizer,
  .masonry .item .content {
    height: 300px;
    width: 300px; }
  .masonry .content {
    padding: 2rem;
    text-align: left; }
  .masonry .item {
    border: 1px solid #333;
    float: left;
    margin-bottom: 10px; }
  .masonry .logo,
  .masonry .img {
    align-items: center;
    cursor: pointer;
    display: flex;
    height: 100%;
    justify-content: center; }
  .masonry img {
    max-width: 250px; }
  .masonry .close {
    display: none;
    font-family: "Lato", Arial, sans-serif;
    font-size: 2rem;
    cursor: pointer;
    position: absolute;
    top: 1rem;
    right: 1rem; }
  .masonry .reveal {
    height: 0;
    opacity: 0;
    visibility: hidden; }
    .masonry .reveal > * {
      text-align: left; }
    .masonry .reveal h3 {
      font-size: 1.5rem;
      margin-bottom: 1rem; }
    .masonry .reveal h4 {
      font-size: 1rem; }
    .masonry .reveal p {
      color: #808285;
      font-size: 0.75rem; }
    .masonry .reveal a {
      display: inline-block;
      margin-bottom: 2rem; }
    .masonry .reveal a.button {
      margin-bottom: 1.5rem; }
    .masonry .reveal .social a {
      color: #3a3c3c;
      display: inline;
      margin-right: 0.75rem;
      text-decoration: none; }
      .masonry .reveal .social a::before {
        padding: 0.5rem; }
  .masonry .item.expanded,
  .masonry .item.expanded .content {
    height: auto;
    width: 310px;
    z-index: 2; }
    .masonry .item.expanded .logo,
    .masonry .item.expanded .content .logo {
      cursor: auto;
      height: auto;
      margin-bottom: 2rem; }
    .masonry .item.expanded .reveal,
    .masonry .item.expanded .content .reveal {
      height: auto;
      opacity: 1;
      visibility: visible; }
    .masonry .item.expanded .close,
    .masonry .item.expanded .content .close {
      display: block; }

.staff.masonry .item {
  border: none; }

.staff.masonry .content {
  border: 1px solid #333;
  padding: 0;
  position: relative; }

.staff.masonry h3 {
  font-size: 0.875rem;
  margin-bottom: 0; }

.staff.masonry p.title {
  display: none; }

.staff.masonry .meta {
  bottom: 0;
  background: #3a3c3c;
  color: #b4cd54;
  font-size: 0.875rem;
  font-weight: 300;
  left: 0;
  margin: 0;
  padding: 0.5rem 1rem;
  position: absolute;
  text-align: left;
  width: auto; }

.staff.masonry .img {
  display: block;
  height: auto;
  left: 0;
  overflow: hidden;
  position: relative;
  top: 0; }
  .staff.masonry .img img {
    height: 100%;
    max-width: 100%; }

.staff.masonry .close {
  background: #fff;
  padding: 0.25rem;
  z-index: 10; }

.staff.masonry .item.expanded {
  border: none; }
  .staff.masonry .item.expanded .content {
    border: 1px solid #333; }
  .staff.masonry .item.expanded .meta {
    width: 100%; }
  .staff.masonry .item.expanded h3 {
    display: inline-block;
    font-size: 1.5rem;
    margin: 0;
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    position: relative; }
  .staff.masonry .item.expanded p.title {
    color: #fff;
    display: inline-block;
    font-size: 1.125rem;
    margin: 0;
    text-transform: uppercase; }
  .staff.masonry .item.expanded .reveal {
    background: #fff;
    height: auto;
    padding: 2rem;
    position: relative; }
  .staff.masonry .item.expanded .reveal.empty {
    height: 0;
    padding: 0; }
  .staff.masonry .item.expanded .img img {
    height: auto;
    left: 0;
    position: relative;
    top: 0;
    width: 100%; }

.staff.masonry.life .img img {
  max-width: 100%; }

/* sharethis custom icons */
.sharethis {
  text-align: left; }
  .sharethis i {
    cursor: pointer;
    display: inline-block;
    margin-top: 0;
    padding: 0.5rem;
    position: relative; }
    .sharethis i::before {
      -webkit-transition: all 250ms ease-in-out;
      transition: all 250ms ease-in-out;
      position: relative;
      top: 0; }
    .sharethis i:hover::before {
      top: -5px; }
  .sharethis.centered {
    text-align: center; }

/* master page styles */
body#masterhtml section > h2,
body#masterhtml .container > h2 {
  padding: 6rem 0 2rem; }

.image img {
  margin-bottom: 1rem; }

.caption {
  color: #808285;
  font-size: 0.875rem;
  font-style: italic; }

/* industries SVG chart */
.svg-wrapper {
  position: relative; }
  .svg-wrapper svg {
    height: auto;
    width: 100%; }

#industries-chart #initial {
  transition: all 500ms ease-in-out; }

#industries-chart .hover {
  transition: all 500ms ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1; }
  #industries-chart .hover:hover {
    opacity: 1;
    visibility: visible;
    z-index: 500; }

#industries-chart .target {
  cursor: pointer; }
  #industries-chart .target:hover + .hover {
    opacity: 1;
    visibility: visible;
    z-index: 500; }
  #industries-chart .target:hover ~ #initial {
    opacity: 0;
    z-index: 1; }

/* = Media Queries = */
@media only screen and (min-width: 669px) {
  .torso {
    background: #fff;
    min-height: 600px;
    padding-bottom: 6rem; }
  aside.primary {
    float: left;
    margin-bottom: 0;
    padding: 4rem 2rem 4rem 0;
    width: 33%; }
    aside.primary + main {
      float: right;
      padding: 4rem 0;
      width: 65%; }
  .headline {
    margin: 0 auto;
    max-width: 80%; }
  body#home .hero {
    margin: 0 auto;
    padding-bottom: 8rem;
    padding-top: 5rem; }
  body#home .torso {
    padding-top: 1rem; }
  body#home .twoUp > div {
    flex-basis: 49%;
    max-height: 40.563rem;
    overflow: hidden; }
  body#home .twoUp > *,
  body#home .threeUp > * {
    min-height: 38.5rem; }
  body#home .twoUp img,
  body#home .threeUp img {
    height: 100%;
    left: -50%;
    max-width: none;
    position: absolute;
    top: 0;
    width: auto; }
  body#home .threeUp img {
    height: 100%; }
  form {
    padding: 4.25rem 6.25rem; }
  .customers .full .copy .flex {
    align-items: center; }
    .customers .full .copy .flex > * img {
      height: auto; }
  .hero.full {
    margin-bottom: 0;
    margin-top: -2.85rem;
    padding-bottom: 0;
    padding-top: 5rem; }
  .hero.twoUp {
    display: flex;
    flex-direction: row;
    margin-top: -2.85rem; }
    .hero.twoUp .content {
      align-items: center;
      padding: 0 3rem; }
      .hero.twoUp .content h1 {
        color: #fff;
        font-size: 3rem; }
      .hero.twoUp .content p:last-child {
        margin-bottom: 0; }
    .hero.twoUp div {
      flex-basis: 49%;
      max-height: 35rem;
      overflow: hidden; }
    .hero.twoUp > * {
      min-height: 30rem; }
    .hero.twoUp img {
      display: block;
      height: 100%;
      left: 0;
      max-height: 100%;
      max-width: none;
      position: absolute;
      width: auto; }
  /* featured slider styles */
  .featured {
    margin-bottom: 1.625rem; }
    .featured article {
      position: relative; }
      .featured article .content {
        height: 100%; }
        .featured article .content > * {
          align-items: center;
          position: relative;
          z-index: 2; }
        .featured article .content h3 {
          font-size: 2.35rem; }
        .featured article .content .meta li {
          font-size: 1.125rem; }
        .featured article .content p {
          font-family: "Lato", Arial, sans-serif;
          font-size: 1.25rem;
          margin-bottom: 2rem;
          text-transform: none; }
        .featured article .content div {
          margin-bottom: 1.25rem; }
        .featured article .content a.button {
          margin-bottom: 3.125rem; }
    .featured .slick-dots {
      top: 2rem; }
  .slider.vertical .slick-slide {
    height: 400px; }
  .slider.vertical .slide {
    counter-increment: slideNum;
    display: flex;
    margin: 0;
    padding-top: 0;
    position: relative; }
    .slider.vertical .slide > div {
      align-items: flex-start;
      flex: 0 0 50%; }
    .slider.vertical .slide .image {
      display: flex;
      justify-content: center;
      overflow: hidden;
      position: relative; }
      .slider.vertical .slide .image img {
        height: auto;
        left: 0;
        max-width: none;
        position: absolute;
        top: 0;
        width: 100%; }
    .slider.vertical .slide .content {
      padding: 6rem 6rem 0 3rem;
      position: relative; }
    .slider.vertical .slide .content::before {
      color: #23c1f2;
      content: "0" counter(slideNum);
      font-family: "PT Sans", sans-serif;
      font-size: 4.5rem;
      left: 3rem;
      position: absolute;
      top: 0; }
  .slider.vertical h4 {
    color: #3a3c3c;
    text-align: left; }
  .slider.vertical button.slick-prev,
  .slider.vertical button.slick-next {
    background: none !important;
    color: #b0b1b1;
    position: absolute;
    top: 2.5rem;
    left: 64%;
    z-index: 500; }
  .slider.vertical button.slick-next {
    left: 67%; }
  .full .copy {
    max-width: 60%; }
  .full.wider .copy {
    max-width: 90%; }
  body.resources .hbspt-form,
  body.resources .text {
    max-width: 80%; }
  body#resources .torso .marketo-form {
    background: #f3f3f3; }
    body#resources .torso .marketo-form form {
      padding: 2rem inherit;
      display: flex;
      justify-content: space-between; }
      body#resources .torso .marketo-form form div:first-child {
        flex-basis: 80%;
        margin-bottom: 0; }
      body#resources .torso .marketo-form form .hs_submit {
        margin-bottom: 0; }
      body#resources .torso .marketo-form form .actions {
        margin-top: 1rem;
        padding: 0; }
      body#resources .torso .marketo-form form .hs-button {
        padding: 0 1rem;
        height: 35px; }
  body.partner-portal .hero {
    padding-bottom: 0; }
  body.partner-portal .container.group {
    display: block; }
  body.partner-portal .torso .hbspt-form form div:first-child {
    flex-basis: 100%;
    margin-bottom: 0; }
  body.partner-portal .torso .hbspt-form form .hs_submit {
    margin-bottom: 0; }
  body.partner-portal .torso .hbspt-form form .actions {
    margin-top: 1rem;
    padding: 0; }
  body.partner-portal .torso .hbspt-form form .hs-button {
    padding: 0 1rem;
    height: 35px; }
  body.press .featured .content > div > p {
    display: block; }
  .masonry .item.expanded,
  .masonry .item.expanded .content {
    width: 610px; } }

@media only screen and (min-width: 1024px) {
  /* = Layout = */
  .desktop {
    display: block;
    width: 100%; }
  button.menu-toggle {
    display: none; }
  footer.primary {
    text-align: left; }
    footer.primary h4 {
      margin-top: 0;
      text-align: left; }
    footer.primary .social-icons {
      font-size: 2rem; }
      footer.primary .social-icons a {
        margin-right: .5rem; }
    footer.primary div.signup form {
      display: flex; }
      footer.primary div.signup form > div:first-child {
        flex-basis: 70%;
        margin-right: 0.5rem; }
  /* = Typography = */
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.875rem; }
  h4 {
    font-size: 1.5rem; }
  body#home .hero {
    padding: 5rem 0; }
  /* Contact Us Map */
  .map {
    background: url("/img/contact-us-map.jpg") no-repeat center center #fff;
    height: 674px;
    padding: 0;
    position: relative;
    width: 100%; }
    .map .location {
      background: #b4cd54;
      border-radius: 1rem;
      height: 0.75rem;
      position: absolute;
      width: 0.75rem; }
      .map .location h3 {
        font-size: 1.125rem;
        margin-bottom: 0;
        text-align: left; }
      .map .location p,
      .map .location a {
        font-size: 0.875rem; }
      .map .location .details {
        -webkit-transition: all 250ms ease-in-out;
        transition: all 250ms ease-in-out;
        background: #f3f3f3;
        height: auto;
        left: 0;
        opacity: 0;
        padding: 3rem;
        position: absolute;
        text-align: left;
        top: 0;
        visibility: hidden;
        min-width: 370px;
        z-index: 1; }
      .map .location.shown > .details {
        opacity: 1;
        visibility: visible; }
      .map .location.cambridge {
        height: 1rem;
        left: 29%;
        top: 48%;
        width: 1rem; }
        .map .location.cambridge h3 {
          margin-bottom: 1.5rem; }
      .map .location.sanfran {
        left: 14%;
        top: 50%; }
      .map .location.newyork {
        left: 28%;
        top: 51%; }
      .map .location.washington {
        height: 0.5rem;
        left: 27%;
        top: 52%;
        width: 0.5rem; }
      .map .location.providence {
        height: 0.5rem;
        left: 29%;
        top: 50%;
        width: 0.5rem; }
      .map .location.losangeles {
        left: 16%;
        top: 53%; }
      .map .location.london {
        left: 48%;
        top: 43%; }
      .map .location.sydney {
        left: 90%;
        top: 83%; }
      .map .location.tokyo {
        left: 87%;
        top: 52%; } }

@media only screen and (max-height: 700px) and (min-width: 769px) {
  body#home .hero {
    padding: 3rem 0 4rem; }
  .hero.twoup div {
    min-height: 25rem; }
  .hero.twoup .content {
    padding: 2rem 3rem 0; }
    .hero.twoup .content h1 {
      font-size: 2.5rem; } }

/* = Print Styles = */
@media print {
  * {
    background-color: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    text-shadow: none !important; }
  a {
    text-decoration: underline; }
  pre,
  blockquote,
  tr,
  img,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; } }
