/* ==========================================================================
Allen Matkins HubSpot Theme - April 2026
========================================================================== */

/* ==========================================================================
TABLE OF CONTENTS

1. EXTERNAL RESOURCES
2. FONT LOADING
3. BRAND TOKENS
4. BASE / RESET
5. TYPOGRAPHY
6. LAYOUT / STRUCTURE
7. HEADER / NAVIGATION
8. HERO / BANNER
9. CONTENT SECTIONS
10. FORMS
11. BUTTONS
12. FOOTER
13. UTILITIES
14. EVENT-SPECIFIC STYLES
15. RESPONSIVE
========================================================================== */


/* ==========================================================================
1. EXTERNAL RESOURCES
========================================================================== */

/* HubSpot_Boilerplate-modules.css is required to address style issues with the default modules and responsive grid layout */
/* Images */
img {
    max-width: 100%;
    height: auto;
    border: 0;
    -ms-interpolation-mode: bicubic;
    vertical-align: bottom; /* Suppress the space beneath the baseline */
}
img.alignRight, img.alignright{ margin: 0 0 5px 15px; }
img.alignLeft, img.alignleft{ margin: 0 15px 5px 0; }

/* Reduces min-height on bootstrap structure */
.row-fluid [class*="span"] { min-height: 1px; }

/* Blog Social Sharing */
.hs-blog-social-share .hs-blog-social-share-list {
    margin: 0;
    list-style: none !important;
}
.hs-blog-social-share .hs-blog-social-share-list .hs-blog-social-share-item {
    height: 30px;
    list-style: none !important;
}
@media (max-width: 479px){
    .hs-blog-social-share .hs-blog-social-share-list .hs-blog-social-share-item:nth-child(2) {
        float: none !important; /* Stack social icons into two rows on phones */
    }
}
.hs-blog-social-share .hs-blog-social-share-list .hs-blog-social-share-item .fb-like > span{
    vertical-align: top !important; /* Aligns Facebook icon with other social media icons */
}

/* Captcha */
#recaptcha_response_field {
    width: auto !important;
    display: inline-block !important;
}

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

@media all and (max-width: 400px) {
/* beat recaptcha into being responsive, !importants and specificity are necessary */
    #captcha_wrapper,
    #recaptcha_area,
    #recaptcha_area table#recaptcha_table,
    #recaptcha_area table#recaptcha_table .recaptcha_r1_c1 {
        width: auto !important;
        overflow: hidden; 
    }
    #recaptcha_area table#recaptcha_table .recaptcha_r4_c4 { width: 67px !important; }
    #recaptcha_area table#recaptcha_table #recaptcha_image { width:280px !important; }
}

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

/* Date Picker */
#calroot {
    width: 202px !important;
    line-height: normal;
}
#calroot,
#calroot *,
#calroot *:before,
#calroot *:after {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
} 
#calroot select {
    min-height: 0 !important;
    padding: 1px 2px !important;
    font-family: "Lucida Grande", "Lucida Sans Unicode", "Bitstream Vera Sans", "Trebuchet MS", Verdana, sans-serif !important;
    font-size: 10px !important;
    line-height: 18px !important;
    font-weight: normal !important;
} 
#caldays {
    margin-bottom: 4px;
}

/* Responsive Embed Container (iFrame, Object, Embed) */
.hs-responsive-embed,
.hs-responsive-embed.hs-responsive-embed-youtube,
.hs-responsive-embed.hs-responsive-embed-wistia,
.hs-responsive-embed.hs-responsive-embed-vimeo {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    padding-top: 30px;
    padding-left: 0;
    padding-right: 0;
}
.hs-responsive-embed iframe, 
.hs-responsive-embed object, 
.hs-responsive-embed embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.hs-responsive-embed.hs-responsive-embed-instagram {
    padding-top: 0px;
    padding-bottom: 116.01%;
}
.hs-responsive-embed.hs-responsive-embed-pinterest {
    height: auto;
    overflow: visible;
    padding: 0 0 0 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 {
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* Fix radio button and check box fields in multi column forms*/
.hs-form fieldset[class*="form-columns"] input[type="checkbox"].hs-input,
.hs-form fieldset[class*="form-columns"] input[type="radio"].hs-input {
    width: auto;
}

/* System Template Forms */
#email-prefs-form .email-edit {
    width: 100% !important;
    max-width: 507px !important;
}
#hs-pwd-widget-password {
    height: auto !important;
}

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

/* Horizontal Menu
   ========================================================================== */

.hs-menu-wrapper.hs-menu-flow-horizontal ul {
    list-style: none;
    margin: 0;
}
.hs-menu-wrapper.hs-menu-flow-horizontal > ul {
    display: inline-block;
}
.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;
}
.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children {
    position: relative;
}
.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > 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;
}
.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper {
    left: 100%;
    top: 0;
}
.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts > 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;
}
.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;
}

/* Vertical Menu
   ========================================================================== */ 

.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;
}
.hs-menu-wrapper.hs-menu-flow-vertical > ul {
    margin-bottom: 0;
}
.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.hs-item-has-children {
    position: relative;
}

/* Flyouts */
.hs-menu-wrapper.hs-menu-flow-vertical.flyouts > 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-vertical > ul li.hs-item-has-children ul.hs-menu-children-wrapper li a {
    display: block;
    white-space: nowrap;
}
.hs-menu-wrapper.hs-menu-flow-vertical.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    left: 100%;
    top: 0;
}
.hs-menu-wrapper.hs-menu-flow-vertical.flyouts > ul li.hs-item-has-children:hover > ul.hs-menu-children-wrapper {
    opacity: 1;
    visibility: visible;
}


@media (max-width: 767px) {
    .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;
    }

    /* Stacking Horizontal Nav for Mobile */
    .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-item-has-children ul.hs-menu-children-wrapper {
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
    }
    .hs-menu-wrapper.hs-menu-flow-horizontal ul ul ul {
        padding: 0;
    }
    .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-item-has-children ul.hs-menu-children-wrapper li a {
        white-space: normal;
    }

    /* Stacking Vertical Nav for Mobile */
    .hs-menu-wrapper.hs-menu-flow-vertical.flyouts > ul li.hs-item-has-children ul.hs-menu-children-wrapper  {
        position: static;
        opacity: 1;
        visibility: visible;
    }
}

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

