/* @import url('http://example.com/example_style.css'); */

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

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

:root {  
  --brand-gray: #D9D9D9;
  --brand-blue-50: #EFF1FE;
  --brand-blue-100: #C8C6F9;
  --brand-blue-300: #928DF3;
  --brand-blue-500: #5B54EC;
  --brand-blue-700: #1A13AF;
  --brand-blue-800: #130E83;
  --brand-blue-900: #0B0853;
  --black: #000;
  --white: #fff;
};

@font-face {
    font-family: "proxima-black";
    src: url('https://2744722.fs1.hubspotusercontent-na1.net/hubfs/2744722/fonts/359FED_2_0.ttf');
    font-weight: normal;
}

@font-face {
    font-family: "proxima-black";
    src: url('https://2744722.fs1.hubspotusercontent-na1.net/hubfs/2744722/fonts/359FED_2_0.ttf');
    font-weight: bold;
}
@font-face{
    font-family: "opensans-regular";
    src: url('https://2744722.fs1.hubspotusercontent-na1.net/hubfs/2744722/fonts/OpenSans-Regular.ttf');
    font-weight: normal;
}
@font-face{
    font-family: "opensans-regular";
    src: url('https://2744722.fs1.hubspotusercontent-na1.net/hubfs/2744722/fonts/opensans-bold.ttf');
    font-weight: 800;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
	font-family: 'opensans-regular';
  line-height: normal;
  position: relative;
  background: var(--brand-blue-700);
  color: var(--white);
  overflow-x: hidden;
}

img {
  width: 100%;
}

h1, h2, h3 {
  padding: 0;
  margin: 0;
}

p {
  margin-bottom: 0;
}

