/* Includes */


/**
 * Globals
 *//**
 * Breakpoints
 *  
 *//**
 * Colors
 *//* Pass to CSS Vars */
:root {
  --default-color: #29484A;
  --light-color: #FFFFFF;
  --dark-color: #5C706D;
  --default-space: clamp( 1.750rem, 4.878vw, 5.000rem );
  --text-light-color: #ffffff;
}


/**
 * Fonts
 */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

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

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

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

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

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

/**
 * Reset box-sizing for all elements.
 * Remove excess height in iOS 5 devices.
 */

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

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */

[hidden],
template {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
    background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */


  a:focus {
    outline: thin dotted;
  }

  /**
  * Improve readability when focused and also mouse hovered in all browsers.
  */

  @include breakpoint( handheld ) {
    a:active,
    a:hover {
      outline: 0;
    }
  }

/* ==========================================================================
   Typography
   ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
    grid-column: 1 / -1;
    white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

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

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

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

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* ES Face */
@font-face {
  font-family: "ES Face";
  src:  url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/ESFace/ESFace-ExtraLight.woff2) format('woff2'), 
        url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/ESFace/ESFace-ExtraLight.woff) format('woff'); 
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "ES Face";
  src:  url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/ESFace/ESFace-Thin.woff2) format('woff2'), 
        url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/ESFace/ESFace-Thin.woff) format('woff'); 
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "ES Face";
  src:  url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/ESFace/ESFace-Thin.woff2) format('woff2'), 
        url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/ESFace/ESFace-Thin.woff) format('woff'); 
  font-weight: 400;
  font-style: normal;
}

/* Sharp Earth */
@font-face {
  font-family: "Sharp Earth";
  src:  url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/SharpEarth/SharpEarth-Bold.woff2) format('woff2'), 
        url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/SharpEarth/SharpEarth-Bold.woff) format('woff'); 
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Sharp Earth";
  src:  url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/SharpEarth/SharpEarth-Regular.woff2) format('woff2'), 
        url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/SharpEarth/SharpEarth-Regular.woff) format('woff'); 
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Sharp Earth";
  src:  url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/SharpEarth/SharpEarth-Light.woff2) format('woff2'), 
        url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/css/fonts/SharpEarth/SharpEarth-Light.woff) format('woff'); 
  font-weight: 300;
  font-style: normal;
}


body {
  background:#fff;
  color: #29484A;
  font-family: Sharp Earth, arial;
  margin: 0;
  padding: 0;
  /*  -webkit-font-smoothing: subpixel-antialiased;*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-optical-sizing: auto;
}


a { text-decoration: underline; }

/* No hovers on handheld */
@media ( 768px ) {
  a:focus,
  a:hover {
    outline:none;
    text-decoration: none;
  }
}

/* Focusing the button with a keyboard will show a dashed black line. */
a:focus-visible { outline: 4px solid lightcoral; }

/* Focusing the button with a mouse, touch, or stylus will show a subtle drop shadow. */
a:focus:not(:focus-visible) { outline: none; }

.sr-only { clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }


/* Arrow CTA */
.cta-arrow { 
  

  display:inline-block;
  overflow:hidden;
  text-decoration:none;

  
  
  a {
    color: #29484A;
    display:block;
    /* font-size: 1.125rem;  */
    font-size: clamp( 1.000rem, 0.976vw, 1.000rem );
    font-weight: 400;
    line-height: 1.4444444444444444em;
    margin-left:-20px;
    text-decoration:none;
    transition: margin 0.25s;
    
    &::after,
    &::before {
      content:'';
      height: 12px;
      background-size:100%;
      display:inline-block;
      width: 12px;
    }&::after, &::before { background:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/cta-arrow-default.svg); }
    &::before { margin-right:8px; }
    &::after { margin-left:8px; }
    
    &:hover {
      margin-left:0;
      margin-right:-20px;
      text-decoration:none;
    }

    /* Account for overflow hidden on parent */
    &:focus-visible { outline-offset: -4px; }
  } }
.cta-arrow-light, .text-color-light .cta-arrow { 
  

  display:inline-block;
  overflow:hidden;
  text-decoration:none;

  
    
  
  
  a {
    color: var(--text-light-color);
    display:block;
    /* font-size: 1.125rem;  */
    font-size: clamp( 1.000rem, 0.976vw, 1.000rem );
    font-weight: 400;
    line-height: 1.4444444444444444em;
    margin-left:-20px;
    text-decoration:none;
    transition: margin 0.25s;
    
    &::after,
    &::before {
      content:'';
      height: 12px;
      background-size:100%;
      display:inline-block;
      width: 12px;
    }
    &::after, &::before { background:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/cta-arrow-light.svg); }&::before { margin-right:8px; }
    &::after { margin-left:8px; }
    
    &:hover {
      margin-left:0;
      margin-right:-20px;
      text-decoration:none;
    }

    /* Account for overflow hidden on parent */
    &:focus-visible { outline-offset: -4px; }
  } }


/* Image captions / hover */
.image-link-hover, .image { 
  position:relative;
}
.image img { display:block; }
.image-link-hover { 
  cursor:none;
  display:block; 
}

/* Curtain animation */
.curtain-holder { 
  .image, .video { 
    clip-path: inset(0 0 100% 0); 
    transition: clip-path 0.9s ease-in-out;
  }

  &.active .image,
  &.active .video { clip-path: inset( 0 0 0% 0 ); }
}

/* Cursor (on image hover) */
.cursor { 
  align-items:center;
  bottom:0;
  display:grid;
  height:109px;
  left:-109px;
  justify-content:center;
  opacity:0;
  pointer-events: none;
  position: absolute;
  width:109px;
  z-index: 99;
  
  
  img {
    width: 50px;
    transition: width .2s;
  }
  
  &.active { opacity:1; }
  &.transitions { transition:opacity .2s; }
  &.scrolling { opacity:0; }
}

/* Captions */
.caption {
  font-size: 0.875rem;
  margin-top: 0.250rem;
}
@media (min-width: 576px ) {
  .caption-on-hover {
    position:relative; 

    .caption {
      bottom:-24px;
      left:0;
      font-size: 0.875rem;
      margin-top:0;
      opacity:0;
      pointer-events:none;
      position:absolute;
      transition:opacity 0.5s;
    }
    
    &:hover .caption { opacity:1 }
  }
}



/* Container */
.container {
  padding-left:clamp( 2.000rem, 8.537vw, 8.750rem );
  padding-right:clamp( 2.000rem, 8.537vw, 8.750rem );

  max-width: 1640px;
  margin: 0 auto;

}
.grid { display: grid;
  grid-template-columns: repeat( 12, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );
 }
.grid-5 { display: grid;
  grid-template-columns: repeat( 5, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );
 }

/* Spacing */
.space-top-default { padding-top: clamp( 1.750rem, 4.878vw, 5.000rem ); }
.space-top-small { padding-top: clamp( 0.750rem, 1.524vw, 1.563rem ); }
.space-top-large { padding-top: clamp( 2.625rem, 7.317vw, 7.500rem ); }

.space-bottom-default { padding-bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); }
.space-bottom-small { padding-bottom: clamp( 0.750rem, 1.524vw, 1.563rem ); }
.space-bottom-large { padding-bottom: clamp( 2.625rem, 7.317vw, 7.500rem ); }


/* Skip to content */
.c-skip-to-content-link {
  font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

  background: #ffffff;
  color:#000;
  font-weight:bold;
  left: 10px;
  padding: 8px 20px;
  position: absolute;
  text-decoration:none;
  text-transform:uppercase;
  top: 10px;
  transform: translateX(-110%);
  transition: transform 0.3s;
  z-index:90;
}

.c-skip-to-content-link:focus {
  transform: translateX(0%);
}
body #hs-banner-gpc,
body #hs-eu-cookie-confirmation { /* <= specificity */

    /* Banner width */
    --hs-banner-width: auto;

    /* Banner layout (defaults to column) */
    #hs-banner-gpc-inner { flex-flow: row-reverse; gap: 40px; }

    /* Link Color */
    #hs-eu-policy-wording a,
    #hs-banner-gpc-wording a { color:#fff !important; }

}