/* Space Module */
.widget-type-space { visibility: hidden; }

/* Blog Author Section */
.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");
}

/* Fix for CTA border box issue */
.hs-cta-wrapper a {
box-sizing: content-box;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
}

/*
 * 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;}

/* 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; padding: 0; 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}

/* FlexSlider Necessary Styles
*********************************/
.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%;}


/* 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("//cdn2.hubspotqa.com/local/hub/124/file-52894-png/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("//cdn2.hubspotqa.com/local/hub/124/file-52894-png/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: black;
    position: static;
    font-size: 2em;
    line-height: 1.1em;
    color: white;
    padding: 0px 5% 0px 5%;
    width: 100%;
    top: 40%;
    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;
    }
}

.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; }

/* Corrects width issues in table elements created via the wysiwyg editor */
table tr td img { max-width: initial; }

/* 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; }


/* ==========================================================================
2. FONT LOADING
========================================================================== */

@font-face {
  font-family: "Montserrat";
  font-weight: 400;
  font-style: normal;
  src: url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/Montserrat/Montserrat-Regular.eot') format('embedded-opentype'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/Montserrat/Montserrat-Regular.woff2') format('woff2'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/Montserrat/Montserrat-Regular.woff') format('woff'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/Montserrat/Montserrat-Regular.ttf') format('truetype');
}

@font-face {
  font-family: "Avenir Roman";
  font-weight: 400;
  font-style: normal;
  src: url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Roman.eot') format('embedded-opentype'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Roman.woff2') format('woff2'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Roman.woff') format('woff'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Roman.ttf') format('truetype');
}

@font-face {
  font-family: "Avenir Heavy";
  font-weight: 700;
  font-style: normal;
  src: url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Heavy.eot') format('embedded-opentype'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Heavy.woff2') format('woff2'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Heavy.woff') format('woff'),
       url('https://3468962.fs1.hubspotusercontent-na1.net/hubfs/3468962/AvenirPro55Roman/Avenir-Heavy.ttf') format('truetype');
}


/* ==========================================================================
3. BRAND TOKENS
========================================================================== */

:root {
  --am-navy: #012f47;
  --am-teal: #229fbd;
  --am-orange: #f68620;

  --am-white: #ffffff;
  --am-offwhite: #fbfbfd;
  --am-light-gray: #f3f3f5;

  --am-text: #464647;
  --am-text-dark: #003047;
  --am-text-muted: #888a8c;
  --am-border: #b9babc;
  --am-border-light: #d9e2e8;

  --am-font-heading: "Montserrat", Arial, sans-serif;
  --am-font-body: "Avenir Roman", Helvetica, Arial, sans-serif;
  --am-font-body-bold: "Avenir Heavy", Helvetica, Arial, sans-serif;

  --am-radius: 3px;
  --am-transition: 0.25s ease;
}


/* ==========================================================================
4. BASE / RESET
========================================================================== */

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

html, body {
  min-height: 100%;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  background: var(--am-offwhite);
  font-family: var(--am-font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--am-text);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

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

::-moz-selection {
  background: var(--am-teal);
  color: var(--am-white);
  text-shadow: none;
}

::selection {
  background: var(--am-teal);
  color: var(--am-white);
  text-shadow: none;
}


/* ==========================================================================
5. TYPOGRAPHY
========================================================================== */

p,
ul,
ol,
li,
blockquote,
small,
label,
input,
textarea,
select {
  font-family: var(--am-font-body);
}

p {
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 16px;
}

ul,
ol {
  padding-left: 20px;
  margin: 0 0 16px;
}

li {
  margin-bottom: 4px;
}

strong,
b {
  font-family: var(--am-font-body-bold);
  font-weight: 700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 16px;
  line-height: 1.2;
}

/* Use existing h1 behavior unless you want a separate exact spec */
h1 {
  font-family: var(--am-font-heading);
  font-weight: 400;
  font-size: 48px;
  color: var(--am-text-dark);
}

/* H2 from your screenshot */
h2 {
  font-family: var(--am-font-heading);
  font-size: 28px;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--am-teal);
  letter-spacing: 0;
  margin: 0 0 16px;
}

/* H3 from your screenshot */
h3 {
  font-family: var(--am-font-body-bold);
  font-weight: 700;
  font-size: 19px;
  text-transform: capitalize;
  color: var(--am-text-dark);
  margin: 0 0 16px;
}

h4 {
  font-family: var(--am-font-heading);
  font-size: 18px;
  font-weight: 400;
  color: var(--am-text-dark);
}

h5 {
  font-family: var(--am-font-heading);
  font-size: 16px;
  font-weight: 400;
  color: var(--am-text-dark);
}

h6 {
  font-family: var(--am-font-heading);
  font-size: 15px;
  font-weight: 400;
  color: var(--am-text-dark);
}

a {
  color: var(--am-teal);
  text-decoration: none;
  transition: color var(--am-transition), background-color var(--am-transition);
}

a:hover,
a:focus {
  color: var(--am-orange);
}

hr {
  color: var(--am-border);
  background-color: var(--am-border);
  height: 1px;
  border: none;
}

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

sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* ==========================================================================
6. LAYOUT / STRUCTURE
========================================================================== */

/* Legacy HubSpot structure support */
.container-fluid .row-fluid .page-center {
  float: none;
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 25px;
  padding-right: 25px;
}

.content-wrapper {
  line-height: 1.6;
  padding-top: 40px;
  padding-bottom: 40px;
}

.row-fluid:before,
.row-fluid:after {
  display: none;
}

.main-content,
.sidebar,
.sidebar.right,
.sidebar.left {
  width: 100%;
}

.am-section {
  padding: 48px 0;
}

.am-section--light {
  background: var(--am-light-gray);
}

.am-card {
  background: var(--am-white);
  border: 1px solid var(--am-border-light);
  border-radius: var(--am-radius);
}