/* utilities */
.text-black {color: #000;}
.text-white {color: #fff;}
.grid { display: grid; }
.cols-2 { grid-template-columns: 1fr 1fr; }
.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.cols-3-common { grid-template-columns: 1fr 1fr 1fr; }
.cols-5 { grid-template-columns: repeat(5, 1fr); }

.bg-white {background: #fff}
.bg-black {background: #000}
.bg-blue-50 {background: var(--brand-blue-50);}
.bg-blue-100 {background: var(--brand-blue-100);}
.bg-blue-700 {background: var(--brand-blue-700);}
.bg-blue-800 {background: var(--brand-blue-800);}
.bg-blue-900 {background: var(--brand-blue-900);}

.gap-8 {gap: 8px;}
.gap-12 {gap: 12px;}
.gap-24 {gap: 24px;}
.gap-48 {gap: 48px;}
.gap-60 {gap: 60px;}

@media screen and (max-width: 768px) {
  .cols-3-common { grid-template-columns: 1fr 1fr; }
}


@media screen and (max-width: 540px) {
  .cols-3-common { grid-template-columns: 1fr; }
  .sm-gap-24 {
    gap: 24px;
  }
}


.row-gap-24 { row-gap: 24px; }

.mt-8 { margin-top: 8px; }
.mt-10 { margin-top: 10px; }
.mt-12 { margin-top: 12px; }
.mt-16 { margin-top: 16px; }
.mt-18 { margin-top: 18px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mt-48 { margin-top: 48px; }
.mb-48 { margin-bottom: 48px; }

.mb-20 { margin-bottom: 20px; }

.leading-125 {line-height: 1.25 !important;}
.font-bold { font-weight: 700;}

.text-small { font-size: 14px; }

.text-blue-700 { color: var(--brand-blue-700); }
.text-blue-800 { color: var(--brand-blue-800); }
.text-blue-900 { color: var(--brand-blue-900); }

.uppercase { text-transform: uppercase; }


.marker-blue-700 >li::marker { color: var(--brand-blue-700); }

.card-wrapper { padding: 32px 24px; }

.link {
  color: var(--brand-blue-700);
  text-decoration: underline !important;
  
  &:hover {
    color: var(--brand-blue-800);
  }
  
  &:active,
  &:focus-visible {
    color: var(--brand-blue-900);
  }
}

@media screen and (max-width: 768px) {
  .cols-2 { grid-template-columns: 1fr; }  
}

/* end utilities */

.container-fluid {
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
}

.gl-wrapper,
.header-wrapper {
  max-width: 1200px;
  width: 100% !important;
  padding: 96px 0;
  margin: 0 auto !important;
  float: none !important;
}

.header-wrapper {
  position: relative;
  max-width: 960px;
  padding-bottom: 140px;
}

.report-banner {
  display: flex;
  gap: 36px;
  padding: 36px 42px;
  border: 2px solid var(--brand-blue-700);
}

.report-banner .report-banner__image-wrapper { max-width: 267px; width: 100%; }

.report-banner__content .gl-subtitle-1 { 
  font-family: "opensans-regular"; 
  font-size: 20px; 
  font-weight: 400; 
  line-height: 1.25;
  
  strong {
    font-weight: 700;
  }
}

.number-item {
   display: grid;
   grid-row: span 2;
   grid-template-rows: subgrid;
   gap: 0;
}

.number-item--with-title {
  grid-row: span 3;
}

.number-item__digit {
  padding-bottom: 8px;
  font-size: 40px;
  font-family: 'proxima-black';
  text-transform: uppercase;
  border-bottom: 2px solid var(--brand-blue-700);
  line-height: 1;
  color: var(--brand-blue-700);
}

.gl-button,
.gl-button-white-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  padding: 16px 24px;
  font-size: 14px;
  font-family: 'proxima-black';
  color: #fff;
  background: var(--brand-blue-700);
  line-height: 1.5;
  text-transform: uppercase;
  text-decoration: none !important;
  
  &:focus {
    color: #fff;
  }
  
  &:hover {
    color: #fff;
    background-color: var(--brand-blue-800);
  }

  &:active, &:focus-visible {
    color: #fff;
    background-color: var(--brand-blue-900);
  }

  &:disabled {
    color: #fff;
    background-color: #C7C7C7;
  }
}

.gl-button-white-icon {
  min-width: 232px;
  color: #000;
  background: var(--white);
  border: 2px solid var(--white);
  
  &:focus {
    color: #000;
  }
  
  &:hover {
    color: #fff;
    background-color: var(--black);
  }

  &:active, &:focus-visible {
    color: #fff;
    background-color: var(--black);
  }

  &:disabled {
    color: #fff;
    background-color: #C7C7C7;
  }
}

.gl-button-white-icon img {
  width: 100%;
  width: 16px;
  height: 14px;
  margin-right: 10px;
}

.gl-button-white-icon:hover img,
.gl-button-white-icon:active img,
.gl-button-white-icon:focus-visible img {
  filter: invert(1);
}

.gl-button-white-icon:disabled img {
  opacity: 0.5;
}

.time { overflow: hidden; padding-left: 28px; }

.time > div > div > span {
  display: block;
}

.time > div > div > span:first-of-type {
  font-family: 'proxima-black';
  font-size: 24px;
  color: var(--brand-blue-700);
}

.time .dot {
  position: relative;
  margin-top: 10px;
  width: 20px;
  left: -10px;
  aspect-ratio: 1;
  background: var(--brand-blue-700);
  border-radius: 100%;
  
  &:after {
    content: "";
    position: absolute;
    width: 300px;
    height: 1px;
    left: -28px;
    top: 50%;
    background: var(--brand-blue-700);
  }
}

.time .last:last-of-type {
  position: relative;

  &:before {
    content: "";
    position: absolute;
    right: -4px;
    bottom: 5.7px;
    width: 8px;
    height: 8px;
    background: url("https://2744722.fs1.hubspotusercontent-na1.net/hubfs/2744722/2025/reports/cloud-modernization/arrow-blue.png");
    background-size: 8px;
    background-repeat: no-repeat;
    rotate: -90deg;
  }
}

@media only screen and (max-width: 768px) {
  .time { padding-left: 12px; }
  .time.cols-5 { 
    grid-template-columns: repeat(1, 1fr); 
  }
  .time.gap-60 { 
    gap: 0; 
  }
  .time #t-1,
  .time #t-2,
  .time #t-3,
  .time #t-4,
  .time #t-5 {
    display: flex;
    gap: 24px;
    border-left: 1px solid var(--brand-blue-700);
    padding-bottom: 32px;
  }

  .time > div > div > span { margin-top: -8px; }
  
  .time .dot::after { content: none !important; }
  .time #t-1 > div { margin-left: -10px; }

  .time .dot {
    width: 20px;
    height: 20px;
    margin-top: 0;
⁨
  }

  .time > div > div { 
    margin-left: -8px;
    width: 42px;
    display: flex;
    flex-direction: row-reverse;
  }
  
  .time p.mt-32 { margin-top: 4px; }
  .time p { width: 80%; }
  .time .last:last-of-type {  position: relative; }
  .time .last::before { content: none !important; }
  .time #t-5 { position: relative; padding-bottom: 20px; }
  .time #t-5::before {
    content: "";
    position: absolute;
    left: -4px;
    bottom: -4px;
    width: 8px;
    height: 8px;
    background: url("https://2744722.fs1.hubspotusercontent-na1.net/hubfs/2744722/2025/reports/cloud-modernization/arrow-blue.png");
    background-size: 8px;
    background-repeat: no-repeat;
    rotate: 0deg;
  }
}

.section-description { margin-bottom: 48px; }

@media only screen and (max-width: 1200px) {
  .gl-wrapper, .header-wrapper { padding-left: 24px; padding-right: 24px; }
}

@media only screen and (max-width: 540px) {
  .gl-wrapper { padding: 48px 16px; }
  .header-wrapper { 
    padding: 60px 16px 200px; 
  }
  
  .mt-48 { margin-top: 32px; }
  
  .card-wrapper { padding: 32px 16px; }
  .report-banner {padding: 24px 16px;}
  .numbers-list { grid-template-columns: 1fr; }
  .gl-button { max-width: 100%; width: 100%; }
}

/* ALL HEADINGS */

.gl-heading-1,
.gl-heading-2,
.gl-heading-3,
.gl-subtitle-1,
.gl-subtitle-2 {
  margin: 0;
  font-family: 'proxima-black', sans-serif;
  line-height: 1;
}

.gl-heading-1,
.gl-heading-2,
.gl-heading-3,
.gl-subtitle-2 {
  text-transform: uppercase;
}

.gl-heading-1 { font-size: 88px; }

.gl-heading-2 { font-size: 44px; margin-bottom: 32px; }
.gl-heading-3 { font-size: 32px; }

.gl-subtitle-1 { font-size: 24px; }
.gl-subtitle-2 { font-size: 14px; }

@media screen and (max-width: 1024px) {
  .gl-heading-1 { font-size: 60px; }
}

@media screen and (max-width: 540px) {
  .gl-heading-1 { font-size: 44px; }
  .gl-heading-2 { font-size: 32px; }
}

ul, ol { padding-left: 20px !important; }
ul { list-style: disc !important ; }

/* Hide technical sections */
#simple-translate { display: none !important; }

/* Buttons */
.cta-button {
  display: flex;
  align-items: center;
  justify-content: center;  
  width: 100%;
  max-width: 322px !important;
  height: 50px !important;
  margin: 0;
  padding: 0 ;
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  text-decoration: none !important;
  background: var(--brand-blue-700);  
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.cta-button:focus {
  color: var(--white);
}
.cta-button::active, 
.cta-button::focus-visible {
  color: var(--brand-blue-700);
  background: var(--brand-blue-100);
}

.cta-button::disabled {
  color: var(--white);
  background-color: #C7C7C7;
}

.cta-button:hover {
  color: var(--brand-blue-700);
  background: var(--brand-blue-100);
  box-shadow: inset 0 0 0 2em var(--brand-blue-100);
}


.icon-button { width: 232px; color: var(--white) !important; } 
.icon-button img { width: 16px !important; height: 14px; margin-right: 10px;}

.hero-button-mobile { margin-top: 36px; display: none;  }

/*  Grids  */
.grid-2-col,
.grid-3-col,
.grid-4-col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
}

.grid-3-col {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4-col {
  grid-template-columns: repeat(4, 1fr);
}

@media only screen and (max-width: 1024px) {
  .grid-2-col,
  .grid-3-col,
  .grid-4-col {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width: 540px) {
  .grid-2-col,
  .grid-3-col,
  .grid-4-col {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* Header */

.page-header {
  margin: 0;
  background-image: url(https://2744722.fs1.hubspotusercontent-na1.net/hubfs/2744722/2025/campaigns/report-2025/hero_bg_cloud_image_big.png), linear-gradient(277deg, #000 -6.97%, #1A13AF 145.29%);
  background-repeat: no-repeat;
  background-position: 100% 100%, 0 0;
  background-size: 100vw, 100%;
}

.logos {
  display: flex;
  gap: 40px;
}

.logos {
  margin: 40px 36px;
  text-transform: uppercase;
  max-width: 80%;
}

@media only screen and (max-width: 1024px) {
  .logos { margin-left: 24px; margin-right: 24px; }
}

@media only screen and (max-width: 540px) {
  .logos { margin-left: 16px; margin-right: 16px; }
}


/*  Navigation  */

.title-buttons {
 background: var(--brand-blue-50);
}

.title-buttons .gl-wrapper {
  padding-top: 0;
  padding-bottom: 0;
}

.title-buttons ul {
  padding: 46px 0 !important; 
  list-style: none !important;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
}

.title-buttons ul li {
  flex: 1;
}

@media only screen and (max-width: 768px) { 
  .title-buttons ul { flex-direction: column; } 
  .title-buttons ul li { margin-left: auto; margin-right: auto; width: 323px; }
  .report-banner { flex-direction: column-reverse; }
}

/*  Partners  */
.our-partners {
  color: var(--black);
  background: var(--white); 
}

.our-partners ul { 
  display: flex; 
  justify-content: space-between;
  align-items: center;
  gap: 48px;
  list-style: none !important; 
  padding: 0 !important; 
}
.our-partners ul img { width: 160px; }
.our-partners .gl-button { 
  margin: 48px auto 0;
  line-height: normal;
}

@media only screen and (max-width: 768px) { 
  .our-partners ul { flex-wrap: wrap; }
  .our-partners ul li { flex-basis: 45%; text-align: center; } 
}

@media only screen and (max-width: 540px) { 
  .our-partners ul { gap: 24px; }
  .our-partners ul li { flex-basis: 100%; }
  .our-partners .gl-button { margin: 32px auto 0; }
}

/* About Softserve */
.about-softserve { 
  color: var(--black);
  background: var(--brand-blue-50); 
}

.about-softserve .rich-text-content a { color: var(--black); text-decoration: underline; }

.about-softserve .about-links {   
  font-family: "opensans-regular"; 
  font-size: 16px; 
  font-weight: 800; 
  line-height: 1.25  }

/* FAQ */
.faq .plusminus {
  position: relative;
  width: 21px;
  height: 21px;
  min-width: 21px;
  min-height: 21px;
  margin-left: 12px;
  cursor: pointer;

  &:before,
  &:after {
    content: '';
    display: block;
    background-color: #7F7F7F;
    position: absolute;
    top: 50%;
    left: 0;
    transition: 0.35s;
    width: 100%;
    height: 4px;
  }

  &:before {
    transform: translatey(-50%);
  }

  &:after {
    transform: translatey(-50%) rotate(90deg);
  }
}

.faq details {
  margin-bottom: -2px;
  padding: 21px 0;
  border-top: 2px solid var(--brand-blue-300);
  border-bottom: 2px solid var(--brand-blue-300);
}

.faq details article {
  padding-top: 21px;
  opacity: 0;
}

.faq details[open] article {
  animation: fadeIn 0.75s linear forwards;
}

.faq   summary {
  position: relative;
  transition: 0.2s;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq details[open] > summary .item-heading {
  color: var(--brand-blue-700);
}

.faq details[open] > summary .plusminus :before {
  transform: translatey(-50%) rotate(-90deg);
  opacity: 0;
}

.faq details[open] > summary .plusminus:after {
  transform: translatey(-50%) rotate(0);
  background-color: var(--brand-blue-700);
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq summary .item-heading {
  display: inline;
  margin: 0 !important;
  color: #7F7F7F;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* Footer */

.copyright {
  padding: 50px 50px!important;
  color: white;
  font-size: 16px;
  background: #000;
  padding: 0 15px;
}

.copyright:before {
  content: '';
  position: absolute;
  top: -100%;
  left: -5%;
  width: 140%;
  height: 160px;
  background: black;
  z-index: -1;
}

.copyright a {
  color: #fff;
}