/* Partials */



@keyframes nav-hamburger-top {
  0% { 
    margin-top:-10px;
    transform:rotate(0deg);
  } 
  50% { 
    margin-top:0;
    transform:rotate(0deg);
    background:#fff;
  }
  100% { transform:rotate(45deg); }
}
@keyframes nav-hamburger-bottom {
  0% { 
    margin-top:10px;
    transform:rotate(0deg);
  }
  50% { 
    margin-top:0;
    background:#fff;
    transform:rotate(0deg);
  }
  100% { transform:rotate(-45deg); }
}

header {
  .container { 
    display: grid;
  grid-template-columns: repeat( 12, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );
 
    align-items:center;
    height:clamp( 3.750rem, 4.878vw, 5.000rem )
  }
  
  .logo { grid-column: 1 / -1;grid-row:1; }
  .logo span { clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }
  .logo img { display:block;height: clamp( 1.000rem, 1.220vw, 1.250rem ); }
  
  nav { 
    display:grid;
    grid-column: 7 / -1; 
    grid-row:1;
    
    .main-nav-trigger {
      display:grid;
      align-self:center;
      justify-self: end;
      box-sizing:border-box;
      height:10px;
      padding:20px 0;
      position:relative;
      text-decoration:none;
      white-space:nowrap;
      width:30px;
      z-index:2;

      &:hover { border:0; }

      @media (min-width: 992px ) { display:none; }

      .lines {
        &::before,
        .middle,
        &::after {
          background: black;
          content:'';
          height:2px;
          position:absolute;
          left:0;
          right:0;
          top:50%;
          transition:transform 0.5s, margin-top 0.5s, background-color 0.5s;
          transition-delay:0s, 0.5s, 0s;
          width:100%;
        }
        &::before { 
          margin-top:-10px;
          transform:rotate(0deg);
        }
        .middle { 
          transition: opacity 0s;
          transition-delay: 0.5s;
        }
        &::after { 
          margin-top:10px;
          transform:rotate(0deg);
        }
      }
    }

    /* Menu open */
    .h-main-nav & .main-nav-trigger .lines {
      
      &::before,
      &::after,
      & .middle {
        background:#fff;
        margin-top:0;
      }
      &::before { 
        animation-name: nav-hamburger-top;
        animation-duration: 1s;
        transform:rotate(45deg);
      }
      & .middle { opacity:0; }
      &::after { 
        animation-name: nav-hamburger-bottom;
        animation-duration: 1s;
        transform:rotate(-45deg); /* <= remain at turned */
      }
    }


    .menu-wrapper { 
      animation: nav-hamburger 1s; /* <= 2 * 0.5s */
      background:#000;
      color: var(--text-light-color);
      display:grid;
      padding:20px;
      padding-left:clamp( 2.000rem, 8.537vw, 8.750rem );
  padding-right:clamp( 2.000rem, 8.537vw, 8.750rem );

      pointer-events:none;
      position:fixed;
      inset: 0;
      overflow:scroll;
      text-align:left;
      transform:translateX(100%);
      z-index:1;

      grid-template-rows:1fr auto 1fr;

      .menu-logo { 
        span { clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }
        img { display:block;height: clamp( 1.000rem, 1.220vw, 1.250rem ) };

        @media ( min-width: 992px ) { display:none; }
      }

      .h-main-nav--transition & { transition: opacity 0.5s, transform 0.5s; }
      .h-main-nav & {
        opacity:1;
        pointer-events:auto;
        transform:translateX(0);
      }
    }
    
    ul {
      list-style-type:none;
  padding:0;
  margin:0;

  li { margin:0; }
      align-self: center;
      grid-row:2 / span 1;
      justify-content:end;
    }
    ul li { text-align:center; }
    ul a {
      color: var(--text-light-color);
      font-size: 2.875rem;
      display:inline-block;
      line-height: 1.304em;
      text-decoration:none;
      transition:color 0.25s;
    }

    @media ( min-width: 992px ) {

      .menu-wrapper {
        background:none !important;
        grid-template-rows:auto; 
        inset:auto;
        opacity:1;
        overflow:visible;
        padding:0;
        position:relative;
        pointer-events:auto;
        transform:translateX(0);
        transition:none;

        ul {
          display: flex;
          gap: 3.75rem;
          grid-row:auto; 
          justify-self: end;
        }

        ul li { 
          margin-bottom:0; 
          text-align:left;
        }
        ul a {
          color: #29484A; 
          font-size: 1.000rem; 
          padding-bottom:1px;
          position:relative;
          transition:color 0.25s;

          &:hover { 
            color:$accent;
            text-decoration:none; 
          }
          &::after {
            background: #29484A;
            bottom:0; 
            content:'';
            height:1px;
            left:0;
            position:absolute;
            transition: width 0.25s;
            width:0;
          }
        }
        ul a:hover,
        ul li.active a { 
          text-decoration:none;
          &::after { width:100%; }
        }

      }
    }
  }
}
footer {
  background:black;
  color: #FFFFFF;
  padding: clamp( 1.188rem, 2.439vw, 2.500rem ) 0;
  .grid { row-gap: clamp( 1.188rem, 2.439vw, 2.500rem ); }

  .menu-1, .menu-2 { grid-column: span 6; }
  .content, .social, .copyright { grid-column: 1 / -1; }

  @media ( min-width: 576px ) {
    .copyright, .social { grid-row:3; }
    .copyright { grid-column: 1 / span 6; }
    .social { grid-column: 7 / -1; }
  }
  
  @media ( min-width: 768px ) {
    .copyright, .social { align-self:center; }
    .menu-1 { grid-column: 1 / span 3; }
    .menu-2 { grid-column: 4 / span 3; }
    .content { grid-column: 7 / span 6; }
  }

  @media ( min-width: 1640px ) { .content { grid-column: 7 / span 4; } }




  h2 {
    font-size: 1.125rem;
    line-height: 1.667em;
    margin:0 0 0.313rem;
  }

  ul {
    list-style-type:none;
  padding:0;
  margin:0;

  li { margin:0; }

    li { 
      font-size: 1.125rem;
      line-height: 1.500em;
      margin:0 0 0.188rem;

      a {  
        text-decoration:none;
  &:focus, &:hover { text-decoration: underline; }

        color: #FFFFFF;
      }
      /* &.active a { text-decoration:underline; } */
    }
  }

  .text { margin-bottom: 0.313rem; }

  .social {
    text-align: center;
    @media ( min-width: 576px ) { text-align:end; }

    a { 
      display:inline-block;
      height: 1.250rem;
      margin-left: 1.250rem;
      width: 1.250rem;

      span { clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

      &:first-child { margin-left:0; }

      /* Preloads */
      &::before {
        position: absolute;
        width: 0;
        height: 0;
        content: '';
      }
    }
    
    .instagram { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/instagram.svg); }
    .instagram:hover { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/instagram-hover.svg) }
    .instagram::before { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/instagram-hover.svg) }
    
    .facebook { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/facebook.svg) }
    .facebook:hover { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/facebook-hover.svg) }
    .facebook::before { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/facebook-hover.svg) }
    
    .linkedin { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/linkedin.svg) }
    .linkedin:hover { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/linkedin-hover.svg) }
    .linkedin::before { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/linkedin-hover.svg) }
    
    .pinterest { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/pinterest.svg) }
    .pinterest:hover { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/pinterest-hover.svg) }
    .pinterest::before { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/pinterest-hover.svg) }
    
    .youtube { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/youtube.svg) }
    .youtube:hover { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/youtube-hover.svg) }
    .youtube::before { background-image:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/socials/youtube-hover.svg) }
  }

  .copyright { font-size: 0.875rem; }
  .hni { font-family: ES Face, georgia; }
  .dealer-callout { 
    display:block; 
    @media ( min-width: 768px ) { display:inline-block;margin-left: clamp( 0.750rem, 1.220vw, 1.250rem ); }
  }

  /* CTA Arrow - only 16px */
  .content .cta-arrow-light a { 
    color: #FFFFFF;
    font-size: 1rem; 
  }
}