.main-content {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* ==========================================================================
7. HEADER / NAVIGATION
========================================================================== */

.header-container-wrapper,
.header-container {
  width: 100%;
}

.search-bar-mobile {
  display: none;
}

.widget-span.custom-header-wrapper {
  min-height: 85px;
  background: var(--am-white);
  position: relative;
  z-index: 99;
}

.widget-span.custom-header-wrapper > div > div.row-fluid {
  align-items: center;
  background: var(--am-white);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  position: relative;
  z-index: 4;
}

.widget-span.custom-header-wrapper > div > div.row-fluid:after,
.widget-span.custom-header-wrapper > div > div.row-fluid:before {
  display: none;
}

.widget-span.logo-wrapper {
  margin: 0;
  width: auto;
}

.widget-span.logo-wrapper .custom-logo {
  padding-top: 11px;
}

.widget-span.cm-header-right {
  width: auto;
  margin: 0;
}

.widget-span.cm-header-right > div > div.row-fluid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

.widget-span.cm-header-right > div > div.row-fluid:before,
.widget-span.cm-header-right > div > div.row-fluid:after {
  display: none;
}

.widget-span.header-search-bar-wrap {
  width: auto;
  margin: 0 53px 0 0;
}

.widget-span.header-search-bar-wrap .header-serach-inner {
  display: flex;
  flex-direction: row;
  background: var(--am-white);
}

.widget-span.header-search-bar-wrap .header-serach-inner .header-nav-options__container--e252f0ed {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 10px;
  margin-top: 7px;
}

.widget-span.header-search-bar-wrap .header-serach-inner a.real-ideas .color-teal {
  color: var(--am-teal);
  font-size: 16px;
  font-family: var(--am-font-heading);
  line-height: 1.5em;
  letter-spacing: -0.6px;
  margin-right: 10px;
}

a.real-ideas span:hover,
a.real-ideas:hover span.color-teal {
  color: var(--am-orange) !important;
}

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.color-dark-blue {
  color: #08192b;
}

.color-orange {
  color: var(--am-orange);
  margin-left: -2px;
}

.header-nav-options__buttonIcon--30a35f95 {
  width: 25px;
  height: 40px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-size: 40px;
}

.widget-span.header-search-bar-wrap .header-serach-inner .header-nav-options__container--e252f0ed input[type="text"] {
  -webkit-appearance: none;
  font-size: 16px;
  font-family: var(--am-font-heading);
  line-height: 1.5em;
  letter-spacing: -0.6px;
  width: 160px;
  min-width: 160px;
  border: 1px solid var(--am-white);
  flex: initial;
  height: 40px;
  padding-left: 0;
  font-weight: 400;
  color: var(--am-text);
  background-color: var(--am-white);
  display: block;
  margin: 0;
  box-shadow: none;
  border-radius: 0;
  padding-top: 0;
  padding-bottom: 0;
  transition: all 1s;
}

.header-nav-options__searchInputSite--00a986e9 {
  width: 92px !important;
  min-width: 92px !important;
}

.widget-span.header-search-bar-wrap .header-serach-inner .header-nav-options__container--e252f0ed input[type="text"]:hover,
.header-nav-options__searchInputSite--00a986e9:hover {
  width: 200px !important;
  min-width: 200px !important;
  border: 1px solid var(--am-border);
  border-right: 0 solid var(--am-white);
  padding-left: 10px;
}

.header-nav-options__searchButton--b43fbfd3 {
  border: 1px solid var(--am-text-muted);
  width: 55px;
  height: 40px;
  font-size: 25px !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--am-text-muted) !important;
  border-right: 0 solid var(--am-white);
  margin-left: -2px;
  transform: scale(-1, 1);
  letter-spacing: inherit;
  background: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  font: inherit;
}

.site-serach-wrap .header-nav-options__searchButton--b43fbfd3 {
  position: relative;
  left: -2px;
}

.widget-span.custom-menu-primary {
  right: -374px;
  box-shadow: 0px 8px 10px -5px rgba(0,0,0,0.2), 0px 16px 24px 2px rgba(0,0,0,0.14);
  width: 350px;
  background-color: var(--am-white);
  height: 100vh;
  padding: 84px 30px 40px;
  position: fixed;
  top: 0;
  transition: right 0.5s;
  z-index: 9;
  transform: translate3d(0, 0, 0);
  margin: 0;
  overflow: hidden;
  overflow-y: auto;
}

.mobile-open .widget-span.custom-menu-primary {
  right: 0;
}

.widget-span.custom-menu-primary .hs-menu-wrapper > ul {
  padding-top: 34px;
  padding-bottom: 20px;
}

.widget-span.custom-menu-primary .hs-menu-wrapper > ul li {
  border-bottom: 1px solid var(--am-text);
}

.widget-span.custom-menu-primary .hs-menu-wrapper > ul > li a {
  color: var(--am-teal);
  font-size: 20px;
  font-family: var(--am-font-heading);
  line-height: 2.25em;
  margin-right: 10px;
}

.widget-span.custom-menu-primary .hs-menu-wrapper > ul li:last-child {
  border: none;
}

.custom-menu-primary .hs-menu-wrapper > ul > li a:hover {
  color: var(--am-orange);
}

.custom-menu-primary .hs-menu-wrapper > ul ul {
  background-color: var(--am-white);
  display: none;
}

.custom-menu-primary .hs-menu-wrapper > ul li a,
.hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li a {
  overflow: visible !important;
  max-width: none !important;
  width: auto !important;
}

.mobile-trigger,
.child-trigger {
  display: none;
}

.custom-menu-primary,
.custom-menu-primary .hs-menu-wrapper > ul,
.custom-menu-primary .hs-menu-wrapper > ul li,
.custom-menu-primary .hs-menu-wrapper > ul li a {
  display: block;
  float: none;
  position: static;
  top: auto;
  right: auto;
  left: auto;
  bottom: auto;
  padding: 0;
  margin: 0;
  background-image: none;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  max-width: none;
  width: 100%;
  height: auto;
  line-height: 1;
  font-weight: normal;
  text-decoration: none;
  text-indent: 0;
  text-align: left;
  color: var(--am-white);
}

