/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/* These includes are optional, but helpful. */
/* Images */

img {
    max-width: 100%;
    border: 0;
    -ms-interpolation-mode: bicubic;
    vertical-align: bottom; /* Suppress the space beneath the baseline */
}

/* Videos */

video {
    max-width: 100%;
    height: auto;
}

/* Embed Container (iFrame, Object, Embed) */

.hs-responsive-embed {
    position: relative;
    height: auto;
    overflow: hidden;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}

.hs-responsive-embed iframe, .hs-responsive-embed object, .hs-responsive-embed embed {
    width: 100%;
    height: 100%;
    border: 0;
}

.hs-responsive-embed,
.hs-responsive-embed.hs-responsive-embed-youtube,
.hs-responsive-embed.hs-responsive-embed-wistia,
.hs-responsive-embed.hs-responsive-embed-vimeo {
    padding-bottom: 2%;
}

.hs-responsive-embed.hs-responsive-embed-instagram {
    padding-bottom: 116.01%;
}

.hs-responsive-embed.hs-responsive-embed-pinterest {
    height: auto;
    overflow: visible;
    padding: 0;
}

.hs-responsive-embed.hs-responsive-embed-pinterest iframe {
    position: static;
    width: auto;
    height: auto;
}

iframe[src^="http://www.slideshare.net/slideshow/embed_code/"] {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 568px) {
    iframe {
        max-width: 100%;
    }
}