.news-page {

    /* Default blog post text */
    .hs_cos_wrapper_type_rich_text {
        display:block;
        padding-bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); /* <= bottom space default */
        
        & > *:not(.hs_cos_wrapper_type_module, .hs-module) { 
            margin:0 auto;
            max-width:1040px;
            box-sizing: content-box;
            padding-left:clamp( 2.000rem, 8.537vw, 8.750rem );
  padding-right:clamp( 2.000rem, 8.537vw, 8.750rem );

            ul&, ol& {
    /* margin-left:0; */
    margin-bottom:clamp( 0.938rem, 1.829vw, 1.875rem );
    @media (min-width: 1640px ) { margin-left:auto;margin-right:auto; }

    li {
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

        line-height:1.5em;
        margin-left:16px;

        /* &::marker { color: #CAC8B8; } */
    }
  }
  ul& {
      
      li {
        padding-left:0;
        text-indent:0;
      }
      /* li::before {
          content: "//"; /* Insert content that looks like bullets /
          padding-right: 8px;
          color: $accent; /* Or a color you prefer *
      } */
  }

  blockquote& { 
    font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

    p { padding-left: 2em; }
  }
  
  h1& {
      font-family: ES Face, georgia;
  font-size: clamp( 1.313rem, 3.659vw, 3.750rem );
  font-weight: 200;
  line-height: 1.067em;

      margin-top:0;
      margin-bottom:clamp( 0.938rem, 1.829vw, 1.875rem );
  }
  h2&,
  h3&,
  h4&,
  h5&,
  h6& {
      font-family: ES Face, georgia;
      font-weight: 300;
      line-height:1.187em;
      margin-top: 0;
      margin-bottom: clamp( 0.938rem, 1.829vw, 1.875rem );
  }
  h2& { font-size: clamp( 1.125rem, 1.951vw, 2.000rem ); }
  h3& { font-size: clamp( 0.875rem, 1.707vw, 1.750rem ); }
  h4& { font-size: clamp( 0.875rem, 1.585vw, 1.625rem ); }
  h5& { font-size: clamp( 0.875rem, 1.341vw, 1.375rem ); }
  h6& { font-size: clamp( 0.750rem, 1.098vw, 1.125rem ); }

  p& { 
      font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
;
      margin-bottom: 1.182em; 
  }
  p&:last-child { margin-bottom:0; }

  a { color: #29484A }
  a:hover { text-decoration:none; }
        }
    }
}

/* Modules */


.module-bios {
    h2 { grid-column: 1 / -1; }
    .grid { row-gap: clamp( 1.750rem, 4.878vw, 5.000rem ); }
    .bio { 
        grid-column: span 6; 
        @media (min-width: 768px ) { grid-column: span 4; }
        @media (min-width: 992px ) { grid-column: span 3; }
    }
    


    h2 { font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 }

    .image { 
        position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 100.000%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
        margin-bottom:0.625rem;
    }
    h3, h4, .location { 
        font-size: clamp( 1.000rem, 1.220vw, 1.250rem );
        line-height: 1.1818181818181819em;
        margin:0;
    }
    h4, .location { font-weight: 300; }


    .text { font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 }
    a { 
        color: #29484A; 
        text-decoration:none;
    }
}


.module-featured-projects {

    h2, .cta-holder { grid-column: 1 / -1; }
    .project:nth-of-type(3) { display:none; }

    .project { 
        grid-column: span 6;
        
        @media (min-width: 768px ) { 
            grid-column: span 4; 
            
            &:nth-of-type(3) { display:block; }
        }
    }


    h2 {
        font-size: clamp( 1.188rem, 2.134vw, 2.188rem );
        font-weight: 700;
        line-height: 1.1428571428571428em;
        margin: 0 0 clamp( 0.938rem, 1.829vw, 1.875rem );
    }

    .project {
        color: #29484A;
        text-decoration:none;

        .image { 
            position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 78.000%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
            margin-bottom: clamp( 0.750rem, 1.220vw, 1.250rem );

            img { 
                display:block;
                width:100%; 
            }
        }
        h4 {
            font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
            font-weight: 700;
            margin: 0;

            .location { 
                display:inline;
                font-weight:300; 
                margin-left:4px;
            }
        }
    }

    .cta-holder { margin-top: clamp( 0.938rem, 1.829vw, 1.875rem ); }

}