.mobile-trigger {
  display: inline-block !important;
  position: absolute;
  top: 7px;
  right: 0;
  z-index: 99;
  background-color: #08192b;
  width: 55px;
  height: 40px;
  border-radius: 0;
  cursor: pointer;
  transition-duration: .15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
}

.mobile-open .mobile-trigger {
  color: var(--am-white);
  background-color: #08192b;
  border-color: transparent;
}

.mobile-trigger:hover {
  background-color: var(--am-orange);
  opacity: 1;
}

.custom-menu-primary .mobile-trigger:before {
  content: "Menu";
  top: 41px;
  left: 4px;
  position: relative;
  text-transform: uppercase;
  font-family: var(--am-font-body-bold);
  line-height: 1.11em;
  font-size: 16px;
  font-weight: bold;
  color: var(--am-text);
}

.mobile-open {
  overflow: hidden;
}

/* ==========================================================================
   HEADER SPACING, SEARCHES + MENU BUTTON
========================================================================== */

/* Header spacing */
.widget-span.custom-header-wrapper {
  padding-top: 22px;
  padding-bottom: 22px;
  min-height: 96px;
}

/* Header search wrapper */
.am-header-searches {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  margin-left: auto;
  margin-right: 70px;
}

/* Search forms */
.am-header-searches form {
  display: flex;
  align-items: stretch;
  margin: 0;
}

/* Search inputs */
.am-header-searches input[type="text"] {
  width: 185px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid #cfd6dc;
  border-right: 0;
  background: #ffffff;
  font-size: 14px;
  line-height: 44px;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

/* Search buttons */
.header-search-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #cfd6dc;
  background: #ffffff;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  cursor: pointer;
}

.header-search-icon {
  width: 15px;
  height: 15px;
  display: block;
}

/* ==========================================================================
   BLOG-ONLY HEADER OVERRIDES
========================================================================== */

