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

    html {
      scroll-behavior: smooth;
    }

    html, body {
      font-family: 'Open Sans', sans-serif;
      font-weight:300;
      line-height: 1.5;
      color: #333;
    }

    body {
        margin:0;
        padding:0;
        overflow-x: hidden;
    }
    :root {
      --white: #ffffff;
      --black: #231F20;
      --citron: #B7CD34;
      --sherpa:#00414C;
      --ocean:#45B48D;
      --bg-tint: #f2f2f2;
    }

    .citron {
      color:var(--citron);
    }

    .sherpa {
      color:var(--sherpa);
    }

    .ocean {
      color:var(--ocean);
    }

    img {
      width:100%;
    }

    li::marker {
      color:var(--citron);
    }

    h1 {
      /* letter-spacing: -0.05em; */
    }

    h1, h2, h3, h4, h5, h6 {
      font-family: 'Amaranth', sans-serif;
      line-height: 1.3;
      font-weight:700;
      color:var(--black);
      margin:0 0 0.35em 0;
    }

    h1, h2, h3, h4, p {
      font-size: clamp(
        var(--fluid-type-min, 1rem),
        calc(1rem + var(--fluid-type-target, 3vw)),
        var(--fluid-type-max, 1.2rem)
      );
    }

    h1 {
      --fluid-type-min: 2.5rem;
      --fluid-type-max: 4.55rem;
      --fluid-type-target: 5vw;
    }

    h2 {
      --fluid-type-min: 1.8rem;
      --fluid-type-max: 2.0rem;
    }

    h3 {
      --fluid-type-min: 1.5rem;
      --fluid-type-max: 1.8rem;
    }

    h4 {
      --fluid-type-min: 1.2rem;
      --fluid-type-max: 1.5rem;
    }

    a.link, a.link:visited {
      color:var(--sherpa);
      text-decoration: none;
    }

    a.link:hover, a.link:focus {
      color:var(--ocean);
      text-decoration: underline;
    }

    dt .term {
      font-size:200%;
    }

    dd {
      margin-left:0;
      margin-top:12px;
      margin-bottom:24px
    }

    cite {
      font-size:75%;
      line-height:75%;
    }

    .subhead {
      font-weight: 500;
      color:var(--ocean);
    }

    .tac {
      text-align:center;
    }

    .aic {
      align-items: center;
    }

    .tall {
      padding-top:40px;
      padding-bottom:40px;
    }

    .flxp {
      display:flex;
    }

    .flxc {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .flxsb {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
    }

    .flxw {
      display:flex;
      flex-wrap:wrap;
    }

    .jc {
      justify-content:center;
    }

    .aic {
      align-items: center;
    }

    .boxed {
        width:100%;
        max-width:1440px;
        padding:10px;
        margin:0 auto;
    }

    .wide {
        width:100%;
        padding-right:24px;
        padding-left:24px;
    }

    .mp0 { margin:0; padding:0; }
    .mb0 { margin-bottom: 0; }
    .mt0 { margin-top:0; }
    .mr0 { margin-right:0; }
    .ml0 { margin-left:0 }
    .mt20 { margin-top:20px; }
    .mr20 { margin-right:20px; }
    .ml20 { margin-left:20px; }
    .mrl20 { margin-right:20px; margin-left:20px; }
    .mb20 { margin-bottom:20px; }
    .mt40 { margin-top:40px; }
    .mr40 { margin-right:40px; }
    .ml40 { margin-left:40px; }
    .mrl40 { margin-right:40px; margin-left:40px; }
    .mb40 { margin-bottom:40px; }
    .mt60 { margin-top:60px; }
    .mr60 { margin-right:60px; }
    .ml60 { margin-left:60px; }
    .mrl60 { margin-right:60px; margin-left:60px; }
    .mb60 { margin-bottom:60px; }
    .nomar { margin:0; }

    .pad20 { padding:20px; }
    .padtb20 { padding:20px 0 20px 0; }
    .padb20 { padding-bottom:20px; }
    .padt20 { padding-top:20px; }
    .padlr20 { padding:0 20px;}
    .padr20 { padding-right:20px;}
    .padl20 { padding-left:20px;}
    .pad40 { padding:40px; }
    .padtb40 { padding:40px 0 40px 0; }
    .padb40 { padding-bottom:40px; }
    .padt40 { padding-top:40px; }
    .padlr40 { padding:0 40px;}
    .padr40 { padding-right:40px;}
    .padl40 { padding-left:40px;}
    .pad60 { padding:60px; }
    .padtb60 { padding:60px 0 60px 0; }
    .padb60 { padding-bottom:60px; }
    .padt60 { padding-top:60px; }
    .padlr60 { padding:0 60px!important;}
    .padr60 { padding-right:60px;}
    .padl60 { padding-left:60px;}
    .padtb0 { padding-top:0; padding-bottom:0; }
    .padt0 { padding-top:0!important; }
    .padb0 { padding-bottom:0!important; }
    .nopad { padding:0; }

    .dark {
      background:var(--black);
    }

    .dark p {
      color:var(--white);
    }

    .dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6{
      color:var(--citron);
    }

    #site-header {
      position:fixed;
      width:100%;
      background:rgba(0, 0, 0, 0.7);
      z-index:999999;
      padding: 12px 20px;
    }

    #site-header .boxed {
      padding-top:20px;
      padding-bottom:20px;
      text-align:center;
    }

    #site-header.scrolled {
      background:var(--white);
      box-shadow: 0px 15px 30px 0px rgba(35, 35, 35, 0.1);
    }

    #head {
      display:block;
      align-items: center;
    }

    #branding {
      width:290px;
      height:54px;
      background-image:url('../images/Zebra-White.svg');
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      margin:0 auto;
    }

    #site-header.scrolled #branding {
      background-image:url('../images/zebra-Black.svg');
    }

    button#toggle {
      background:transparent;
      border:none;
      z-index:200;
    }

    #toggle svg {
      width:40px;
    }

    #toggle svg .st0 {
      fill-rule:evenodd;
      clip-rule:evenodd;
      fill:var(--white);
    }

    #site-header.scrolled #toggle svg .st0 {
      fill:var(--black);
    }

    nav {
      position:absolute;
      top:0;
      right:0;
      bottom:0;
      left:0;
      z-index:100;
      background:var(--white);
      width:100%;
      height:100vh;
      display:none;
     }

     #main-nav {
       align-items: center;
       justify-content: center;
     }

     #site-header.open nav {
       display:flex;
     }

     #site-header.open #toggle svg .st0 {
       fill:var(--black);
     }

     #site-header.open button#toggle {
       transform: rotate(90deg);
     }

    nav ul {
      display:inline-flex;
      flex-direction:column;
      padding-left:0;
    }

    nav ul li {
      list-style-type: none;
    }

    nav ul li a {
      font-family: 'Open Sans', sans-serif;
      font-size: 2em;
      font-weight:500;
      color:var(--black);
      text-decoration: none;
      position: relative;
      margin-bottom:1.2em;
    }

    #site-header.scrolled nav ul li a {
      color:var(--black);
    }

    #site-header.scrolled nav ul li a:hover, nav ul li a:focus {
      color: var(--sherpa);
    }

    nav ul li a::before, nav ul li a::after {
        position: absolute;
        width: 100%;
        height: 2px;
        background: currentColor;
        top: 100%;
        left: 0;
        pointer-events: none;
    }

    nav ul li a::before {
        content: '';
        transform-origin: 100% 50%;
        transform: scale3d(0, 1, 1);
        transition: transform 0.3s;
    }

    nav ul li a:hover::before, nav ul li a:focus::before {
        transform-origin: 0% 50%;
        transform: scale3d(1, 1, 1);
    }

    #hero {
      position:relative;
      background-color: var(--black);
      padding-top:90px;
      padding-bottom:50vh;
      min-height:100vh
    }

    #hero::after {
      content:"";
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      background-image:url('../../assets/images/shutterstock_732276883.jpg');
      background-size:cover;
      background-position: top left;
      background-repeat: no-repeat;
      opacity:0.5;
      z-index:1;
    }

    #hero h1, #hero h2, #hero h3 {
      color:var(--citron);
    }

    #hero .subhead {
      color:var(--white);
      margin-bottom:12px;
      font-size:200%;
    }

    #hero p {
      color:var(--white);
    }

    #hero-content {
      position:absolute;
      top: 50%;
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      text-align:center;
      z-index:2;
    }

    @-webkit-keyframes heroFade {
      from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
      }
      to {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes heroFade {
      from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
      }
      to {
        opacity: 1;
        transform: none;
      }
    }

    .first, .second, .third {
      opacity: 0;
      -webkit-animation: heroFade 0.5s ease-in-out 0s forwards;
              animation: heroFade 0.5s ease-in-out 0s forwards;
    }

    .first {
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s;
    }

    .second {
      -webkit-animation-delay: 0.4s;
              animation-delay: 0.4s;
    }

    .third {
      -webkit-animation-delay: 0.6s;
              animation-delay: 0.6s;
    }

    .grid2 img, .gridzrev2 img {
      margin-bottom:20px;
      display:flex;
      align-content: center;
    }

    .grid2, .gridzrev2 {
      width:100%;
      max-width:600px;
      margin:0 auto 64px auto;
    }

    .icon {
      max-width:80px;
      max-height:90px;
    }

    .icon + h4 {
      margin-top:24px;
    }

    #process {
      background:var(--bg-tint);
    }

    #process .step {
      margin-bottom:48px;
    }

    .card {
      border:1px solid var(--silver);
      border-radius:10px;
      padding:20px;
      transition: all 0.3s ease;
      margin-bottom:48px;
    }

    .card:hover, .card:focus {
      box-shadow: 0px 15px 30px 0px rgba(35, 35, 35, 0.1);
    }

    .card .icon {
      transition: all 0.3s ease;
    }

    .card:hover > .icon {
      transform:scale(120%) translateX(10px);
    }

    #support {
      background:var(--bg-tint);
    }

    #ifp-support {
      padding-top:48px;
    }

    .headshot {
      margin-bottom:24px;
    }

    .ifp-staff, #services .card {
      max-width:480px;
      margin:0 auto 48px auto;
    }

    #ifp-support a, #ifp-support a:visited {
      color:var(--ocean);
    }

    #ifp-support a:hover, #ifp-support a:focus {
      color:var(--sherpa);
    }

    #contact {
      background:var(--black);
      color:var(--white);
      padding:48px 0;
    }

    #contact h2 {
      color:var(--citron);
    }

    #contact p {
      margin-top:12px;
      margin-bottom:48px;
    }

    .cta {
      background: var(--sherpa);
      color:var(--white);
      text-align:center;
      padding-top:24px;
      padding-bottom:24px;
    }

    .cta .boxed {
      padding: 40px 10px;
      display:flex;
      align-items: center;
      justify-content: center;
    }

    .cta:hover, .cta:focus {
      cursor:pointer;
    }

    .cta h2 {
      color: var(--citron);
      margin-bottom:0;
    }

    .cta-text {
      color:var(--citron);
      text-transform: uppercase;
      margin-top:20px;
    }

    .cta button {
      padding:12px 24px;
      transition: all 0.3s ease;
      margin-top:20px;
      border-radius:30px;
      background:var(--cerulean);
      color:var(--white);
      border:none;
    }

    .cta button:hover, .cta button:focus {
      background:var(--citron);
      color:var(--sherpa);
    }

    label + input, label + textarea {
      margin-top:12px;
    }

    input[type="text"], input[type="email"] {
      font-family: 'Open Sans', sans-serif;
      font-weight:300;
      padding:20px;
      width:100%;
      font-size: clamp(
        var(--fluid-type-min, 1rem),
        calc(1rem + var(--fluid-type-target, 3vw)),
        var(--fluid-type-max, 1.3rem)
      );
      line-height:1.4em;
      margin-bottom:20px;
      border:none;
      border-radius:5px;
     }

    textarea {
      font-family: 'Open Sans', sans-serif;
      font-weight:300;
      padding: 20px;
      margin-bottom: 15px;
      color: var(--black);
      font-size: clamp(
        var(--fluid-type-min, 1rem),
        calc(1rem + var(--fluid-type-target, 3vw)),
        var(--fluid-type-max, 1.3rem)
      );
      width:100%;
      height:50%;
      margin-bottom:20px;
      border:none;
      border-radius:5px;
    }

    button[type=submit] {
      font-family: 'Open Sans', sans-serif;
      padding:12px 24px;
      color:var(--sherpa);
      background:var(--citron);
      border:none;
      font-size: clamp(
        var(--fluid-type-min, 1rem),
        calc(1rem + var(--fluid-type-target, 3vw)),
        var(--fluid-type-max, 1.3rem)
      );
      border-radius:30px;
      transition: all 500ms ease;
      margin-top:20px;
      font-weight:400;
      font-size:16px;
      line-height:1.4em;
    }

    button[type=submit]:hover, button[type=submit]:focus {
      background:var(--white);
      color:var(--prime-blue);
      cursor:pointer;
      transform: scale(1.10);
    }

    footer {
      padding-top:40px;
      padding-bottom:60px;
      text-align:center;
      background: var(--white);
    }

    footer #top {
      align-items: center;
      margin-bottom:40px;
    }

    footer #foot img {
      width:280px;
    }

    footer #foot ul {
      display:flex;
      flex-direction:column;
      padding-left:0;
    }

    footer #foot ul li {
      list-style-type: none;
      margin-right:10px;
    }

    footer #foot ul li a {
      color:var(--black);
      text-decoration:none;
      font-size:1.2em;
    }

    footer #foot ul li a:hover, footer #foot ul li a:focus {
      color:var(--sherpa);
      text-decoration:underline;
    }

    footer #social svg {
      width:32px;
    }

    footer #social svg .fsm {
      fill:var(--citron);
    }

    footer #social svg:hover .fsm {
      fill:var(--ocean);
    }

    footer #disclosure p {
      font-size: 0.9em;
      text-align:left;
    }

    footer #disclosure a, footer #disclosure a:visited {
      color:#45B48D;
      text-decoration:underline;
    }

    @media (min-width: 540px) {
      .boxed {
        padding:20px;
      }

      #hero {
        padding-bottom:50vh;
        min-height:100vh
      }
    }

    @media (min-width: 768px) {
      #hero {
        min-height:50vh;
        max-height:50vh;
      }

      #hero::after {
        opacity:1;
      }

      #hero-content {
        text-align:left;
        top: 50%;
        left:50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        max-width:50%;
    }
  }

    @media (min-width: 900px) {
      .boxed {
        padding:40px;
      }

      .wide {
        max-width:900px;
        margin:0 auto;
      }

      a.brokercheck {
        color:var(--white);
        text-decoration:none;
        padding-top:20px;
      }

      #site-header.scrolled a.brokercheck {
        color:var(--black);
      }

      #site-header.scrolled a.brokercheck:hover, #site-header.scrolled a.brokercheck:focus, a.brokercheck:hover, a.brokercheck:focus {
        color: var(--citron);
      }

      footer {
        padding-bottom:0;
      }
    }

    @media (min-width: 1044px) {
      #site-header .boxed {
        display:flex;
        justify-content: space-between;
      }

      header {
        display:flex;
        justify-content: space-between;
      }

      #head {
        display:inline-flex;
        align-items: center;
      }

      #branding {
        margin-right: 40px;
      }

      nav {
        position:static;
        display:flex;
        background:transparent;
        width:auto;
        height:auto;
      }

      nav ul {
        flex-direction: row;
      }

      nav ul li a {
        color:var(--citron);
        margin-left:18px;
        font-size:1em;
        margin-bottom:0;
      }

      nav ul li a:hover, nav ul li a:focus {
        cursor:pointer;
        color:var(--white);
      }
    }

    @media (min-width: 1200px) {
      span.lbr::before {
        content:"\A";
        white-space: pre;
      }

      .tall {
        padding-top:60px;
        padding-bottom:60px;
      }

      .grid2 {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap:64px;
        max-width: 100%;
      }

      .grid4 {
        display:grid;
        grid-template-columns: repeat(4, 1fr);
        grid-gap:64px;
      }

      .gridzrev2 {
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap:64px;
        grid-template-areas: "a b";
        max-width: 100%;
      }

      .gridzrev2 .right {
        grid-column: 2;
        grid-row: 1 / 2;
      }

      .gridzrev2 .left {
        grid-column: 1;
        grid-row: 1 / 2;
      }

      .grid2 img, .gridzrev2 img {
        margin:0;
      }

      .grid3 {
        display:grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap:64px;
      }

      .asym3 {
        display: grid;
        grid-template-columns: 1fr 2fr;
        grid-gap: 64px;
      }

      .asym4 {
        display: grid;
        grid-template-columns: 1fr 3fr;
        grid-gap: 64px;
      }

      .asym4rev {
        display: grid;
        grid-template-columns: 3fr 1fr;
        grid-gap: 64px;
      }

      .cta {
        text-align:left;
      }

      .cta p {
        margin:12px 0 0 0;
      }

      .cta button {
        margin-top: 0;
      }

      #hero {
        min-height: 90vh;
      }

      #hero-content {
        text-align:left;
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        max-width:50%;
        /* padding-left:90px; */
      }

      #definition .asym4 p:nth-child(1) {
        margin-top:0;
      }

      #clients .asym4 p{
        margin-top:0;
      }

      #services .asym3 {
        margin-bottom:64px;
      }

      #services .asym3 p {
        margin-top:0;
      }

      #services .card {
        margin:0;
        padding:40px;
      }

      #about {
        background-image:url('');
        background-position: top left;
        background-size: contain;
        background-repeat:no-repeat;
      }

      #about .profile-photo {
        display:none;
      }

      footer {
        text-align:left;
      }

      footer #top {
        display:flex;
        justify-content: space-between;
        align-items: center;
      }

      footer #foot {
        display:flex;
        align-items:center;
      }

      footer #foot img {
        margin-right:40px;
      }

      footer #foot ul {
        display:inline-flex;
        flex-direction:row;
      }
    }

    @media (min-width: 1500px) {
      #profile {
        transform:translateX(-150px);
      }
    }

    @media (max-width: 1200px) {
      a.brokercheck {
        position:fixed;
        padding:10px 20px;
        bottom:0;
        left:0;
        width:100%;
        text-align: center;
        background:var(--citron);
        color:var(--black);
        text-decoration: none;
      }

      a.brokercheck:hover, a.brokercheck:focus {
        background: var(--ocean);
        color:var(--white)!important;
      }
    }