.module-form {

    .content { grid-column: 1 / -1; }
    .image-holder { display:none; }

    @media (min-width: 768px ) {
        .content { grid-column: 1 / span 6; }
        .image-holder { 
            display:block;
            grid-column: 7 / -1; 
        }
    }


    h2 { 
        font-family: ES Face, georgia;
  font-size: clamp( 1.313rem, 3.659vw, 3.750rem );
  font-weight: 200;
  line-height: 1.067em;
 
        margin:0 0 1.250rem
    }
    .text { 
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
;
        margin-bottom: 1.875rem;
    }
    .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 135.938%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }

    a { color: #29484A; }
    a:hover { text-decoration:none; }
    p { margin-bottom:1em; }
    p:last-child { margin-bottom:0; }


    /* Default form overrides */
    .form { font-family: Sharp Earth, arial }

    /* Form padding around */
    [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content { padding:0; }

    /* Labels */
    [data-hsfc-id=Renderer] .hsfc-FieldLabel { display:none; }


    /* Field styles */
    [data-hsfc-id=Renderer] .hsfc-TextInput,
    /* Textarea field styles */
    [data-hsfc-id=Renderer] .hsfc-TextareaInput {
        background:none; 
        border-color: #CAC8B8;
        border-radius:0; 
        color: #29484A;
        font-family: Sharp Earth, arial;
        font-size: clamp( 0.875rem, 1.098vw, 1.125rem );
        font-weight: 300;
        padding: 11px 20px 9px;
    }

    /* Just textareas */
    [data-hsfc-id=Renderer] textarea.hsfc-TextareaInput {
        height:12em;
    }

    /* Phone code box */
    [data-hsfc-id=Renderer] .hsfc-PhoneInput__FlagAndCaret,
    [data-hsfc-id=Renderer] .hsfc-PhoneInput:not(.hsfc-PhoneInput--rtl) .hsfc-PhoneInput__FlagAndCaret {
        background:none;
        border-color: #CAC8B8;
        border-radius:0;
    }

    /* Placeholder */
    [data-hsfc-id=Renderer] input::placeholder, [data-hsfc-id=Renderer] textarea::placeholder { color: #29484A; }

    /* Dropdown box */
    [data-hsfc-id=Renderer] .hsfc-DropdownOptions,
    /* Dropdown option list item */
    [data-hsfc-id=Renderer] .hsfc-DropdownOptions__List__ListItem {
        background:#ffffff;
        border-color: #CAC8B8;
        /* border-radius:0; */
    }

    /* Just dropdown box */
    [data-hsfc-id=Renderer] .hsfc-DropdownOptions {
        box-shadow: 0 0 4px #CAC8B8;
    }


    /* Rich text areas */
    [data-hsfc-id=Renderer] .hsfc-RichText,
    
    /* File Input */
    [data-hsfc-id=Renderer] .hsfc-FileInput {
        color: #29484A;
        font-family: Sharp Earth, arial;
        font-size: 0.875rem;
        font-weight: 300;
        line-height: 1.182em;

        p { margin:0 0 1.2em }
        p:last-child { margin-bottom:0; }
    }


    /* Space above submit buttom */
    [data-hsfc-id=Renderer] .hsfc-NavigationRow {
        margin-top:0;
    }
    /* Submit button */ 
    [data-hsfc-id=Renderer] .hsfc-Button {
        background:none; 
        border:1px solid #CAC8B8;
        box-shadow: none;
        border-radius:0;
        color: #29484A;
        font-family: Sharp Earth, arial;
        font-size: 1.125rem;
        font-weight: 300;
        padding: 0.625rem 3.125rem;
    }
    /* Submit button hover */ 
    [data-hsfc-id=Renderer] .hsfc-Button:not([disabled]):hover,
    [data-hsfc-id=Renderer] .hsfc-Button:not([disabled]):focus {
        background:#f3f3f3;
        border:1px solid #CAC8B8;
        color: #29484A;
    }
    
}


.module-latest-news {

    h3, .cta-holder { grid-column: 1 / -1; }
    .content { display:none; }
    .article { grid-column: span 6; }
    .article:not(:first-of-type):not(:nth-of-type(2)) { display:none; }

    @media (min-width: 576px ) {
        .grid .article { 
            grid-column: span 4;
            &:nth-of-type(3) { display:block; }
        }
    }
    @media (min-width: 768px ) {
        .grid .article { 
            grid-column: span 3;
            &:nth-of-type(4) { display:block; }
        }
    }
    @media (min-width: 992px ) {
        .grid .article:nth-of-type(4) { display:none; }

        h3, .content, .cta-holder { grid-column: 1 / span 3; }
        h3 { grid-row:1; }
        .content { 
            display:block;
            grid-row:2;
        }
        .cta-holder { grid-row:3 ;}

        .article { grid-row: 1 / span 4; }
    }
    @media (min-width: 1640px ) { 
        .grid { grid-template-columns: repeat(5, 1fr); }
        h3, .content, .grid .article, .cta-holder { grid-column: span 1; }
        .grid .article:nth-of-type(4) { display:block; }
    }

    
    a { color: #29484A; }
    a:hover { text-decoration:none; }
    p { margin-bottom:1em; }
    p:last-child { margin-bottom:0; }


    h3 {
        font-size: clamp( 1.188rem, 1.951vw, 2.000rem );
        font-weight: 700;
        margin: 0 0 0.375rem;
    }
    .content {
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

        /* a { color:} */

        .cta-arrow a { font-size:clamp( 0.875rem, 0.976vw, 1.000rem ); }
    }
    .article {
        color: #29484A;
        text-decoration:none;

        .article-image .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 100.000%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  }; }
        h4 {
            font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

            margin: 0.625rem 0 0;
        }
    }
    .cta-holder { 
        margin-top: 0.625rem;

        a { 
            border-bottom:1px solid #29484A; 
            font-size: clamp( 1.000rem, 1.098vw, 1.125rem );
        }
    }
}


.module-video {
    position:relative;

    /* Top Padding BG */
    &::before {
        content: '';
        left:0;
        height: clamp( 1.750rem, 4.878vw, 5.000rem );
        position: absolute;
        right:0;
        top:0;
    }
    
    /* Colorblock */
    .colorblock { 
        position:relative; 

        &::before {
            content: '';
            inset:0 0 auto;
            position: absolute;
            height:50%;
            /* bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); */
        }
        
        .container { position:relative; }
    }

    /* layout */
    .video-holder { grid-column: 1 / -1; }

    /* Iframe sizing */
    .youtube-wrapper, .matterport-wrapper { 
        display:flex;justify-content:center;
        iframe { width:100% !important; } /* <= aspect ratio set on iframe element dynamically */
    }
    
}



.module-image--asymmetrical {
  a { color: #29484A; }
  
  .container {
    align-items:center;
    position:relative;
  }
  
  
  .image-1 { 
    grid-column: 1 / span 6;

    .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 133.269%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }

    @media (min-width: 576px ) { grid-column: 1 / span 5; }
  }
  .image-2 {
    grid-column: 7 / -1;
    grid-row:1;
    
    .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 75.000%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }
  }

  .cta-holder {
    align-self:end;
    grid-column: 1 / -1;
    margin-top: 0.625rem;
     
    /* TODO: move this to arrow_cta */
    a { 
      border-bottom: 1px solid #29484A;
      color: #29484A;
    }

    @media (min-width: 768px ) { margin-top: 2.000rem; } 
    @media (min-width: 992px ) { 
      grid-column: 7 / -1; 
      grid-row: 1;
      margin-top:0;
      margin-bottom:-5px;
      
      .cta, .cta a { padding-bottom:0; }
    }
  }
}


.module-image--asymmetrical-w-intro {
  a { color: #29484A; }
  
  .container {
    align-items:center;
    row-gap: clamp( 1.750rem, 4.878vw, 5.000rem );
    position:relative;
  }

  img { 
    display:block;
    width:100%; 
  }

  .image-1 { 
    align-self: start;
    grid-column: 1 / span 5; 
    margin-top: clamp( 2.625rem, 7.317vw, 7.500rem );
    margin-left: calc( clamp( 2.000rem, 8.537vw, 8.750rem ) * -1 );

    @media ( min-width: 576px ) { grid-column: 1 / span 4; }
    @media ( min-width: 768px ) { grid-row: 1 / span 2; }
    
    .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 133.503%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }
  }
  .image-2 {
    align-self:start;
    grid-column: 6 / -1;
    margin-right: calc( clamp( 2.000rem, 8.537vw, 8.750rem ) * -1 );
    margin-left: -0.313rem;
    
    @media ( min-width: 576px ) { margin-left:0; }
    @media ( min-width: 768px ) { grid-row: 1 / span 1; }

    .image { 
      position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 86.792%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
      @media ( min-width: 576px ) { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 75.000%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }
    }
  }

  /* captions */
  .caption { opacity:0;transition: 0.25s opacity; }
  .image-holder:hover .caption { opacity:1; }
  .image-1 .caption { margin-left:20px; }

  .content {
    grid-column: 1 / -1;
    
    .large-text {
      font-family: ES Face, georgia;
      font-size: clamp( 1.438rem, 1.951vw, 2.000rem );
      line-height: 1.125em;
      margin-bottom: 0.938rem;

      @media ( min-width: 768px ) { margin-bottom: 1.250rem; }
    }
    .small-text { font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 }


    @media ( min-width: 768px ) { 
      grid-column: 6 / -1;
      grid-row: 2 / span 1; 
    }
    @media ( min-width: 1200px ) {
      & {
        display:flex;
        gap: clamp( 1.063rem, 1.646vw, 1.688rem );

        .text { flex: 1 1 0px; }
        a:hover { text-decoration:none; }
      }
    } 
  }
}


.module-image--columns {
    a { color: #29484A; }

    /* Colorblock */
    .colorblock { 
        position:relative; 

        &::before {
            content: '';
            inset:0 0 auto;
            position: absolute;
            height:50%;
            /* bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); */
        }
        
        .container { position:relative; }
    }

    &.text-color-light { color: #FFFFFF; }
    &.padding-blog .container { 
        box-sizing:content-box;
        max-width:1040px; 
    }
    
    /* layout */
    .grid-custom {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        column-gap: 20px;
        row-gap: 20px;
        align-items: stretch;

        .image-holder,
        .curtain-holder,
        .curtain-holder a {
            display:grid;
            align-items: stretch;
        }
        .curtain-holder img {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
            margin-bottom: 20px;
        }
    }
}
.module-image--fullbleed {
  a { 
    color: #29484A; 
    text-decoration:none;
  }
  img { 
    display:block;
    width:100%; 
  }
  &.layout-default-height .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 56.250%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }
  &.layout-shorter-height .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 35.938%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  }}

  .caption { margin-left:20px }
}