.blog .mobile-trigger,
.hs-blog-post .mobile-trigger,
.hs-blog-listing .mobile-trigger {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Remove MENU text on blog only */
.blog .mobile-trigger:before,
.hs-blog-post .mobile-trigger:before,
.hs-blog-listing .mobile-trigger:before {
  display: none !important;
  content: none !important;
}

/* Add white hamburger lines on blog only */
.blog .mobile-trigger:after,
.hs-blog-post .mobile-trigger:after,
.hs-blog-listing .mobile-trigger:after {
  content: "";
  display: block;
  width: 34px;
  height: 22px;
  margin: 9px auto 0;
  background:
    linear-gradient(#ffffff, #ffffff) 0 0 / 34px 4px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 9px / 34px 4px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 18px / 34px 4px no-repeat;
}



/* ==========================================================================
   BLOG HEADER SEARCH SPACING + FIXED SEARCH WIDTHS
========================================================================== */

/* More breathing room above search fields */
.hs-blog-post .widget-span.custom-header-wrapper,
.hs-blog-listing .widget-span.custom-header-wrapper,
.blog .widget-span.custom-header-wrapper {
  padding-top: 18px;
  padding-bottom: 18px;
  min-height: 100px;
}

/* Align search row vertically */
.hs-blog-post .header-serach-inner,
.hs-blog-listing .header-serach-inner,
.blog .header-serach-inner {
  align-items: center;
}

/* Keep search fields open/fixed width */
.hs-blog-post .header-nav-options__searchInputSite--00a986e9,
.hs-blog-post .widget-span.header-search-bar-wrap input[type="text"],
.hs-blog-listing .header-nav-options__searchInputSite--00a986e9,
.hs-blog-listing .widget-span.header-search-bar-wrap input[type="text"],
.blog .header-nav-options__searchInputSite--00a986e9,
.blog .widget-span.header-search-bar-wrap input[type="text"] {
  width: 185px !important;
  min-width: 185px !important;
  transition: none !important;
}

/* Disable hover expansion behavior */
.hs-blog-post .widget-span.header-search-bar-wrap 
.header-serach-inner 
.header-nav-options__container--e252f0ed 
input[type="text"]:hover,

.hs-blog-listing .widget-span.header-search-bar-wrap 
.header-serach-inner 
.header-nav-options__container--e252f0ed 
input[type="text"]:hover,

.blog .widget-span.header-search-bar-wrap 
.header-serach-inner 
.header-nav-options__container--e252f0ed 
input[type="text"]:hover {
  width: 185px !important;
  min-width: 185px !important;
  padding-left: 14px !important;
  border: 1px solid #cfd6dc !important;
  border-right: 0 !important;
}


/* ==========================================================================
   LANDING PAGE HAMBURGER OVERRIDES
========================================================================== */

.custom-header-wrapper.lp .mobile-trigger {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  background-color: #08192b;
}

/* Hide MENU text */
.custom-header-wrapper.lp .mobile-trigger:before {
  display: none !important;
  content: none !important;
}

/* Show hamburger lines */
.custom-header-wrapper.lp .mobile-trigger:after {
  content: "";
  display: block;
  width: 34px;
  height: 22px;
  margin: 9px auto 0;
  background:
    linear-gradient(#ffffff, #ffffff) 0 0 / 34px 4px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 9px / 34px 4px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 18px / 34px 4px no-repeat;
}

/* ==========================================================================
   STORMWATER HEADER MENU FIX
========================================================================== */

/* Keep the menu module visible so the hamburger can show */
body.stormwater-blog-listing-page .widget-span.custom-menu-primary {
  position: relative !important;
  width: 55px !important;
  height: 40px !important;
  right: auto !important;
  top: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 9999 !important;
}

/* Move only the menu panel off canvas */
body.stormwater-blog-listing-page .custom-menu-primary .hs-menu-wrapper {
  position: fixed !important;
  top: 0 !important;
  right: -374px !important;
  width: 350px !important;
  height: 100vh !important;
  background: #ffffff !important;
  padding: 84px 30px 40px !important;
  overflow-y: auto !important;
  box-shadow: 0px 8px 10px -5px rgba(0,0,0,0.2),
              0px 16px 24px 2px rgba(0,0,0,0.14) !important;
  transition: right 0.5s ease;
  z-index: 9998 !important;
}

/* Open state */
body.stormwater-blog-listing-page.mobile-open .custom-menu-primary .hs-menu-wrapper,
body.mobile-open .custom-menu-primary .hs-menu-wrapper {
  right: 0 !important;
}

/* Hamburger button */
body.stormwater-blog-listing-page .mobile-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  width: 55px !important;
  height: 40px !important;
  background: #08192b !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 10000 !important;
  cursor: pointer;
}

/* Hide text label */
body.stormwater-blog-listing-page .mobile-trigger:before {
  display: none !important;
  content: none !important;
}

/* Draw hamburger lines */
body.stormwater-blog-listing-page .mobile-trigger:after {
  content: "" !important;
  display: block !important;
  width: 34px !important;
  height: 22px !important;
  margin: 0 !important;
  background:
    linear-gradient(#ffffff, #ffffff) 0 0 / 34px 4px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 9px / 34px 4px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 18px / 34px 4px no-repeat !important;
}

/* Keep actual menu links normal */
body.stormwater-blog-listing-page .custom-menu-primary .hs-menu-wrapper a {
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
}


/* ==========================================================================
8. HERO / BANNER
========================================================================== */

.hs-banner-area {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: relative;
  padding: 90px 0;
  min-height: 360px;
  background-color: var(--am-white);
}

.hs-banner-area:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(rgba(0,0,0,0), rgba(0,37,84,0));
}

.hs-banner-area .page-center {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  z-index: 2;
  position: relative;
  padding-right: 25px;
  padding-left: 25px;
  min-height: 180px;
}

.hs-banner-area .page-center .inner-wrapper {
  align-self: flex-end;
  letter-spacing: 3px;
  margin-right: 20px;
  padding-bottom: 25px;
}

.hs-banner-area .page-center .inner-wrapper h1 {
  padding-bottom: 10px;
  margin: 0;
  font-size: 24px;
  font-family: var(--am-font-body);
  color: #A0E9FF;
  line-height: 1em;
  font-weight: 500;
  text-transform: uppercase;
}

.hs-banner-area .page-center .inner-wrapper p {
  font-family: var(--am-font-heading);
  color: var(--am-white);
  line-height: 1.06em;
  font-weight: 400;
  font-size: 55px;
  margin: 0;
  padding: 0;
}


/* ==========================================================================
9. CONTENT SECTIONS
========================================================================== */

.body-container-wrapper,
.body-container {
  width: 100%;
}


/* ==========================================================================
10. FORMS
========================================================================== */

.hs-form-field {
  margin-bottom: 16px;
}

label,
.hs-form-field > label {
  font-family: var(--am-font-heading);
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--am-text-dark);
}

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"],
input[type="file"],
textarea,
select {
  width: 100%;
  background-color: var(--am-white);
  border: 1px solid var(--am-border-light);
  box-shadow: none;
  transition: border linear 0.2s, box-shadow linear 0.2s;
  padding: 12px;
  font-size: 14px;
  line-height: 20px;
  color: var(--am-text);
  display: block;
  margin-bottom: 10px;
  vertical-align: middle;
  border-radius: var(--am-radius);
  max-width: 767px;
  font-family: var(--am-font-body);
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
input[type="file"]:focus,
textarea:focus,
select:focus {
  border-color: var(--am-teal);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(34,159,189,0.15);
}

form.hs-form .hs-form-field ul.inputs-list {
  list-style: none;
  padding: 0;
}

form.hs-form fieldset {
  max-width: none;
}

form.hs-form fieldset .hs-form-field {
  padding: 0 10px 0 0;
}

form.hs-form fieldset[class*="form-columns"] .input {
  margin-right: 0;
}

form.hs-form fieldset[class*="form-columns"] .hs-input {
  width: 100%;
}

form.hs-form fieldset[class*="form-columns"] .hs-input[type="checkbox"] {
  width: auto;
}

form.hs-form fieldset.form-columns-3 .hs-form-field {
  width: 33.33%;
}

.hs-form .hs-submit {
  margin-top: 16px;
  clear: both;
  display: block;
}

ul.hs-error-msgs.inputs-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

ul.hs-error-msgs.inputs-list label {
  color: #b42318;
  padding: 10px 0;
  display: block;
}

.form-wrapper {
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}

.form-wrapper .hs_cos_wrapper,
.form-wrapper .hbspt-form,
.form-wrapper form.hs-form {
  display: inline-block;
  width: 100%;
  max-width: 580px;
  text-align: left;
}

.form-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
}

.form-wrapper > div,
.form-wrapper .hs_cos_wrapper,
.form-wrapper .hs-form,
.form-wrapper form {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

.aum-form h3 {
  font-size: 32px;
  letter-spacing: .05em;
  color: var(--am-teal);
}

.aum-form {
  margin-top: 20px;
}

/* ==========================================================================
11. BUTTONS
========================================================================== */

.hs-button.primary,
input[type="submit"],
input[type="button"] {
  display: inline-block;
  padding: 12px 28px;
  margin: 10px 0;
  font-size: 14px;
  line-height: 1.2;
  color: var(--am-white);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  background-color: var(--am-orange);
  background-image: none;
  border: none;
  border-radius: 0;
  text-shadow: none;
  box-shadow: none;
  font-family: var(--am-font-heading);
  text-transform: none;
  letter-spacing: 0.02em;
  transition: background-color var(--am-transition), transform var(--am-transition);
}

.hs-button.primary:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.hs-button.primary:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
  text-decoration: none;
  background-color: #df7415;
  color: var(--am-white);
  transform: translateY(-1px);
}


/* ==========================================================================
12. FOOTER
========================================================================== */

.footer-container-wrapper,
.footer-container {
  width: 100%;
}

.widget-span.custom-footer-wrapper {
  margin-top: 30px;
}

.widget-span.custom-footer-wrapper .page-center {
  padding-left: 0;
  padding-right: 0;
}

.widget-span.custom-footer-wrapper .page-center > div > div.row-fluid {
  display: flex;
}

.widget-span.footer-menu-wrap {
  width: 66.66667%;
  float: left;
  margin: 0;
}

.widget-span.footer-social-wrap {
  width: 33.33333%;
  margin: 0;
  float: left;
}

.widget-span.footer-menu-wrap-inner {
  padding-bottom: 23.33333px;
}

.widget-span.footer-menu-wrap-inner > div > div.row-fluid {
  display: flex;
  justify-content: center;
  padding-left: 25px;
}

.widget-span.copyright p {
  margin: 0;
  font-size: 14px;
  font-family: var(--am-font-body);
  color: var(--am-text-muted);
  text-align: left;
}

.widget-span.footer-nav ul {
  margin: 0;
  padding: 0;
  display: block;
}

.widget-span.footer-nav .hs-menu-wrapper ul li {
  display: inline-block;
  border-left: 1px solid var(--am-text-muted);
  padding-left: 8px;
  padding-right: 8px;
}

.widget-span.footer-nav .hs-menu-wrapper ul li:first-child {
  border-left: none;
  padding-left: 0;
}

.widget-span.footer-nav .hs-menu-wrapper ul li a {
  color: var(--am-text-muted);
  font-size: 16px;
  font-family: var(--am-font-heading);
  line-height: 1.5em;
  letter-spacing: -0.6px;
}

.footer-social-inner {
  display: flex;
  justify-content: flex-end;
  padding-right: 25px;
}

.footer__footerIconGroup--4e50d835 {
  padding-left: 10px;
  font-size: 27px;
  color: var(--am-text-muted);
}

.icon-button-group__iconButton--dfc41921 {
  float: left;
  padding-left: 10px;
}

.icon-button-group__iconButton--dfc41921:first-child {
  padding-left: 0;
}

.footer-social-inner a:hover {
  color: var(--am-orange);
}


/* ==========================================================================
13. UTILITIES
========================================================================== */

.u-display-none {
  display: none;
}

.text-center {
  text-align: center;
}


/* ==========================================================================
14. EVENT-SPECIFIC STYLES
========================================================================== */

.am-event-form {
  padding-top: 60px;
}

.am-event-form .hs-form {
  font-family: var(--am-font-heading);
}

.am-event-form .hs-form label {
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--am-text-dark);
}