/* Forms */

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select {
    padding: 6px;
    display: inline-block;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* Menus */

.hs-menu-wrapper ul {
    padding: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal ul {
    list-style: none;
    margin: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul {
    display: inline-block;
    margin-bottom: 20px;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul:before {
    content: " ";
    display: table;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul:after {
    content: " ";
    display: table;
    clear: both;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1 {
    float: left;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li a {
    display: inline-block;
    padding: 10px 20px;
    white-space: nowrap;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children {
    position: relative;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    position: absolute;
    z-index: 10;
    left: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li a {
    display: block;
    white-space: nowrap;
    width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper {
    left: 180px;
    top: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children:hover > ul.hs-menu-children-wrapper {
    opacity: 1;
    visibility: visible;
}

.row-fluid-wrapper:last-child .hs-menu-wrapper.hs-menu-flow-horizontal > ul {
    margin-bottom: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch {
    position: relative;
    margin-bottom: 20px;
    min-height: 7em;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul {
    margin-bottom: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children {
    position: static;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    display: none;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper {
    display: block;
    visibility: visible;
    opacity: 1;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper:before {
    content: " ";
    display: table;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper:after {
    content: " ";
    display: table;
    clear: both;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li {
    float: left;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li a {
    display: inline-block;
    padding: 10px 20px;
    white-space: nowrap;
    max-width: 140px;
    width: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

.hs-menu-wrapper.hs-menu-flow-vertical {
    width: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical ul {
    list-style: none;
    margin: 0;
}

.hs-menu-wrapper.hs-menu-flow-vertical li a {
    display: block;
    white-space: nowrap;
    width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul {
    margin-bottom: 20px;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-menu-depth-1 > a {
    width: auto;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li a {
    padding: 10px 20px;
    text-decoration: none;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-item-has-children {
    position: relative;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 180px;
}

.hs-menu-wrapper.hs-menu-flow-vertical > ul li.hs-item-has-children:hover > ul.hs-menu-children-wrapper {
    opacity: 1;
    visibility: visible;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li a {
    min-width: 140px;
    width: auto;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul {
    max-width: 100%;
    overflow: hidden;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    display: none;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper,
.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li.hs-item-has-children > ul.hs-menu-children-wrapper {
    display: block;
    visibility: visible;
    opacity: 1;
    position: static;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-2 > a {
    padding-left: 4em;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-3 > a {
    padding-left: 6em;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-4 > a {
    padding-left: 8em;
}

.hs-menu-wrapper.hs-menu-flow-vertical.hs-menu-show-active-branch li.hs-menu-depth-5 > a {
    padding-left: 140px;
}

.hs-menu-wrapper.hs-menu-not-show-active-branch li.hs-menu-depth-1 ul {
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.18);
    -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.18);
}

@media (max-width: 568px) {
    .hs-menu-wrapper, .hs-menu-wrapper * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 100%;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal ul {
        list-style: none;
        margin: 0;
        display: block;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal > ul {
        display: block;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1 {
        float: none;
    }

    .hs-menu-wrapper.hs-menu-flow-horizontal > ul li a,
    .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li a,
    .hs-menu-wrapper.hs-menu-flow-horizontal.hs-menu-show-active-branch > ul li.hs-item-has-children.active-branch > ul.hs-menu-children-wrapper > li a {
        display: block;
        max-width: 100%;
        width: 100%;
    }
}

.hs-menu-wrapper.hs-menu-flow-vertical.no-flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper,
.hs-menu-wrapper.hs-menu-flow-horizontal.no-flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    visibility: visible;
    opacity: 1;
}

/* Space Module */

.widget-type-space {
    visibility: hidden;
}

/* Blog Author Section */

.hs-author-listing-header {
    margin: 0 0 .75em 0;
}

.hs-author-social-links {
    display: inline-block;
}

.hs-author-social-links a.hs-author-social-link {
    width: 24px;
    height: 24px;
    border-width: 0px;
    border: 0px;
    line-height: 24px;
    background-size: 24px 24px;
    background-repeat: no-repeat;
    display: inline-block;
    text-indent: -99999px;
}

.hs-author-social-links a.hs-author-social-link.hs-social-facebook {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/facebook-24x24.png");
}

.hs-author-social-links a.hs-author-social-link.hs-social-linkedin {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/linkedin-24x24.png");
}

.hs-author-social-links a.hs-author-social-link.hs-social-twitter {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/twitter-24x24.png");
}

.hs-author-social-links a.hs-author-social-link.hs-social-google-plus {
    background-image: url("//static.hubspot.com/final/img/common/icons/social/googleplus-24x24.png");
}

/*
 * jQuery FlexSlider v2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */

/* Wrapper */
.hs_cos_wrapper_type_image_slider {
    display: block;
    overflow: hidden
}

/* Browser Resets */
.hs_cos_flex-container a:active,
.hs_cos_flex-slider a:active,
.hs_cos_flex-container a:focus,
.hs_cos_flex-slider a:focus  {outline: none;}
.hs_cos_flex-slides,
.hs_cos_flex-control-nav,
.hs_cos_flex-direction-nav {margin: 0; padding: 0; list-style: none;}

/* FlexSlider Necessary Styles
*********************************/
.hs_cos_flex-slider {margin: 0; padding: 0;}
.hs_cos_flex-slider .hs_cos_flex-slides > li {display: none; -webkit-backface-visibility: hidden; position: relative;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.hs_cos_flex-slider .hs_cos_flex-slides img {width: 100%; display: block; border-radius: 0px;}
.hs_cos_flex-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .hs_cos_flex-slides element */
.hs_cos_flex-slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .hs_cos_flex-slides {display: block;}
* html .hs_cos_flex-slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */

/* FlexSlider Default Theme
*********************************/
.hs_cos_flex-slider {margin: 0 0 60px; background: #fff; border: 0; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; zoom: 1;}
.hs_cos_flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
.loading .hs_cos_flex-viewport {max-height: 300px;}
.hs_cos_flex-slider .hs_cos_flex-slides {zoom: 1;}

.carousel li {margin-right: 5px}


/* Direction Nav */
.hs_cos_flex-direction-nav {*height: 0;}
.hs_cos_flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(//static.hsappstatic.net/content_shared_assets/static-1.3935/img/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
.hs_cos_flex-direction-nav .hs_cos_flex-next {background-position: 100% 0; right: -36px; }
.hs_cos_flex-direction-nav .hs_cos_flex-prev {left: -36px;}
.hs_cos_flex-slider:hover .hs_cos_flex-next {opacity: 0.8; right: 5px;}
.hs_cos_flex-slider:hover .hs_cos_flex-prev {opacity: 0.8; left: 5px;}
.hs_cos_flex-slider:hover .hs_cos_flex-next:hover, .hs_cos_flex-slider:hover .hs_cos_flex-prev:hover {opacity: 1;}
.hs_cos_flex-direction-nav .hs_cos_flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}

/* Direction Nav for the Thumbnail Carousel */
.hs_cos_flex_thumbnavs-direction-nav {
    margin: 0px;
    padding: 0px;
    list-style: none;
    }
.hs_cos_flex_thumbnavs-direction-nav {*height: 0;}
.hs_cos_flex_thumbnavs-direction-nav a {width: 30px; height: 140px; margin: -60px 0 0; display: block; background: url(//static.hsappstatic.net/content_shared_assets/static-1.3935/img/bg_direction_nav.png) no-repeat 0 40%; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 1; -webkit-transition: all .3s ease;}
.hs_cos_flex_thumbnavs-direction-nav .hs_cos_flex_thumbnavs-next {background-position: 100% 40%; right: 0px; }
.hs_cos_flex_thumbnavs-direction-nav .hs_cos_flex_thumbnavs-prev {left: 0px;}
.hs-cos-flex-slider-control-panel img { cursor: pointer; }
.hs-cos-flex-slider-control-panel img:hover { opacity:.8; }
.hs-cos-flex-slider-control-panel { margin-top: -30px; }



/* Control Nav */
.hs_cos_flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
.hs_cos_flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.hs_cos_flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);}
.hs_cos_flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.hs_cos_flex-control-paging li a.hs_cos_flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }

.hs_cos_flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.hs_cos_flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.hs_cos_flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.hs_cos_flex-control-thumbs img:hover {opacity: 1;}
.hs_cos_flex-control-thumbs .hs_cos_flex-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
  .hs_cos_flex-direction-nav .hs_cos_flex-prev {opacity: 1; left: 0;}
  .hs_cos_flex-direction-nav .hs_cos_flex-next {opacity: 1; right: 0;}
}

.hs_cos_flex-slider .caption {
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    font-size: 2em;
    line-height: 1.1em;
    color: white;
    padding: 0px 5% 0px 5%;
    width: 100%;
    bottom: 0;
    text-align: center;
}

.hs_cos_flex-slider .superimpose .caption {
    color: white;
    font-size: 3em;
    line-height: 1.1em;
    position: absolute;
    padding: 0px 5% 0px 5%;
    width: 90%;
    top: 40%;
    text-align: center;
    background-color: transparent;
}

@media all and (max-width: 400px) {
    .hs_cos_flex-slider .superimpose .caption {
        background-color: black;
        position: static;
        font-size: 2em;
        line-height: 1.1em;
        color: white;
        width: 90%;
        padding: 0px 5% 0px 5%;
        top: 40%;
        text-align: center;
    }

    /* beat recaptcha into being responsive, !importants and specificity are necessary */
    #recaptcha_area table#recaptcha_table {width: 300px !important;}
    #recaptcha_area table#recaptcha_table .recaptcha_r1_c1 {width: 300px !important;}
    #recaptcha_area table#recaptcha_table .recaptcha_r4_c4 { width: 67px !important;}
    #recaptcha_area table#recaptcha_table #recaptcha_image {width:280px !important;}
}

.hs_cos_flex-slider h1,
.hs_cos_flex-slider h2,
.hs_cos_flex-slider h3,
.hs_cos_flex-slider h4,
.hs_cos_flex-slider h5,
.hs_cos_flex-slider h6,
.hs_cos_flex-slider p {
    color: white;
}

/* Thumbnail only version of the gallery */
.hs-gallery-thumbnails li {
    display: inline-block;
    margin: 0px;
    padding: 0px;
    margin-right:-4px;
}
.hs-gallery-thumbnails.fixed-height li img {
    max-height: 150px;
    margin: 0px;
    padding: 0px;
    border-width: 0px;
}


/* responsive pre elements */

pre {
    overflow-x: auto;
}

/* responsive pre tables */

table pre {
    white-space: pre-wrap;
}

/* adding minimal spacing for blog comments */
.comment {
    margin: 10px 0 10px 0;
}

/* make sure lines with no whitespace don't interefere with layout */
.hs_cos_wrapper_type_rich_text,
.hs_cos_wrapper_type_text,
.hs_cos_wrapper_type_header,
.hs_cos_wrapper_type_section_header,
.hs_cos_wrapper_type_raw_html,
.hs_cos_wrapper_type_raw_jinja,
.hs_cos_wrapper_type_page_footer {
    word-wrap: break-word;
}
/* HTML 5 Reset */

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

audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

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

/* Support migrations from wordpress */

.wp-float-left {
    float: left;
    margin: 0 20px 20px 0;
}

.wp-float-right {
    float: right;
    margin: 0 0 20px 20px;
}

/* Responsive Google Maps */

#map_canvas img, .google-maps img {
    max-width: none;
}

/* line height fix for reCaptcha theme */
#recaptcha_table td {line-height: 0;}
.recaptchatable #recaptcha_response_field {min-height: 0;line-height: 12px;}

/* Diagram CSS files */



/* Grid system
 * ================*/

.inner {
  align-items: flex-start;
  display: flex;
  flex-flow: row wrap;
  margin-left: auto;
  margin-right: auto;
  max-width: calc(61.5rem + 1.5rem * 2);
  padding-left: 1.5rem;
  padding-right: 1.5rem;

}

  .inner--space-between {
    justify-content: space-between;
  }

  .inner--bottom {
    align-items: flex-end;
  }

  .inner--large {
    max-width: calc(70.5rem + 1.5rem * 2);
  }

  .inner--stretch {
    align-items; stretch;
  }

  .inner .inner {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }

.unit {
  display: block;
  /*padding-right: 1.5rem;*/
  flex-basis: 100%;
  max-width: 100%; /* default full width */
}

.block-grid {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
  list-style-type: none;
  margin-left: -1.5rem;
  padding: 0;
}

  .block-grid > * {
    padding-left: 1.5rem;
  }

.block-grid--stretch {
  align-items: stretch;
}

.masonry {
  margin-top: -1.5rem;
}

  .masonry > * {
    display: inline-block;
    margin-top: 1.5rem;
    width: 100%;
  }




  

  
  
    
    
      .size1of2 {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset1of2 { 
        margin-left: 50.0%;
      }
    
      .size2of2 {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset2of2 { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of3 {
        flex-basis: 33.33333333333333%;
        max-width: 33.33333333333333%;
      }

      .offset1of3 { 
        margin-left: 33.33333333333333%;
      }
    
      .size2of3 {
        flex-basis: 66.66666666666666%;
        max-width: 66.66666666666666%;
      }

      .offset2of3 { 
        margin-left: 66.66666666666666%;
      }
    
      .size3of3 {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset3of3 { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of4 {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset1of4 { 
        margin-left: 25.0%;
      }
    
      .size2of4 {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset2of4 { 
        margin-left: 50.0%;
      }
    
      .size3of4 {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset3of4 { 
        margin-left: 75.0%;
      }
    
      .size4of4 {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset4of4 { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of8 {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset1of8 { 
        margin-left: 12.5%;
      }
    
      .size2of8 {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset2of8 { 
        margin-left: 25.0%;
      }
    
      .size3of8 {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset3of8 { 
        margin-left: 37.5%;
      }
    
      .size4of8 {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset4of8 { 
        margin-left: 50.0%;
      }
    
      .size5of8 {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset5of8 { 
        margin-left: 62.5%;
      }
    
      .size6of8 {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset6of8 { 
        margin-left: 75.0%;
      }
    
      .size7of8 {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset7of8 { 
        margin-left: 87.5%;
      }
    
      .size8of8 {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset8of8 { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of16 {
        flex-basis: 6.25%;
        max-width: 6.25%;
      }

      .offset1of16 { 
        margin-left: 6.25%;
      }
    
      .size2of16 {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset2of16 { 
        margin-left: 12.5%;
      }
    
      .size3of16 {
        flex-basis: 18.75%;
        max-width: 18.75%;
      }

      .offset3of16 { 
        margin-left: 18.75%;
      }
    
      .size4of16 {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset4of16 { 
        margin-left: 25.0%;
      }
    
      .size5of16 {
        flex-basis: 31.25%;
        max-width: 31.25%;
      }

      .offset5of16 { 
        margin-left: 31.25%;
      }
    
      .size6of16 {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset6of16 { 
        margin-left: 37.5%;
      }
    
      .size7of16 {
        flex-basis: 43.75%;
        max-width: 43.75%;
      }

      .offset7of16 { 
        margin-left: 43.75%;
      }
    
      .size8of16 {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset8of16 { 
        margin-left: 50.0%;
      }
    
      .size9of16 {
        flex-basis: 56.25%;
        max-width: 56.25%;
      }

      .offset9of16 { 
        margin-left: 56.25%;
      }
    
      .size10of16 {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset10of16 { 
        margin-left: 62.5%;
      }
    
      .size11of16 {
        flex-basis: 68.75%;
        max-width: 68.75%;
      }

      .offset11of16 { 
        margin-left: 68.75%;
      }
    
      .size12of16 {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset12of16 { 
        margin-left: 75.0%;
      }
    
      .size13of16 {
        flex-basis: 81.25%;
        max-width: 81.25%;
      }

      .offset13of16 { 
        margin-left: 81.25%;
      }
    
      .size14of16 {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset14of16 { 
        margin-left: 87.5%;
      }
    
      .size15of16 {
        flex-basis: 93.75%;
        max-width: 93.75%;
      }

      .offset15of16 { 
        margin-left: 93.75%;
      }
    
      .size16of16 {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset16of16 { 
        margin-left: 100.0%;
      }
    
  

  
  
    .order1 {
      order: 1 !important;
    }
  
    .order2 {
      order: 2 !important;
    }
  
    .order3 {
      order: 3 !important;
    }
  
    .order4 {
      order: 4 !important;
    }
  

  
  
    .masonry--1 {
      -webkit-column-count: 1;
      column-count: 1;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--2 {
      -webkit-column-count: 2;
      column-count: 2;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--3 {
      -webkit-column-count: 3;
      column-count: 3;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  

  
  
    
    .block-grid--1 > * {
      flex-basis: 100.0%;
      max-width: 100.0%;
    }

    
    .block-grid--1 > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--1 > :nth-child(1n+1):nth-last-child(-n+1),
    .block-grid--1 > :nth-child(1n+1):nth-last-child(-n+1)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--2 > * {
      flex-basis: 50.0%;
      max-width: 50.0%;
    }

    
    .block-grid--2 > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--2 > :nth-child(2n+1):nth-last-child(-n+2),
    .block-grid--2 > :nth-child(2n+1):nth-last-child(-n+2)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--3 > * {
      flex-basis: 33.33333333333333%;
      max-width: 33.33333333333333%;
    }

    
    .block-grid--3 > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--3 > :nth-child(3n+1):nth-last-child(-n+3),
    .block-grid--3 > :nth-child(3n+1):nth-last-child(-n+3)~* {
      margin-bottom: 0;
    }
  


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

  
  
    
    
      .size1of2\@small {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset1of2\@small { 
        margin-left: 50.0%;
      }
    
      .size2of2\@small {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset2of2\@small { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of3\@small {
        flex-basis: 33.33333333333333%;
        max-width: 33.33333333333333%;
      }

      .offset1of3\@small { 
        margin-left: 33.33333333333333%;
      }
    
      .size2of3\@small {
        flex-basis: 66.66666666666666%;
        max-width: 66.66666666666666%;
      }

      .offset2of3\@small { 
        margin-left: 66.66666666666666%;
      }
    
      .size3of3\@small {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset3of3\@small { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of4\@small {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset1of4\@small { 
        margin-left: 25.0%;
      }
    
      .size2of4\@small {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset2of4\@small { 
        margin-left: 50.0%;
      }
    
      .size3of4\@small {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset3of4\@small { 
        margin-left: 75.0%;
      }
    
      .size4of4\@small {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset4of4\@small { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of8\@small {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset1of8\@small { 
        margin-left: 12.5%;
      }
    
      .size2of8\@small {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset2of8\@small { 
        margin-left: 25.0%;
      }
    
      .size3of8\@small {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset3of8\@small { 
        margin-left: 37.5%;
      }
    
      .size4of8\@small {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset4of8\@small { 
        margin-left: 50.0%;
      }
    
      .size5of8\@small {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset5of8\@small { 
        margin-left: 62.5%;
      }
    
      .size6of8\@small {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset6of8\@small { 
        margin-left: 75.0%;
      }
    
      .size7of8\@small {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset7of8\@small { 
        margin-left: 87.5%;
      }
    
      .size8of8\@small {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset8of8\@small { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of16\@small {
        flex-basis: 6.25%;
        max-width: 6.25%;
      }

      .offset1of16\@small { 
        margin-left: 6.25%;
      }
    
      .size2of16\@small {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset2of16\@small { 
        margin-left: 12.5%;
      }
    
      .size3of16\@small {
        flex-basis: 18.75%;
        max-width: 18.75%;
      }

      .offset3of16\@small { 
        margin-left: 18.75%;
      }
    
      .size4of16\@small {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset4of16\@small { 
        margin-left: 25.0%;
      }
    
      .size5of16\@small {
        flex-basis: 31.25%;
        max-width: 31.25%;
      }

      .offset5of16\@small { 
        margin-left: 31.25%;
      }
    
      .size6of16\@small {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset6of16\@small { 
        margin-left: 37.5%;
      }
    
      .size7of16\@small {
        flex-basis: 43.75%;
        max-width: 43.75%;
      }

      .offset7of16\@small { 
        margin-left: 43.75%;
      }
    
      .size8of16\@small {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset8of16\@small { 
        margin-left: 50.0%;
      }
    
      .size9of16\@small {
        flex-basis: 56.25%;
        max-width: 56.25%;
      }

      .offset9of16\@small { 
        margin-left: 56.25%;
      }
    
      .size10of16\@small {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset10of16\@small { 
        margin-left: 62.5%;
      }
    
      .size11of16\@small {
        flex-basis: 68.75%;
        max-width: 68.75%;
      }

      .offset11of16\@small { 
        margin-left: 68.75%;
      }
    
      .size12of16\@small {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset12of16\@small { 
        margin-left: 75.0%;
      }
    
      .size13of16\@small {
        flex-basis: 81.25%;
        max-width: 81.25%;
      }

      .offset13of16\@small { 
        margin-left: 81.25%;
      }
    
      .size14of16\@small {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset14of16\@small { 
        margin-left: 87.5%;
      }
    
      .size15of16\@small {
        flex-basis: 93.75%;
        max-width: 93.75%;
      }

      .offset15of16\@small { 
        margin-left: 93.75%;
      }
    
      .size16of16\@small {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset16of16\@small { 
        margin-left: 100.0%;
      }
    
  

  
  
    .order1\@small {
      order: 1 !important;
    }
  
    .order2\@small {
      order: 2 !important;
    }
  
    .order3\@small {
      order: 3 !important;
    }
  
    .order4\@small {
      order: 4 !important;
    }
  

  
  
    .masonry--1\@small {
      -webkit-column-count: 1;
      column-count: 1;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--2\@small {
      -webkit-column-count: 2;
      column-count: 2;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--3\@small {
      -webkit-column-count: 3;
      column-count: 3;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  

  
  
    
    .block-grid--1\@small > * {
      flex-basis: 100.0%;
      max-width: 100.0%;
    }

    
    .block-grid--1\@small > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--1\@small > :nth-child(1n+1):nth-last-child(-n+1),
    .block-grid--1\@small > :nth-child(1n+1):nth-last-child(-n+1)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--2\@small > * {
      flex-basis: 50.0%;
      max-width: 50.0%;
    }

    
    .block-grid--2\@small > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--2\@small > :nth-child(2n+1):nth-last-child(-n+2),
    .block-grid--2\@small > :nth-child(2n+1):nth-last-child(-n+2)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--3\@small > * {
      flex-basis: 33.33333333333333%;
      max-width: 33.33333333333333%;
    }

    
    .block-grid--3\@small > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--3\@small > :nth-child(3n+1):nth-last-child(-n+3),
    .block-grid--3\@small > :nth-child(3n+1):nth-last-child(-n+3)~* {
      margin-bottom: 0;
    }
  

  
  }


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

  
  
    
    
      .size1of2\@med {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset1of2\@med { 
        margin-left: 50.0%;
      }
    
      .size2of2\@med {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset2of2\@med { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of3\@med {
        flex-basis: 33.33333333333333%;
        max-width: 33.33333333333333%;
      }

      .offset1of3\@med { 
        margin-left: 33.33333333333333%;
      }
    
      .size2of3\@med {
        flex-basis: 66.66666666666666%;
        max-width: 66.66666666666666%;
      }

      .offset2of3\@med { 
        margin-left: 66.66666666666666%;
      }
    
      .size3of3\@med {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset3of3\@med { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of4\@med {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset1of4\@med { 
        margin-left: 25.0%;
      }
    
      .size2of4\@med {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset2of4\@med { 
        margin-left: 50.0%;
      }
    
      .size3of4\@med {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset3of4\@med { 
        margin-left: 75.0%;
      }
    
      .size4of4\@med {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset4of4\@med { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of8\@med {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset1of8\@med { 
        margin-left: 12.5%;
      }
    
      .size2of8\@med {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset2of8\@med { 
        margin-left: 25.0%;
      }
    
      .size3of8\@med {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset3of8\@med { 
        margin-left: 37.5%;
      }
    
      .size4of8\@med {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset4of8\@med { 
        margin-left: 50.0%;
      }
    
      .size5of8\@med {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset5of8\@med { 
        margin-left: 62.5%;
      }
    
      .size6of8\@med {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset6of8\@med { 
        margin-left: 75.0%;
      }
    
      .size7of8\@med {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset7of8\@med { 
        margin-left: 87.5%;
      }
    
      .size8of8\@med {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset8of8\@med { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of16\@med {
        flex-basis: 6.25%;
        max-width: 6.25%;
      }

      .offset1of16\@med { 
        margin-left: 6.25%;
      }
    
      .size2of16\@med {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset2of16\@med { 
        margin-left: 12.5%;
      }
    
      .size3of16\@med {
        flex-basis: 18.75%;
        max-width: 18.75%;
      }

      .offset3of16\@med { 
        margin-left: 18.75%;
      }
    
      .size4of16\@med {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset4of16\@med { 
        margin-left: 25.0%;
      }
    
      .size5of16\@med {
        flex-basis: 31.25%;
        max-width: 31.25%;
      }

      .offset5of16\@med { 
        margin-left: 31.25%;
      }
    
      .size6of16\@med {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset6of16\@med { 
        margin-left: 37.5%;
      }
    
      .size7of16\@med {
        flex-basis: 43.75%;
        max-width: 43.75%;
      }

      .offset7of16\@med { 
        margin-left: 43.75%;
      }
    
      .size8of16\@med {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset8of16\@med { 
        margin-left: 50.0%;
      }
    
      .size9of16\@med {
        flex-basis: 56.25%;
        max-width: 56.25%;
      }

      .offset9of16\@med { 
        margin-left: 56.25%;
      }
    
      .size10of16\@med {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset10of16\@med { 
        margin-left: 62.5%;
      }
    
      .size11of16\@med {
        flex-basis: 68.75%;
        max-width: 68.75%;
      }

      .offset11of16\@med { 
        margin-left: 68.75%;
      }
    
      .size12of16\@med {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset12of16\@med { 
        margin-left: 75.0%;
      }
    
      .size13of16\@med {
        flex-basis: 81.25%;
        max-width: 81.25%;
      }

      .offset13of16\@med { 
        margin-left: 81.25%;
      }
    
      .size14of16\@med {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset14of16\@med { 
        margin-left: 87.5%;
      }
    
      .size15of16\@med {
        flex-basis: 93.75%;
        max-width: 93.75%;
      }

      .offset15of16\@med { 
        margin-left: 93.75%;
      }
    
      .size16of16\@med {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset16of16\@med { 
        margin-left: 100.0%;
      }
    
  

  
  
    .order1\@med {
      order: 1 !important;
    }
  
    .order2\@med {
      order: 2 !important;
    }
  
    .order3\@med {
      order: 3 !important;
    }
  
    .order4\@med {
      order: 4 !important;
    }
  

  
  
    .masonry--1\@med {
      -webkit-column-count: 1;
      column-count: 1;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--2\@med {
      -webkit-column-count: 2;
      column-count: 2;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--3\@med {
      -webkit-column-count: 3;
      column-count: 3;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  

  
  
    
    .block-grid--1\@med > * {
      flex-basis: 100.0%;
      max-width: 100.0%;
    }

    
    .block-grid--1\@med > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--1\@med > :nth-child(1n+1):nth-last-child(-n+1),
    .block-grid--1\@med > :nth-child(1n+1):nth-last-child(-n+1)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--2\@med > * {
      flex-basis: 50.0%;
      max-width: 50.0%;
    }

    
    .block-grid--2\@med > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--2\@med > :nth-child(2n+1):nth-last-child(-n+2),
    .block-grid--2\@med > :nth-child(2n+1):nth-last-child(-n+2)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--3\@med > * {
      flex-basis: 33.33333333333333%;
      max-width: 33.33333333333333%;
    }

    
    .block-grid--3\@med > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--3\@med > :nth-child(3n+1):nth-last-child(-n+3),
    .block-grid--3\@med > :nth-child(3n+1):nth-last-child(-n+3)~* {
      margin-bottom: 0;
    }
  

  
  }


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

  
  
    
    
      .size1of2\@full {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset1of2\@full { 
        margin-left: 50.0%;
      }
    
      .size2of2\@full {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset2of2\@full { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of3\@full {
        flex-basis: 33.33333333333333%;
        max-width: 33.33333333333333%;
      }

      .offset1of3\@full { 
        margin-left: 33.33333333333333%;
      }
    
      .size2of3\@full {
        flex-basis: 66.66666666666666%;
        max-width: 66.66666666666666%;
      }

      .offset2of3\@full { 
        margin-left: 66.66666666666666%;
      }
    
      .size3of3\@full {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset3of3\@full { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of4\@full {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset1of4\@full { 
        margin-left: 25.0%;
      }
    
      .size2of4\@full {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset2of4\@full { 
        margin-left: 50.0%;
      }
    
      .size3of4\@full {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset3of4\@full { 
        margin-left: 75.0%;
      }
    
      .size4of4\@full {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset4of4\@full { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of8\@full {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset1of8\@full { 
        margin-left: 12.5%;
      }
    
      .size2of8\@full {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset2of8\@full { 
        margin-left: 25.0%;
      }
    
      .size3of8\@full {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset3of8\@full { 
        margin-left: 37.5%;
      }
    
      .size4of8\@full {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset4of8\@full { 
        margin-left: 50.0%;
      }
    
      .size5of8\@full {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset5of8\@full { 
        margin-left: 62.5%;
      }
    
      .size6of8\@full {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset6of8\@full { 
        margin-left: 75.0%;
      }
    
      .size7of8\@full {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset7of8\@full { 
        margin-left: 87.5%;
      }
    
      .size8of8\@full {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset8of8\@full { 
        margin-left: 100.0%;
      }
    
  
    
    
      .size1of16\@full {
        flex-basis: 6.25%;
        max-width: 6.25%;
      }

      .offset1of16\@full { 
        margin-left: 6.25%;
      }
    
      .size2of16\@full {
        flex-basis: 12.5%;
        max-width: 12.5%;
      }

      .offset2of16\@full { 
        margin-left: 12.5%;
      }
    
      .size3of16\@full {
        flex-basis: 18.75%;
        max-width: 18.75%;
      }

      .offset3of16\@full { 
        margin-left: 18.75%;
      }
    
      .size4of16\@full {
        flex-basis: 25.0%;
        max-width: 25.0%;
      }

      .offset4of16\@full { 
        margin-left: 25.0%;
      }
    
      .size5of16\@full {
        flex-basis: 31.25%;
        max-width: 31.25%;
      }

      .offset5of16\@full { 
        margin-left: 31.25%;
      }
    
      .size6of16\@full {
        flex-basis: 37.5%;
        max-width: 37.5%;
      }

      .offset6of16\@full { 
        margin-left: 37.5%;
      }
    
      .size7of16\@full {
        flex-basis: 43.75%;
        max-width: 43.75%;
      }

      .offset7of16\@full { 
        margin-left: 43.75%;
      }
    
      .size8of16\@full {
        flex-basis: 50.0%;
        max-width: 50.0%;
      }

      .offset8of16\@full { 
        margin-left: 50.0%;
      }
    
      .size9of16\@full {
        flex-basis: 56.25%;
        max-width: 56.25%;
      }

      .offset9of16\@full { 
        margin-left: 56.25%;
      }
    
      .size10of16\@full {
        flex-basis: 62.5%;
        max-width: 62.5%;
      }

      .offset10of16\@full { 
        margin-left: 62.5%;
      }
    
      .size11of16\@full {
        flex-basis: 68.75%;
        max-width: 68.75%;
      }

      .offset11of16\@full { 
        margin-left: 68.75%;
      }
    
      .size12of16\@full {
        flex-basis: 75.0%;
        max-width: 75.0%;
      }

      .offset12of16\@full { 
        margin-left: 75.0%;
      }
    
      .size13of16\@full {
        flex-basis: 81.25%;
        max-width: 81.25%;
      }

      .offset13of16\@full { 
        margin-left: 81.25%;
      }
    
      .size14of16\@full {
        flex-basis: 87.5%;
        max-width: 87.5%;
      }

      .offset14of16\@full { 
        margin-left: 87.5%;
      }
    
      .size15of16\@full {
        flex-basis: 93.75%;
        max-width: 93.75%;
      }

      .offset15of16\@full { 
        margin-left: 93.75%;
      }
    
      .size16of16\@full {
        flex-basis: 100.0%;
        max-width: 100.0%;
      }

      .offset16of16\@full { 
        margin-left: 100.0%;
      }
    
  

  
  
    .order1\@full {
      order: 1 !important;
    }
  
    .order2\@full {
      order: 2 !important;
    }
  
    .order3\@full {
      order: 3 !important;
    }
  
    .order4\@full {
      order: 4 !important;
    }
  

  
  
    .masonry--1\@full {
      -webkit-column-count: 1;
      column-count: 1;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--2\@full {
      -webkit-column-count: 2;
      column-count: 2;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  
    .masonry--3\@full {
      -webkit-column-count: 3;
      column-count: 3;
      -webkit-column-gap: 1.5rem;
      column-gap: 1.5rem;
    }
  

  
  
    
    .block-grid--1\@full > * {
      flex-basis: 100.0%;
      max-width: 100.0%;
    }

    
    .block-grid--1\@full > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--1\@full > :nth-child(1n+1):nth-last-child(-n+1),
    .block-grid--1\@full > :nth-child(1n+1):nth-last-child(-n+1)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--2\@full > * {
      flex-basis: 50.0%;
      max-width: 50.0%;
    }

    
    .block-grid--2\@full > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--2\@full > :nth-child(2n+1):nth-last-child(-n+2),
    .block-grid--2\@full > :nth-child(2n+1):nth-last-child(-n+2)~* {
      margin-bottom: 0;
    }
  
    
    .block-grid--3\@full > * {
      flex-basis: 33.33333333333333%;
      max-width: 33.33333333333333%;
    }

    
    .block-grid--3\@full > :nth-child(n):nth-child(n) {
      margin-bottom: 1.5rem;
    }

    
    .block-grid--3\@full > :nth-child(3n+1):nth-last-child(-n+3),
    .block-grid--3\@full > :nth-child(3n+1):nth-last-child(-n+3)~* {
      margin-bottom: 0;
    }
  

  
  }



/* Responsive columns */
@media screen and (max-width: 660px) {
  .size1of3 {
        flex-basis: 100%;
        max-width: 100%;
  }
    .size2of3 {
        flex-basis: 100%;
        max-width: 100%;
  }
}


/* Visibility helpers
 * ==================*/

.hidden {
  display: none !important;
}


  
  @media screen and (min-width: 1128px) {
    
    .hidden\@full {
      display: none !important;
    }
  
  }


  
  @media screen and (max-width: 1128px) {
    
    .visible\@full {
      display: none !important;
    }
  
  }


  
  @media screen and (min-width: 540px) {
    
    .hidden\@small {
      display: none !important;
    }
  
  }


  
  @media screen and (max-width: 540px) {
    
    .visible\@small {
      display: none !important;
    }
  
  }


  
  @media screen and (min-width: 860px) {
    
    .hidden\@med {
      display: none !important;
    }
  
  }


  
  @media screen and (max-width: 860px) {
    
    .visible\@med {
      display: none !important;
    }
  
  }


  
  @media screen and (min-width: 920px) {
    
    .hidden\@nav-primary-expanded {
      display: none !important;
    }
  
  }


  
  @media screen and (max-width: 920px) {
    
    .visible\@nav-primary-expanded {
      display: none !important;
    }
  
  }



.visually-hidden {
    height: 1px;
    left: -10000px;
    position: absolute;
    top: 0;
    width: 1px;
}


/* Font Definitions */
/*****************************************/

@font-face {
  font-family: 'Karelia Web';
  src: url("https://www.wearediagram.com/hubfs/fonts/KareliaWeb-Regular.woff2") format("woff2"), url("https://www.wearediagram.com/hubfs/fonts/KareliaWeb-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Karelia Web';
  src: url("https://www.wearediagram.com/hubfs/fonts/KareliaWeb-Medium.woff2") format("woff2"), url("https://www.wearediagram.com/hubfs/fonts/KareliaWeb-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}

/* Colors */
/*****************************************/

:root {
  /* core brand colors */
  --color-orange: #F16345;
  --color-blue: #5384A1;
  --color-lemon: #FED844;
  --color-warm-white: #EEEAe6;
  --color-medium-gray: #979596;
  --color-warm-black: #29292B;
  --color-black: #161618;

  /* modified colors */
  --color-orange-heading: #e3573a;
  --color-orange-contrast: #c13921;
  --color-blue-text: #417594;

  /* other colors */
  --color-white: #ffffff;
}

/* Backgrounds */
/*****************************************/

.gray_1 {
  background: var(--color-medium-gray);
  color: var(--color-warm-white);
}

.gray_2 {
  background: var(--color-warm-white);
  color: var(--color-warm-black);
}

.white_bg {
  background: var(--color-white);
  color: var(--color-warm-black);
}

.blue_bg {
  background: #3D6F8A;
  color: var(--color-white);
}
.blue_bg h2 {
  color: var(--color-white);
}
.blue_bg svg {
  color: var(--color-white);
}

.primary {
  background: var(--color-orange);
  color: var(--color-warm-black);
}

.dark_bg {
  background: var(--color-warm-black);
  color: var(--color-warm-white);
}


/* theme colors   */
/*****************************************/

  .primary blockquote h2, .primary figcaption, .primary .stat {
    color: var(--color-white);
  }

  .primary a {
    color: var(--color-white);
    text-decoration: underline;
  }

  .primary h2 {
    color: var(--color-white);
  }


  .gray_2 h1,
  .gray_2 h2,
  .gray_2 h3,
  .white_bg h1,
  .white_bg h2,
  .white_bg h3,
  .gray_2.stat-right-align {
    color: var(--color-orange-heading);
  }

.white_bg h4,
.gray_2 h4 {
  color: var(--color-orange-contrast);
}

  .gray_2 a {
    color: var(--color-warm-black);
    text-decoration: underline;
  }
.gray_2 .box {
  border: 1px solid #fff !important;
}

/* Global box-sizing: border-box */
/*****************************************/

:root {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}


/* Text   */
/*****************************************/

:root {
  background: var(--color-warm-black);
  color: var(--color-warm-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Karelia Web", sans-serif;
  /*___ Fluid Type Scaling _____*/
  font-size: calc(16px + (22 - 16) * ((100vw - 300px) / (2000 - 300)));
  line-height: 1.3125;
  text-rendering: optimizeLegibility;
  font-style: normal;
}

/*___ legend: font-family,font-size,font-weight,letter-spacing,line-height,text-transform _____*/
h1{ 
  font-family: "Karelia Web", sans-serif;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
 }
h2{ 
  font-family: "Karelia Web", sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: -0.05px;
  line-height: 1.1;
  text-transform: none;
 }
h3{ 
  font-family: "Karelia Web", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.16666;
  text-transform: none;
 }
h4{ 
  font-family: "Karelia Web", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 1;
  line-height: 1.3125;
  text-transform: uppercase;
 }
p, li { 
  font-family: "Karelia Web", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  text-transform: none;
 } 
.medium-title { 
  font-family: "Karelia Web", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  text-transform: uppercase;
 }
.lede { 
  font-family: "Karelia Web", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
 } 
.p-small { 
  font-family: "Karelia Web", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
 } 
figcaption { 
  font-family: "Karelia Web", sans-serif;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 34px;
  text-transform: none;
 }
address { 
  font-family: "Karelia Web", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: initial;
  line-height: 1.35;
  text-transform: none;
 }
.stat,.stat-right { 
  font-family: "Karelia Web", sans-serif;
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: -2px;
  line-height: 4rem;
  text-transform: uppercase;
 }
strong, bold { font-weight: 500; }


h1 {}
h2 { margin: .25em 0 .5em 0;}
h3 { margin: .5em 0;}
h4 {}
h5 {}

address { font-style: normal;}


  .slant-title {
    position: relative;
    align-self: flex-start;
    display: inline-block;
    z-index: 0;
    margin-bottom: 1em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1rem;
    font-weight: 500;
  }

  .slant-title::after {
      content: '';
      border-bottom: 2px solid #F16345;
      transform: skewY(-13deg);
      transform-origin: bottom left;
      display: block;
      padding-bottom: 17%;
      width: 12em;
  }

  .primary .slant-title::after {
    border-bottom-color: #EEEAE6;
  }



  @media screen and (min-width: 860px) {
    
.stat,.stat-right { 
  font-family: "Karelia Web", sans-serif;
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: -3px;
  line-height: 4rem;
  text-transform: uppercase;
 }

  }



/* blockquote */
blockquote h3 {
  font-weight: normal;
  line-height: 1.1;
  margin-top:0;
}

blockquote h3:before {
  content: '“';
}

blockquote h3:after {
  content: '”';
}

blockquote cite {
  font-style:normal;
  color: var(--color-warm-black);
  font-size: .9em;
}
blockquote cite span {
  display: block;
}

/* captions */
figcaption, .caption { 
  font-size: .75rem;
  padding-top: .5rem;
  display: block;
  font-style: italic;
}

.meta {
  display: inline-block;
  font-size: .70rem;
  text-transform: uppercase;
  color: var(--color-warm-black);
}

.medium-title {
  margin-bottom: 1.5rem;
}

/* link styles   */
/*****************************************/
a:link, a:visited { color: var(--color-orange-contrast) }
a:hover, a:active  { color: var(--color-warm-black) }


.gray2_bg h3 a:link, .gray2_bg h3 a:visited { color: var(--color-orange-heading) }
.gray2_bg h3 a:hover, .gray2_bg h3 a:active  { color: var(--color-warm-black) }

.white_bg h3 a:link, .white_bg h3 a:visited { color: var(--color-orange-heading) }
.white_bg h3 a:hover, .white_bg h3 a:active  { color: var(--color-warm-black) }

.blue_bg a:link, .blue_bg a:visited { color: var(--color-warm-white) }
.blue_bg a:hover, .blue_bg a:active  { color: var(--color-orange) }

.dark_bg a:link, .dark_bg a:visited { color: var(--color-warm-white) }
.dark_bg a:hover, .dark_bg a:active  { color: var(--color-orange) }

.primary a:link, .primary a:visited { color: var(--color-white) }
.primary a:hover, .primary a:active  { color: var(--color-warm-black) }

.secondary-links a:link, 
.secondary-links a:visited, 
.gray_1 a:link, 
.gray_1 a:visited,
{color: var(--color-blue-text);}

.secondary-links a:hover, 
.secondary-links a:active 
.gray_1 a:hover, 
.gray_1 a:active 
{color: var(--color-orange);}


.theme-secondary h1, .theme-secondary h2, .theme-secondary h3, 
.theme-secondary a:link, .theme-secondary a:visited {
  color: var(--color-blue-text);
}

.theme-secondary a:hover, .theme-secondary a:active  {
  color: var(--color-orange);
}

.theme-secondary h1 a:link,
.theme-secondary h2 a:link,
.theme-secondary h3 a:link,
.theme-secondary h4 a:link
{
  text-decoration: none;
 /* border-bottom: 3px solid currentColor; */
}

.theme-secondary h1 a:hover,
.theme-secondary h2 a:hover,
.theme-secondary h3 a:hover,
.theme-secondary h4 a:hover
{
  text-decoration: underline;
 /* border-bottom: 3px solid currentColor; */
}

a.tag, a.tag:link, a.tag:visited {
 text-transform: uppercase;
 margin: .5em 0 0 0;
 display: inline-block;
 padding: .25em .5em;
 border: 1px solid var(--color-black);
 font-size: .75rem;
  color: var(--color-black);
  text-decoration: none;
}

a.tag:hover, a.tag:active {
  border: 1px solid var(--color-orange);
  color: var(--color-orange);
}

/* Styles   */
/*****************************************/

html, body {
  margin: 0;
  padding: 0;
}

/* Stops IE 10 from stretching the images vertically */
img {
  flex-shrink: 0;
  height: auto;
}

figure {
  padding: 0;
  margin: 0;
  text-align: center;
}

/* Main    */
/*****************************************/

main {
  background: var(--color-warm-white);
  color: var(--color-warm-black);
  overflow: hidden;
}

section {
  padding: 4em 0;
  position: relative;
  /* overflow: hidden; */ /* but lines... */
}

/* dual-block-grid */
section.dual-cta {
  padding:0;
}

.dual-cta .inner {
    width: 100%;
    justify-content: space-evenly;
    margin: 0;
    max-width: 100%;
    padding: 0;
    align-items:stretch;
}

.dual-cta .unit {
  padding: 4em;
}

@media screen and (max-width: 800px) {
  .dual-cta .inner {
    flex-direction: column;
  }
  
  .dual-cta .unit {
    flex-basis: 100%;
    max-width: 100%;
  }
}


/* Blog    */
/*****************************************/




.section-break {
  position: relative;
  overflow: hidden;
}

  .section-break--two-tone {
    background-position: center center;
    padding-bottom: 17%; /* ensures aspect ratio */
  }

.section-break__angle {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
}

  .section-break--angle-up .section-break__angle {
    transform: skewY(-9deg);
    transform-origin: top right;
  }

  .section-break--angle-down .section-break__angle {
    transform: skewY(9deg);
    transform-origin: bottom left;
  }

.section-break__mark {
    z-index: 100;
    max-height: 140px;
    position: absolute;
    left: 50%;
    top: 49.1%;
    max-width: 140px;
    height: 100%;
    transform: translateX(-50%) translateY(-50%);
}

/*hr*/.section-break__line {
  background: currentColor;
  border:none;
  height: 2px;
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  margin: 0;
  width: 100%;
}
  
  .section-break__line-wrapper {
    padding-bottom: 17%;
    position: relative;
  }

  .section-break--angle-up .section-break__line {
    transform: skewY(-9deg);
  }

  .section-break--angle-down .section-break__line {
    transform: skewY(9deg);
  }

div.blogContent span {
  line-height: 1.6;
}


main {
  background: var(--color-white) !important;
}

.hero::after {
    background: var(--color-white) !important;
}

.blogHero ul.tagList {
  margin:.25em 0 0;
  padding:0;
  list-style:none;
}

.blogHero ul.tagList li {
    display: inline-block;
}

/* Listing Template */
.post-item {
  position:relative;
  color: #29292B;
}

  .post-item + .post-item {
    margin-top: 3.5rem;
  }

.post-item h2 {
  font-size: 1.75rem;
  line-height: 1.4;
  margin-top: 0;
}

.blog-pagination .btn-primary + .btn-primary {
  margin-left: 1.5rem;
}

.blog-filter {
  display: flex;
  flex-flow: row;
  align-items: center;
  border-bottom: 3px solid var(--color-orange);
  padding-bottom: .25em;
  position: relative;
  margin-bottom: 1.5em;
}

.blog-filter__title.blog-filter__title, .blog-filter__active-title.blog-filter__active-title {
  color: #29292B;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  margin: 0;
  padding: 0 1em 0 0;
}

.blog-filter__title {
  min-width: 25%;
}

.blog-filter__select {
  flex-grow: 1;
}

.blog-filter__select > select {
  
  font-family: "Karelia Web", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3125;
  text-transform: none;

  padding:0 0 3px;
  background: var(--color-warm-white);
  color: var(--color-orange);
  border: none;
}

.blog-filter__select  > select option {
  color: var(--color-white);
  background: var(--color-orange);
}


  @media screen and (min-width: 860px) {
    
.blog-filter {
  display: block;
  border-bottom: none;
  padding-bottom: 0;
  padding-top: 1rem;
  margin-bottom: 0;
}

.blog-filter__title.blog-filter__title {
  border-bottom: 3px solid var(--color-orange);
  padding-bottom: 0.25em;
  margin-bottom: 0.25em;
}

.blog-filter__picker {
  padding-left: 0;
  margin-left: 0;
  list-style-type: none;
}

  }


.blog-filter__picker {
  list-style-type: none !important;
  padding-left: 0px;
}

/* Article list */

.article-row {
 display: flex; 
}
.article-content {
  flex: 85%; 
  padding-right: 20px
}
.article-image {
  flex: 15%; 
  padding-top:20px;
}


  @media screen and (max-width: 540px) {
    
.article-content {
  flex: 75%; 
  padding-right: 20px
}
.article-image {
  flex: 25%; 
  padding-top:20px;
}

  }

/* Author template */

.hs-author-name {
  margin-top: 0;
  margin-bottom: 0;
}

.hs-author-title {
  
  font-family: "Karelia Web", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.16666;
  text-transform: none;

  margin-top: 0.5em;
}

.hs-author-bio {
  margin-top: 1.5rem;
}


  @media screen and (max-width: 540px) {
    
.hs-author-avatar {
  max-width: 12rem;
}

  }


.hs-author-social {
  display: flex;
  align-items: center;
  padding: 1em 0;
}

  .hs-author-social a {
    display: block;
    height: 2.85rem;
    margin-right: 1rem;
    width: 2.85rem;
  }

  .hs-author-social a svg {
    height: 100%;
    width: 100%;
  }

  .hs-author-social a:last-of-type {
    margin-right: 0;
  }


  @media screen and (min-width: 540px) {
    
.hs-author-social {
  justify-content: center;
}

  }


/* Post Template */
.meta-summary {
    border: solid #ccc;
    border-width: 1px 0;
    font-size: 20px;
    font-weight: 100;
    line-height: 1.42857;
    margin-bottom: 46px;
    padding: 40px 13.07506%;
    position: relative;
    text-align: center;
}
.blogContent {
  position:relative;
  z-index:1;
}

.blogContent h1, 
.blogContent h2, 
.blogContent h4 {
  color: var(--color-blue-text);
}

.blogContent {
  & h1, & h2, & h3, & h4, & h5, & h6 {
    text-transform: none;
  }
  & h2, & .heading2 {
    font-size: 2rem;
    margin-top: 1.75rem;
    text-wrap: balance;
  }
  & h3, & .heading3 {
    color: var(--color-warm-black);
    font-size: 1.75rem;
    font-weight: 500;
    margin-top: 1.5rem;
  }
  & h4, & .heading4 {
    color: var(--color-warm-black);
    font-weight: 500;
    font-size: 1.5rem;
  }
  & h5, & .heading5 {
    color: var(--color-warm-black);
    font-weight: 500;
    font-size: 1.25rem;
  }
  & h6, & .heading6 {
    color: var(--color-warm-black);
    font-weight: 500;
    font-size: 1rem;
  }
}

.blogContent li {
  margin-bottom: .75rem;
}

.blogContent .info-box {
  display:block;
  position:relative;
  align-items: center;
  background-color: var(--color-warm-white);
  padding: 1rem 1rem 1rem 3rem;
  margin: 1rem 0;
  border-radius: .5rem;
  color: var(--color-dark-blue);
  font-size: 1rem;

  &::before {
    content: "";
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    position:absolute;
    left: 1rem;
    top: 1.1rem;
    background-color: var(--color-blue);
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v2h-2zm0 4h2v6h-2z"/></svg>') no-repeat center;
    mask-size: contain;
  }

  @media (max-width: 600px) {
    flex-direction: column;
    align-items: flex-start;

    &::before {
      margin-right: 0;
      margin-bottom: 0.5rem;
    }
  }
}


ol.footnote li {
  font-size: .875rem;
  margin-bottom: .5rem;
}

.timeline {
  padding: 0 0 0 .5rem;
  border-left: 4px solid var(--color-orange);
}

.timeline li {
  border-bottom: 1px solid var(--color-warm-white);
  padding: .5rem .5rem .5rem 2.4rem;
  text-indent: -2.4rem;
  margin: 0;
  list-style-type: none;
  font-size: .75rem;

}

.timeline li .timeline-year {
  font-weight: 500;
  color: #29292B;
}

.hs_cos_wrapper_type_rich_text aside {
  padding: 1rem 1.5rem;
  background:var(--color-warm-white);
  color: #29292B;
  margin: 1.5rem 0;
}

aside p {
  font-size: .75rem;
}

section.blogContent {
  padding-top: 0;
}

.QuoteCallout {
border: solid var(--color-orange);
border-width: 0 0 0 3px;
padding: 1rem;
background:var(--color-warm-white);
display: block;
}

#hs_cos_wrapper_post_body {
  margin-bottom: 4em;
  display: block;
}

.authorImage {
  max-width: 12rem;
}

  .authorImage2 {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 3em;
    max-width: 25%;
  }


  @media screen and (max-width: 860px) {
    
  .authorImage {
    float: left;
    margin-right: 1.5rem;
    max-width: 33.333%;
  }

  .authorInfo > * {
    overflow: hidden;
  }

  }


.authorInfo .section-break {
  color: var(--color-blue);
  max-width: 85%;
}

.authorRelatedPosts {
 width: 70%;
 float: right;
}
.authorRelatedPosts ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.authorRelatedPosts ul li {
    display:block;
}

.blogContent {
  & p > code {
    background: rgba(0,0,0,.09);
    border: 1px solid rgba(0,0,0,.25);
    border-radius: 3px;
    color: var(--color-warm-black);
    display: inline-block;
    font-size: .875rem;
    margin: 0 .25rem;
    padding: 0 .25rem;
  }
  /* for visibility in the editor */
  & pre {
    background: var(--color-warm-black);
    color: var(--color-white);
    padding:1rem;
    border-radius:.3em;
  }
}

/* using other modules inside posts
 * This will let those modules sit outside the right rail unit1of2
 *  */


#hs_cos_wrapper_post_body section {
  padding:0;
}
@media screen and (min-width: 45em) {
  .authorInfo, .authorRelatedPosts{
    /*padding-right: 3em;*/
    padding-bottom: 3em;
  }

}

@media screen and (min-width: 70em) {
    #hs_cos_wrapper_post_body .hs_cos_wrapper_type_module section.two-up-img {
        position: static;
        width: 206%;
        margin-left: -106%;
        padding: 0;
    }
}

@media screen and (max-width: 580px) {
 .authorRelatedPosts {
   width: 100%;
  }
} 

/* Components    */
/*****************************************/

/* Images */
.septagon-img {
  display: inline-block;
  position: relative;
  width: 100%;
}

  .septagon-img::after {
    content: '';
    display: block;
    padding-bottom: 100%;
  }

  .septagon-img img {
    -webkit-clip-path: polygon(50% 100%, 90% 80%, 100% 40%, 75% 0, 25% 0, 0 40%, 10% 80%);
    clip-path: polygon(50% 100%, 90% 80%, 100% 40%, 75% 0, 25% 0, 0 40%, 10% 80%);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -o-object-fit: cover;
    object-fit: cover;
  }


/* CTAs/Buttons */
.btn {display: inline-block;}
.btn-block {display:block;}
.hs_cos_wrapper_type_cta {
  display:inline-block;
}

/* buttons */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

a.btn-primary, a.btn-style-1, a.btn-style-2, input[type="submit"] {
    background: var(--color-warm-black);
    color: var(--color-warm-white);
    display: inline-block;
    padding:  .625em .838em .83335em;
    text-decoration: none;
    border-radius: 14px;
    font-size: 24px;
    transition:.25s;
}

a.btn-primary:hover {
  background: var(--color-orange);
  color: var(--color-white)
}

/* buttons on light warm gray */
.gray_2 a.btn-primary:link,
.gray_2 a.btn-primary:visited,
.gray_2 input[type="submit"],
.btn-style-1:link,
.btn-style-1:visited
{
    background: var(--color-warm-black);
    color: var(--color-warm-white);
}

.gray_2 a.btn-primary:hover,
.gray_2 a.btn-primary:active,
.gray_2 input[type="submit"]:hover,
.btn-style-1:hover,
.btn-style-1:active
{
    background: var(--color-orange);
    color: var(--color-white);
}

/* buttons on white */
.white_bg a.btn-primary:link,
.white_bg a.btn-primary:visited,
.white_bg input[type="submit"],
.btn-style-2:link,
.btn-style-2:visited
{
    background: var(--color-orange);
    color: var(--color-white);
}

.white_bg a.btn-primary:hover,
.white_bg a.btn-primary:active,
.white_bg input[type="submit"]:hover,
.btn-style-2:hover,
.btn-style-2:active
{
    background: var(--color-warm-black);
    color: var(--color-warm-white);
}

/* buttons on orange */
.primary a.btn-primary:link,
.primary a.btn-primary:visited,
.primary input[type="submit"]
{
    background: var(--color-warm-black);
    color: var(--color-warm-white);
}

.primary a.btn-primary:hover,
.primary a.btn-primary:active,
.primary input[type="submit"]:hover
{
    background: var(--color-warm-white);
    color: var(--color-warm-black);
}

/* buttons on charcoal */
.dark_bg a.btn-primary:link,
.dark_bg a.btn-primary:visited,
.dark_bg input[type="submit"]
{
    background: var(--color-warm-white);
    color: var(--color-warm-black);
}

.dark_bg a.btn-primary:hover,
.dark_bg a.btn-primary:active,
.dark_bg input[type="submit"]:hover
{
    background: var(--color-orange);
    color: var(--color-warm-white);
}

.theme-black a.btn-style-2:hover,
.theme-black a.btn-primary:active 
{
    background: var(--color-warm-white);
    color: var(--color-orange);
}

/* buttons on medium gray */
.gray_1 a.btn-primary:link,
.gray_1 a.btn-primary:visited,
.gray_1 input[type="submit"]
{
    background: var(--color-orange);
    color: var(--color-white);
}

.gray_1 a.btn-primary:hover,
.gray_1 a.btn-primary:active,
.gray_1 input[type="submit"]:hover
{
    background: var(--color-warm-white);
    color: var(--color-warm-black);
}

.supplement-cta {
  align-self:flex-end;
  margin-top: 4rem;
}


/* dual CTA theme styles */
.theme-dark-1 { background-color: var(--color-warm-black) }

.theme-dark-1 h1, 
.theme-dark-1 h2, 
.theme-dark-1 h3, 
.theme-dark-1 h4, 
.theme-dark-1 p {
  color: var(--color-white)
}
.theme-dark-1 a.tag {
  color: #fff;
}

.theme-dark-2 { background-color: var(--color-warm-black) }
.theme-dark-2 h1, 
.theme-dark-2 h2, 
.theme-dark-2 h3, 
.theme-dark-2 h4, 
.theme-dark-2 p {
  color: var(--color-warm-white)
}

.theme-light-1 { background-color: var(--color-medium-gray) }  
.theme-light-1 h1, 
.theme-light-1 h2, 
.theme-light-1 h3, 
.theme-light-1 h4, 
.theme-light-1 p {
  color: 
}

.theme-light-2 { background-color: var(--color-white) }
.theme-light-2 h1, 
.theme-light-2 h2, 
.theme-light-2 h3, 
.theme-light-2 h4, 
.theme-light-2 p {
  color: var(--color-medium-gray)
}

/* Forms */


/* FORM LAYOUT AND BASELINE FORMATTING */
input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
appearance: none;
-moz-appearance: none; 
-webkit-appearance: none;
border-radius: 0;
}

/* SELECT BOX STYLE OVERRIDE */
select.hs-input  {
    display: block;
    line-height: 1.3;
    font-size: 1rem;  
    padding: .4em 1.4em .5em .8em;
    width: 100%;
    max-width: 100%; 
    box-sizing: border-box;
    margin: .25rem 0 0 0;
    border: 1px solid #aaa;
    box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
    border-radius: .5em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #eeeae6;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
}
select.hs-input::-ms-expand {
    display: none;
}
select.hs-input:hover {
  border-color: #979596;
}
select.hs-input:focus {
    border-color: #aaa;
    box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
    box-shadow: 0 0 0 3px -moz-mac-focusring;
    color: var(--color-warm-black); 
    outline: none;
}
select.hs-input option {
    font-weight:normal;
}


textarea, input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  background: none;
  border-width: 0 2px 2px 0;
  border-style: solid; 
  font: inherit;
  font-size: 1em;
  font-size: 1rem;
  font-weight: 500;
  padding: 1.25em 0;
  outline: none;
  width: 100% !important;
  box-sizing: border-box;
}

input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  height: 2em;
  padding-bottom: 20px;
}

textarea:focus, input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
textarea.error, input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]).error {
  border-bottom-width: 6px;
  /*padding-bottom: calc(4em - 1.3125em - 1.25em - 6px);*/
  padding-bottom: 20px;
}

textarea.error, input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]).error {
}

.hs-error-msgs {
  font-weight: 500;
  margin: 0.5em 0 0;
  padding: 0;
  list-style-type: none;
}

/* FILE UPLOAD LABEL HACK */
input[name="upload_your_resume"] { 
  line-height: .25em !important; 
  margin-top: 1em; 
}

/* Display only last error message */
.hs-error-msgs > :not(:last-child) { 
  display: none;
}

.field {
  position: relative;
  margin-bottom: 25px;
}

label[for] {
  font-size: 1em;
  font-size: 1rem;
  text-transform: uppercase;
  position: relative;
  top: 0;
  left: 0;
}
 

#hs_form_target_post_comment_form textarea,
#hs_form_target_post_comment_form input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  background: 0;
  border-width: 0 2px 2px 0;
}

#hs_form_target_post_comment_form fieldset {
    margin-bottom: 1.25em;
}

#hs_form_target_post_comment_form input[type=submit] {
  margin: 1em 0 0;
  padding: 1em;
  /*border-radius: 5px;*/
  cursor: pointer;
  transition:.25s;
}

#hs_form_target_post_comment_form input[type=submit]:hover {
}

/* Buttons */
input[type="submit"], .button, button {
  appearance: none;
  /*margin: 2rem 0 0;*/
  margin: 2rem 0 0;
  border: none;
  font: inherit;
  font-size: 24px;
  padding: 0.625em 1em 0.8em;
  border-radius: 14px;
  cursor: pointer;
}

.form-block form {
  margin-left: auto;
  margin-right: auto;
  max-width: 37.5em;
}

form fieldset {
  margin-bottom: 2.5em;
  max-width: none !important; /* hubspot override */
}

.form-block ul {
    list-style:none;
}

.form-block label[for] {

}

.form-block .hs-fieldtype-checkbox ul {
  padding-left: 1em;
}

.form-block .hs-fieldtype-checkbox label[for],
.form-block .hs-fieldtype-textarea label[for],
.form-block .hs-fieldtype-select label
{
    position: relative;
    display: block;
}

.form-block .hs-fieldtype-checkbox li label[for] {
    margin-bottom: 1em;
    font-size: .875em;
    font-size: .875rem;
    text-transform: none;
}

.form-block .hs-fieldtype-checkbox li label[for] span {
  padding-left: 1em;
}


.form-block .hs_submit.hs-submit {
    max-width: 37.5em;
    margin: 0 auto;
}

/* fix radio fields on landing pages */
.hs-fieldtype-radio label, .hs-fieldtype-booleancheckbox label {
  position: relative;
}

.hs-fieldtype-booleancheckbox ul {
  margin: 0 0 1em 0;
  padding: 0;
}

/* Removes bullet icons, written by Cody May 2021 */
.hs-form-checkbox, .hs-form-booleancheckbox, .inputs-list.multi-container {
 list-style-type: none; 
}

/* Removes 40px indent for ul, written by Cody May 2021 */
ul.inputs-list {
  padding-inline-start: 0px;
}

/* Adds small space between checkbox and label, written by Cody May 2021 */
input.hs-input {
  margin-right: .5rem!important;
}

.hs-form-booleancheckbox input, .hs-form-radio-display input {
  margin-right: .5rem;
}

@media only screen and (max-width: 45rem) {
  .form-block form fieldset, #hs_form_target_post_comment_form fieldset { margin-bottom: 0; }
  .form-block form fieldset > div, #hs_form_target_post_comment_form fieldset > div {
    margin-bottom: 1rem;
  }
}

  .form-block form fieldset, #hs_form_target_post_comment_form fieldset { margin-bottom: 0; }
  .form-block form fieldset > div, #hs_form_target_post_comment_form fieldset > div {
    margin-bottom: 1rem;
  }
/* FORM THEMING on CHARCOAL background 
================================================ */

/* Transparent form input fields, white text*/
textarea, input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  background: none;
  color: var(--color-white);
  border-color: var(--color-white);
}

.hs-private textarea,
.hs-private input {
  background: initial !important;
  color: initial !important;
  border-color: initial !important;
}

.hs-error-msg,
.hs-error-msgs {
  color: var(--color-orange-contrast);
}

/* Buttons */
input[type="submit"], .button, button {
  background: var(--color-warm-black);
  color: var(--color-warm-white);
}


/* FORM THEMING on ORANGE background 
================================================ */
section.primary label[for] {
  color: var(--color-white);
}

section.primary .hs-error-msgs {

}

section.primary .hs-error-msgs label  {
  display: inline-block;
  background: var(--color-warm-white);
  color: var(--color-orange);
  font-size: .875rem;
  padding: 0 .5em .25em .5em;
}


/* FORM THEMING on LIGHT background
============================================ */
.blog-cta-signup .gray_2 h2 {
  color: var(--color-medium-gray);
}


/* Transparent form input fields, charcoal text*/
.white_bg textarea, 
.gray_2 textarea,
.white_bg input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.gray_2 input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"])
  {
    background: none;
    color: var(--color-warm-black);
    border-color: var(--color-medium-gray);
  }

.white_bg label[for]
{
  color: var(--color-warm-black);
}

.gray_2 label[for]
{
  color: var(--color-warm-black);
}


/* COMMENT THEMING on LIGHT background
============================================ */

/* blog-comment-form */
#hs_form_target_post_comment_form { margin-bottom: 3em; }

#hs_form_target_post_comment_form textarea,
#hs_form_target_post_comment_form input:not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  color: var(--color-blue);
  border-color: var(--color-blue);
}

#hs_form_target_post_comment_form input[type=submit] {
  background: var(--color-warm-black);
  /*border: 2px solid var(--color-warm-black);*/
  color: var(--color-white);
}

#hs_form_target_post_comment_form input[type=submit]:hover {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}

/* CAPTCHA Alignment to form
============================================ */
.hs_recaptcha.hs-recaptcha.field.hs-form-field {
    max-width: 37.5em;
    margin: 0 auto;
}

/* Nav */


:root {
  --nav-size: 56px;
  --logo-size: 72px;
}



.nav-primary-condensed {
  align-items: center;
  height: var(--nav-size);
  display: flex;
  background-color: var(--color-warm-black);
  justify-content: space-between;
  padding: 0 12px;
  position: relative;
  z-index: 500;
}


  @media screen and (min-width: 920px) {
    
  .nav-primary-condensed {
    height: auto;
    top: 0;
    left: 0;
    bottom: 0;
    flex-direction: column;
    padding: 12px 0;
    position: fixed;
    width: var(--nav-size);
  }

  body {
    padding-left: var(--nav-size);
  }

  }


.overlay {
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  position: fixed;
  background-color: var(--color-warm-black);
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
  padding: 7.25rem 1.5rem;
  overflow-y: auto;
}

/* Prevent transition between breakpoints and other unintended places */
.overlay:not(.-transitioning):not(.-active) {
  visibility: hidden;
}

  .overlay.-active {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  html.-overlay-active {
    overflow: hidden !important;
  }


  @media screen and (min-width: 860px) {
    
  .overlay {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  }




  @media screen and (min-width: 920px) {
    
  .overlay {
    left: var(--nav-size);
    -webkit-transform: translateX(calc(-100% - ));
    transform: translateX(calc(-100% - ));
    padding-left: 4rem;
    padding-right: 4rem;
  }

    .overlay.-active {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }

  }




  @media screen and (min-width: 1128px) {
    
  .overlay {
    padding-left: 7rem;
    padding-right: 7rem;
  }

  }


/* TODO: componentize this stuff */
.sidebar p {
  -webkit-transform: rotate(90deg) translate(-50%, -100%);
  transform: rotate(90deg) translate(-50%, -100%);
  white-space: nowrap;
  transform-origin: top left;
  padding: 10px 0 10px 18px;
}

.nav-overlay {
  text-align: center;
  padding-top: calc(7.5rem + 48px);
  padding-left: 0;
  padding-right:0;
}

.nav-tree, .nav-tree ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-tree {
  flex-direction: column;
  display:flex;
  gap: 3rem;
}

@media only screen and (min-width: 920px) {
  .nav-tree {
    flex-direction: row;
    gap: 4vw;
  }
}

.nav-tree a {
  text-transform: capitalize;
  color: var(--color-warm-white);
  text-decoration: none;
}

.nav-tree > li {
  text-align: left;
  flex-grow: 1;
  flex-basis: 0;
}
.nav-tree > li > a {
  display: block;
  line-height: 1;
  font-size: 2rem;
  padding-bottom: .5em;
  border-bottom: 2px solid;
  position: relative;
  white-space: nowrap;
}

.nav-tree > li > a:first-child {
  margin-left: 0;
}

.nav-tree > li:not(:last-of-type) > a::after {
  /* border-bottom: 2px solid currentColor;
  bottom: -2px;
  content: '';
  left: 100%;
  position: absolute;
  width: 48px; */
}

.nav-tree > li > a:hover, .nav-tree > li > a:focus, .nav-tree > li > a.active, .sidebar-nav > ul > li > a:focus {
  color: var(--color-orange);
}
.nav-tree ul {
  margin-top: 4px;
}
.nav-tree > li.-active > a {
  color: var(--color-orange);
}
.nav-tree ul a {
  display: block;
  letter-spacing: 0;
  padding-bottom: .5em;
  padding-top: 1em;
  border-bottom: 2px solid;
  font-size: .875rem;
}
.nav-tree ul a:hover, .nav-tree ul a:focus, .nav-tree ul a.active {
  color: var(--color-orange);
}
.casestudy-nav {
  text-transform: uppercase;
  padding: 10px 0 10px 18px;
  background: var(--color-warm-black);
}
.casestudy-nav::after {
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  content: '';
  position: absolute;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  background-image: linear-gradient(rgba(41, 41, 43, 0), var(--color-warm-black) 50%, var(--color-warm-black) 100%);
  transition: -webkit-transform .5s ease-out;
  transition: transform .5s ease-out;
  transition: transform .5s ease-out, -webkit-transform .5s ease-out;
}
.casestudy-nav.-hide::after {
  -webkit-transform: scaleY(2);
          transform: scaleY(2);
}
.casestudy-nav .casestudy-nav_title {
  display: table;
  pointer-events: none;
}
.casestudy-nav .casestudy-nav_title .-inner {
  height: 0;
  padding: 50% 0;
}
.casestudy-nav .casestudy-nav_title h3 {
  margin: 0;
  white-space: nowrap;
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: rotate(90deg) translate(-50%, -100%);
          transform: rotate(90deg) translate(-50%, -100%);
  text-transform: uppercase;
}
.casestudy-nav ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.casestudy-nav li {
  margin: 21px 0 0;
  position: relative;
}
.casestudy-nav li.-active .number {
  background-color: var(--color-orange);
}
.casestudy-nav li.-active .service-name {
  color: var(--color-orange);
}
.casestudy-nav li:hover .number {
  border-color: var(--color-orange);
}
.casestudy-nav li:hover .service-name {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.casestudy-nav li a {
  width: 100%;
  display: block;
}
.casestudy-nav li .number {
  width: 21px;
  height: 21px;
  display: block;
  line-height: 14px;
  border-radius: 50%;
  text-align: center;
  border: 2px solid transparent;
}
.casestudy-nav li .service-name {
  top: -6px;
  left: 100%;
  z-index: -1;
  height: 32px;
  padding: 0 16px;
  line-height: 32px;
  position: absolute;
  white-space: nowrap;
  background-color: var(--color-warm-black);
  -webkit-transform: translateX(-101%);
          transform: translateX(-101%);
  transition: -webkit-transform 0.18s;
  transition: transform 0.18s;
  transition: transform 0.18s, -webkit-transform 0.18s;
}

.nav-primary-condensed__toggle {
  border: none;
  cursor: pointer;
  font-size: 1rem;
  padding: 10px;
  background: none;
  outline: none;
  text-align: center;
  position: relative;
  margin: 0;
}

  .nav-primary-condensed__toggle svg {
    fill: var(--color-warm-white);
    vertical-align: top;
    transition: fill 0.18s;
  }

  .nav-primary-condensed__toggle:hover svg {
    fill: var(--color-orange);
  }

  .nav-primary-condensed__toggle:not(.-active) .close,
  .nav-primary-condensed__toggle.-active .open {
    display: none;
  }

  .nav-primary-condensed__toggle .close {
    width: 24px;
    height: 16px;
  }


  @media screen and (min-width: 920px) {
    
.nav-primary-condensed__menu-toggle {
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
}

.nav-primary-condensed__menu-toggle.-in-view,
.nav-primary-condensed__menu-toggle.-active { /* always show if active (could've opened on another breakpoint */
  opacity: 1;
  pointer-events: auto;
}

  }



.nav-primary-condensed__menu-toggle .open {
  width: 24px;
  height: 16px;
}

.nav-primary-condensed__search-toggle .open {
  width: 19px;
  height: 19px;
}

.search-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.search-overlay__form {
  align-items: center;
  display: flex;
  max-width: 36.5rem;
  width: 100%;
}

  .search-overlay__form [type="search"] {
    flex: 1;
  }

  .search-overlay__form [type="submit"] {
    margin: 0 0 0 1.5rem;
  }

@media screen and (max-width: 660px) {
  .search-overlay__form {
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    max-width: calc(61.5rem + 1.5rem * 2);
  }

  .search-overlay__form [type="submit"] {
    margin: 2rem 0 0 0;
  }



  .search-overlay .hs-search-field {
    width: 100%;
    padding: 1.5rem;
  }
}


.nav-primary {
  background: var(--color-warm-black);
  height: var(--nav-size);
  position: relative;
  z-index: 1000;
}

.nav-primary__items {
  align-items: center;
  display: flex;
  height: var(--nav-size);
  justify-content: space-between;
  padding: 0;
  margin: 0;
  list-style: none;
  /* padding-right: calc(var(--logo-size) / 2 + 4.5rem); */
}

.nav-primary__items > li {
  display: inline-block;
}

.nav-primary__items > li > a {
  box-sizing: content-box;
  color: var(--color-warm-white);
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .071428571em;
  line-height: 28px;
  padding: 2px 0;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.18s;
}

  .nav-primary__items > li > a::after {
    left: 0;
    bottom: 0;
    width: 100%;
    content: '';
    height: 2px;
    position: absolute;
    transform: scaleX(0);
    background-color: var(--color-orange);
    transition: transform 0.18s;
  }

  .nav-primary__items > li > a:hover, .nav-primary__items > li > a:focus,
  .nav-primary__items > li > a.active {
    color: var(--color-orange);
  }

    .nav-primary__items > li:hover > a::after, .nav-primary__items > li > a:focus::after,
    .nav-primary__items > li > a.active::after {
      transform: scaleX(1);
    }

.nav-logo {
  top: 22px;
  display: block;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: top 0.25s;
  left: 50%;
  z-index: 1000;
}

  html.-scrolled-past-header:not(.-overlay-active) .nav-logo {
    position: fixed;
    top: -100px;
    transition: none;
  }

  html.-overlay-active .nav-logo {
    position: fixed;
  }

.nav-logo svg {
  width: var(--logo-size);
  fill: var(--color-warm-white);
  vertical-align: top;
  transform-origin: center;
}
/* CSS Variables for consistent theming */
:root {
	--nav-padding: 2rem;
	--nav-mobile-height: 6.5rem;
	--nav-mobile-padding: 1.4rem;
	--nav-item-spacing: 2rem;
	--nav-font-size: 0.7rem;
	--nav-gradient: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
}

/* Primary Navigation - Desktop */
.nav-primary {
	--nav-text-color: var(--color-white);
	--nav-active-color: var(--color-orange);

	background: transparent;
	height: auto;
	padding: var(--nav-padding) 0;
	position: absolute;
	inset-inline: 0;

	& > .inner {
		height: 100%;
		align-items: center;

		& > .unit {
			display: flex;
			/* right-aligned desktop menu */
			/* justify-content: space-between; */
		}
	}

	& .nav-logo {
		position: relative;
		transform: none;
		inset: auto;
		margin-right: var(--nav-item-spacing);

		& svg {
			fill: var(--color-white);
		}
	}

	& .nav-primary__items {
		justify-content: flex-start;

		& > li {
			&:not(:last-child) {
				margin-right: var(--nav-item-spacing);
			}

			& > a {
				color: var(--nav-text-color);
				font-size: var(--nav-font-size);
				display: inline-flex;

				&.active {
					color: var(--nav-active-color);
				}

				&::after {
					background-color: var(--nav-active-color);
				}

				> .chevron {
					width: 0.75rem;
					margin-left: 0.5em;
					fill: var(--nav-text-color);
				}
			}

			&:hover,
			&:focus-within {
				& > a {
					color: var(--nav-active-color);
				}
				& > ul {
					display: block;
				}
				& .chevron {
					transform: rotate(180deg);
					fill: var(--nav-active-color);
				}
			}

			/* Dropdown styles */
			& > ul {
				position: absolute;
				margin: 0;
				padding: 1em;
				list-style: none;
				background: var(--color-black);
				display: none;

				a {
					text-decoration: none;
					display: block;
					padding: 0.25em 0;
					font-size: 0.8rem;
					color: var(--color-white);

					&:hover,
					&:focus {
						color: var(--color-orange);
						text-decoration: underline;
						text-decoration-thickness: 1px;
						text-underline-offset: 0.1em;
					}
					> .chevron {
						fill: var(--nav-text-color);
					}
				}
			}
		}
	}

	/* Dark text on light backgrounds */
	&.theme-dark {
		--nav-text-color: var(--color-black);
		--nav-active-color: var(--color-black);

		& .nav-logo svg {
			fill: var(--nav-text-color);
		}
	}

	/* Over Image Theme */
	&.theme-overimage {
		background: var(--nav-gradient);
	}

	/* Legacy Theme used on blog pages */
	&.theme-legacy {
		position: relative;
		left: auto;
	}
}

/* Overlay State */
html.-overlay-active .nav-primary {
	& .nav-logo svg {
		fill: var(--color-white);
	}

	& .nav-primary__items {
		display: none;
	}

	& .nav-primary.theme-overimage {
		background: none;
	}
}

/* Mobile Navigation */
@media screen and (max-width: 920px) {
	.nav-primary-condensed {
		background: transparent;
		position: absolute;
		width: 100%;
		padding: 0 var(--nav-mobile-padding);
		height: var(--nav-mobile-height);
		justify-content: flex-end;

		& .nav-logo {
			left: var(--nav-mobile-padding);
			transform: none;
		}

		& .nav-primary-condensed__toggle:hover svg {
			fill: var(--color-white);
		}

		/* Mobile Theme Variations */
		&.theme-dark {
			& svg {
				fill: var(--color-black);
			}

			& .nav-primary-condensed__toggle:not(.-active):hover svg {
				fill: var(--color-black);
			}
		}

		&.theme-overimage {
			background: var(--nav-gradient);
		}

		&.theme-legacy {
			position: relative;

			& .nav-primary-condensed__toggle:not(.-active):hover svg {
				fill: var(--color-orange);
			}
		}
	}

	/* Mobile Overlay State */
	html.-overlay-active .nav-primary-condensed {
		&::before {
			content: "";
			display: block;
			width: 100%;
			height: 6rem;
			position: fixed;
			left: 0;
			top: 0;
			background: rgb(41, 41, 43);
		}

		& svg {
			fill: var(--color-white);
		}

		& .-active svg {
			fill: var(--color-orange);
		}

		&.theme-overimage {
			background: none;
		}
	}
}

/* Desktop-specific Navigation */
@media screen and (min-width: 920px) {
	.nav-primary-condensed .nav-logo {
		display: none;
	}
}

/* Scroll Lock */
.scroll-lock {
	position: relative;

	html.-overlay-active & {
		overflow-y: scroll;
	}
}

/* Search Overlay */
.search-overlay {
	& .search-overlay-inner {
		padding: 1.5rem;
		max-width: 64.5rem;
		flex-grow: 1;

		& .hs-search-field {
			padding: 0;

			&__suggestions {
				margin: 2rem 0 4rem;

				& .hs-search-highlight {
					font-weight: 700;
					background: rgba(255, 255, 255, 0.05);
				}
			}
		}

		& .search-overlay__form {
			border-bottom: 2px solid var(--color-white);
			max-width: none;

			& input[type="search"] {
				border: 0 none;
				padding: 1rem 0 !important;
			}

			& button {
				border: 0 none;
				padding: 1rem 0;
				height: auto;
				border-radius: 0;
				flex-basis: 2rem;

				& svg {
					width: 100%;
				}
			}
		}

		& .search-subhead {
			text-transform: uppercase;
			letter-spacing: 0.1em;
			color: var(--color-warm-white);
			font-size: 0.85em;
		}

		& .search-overlay-tags {
			list-style: none;
			display: flex;
			margin: 0;
			padding: 0;
			flex-wrap: wrap;

			& li {
				flex-shrink: 0;

				&:not(:last-child) {
					margin: 0 1em 1em 0;
				}

				& a {
					font-size: 0.85em;
					display: block;
					padding: 0.3em 1em 0.5em;
					border: 2px solid var(--color-orange);
					line-height: 1;
					text-decoration: none;
					color: var(--color-orange);

					&:is(:hover, :focus) {
						color: var(--color-white);
						border-color: var(--color-white);
					}
				}
			}
		}
	}
}

/* Search Overlay Mobile Adjustments */
@media screen and (max-width: 660px) {
	.search-overlay .search-overlay-inner .search-overlay__form {
		flex-direction: row;
		align-items: center;

		& button {
			margin: 0 0 0 1.5rem;

			&.submit {
				flex-basis: 1rem;
			}
		}
	}
}

  /* tables */
[data-hs-responsive-table="true"]:has(.doc-table.large) {
}

.doc-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;

	&,
	& * {
		font-size: 0.75rem;
		line-height: 1.3;
	}

	& th,
	& td {
		border: 1px solid var(--color-medium-gray);
		padding: 0.75rem 0.75rem 1rem 0.75rem;
		vertical-align: top;
		background-clip: padding-box;
	}

	& th {
		background-color: var(--color-warm-white);
		font-weight: 600;
		text-align: left;
	}

	& ul {
		margin: 0;
		padding-left: 20px;

		& li {
			margin-bottom: 8px;

			&:last-child {
				margin-bottom: 0;
			}
		}
	}

	&.dark {
		background-color: var(--color-warm-black);
		color: var(--color-white);

		& th,
		& td {
			border-color: var(--color-warm-white);
		}

		& th {
			background-color: var(--color-black);
		}
	}
}

/* Featured content */
.featured-content {
  align-items: stretch;
}

.featured-content__media {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.featured-content__divider {
  display: flex;
  align-items: stretch;
  justify-content: center;
}

  .featured-content__divider::after {
    content: '';
    background: var(--color-orange);
    width: 2px;
    height: 100%;
  }

    .primary .featured-content__divider::after {
      background-color: var(--color-warm-white);
    }

.featured-content__content {
  /*padding-top: 3rem;*/
}

.featured-content__content h2 {
  margin-bottom: 0;
}

  .featured-content__content h2 a {
    text-decoration:none;
    color: var(--color-orange);
  }


  .featured-content__title {
    position: relative;
    align-self: flex-start;
    display: inline-block;
    z-index: 0;
    margin-bottom: 1em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1rem;
    font-weight: 500;
  }

  .featured-content__title::after {
      content: '';
      border-bottom: 2px solid #F16345;
      transform: skewY(-13deg);
      transform-origin: bottom left;
      display: block;
      padding-bottom: 17%;
      width: 12em;
  }

  .primary .featured-content__title::after {
    border-bottom-color: #EEEAE6;
  }


.featured-content__img {
  max-width: 250px;
  width: 100%;
}

.featured-content__metric {
  display: flex;
  z-index: 4;
}

.featured-content__metric svg {
  height: 3rem;
  width: 3rem;
  margin-right: 1rem;
}


  @media screen and (min-width: 860px) {
    
  .featured-content__metric {
    align-self: flex-end;
    display: block;
    width: 35%;
    padding: 1em;
    margin-top: -8em;
    margin-right: 12%;
  }

  .featured-content__metric svg {
    height: 136px;
    width: 100%;
    margin-right: 0;
  }

  }


.featured-content__metric p {
    color: #eeeae6;
    margin: 0;
}

.featured-content + .featured-content {
  margin-top: 3rem;
}

  
  .featured-content + .featured-content .featured-content__content {
    padding-top: 0;
  }

/* Lists */
.secondary-links li {
  margin-bottom: 1rem;
}

.list-logos {
    width: auto;
    text-align: center;
    margin: 0 auto;
}
.list-logos li {
    display: inline-block;
    padding: .5em;
    background: #fff;
}
.list-logos li img {
    display: block;
    max-width: 150px;
}

ul.tag-list {
  list-style: none;
  display: inline-block;
  padding-left: .25rem;
  margin: 1rem 0;
}

ul.tag-list li {
  display: inline-block;
  padding: 0 .5em 0 0;
}

.related-tags {
    background: #29292b;
    color: #EEEAE6;
    padding: 0 1rem;
}

.related-tags span {
  margin: 1rem 0 0 0;
  display: inline-block;
}


@media only screen and (min-width: 32em) {
  .related-tags {
    padding: 0 1rem 0 3rem;
  }
}



@media only screen and (min-width: 70em) {
.related-tags {
    padding: 0 1rem 0 6rem;
}
}


/* padding override */
.pdt-0 {padding-top:0;}
.pdb-0 {padding-bottom:0;}

/* figure alignment */
.fig-l {text-align:left; margin: 1em 0;}
.fig-c {text-align:center; margin: 1em 0;}
.fig-r {text-align:right; margin: 1em 0;}

/* Cards */
.card {
  display: block;
  height: 100%;
  text-align: center;
  transition: .25s;
  padding: 0.75rem;
  overflow: hidden;
}

.card__img {
  width: 85%;
}

.card__title {
  margin: 0;
  transition: none;
}

.card p {
  margin: 1rem 0 0;
  transition: none;
}



a.card {
  text-decoration: none;
}
a.card:hover, a.card:focus {
  background:var(--color-orange);
  text-decoration: underline;
}

a.card:hover, a.card:hover .card__title,
a.card:focus, a.card:focus .card__title {
  color: #fff;
}
a.card:hover, a.card:hover h3,
a.card:focus, a.card:focus h3 {
  color: #fff;
}


  @media screen and (max-width: 540px) {
    
.card {
  padding: 0.75rem;
}

.card__body {
  overflow: hidden;
  text-align: left;
}

.card__img {
  float: left;
  margin-right: 1rem;
  width: 25%;
}

  }



  @media screen and (min-width: 540px) {
    
.card {
  /*padding: 1.5rem;*/
}

.card__body {
  margin-top: 1rem;
}

  }


/* Flex Classes for aligning self items */
/*****************************************/
.asfe {align-self: flex-end;}
.asfs {align-self: flex-start;}

.line {
  overflow: visible; /* fix the line ends getting cut off */
  pointer-events: none;
  position: absolute;
  z-index: 150;
}


/* animation */
.hero__line1, .hero__line2, .hero__line3, .hero__line4 {
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  animation: dash 2s linear forwards;
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}

/* Error Pages    */
/*****************************************/

.error-page{
  position:relative;
  color: var(--color-warm-white);
}



.error-page input.hs-search-field__input::placeholder {
    color: var(--color-warm-white);
}

.casestudy-sidebar-nav {display: none !important;}


/* Added to reduce exxcessibe margin above headers that have a section name, written by Cody May 2021*/
.header-with-section {
    margin-top: .25rem;
}

/* Added to make section name CSS accessible for landing pages rather than isolating it inside "hero.css" file, written by Cody May 2021*/
.sectionName {
    font-size: 1rem;
    font-weight: normal;
    margin: 0 0 .15em 0;
    line-height: 1;
    text-transform: uppercase;
}

ul.list-grid {
  /*display: grid;*/
  -webkit-column-count: 2;  /* Chrome/Opera, Safari */
-moz-column-count: 2; /* Mozilla Firefox */
column-count: 2;
  list-style: none;
  padding: 2rem 2rem;
  row-gap: 0.3rem;
  column-gap: 2.5rem;
  font-size: .9rem;
 }

ul.list-grid li {
	break-inside: avoid;
  padding-left: 0.5em;
	margin-bottom: 0.5em;
  list-style-image: url("data:image/svg+xml,%3Csvg fill='%23e3573a' version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 305.002 305.002' xml:space='preserve' stroke='%23e3573a'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cg%3E%3Cg%3E%3Cpath d='M152.502,0.001C68.412,0.001,0,68.412,0,152.501s68.412,152.5,152.502,152.5c84.089,0,152.5-68.411,152.5-152.5 S236.591,0.001,152.502,0.001z M152.502,280.001C82.197,280.001,25,222.806,25,152.501c0-70.304,57.197-127.5,127.502-127.5 c70.304,0,127.5,57.196,127.5,127.5C280.002,222.806,222.806,280.001,152.502,280.001z'%3E%3C/path%3E%3Cpath d='M218.473,93.97l-90.546,90.547l-41.398-41.398c-4.882-4.881-12.796-4.881-17.678,0c-4.881,4.882-4.881,12.796,0,17.678 l50.237,50.237c2.441,2.44,5.64,3.661,8.839,3.661c3.199,0,6.398-1.221,8.839-3.661l99.385-99.385 c4.881-4.882,4.881-12.796,0-17.678C231.269,89.089,223.354,89.089,218.473,93.97z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  
}

/*
ul.list-grid li::before {
 	width: 1em;
	height: 1em;
  display: inline-block;
  position: absolute;
	background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg fill='%23e3573a' version='1.1' id='Capa_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 305.002 305.002' xml:space='preserve' stroke='%23e3573a'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cg%3E%3Cg%3E%3Cpath d='M152.502,0.001C68.412,0.001,0,68.412,0,152.501s68.412,152.5,152.502,152.5c84.089,0,152.5-68.411,152.5-152.5 S236.591,0.001,152.502,0.001z M152.502,280.001C82.197,280.001,25,222.806,25,152.501c0-70.304,57.197-127.5,127.502-127.5 c70.304,0,127.5,57.196,127.5,127.5C280.002,222.806,222.806,280.001,152.502,280.001z'%3E%3C/path%3E%3Cpath d='M218.473,93.97l-90.546,90.547l-41.398-41.398c-4.882-4.881-12.796-4.881-17.678,0c-4.881,4.882-4.881,12.796,0,17.678 l50.237,50.237c2.441,2.44,5.64,3.661,8.839,3.661c3.199,0,6.398-1.221,8.839-3.661l99.385-99.385 c4.881-4.882,4.881-12.796,0-17.678C231.269,89.089,223.354,89.089,218.473,93.97z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
*/
@media (max-width: 768px) {
ul.list-grid {
    -webkit-column-count: 1;  /* Chrome/Opera, Safari */
    -moz-column-count: 1; /* Mozilla Firefox */
    column-count: 1;
  }
}

/* other styles */
.dropshadow {
 box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.dropshadow-mobile {
 border-radius: .75rem;
 box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}