.module-image--left-right {
    position:relative;

    /* Top Padding BG */
    &::before {
        content: '';
        left:0;
        height: clamp( 1.750rem, 4.878vw, 5.000rem );
        position: absolute;
        right:0;
        top:0;
    }
    
    /* Colorblock */
    .colorblock { 
        position:relative; 

        &::before {
            content: '';
            inset:0 0 auto;
            position: absolute;
            height:50%;
            /* bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); */
        }
        
        .container { position:relative; }
    }
    
    .content, .cta-holder, .image-holder { grid-column: 1 / -1; }

    @media ( min-width: 576px ) {
        &.layout--text-on-left {
            .image-holder { grid-column: 5 / span 8; }
            .content, .cta-holder { grid-column: 1 / span 8; }
        }
        &.layout--text-on-right {
            .image-holder { grid-column: 1 / span 8; }
            .content, .cta-holder { grid-column: 5 / span 8; }
        }
    } 

    @media ( min-width: 768px ) {
        &.layout--text-on-left {
            .content, .cta-holder { grid-column: 1 / span 4;grid-row:1 / span 1; }
            .image-holder { grid-column: 5 / -1;grid-row:1 / span 1; }
        }
        &.layout--text-on-right {
            .content, .cta-holder { grid-column: 9 / -1;grid-row:1 / span 1; }
            .image-holder { grid-column: 1 / span 8;grid-row:1 / span 1; }
        }
    }


    &.text-color-default { 
        a { color: #29484A }
        .cta-holder a { 
            border-bottom:1px solid #29484A; 
            color: #29484A
        }
    }
    &.text-color-light { 
        color: #FFFFFF;
        a { color: #FFFFFF }
        .cta-holder a { 
            border-bottom:1px solid #FFFFFF; 
            color: #FFFFFF;

            &::after, &::before { background:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/cta-arrow-light.svg); }
        }
    }


    .image-holder { 
        margin-bottom: clamp( 1.125rem, 1.829vw, 1.875rem );
        @media ( min-width: 768px ) { margin-bottom:0; }
    }
    .content { 
        align-content: end;
        
        .text { 
            font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

            /* margin-bottom: 0.313rem;  */
            p { margin: 0 0 1.2em; }
            p:last-child { margin-bottom:0; }
            a:hover { text-decoration:none; }

        }
    }
    .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 92.273%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }

    .cta-holder { margin-top:10px; margin-bottom:-8px; }

    /* If no module bottom margin - add bottom margin to content when left / right */
    @media (min-width: 576px ) {
        &.space-bottom-none .content { margin-bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); }
    }
}


.module-image--left-right {
    position:relative;

    /* Top Padding BG */
    &::before {
        content: '';
        left:0;
        height: clamp( 1.750rem, 4.878vw, 5.000rem );
        position: absolute;
        right:0;
        top:0;
    }
    
    /* Colorblock */
    .colorblock { 
        position:relative; 

        &::before {
            content: '';
            inset:0 0 auto;
            position: absolute;
            height:50%;
            /* bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); */
        }
        
        .container { position:relative; }
    }
    
    .content, .cta-holder, .image-holder { grid-column: 1 / -1; }

    @media ( min-width: 576px ) {
        &.layout--text-on-left {
            .image-holder { grid-column: 5 / span 8; }
            .content, .cta-holder { grid-column: 1 / span 8; }
        }
        &.layout--text-on-right {
            .image-holder { grid-column: 1 / span 8; }
            .content, .cta-holder { grid-column: 5 / span 8; }
        }
    } 

    @media ( min-width: 768px ) {
        &.layout--text-on-left {
            .content, .cta-holder { grid-column: 1 / span 4;grid-row:1 / span 1; }
            .image-holder { grid-column: 5 / -1;grid-row:1 / span 1; }
        }
        &.layout--text-on-right {
            .content, .cta-holder { grid-column: 9 / -1;grid-row:1 / span 1; }
            .image-holder { grid-column: 1 / span 8;grid-row:1 / span 1; }
        }
    }


    &.text-color-default { 
        a { color: #29484A }
        .cta-holder a { 
            border-bottom:1px solid #29484A; 
            color: #29484A
        }
    }
    &.text-color-light { 
        color: #FFFFFF;
        a { color: #FFFFFF }
        .cta-holder a { 
            border-bottom:1px solid #FFFFFF; 
            color: #FFFFFF;

            &::after, &::before { background:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/cta-arrow-light.svg); }
        }
    }


    .image-holder { 
        margin-bottom: clamp( 1.125rem, 1.829vw, 1.875rem );
        @media ( min-width: 768px ) { margin-bottom:0; }
    }
    .content { 
        align-content: end;
        
        .text { 
            font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

            /* margin-bottom: 0.313rem;  */
            p { margin: 0 0 1.2em; }
            p:last-child { margin-bottom:0; }
            a:hover { text-decoration:none; }

        }
    }
    .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 92.273%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }

    .cta-holder { margin-top:10px; margin-bottom:-8px; }

    /* If no module bottom margin - add bottom margin to content when left / right */
    @media (min-width: 576px ) {
        &.space-bottom-none .content { margin-bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); }
    }
}


.module-image--two-up {
    a { color: #29484A; }

    /* Colorblock */
    .colorblock { 
        position:relative; 

        &::before {
            content: '';
            inset:0 0 auto;
            position: absolute;
            height:50%;
            /* bottom: clamp( 1.750rem, 4.878vw, 5.000rem ); */
        }
        
        .container { position:relative; }
    }

    /* layout */
    .image-1 { grid-column: 1 / span 6; }
    .image-2 { grid-column: 7 / span 6; }

    /* styles */
    &.image-size--default .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 135.938%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }
    &.image-size--small .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 93.750%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }

    &.text-color-light { color: #FFFFFF; }

    img { width:100%; }
    
}



.module-text--abc-list {
    .columns {
        columns:1;
        column-gap: clamp( 1.750rem, 4.878vw, 5.000rem ); 

        @media (min-width: 768px ) { columns: 2; }
        @media (min-width: 992px ) { columns: 3; }
    }

    .list-item {
        display: grid;
  grid-template-columns: repeat( 2, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );

        align-items:start;
        break-inside: avoid-column;
        column-gap: 0.625rem;
        grid-template-columns: 2.125rem 1fr;
        margin-bottom: clamp( 1.750rem, 3.659vw, 3.750rem );
    }
    .letter { 
        font-family: Sharp Earth, arial;
        font-size: clamp( 1.625rem, 2.134vw, 2.188rem );
        font-weight: 700;
        line-height:1em;
        text-align:center;
    }
    .list { 
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

        font-size: 1.000rem;
        line-height: 1.750rem;

        ul { list-style-type:none;
  padding:0;
  margin:0;

  li { margin:0; } }

        p { margin:0; } 
        a { 
            color: #29484A; 
            text-decoration:none;
        }
        a:hover { text-decoration:underline; }
    }
}