.am-event-form .hs-form input,
.am-event-form .hs-form select,
.am-event-form .hs-form textarea {
  border: 1px solid var(--am-border-light);
  border-radius: var(--am-radius);
  padding: 10px 12px;
}

.am-event-form .hs-form .hs-submit {
  clear: both;
  display: block;
  margin-top: 20px;
}

.am-event-form .hs-form input[type="submit"],
.am-event-form .hs-form button[type="submit"],
.am-event-form .hs-form .hs-button,
.am-event-form .hs-form .hs-button.primary {
  background-color: var(--am-orange);
  background-image: none;
  color: var(--am-white);
  border: none;
  border-radius: 0;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: none;
  text-shadow: none;
  box-shadow: none;
  cursor: pointer;
  margin-top: 16px;
}

.am-event-form .hs-form input[type="submit"]:hover,
.am-event-form .hs-form button[type="submit"]:hover,
.am-event-form .hs-form .hs-button:hover,
.am-event-form .hs-form .hs-button.primary:hover {
  background-color: #df7415;
}

@media (min-width: 900px) {
  .widget-type-widget_container.am-event-form .hs-form {
    max-width: 420px !important;
  }
}


/* ==========================================================================
15. BLOG
========================================================================== */
.blog-post-wrapper h1 {
  font-size: 30px;
  letter-spacing: 0.08em;
  line-height: 1.5em;
}

.blog-post-wrapper h3 {
    font-size: 16px;
    color: var(--am-teal);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2pt;
  margin-top: 38px;
}

.blog-post-wrapper .post-body p {
  margin-bottom: 1.5em;
}

/* Blog listing spacing */
.blog-listing-wrapper {
  padding-top: 10px;
}

.blog-listing-wrapper .post-listing .post-item {
  border-bottom: 1px solid var(--am-border-light);
  padding: 0 0 56px;
  margin: 0 0 56px;
  clear: both;
}

.blog-listing-wrapper .post-listing .post-item + .post-item {
  padding-top: 20px;
}

.blog-listing-wrapper .post-listing .post-item:after {
  content: "";
  display: block;
  clear: both;
}

/* Blog listing titles */
.blog-listing-wrapper .post-header h2 {
  margin-top: 0;
  line-height: 1.25;
}

.blog-listing-wrapper .post-header h2 a {
  color: var(--am-teal);
  text-decoration: none;
  border: none;
}

.blog-listing-wrapper .post-header h2 a:hover,
.blog-listing-wrapper .post-header h2 a:focus {
  color: var(--am-orange);
}

/* Meta / author / date */
.blog-listing-wrapper .post-header p,
.blog-listing-wrapper .post-meta,
.blog-listing-wrapper .post-details {
  margin-bottom: 16px;
  line-height: 1.5;
}

/* Featured image */
.hs-featured-image-wrapper {
  overflow: hidden;
}

.hs-featured-image-wrapper .hs-featured-image-link img.hs-featured-image {
  border-width: 0;
  max-width: 250px;
  max-height: 190px;
  width: auto;
  height: auto;
  display: inline-block !important;
  float: right;
  margin: 4px 0 26px 32px;
}

/* Body copy */
.blog-listing-wrapper .post-body,
.blog-post-wrapper .post-body {
  font-family: var(--am-font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--am-text);
}

/* Read more */
a.more-link {
  display: inline-block;
  padding-top: 14px;
  font-family: var(--am-font-body);
  color: var(--am-teal);
}

a.more-link:hover,
a.more-link:focus {
  color: var(--am-orange);
}

/* Topics */
#hubspot-topic_data {
  color: var(--am-text-muted);
  font-weight: 400;
  margin-top: 10px;
  line-height: 1.5;
}

#hubspot-topic_data a.topic-link {
  color: var(--am-teal);
  text-decoration: none;
}

#hubspot-topic_data a.topic-link:hover,
#hubspot-topic_data a.topic-link:focus {
  color: var(--am-orange);
}

/* Social share */
.hs-blog-social-share {
  border-top: 1px solid var(--am-border-light);
  border-bottom: 1px solid var(--am-border-light);
  margin-top: 24px;
  padding: 16px 0 10px;
}

/* Blog post page */
.blog-post-wrapper h1 {
  margin-bottom: 18px;
}

.blog-post-wrapper h2 {
  margin-bottom: 14px;
}


/* ==========================================================================
   BLOG POST HEADER / AUTHOR
========================================================================== */

/* Smaller author image */
#hubspot-author_data .hs-author-avatar {
  max-width: 100px;
  padding: 6px 0 0 0;
  margin-bottom: 10px;
}

#hubspot-author_data .hs-author-avatar img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  display: block;
  float: none;
  margin-right: 0;
  border-radius: 50%;
}

/* Author profile */
.hs-blog-listing .hs-author-profile {
  border-bottom: 1px solid var(--am-border-light);
  padding: 0 0 28px;
  margin: 0 0 36px;
}

.hs-blog-post .hs-author-profile {
  border-top: 1px solid var(--am-border-light);
  border-bottom: 1px solid var(--am-border-light);
  padding: 28px 0;
  margin: 40px 0;
}

.hs-author-profile:after {
  content: "";
  display: block;
  clear: both;
}

/* Clean author block spacing */
#hubspot-author_data {
  margin-bottom: 24px;
}

#hubspot-author_data:after {
  content: "";
  display: block;
  clear: both;
}
}

.hs-author-profile .hs-author-bio {
  overflow: hidden;
}

.hs-author-profile h2.hs-author-name {
  margin: 0 0 10px;
}


/* ==========================================================================
   SOCIAL SHARE AREA
========================================================================== */

.am-blog-share-table {
  width: 100%;
  border-top: 1px solid var(--am-border-light);
  border-bottom: 1px solid var(--am-border-light);
  margin: 24px 0 18px;
  border-collapse: collapse;
  clear: both;
}

.am-blog-share-cell {
  padding: 12px 0 7px;
  vertical-align: middle;
  line-height: 1;
}

.am-blog-share-cell .hs-blog-social-share {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.am-share-clear {
  clear: both;
  display: block;
  height: 0;
  line-height: 0;
  font-size: 0;
}

.blog-post-wrapper .post-body {
  clear: both;
  display: block;
}
}
/* ==========================================================================
   BLOG BODY SPACING
========================================================================== */

.blog-post-wrapper .post-body p:first-child {
  margin-top: 0;
}

.blog-post-wrapper .post-body p {
  margin-bottom: 1.5em;
}


/* ==========================================================================
   MOBILE
========================================================================== */

@media (max-width: 767px) {

  #hubspot-author_data .hs-author-avatar {
    max-width: 110px;
  }

  #hubspot-author_data .hs-author-avatar img {
    width: 110px;
    height: 110px;
  }

  .hs-blog-social-share {
    margin-bottom: 28px;
    padding: 12px 0;
  }
}

/* Comments */
#comments-listing {
  border-bottom: 1px solid var(--am-border-light);
  margin: 40px 0;
}

.comment {
  margin: 14px 0;
  border-top: 1px solid var(--am-border-light);
  padding: 20px 0;
}

.comment-date {
  font-size: 13px;
  text-align: right;
}

.comment-from {
  font-family: var(--am-font-body-bold);
  font-weight: 700;
}

.comment-body {
  padding: 10px 0;
}

#comment-form {
  border: 1px solid var(--am-border-light);
  padding: 24px;
  margin-top: 30px;
  margin-bottom: 30px;
  max-width: 600px;
}

/* Sidebar */
.blog .blog-sidebar .widget-span {
  margin-bottom: 28px;
}

.blog .blog-sidebar .widget-span p {
  font-size: 15px;
}

.blog .blog-sidebar .widget-span h2 {
  margin-top: 20px;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .05em;
  color: var(--am-orange);
}

.blog .blog-sidebar ul li {
  padding: 0 0 12px;
}

/* Pagination */
.blog-pagination {
  padding-top: 10px;
}

.blog-pagination a {
  display: inline-block;
}

/* ==========================================================================
   STORMWATER BLOG LISTING PAGE
========================================================================== */

.stormwater-blog-listing-page {
  background: #ffffff;
  color: var(--am-text);
  font-family: var(--am-font-body);
  overflow-x: hidden;
}

.stormwater-content-wrapper,
.stormwater-main-content {
  padding-top: 0;
}

.stormwater-main-content {
  padding-bottom: 60px;
}

/* Header */
.stormwater-blog-header-section {
  padding: 60px 20px 30px;
}

.stormwater-blog-header-wrapper {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

body.stormwater-blog-listing-page .stormwater-blog-title {
  font-family: var(--am-font-heading) !important;
  font-size: 52px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.05 !important;
  text-transform: none !important;
  color: var(--am-text-dark) !important;
  margin: 0 0 20px !important;
}

body.stormwater-blog-listing-page .stormwater-blog-description {
  max-width: 680px;
  margin: 0 auto !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--am-text-muted) !important;
}

/* Listing */
.stormwater-blog-listing-section {
  padding: 30px 0 0;
}

.stormwater-blog-listing-wrapper {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 32px 80px;
  box-sizing: border-box;
}

.row-fluid-wrapper.row-depth-1.row-number-4.dnd-section.main-row-1-padding {
  padding-left: 32px;
  padding-right: 32px;
}