.module-text--background-image {

    h3, h2, .text, .image, .text-2  { grid-column: 1 / -1; }


    @media (min-width: 768px ) {
        h2 { grid-column: 1 / span 6; }
        .text { grid-column: 7 / -1; }
        .image { grid-column: 1 / -1; }
        .text-2 { grid-column: 7 / -1; }
    }



    h2, h3 { margin:0; }

    /* Pull quote */
    h3 { font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 }
    h2 { 
        font-family: ES Face, georgia;
        font-size: clamp( 1.563rem, 4.268vw, 4.375rem );
        font-weight: 200;
        line-height: 1.0606060606060606em;
        margin-bottom: 0.938rem;

        @media (min-width: 768px ) { margin-bottom:0; }
    }

    .text, .text-2 { font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 }
    a { color: #29484A; }
    a:hover { text-decoration:none; }
    p { margin-bottom:1em; }
    p:last-child { margin-bottom:0; }

    .image { 
        margin: 0.625rem 0; 
        @media (min-width: 768px ) { margin:0; }
    }
    .image img { 
        display:block;
        width:100%; 
    }
}


.module-text--counters {

    .container { row-gap: 1.875rem; }
    .count-1, .count-2, .count-3, .count-4 { grid-column: span 6; }
    @media (min-width: 576px ) { .count-1, .count-2, .count-3, .count-4 { grid-column: span 3; } }
    @media (min-width: 992px ) {
        .count-1 { grid-column: 3 / span 2; }
        .count-2, .count-3, .count-4 { grid-column: span 2; }
    }



    .count { 
        font-family: ES Face, georgia;
        font-size: clamp( 2.813rem, 6.098vw, 6.250rem );
        font-weight: 100;
        line-height: 1em; 
        margin-bottom: clamp( 0.313rem, 0.610vw, 0.625rem );
        text-align:center;

        @media (min-width: 576px ) { text-align:left; }
    }
    .text { 
        font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
        text-align:center;

        @media (min-width: 576px ) { text-align:left; }
    }
}


/* Also used for module-text--details-no-content */
.module-text--details {
    .col-1, .col-2 { grid-column: span 12; }
    @media ( min-width: 768px ) { .col-1, .col-2 { grid-column: span 6; } }

    .group { 
        display: grid;
  grid-template-columns: repeat( 6, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );
 

        .title, .value { grid-column: span 3; }

        @media (min-width: 576px ) {
            .title { grid-column: 1 / span 2; }
            .value { grid-column: 3 / span 4; }
        }
    }
    

    &.text-color-default {
        &, & a { color: #29484A }
    }
    &.text-color-light {
        &, & a { color: #FFFFFF }
    }
    a:hover { text-decoration:none; }

    &.has-content-true .col-1 { margin-bottom: 2.000rem }
    h2, .group { 
        border-bottom: 1px solid #d7d7d7;
        margin-bottom: 0.500rem;
        padding-bottom: 0.500rem;
    }
    h2 { 
        font-family: Sharp Earth, arial;
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem ); 
        margin-top:0;
    }
    .group { font-size: 0.875rem; }
}


.module-text--four-column {

    h3, h2, h4, .group { grid-column: 1 / -1; }
    .groups { 
        display: grid;
  grid-template-columns: repeat( 12, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );

        grid-column: 1 / -1; 
        row-gap: clamp( 1.750rem, 1.829vw, 1.875rem );
    }


    @media (min-width: 576px ) {
        h3, h2 { grid-column: 1 / span 7; }
        .group { grid-column: span 6; }
    }
    @media (min-width: 992px ) {
        .group { grid-column: span 3; }
    }






    h3, h4 { margin: 0 0 0.625rem; }
    h3 { font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 }
    h4 { font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 }
    h2 { 
        font-family: ES Face, georgia;
        font-size: clamp( 1.438rem, 3.049vw, 3.125rem );
        font-weight: 200;
        line-height: 1.0606060606060606em;
        margin:0 0 clamp( 1.750rem, 1.829vw, 1.875rem );
    }

    .group .image {
        position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 66.734%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
        display:block;
        margin-bottom: 0.625rem;
    }
    .group .title { 
        font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 
        margin-bottom:0;
    }
    .group .text {
        font-weight: 300;
        font-size: clamp( 0.875rem, 1.098vw, 1.125rem );
        line-height: 1.2222222222222223em;
    }
    .group .cta-holder { 
        margin-top: 0.313rem;

        .cta-arrow a { font-size: clamp( 0.875rem, 1.098vw, 1.125rem ); }
    }
    
}


.module-text--intro {

    .grid { row-gap: 0.438rem }
    h2, .text { grid-column: 1 / -1; }

    @media (min-width: 576px ) {
        h2 { grid-column: 1 / span 5; }
        .text { grid-column: 6 / -1; }
    }
    @media (min-width: 768px ) {
        h2 { grid-column: 1 / span 6; }
        .text { grid-column: 7 / -1; }
    }


    
    h2 { 
        font-size: clamp( 1.313rem, 2.134vw, 2.188rem );
        font-weight: 700;
        line-height: 1.1428571428571428em;
        margin:0;
    }
    .text { 
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

        p { margin: 0 0 1em; }
        p:last-child { margin-bottom:0; }

        white-space: pre-wrap;
    }
    a { color: #29484A; }
    a:hover { text-decoration:none; }
    p { margin-bottom:1em; }
    p:last-child { margin-bottom:0; }
}


.module-text--intro-2 {

    h3, hgroup { grid-column: 1 / span 9; }
    .groups { 
        display: grid;
  grid-template-columns: repeat( 6, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );

        grid-column: 1 / -1; 

        .group { grid-column: span 3; }
    }

    @media (min-width: 576px ) {
        hgroup { 
            display: grid;
  grid-template-columns: repeat( 6, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );

            grid-column: 1 / span 7; 
            h2, h4 { grid-column: 1 / -1; }
        }
    }
    @media (min-width: 768px ) { 
        hgroup { grid-column: 1 / span 6; }
        .groups { grid-column: 7 / -1; } 
    }

    a { color: #29484A; }
    a:hover { text-decoration:none; }

    h3 { 
        font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;

        margin: 0 0 clamp( 0.313rem, 0.610vw, 0.625rem ); 
    }
    h2 { 
        font-family: ES Face, georgia;
  font-size: clamp( 1.313rem, 3.659vw, 3.750rem );
  font-weight: 200;
  line-height: 1.067em;

        font-size: clamp( 1.563rem, 3.049vw, 3.125rem );
        margin:0 0 clamp( 0.313rem, 0.610vw, 0.625rem );
    }
    h4 { 
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 
        margin: 0 0 0.875rem;

        @media ( min-width: 768px ) { margin-bottom:0; }
    }
    
    .groups { 
        grid-gap: 30px; 
        height: fit-content;
    }
    .group .title { 
        font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 
        margin-bottom:0;
    }
    .group .text {
        font-weight: 300;
        font-size: clamp( 0.875rem, 1.098vw, 1.125rem );
        line-height: 1.2222222222222223em;

        p { margin: 0 0 0.625rem }
        p:last-child { margin-bottom:0; }
    }
    
}


.module-text--intro-large {
  blockquote {
    color: #29484A;
    font-family: ES Face, georgia;
    font-weight: 100;
    font-size: clamp( 1.813rem, 6.098vw, 6.250rem );
    line-height:1em;
    grid-column: 1 / -1;
    margin:0;
    padding-bottom:0.12em; //<= g was getting cut off
    transform:translateY(25%);
    transition:opacity 1.2s, transform 1.2s, clip-path 1.2s;
    opacity:0;
    clip-path: inset(0 0 100% 0); 
  }
  .active blockquote {
    opacity:1;
    transform:translateY(0);
    clip-path: inset( 0 0 0% 0 );
  }
}


.module-text--intro-small {
  .grid { row-gap: 1.250rem }

  h2 { 
    grid-column: 1 / span 9; 
    @media (min-width: 576px ) { grid-column: 1 / span 7; }
  }
  a { color: #29484A; }
  a:hover { text-decoration:none; }
  p { margin-bottom:1em; }
  p:last-child { margin-bottom:0; }

  .text { 
    display:none;
    @media (min-width: 768px ) { 
      display:block; 
      grid-column: 1 / span 6; 
    }

  }
  

  h2 {
    font-family: ES Face, georgia;
  font-size: clamp( 1.313rem, 3.659vw, 3.750rem );
  font-weight: 200;
  line-height: 1.067em;

    margin:0;
  }
  .text { font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 }
}


.module-text--pre-footer-cta {

    h2, .content { grid-column: 1 / -1; }
    @media ( min-width: 576px ) {
        h2 { grid-column: 1 / span 6; }
        .content { grid-column: 7 / -1; }
    }
    @media ( min-width: 992px ) { .content { grid-column: 7 / span 5; } }
    @media ( min-width: 1200px ) { .content { grid-column: 7 / span 4; } }


    h2 {
        font-family: ES Face, georgia;
        font-size: clamp( 1.375rem, 1.829vw, 1.875rem );
        font-weight: 200;
        line-height: 1.1875em; 
        margin:0 0 0.625rem;

        @media ( min-width: 576px ) { margin-bottom:0; }
    }

    .text { 
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 
        margin: 0 0 0.625rem;
    }
    a { color: #29484A; }
    a:hover { text-decoration:none; }
    p { margin:0 0 1.2em; }
    p:last-child { margin-bottom:0; }
    
    &.text-color-default .cta-holder a { border-bottom: 1px solid #29484A; }
    &.text-color-light .cta-holder a { border-bottom: 1px solid #FFFFFF; }
}


.module-text--three-column {
    h3, .pretitle, h2, h4, .groups, .group { grid-column: 1 / -1; }

    .groups { 
        display: grid;
  grid-template-columns: repeat( 12, 1fr );
  grid-column-gap: clamp( 1.750rem, 4.878vw, 5.000rem );

        grid-column: 1 / -1; 
        row-gap: clamp( 1.750rem, 1.829vw, 1.875rem );
    }


    @media (min-width: 576px ) {
        h3, h4 { grid-column: 1 / span 7; }
        .group { grid-column: span 6; }
    }
    @media (min-width: 992px ) {
        .group { grid-column: span 4; }
    }

    

    h3, .pretitle { margin: 0 0 0.625rem; }
    h3 { font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 }
    .pretitle, h4 { font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 }
    h2 { 
        font-family: ES Face, georgia;
  font-size: clamp( 1.313rem, 3.659vw, 3.750rem );
  font-weight: 200;
  line-height: 1.067em;

        font-size: clamp( 1.563rem, 4.268vw, 4.375rem );
        margin:0;
    }
    h4, h4 p { margin:0; }
    h4 { margin: 1.250rem 0 1.875rem; }
    /* h4 { margin: clamp( 1.750rem, 1.829vw, 1.875rem ) 0 clamp( 1.875rem, 3.659vw, 3.750rem ); } */

    
    .groups { margin-top: clamp( 0.938rem, 1.829vw, 1.875rem ); }
    .group .image {
        position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 66.734%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
        display:block;
        margin-bottom: 0.625rem;
    }
    .group .title { 
        font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 
        margin-bottom:0;
    }
    .group .text {
        font-weight: 300;
        font-size: 0.875rem;
        line-height: 1.2222222222222223em;

        p { margin: 0 0 1.2em; }
        p:last-child { margin-bottom:0; }
    }

    .cta-holder { 
        margin-top: clamp( 0.313rem, 0.610vw, 0.625rem ); 
        a { font-size: 0.875rem; }
    }

    /* &.text-color-default a { border-bottom:1px solid #29484A }
    &.text-color-light a { border-bottom:1px solid #FFFFFF } */
    a { color: #29484A; }
    a:hover { text-decoration:none; }
    
}



.module-text-image {
    position:relative;

    /* Layouts */
    hgroup, .image-holder, .text, .cta-holder  { grid-column: 1 / -1; }

    /* Colorblocks - Note: colors are controlled in module (dynamic) */
    .heading-wrapper, .image-wrapper {
        position:relative; 

        &::before {
            content: '';
            inset:0;
            position: absolute;
        }
        .container { position:relative; } 
    }


    @media (min-width: 768px ) { 
        & { 
            display:grid; 
            grid-template-rows: auto 1fr; 
        }

        .heading-wrapper, .image-wrapper { grid-row:1 / span 1; }
        .heading-wrapper { grid-column: 1 / span 1; }
        
        /* No colorblock behind image on handheld */
        .image-wrapper { 
            &::before { display:none; } 

            grid-column: 1;
            grid-row: 1 / span 3;
        }

        .text-wrapper { 
            grid-column: 1;
            grid-row: 2;
        }

        &.layout--text-on-left.image-size--default {
            hgroup, .text, .cta-holder  { grid-column: 1 / span 6; }
            .image-holder { grid-column: 7 / -1; }
        }
        &.layout--text-on-right.image-size--default {
            .image-holder { grid-column: 1 / span 6; }
            hgroup, .text, .cta-holder  { grid-column: 7 / -1; }
        }


        &.layout--text-on-left.image-size--large {
            hgroup, .text, .cta-holder  { grid-column: 1 / span 5; }
            .image-holder { grid-column: 6 / -1; }
        }
        &.layout--text-on-right.image-size--large {
            .image-holder { grid-column: 1 / span 5; }
            hgroup, .text, .cta-holder  { grid-column: 6 / -1; }
        }
        
    }

    @media (min-width: 992px ) {
        &.layout--text-on-left.image-size--large {
            hgroup, .text, .cta-holder  { grid-column: 1 / span 4; }
            .image-holder { grid-column: 5 / -1; }
        }
        &.layout--text-on-right.image-size--large {
            .image-holder { grid-column: 1 / span 8; }
            hgroup, .text, .cta-holder  { grid-column: 9 / -1; }
        }
    }



    /* Top Padding BG */
    &::before {
        content: '';
        left:0;
        height: clamp( 1.750rem, 4.878vw, 5.000rem );
        position: absolute;
        right:0;
        top:0;
    }

    /* Text Color */
    &.text-color-default { 
        a { color: #29484A }
        .cta-holder a { 
            border-bottom:1px solid #29484A; 
            color: #29484A
        }
    }
    &.text-color-light { 
        color: #FFFFFF;
        a { color: #FFFFFF }
        .cta-holder a { 
            border-bottom:1px solid #FFFFFF; 
            color: #FFFFFF;

            &::after, &::before { background:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/cta-arrow-light.svg); }
        }
    }


    
    
    h3 { 
        font-size: clamp( 0.750rem, 0.976vw, 1.000rem );
  font-weight: 700;
  line-height: 1.625em;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
 
        margin: 0 0 clamp( 0.313rem, 0.610vw, 0.625rem );
    }
    h2 { 
        font-family: ES Face, georgia;
        font-size: clamp( 1.313rem, 3.049vw, 3.125rem );
        font-weight: 200;
        line-height: 1.1875em;
        margin:0;
        padding-bottom:clamp( 0.438rem, 1.220vw, 1.250rem );
    }
    &.image-size--large h2 { font-size: clamp( 1.313rem, 1.829vw, 1.875rem ); }
    a:hover { text-decoration:none; }

    .image-wrapper { pointer-events:none; }
    .image-holder {
        padding-top:clamp( 0.438rem, 1.220vw, 1.250rem );
        pointer-events:auto; 

        .image {
            position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 93.750%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  }
            margin-bottom: clamp( 0.438rem, 1.220vw, 1.250rem );
        }

        @media (min-width: 768px ) { 
            padding-top:0;
            .image { margin-bottom:0; }
        }
    }
    .text { 
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 
        margin-top: clamp( 0.438rem, 1.220vw, 1.250rem );
        margin-bottom: clamp( 0.438rem, 2.256vw, 2.313rem );

        p { margin: 0 0 1.2em; }
        p:last-child { margin-bottom:0; }
    }
    .cta-holder { align-self:end; }
    .cta-holder a { border-bottom:1px solid #29484A; }
    
}


.module-text-image--intro {
    position:relative;

    &::before {
        content: '';
        left:0;
        height: clamp( 1.750rem, 4.878vw, 5.000rem );
        position: absolute;
        right:0;
        top:0;
    }
    
    /* Colorblock */
    .colorblock { 
        position:relative; 

        &::before {
            content: '';
            inset:0 0 auto;
            height: 45.732vw;
            position: absolute;

            @media (min-width: 1640px ) { height: 750px; }
        }
        
        .container { position:relative; }
    }


    .grid { 
        align-items:center; 
        row-gap: clamp( 1.750rem, 4.878vw, 5.000rem );
        @media ( min-width: 768px ) { row-gap: 0.563rem; }
    }

    /* Layout */
    .text { grid-column: 1 / -1; grid-row:2;}
    &.layout--text-on-left {
        h2 { grid-column: 1 / span 6; }
        .image-holder { grid-column: 7 / -1; }

        @media ( min-width: 768px ) { 
            .image-holder{ grid-row: 1 / span 2; } 
            .text { grid-column: 1 / span 6; }
        }
    }
    &.layout--text-on-right {
        h2 { grid-column: 7 / -1; }
        .image-holder { grid-column: 1 / span 6;grid-row:1; }

        @media ( min-width: 768px ) { 
            .image-holder{ grid-row: 1 / span 2; } 
            .text { grid-column: 7 / -1; }
        }
    }



    h2 {
        font-family: ES Face, georgia;
  font-size: clamp( 1.313rem, 3.659vw, 3.750rem );
  font-weight: 200;
  line-height: 1.067em;

        margin:0 0 6.098vw;

        @media ( min-width: 768px ) { align-self: end;margin-bottom:0; }
    }

    .text { 
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
 
        margin-bottom: 7.317vw;

        @media ( min-width: 768px ) { align-self: start; }
        @media (min-width: 1640px ) { margin-bottom: 120px; }
    }
    
    a { color: #29484A; }
    a:hover { text-decoration:none; }
    p { margin-bottom:1em; }
    p:last-child { margin-bottom:0; }
    
    .image { position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 135.938%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } }
    img { width:100%; }
}




.module-posts-grid {

    .news-landing & .post { grid-column: span 4; }
    .projects-landing & .post { grid-column: span 6; }
    .no-results, .pagination, .recent-posts, h3 { grid-column: 1 / -1; }
    

    .posts-grid { row-gap: clamp( 1.250rem, 3.659vw, 3.750rem ) }
    .post {
        color: #29484A;
        text-decoration:none;

        .image { 
            position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 78.000%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
            margin-bottom: 1.250rem;

            img { 
                display:block;
                width:100%; 
            }
        }
        h2, h4, .locations {
            display:inline-block;
            font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
            font-weight: 700;
            line-height: 1.364em;
            margin: 0;
        }
        .locations { 
            font-weight:300;
            display:block;
            @media (min-width: 768px ) { 
                display:inline-block;
                margin-left:0.625rem; 
            }
        }
    }
    
    .pagination {
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;


        display:flex;
        gap: 10px;
        justify-content:center;
        margin-top: 1.875rem;
        
        .sr-only { clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

        .pagination__link { 
            align-items:center;
            border-radius:50%;
            color: #29484A;
            display:grid;
            font-size: 0.938rem;
            height:50px;
            justify-content:center;
            text-decoration:none;
            width:50px;

            &:hover { background-color: #FFFFFF }
        }
        .pagination__link--prev,
        .pagination__link--next  {
            &::after {
                background:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/cta-arrow-default.svg);
                content:'';
                height: 12px;
                background-size:100%;
                display:inline-block;
                width: 12px;
            }
        }
        .pagination__link--prev::after { transform:rotate(180deg); }
        .pagination__link--disabled { opacity: 0.5; }
        .pagination__link--active { background-color: #EAEBE0;}

    }

    .no-results a { color:#29484A; }

    h3 { margin-top: clamp( 1.750rem, 4.878vw, 5.000rem ); }
    

}

.news-landing .post h2 { font-weight: 300; }


.module-projects-filter {
    padding: 1.250rem 0 3.750rem;

    .notice { margin-bottom:30px;width:100%; }

    .flex {
        display:flex;
        column-gap: 2.500rem;
    }


    
    .helper { 
        font-size: 1.125rem;
        line-height: 1.6em;
        margin:0 0 0.313rem;
    }


    ul {
        list-style-type:none;
  padding:0;
  margin:0;

  li { margin:0; }
        &.filter { position:relative; }
        
        li { 
            font-size: 1.125rem;
            line-height: 1.6em;
            margin:0;
            
            span { cursor:pointer; }
            a { 
                text-decoration:none;
  &:focus, &:hover { text-decoration: underline; }
 
                color: #29484A;
            }
            .active a { font-weight:700 }

            .close { font-weight: normal; }
            .close-x, .active a { 
                font-weight: normal;
                &::before {
                    background:url(https://24158845.fs1.hubspotusercontent-na1.net/hubfs/24158845/raw_assets/public/Conduit/Insidesource/images/close-x.svg);
                    background-size:100%;
                    content:"";
                    display:inline-block;
                    margin-bottom:2px;
                    margin-right:6px;
                    height:7px;
                    width:7px;
                }
            }
        }
        
        .sub-nav { 
            background:#fff;
            position:absolute;
            left:-20px;
            padding:0 20px 20px;
            top:1.6em;
            width:auto;
            z-index:1;
            
            li { white-space:nowrap; }
        }

        .sub-nav { display:none; }
        &.filter > li:hover .sub-nav { display:block; }
    }
}



.module-image--three-up-blog {
    /* layout */
    .container { 
        box-sizing:content-box;
        max-width:1040px; 
    }

    .image-wrapper { grid-column: 1 / -1; }

    /* styles */
    .image-1 { margin-bottom: 1.875rem }
    .image-2 { margin-bottom: 1.875rem }
    
    .image { 
        position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 66.734%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
        display:block;
        margin-bottom: 0.625rem;
    }
    p { margin:0; }

    @media ( min-width: 768px ) {

        /* layout */
        .image-wrapper { grid-column: span 4; }
        
        /* styles */
        .image-1, .image-2 { margin-bottom: 0 }

    }
    
}


.module-image--two-up-blog {
    /* layout */
    .container { 
        box-sizing:content-box;
        max-width:1040px; 
    }

    .image-1, .image-2 { grid-column: 1 / -1; }

    /* styles */
    .image-1 { margin-bottom: 1.875rem }
    
    .image { 
        position:relative;
  &:before {
    display: block;
    content: "";
    padding-top: 66.734%;
    width: 100%;
  }

  & > img, & > video {
    position:absolute;
    left:0;
    height:100%;
    width:100%;
    top:0;
    object-fit:cover;
  } 
        display:block;
        margin-bottom: 0.625rem;
    }
    a { color: #29484A; }


    @media ( min-width: 768px ) {

        /* layout */
        .image-1 { grid-column: 1 / span 6; }
        .image-2 { grid-column: 7 / span 6; }

        /* styles */
        .image-1 { margin-bottom: 0 }

    }
    
}


.module-previous-next-links {
    .container { 
        display:flex; 
        justify-content:space-between;
    }
    &.type--news .container { 
        box-sizing:content-box;
        max-width:1040px; 
    }
    .next-link { justify-self:end; }
    .previous-link { 
        a {
            margin-left:0;
            margin-right:-20px;
        }
        a::before, a::after { transform:rotate(180deg); }
        a:hover { 
            margin-left:-20px; 
            margin-right:0;
        }
    }
}


.module-text--one-column-blog {
    .content > * {
        margin:0 auto;
        max-width:1040px;
        ul&, ol& {
    /* margin-left:0; */
    margin-bottom:clamp( 0.938rem, 1.829vw, 1.875rem );
    @media (min-width: 1640px ) { margin-left:auto;margin-right:auto; }

    li {
        font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

        line-height:1.5em;
        margin-left:16px;

        /* &::marker { color: #CAC8B8; } */
    }
  }
  ul& {
      
      li {
        padding-left:0;
        text-indent:0;
      }
      /* li::before {
          content: "//"; /* Insert content that looks like bullets /
          padding-right: 8px;
          color: $accent; /* Or a color you prefer *
      } */
  }

  blockquote& { 
    font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;

    p { padding-left: 2em; }
  }
  
  h1& {
      font-family: ES Face, georgia;
  font-size: clamp( 1.313rem, 3.659vw, 3.750rem );
  font-weight: 200;
  line-height: 1.067em;

      margin-top:0;
      margin-bottom:clamp( 0.938rem, 1.829vw, 1.875rem );
  }
  h2&,
  h3&,
  h4&,
  h5&,
  h6& {
      font-family: ES Face, georgia;
      font-weight: 300;
      line-height:1.187em;
      margin-top: 0;
      margin-bottom: clamp( 0.938rem, 1.829vw, 1.875rem );
  }
  h2& { font-size: clamp( 1.125rem, 1.951vw, 2.000rem ); }
  h3& { font-size: clamp( 0.875rem, 1.707vw, 1.750rem ); }
  h4& { font-size: clamp( 0.875rem, 1.585vw, 1.625rem ); }
  h5& { font-size: clamp( 0.875rem, 1.341vw, 1.375rem ); }
  h6& { font-size: clamp( 0.750rem, 1.098vw, 1.125rem ); }

  p& { 
      font-size: clamp( 1.000rem, 1.341vw, 1.375rem );
  font-weight: 300;
  line-height: 1.182em;
;
      margin-bottom: 1.182em; 
  }
  p&:last-child { margin-bottom:0; }

  a { color: #29484A }
  a:hover { text-decoration:none; }
    }
}