/* Cards */
.stormwater-blog-listing-page .hs-elevate-card--blog__card-wrapper {
  border: 1px solid #d9e2e8 !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.stormwater-blog-listing-page .hs-elevate-card--blog__card-wrapper:hover {
  border-color: #c4d0d8 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

/* Image / placeholder */
.stormwater-blog-listing-page .hs-elevate-card--blog__image-container {
  background: #e6e9ed !important;
  min-height: 220px;
  width: 100%;
  margin: 0 0 24px !important;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
}

.stormwater-blog-listing-page .hs-elevate-card--blog__image-container img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

/* Placeholder if empty */
.stormwater-blog-listing-page .hs-elevate-card--blog__image-container:empty::before {
  content: "";
  display: block;
  height: 220px;
}

/* Content padding */
.stormwater-blog-listing-page .hs-elevate-card--blog__content,
.stormwater-blog-listing-page .hs-elevate-card--blog__text,
.stormwater-blog-listing-page .hs-elevate-card--blog__body,
.stormwater-blog-listing-page .hs-elevate-card--blog__content-wrapper {
  padding: 0 28px 28px !important;
}

/* Typography */
.stormwater-blog-listing-wrapper h2 {
  font-family: var(--am-font-heading) !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 0 16px !important;
}

.stormwater-blog-listing-wrapper h2 a,
.stormwater-blog-listing-wrapper a {
  color: var(--am-teal) !important;
  text-decoration: none !important;
}

.stormwater-blog-listing-wrapper h2 a:hover,
.stormwater-blog-listing-wrapper a:hover {
  color: var(--am-orange) !important;
}

.stormwater-blog-listing-wrapper p {
  font-family: var(--am-font-body) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--am-text) !important;
}

/* Mobile */
@media (max-width: 767px) {  
    .row-fluid-wrapper.row-depth-1.row-number-4.dnd-section.main-row-1-padding {
    padding-left: 18px;
    padding-right: 18px;
  }

  .stormwater-blog-listing-wrapper {
    padding: 20px 18px 50px;
  }

  body.stormwater-blog-listing-page .stormwater-blog-title {
    font-size: 38px !important;
  }

  .stormwater-blog-listing-wrapper h2 {
    font-size: 26px !important;
  }
}

/* ==========================================================================
   STORMWATER BLOG DESCRIPTION LINKS
========================================================================== */

body.stormwater-blog-listing-page .stormwater-blog-description a {
  color: var(--am-teal) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

body.stormwater-blog-listing-page .stormwater-blog-description a:hover {
  color: var(--am-orange) !important;
}

/* ==========================================================================
16. RESPONSIVE
========================================================================== */

@media (min-width: 768px) {
  body {
    font-size: 17px;
  }

  .widget-span.custom-header-wrapper {
    padding-top: 10px;
  }

  .widget-span.logo-wrapper .custom-logo a img {
    max-width: 275px;
  }

  h1 {
    font-size: 52px;
  }

  .container-fluid .row-fluid .page-center {
    padding-right: 15px;
    padding-left: 15px;
  }

  .content-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media (min-width: 1024px) {
  body {
    font-size: 17px;
  }

  .widget-span.custom-header-wrapper {
    padding-right: 25px;
    padding-left: 25px;
  }

  h1 {
    font-size: 55px;
  }

  .container-fluid .row-fluid .page-center {
    padding-right: 25px;
    padding-left: 25px;
  }
}

@media (max-width: 1023px) {
  .search-bar-mobile {
    display: block;
  }

  .widget-span.custom-menu-primary {
    width: 100%;
    max-width: 100%;
    right: -100%;
  }

  .widget-span.header-search-bar-wrap {
    display: none;
  }

  .widget-span.custom-header-wrapper {
    padding-right: 15px;
    padding-left: 15px;
    padding-top: 11px;
    min-height: 85px;
  }

  .widget-span.logo-wrapper .custom-logo {
    padding-top: 16px;
  }

  .mobile-trigger {
    top: 17px;
  }

  .mobile-trigger:before {
    display: none;
  }

  .hs-banner-area {
    padding: 70px 0;
    min-height: auto;
  }

  .hs-banner-area .page-center {
    padding-right: 15px;
    padding-left: 15px;
    min-height: auto;
  }

  .hs-banner-area .page-center .inner-wrapper h1 {
    font-size: 23px;
    line-height: 23px;
  }

  .hs-banner-area .page-center .inner-wrapper p {
    font-size: 52px;
    line-height: 55px;
  }
}

@media (max-width: 767px) {
  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"],
  input[type="file"],
  textarea,
  select {
    max-width: 100%;
    width: 100%;
  }

  .container-fluid .row-fluid .page-center {
    padding-right: 10px;
    padding-left: 10px;
  }

  .widget-span.custom-footer-wrapper .page-center > div > div.row-fluid {
    display: block;
  }

  .widget-span.footer-menu-wrap-inner > div > div.row-fluid {
    display: block;
    padding: 0;
  }

  .widget-span.footer-nav {
    display: none;
  }

  .widget-span.footer-social-wrap {
    display: none;
    width: 100%;
  }

  .widget-span.footer-menu-wrap {
    width: 100%;
  }

  .widget-span.footer-menu-wrap-inner {
    padding: 0;
    padding-bottom: 13.33333px;
  }

  .widget-span.copyright p {
    text-align: center;
    font-size: 12px;
  }

  .widget-span.custom-header-wrapper {
    padding-right: 10px;
    padding-left: 10px;
  }

  .widget-span.logo-wrapper .custom-logo img {
    width: 100%;
    max-width: 200px;
    height: 100%;
  }

  .mobile-trigger {
    top: 12px;
  }

  .hs-banner-area {
    position: relative;
    background-position: 52% 50%;
  }

  .hs-banner-area .page-center {
    padding-right: 10px;
    padding-left: 10px;
  }

  .hs-banner-area .page-center .inner-wrapper {
    padding-bottom: 0;
  }

  .hs-banner-area .page-center .inner-wrapper h1 {
    font-size: 21px;
    line-height: 21px;
    padding-bottom: 9px;
  }

  .hs-banner-area .page-center .inner-wrapper p {
    font-size: 49px;
    line-height: 52px;
  }

  .widget-span.custom-menu-primary {
    padding-right: 40px;
  }

  .am-event-form {
    margin-top: 40px;
  }

  h2 {
    font-size: 24px;
  }

  h3 {
    font-size: 18px;
  }
}

@media (max-width: 479px) {
  h1 {
    font-size: 35px;
  }

  h2 {
    font-size: 24px;
  }
}