@charset "UTF-8";
/**
 * NOTE: see `docs/adr/2019-04-09-sass.md` for an explanation
 * of the structure of this set of styles.
 */
@import url("../css/bootstrap.160e07da6cad.css");
@import url("../css/slick.f38b2db10e01.css");
@import url("../css/slick-theme.590ee7f4d13f.css");
/**
 * Legacy styles.
 *
 * In origin, these are the Less source files of the pre-Sass
 * front-end setup. See `docs/adr/2019-04-09-sass.md` for details
 * on how that transition was carried out.
 */
/*------------------------------
    variables
-------------------------------*/
/* Colors */
/* End Colors */
/*------------------------------
    Imports
-------------------------------*/
/*------------------------------
    MIXINS
-------------------------------*/
/*
    Mixins for flexbox
*/
@import url("../css/countup.768b78fc3001.css");
@import url("../css/images.f9799728204b.css");
@import url("../css/pygments.0d36c27fcece.css");
.flex-layout {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

/*------------------------------
    TEXT COLOR & BG COLOR
-------------------------------*/
/*--text--*/
.blue {
  color: #117F89; }
  .blue path {
    fill: #117F89; }

.dark-blue {
  color: #003236; }
  .dark-blue path {
    fill: #003236; }

.green {
  color: #8DB25C; }
  .green path {
    fill: #8DB25C; }

.grey {
  color: #6C7A78; }
  .grey path {
    fill: #6C7A78; }

.blue-grey {
  color: #718C84; }
  .blue-grey path {
    fill: #718C84; }

.lt-grey {
  color: #E4EDEB; }
  .lt-grey path {
    fill: #E4EDEB; }

.white {
  color: #FFF; }
  .white path {
    fill: #FFF; }

.black {
  color: #000; }
  .black path {
    fill: #000; }

/*--background fill colors--*/
.blue-bg {
  background-color: #117F89; }

.dark-blue-bg {
  background-color: #003236; }

.green-bg {
  background-color: #8DB25C; }

.grey-bg {
  background-color: #6C7A78; }

.lt-grey-bg {
  background-color: #E4EDEB; }

.white-bg {
  background-color: #FFF; }

/*--background fill colors with white type--*/
.blue-bg > p,
.dark-blue-bg > p,
.green-bg > p,
.grey-bg > p {
  color: #FFF; }

/*------------------------------
    CARDS, For Blog, Press and Case Studies Teasers
-------------------------------*/
.search_result_text > p {
  padding: 1em 0 0 0;
  margin: 0;
  text-align: center;
  color: #003236;
  font-family: 'gt_walsheim_regular', "Helvetica Neue", Helvetica, sans-serif; }
  .search_result_text > p.has-entries {
    padding: 1em 0; }

.search-message {
  padding-top: 18px; }
  .search-message p {
    margin: 0;
    padding-bottom: 1.15em; }

.card {
  background-color: white;
  box-shadow: 0px 0px 9px -3px rgba(0, 0, 0, 0.4);
  overflow: hidden;
  opacity: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  transition: opacity 0.25s ease-in, background-color 0.25s ease-in; }
  .card.preprocess {
    opacity: 0; }
  .card:hover {
    background-color: #fbfbfb; }

.card-img {
  width: 100%;
  height: 190px;
  overflow: hidden;
  background-color: #E4EDEB;
  margin: 0 auto;
  background-size: cover;
  background-position: center; }

.card-img img {
  vertical-align: middle;
  border: none; }

.card-img img {
  width: 100%; }

/* card-press classes used to vertically align logo within press cards */
.card-press-top {
  height: 190px;
  position: relative;
  width: 100%;
  background-color: #116c75;
  border: none; }

.card-press-dummy {
  padding-top: 100%;
  /* forces 1:1 aspect ratio */ }

.card-press-img-container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  /* Align center inline elements */
  font: 0/0 a; }

.card-press-img-container .centerer {
  display: inline-block;
  vertical-align: middle;
  height: 100%; }

.card-press-img-container img {
  vertical-align: middle;
  display: inline-block;
  max-height: 80%;
  /* <-- Set maximum height to 80% of its parent */
  max-width: 80%;
  /* <-- Set maximum width to 80% of its parent */ }

.card-work {
  width: 100%;
  height: 190px;
  overflow: hidden;
  margin: 0 auto;
  background-size: cover;
  background-position: center;
  color: #E4EDEB; }
  .card-work > a {
    vertical-align: inherit; }
  .card-work img {
    width: 100%; }

.card-img img {
  vertical-align: middle;
  border: none; }

.card-img img {
  width: 100%; }

.card-info {
  width: 100%;
  padding: 1.2em;
  text-align: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto; }
  .card-info .location {
    font-size: 80%; }
  .card-info .date-and-social {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: none;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -webkit-align-items: flex-end;
    -ms-flex-align: start;
    align-items: flex-end;
    -ms-flex-line-pack: start;
    -webkit-align-content: flex-end;
    -moz-align-content: flex-end;
    align-content: flex-end;
    -webkit-box-pack: start;
    -webkit-justify-content: space-between;
    -ms-flex-pack: start;
    justify-content: space-between; }
    .card-info .date-and-social .social-media-icon-bundle {
      position: relative;
      bottom: auto;
      right: auto;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      white-space: nowrap;
      padding-left: 0.5em; }

.card-info-eventlisting {
  width: 100%;
  padding: 1em 0.75em;
  text-align: left; }
  .card-info-eventlisting > .event-single-row > .fifth, .card-info-eventlisting > .event-single-row > .four-fifths {
    padding: 0 0.8em 0 0; }

.card-info-eventlisting .title,
.card-info .title, .events p.title {
  font-weight: 900;
  font-size: 1em;
  line-height: 1.5em;
  display: block; }

.card-info .author {
  font-family: 'gt_walsheim_medium', "Helvetica Neue", Helvetica, sans-serif;
  font-size: 85%;
  display: inline;
  padding-right: 1em; }

.card-info .author {
  font-family: 'gt_walsheim_medium', "Helvetica Neue", Helvetica, sans-serif;
  font-size: 85%;
  display: inline;
  padding-right: 1em; }

.card-info .label-block,
.card-info .author-date {
  padding-bottom: 1.2em; }

.card-info .title {
  color: #6C7A78; }
  .card-info .title a, .card-info .title .main-link {
    color: #117F89; }

.card-info .title a, .main-link {
  color: #003236; }

.card-info .author-date a {
  color: #8DB25C; }

.card-info .sample-text p,
.card-info-eventlisting p {
  font-size: 85%; }

.card-info .location {
  color: #6C7A78; }

.card-info .date {
  font-size: 0.85em;
  color: #6C7A78; }

.card-info .tag {
  color: #6C7A78;
  position: absolute;
  bottom: 1.2em; }

.card-info .sample-text p a {
  color: #6C7A78; }
  .card-info .sample-text p a:last-of-type {
    color: #117F89; }

.card-info .tag li {
  font-size: 75%;
  background-color: #E4EDEB;
  padding: 5px 12px;
  margin-right: 8px;
  display: inline; }

.card-info-eventlisting p,
.card-info p,
.card-info .content {
  color: #6C7A78;
  margin-bottom: 1.4em;
  line-height: 1.45em; }

.card-info ul {
  line-height: 1.75em; }

.card-info-eventlisting .event-single-row .fifth {
  padding: 0; }
  .card-info-eventlisting .event-single-row .fifth a {
    color: #117F89; }

.card-info-eventlisting .event-single-row,
.card-info .event-single-row {
  margin-top: 1em; }

.card-info-eventlisting .event-single-row h4,
.card-info .event-single-row h4 {
  font-size: 0.85em;
  font-weight: bold;
  margin-bottom: .8em;
  line-height: 1.4em;
  color: #003236; }

.cs-social-media-icon-bundle {
  float: right;
  position: inherit;
  bottom: 1em;
  right: 1em; }

.post-social-media-icon-bundle-event {
  text-align: right;
  position: inherit;
  margin-top: 0px;
  margin-left: 0px; }

.post-social-media-icon-bundle {
  float: right;
  position: inherit;
  margin-top: 14px;
  margin-left: 12px; }

.social-icons {
  width: 100px;
  display: flex;
  justify-content: space-between; }
  .social-icons a {
    margin: 0; }

.add-to-calendar-icon {
  float: left;
  display: inline;
  position: relative;
  bottom: 0px;
  left: 0px;
  margin-right: 0.8em; }

.social-media-icon-bundle {
  float: right;
  display: inline;
  position: absolute;
  bottom: 1em;
  right: 1em;
  margin-top: 2px; }

.post-social-media-icon-bundle-event a,
.bio-social-media-icon-bundle a,
.blog-detail .post-social-media-icon-bundle a,
.cs-social-media-icon-bundle a,
.social-media-icon-bundle a {
  color: #718C84;
  opacity: 0.6; }
  .post-social-media-icon-bundle-event a path,
  .bio-social-media-icon-bundle a path,
  .blog-detail .post-social-media-icon-bundle a path,
  .cs-social-media-icon-bundle a path,
  .social-media-icon-bundle a path {
    fill: #718C84; }

.card-services-graphic {
  border-radius: 50%;
  height: 100px;
  width: 100px;
  margin-bottom: 20px; }

.card-services-graphic img {
  width: 100%; }

.add-shadow {
  box-shadow: 0px 0px 9px -3px rgba(0, 0, 0, 0.4); }

.spacer-card {
  display: none; }

.card .sample-text .related-post {
  font-size: 0.85em;
  font-weight: bold;
  margin-bottom: .8em;
  color: #333333; }
  .card .sample-text .related-post a {
    color: #117F89; }

.author a {
  color: inherit; }

.author-green a {
  color: #8DB25C; }

.card .social-icons {
  min-width: 70px; }

.cta-holder {
  padding: 36px 0; }

.hs-cta-img {
  max-width: 100%; }

/*------------------------------
    Careers Page
-------------------------------*/
.careers-list {
  padding: 2em; }

.rbox-opening-li {
  padding: 20px 0 !important;
  border-bottom: 1px dotted rgba(127, 127, 127, 0) !important;
  border-top: 1px dotted rgba(127, 127, 127, 0) !important;
  text-align: center; }
  .rbox-opening-li a {
    color: #003236; }

.reading-wrapper
.rbox-opening-li:hover a {
  text-decoration: none; }

.rbox-job-shortdesc {
  padding: 10px 0 !important; }

.rbox-job-longdesc *,
.rbox-opening-position-info * {
  font-family: "gt_walsheim_regular", "Helvetica Neue", Helvetica, sans-serif !important;
  font-size: 100% !important; }

.rbox-opening-position-info {
  display: block; }

.rbox-opening-position-type {
  color: #003236 !important; }

.rbox-top-links a,
.rbox-bottom-links a {
  color: #9ec16c;
  text-decoration: none; }

.rbox-top-links a:hover,
.rbox-bottom-links a:hover {
  border-bottom: solid 1px; }

.rbox-opening-position-info
.rbox-opening-position-type,
.rbox-opening-position-info
.rbox-opening-allows-remote {
  color: #003236 !important;
  border: none; }

.bullet-column .third {
  padding: 0px 30px 2em;
  width: 100%; }
  .bullet-column .third h2 {
    display: block;
    font-size: 1em;
    font-weight: bolder;
    margin-bottom: 20px;
    padding: 8px;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    background-color: #FFF; }
  .bullet-column .third h4 {
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 20px; }
  .bullet-column .third blockquote {
    border-left-color: white;
    color: white; }

.row + .benefits {
  padding-bottom: 0; }
  .row + .benefits .bullet-column .third:nth-of-type(3),
  .row + .benefits .bullet-column .third:nth-of-type(6) {
    padding-bottom: 0; }

body#careers #why-join .reason .quote {
  line-height: 1.45em; }

/*------------------------------
    HOMEPAGE, OURWORK
-------------------------------*/
.home-page .our-work {
  background-color: none; }

.home-page .our-work .section-title {
  text-align: center; }

.home-page .our-work .hr-section-title {
  border-bottom-color: #117F89;
  margin-bottom: 2em; }

.home-page .our-work .case-study-detail {
  margin: 0 auto 10em;
  width: 260px;
  height: 260px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: center center;
  background-size: cover;
  background-color: #969696; }
  .home-page .our-work .case-study-detail > div {
    opacity: 0.9;
    -webkit-transition: opacity 0.1s;
    transition: opacity 0.1s; }

.home-page .our-work a {
  opacity: 1; }

.home-page .our-work .project-benefit {
  text-align: center;
  background-color: white;
  padding: 1em 1.5em 1.5em;
  width: 85%;
  margin: 0 auto;
  position: relative;
  top: 14em;
  font-size: 85%;
  line-height: 1.45em;
  color: #8DB25C;
  min-height: 150px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: center;
  -ms-flex-pack: start;
  justify-content: center; }

.home-page .our-work .project-benefit span.big-number {
  font-size: 160%;
  color: #8DB25C;
  padding-bottom: 0.5em;
  font-family: 'gt_walsheim_medium', "Helvetica Neue", Helvetica, sans-serif;
  line-height: 1.2em;
  display: block; }

.home-page .our-work .case-study-info {
  color: #117F89;
  text-align: center;
  padding: 2em 15%; }

.home-page .our-work .no-padding-bottom {
  padding-bottom: 0; }

.home-page .our-work .case-study-info .case-study-title a,
.home-page .our-work .case-study-info .case-study-overview a {
  color: #117F89; }

.home-page .our-work .case-study-info .case-study-title {
  font-size: 130%;
  padding-bottom: 0.65em; }

/*------------------------------
    HOMEPAGE, OUR CLIENTS
-------------------------------*/
.home-page .our-clients {
  background-color: #E4EDEB;
  text-align: center; }

.home-page .our-clients .small-section-title {
  font-size: 120%;
  color: #117F89; }

.home-page .our-clients-logos {
  width: 75%;
  margin: 0 auto;
  overflow: auto; }
  .home-page .our-clients-logos .small-section-title {
    padding-bottom: 2em; }
  .home-page .our-clients-logos a.hollow-button-blue {
    display: inline-block; }

.pbs-logo,
.discovery-logo,
.unicef-logo,
.irc-logo,
.uchicago-logo {
  height: 170px; }

.pbs-logo {
  background: url("/static/images/3rdparty_logos/pbs_ongray.ece2546dc80d.png") no-repeat center center;
  background: url("/static/images/3rdparty_logos/pbs_ongray.99be7351c959.svg") no-repeat center center;
  background-size: 120%; }

.discovery-logo {
  background: url("/static/images/3rdparty_logos/discovery_ongray.55faced615d7.png") no-repeat center center;
  background: url("/static/images/3rdparty_logos/discovery_channel_ongray.1196210a85e1.svg") no-repeat center center;
  background-size: 80%; }

.unicef-logo {
  background: url("/static/images/3rdparty_logos/unicef_ongray.c853a2dc39b8.svg") no-repeat center center;
  background: url("/static/images/3rdparty_logos/unicef_ongray.c853a2dc39b8.svg") no-repeat center center;
  background-size: 80%; }

.irc-logo {
  background: url("/static/images/3rdparty_logos/irc_ongray.792ddbcba46d.png") no-repeat center center;
  background: url("/static/images/3rdparty_logos/irc_ongray.862c1b76a008.svg") no-repeat center center;
  background-size: 130%; }

.uchicago-logo {
  background: url("/static/images/3rdparty_logos/uchicago_ongray.ed88c14287ba.png") no-repeat center center;
  background: url("/static/images/3rdparty_logos/uchicago_ongray.2a30c614dfdd.svg") no-repeat center center;
  background-size: 80%; }

/*------------------------------
    HOMEPAGE, BLOG
-------------------------------*/
.home-page .our-blog {
  text-align: center; }

.home-page .our-blog .button-padded {
  padding: 34px; }

.home-page .our-blog .wrapper .three-quarters .full {
  padding-bottom: 3em;
  width: 100%; }

.our-awards .blog-card-wrapper,
.our-books .blog-card-wrapper,
.home-page .our-blog .blog-card-wrapper,
.home-page .our-blog .events {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: none;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: center;
  -ms-flex-pack: start;
  justify-content: center; }

.home-page .our-blog .card {
  position: relative;
  margin: 1em 5% 1.5em;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: space-between;
  -ms-flex-pack: start;
  justify-content: space-between; }
  .home-page .our-blog .card.talk .location {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-end;
    -ms-flex-align: start;
    align-items: flex-end;
    -ms-flex-line-pack: start;
    -webkit-align-content: flex-end;
    -moz-align-content: flex-end;
    align-content: flex-end;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
  .home-page .our-blog .card.talk .date-and-social {
    flex: 0 1 auto; }

.home-page .our-blog .card .title {
  padding-bottom: 1em; }

.our-awards .card-horizontal,
.our-books .card-horizontal,
.home-page .our-blog .card,
.home-page .our-blog .event {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 310px;
  -ms-flex: 0 1 310px;
  flex: 0 1 310px;
  width: 310px; }

.home-page .our-blog .section-title {
  color: white; }

.home-page .our-blog .hr-section-title {
  border-bottom-color: white;
  margin-bottom: 1em; }

.home-page .our-blog .date {
  font-size: 80%;
  display: inline-block;
  bottom: 1.2em; }

.home-page .our-blog svg {
  bottom: 1.2em;
  right: 1.3em; }

/*------------------------------
    HOMEPAGE, EVENTS
-------------------------------*/
.home-page .our-blog .events-wrapper {
  display: block; }

.home-page .our-blog .events-wrapper .events {
  width: 100%; }

.home-page .our-blog .events-section-title {
  color: #003236; }

.home-page .our-blog .events-hr-section-title {
  border-bottom-color: #003236;
  margin-bottom: 1em; }

.home-page .event {
  text-align: left;
  padding: 0 1em;
  margin: 1em 5% 0; }

.home-page .events p.title {
  color: #003236;
  font-weight: 700; }

.home-page .events p.date {
  margin-bottom: 0;
  color: #FFF;
  font-size: 85%;
  display: inline-block;
  position: inherit; }

.home-page .events svg {
  float: right;
  position: inherit; }

.home-page .our-blog .events-wrapper .full {
  padding-bottom: 3em;
  width: 100%; }

.home-page .our-blog .quarter .full a {
  color: #003236; }

/*------------------------------
    About
-------------------------------*/
#about-us {
  /*
    Ad hoc fixes to ensure that headers with bottom borders don't look
    weird on screen sizes where contents wrap.
  */ }
  #about-us .card .card-info .sample-text a {
    color: #117F89; }
  @media (max-width: 375px) {
    #about-us #open-source-leadership h2 {
      max-width: 175px; } }
  @media (max-width: 407px) {
    #about-us #community-participation h2 {
      max-width: 220px; } }
  @media (max-width: 439px) {
    #about-us h3 {
      font-size: 90%;
      line-height: 1.65em; }
    #about-us .cushion-big-space {
      padding: 2.5em 10px; }
    #about-us a.hollow-button-green,
    #about-us a.hollow-button-blue {
      display: inline-block;
      margin: 0; } }
  @media (max-width: 439px) {
    #about-us .landing-hero .cushion-big-space {
      padding: 1.5em 10px; } }
  @media (max-width: 439px) {
    #about-us #open-source-leadership.cushion-big-space {
      padding: 2.5em 10px; }
    #about-us #open-source-leadership .spacer {
      height: 2em; } }
  #about-us #community-participation {
    padding-left: 20px;
    padding-right: 20px; }
  #about-us .charitable-giving {
    padding-left: 20px;
    padding-right: 20px; }
    #about-us .charitable-giving ul {
      padding: 0; }
      #about-us .charitable-giving ul li {
        list-style: none; }
    #about-us .charitable-giving .alt-content-wrapper .expander div:first-child {
      padding-bottom: 2px;
      display: inline; }
    #about-us .charitable-giving .alt-content-wrapper .expander i.fa {
      margin-top: 6px; }
    #about-us .charitable-giving .alt-content-wrapper .expander:hover div:first-child {
      border-bottom: 1px solid; }
    #about-us .charitable-giving .alt-content-wrapper .expander:hover i.fa {
      text-decoration: underline; }
  #about-us .sixth {
    width: 50%;
    float: left;
    min-height: 10em; }
  #about-us .label-below-image {
    margin: 20px 0; }
    #about-us .label-below-image a {
      display: block;
      height: 80px; }
      #about-us .label-below-image a .participant {
        max-height: 60px;
        max-width: 100px;
        height: initial; }
  #about-us #our-team .staff-photo {
    color: #117F89; }
    #about-us #our-team .staff-photo img {
      border-radius: 50%;
      width: 100px;
      height: 100px;
      background-color: #E4EDEB;
      border: 0px;
      margin-top: 40px; }
    #about-us #our-team .staff-photo span {
      display: block; }
  #about-us .showme-content ul li {
    list-style: none; }
  #about-us .expanded #up-arrow-down-arrow {
    transform: rotate(180deg); }

/*------------------------------
    IMAGES & GRAPHICS
-------------------------------*/
.rounded-corners {
  border-radius: 4px; }

.community-image {
  height: 60px;
  /* equals max image height */
  white-space: nowrap;
  text-align: center; }

.community-image img {
  vertical-align: middle;
  max-height: 60px;
  max-width: 100px; }

.community-image-helper {
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.community-image-label {
  margin-top: 1em; }

/*------------------------------
    BIO PAGES
-------------------------------*/
.bio-header-layover {
  position: relative;
  background-color: #FFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: none;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: start;
  -webkit-justify-content: space-between;
  -ms-flex-pack: start;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: center;
  -ms-flex-align: start;
  align-items: center; }
  .bio-header-layover > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  .bio-header-layover h1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%; }
  .bio-header-layover h4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 90%;
    -ms-flex: 0 1 90%;
    flex: 0 1 90%; }
  .bio-header-layover .bio-social-media-icon-bundle {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }

.bio-image-wrapper {
  max-width: 840px;
  margin: 0 auto;
  height: 100%; }

.bio-image-wrapper img {
  width: 100%;
  margin: 0 auto;
  overflow: hidden; }

.bio-image-foldover {
  margin-top: -3em;
  margin-bottom: -2em; }

.bio-text-cushion {
  padding: 12px 10px 4px 16px; }

/*------------------------------
    DROP DOWNS
-------------------------------*/
.cushion .custom-dropdown {
  margin: 0em .7em; }

.custom-dropdown {
  display: block;
  position: relative;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #718C84; }
  .custom-dropdown select {
    -webkit-appearance: none;
    /*REMOVES DEFAULT CHROME & SAFARI STYLE*/
    -moz-appearance: none;
    /*REMOVES DEFAULT FIREFOX STYLE*/
    background-color: transparent;
    border: none;
    color: #718C84;
    font-size: 0.85em;
    padding: 10px 14px;
    width: 100%;
    position: relative;
    z-index: 2;
    cursor: pointer; }
    .custom-dropdown select::-ms-expand {
      display: none; }
  .custom-dropdown .fa {
    display: inline-block;
    vertical-align: middle;
    float: right;
    position: absolute;
    right: 14px;
    top: 12px;
    z-index: 1; }
    .custom-dropdown .fa path {
      fill: #718C84; }

/*------------------------------
    SEARCH, FILTER, SORT ELEMENTS
-------------------------------*/
.sign-up-container, .search-container {
  font-size: 0.85em;
  width: 100%;
  vertical-align: middle;
  white-space: nowrap;
  position: relative; }

.sign-up-container {
  margin-top: -6px; }
  .sign-up-container .fa path {
    fill: #718C84; }

.newsletter-popup .sign-up-container .fa {
  position: absolute; }

.search-container {
  height: 43px; }
  .search-container .fa {
    position: absolute;
    left: 8px;
    top: 10px;
    transform: scale(0.75); }
    .search-container .fa path {
      fill: #6C7A78; }

.sign-up-container input#text,
.search-container input#search {
  width: 100%;
  height: 36px;
  background: #FFF;
  border: none;
  float: left;
  color: #6C7A78;
  font-size: 1.2em;
  padding-left: 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: background .55s ease;
  -moz-transition: background .55s ease;
  -ms-transition: background .55s ease;
  -o-transition: background .55s ease;
  transition: background .55s ease; }

.search-container input#search {
  padding-left: 36px;
  padding-right: 18px;
  height: 43px; }

.sign-up-container input#text::-webkit-input-placeholder,
.search-container input#search::-webkit-input-placeholder {
  color: #6C7A78; }

.sign-up-container input#text:-moz-placeholder,
.search-container input#search:-moz-placeholder {
  /* Firefox 18- */
  color: #6C7A78; }

.sign-up-container input#text::-moz-placeholder,
.search-container input#search::-moz-placeholder {
  /* Firefox 19+ */
  color: #6C7A78; }

.sign-up-container input#text:-ms-input-placeholder,
.search-container input#search:-ms-input-placeholder {
  color: #6C7A78; }

.search-container .icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 12px;
  z-index: 1;
  color: #6C7A78; }

.active-underline {
  border-bottom: 2px solid #003236;
  padding-bottom: 3px; }

.content-toggle h3 {
  font-size: 1.5em;
  font-family: 'gt_walsheim_bold', "Helvetica Neue", Helvetica, sans-serif;
  text-decoration: none;
  color: #003236;
  display: inline; }

.content-toggle a {
  font-size: 1.5em;
  font-family: 'gt_walsheim_regular', "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 700;
  text-decoration: none;
  color: #003236;
  display: inline;
  padding: 10px; }

.newsletter-popup,
.newsletter-popup-success,
.newsletter-popup-already-subscribed {
  position: fixed;
  right: 20px;
  bottom: -150px;
  color: #718C84;
  background-color: #E4EDEB;
  padding: 18px;
  border: none;
  border-radius: 4px;
  width: 300px;
  -webkit-box-shadow: 0 2px 9px -3px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0 2px 9px -3px rgba(0, 0, 0, 0.4);
  box-shadow: 0 2px 9px -3px rgba(0, 0, 0, 0.4);
  transition: all 0.3s linear; }
  @media screen and (max-width: 768px) {
    .newsletter-popup,
    .newsletter-popup-success,
    .newsletter-popup-already-subscribed {
      width: auto;
      right: 0;
      left: 0; } }
  .newsletter-popup .close,
  .newsletter-popup-success .close,
  .newsletter-popup-already-subscribed .close {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: inherit;
    font-weight: normal;
    opacity: 0.4;
    transition: all 0.3s linear; }
    .newsletter-popup .close:hover,
    .newsletter-popup-success .close:hover,
    .newsletter-popup-already-subscribed .close:hover {
      opacity: 0.8; }
    .newsletter-popup .close path,
    .newsletter-popup-success .close path,
    .newsletter-popup-already-subscribed .close path {
      fill: #718C84; }
    @media screen and (max-width: 768px) {
      .newsletter-popup .close,
      .newsletter-popup-success .close,
      .newsletter-popup-already-subscribed .close {
        font-size: 150%; } }

.newsletter-popup {
  font-weight: 700; }
  .newsletter-popup label,
  .newsletter-popup .text-danger {
    padding-left: 2px; }
  .newsletter-popup input {
    border: 1px solid #d7dbdb;
    padding-right: 45px; }
  .newsletter-popup .sign-up-container .icon {
    top: 5px;
    right: 6px; }
  @media screen and (max-width: 768px) {
    .newsletter-popup input, .newsletter-popup select, .newsletter-popup textarea {
      font-size: 16px; } }

.newsletter-popup-success .fa {
  display: block;
  float: left;
  margin-right: 0.6rem;
  color: #8DB25C; }

.newsletter-popup-success .close {
  margin-right: 0; }

.newsletter-popup-success,
.newsletter-popup-already-subscribed {
  display: none;
  bottom: 20px; }
  .newsletter-popup-success h3,
  .newsletter-popup-already-subscribed h3 {
    font-weight: 700;
    margin: 0; }
  .newsletter-popup-success .message,
  .newsletter-popup-already-subscribed .message {
    float: right; }
    .newsletter-popup-success .message p,
    .newsletter-popup-already-subscribed .message p {
      margin: 0;
      line-height: 1.25rem; }

.shake {
  animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both; }

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0); }
  20%, 80% {
    transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0); }
  40%, 60% {
    transform: translate3d(4px, 0, 0); } }

/*doc

---
title: Index
name: index
category: Index

---
This is your style guide. Get used to it.

*/
.fa svg {
  fill: currentColor; }

/*------------------------------
           VARIABLES
-------------------------------*/
/*****************************
            COLORS
*****************************/
.section--bg {
  background-color: white;
  color: #262929; }

.section--bg-alt {
  background-color: #f5f9f0;
  color: #262929; }

.title__text {
  color: #262929; }

/*****************************
          NAVIGATION
*****************************/
/*********************************
          TYPOGRAPHY DEFAULTS
*********************************/
/*********************************
          WHITESPACE DEFAULTS
*********************************/
/*------------------------------
            MIXINS
-------------------------------*/
/*****************************
      BOX STYLING MIXINS
*****************************/
/*****************************
            FLEX
*****************************/
/*****************************
        FONT FACE MIXINS
*****************************/
/*****************************
       TRANSITION MIXINS
*****************************/
/*****************************
        BUTTON MIXINS
*****************************/
/*------------------------------
CSS RESET
-------------------------------*/
html, body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/*------------------------------
          FONT FACE
-------------------------------*/
@font-face {
  font-family: 'gt_walsheim_bold';
  src: url("../fonts/gt-walsheim-bold-web.e41a38144308.eot");
  src: url("../fonts/gt-walsheim-bold-web.e41a38144308.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-bold-web.e7ba59f70010.woff") format("woff"), url("../fonts/gt-walsheim-bold-web.61ee41107079.ttf") format("truetype"), url("../fonts/gt-walsheim-bold-web.3dd2ec54fff2.svg#gt_walsheim_bold") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'gt_walsheim_bold_oblique';
  src: url("../fonts/gt-walsheim-bold-oblique-web.0f8882dae5ea.eot");
  src: url("../fonts/gt-walsheim-bold-oblique-web.0f8882dae5ea.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-bold-oblique-web.6177eb2e8fa4.woff") format("woff"), url("../fonts/gt-walsheim-bold-oblique-web.57aa946ebf4e.ttf") format("truetype"), url("../fonts/gt-walsheim-bold-oblique-web.1865e41a0963.svg#gt_walsheim_bold_oblique") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'gt_walsheim_light';
  src: url("../fonts/gt-walsheim-light-web.6ee66d30a53f.eot");
  src: url("../fonts/gt-walsheim-light-web.6ee66d30a53f.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-light-web.ecfc6e3bdb9d.woff") format("woff"), url("../fonts/gt-walsheim-light-web.9b7721bb8734.ttf") format("truetype"), url("../fonts/gt-walsheim-light-web.78de76cc2d7e.svg#gt_walsheim_light") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'gt_walsheim_light_oblique';
  src: url("../fonts/gt-walsheim-light-oblique-web.4ce3a00b0a6b.eot");
  src: url("../fonts/gt-walsheim-light-oblique-web.4ce3a00b0a6b.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-light-oblique-web.b3d2f3dc007d.woff") format("woff"), url("../fonts/gt-walsheim-light-oblique-web.b2fb44151ae9.ttf") format("truetype"), url("../fonts/gt-walsheim-light-oblique-web.0a5f9d979c79.svg#gt_walsheim_light_oblique") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'gt_walsheim_medium';
  src: url("../fonts/gt-walsheim-medium-web.871771d4ce05.eot");
  src: url("../fonts/gt-walsheim-medium-web.871771d4ce05.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-medium-web.42db0bce4125.woff") format("woff"), url("../fonts/gt-walsheim-medium-web.1821054ee3a6.ttf") format("truetype"), url("../fonts/gt-walsheim-medium-web.738152b0725e.svg#gt_walsheim_medium") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'gt_walsheim_medium_oblique';
  src: url("../fonts/gt-walsheim-medium-oblique-web.695681921608.eot");
  src: url("../fonts/gt-walsheim-medium-oblique-web.695681921608.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-medium-oblique-web.2c431fd0df1c.woff") format("woff"), url("../fonts/gt-walsheim-medium-oblique-web.e57b67777956.ttf") format("truetype"), url("../fonts/gt-walsheim-medium-oblique-web.354363a5dec8.svg#gt_walsheim_medium_oblique") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'gt_walsheim_regular';
  src: url("../fonts/gt-walsheim-web.f55aab9dbf82.eot");
  src: url("../fonts/gt-walsheim-web.f55aab9dbf82.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-web.6a68531dceef.woff") format("woff"), url("../fonts/gt-walsheim-web.a78cebccad7e.ttf") format("truetype"), url("../fonts/gt-walsheim-web.acc828e38f7c.svg#gt_walsheim_regular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'gt_walsheim_regular_oblique';
  src: url("../fonts/gt-walsheim-regular-oblique-web.8da7cbc65eb4.eot");
  src: url("../fonts/gt-walsheim-regular-oblique-web.8da7cbc65eb4.eot?#iefix") format("embedded-opentype"), url("../fonts/gt-walsheim-regular-oblique-web.e7e0a68b7180.woff") format("woff"), url("../fonts/gt-walsheim-regular-oblique-web.136f70ed4af9.ttf") format("truetype"), url("../fonts/gt-walsheim-regular-oblique-web.abddae5add39.svg#gt_walsheim_regular_oblique") format("svg");
  font-weight: normal;
  font-style: normal; }

/*------------------------------
    BASE, BODY
-------------------------------*/
body {
  overflow-x: hidden; }

html, body {
  font-family: 'gt_walsheim_regular', "Helvetica Neue", Helvetica, sans-serif;
  height: 100%;
  font-size: 110%;
  line-height: 120%;
  -webkit-font-smoothing: antialiased; }

/*------------------------------
         LAYOUT RULES
-------------------------------*/
/*****************************
            GRID
*****************************/
.row {
  padding: 30px 0; }

.full .wrapper .sixth .center-all,
.full .wrapper .fifth .center-all {
  margin: 0 auto;
  text-align: center;
  vertical-align: bottom; }

.full,
.half,
.third,
.two-thirds,
.quarter,
.three-quarters,
.fifth,
.two-fifths,
.three-fifths,
.four-fifths,
.sixth,
.five-sixths {
  float: none;
  box-sizing: border-box; }

.fifth,
.sixth,
.third,
.two-fifths,
.quarter {
  padding: 0 0.5em; }

/*****************************
        LAYOUT UTILITIES
*****************************/
html[dir="rtl"] body {
  direction: rtl; }

.wrapper {
  max-width: 1200px;
  margin: 0 auto; }

.reading-wrapper {
  max-width: 700px;
  margin: 0 auto; }

.scribble-embed-wrapper {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column; }
  .scribble-embed-wrapper > * {
    flex: 1;
    margin-bottom: 1rem; }
  @media (min-width: 768px) {
    .scribble-embed-wrapper {
      flex-direction: row; }
      .scribble-embed-wrapper > *:not(:last-child) {
        margin-right: 1rem;
        margin-bottom: 0; } }

.alt-content-wrapper {
  max-width: 800px;
  margin: 0 auto; }

.page-width {
  max-width: 960px;
  margin: 0 auto;
  overflow: auto; }

.center-all {
  margin: 0 auto;
  text-align: center;
  vertical-align: middle; }

.go-to-bottom {
  vertical-align: text-bottom; }

.float-layout > * {
  float: left;
  width: 100%; }

html[dir="rtl"] .float-layout > * {
  float: right; }

.right {
  float: right; }

html[dir="rtl"] .right {
  float: left; }

.left {
  float: left; }

html[dir="rtl"] .left {
  float: right; }

.align-left,
.align-left ul,
.align-left li {
  text-align: left; }

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

.center {
  margin: 0 auto;
  text-align: center; }

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

.cushion {
  padding: 10px; }

.cushion-sides {
  padding: 0 10px; }

.cushion-ends {
  padding: 10px 0; }

.cushion-ends-xtwo {
  padding: 30px 0; }

.cushion-sides-xtwo {
  padding: 10px 30px; }

.cushion-big-space {
  padding: 70px 0 130px 0; }

.clear {
  clear: both;
  float: none; }

.spacer {
  height: 3em; }

.hidden {
  display: none; }

.initial-hidden {
  display: none; }

.transparent {
  opacity: 0; }

.one-pixel-height {
  height: 1px; }

/*****************************
        TABLE LAYOUT
*****************************/
.table-layout {
  display: table;
  width: 100%; }

.table-layout > * {
  display: table-row; }

.table-layout > * > * {
  display: table-cell; }

/*****************************
    PAGE CONTENT LAYOUT
*****************************/
#main-content {
  padding-top: 60px; }
  @media (min-width: 1025px) {
    #main-content {
      padding-top: 80px; } }

.case-study-detail #main-content {
  padding-top: calc(80px - 20px); }

#our-team {
  margin: 58.08px 0; }
  #our-team h2 {
    margin-bottom: 38.72px; }
  #our-team .row {
    padding: 0 0 38.72px; }
  #our-team ul.team-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: -38.72px;
    margin-bottom: 38.72px;
    padding: 0;
    justify-content: center; }
    #our-team ul.team-list li {
      flex-basis: 50%;
      list-style-type: none;
      margin-bottom: 0; }
      @media all and (min-width: 768px) {
        #our-team ul.team-list li {
          flex-basis: 33.33%; } }
      @media all and (min-width: 1024px) {
        #our-team ul.team-list li {
          flex-basis: 25%; } }
  #our-team .hollow-button-blue-fill {
    display: inline-block;
    margin: 0; }

#contact .contact-box {
  min-height: 500px; }

.home-page .our-success-model,
.service-list .services-description {
  background-color: #E4EDEB; }
  .home-page .our-success-model h2,
  .service-list .services-description h2 {
    display: block;
    text-align: center; }
  .home-page .our-success-model p,
  .service-list .services-description p {
    line-height: 1.5; }

/***************************
    BREAKPOINT 440px
****************************/
@media (min-width: 440px) {
  .third {
    width: 33.33333333%; }
  .two-thirds {
    width: 66.66666666%; }
  .home-page .our-work .third {
    width: 100%; }
  .home-page .our-clients-logos .small-section-title {
    padding: 0; }
  .home-page .our-clients-logos .fifth {
    width: 50%;
    margin: 0 auto;
    float: left; }
    .home-page .our-clients-logos .fifth:nth-child(6) {
      width: 100%; }
  .irc-logo {
    background-size: 120%; }
  .uchicago-logo {
    background-size: 40%; }
  .sideshow {
    height: 300px; }
    .sideshow img {
      height: 300px; } }

/*****************************
    BREAKPOINT 540px
*****************************/
@media (min-width: 540px) {
  #about-us h1 {
    margin-bottom: 38.72px; }
  #about-us .sixth {
    width: 33.33333333%; }
  #about-us .about-us-description {
    padding: 58.08px 0; }
    #about-us .about-us-description p {
      margin-bottom: 0; }
  .participant {
    max-height: 80px;
    max-width: 140px; }
  #our-team .third,
  #our-team .quarter {
    width: 33.33333333%;
    min-height: 10em; }
    #our-team .third:last-of-type,
    #our-team .quarter:last-of-type {
      width: 33.33333333%; } }

/*****************************
    BREAKPOINT 768px
*****************************/
@media (min-width: 768px) {
  .full {
    width: 100%; }
  .half {
    width: 50%; }
  .third {
    width: 33.33333333%; }
  .two-thirds {
    width: 66.66666666%; }
  .quarter {
    width: 25%; }
  .three-quarters {
    width: 75%; }
  .fifth {
    width: 20%; }
  .two-fifths {
    width: 40%; }
  .three-fifths {
    width: 60%; }
  .four-fifths {
    width: 80%; }
  .sixth {
    width: 16.66666666%; }
  .five-sixths {
    width: 83.33333333%; }
  .full,
  .half,
  .third,
  .two-thirds,
  .quarter,
  .three-quarters,
  .fifth,
  .two-fifths,
  .three-fifths,
  .four-fifths,
  .sixth,
  .five-sixths {
    float: left;
    box-sizing: border-box; }
  .row {
    padding: 40px 0; }
  .home-page .our-work .third {
    width: 33.33333333%; }
  .home-page .our-work .case-study-detail {
    width: 220px;
    height: 220px; }
  .home-page .our-work .project-benefit {
    top: 12em;
    min-height: 200px; }
  .home-page .our-work .case-study-info {
    padding: 3em 15%;
    height: 17em; }
  .hidden-spacer-card {
    display: inline-block; }
  .home-page .our-clients-logos .fifth {
    width: 20%;
    margin: 0 auto;
    float: left; }
  .home-page .our-clients-logos .fifth:nth-child(6) {
    width: 20%; }
  .irc-logo {
    background-size: 100%; }
  .uchicago-logo {
    background-size: 80%; }
  .what-people-say .client-quote {
    font-size: 140%;
    padding-bottom: 0.5em; }
  .press-logo-dummy {
    padding-top: 100%;
    /* forces 1:1 aspect ratio */ }
  body.service-list .card .card-services-graphic {
    height: 130px;
    width: 130px; }
  body.service-list ul {
    padding-right: 0.5em; }
  [class*='pricing-tier'] {
    width: 356px; }
  [class*='pricing-tier'] > h3 {
    font-size: 100%; }
  .pricing-scribbler-wrapper {
    font-size: 90%; }
  #about-us #our-team .quarter {
    width: 25%;
    min-height: 10em; }
    #about-us #our-team .quarter:last-of-type {
      width: 25%; }
  #about-us .staff-photo img {
    width: 120px;
    height: 120px; }
  .bullet-column .third {
    width: 33.33333333%;
    padding-bottom: 0; }
  .careers-list {
    padding: 0; }
  .list-view-filter {
    padding: 2em 1.2em 1.5em !important; }
    .list-view-filter .three-quarters,
    .list-view-filter .quarter {
      padding: 0; } }

/*****************************
    BREAKPOINT 992px
*****************************/
@media (min-width: 992px) {
  .row {
    padding: 36px 0; }
  .hide-small {
    display: block; }
  .hide-large {
    display: none; }
  body#contact-form-sent .footer {
    position: absolute; }
  .home-page .our-work .case-study-detail {
    width: 250px;
    height: 250px; }
  .home-page .our-work .project-benefit {
    width: 85%;
    top: 14em;
    width: 75%;
    position: relative;
    padding: 1.25em 1em; }
  .home-page .our-work .project-benefit span.big-number {
    font-size: 200%;
    padding-bottom: 0.5em; }
  .home-page .our-work .case-study-info {
    color: #117F89;
    text-align: center;
    padding: 3em 10% 2em;
    height: 13em; }
  .home-page .our-clients .small-section-title {
    font-size: 120%;
    margin-bottom: 0; }
  .home-page .our-clients .client-logo {
    margin: 3em auto 5em; }
  .what-people-say .quote-slider {
    margin: 5em auto 0;
    width: 90%; }
  .slideshow {
    height: 260px; }
    .slideshow img {
      height: 260px; }
  #about-us .sixth {
    width: 16.66666666%; } }

/*****************************
    BREAKPOINT 1200px
*****************************/
@media (min-width: 1200px) {
  .row {
    padding: 34px 0; }
  .wrapper {
    margin: 0 auto; }
  .slideshow {
    height: 300px; }
    .slideshow img {
      height: 400px; }
  [class*='pricing-tier'] {
    margin: 0; } }

/*doc
---
title: Typography
category: Typography
name: typography
---
These are the heading sizes that you can use site wide.

```html_example_table

<h1>H1 Heading 165%</h1>

<h2>H2 Heading 150%</h2>

<h3>H3 Heading 135%</h3>

<h4>H4 Heading 115%</h4>

<h5>H5 Heading 85%</h5>

<p>This is an example of our base font style 100%. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>

<p class="medium-type">This is an example of our base font style 100% at medium font weight. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>

<p class="heavy-type">This is an example of our base font style 100% at heavy font weight. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>

<p class="italic">This is an example of our base font style 100% in itallics. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>

<p class="caption">This is a caption</p>

<pre>This is an example of written code styling</pre>


```
*/
/*------------------------------
         GLOBAL TYPOGRAPHY
-------------------------------*/
h1, h2,
h3,
h4,
h5,
h6 {
  font-weight: normal; }

h2 {
  font-size: 150%;
  line-height: 1.5em;
  padding-bottom: 1px;
  display: table; }

h3 {
  font-size: 135%;
  line-height: 1.5em; }

h4 {
  font-size: 115%;
  line-height: 1.15em;
  margin-bottom: 0.35em; }

h5 {
  font-family: 'gt_walsheim_medium';
  font-size: 85%;
  line-height: 1.6em;
  margin-bottom: 0.25em; }

p {
  line-height: 145%;
  color: #3C3C3C;
  margin-bottom: 1.15em; }

pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.428571429;
  color: #333333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #cccccc;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0; }

.medium-type {
  font-family: 'gt_walsheim_medium'; }

.heavy-type {
  font-family: 'gt_walsheim_bold'; }

.italic {
  font-family: 'gt_walsheim_regular_oblique'; }

.caption {
  text-align: right;
  font-size: 75%;
  padding: 0 0 2em;
  color: #999; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.section-title {
  margin: 0 auto 1em;
  text-align: center;
  font-size: 125%;
  font-family: 'gt_walsheim_medium';
  line-height: 1.5em;
  max-width: 35em;
  padding-bottom: 4px;
  display: table; }

.small-section-title {
  font-size: 120%;
  line-height: 1.45em;
  margin-bottom: 0; }

/*****************************
           HEADER
*****************************/
.landing-hero h3,
.no-photo-hero h3 {
  font-size: 90%;
  line-height: 1.65em; }

/*****************************
           FOOTER
*****************************/
.footer h2 {
  border-bottom: none;
  margin-bottom: 0.75em; }

.footer p {
  color: #718C84;
  line-height: 1.4em; }

/*****************************
   TALKS, AWARDS, AND BOOKS
*****************************/
.our-awards .three-quarters p.white,
.our-books .three-quarters p.white {
  text-align: center;
  margin-top: 1.2em; }

.our-awards .card-info p,
.our-books .card-info p {
  margin-bottom: 0.25em; }

.our-awards .card-info .title,
.our-books .card-info .title {
  font-size: 110%;
  color: #117F89;
  padding-bottom: 0; }

.our-awards .card-info .author,
.our-books .card-info .author {
  color: #99BD66; }

.our-awards .card-info .purchase-from,
.our-books .card-info .purchase-from {
  color: #117F89; }

.our-awards .card-info .author,
.our-awards .card-info .synopsis,
.our-awards .card-info .purchase-from,
.our-books .card-info .author,
.our-books .card-info .synopsis,
.our-books .card-info .purchase-from {
  margin-bottom: 0.25em;
  line-height: 1.45em;
  color: #697978; }

/*****************************
        BLOG POSTS
*****************************/
#blog-text table.docutils {
  margin-bottom: 1.15em; }

#blog-text table.docutils, #blog-text th,
#blog-text td {
  border: 1px solid #697978; }

#blog-text th, #blog-text td {
  padding: 0.25em 0.5em; }

/*****************************
     SERVER ERROR PAGES
*****************************/
body#fivehundred .message p, body#fourzerofour .message p {
  font-size: 1.5em;
  line-height: 1.5em; }

/***************************
    BREAKPOINT 440px
****************************/
@media (min-width: 440px) {
  .section-title {
    font-size: 150%; } }

/*****************************
    BREAKPOINT 768px
*****************************/
@media (min-width: 768px) {
  .section-title {
    font-size: 150%; }
  .service-list-areas-holder .alt-content-wrapper h3 {
    text-decoration: none;
    font-size: 135%; } }

/*****************************
    BREAKPOINT 992px
*****************************/
@media (min-width: 992px) {
  .section-title {
    font-size: 150%; }
  .landing-hero h3 {
    font-size: 150%; }
  .landing-hero .section-title {
    font-size: 210%; } }

/*****************************
    BREAKPOINT 1200px
*****************************/
@media (min-width: 1200px) {
  .section-title {
    font-size: 150%; }
  .what-people-say .client-quote {
    font-size: 180%;
    padding-bottom: 0.5em; } }

/*****************************
    BREAKPOINT 1300px
*****************************/
@media (min-width: 1300px) {
  .section-title {
    font-size: 150%; } }

/*****************************
    BREAKPOINT 1400px
*****************************/
@media (min-width: 1400px) {
  .section-title {
    font-size: 150%; }
  .page-header .page-description,
  .section-intro-p {
    font-size: 150%; } }

/**
 * TODO: Transition styles from typography.scss to this file;
 * and after all the typographic elements are moved over,
 * DELETE old typography.scss and rename this to typography.scss
 */
/* Typography Defaults*/
body {
  font-size: 19.36px;
  font-family: "gt_walsheim_regular", "Helvetica Neue", Helvetica sans-serif;
  line-height: 1.5; }

/* Helper Mixins */
/**
 * This modular scale function calculates the font-size value based on
 * the base value to be scaled ($base), the scale value ($scale),
 * and the power factor ($power).
 */
/**
 * Use this HeroSection mixin to style hero section titles;
 * swap out colors if necessary. Default font color is set to white.
 */
h1 {
  font-size: 47.26563px;
  line-height: 1.5; }

h2 {
  font-size: 37.8125px;
  line-height: 1.5; }

h3 {
  font-size: 150%;
  margin-bottom: 0.75em; }

/* Hero Title Sections */
#home-page h1, #about-us h1 {
  font-size: 37.8125px;
  margin: 0 15% 1em; }
  @media all and (min-width: 960px) {
    #home-page h1, #about-us h1 {
      font-size: 47.26563px;
      margin: 80px 25% 1em; } }

#home-page h2, #about-us h2 {
  font-size: 30.25px; }

#service-page h1, #our-work h1, #contact h1, .service-detail h1 {
  font-size: 30.25px;
  line-height: 1.5;
  color: white !important;
  text-align: center; }
  @media all and (min-width: 960px) {
    #service-page h1, #our-work h1, #contact h1, .service-detail h1 {
      font-size: 37.8125px; } }

#service-page h2, #our-work h2, #contact h2, .service-detail h2 {
  font-size: 30.25px; }

#contact h2 {
  margin-left: 12%;
  margin-bottom: 19.36px; }

#contact .map-row h2 {
  margin-left: 0; }

#careers h1 {
  font-size: 30.25px;
  line-height: 1.5;
  color: #117F89 !important;
  text-align: center; }
  @media all and (min-width: 960px) {
    #careers h1 {
      font-size: 37.8125px; } }

#careers h2 {
  font-size: 30.25px; }

#events h1, #press h1 {
  font-size: 30.25px;
  line-height: 1.5;
  color: #003236 !important;
  text-align: center; }
  @media all and (min-width: 960px) {
    #events h1, #press h1 {
      font-size: 37.8125px; } }

#events h2, #press h2 {
  font-size: 30.25px;
  margin-bottom: 19.36px; }

#blogs-landing-page #blog-choices {
  display: flex;
  flex-direction: column; }
  #blogs-landing-page #blog-choices .read-blog-link {
    white-space: nowrap; }
  @media all and (min-width: 768px) {
    #blogs-landing-page #blog-choices {
      flex-direction: row; } }
  #blogs-landing-page #blog-choices .technical-blog, #blogs-landing-page #blog-choices .nontechnical-blog {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 550px;
    width: 100%;
    text-align: center;
    padding-top: 19.36px; }
    #blogs-landing-page #blog-choices .technical-blog .blog-section-container, #blogs-landing-page #blog-choices .nontechnical-blog .blog-section-container {
      padding: 58.08px; }
    @media all and (min-width: 768px) {
      #blogs-landing-page #blog-choices .technical-blog, #blogs-landing-page #blog-choices .nontechnical-blog {
        width: 50%; } }
    #blogs-landing-page #blog-choices .technical-blog img, #blogs-landing-page #blog-choices .nontechnical-blog img {
      padding: 38.72px; }
    #blogs-landing-page #blog-choices .technical-blog h2, #blogs-landing-page #blog-choices .nontechnical-blog h2 {
      padding-bottom: 19.36px;
      font-size: 38px;
      font-family: 'gt_walsheim_bold';
      word-spacing: inherit;
      width: min-content; }
    #blogs-landing-page #blog-choices .technical-blog p, #blogs-landing-page #blog-choices .nontechnical-blog p {
      padding-top: 19.36px;
      font-weight: bold; }
  #blogs-landing-page #blog-choices .technical-blog {
    background-image: linear-gradient(rgba(17, 127, 137, 0.7), rgba(17, 127, 137, 0.7)), url("../images/blog/technical_blog.e7870b01bc46.jpg"); }
  #blogs-landing-page #blog-choices .nontechnical-blog {
    background-image: linear-gradient(rgba(153, 189, 102, 0.7), rgba(153, 189, 102, 0.7)), url("../images/blog/nontechnical_blog.72d5d1b9e1da.jpg"); }

#blogs-landing-page .center {
  margin: 0 auto;
  text-align: center;
  float: none; }

#blogs-landing-page .wrapper {
  padding: 0.5em 0; }

#blogs-landing-page #grow-with-us h2 {
  color: #117F89;
  font-size: 38px;
  font-family: 'gt_walsheim_bold';
  line-height: 1.3;
  letter-spacing: 4px; }

/* Detail Pages */
#post_detail h1, #our-talks-detail h1, #event-detail h1, #casestudy-detail h1 {
  font-size: 24.2px; }
  @media all and (min-width: 960px) {
    #post_detail h1, #our-talks-detail h1, #event-detail h1, #casestudy-detail h1 {
      font-size: 30.25px; } }

#post_detail h2, #our-talks-detail h2, #event-detail h2, #casestudy-detail h2 {
  font-size: 30.25px; }

#casestudy-detail h1 {
  color: #003236 !important;
  text-align: inherit; }

#casestudy-detail h2 {
  font-size: 19.36px; }
  @media all and (min-width: 960px) {
    #casestudy-detail h2 {
      font-size: 24.2px; } }

#casestudy-detail h3 {
  font-size: 24.2px; }

/* Styling of Typographic Elements on Pages */
#events .card-info-eventlisting .fifth p, #posts .card-info-eventlisting .fifth p {
  font-size: 19.36px;
  font-weight: bold;
  color: #003236; }
  #events .card-info-eventlisting .fifth p.call-out, #posts .card-info-eventlisting .fifth p.call-out {
    font-size: 30.25px; }

#service-page .card-info h2 {
  font-weight: bold; }

#careers .reason .column-icon-numeral {
  font-size: 30.25px;
  color: #99BD66;
  font-weight: bolder;
  text-align: center;
  margin: 0 auto 18px;
  border-radius: 50%;
  height: 70px;
  width: 70px;
  background-color: #fff;
  line-height: 70px; }

#our-work .client-quote {
  font-size: 19.36px;
  font-style: italic;
  text-align: left;
  width: 100%;
  max-width: 100%; }

#our-work .client-name {
  text-align: left; }

/*------------------------------
         LINKS RULES
-------------------------------*/
/*****************************
       LINKS DEFAULTS
*****************************/
a, .main-link {
  margin-bottom: 1em;
  box-sizing: border-box;
  border-bottom-style: solid;
  border-bottom-color: transparent;
  border-bottom-width: 1px;
  opacity: 0.9;
  cursor: pointer;
  transition: color 0.25s linear, background-color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out, opacity 0.25s ease-in; }
  a, a:hover, a:active, a:focus, a:link, a:visited, .main-link, .main-link:hover, .main-link:active, .main-link:focus, .main-link:link, .main-link:visited {
    outline: 0 !important;
    outline-style: none; }

a:hover, .card:hover .main-link {
  opacity: 1;
  text-decoration: none; }

a:visited,
a:focus,
a:active {
  text-decoration: none;
  transition: color 0.25s linear, background-color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out, opacity 0.25s ease-in; }

.underline-link a {
  padding-bottom: 2px; }

.underline-link a:hover, .card:hover .underline-link .main-link {
  border-bottom-color: inherit; }

/*****************************
        HEADER LINKS
*****************************/
.landing-hero-about a.button:hover,
.landing-hero a.button:hover,
.teaser a.button:hover {
  color: white;
  background-color: #99BD66;
  border-color: #99BD66; }

/*****************************
        FOOTER LINKS
*****************************/
.footer a {
  color: #718C84; }

.footer a:not(.contact-button):hover {
  border-bottom: 1px solid;
  padding-bottom: 2px; }

.footer .site-map a {
  color: #718C84;
  line-height: 1.4em; }

/*****************************
        IMAGE LINKS
*****************************/
.img-no-border a:hover {
  border-bottom: 0px;
  opacity: 0.8; }

/*****************************
      SOCIAL MEDIA LINKS
*****************************/
.post-social-media-icon-bundle-event a:hover,
.bio-social-media-icon-bundle a:hover,
.blog-detail .post-social-media-icon-bundle a:hover,
.cs-social-media-icon-bundle a:hover,
.social-media-icon-bundle a:hover {
  color: green;
  opacity: 1;
  border-bottom: 0px; }

.footer .socialicons a:hover {
  color: #117F89;
  border-bottom: 0px; }

/*****************************
        CARD LINKS
*****************************/
.card-info-casestudy .sample-text p a:hover,
.card-info .sample-text p a:hover,
.card-info-eventlisting p a:hover {
  text-decoration: underline; }

.our-resources .card a:hover {
  text-decoration: underline; }

.card-info .sample-text p a:hover {
  text-decoration: none;
  border-bottom: solid 1px; }

.card .card-info-eventlisting .sample-text p a:hover {
  text-decoration: none; }

.card-info .label-block a:hover,
.card-info .title a:hover,
.card-info .author-date a:hover,
.card-info .sample-text .related-post a:hover {
  border-bottom: solid 1px; }

/*****************************
        ACCORDION LINKS
*****************************/
.showme-content a {
  color: #117F89; }

.case-study-detail .showme-content a {
  color: #428bca; }

/*****************************
      PAGE SPECIFIC LINKS
*****************************/
.home-page .our-work a:hover .case-study-detail > div {
  opacity: 1;
  -webkit-transition: opacity 0.1s;
  transition: opacity 0.1s; }

.blog-detail a.avatar:hover {
  border-bottom: none; }

.blog-detail a:hover {
  border-bottom: solid 1px; }

/*****************************
        DIV LINKS
*****************************/
/*****************************
         ANCHOR TAGS
*****************************/
/*------------------------------
        MAIN NAVIGATION
-------------------------------*/
/*****************************
  MAIN NAVBAR DEFAULT STYLES
*****************************/
.navbar {
  position: absolute;
  top: 0;
  background-color: #fff;
  padding: 0;
  margin-bottom: 0;
  font-size: 90%;
  width: 100vw;
  z-index: 10; }
  .navbar a.navbar-brand {
    padding-left: 15px; }
    .navbar a.navbar-brand:hover, .navbar a.navbar-brand:active, .navbar a.navbar-brand:focus {
      padding-bottom: 0;
      border-bottom: none; }
    .navbar a.navbar-brand svg {
      margin-top: 6px; }

.navbar .wrapper .navbar-brand img {
  position: relative;
  top: 0;
  height: 56px; }

.navbar .wrapper {
  background-color: #fff; }

.navbar .wrapper .navbar-toggle {
  margin: 13px; }

.navbar .wrapper .navbar-toggle,
.navbar .wrapper .navbar-focus {
  background-color: transparent; }

.navbar .wrapper .navbar-toggle span.icon-bar {
  background-color: #99BD66; }

.navbar .wrapper li {
  text-align: left;
  margin: 20px 18px;
  vertical-align: middle; }

.navbar .wrapper li a {
  margin: 0;
  color: #889694; }

.navbar .wrapper .focus a {
  color: #fff;
  background: #99BD66;
  border: solid 1px #99BD66;
  padding: 10px 14px;
  margin-top: -10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }
  .navbar .wrapper .focus a:hover {
    color: #99BD66;
    background: #fff; }

.navbar .navbar-nav li a:hover {
  border-bottom: solid 1px; }

.navbar .navbar-nav li a:active, .navbar .navbar-nav li a:focus {
  background-color: transparent; }

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

ul.nav.navbar-nav {
  padding: 0 30px; }

.disableScrolling {
  overflow: hidden; }

#service-page a.service-page,
#about-us a.about-us, #our-work a.our-work,
#careers a.careers, #posts a.posts {
  color: #697978;
  font-family: 'gt_walsheim_bold'; }

#contact a.contact {
  font-family: 'gt_walsheim_bold'; }

/*****************************
    SHRINK NAVBAR ON DESKTOP
*****************************/
@media (min-width: 769px) {
  .navbar {
    padding-right: 15px; }
  .wrapper {
    transition: all 0.5s ease-in-out; }
    .wrapper .navbar-brand img {
      transition: all 0.5s ease-in-out; }
    .wrapper li {
      transition: all 0.5s ease-in-out; }
  #nav {
    top: 0; } }

/*****************************
    BREAKPOINT 1024px
*****************************/
@media (max-width: 1024px) {
  .navbar-header {
    position: absolute;
    width: 100vw;
    -webkit-box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
    z-index: 10; }
  .navbar-caktus {
    position: absolute;
    background-color: #fff;
    width: 100vw;
    padding-top: 70px; }
    .navbar-caktus .navbar-nav {
      margin: 0 auto; }
    .navbar-caktus .navbar-nav > li {
      border-bottom: 1px solid #dadede; }
      .navbar-caktus .navbar-nav > li.focus {
        border-bottom: none;
        margin: 1em 0; }
      .navbar-caktus .navbar-nav > li.focus a {
        display: block;
        text-align: center; }
      .navbar-caktus .navbar-nav > li a {
        border-bottom: 1px solid #fff; }
        .navbar-caktus .navbar-nav > li a:hover {
          padding-bottom: 10px;
          background-color: inherit; }
  .navbar-off {
    left: -100%;
    transition: left 0.5s ease-in-out; }
  .navbar-in {
    left: 0; }
  .navbar-header {
    float: none; }
  .navbar-left,
  .navbar-right {
    float: none; }
  .navbar-toggle {
    display: block; }
  .navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); }
  .navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px; }
  .navbar-collapse.collapse {
    display: none !important; }
  .navbar-nav {
    float: none !important;
    margin-top: 7.5px; }
  .navbar-nav > li {
    float: none; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px; }
  .collapse.in {
    display: block !important; } }

/*****************************
    BREAKPOINT 1025px
*****************************/
@media (min-width: 1025px) {
  .navbar {
    position: fixed;
    padding-top: 6px;
    height: auto;
    -webkit-box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4); }
  .navbar .wrapper li {
    position: relative;
    text-align: left; }
    .navbar .wrapper li:first-child {
      margin-left: 0; }
    .navbar .wrapper li:last-child {
      margin-right: 0; }
    .navbar .wrapper li a {
      background-color: transparent; }
    .navbar .wrapper li ul {
      position: absolute;
      transform: translateX(-25px);
      white-space: nowrap;
      padding: 0 25px;
      background-color: #fff;
      -webkit-box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
      -moz-box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
      box-shadow: 0 1px 9px -3px rgba(0, 0, 0, 0.4);
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      border-radius: 4px;
      max-height: 0;
      -webkit-transition: max-height 0.15s cubic-bezier(0.495, -0.06, 0.09, 0.86);
      transition: max-height 0.15s cubic-bezier(0.495, -0.06, 0.09, 0.86);
      overflow: hidden;
      z-index: 1002; }
    .navbar .wrapper li ul li {
      margin: 10px 0; }
      .navbar .wrapper li ul li:first-child {
        margin-top: 15px; }
      .navbar .wrapper li ul li:last-child {
        margin-bottom: 15px; }
    .navbar .wrapper li ul li a {
      margin-left: 0; }
    .navbar .wrapper li:hover ul {
      max-height: 325px;
      -webkit-transition: max-height 0.55s cubic-bezier(0.23, 1, 0.32, 1); }
  #nav .navbar-caktus {
    padding-right: 15px; }
    #nav .navbar-caktus ul.nav {
      float: right; } }

/*------------------------------
         FORMS RULES
-------------------------------*/
/*****************************
    NEWSLETTER SIGNUP FORM
*****************************/
.sign-up-container .icon a:hover {
  color: #117F89;
  border-bottom: 0px; }

/*****************************
 CONTACT FORM ON CONTACT PAGE
*****************************/
.hs-button {
  text-decoration: none;
  -webkit-transition: color 0.25s linear, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out;
  -moz-transition: color 0.25s linear, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out;
  -o-transition: color 0.25s linear, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out;
  transition: color 0.25s linear, background-color 0.25s ease-in-out, border-color 0.25s ease-in-out; }

.hs-form-field label span {
  display: inline;
  margin-bottom: 0.5em;
  color: #697978;
  font-family: 'gt_walsheim_regular', "Helvetica Neue", Helvetica, sans-serif;
  font-weight: normal;
  font-size: 150%; }

form .hs-form-field .hs-field-desc {
  color: #697978;
  font-size: 100%;
  font-family: gt_walsheim_regular, "Helvetica Neue", Helvetica, sans-serif; }

.hs-form-field, .hs_submit, .legal-consent-container {
  max-width: 75%;
  margin: 0 auto;
  padding-bottom: 20px; }

.hs-form-field *,
.hs_submit * {
  border-radius: 4px; }

.hs-form-field textarea.hs-input,
.hs-form-field .input input,
.hs_button input,
.hs-form-field select.hs-input {
  border: 0px;
  background: #fff;
  box-shadow: inset 0 0px 0px rgba(0, 0, 0, 0), 0 0px 0px black, 0 0px 0 #fff;
  padding: 0 12px;
  max-width: 100%;
  font-size: 100%;
  font-family: gt_walsheim_regular, "Helvetica Neue", Helvetica, sans-serif;
  line-height: 1.7em;
  color: #555;
  width: 100%; }

.hs-form .hs_message textarea.hs-input {
  min-height: 5.1em;
  max-width: 100%;
  width: 100%;
  border-radius: 4px; }

.hs-form .legal-consent-container {
  padding-bottom: 0; }

.form-control,
.hs-input .hsformerror {
  font-family: 'gt_walsheim_regular', "Helvetica Neue", Helvetica, sans-serif;
  font-size: 100%;
  padding: 0px 12px; }
  .form-control option,
  .hs-input .hsformerror option {
    font-size: 15px; }
  @media (min-width: 1200px) {
    .form-control option,
    .hs-input .hsformerror option {
      font-size: 20px; } }

.row .hsformerror {
  background-color: #E4EDEB;
  border: 1px solid #000;
  font-size: 1em;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fff), color-stop(100%, #E4EDEB));
  background-image: -webkit-linear-gradient(#fff, #E4EDEB);
  background-image: linear-gradient(#fff, #E4EDEB); }
  .row .hsformerror em {
    border: 8px solid;
    border-color: #E4EDEB transparent transparent; }
  .row .hsformerror i {
    background-color: orange;
    color: #fff;
    width: 20px;
    text-align: center;
    padding-top: 2px; }

form.hs-form div.hs-form-field {
  display: flex;
  flex-flow: column; }

form.hs-form div.hs-form-field > label {
  order: 1; }

form.hs-form div.input {
  order: 4; }

form.hs-form ul.hs-error-msgs {
  order: 2; }

form.hs-form legend.hs-field-desc {
  order: 3; }

form.hs-form li.hubspot-error {
  list-style: none;
  position: inherit;
  display: inline-block;
  background-color: #e4edeb;
  border: 1px solid #000;
  font-size: 100%;
  color: #000;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 6px #ddd;
  -moz-box-shadow: 0 0 6px #ddd;
  box-shadow: 0 0 6px #ddd;
  padding: 4px 8px 4px 10px;
  line-height: 145%;
  font-family: Lucida Grande, Lucida Sans Unicode, bitstream vera sans, trebuchet ms, verdana, sans-serif;
  width: auto;
  margin-bottom: 0; }
  form.hs-form li.hubspot-error em {
    border: 8px solid;
    border-color: #e4edeb transparent transparent;
    position: absolute;
    left: 10%;
    margin: 33px; }

.hs_error_rollup {
  display: none; }

form.hs-form .hs-form-field .hubspot-error label {
  color: #000;
  font-family: Lucida Grande, Lucida Sans Unicode, bitstream vera sans, trebuchet ms, verdana, sans-serif;
  font-size: 100%;
  display: inline;
  margin-right: 8px; }

form.hs-form .hs-form-field select {
  width: 100%;
  height: 1.7em;
  padding-top: 0.17em;
  padding-bottom: 0.17em; }

form .hs_submit .actions input {
  background-color: transparent;
  background-image: none;
  border: 1px solid;
  font-family: gt_walsheim_regular, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 100%;
  font-weight: normal;
  padding: 10px 14px;
  line-height: 120%;
  text-shadow: none;
  color: #718C84; }

form.hs-form .hs_submit .actions input:hover,
form.hs-form .hs_submit .actions input.hs-button:focus,
form.hs-form .hs_submit .actions input.hs-button:active {
  text-shadow: none;
  box-shadow: none;
  border: 1px solid #fff;
  background-color: #fff;
  background-image: none;
  color: #718C84; }

.close-form-error {
  float: right;
  display: inline;
  top: 3px;
  cursor: pointer !important;
  font-size: 11px !important; }

form.hs-form .hs-form-field .input, .hs-form input.hs-input {
  display: unset;
  line-height: 1.7em;
  min-height: 1.7em;
  width: 100%;
  color: #555;
  vertical-align: middle;
  border-right: 0;
  border-radius: 4px; }

.hs-form .hs_recaptcha .input {
  overflow: inherit; }

iframe {
  width: auto; }

form.hs-form input.hs-input {
  font-size: 100%;
  padding: 0 12px;
  font-family: gt_walsheim_regular, "Helvetica Neue", Helvetica, sans-serif;
  box-sizing: border-box;
  margin-top: -3px; }

form.hs-form .field.hs-form-field {
  margin-bottom: 0; }

form.hs-form .hs-form-field label {
  margin-bottom: 0.5em;
  color: #697978; }

.hs_message .input {
  height: auto; }

.contact-map {
  width: 100%;
  height: 100%;
  margin-bottom: -4px;
  padding: 0;
  position: relative;
  top: 0;
  border: 0;
  margin-left: 0; }

.hs-button {
  padding: 10px 14px;
  color: #718C84;
  background-color: inherit;
  border: 1px solid; }

body#contact-form-sent .row {
  padding-bottom: 0; }

body#contact-form-sent #main-content .container {
  width: auto; }
  @media (min-width: 768px) {
    body#contact-form-sent #main-content .container {
      width: auto; } }
  @media (min-width: 992px) {
    body#contact-form-sent #main-content .container {
      width: auto; } }
  @media (min-width: 1200px) {
    body#contact-form-sent #main-content .container {
      width: 1170px; } }

/*****************************
    BREAKPOINT 1025px
*****************************/
@media (min-width: 1025px) {
  footer form {
    width: 88%; } }

/*
----INSTRUCTIONS/HOW TO USE----
There are a set of "base" card mixins that handle
things like: text styling, image styling, and any
social media styling. For example here is a mixin
to handle card titles:
```
CardTitleBase($color, $align='left') {
    @include ModularScale($font-size-base, $fontScale, 0);
    margin: 1em 0;
    font-weight: bold;
    color: $color;
    @if $align == 'center' {
      text-align: center;
    }
}
```

Next, there are a set of "type" card mixins that then
compose all the different "base" mixins to create the
card type of choice. For example, `Card-Type-CaseStudy`
inherts styles from `CardBase()`, `CardImageBase()`,
`CardTitleBase()` and then has a few of its own custom
styles:


```
@mixin Card-Type-CaseStudy() {
  @include CardBase();
  $titleColor: $blue

  > h3 {
    @include CardTitleBase($titleColor);
  }
  > img {
    @include CardImageBase();
  }
  > p {
    color: $grey;
    &.card-casestudy--client {
      color: $dark-blue;
    }
  }
}
```

Finally, there is a section of classnames that are
correlated to those card type mixins:
```
.card-case-study {
  @include Card-Type-CaseStudy();
}
```

The corresponding markup is then as follows:

``` html
<li class="card-case-study">
    <img src="https://caktus-website-production-2015.s3.amazonaws.com/media/casestudies/Libya-SMS-RapidSMS-text-message-voter-registration.jpg" alt="Case Study Image relevant alt title">
    <h3>World’s First SMS Voter Registration System</h3>
    <p class="card-casestudy--client">Country of Libya</p>
    <p>Sed magna lacus, egestas eget orci quis, dictum sagittis orci. Pellentesque non erat odio.</p>
</li>
```

There is a custom card type for landscape cards
(Events, Books, etc.). It is called `Card-Type-Landscape()`.
Cards that start off in landscape orientation and switch
to portrait when resized should inherit this mixin in order
to behave properly. Their markup is slightly different:
```
<li class="card-book">
    <div>
        <img src="https://caktus-website-production-2015.s3.amazonaws.com/media/resources/books/lightweightdjangocover.gif">
    </div>
    <div>
        <h3>Lightweight Django</h3>
        <p class="card-common--author">Mark Lavin</p>
        <p class="card-common--description">Sed magna lacus, egestas eget orci quis, dictum sagittis orci. Pellentesque non erat odio.</p>
        <a href="#">Purchase from O'Rlly</p>
    </div>
</li>
```
As shown above, the two "columns" need to be wrapped
in their own `<div></div>` element in order for flexbox
to behave properly.

*/
/* Card Base Mixins */
/* Card Type Mixins */
/* Common Card Classes
These elements can be used throughout
different cards
*/
li[class*='card'] .card-common--extras {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }

li[class*='card'] .card-common--date {
  color: #697978;
  margin: 1em 0; }

li[class*='card'] .card-common--social-media {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100px; }
  li[class*='card'] .card-common--social-media a {
    text-decoration: none; }
  li[class*='card'] .card-common--social-media #svg_twitter, li[class*='card'] .card-common--social-media #svg_linkedin, li[class*='card'] .card-common--social-media #svg_facebook {
    fill: #718C84; }
    li[class*='card'] .card-common--social-media #svg_twitter:hover, li[class*='card'] .card-common--social-media #svg_linkedin:hover, li[class*='card'] .card-common--social-media #svg_facebook:hover {
      fill: #5a7069; }

li[class*='card'] .card-common--author {
  margin-bottom: 0;
  display: inline-block;
  line-height: 1.5; }

/* Card Classes */
.card-blog {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1; }
  .card-blog a {
    color: #117F89;
    text-decoration: none; }
    .card-blog a:hover {
      text-decoration: underline; }
  .card-blog.preprocess {
    opacity: 0; }
  .card-blog:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-blog:hover > img {
      opacity: 1; }
  .card-blog .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-blog .card-common--image_container a {
      opacity: 1; }
  .card-blog .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-blog h3 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #117F89;
    text-align: left; }
  .card-blog img {
    display: block;
    background-color: #117F89;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover object-position: center center';
    max-height: 100%;
    min-height: 100%;
    max-width: 100%;
    min-width: 100%;
    /**
    * NOTE: this opacity rule is probably intended to be part of
    * a hover effect, but with the hover-related rules as they
    * now are, nothing ever changes and the image is always at
    * 0.85 opacity. We noticed this while working on CW-1826.
    *
    * Because we don't want to introduce unrelated changes while
    * working on that issue, we are going to delay fixing this
    * till a future improvement ticket (TODO).
    */
    opacity: 0.85; }
  .card-blog p {
    color: #697978; }
    .card-blog p.card-blog--tag {
      color: #117F89;
      margin: 1em 0 0; }
  .card-blog .card-blog--main_container {
    flex-grow: 1; }
  .card-blog .card-common--author_container {
    margin-bottom: 1em; }

.card-case-study {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1;
  box-shadow: none;
  background-color: transparent; }
  .card-case-study a {
    color: #117F89;
    text-decoration: none; }
    .card-case-study a:hover {
      text-decoration: underline; }
  .card-case-study.preprocess {
    opacity: 0; }
  .card-case-study:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-case-study:hover > img {
      opacity: 1; }
  .card-case-study .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-case-study .card-common--image_container a {
      opacity: 1; }
  .card-case-study .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-case-study h2, .card-case-study h3 {
    font-size: 24.2px;
    color: #117F89;
    font-weight: bold;
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: "inherit";
    text-align: left; }
  .card-case-study img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; }
    @media all and (min-width: 768px) {
      .card-case-study img {
        min-width: 0;
        display: flex;
        align-self: center; } }
  .card-case-study div {
    overflow: auto; }
  .card-case-study .card-common--call-out {
    font-size: 30.25px;
    font-weight: bold;
    color: #003236; }
  .card-case-study .card-common--description {
    color: #697978; }
  @media all and (min-width: 768px) {
    .card-case-study {
      display: flex;
      flex-direction: column;
      background: #fff;
      padding: 0 1em;
      box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
      justify-content: space-between;
      opacity: 1;
      flex-direction: row;
      flex-wrap: wrap;
      min-height: 0; }
      .card-case-study a {
        color: #117F89;
        text-decoration: none; }
        .card-case-study a:hover {
          text-decoration: underline; }
      .card-case-study.preprocess {
        opacity: 0; }
      .card-case-study:hover {
        background-color: #fafafa;
        /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
        .card-case-study:hover > img {
          opacity: 1; }
      .card-case-study .card-common--image_container {
        margin: 0 -1em 1em;
        padding-bottom: 57.14286%;
        position: relative;
        overflow: hidden;
        /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
        .card-case-study .card-common--image_container a {
          opacity: 1; }
      .card-case-study .card-common--inner_image_container {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .card-case-study div {
        padding: 1em; }
      .card-case-study > div:nth-of-type(1) {
        flex-basis: 33.33%;
        max-width: 33.33%;
        align-self: center;
        flex-grow: 1; }
      .card-case-study > div:nth-of-type(2) {
        flex-basis: 66.66%;
        max-width: 66.66%; } }
  @media all and (min-width: 768px) {
    .card-case-study {
      box-shadow: none;
      background-color: transparent; } }
  .card-case-study:hover {
    background: none; }
  .card-case-study h2 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #262929;
    text-align: left;
    line-height: 1; }
  .card-case-study > div {
    padding: 0; }
    @media all and (min-width: 768px) {
      .card-case-study > div {
        padding: 1em; }
        .card-case-study > div:nth-of-type(1) {
          align-self: flex-start;
          margin-top: 1em; } }
  .card-case-study .description-container {
    margin-bottom: 1em;
    padding: 0; }
  .card-case-study:hover {
    cursor: pointer; }
    .card-case-study:hover img {
      opacity: 1; }
    .card-case-study:hover h3 {
      text-decoration: underline; }
  .card-case-study h3 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #117F89;
    text-align: left;
    line-height: 1; }
  .card-case-study img {
    opacity: 0.8;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center left;
    font-family: 'object-fit: cover object-position: center left'; }
  .card-case-study > div {
    padding: 0 1em; }
    @media all and (min-width: 768px) {
      .card-case-study > div {
        padding: 0 10px 1em 1em; }
        .card-case-study > div:nth-of-type(1) {
          align-self: stretch;
          margin-top: 0; }
        .card-case-study > div:nth-of-type(2) {
          margin-top: -1em; } }
  .card-case-study .description-container {
    color: #262929; }

.card-homepage-services {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1; }
  .card-homepage-services a {
    color: #117F89;
    text-decoration: none; }
    .card-homepage-services a:hover {
      text-decoration: underline; }
  .card-homepage-services.preprocess {
    opacity: 0; }
  .card-homepage-services:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-homepage-services:hover > img {
      opacity: 1; }
  .card-homepage-services .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-homepage-services .card-common--image_container a {
      opacity: 1; }
  .card-homepage-services .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-homepage-services > h3 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #99BD66;
    text-align: left;
    text-align: center; }
  .card-homepage-services > img {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 100px;
    background-color: #99BD66;
    border-radius: 0;
    border-radius: 50px; }

.card-services-detail {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1;
  min-height: 0; }
  .card-services-detail a {
    color: #117F89;
    text-decoration: none; }
    .card-services-detail a:hover {
      text-decoration: underline; }
  .card-services-detail.preprocess {
    opacity: 0; }
  .card-services-detail:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-services-detail:hover > img {
      opacity: 1; }
  .card-services-detail .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-services-detail .card-common--image_container a {
      opacity: 1; }
  .card-services-detail .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-services-detail h2, .card-services-detail h3 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #117F89;
    text-align: left; }
    .card-services-detail h2:last-child, .card-services-detail h3:last-child {
      margin-bottom: 0; }
  .card-services-detail img {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 100px;
    background-color: transparent;
    border-radius: 0;
    border-radius: 50px; }
  .card-services-detail p {
    color: #697978;
    text-align: left;
    margin-bottom: 1em; }
  .card-services-detail a:hover {
    text-decoration: none; }
    .card-services-detail a:hover h3 {
      text-decoration: underline; }

.card-talk {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1; }
  .card-talk a {
    color: #117F89;
    text-decoration: none; }
    .card-talk a:hover {
      text-decoration: underline; }
  .card-talk.preprocess {
    opacity: 0; }
  .card-talk:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-talk:hover > img {
      opacity: 1; }
  .card-talk .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-talk .card-common--image_container a {
      opacity: 1; }
  .card-talk .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-talk > h3 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #003236;
    text-align: left; }
  .card-talk > img {
    display: block;
    background-color: #117F89;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover object-position: center center';
    max-height: 100%;
    min-height: 100%;
    max-width: 100%;
    min-width: 100%;
    /**
    * NOTE: this opacity rule is probably intended to be part of
    * a hover effect, but with the hover-related rules as they
    * now are, nothing ever changes and the image is always at
    * 0.85 opacity. We noticed this while working on CW-1826.
    *
    * Because we don't want to introduce unrelated changes while
    * working on that issue, we are going to delay fixing this
    * till a future improvement ticket (TODO).
    */
    opacity: 0.85; }
  .card-talk > p {
    color: #117F89; }
    .card-talk > p.card-talk--tag {
      color: #117F89;
      margin: 1em 0 0; }
      .card-talk > p.card-talk--tag span {
        position: relative;
        top: 5px;
        margin-right: 10px; }
        .card-talk > p.card-talk--tag span #svg_play_arrow {
          fill: #117F89; }
    .card-talk > p.card-talk--location {
      color: #697978;
      margin: 1em 0; }

.card-press {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1; }
  .card-press a {
    color: #117F89;
    text-decoration: none; }
    .card-press a:hover {
      text-decoration: underline; }
  .card-press.preprocess {
    opacity: 0; }
  .card-press:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-press:hover > img {
      opacity: 1; }
  .card-press .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-press .card-common--image_container a {
      opacity: 1; }
  .card-press .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-press > h3 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #003236;
    text-align: left; }
  .card-press > img {
    display: block;
    background-color: #117F89;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover object-position: center center';
    max-height: 100%;
    min-height: 100%;
    max-width: 100%;
    min-width: 100%;
    /**
    * NOTE: this opacity rule is probably intended to be part of
    * a hover effect, but with the hover-related rules as they
    * now are, nothing ever changes and the image is always at
    * 0.85 opacity. We noticed this while working on CW-1826.
    *
    * Because we don't want to introduce unrelated changes while
    * working on that issue, we are going to delay fixing this
    * till a future improvement ticket (TODO).
    */
    opacity: 0.85; }
  .card-press > p {
    color: #117F89; }
    .card-press > p.card-press--related {
      color: #003236;
      font-weight: bold; }
    .card-press > p.card-press--related_title {
      color: #117F89;
      font-weight: bold; }

.card-event {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1; }
  .card-event a {
    color: #117F89;
    text-decoration: none; }
    .card-event a:hover {
      text-decoration: underline; }
  .card-event.preprocess {
    opacity: 0; }
  .card-event:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-event:hover > img {
      opacity: 1; }
  .card-event .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-event .card-common--image_container a {
      opacity: 1; }
  .card-event .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-event h2, .card-event h3 {
    font-size: 24.2px;
    color: #117F89;
    font-weight: bold;
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: "inherit";
    text-align: left; }
  .card-event img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; }
    @media all and (min-width: 768px) {
      .card-event img {
        min-width: 0;
        display: flex;
        align-self: center; } }
  .card-event div {
    overflow: auto; }
  .card-event .card-common--call-out {
    font-size: 30.25px;
    font-weight: bold;
    color: #003236; }
  .card-event .card-common--description {
    color: #697978; }
  @media all and (min-width: 768px) {
    .card-event {
      display: flex;
      flex-direction: column;
      background: #fff;
      padding: 0 1em;
      box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
      justify-content: space-between;
      opacity: 1;
      flex-direction: row;
      flex-wrap: wrap;
      min-height: 0; }
      .card-event a {
        color: #117F89;
        text-decoration: none; }
        .card-event a:hover {
          text-decoration: underline; }
      .card-event.preprocess {
        opacity: 0; }
      .card-event:hover {
        background-color: #fafafa;
        /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
        .card-event:hover > img {
          opacity: 1; }
      .card-event .card-common--image_container {
        margin: 0 -1em 1em;
        padding-bottom: 57.14286%;
        position: relative;
        overflow: hidden;
        /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
        .card-event .card-common--image_container a {
          opacity: 1; }
      .card-event .card-common--inner_image_container {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .card-event div {
        padding: 1em; }
      .card-event > div:nth-of-type(1) {
        flex-basis: 33.33%;
        max-width: 33.33%;
        align-self: center;
        flex-grow: 1; }
      .card-event > div:nth-of-type(2) {
        flex-basis: 66.66%;
        max-width: 66.66%; } }
  .card-event .card-event--date {
    color: #003236;
    font-size: 19.36px;
    font-weight: bold;
    margin: 1em 0; }
  .card-event .card-event--location {
    color: #117F89;
    font-weight: bold; }
  .card-event .card-event--calendar {
    color: #117F89; }
    .card-event .card-event--calendar svg {
      fill: #117F89; }

.card-book {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1; }
  .card-book a {
    color: #117F89;
    text-decoration: none; }
    .card-book a:hover {
      text-decoration: underline; }
  .card-book.preprocess {
    opacity: 0; }
  .card-book:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-book:hover > img {
      opacity: 1; }
  .card-book .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-book .card-common--image_container a {
      opacity: 1; }
  .card-book .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-book h2, .card-book h3 {
    font-size: 24.2px;
    color: #117F89;
    font-weight: bold;
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: "inherit";
    text-align: left; }
  .card-book img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; }
    @media all and (min-width: 768px) {
      .card-book img {
        min-width: 0;
        display: flex;
        align-self: center; } }
  .card-book div {
    overflow: auto; }
  .card-book .card-common--call-out {
    font-size: 30.25px;
    font-weight: bold;
    color: #003236; }
  .card-book .card-common--description {
    color: #697978; }
  @media all and (min-width: 768px) {
    .card-book {
      display: flex;
      flex-direction: column;
      background: #fff;
      padding: 0 1em;
      box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
      justify-content: space-between;
      opacity: 1;
      flex-direction: row;
      flex-wrap: wrap;
      min-height: 0; }
      .card-book a {
        color: #117F89;
        text-decoration: none; }
        .card-book a:hover {
          text-decoration: underline; }
      .card-book.preprocess {
        opacity: 0; }
      .card-book:hover {
        background-color: #fafafa;
        /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
        .card-book:hover > img {
          opacity: 1; }
      .card-book .card-common--image_container {
        margin: 0 -1em 1em;
        padding-bottom: 57.14286%;
        position: relative;
        overflow: hidden;
        /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
        .card-book .card-common--image_container a {
          opacity: 1; }
      .card-book .card-common--inner_image_container {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .card-book div {
        padding: 1em; }
      .card-book > div:nth-of-type(1) {
        flex-basis: 33.33%;
        max-width: 33.33%;
        align-self: center;
        flex-grow: 1; }
      .card-book > div:nth-of-type(2) {
        flex-basis: 66.66%;
        max-width: 66.66%; } }
  .card-book h3 {
    margin-top: 1em; }
  @media all and (min-width: 600px) {
    .card-book {
      margin-top: 0; } }

.card-service-component {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1;
  box-shadow: none;
  background-color: transparent; }
  .card-service-component a {
    color: #117F89;
    text-decoration: none; }
    .card-service-component a:hover {
      text-decoration: underline; }
  .card-service-component.preprocess {
    opacity: 0; }
  .card-service-component:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-service-component:hover > img {
      opacity: 1; }
  .card-service-component .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-service-component .card-common--image_container a {
      opacity: 1; }
  .card-service-component .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-service-component h2, .card-service-component h3 {
    font-size: 24.2px;
    color: #117F89;
    font-weight: bold;
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: "inherit";
    text-align: left; }
  .card-service-component img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; }
    @media all and (min-width: 768px) {
      .card-service-component img {
        min-width: 0;
        display: flex;
        align-self: center; } }
  .card-service-component div {
    overflow: auto; }
  .card-service-component .card-common--call-out {
    font-size: 30.25px;
    font-weight: bold;
    color: #003236; }
  .card-service-component .card-common--description {
    color: #697978; }
  @media all and (min-width: 768px) {
    .card-service-component {
      display: flex;
      flex-direction: column;
      background: #fff;
      padding: 0 1em;
      box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
      justify-content: space-between;
      opacity: 1;
      flex-direction: row;
      flex-wrap: wrap;
      min-height: 0; }
      .card-service-component a {
        color: #117F89;
        text-decoration: none; }
        .card-service-component a:hover {
          text-decoration: underline; }
      .card-service-component.preprocess {
        opacity: 0; }
      .card-service-component:hover {
        background-color: #fafafa;
        /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
        .card-service-component:hover > img {
          opacity: 1; }
      .card-service-component .card-common--image_container {
        margin: 0 -1em 1em;
        padding-bottom: 57.14286%;
        position: relative;
        overflow: hidden;
        /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
        .card-service-component .card-common--image_container a {
          opacity: 1; }
      .card-service-component .card-common--inner_image_container {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .card-service-component div {
        padding: 1em; }
      .card-service-component > div:nth-of-type(1) {
        flex-basis: 33.33%;
        max-width: 33.33%;
        align-self: center;
        flex-grow: 1; }
      .card-service-component > div:nth-of-type(2) {
        flex-basis: 66.66%;
        max-width: 66.66%; } }
  @media all and (min-width: 768px) {
    .card-service-component {
      box-shadow: none;
      background-color: transparent; } }
  .card-service-component:hover {
    background: none; }
  .card-service-component h2 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #262929;
    text-align: left;
    line-height: 1; }
  .card-service-component > div {
    padding: 0; }
    @media all and (min-width: 768px) {
      .card-service-component > div {
        padding: 1em; }
        .card-service-component > div:nth-of-type(1) {
          align-self: flex-start;
          margin-top: 1em; } }
  .card-service-component .description-container {
    margin-bottom: 1em;
    padding: 0; }

.card-homepage-resources {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 0 1em;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  justify-content: space-between;
  opacity: 1;
  padding: 0; }
  .card-homepage-resources a {
    color: #117F89;
    text-decoration: none; }
    .card-homepage-resources a:hover {
      text-decoration: underline; }
  .card-homepage-resources.preprocess {
    opacity: 0; }
  .card-homepage-resources:hover {
    background-color: #fafafa;
    /**
      * NOTE / TODO: see comment below on
      * CardImageBase() definition
      */ }
    .card-homepage-resources:hover > img {
      opacity: 1; }
  .card-homepage-resources .card-common--image_container {
    margin: 0 -1em 1em;
    padding-bottom: 57.14286%;
    position: relative;
    overflow: hidden;
    /**
      * NOTE: during work on CW-1826, we discoverd that hover
      * behavior was not working as expected on cards whose
      * styles were specified with the component definitions.
      * This is because we fixed the size of the `a` element
      * within the image_container element in a way that caused
      * its own variable opacity to take effect, layering on
      * top of the 0.85 opacity of the image element, causing
      * a very noticeable washed-out look.
      *
      * We will fix these opacity rules and make them consistent
      * across card types in a future improvement ticket (TODO).
      */ }
    .card-homepage-resources .card-common--image_container a {
      opacity: 1; }
  .card-homepage-resources .card-common--inner_image_container {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .card-homepage-resources h3 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #117F89;
    text-align: left; }
  .card-homepage-resources img {
    display: block;
    background-color: #117F89;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover object-position: center center';
    max-height: 100%;
    min-height: 100%;
    max-width: 100%;
    min-width: 100%;
    /**
    * NOTE: this opacity rule is probably intended to be part of
    * a hover effect, but with the hover-related rules as they
    * now are, nothing ever changes and the image is always at
    * 0.85 opacity. We noticed this while working on CW-1826.
    *
    * Because we don't want to introduce unrelated changes while
    * working on that issue, we are going to delay fixing this
    * till a future improvement ticket (TODO).
    */
    opacity: 0.85; }
  .card-homepage-resources p {
    color: #697978; }
    .card-homepage-resources p.card-blog--tag {
      color: #117F89;
      margin: 1em 0 0; }
  .card-homepage-resources .card-blog--main_container {
    flex-grow: 1; }
  .card-homepage-resources .card-common--author_container {
    margin-bottom: 1em; }
  .card-homepage-resources h3 {
    margin-top: 19.36px;
    margin-bottom: 19.36px;
    font-size: 24.2px;
    text-align: center; }
  .card-homepage-resources a {
    margin-bottom: 0; }
  .card-homepage-resources h4 {
    font-size: 19.36px;
    margin: 1em 0;
    font-weight: bold;
    color: #117F89;
    text-align: left;
    margin-top: 0; }

/*------------------------------
         BUTTON RULES
-------------------------------*/
.button-fill,
.button-border {
  padding: 16px 22px;
  display: table; }

.button-fill {
  color: #fff;
  background-color: #99BD66;
  border-radius: 4px; }

.button-border {
  background-color: inherit;
  color: #117F89; }

a.white-hubspotcreatedbutton-blue-to-green,
a.white-hubspotcreatedbutton-green-to-blue,
a.hollow-button,
a.hollow-button-green,
a.hollow-button-blue,
a.hollow-button-dark-blue,
a.hollow-button-blue-fill {
  opacity: 1;
  border: 1px solid; }

a.hollow-button,
a.hollow-button-green,
a.hollow-button-blue,
a.hollow-button-dark-blue,
a.hollow-button-blue-fill {
  color: #fff;
  padding: 10px 14px;
  border-radius: 4px; }

a.white-hubspotcreatedbutton-blue-to-green, a.white-hubspotcreatedbutton-green-to-blue {
  background-color: #fff;
  font-family: 'gt_walsheim_bold';
  font-size: 18px;
  border-radius: 24px;
  padding: 9px 30px;
  letter-spacing: 3px; }

.lt-grey-bg a.hollow-button-blue,
.white-bg a.hollow-button-blue-fill {
  border-color: #117F89;
  color: #117F89; }

a.white-hubspotcreatedbutton-blue-to-green {
  color: #117F89; }
  a.white-hubspotcreatedbutton-blue-to-green:hover {
    color: #fff;
    background-color: #99BD66;
    border-color: #99BD66; }

a.white-hubspotcreatedbutton-green-to-blue {
  color: #99BD66; }
  a.white-hubspotcreatedbutton-green-to-blue:hover {
    color: #fff;
    background-color: #117F89;
    border-color: #117F89; }

a.white-button:hover {
  border-color: inherit;
  background-color: #fff;
  color: inherit; }

a.hollow-button:hover {
  border-color: #fff;
  background-color: #fff; }

a.hollow-button-green:hover {
  border-color: #fff;
  background-color: #fff;
  color: #99BD66; }

a.hollow-button-blue:hover,
.lt-grey-bg a.hollow-button-blue:hover {
  border-color: #fff;
  background-color: #fff;
  color: #117F89; }

a.hollow-button-blue-fill:hover {
  border-color: #fff;
  background-color: #117F89;
  color: #fff; }

a:visited.button-fill,
a:focus.button-fill,
a:active.button-fill {
  text-decoration: none;
  color: #fff; }

a:hover.button-border {
  padding-bottom: 16px; }

#next .fa-2x {
  font-size: 1.1em; }

#next .fa {
  position: relative;
  top: 1px;
  margin-left: 2px; }

.button--link {
  background-color: #fff;
  color: #117F89;
  border: 1px solid #117F89;
  border-radius: 4px;
  padding: 10px 42px;
  display: inline-block; }
  .button--link:hover {
    background-color: #117F89;
    color: #fff;
    border: 1px solid #117F89;
    border-radius: 4px;
    padding: 10px 42px;
    display: inline-block; }

/*****************************
SERVICE PAGE CONTACT BUTTON
*****************************/
.service-list .contact-button, .service-detail .contact-button, #home-page .primary-button,
#about-us .primary-button {
  background-color: #99BD66;
  color: #fff;
  border: 1px solid #99BD66;
  border-radius: 4px;
  padding: 10px 42px;
  display: inline-block; }
  .service-list .contact-button:hover, .service-detail .contact-button:hover, #home-page .primary-button:hover,
  #about-us .primary-button:hover {
    background-color: #fff;
    color: #99BD66;
    border: 1px solid #99BD66;
    border-radius: 4px;
    padding: 10px 42px;
    display: inline-block; }

/*****************************
    FOOTER CONTACT BUTTON
*****************************/
.footer a.contact-button {
  opacity: 1;
  font-size: 1.2em;
  padding: 10px 14px;
  color: #718C84;
  background-color: inherit;
  border: 1px solid;
  margin-bottom: 20px;
  margin-top: -6px; }

.footer a.contact-button:hover {
  background-color: #fff;
  border-color: #fff; }

/*****************************
        FORM BUTTONS
*****************************/
.hs_submit .hs-button:hover {
  background-color: #fff;
  border-color: #fff; }

/*------------------------------
         FEEDBACK
-------------------------------*/
li.text-danger {
  list-style: none;
  line-height: 100%;
  font-size: 90%; }

/*------------------------------
           ACCORDION
-------------------------------*/
.showme-content {
  display: none; }

.showme-content ul {
  line-height: 1.5em; }

.showme-content li {
  margin-bottom: 1em; }

.showme-content blockquote {
  font-size: 100%; }

.scroll .row {
  padding-bottom: 102px;
  margin: -1px 0 -1px 0; }

/*------------------------------
         DROPDOWN RULES
-------------------------------*/
.custom-dropdown:hover, select:hover {
  text-decoration: none;
  transition: color 0.25s linear, background-color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out, opacity 0.25s ease-in; }

select:visited,
select:focus,
select:active {
  text-decoration: none;
  transition: color 0.25s linear, background-color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out, opacity 0.25s ease-in; }

.custom-dropdown:hover {
  background-color: white;
  border-color: white; }

/*------------------------------
        HEADER
-------------------------------*/
/***************************
     HERO STYLES
****************************/
.home-page {
  margin-top: 0px; }

.image-hero-header {
  margin-top: 0px; }

.landing-hero-block,
.landing-hero,
.no-photo-hero {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }
  .landing-hero-block .cushion-big-space,
  .landing-hero .cushion-big-space,
  .no-photo-hero .cushion-big-space {
    padding: 1.5em 10px; }

.landing-hero .spacer {
  height: 1em; }

.landing-hero-contact {
  min-height: 300px; }

.landing-hero-block, .landing-hero-block, .landing-hero, .landing-hero-home, .landing-hero-about, .landing-hero-contact, .landing-hero-services, .landing-hero-work {
  position: relative;
  height: 400px; }

.blm-banner {
  background-color: black;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  padding: 3px 0; }
  .blm-banner a {
    color: white;
    font-weight: bold; }

div[class*="landing-hero-"] > .wrapper.cushion-big-space {
  padding: 0;
  height: auto;
  width: 100%;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.no-photo-hero a {
  opacity: 1;
  border-bottom: solid 1px; }

.no-photo-hero .half {
  width: 75%; }

.landing-hero .half,
.landing-hero-about .half,
.landing-hero-contact .half,
.landing-hero-services .half,
.landing-hero-work .half,
.no-photo-hero .half,
.teaser .half {
  margin: 0 auto;
  text-align: center;
  float: none; }

.landing-hero .section-title, .landing-hero-block .section-title {
  font-size: 180%;
  padding: 0 5% 2em;
  color: #fff; }

.landing-hero p.section-title {
  font-size: 150%;
  padding-bottom: 3em;
  color: #fff; }

.landing-hero-about a.button,
.landing-hero a.button,
.teaser a.button {
  opacity: 1;
  font-size: 1em;
  padding: 10px 14px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.3);
  border: 1px solid;
  margin-top: -6px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 0; }

.teaser,
.contact-photobg {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.casestudy-list .teaser {
  background-image: linear-gradient(rgba(20, 10, 0, 0.5), rgba(20, 10, 0, 0.7)), url("../images/refresh_heros/home-copair-programing.5308f840a1d6.jpg"); }

.contact-photobg {
  background-image: linear-gradient(rgba(20, 10, 0, 0.2), rgba(20, 10, 0, 0.3)), url("../images/refresh_heros/contact-front-desk.3905f8820bf9.jpg");
  min-height: 500px; }

#iubenda-cs-banner {
  background-color: #99BD66 !important; }
  #iubenda-cs-banner .iubenda-cs-content {
    background: #99BD66 !important; }

/*****************************
    BREAKPOINT 768px
*****************************/
@media (min-width: 768px) {
  .landing-hero h3 {
    font-size: 125%; }
  .no-photo-hero {
    padding: 6em 0; }
    .no-photo-hero h3 {
      font-size: 125%; }
    .no-photo-hero .spacer {
      height: 2em; }
  .no-photo-hero {
    padding: 34px 0; }
  .landing-hero-about a.button,
  .landing-hero a.button {
    font-size: 1.2em;
    padding: 0.6em 1em 0.7em; }
  .landing-hero-block, .landing-hero, .landing-hero-home, .landing-hero-about, .landing-hero-contact, .landing-hero-services, .landing-hero-work {
    height: 430px; } }

/*****************************
    BREAKPOINT 992px
*****************************/
@media (min-width: 992px) {
  .landing-hero .section-title {
    padding: 0 0 2em; }
  .landing-hero-home .title {
    margin-top: 80px; }
  .no-photo-hero .half {
    width: 50%; } }

/*------------------------------
        FOOTER RULES
-------------------------------*/
.footer {
  background-color: #E4EDEB;
  font-size: 80%;
  color: #718C84;
  padding: 30px 0px; }
  .footer .half > * {
    margin: 2rem; }
  .footer .wrapper {
    padding: 0 1em;
    text-align: center; }
  .footer .newsletter-info {
    line-height: 1.4em;
    margin: 1em 0; }
  .footer .contact-button-wrapper {
    margin-top: 0.25em; }
  .footer li {
    margin-bottom: 4px;
    list-style: none; }

/*****************************
     FOOTER QUICK LINKS
*****************************/
.footer .site-map ul {
  list-style: none;
  margin-top: -0.25em;
  padding-left: 0px; }

/*****************************
       FOOTER NEWSLETTER
*****************************/
.footer .sign-up-container button {
  background: none;
  border: none;
  padding: 0; }

.footer .sign-up-container .icon {
  background-color: #fff;
  right: 12px;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%; }

.footer .sign-up-container .fa {
  display: flex; }

.footer .newsletter-sign-up p {
  margin: 1em 0; }

.footer .newsletter-sign-up input {
  border-color: #718C84; }

.footer .newsletter-sign-up .newsletter-btn {
  background-color: #718C84;
  border-color: #718C84; }

/*****************************
    FOOTER SOCIAL MEDIA
*****************************/
.footer .socialicons {
  margin-bottom: -5px; }

.footer .socialicons ul {
  list-style: none;
  padding-bottom: 0px;
  margin-bottom: 0px;
  padding-left: 0px; }

.footer .socialicons li {
  display: inline-block;
  margin-right: 1.5em; }

.footer .socialicons svg .cls-2 {
  fill: #E4EDEB; }

.footer .twitter-feed {
  margin-left: -10px; }

.footer .twitter-feed .tweet {
  padding-bottom: 1em; }

.footer .twitter-feed .tweet .at-caktus {
  display: block; }

/*****************************
      BREAKPOINT 320px
*****************************/
@media (min-width: 320px) {
  .footer .half .half {
    margin-top: 2em; }
  .footer .half:first-child .half:first-child {
    margin-top: 0; } }

/*****************************
      BREAKPOINT 768px
*****************************/
@media (min-width: 768px) {
  .footer .half {
    padding-left: 20px;
    padding-right: 20px;
    text-align: left; }
    .footer .half > * {
      margin: 0; }
    .footer .half .half {
      width: 100%;
      float: none; }
      .footer .half .half.newsletter-sign-up {
        margin-top: 0; }
  .footer .newsletter-sign-up .small-section-title {
    margin-bottom: 0px; }
  .footer .socialicons ul {
    padding-bottom: 1em; } }

/*****************************
    BREAKPOINT 992px
*****************************/
@media (min-width: 992px) {
  .footer .half {
    padding-left: 0;
    padding-right: 0; }
    .footer .half .half {
      width: 50%;
      float: left; }
      .footer .half .half:last-child {
        margin-top: 0; }
      .footer .half .half form {
        width: 90%; }
    .footer .half .half.social-media {
      padding-right: 0; } }

/*****************************
    BREAKPOINT 1024px
*****************************/
@media (min-width: 1024px) {
  .footer .half .half {
    margin-top: 0;
    padding-right: 30px; }
  .footer .half .half.social-media {
    padding-right: 0; } }

/*------------------------------------------------
   INCLUDES (SECTIONS INCLUDED ON VARIOUS PAGES)
------------------------------------------------*/
/*****************************
    OUR RESOURCES SECTION
*****************************/
.our-resources {
  text-align: center; }
  .our-resources .blog-card-wrapper, .our-resources .card-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: column;
    -webkit-box-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0; }
    @media all and (min-width: 961px) {
      .our-resources .blog-card-wrapper, .our-resources .card-wrapper {
        -webkit-box-orient: row;
        -webkit-box-direction: row;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row; } }
  .our-resources .card {
    position: relative;
    margin: 0 5% 1em;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: column;
    -webkit-box-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 310px;
    -ms-flex: 0 1 310px;
    flex: 0 1 310px;
    width: 310px;
    -webkit-box-shadow: 0 0 0 0;
    -moz-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0; }
    .our-resources .card .title {
      padding-bottom: 1em; }
    .our-resources .card .cta-title {
      color: #3C3C3C; }
    .our-resources .card .card-info .title {
      color: #003236; }
    .our-resources .card .card-img, .our-resources .card img.hs-cta-img {
      display: block;
      object-fit: cover;
      object-position: center center;
      font-family: 'object-fit: cover object-position: center center';
      height: 115px; }
      @media all and (min-width: 961px) {
        .our-resources .card .card-img, .our-resources .card img.hs-cta-img {
          height: 190px; } }
    .our-resources .card a {
      margin-bottom: 0; }
    .our-resources .card .card-info p {
      overflow: hidden;
      line-height: 1.45em; }
  .our-resources .section-title {
    color: #003236; }
  .our-resources .card-info {
    padding: 1em; }

@media (min-width: 768px) {
  .our-resources .card-wrapper .card {
    margin: 0 1.2em;
    width: 200px;
    flex: 1 0 200px; } }

/*****************************
    MEMBERSHIP ORGS SECTION
*****************************/
ul.badges-list {
  margin-top: 2rem;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: row;
  -webkit-box-direction: row;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

.badges__badge {
  list-style: none;
  padding: 0 2rem; }

.badges__badge-link {
  display: inline-block; }

.badges__badge-img {
  height: 100px;
  width: auto; }

#home-page section, #service-page section {
  padding: 58.08px 0; }
  #home-page section h2, #service-page section h2 {
    margin: 0 auto 38.72px;
    font-weight: bold; }
  #home-page section p, #service-page section p {
    margin-bottom: 0; }

#home-page .primary-button, #service-page .primary-button {
  margin: 38.72px auto 0; }

#case-studies-showcase h2 {
  font-size: 30.25px;
  color: #262929; }

#case-studies-showcase section {
  padding: 0; }

#case-studies-showcase .primary-button {
  background-color: #99BD66;
  color: #fff;
  border: 1px solid #99BD66;
  border-radius: 4px;
  padding: 10px 42px;
  display: inline-block;
  margin-top: 2em; }
  #case-studies-showcase .primary-button:hover {
    background-color: #fff;
    color: #99BD66;
    border: 1px solid #99BD66;
    border-radius: 4px;
    padding: 10px 42px;
    display: inline-block; }

#our-resources .wrapper .card-wrapper {
  margin-top: 0; }

/*------------------------------
        LIST PAGES/DETAILS
               BLOGS
               CASE STUDIES
               PRESS
               SERVICES
               TALKS
-------------------------------*/
/*****************************
          BLOG LIST
*****************************/
.list-view-filter {
  padding: 1em 1.2em 1.5em; }
  .list-view-filter .three-quarters,
  .list-view-filter .quarter {
    padding: 0; }
  .list-view-filter .topic-categories h3 {
    color: #fff;
    display: inline-block;
    font-size: 1em;
    padding: 0 0.75em 0 0;
    color: #003236; }
    @media (min-width: 992px) {
      .list-view-filter .topic-categories h3 {
        padding-right: 2.25em; } }
  .list-view-filter .topic-categories ul {
    display: block;
    padding: 0.5em 0 0;
    margin-bottom: 1em; }
    @media (min-width: 768px) {
      .list-view-filter .topic-categories ul {
        display: inline; } }
    .list-view-filter .topic-categories ul li {
      font-size: 66%;
      display: inline-block;
      padding-right: 0.75em; }
      @media (min-width: 768px) {
        .list-view-filter .topic-categories ul li {
          font-size: 100%; } }
      @media (min-width: 992px) {
        .list-view-filter .topic-categories ul li {
          padding-right: 2.25em; } }
      .list-view-filter .topic-categories ul li a {
        text-decoration: none;
        color: #003236; }

/*****************************
          BLOG POST
*****************************/
.reading-wrapper h1, .reading-wrapper h2,
.reading-wrapper h3 {
  font-family: 'gt_walsheim_regular', "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 600; }

.reading-wrapper h2 {
  border-bottom: none; }

code {
  font-size: 88%; }

.codehilite pre {
  margin-bottom: 18px; }

iframe {
  width: 100%; }

ol {
  list-style: decimal; }
  ol ul {
    margin-bottom: 0.8em; }
    ol ul li {
      margin-bottom: 0;
      list-style-type: circle; }
      ol ul li ul {
        margin-bottom: 0.8em; }
        ol ul li ul li {
          list-style-type: square;
          margin-bottom: 0; }

ul li {
  line-height: 165%;
  margin-bottom: 0.8em;
  list-style-type: disc; }
  ul li ul {
    margin-bottom: 0.8em; }
    ul li ul li {
      margin-bottom: 0;
      list-style-type: circle; }
      ul li ul li ul {
        margin-bottom: 0.8em; }
        ul li ul li ul li {
          list-style-type: square;
          margin-bottom: 0; }

blockquote {
  color: #117F89;
  line-height: 1.5em;
  margin: 0.8em 0 1.15em;
  padding-left: 1em;
  border-left: 2px solid #117F89; }
  blockquote p {
    padding-left: 0;
    border-left: none;
    color: #117F89; }

blockquote h6 {
  font-family: 'gt_walsheim_light', "Helvetica Neue", Helvetica, sans-serif;
  font-size: 0.75em;
  line-height: 1.5em; }

.reading-wrapper a {
  font-family: 'gt_walsheim_regular', "Helvetica Neue", Helvetica, sans-serif; }

.reading-wrapper a:hover {
  border-bottom: 1px solid;
  padding-bottom: 2px; }

.tags a {
  font-size: 90%;
  font-weight: 100;
  margin-bottom: 0.25em; }

.full .tags li {
  list-style-type: none;
  display: inline; }

.full .tags ul {
  display: inline-block;
  margin-top: -20px;
  padding: 0 0 1em 1em;
  margin-bottom: 0; }

.reading-wrapper small {
  font-size: 85%;
  color: inherit;
  display: inline-block; }

body#posts .home-page .our-blog .card {
  width: auto;
  flex: 0 1 100%;
  flex-basis: auto; }

.inlineblock {
  display: inline-block;
  vertical-align: top; }

.blog-detail .inlineblock h5 {
  padding-top: 0; }

.reading-wrapper .cushion-ends {
  margin: 0px;
  padding-bottom: 0px; }

.reading-wrapper .third {
  padding-left: 0em; }

.blog-image-wrapper {
  max-width: 700px;
  overflow: hidden;
  margin: 0 auto; }

.event-map-wrapper {
  max-width: 840px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto; }

.blog-image-wrapper iframe {
  width: 100%;
  height: 472px;
  margin: 0 auto; }

.blog-image-wrapper img {
  position: relative;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  margin: 0px;
  padding: 0px; }
  @media (min-width: 460px) {
    .blog-image-wrapper img {
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); } }

.blog-detail {
  padding: 8px 1em 10px;
  margin-left: -10px;
  margin-right: -10px; }
  .blog-detail .half {
    vertical-align: middle;
    float: left;
    width: 50%;
    margin-bottom: 1em; }
  .blog-detail .inlineblock {
    display: inline-block;
    margin-bottom: 10px; }
  .blog-detail h5 {
    vertical-align: middle;
    display: inline-block; }
  .blog-detail img {
    vertical-align: middle;
    display: inline-block;
    margin: 0px;
    border-radius: 50%; }
  .blog-detail .generic {
    width: 70px; }
  .blog-detail .align-left {
    text-align: left;
    vertical-align: middle;
    display: inline-block; }
  .blog-detail .align-right {
    text-align: right;
    vertical-align: middle;
    margin-top: 13px;
    padding: 8px 2px;
    display: inline-block; }
    .blog-detail .align-right .post-social-media-icon-bundle {
      margin: 0; }
  .blog-detail a {
    opacity: 1;
    margin-bottom: 4px;
    color: inherit; }
  .blog-detail .authors {
    margin-bottom: 0.5em; }
  .blog-detail .date-and-social {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center; }
    .blog-detail .date-and-social > * {
      flex: 0 1 auto;
      display: inline-block; }

.detail-page-social-media-holder .post-social-media-icon-bundle {
  float: none;
  margin: 0; }

.related-post-card {
  padding: 1em 2em 1em 0; }

.related-post-card a {
  font-size: 0.85em; }

.related-post-card h4 {
  font-size: 1.3em;
  margin-bottom: 0px; }

.related-post-card h4 a {
  font-family: 'gt_walsheim_medium'; }

body#posts .scroll .row,
body#our-talks .scroll .row {
  padding-bottom: 102px;
  margin: -1px 0 -1px 0; }

#toggle-disqus-container {
  display: inline-block;
  margin: 1em 0 0 0; }

.view-more {
  padding: 30px 0 90px; }

/* Homepage Service Cards Layout Styling */
#home-page #our-services h2 {
  font-weight: bold; }

#home-page #our-services ul.card-wrapper {
  padding: 0; }
  @media all and (min-width: 599px) {
    #home-page #our-services ul.card-wrapper {
      margin: -1em 0;
      display: flex;
      flex-wrap: wrap; } }

@media all and (min-width: 599px) and (max-width: 767px) {
  #home-page #our-services li.card-services-detail {
    margin: 1em;
    flex-basis: calc(50% - 2em);
    padding: 0;
    justify-content: flex-start;
    flex-grow: 0; } }

#home-page #our-services li.card-services-detail h3 {
  text-align: center; }

@media all and (min-width: 768px) {
  #home-page #our-services li.card-services-detail {
    flex-basis: calc(33.33% - 2em); } }

/* Homepage and Service List Page General Card Styling  */
@media all and (min-width: 768px) {
  #home-page section ul.card-wrapper, #service-page section ul.card-wrapper, #contact-form-sent section ul.card-wrapper {
    margin-top: -1em;
    justify-content: flex-start;
    display: flex;
    flex-wrap: wrap;
    padding-right: 0;
    flex-direction: row; } }

#home-page section ul.card-wrapper li.card-homepage-resources, #service-page section ul.card-wrapper li.card-homepage-resources, #contact-form-sent section ul.card-wrapper li.card-homepage-resources {
  margin: 38.72px 1em;
  display: block; }
  #home-page section ul.card-wrapper li.card-homepage-resources:first-child, #service-page section ul.card-wrapper li.card-homepage-resources:first-child, #contact-form-sent section ul.card-wrapper li.card-homepage-resources:first-child {
    margin-top: 0; }
  @media all and (min-width: 768px) {
    #home-page section ul.card-wrapper li.card-homepage-resources, #service-page section ul.card-wrapper li.card-homepage-resources, #contact-form-sent section ul.card-wrapper li.card-homepage-resources {
      flex-basis: calc(33.33% - (19.36px * 2));
      max-width: calc(33.33% - (19.36px * 2));
      display: flex;
      margin-top: 0; } }

#home-page section ul.card-wrapper li.card-services-detail, #service-page section ul.card-wrapper li.card-services-detail, #contact-form-sent section ul.card-wrapper li.card-services-detail {
  margin: 2em; }
  @media all and (min-width: 768px) {
    #home-page section ul.card-wrapper li.card-services-detail, #service-page section ul.card-wrapper li.card-services-detail, #contact-form-sent section ul.card-wrapper li.card-services-detail {
      margin: 1em;
      flex-basis: calc(33.33% - 2em);
      padding: 0;
      flex-wrap: wrap;
      justify-content: flex-start; } }
  #home-page section ul.card-wrapper li.card-services-detail a, #service-page section ul.card-wrapper li.card-services-detail a, #contact-form-sent section ul.card-wrapper li.card-services-detail a {
    height: 100%;
    padding: 2em;
    margin: 0; }

/* Blog List Page Using Blog Cards Mixin */
#posts ul.blog-card-wrapper, #ebooks ul.blog-card-wrapper {
  padding: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column; }
  @media all and (min-width: 768px) {
    #posts ul.blog-card-wrapper, #ebooks ul.blog-card-wrapper {
      flex-direction: row;
      flex-wrap: wrap; } }

#posts .card-blog, #ebooks .card-blog {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 2em;
  margin-right: 2em;
  flex-basis: auto; }

@media all and (min-width: 768px) and (max-width: 991px) {
  #posts .card-blog, #ebooks .card-blog {
    margin: 1em;
    flex-basis: calc(50% - 2em);
    max-width: calc(50% - 2em);
    flex-grow: 0;
    max-width: calc(50% - 2em); } }

@media all and (min-width: 992px) {
  #posts .card-blog, #ebooks .card-blog {
    margin: 1em;
    flex-basis: calc((100% / 3) - 2em);
    max-width: calc((100% / 3) - 2em); } }

/*****************************
         CASE STUDIES
*****************************/
body#our-work section {
  padding: 58.08px 0; }
  body#our-work section h2 {
    margin: 0 auto 38.72px;
    font-weight: bold; }

body#our-work .cs-block-wrapper {
  max-width: 700px;
  margin: 10px auto;
  padding: 10px 20px 8px 20px; }

body#our-work .cs-block-wrapper h1 {
  margin-bottom: 0px; }

body#our-work .cs-block-wrapper a:hover {
  border-bottom: 1px solid;
  padding-bottom: 2px; }

body#our-work .cs-block-wrapper .lighter {
  opacity: 0.7; }

body#our-work .casestudy-hero {
  padding: 6em 0;
  background-image: linear-gradient(rgba(20, 10, 0, 0), rgba(20, 10, 0, 0.4)), url("../images/headers/cs/unicef_libya.8a16493df64c.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

body#our-work .casestudy .case-study-social-icons {
  float: right;
  display: inline;
  position: relative;
  bottom: 0em;
  width: 30px;
  height: 100%; }

body#our-work .casestudy-header-foldover {
  margin-top: -5em; }

body#our-work .what-people-say {
  text-align: center;
  color: #fff;
  margin: 0 auto;
  width: 100%; }
  body#our-work .what-people-say .client-quote {
    color: #fff;
    line-height: 1.25em;
    margin: 2em auto 1em; }
  body#our-work .what-people-say .client-name {
    color: #fff; }

body#our-work .home-page .our-blog .card,
body#our-work .home-page .our-blog .hidden-spacer-card {
  width: 100%;
  flex: 0 1 100%; }

body#our-work .home-page .our-blog .card {
  margin: 1em 5% 1.5em; }

body#our-work .home-page .our-blog .hidden-spacer-card {
  height: 0;
  margin: 0; }

/*****************************
       CASE STUDY DETAIL
*****************************/
body.case-study-detail .reading-wrapper h3.blue {
  font-size: 100%; }
  @media (min-width: 768px) {
    body.case-study-detail .reading-wrapper h3.blue {
      font-size: 135%; } }

body.case-study-detail .expanded .show-more-show-less svg {
  transform: rotate(180deg); }

body.case-study-detail .expanded .show-more-show-less::before {
  content: "less"; }

body.case-study-detail .collapsed .show-more-show-less::before {
  content: "more"; }

.showme-content ul {
  padding-left: 1.1em; }

/*****************************
   TALKS, AWARDS, AND BOOKS
*****************************/
#our-talks-detail #wrap {
  padding-top: 20px; }

#our-talks-detail .row {
  padding: 40px 10px; }

.talk-image-wrapper {
  width: 100%;
  position: relative;
  padding-bottom: 56.25%; }
  .talk-image-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.our-books .card {
  margin: 1.2em; }

@media (max-width: 559px) {
  .our-books .third img {
    max-height: 240px;
    width: auto;
    display: block; } }

.our-books .card-info-book {
  padding: 1.2em 0.75em;
  background-color: #fff; }
  .our-books .card-info-book p {
    margin-bottom: 0.25em;
    padding-top: 5px; }
  .our-books .card-info-book .title {
    font-size: 110%;
    font-weight: normal;
    color: #117F89; }
  .our-books .card-info-book .author {
    font-weight: normal;
    color: #99BD66; }
  .our-books .card-info-book .purchase-from {
    color: #117F89; }

.our-awards .card-horizontal .third {
  background-color: transparent; }

.our-awards .two-thirds .card-info-award {
  text-align: left; }

.our-awards .section-title {
  display: table; }

.our-awards .three-quarters,
.our-books .three-quarters {
  margin: 0 auto;
  float: none;
  padding: 0 0.5em; }
  .our-awards .three-quarters div.white,
  .our-books .three-quarters div.white {
    text-align: center;
    margin-top: 1.2em;
    line-height: 1.45em;
    margin-bottom: 1.15em; }

.our-awards .card-horizontal,
.our-books .card-horizontal {
  margin: 1.2em;
  width: 500px;
  flex: 0 1 500px; }
  .our-awards .card-horizontal > *,
  .our-books .card-horizontal > * {
    flex: 0 1 auto; }

.our-awards .third,
.our-books .third {
  padding: 0.5em;
  background-color: #fff; }
  .our-awards .third img,
  .our-books .third img {
    margin: 0.5em auto;
    max-height: 240px;
    width: auto;
    display: block; }

.our-awards .card-info,
.our-books .card-info {
  float: left;
  padding: 1.2em 0.75em;
  background-color: #fff; }

/*****************************
           EVENTS
*****************************/
.card-info-eventlisting .event-single-row h3,
.card-info .event-single-row h3 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0;
  padding-bottom: 0.75em;
  color: #117F89; }
  .card-info-eventlisting .event-single-row h3 a,
  .card-info .event-single-row h3 a {
    color: inherit; }

/*****************************
    MISC AESTHETIC ELEMENTS
*****************************/
.hairline,
.hairline-bottom {
  opacity: 0.15;
  margin: 0 1.2em; }

.hairline {
  border-top: 1px solid #000; }

.hairline-bottom {
  border-bottom: 1px solid #000; }

.full-hairline {
  border-top: 1px solid #000;
  opacity: 0.15;
  padding: 10px 0px; }

.full-hairline-short {
  border-top: 1px solid #000;
  padding: 5px 0px; }

/*****************************
       SERVICES PAGE
*****************************/
body.service-list .home-page .our-blog {
  padding-top: 0;
  margin-top: -1em; }
  body.service-list .home-page .our-blog .wrapper .card {
    width: 310px; }

body.service-list ul {
  padding-left: 0;
  margin-bottom: 0; }

/*****************************
       SERVICES PAGE
*****************************/
.content-filters {
  padding: 0 1.2em; }
  .content-filters .quarter {
    padding: 0; }
  .content-filters h1 {
    font-size: 175%; }

#privacy-policy #wrap a:hover {
  border-bottom: 1px solid;
  padding-bottom: 2px; }

#service-page #areas-of-expertise {
  color: #262929;
  padding: 58.08px 0; }
  #service-page #areas-of-expertise h2 {
    margin: 0 auto 38.72px; }
  #service-page #areas-of-expertise section.wrapper {
    display: block;
    overflow: auto;
    padding: 0; }
    @media all and (min-width: 768px) {
      #service-page #areas-of-expertise section.wrapper {
        display: flex; } }
    #service-page #areas-of-expertise section.wrapper .expertise-column {
      padding: 0 2em; }
      @media all and (min-width: 768px) {
        #service-page #areas-of-expertise section.wrapper .expertise-column {
          flex-basis: 33.33%; } }
      #service-page #areas-of-expertise section.wrapper .expertise-column h3 {
        text-align: left;
        font-size: 26.136px;
        line-height: 60px; }
        @media all and (min-width: 768px) {
          #service-page #areas-of-expertise section.wrapper .expertise-column h3 {
            margin: 38.72px 0 19.36px;
            line-height: initial; } }
        #service-page #areas-of-expertise section.wrapper .expertise-column h3:hover {
          cursor: pointer; }
        #service-page #areas-of-expertise section.wrapper .expertise-column h3:after {
          content: '▼';
          font-weight: bold;
          position: relative;
          left: 10px;
          font-size: 13px; }
        #service-page #areas-of-expertise section.wrapper .expertise-column h3.show-arrow {
          margin: 0; }
          #service-page #areas-of-expertise section.wrapper .expertise-column h3.show-arrow:after {
            content: '▲';
            font-size: 13px; }
        @media all and (min-width: 768px) {
          #service-page #areas-of-expertise section.wrapper .expertise-column h3:after {
            content: none; }
          #service-page #areas-of-expertise section.wrapper .expertise-column h3.show-arrow:after {
            content: none; }
          #service-page #areas-of-expertise section.wrapper .expertise-column h3:hover {
            cursor: default; } }
      #service-page #areas-of-expertise section.wrapper .expertise-column ul {
        padding: 0;
        display: none; }
        #service-page #areas-of-expertise section.wrapper .expertise-column ul.show-block {
          display: block;
          padding-bottom: 1.5em; }
        @media all and (min-width: 768px) {
          #service-page #areas-of-expertise section.wrapper .expertise-column ul {
            display: block;
            padding-bottom: 0; } }
      #service-page #areas-of-expertise section.wrapper .expertise-column li {
        text-align: left;
        list-style: none;
        color: #262929;
        margin-bottom: 0;
        line-height: 1.5; }
        #service-page #areas-of-expertise section.wrapper .expertise-column li > a {
          color: #117F89; }
          #service-page #areas-of-expertise section.wrapper .expertise-column li > a:hover {
            text-decoration: underline; }
    @media all and (min-width: 768px) {
      #service-page #areas-of-expertise section.wrapper:first-of-type h3 {
        margin-top: 0; } }
  #service-page #areas-of-expertise section.wrapper:first-of-type > .expertise-column:first-of-type h3 {
    margin-top: 0; }

#service-page #pricing {
  padding: 3em 0; }
  #service-page #pricing .reading-wrapper p {
    margin: 2em 0 2em;
    color: #262929; }
  #service-page #pricing .price-wrapper {
    display: flex;
    flex-direction: column;
    margin: 2em;
    border: 2px solid #000; }
    @media all and (min-width: 768px) {
      #service-page #pricing .price-wrapper {
        flex-direction: row;
        justify-content: center;
        margin: 0 2em;
        border: 0; } }
    #service-page #pricing .price-wrapper [class*='pricing-tier'] {
      background: white;
      min-height: 370px;
      display: flex;
      flex-direction: column; }
      @media all and (min-width: 768px) {
        #service-page #pricing .price-wrapper [class*='pricing-tier'] {
          margin: 0;
          justify-content: flex-start;
          border: 2px solid #000; } }
      #service-page #pricing .price-wrapper [class*='pricing-tier'] > h3 {
        text-transform: capitalize;
        text-align: center;
        font-size: 19.36px;
        font-weight: bold;
        line-height: 60px;
        color: #262929; }
      #service-page #pricing .price-wrapper [class*='pricing-tier'] .pricing-scribbler-wrapper {
        padding: 2em;
        flex-grow: 1;
        display: flex;
        flex-direction: column; }
        #service-page #pricing .price-wrapper [class*='pricing-tier'] .pricing-scribbler-wrapper p {
          color: #262929;
          margin-bottom: 0; }
        #service-page #pricing .price-wrapper [class*='pricing-tier'] .pricing-scribbler-wrapper div:first-of-type {
          margin-bottom: 1em; }
        #service-page #pricing .price-wrapper [class*='pricing-tier'] .pricing-scribbler-wrapper div:last-of-type {
          margin-top: auto; }
    #service-page #pricing .price-wrapper .pricing-tier-1 {
      border-right: none; }
    #service-page #pricing .price-wrapper .pricing-tier-3 {
      border-left: none; }
    #service-page #pricing .price-wrapper .pricing-tier-1 > h3, #service-page #pricing .price-wrapper .pricing-tier-3 > h3 {
      background-color: #E4EDEB; }
    @media all and (min-width: 768px) {
      #service-page #pricing .price-wrapper .pricing-tier-2 {
        background: #E4EDEB;
        border-left: none;
        border-right: none; } }
    #service-page #pricing .price-wrapper .pricing-tier-2 > h3 {
      background-color: #117F89;
      color: #fff; }

@media all and (min-width: 768px) {
  #service-page .contact-button {
    margin: 2em 0 0; } }

/***************************
      BREAKPOINT 440px
****************************/
@media (min-width: 440px) {
  .blog-detail h5 {
    margin: 0; }
  .home-page .our-blog .event {
    margin: 1em 0 0; }
  .home-page .our-clients-logos .full {
    clear: left; }
  #our-talks-detail .blog-detail .three-quarters {
    flex: 0 1 75%; }
  #our-talks-detail .blog-detail .quarter {
    flex: 0 1 25%; }
  .our-books .card-horizontal .third {
    width: 100%; }
  .our-books .card-info-book {
    width: 100%; }
  body#our-work .casestudy-hero {
    padding: 8em 0; }
  .card-info-eventlisting {
    padding: 1em; }
  .our-awards .card-horizontal flex-layout,
  .our-awards .card-horizontal .third {
    width: 100%; } }

/*****************************
    BREAKPOINT 460px
*****************************/
@media (min-width: 460px) {
  .blog-image-wrapper {
    height: 460px;
    overflow: hidden;
    margin: 0 auto;
    clear: left; } }

/*****************************
    BREAKPOINT 540px
*****************************/
@media (min-width: 540px) {
  .our-awards .card-horizontal,
  .our-books .card-horizontal {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .our-awards .card-horizontal .third,
    .our-books .card-horizontal .third {
      float: left;
      padding: 1.6em 1em 0.5em; }
      .our-awards .card-horizontal .third img,
      .our-books .card-horizontal .third img {
        height: auto;
        margin: 0 auto 1em; }
    .our-awards .card-horizontal .card-info,
    .our-books .card-horizontal .card-info {
      float: left; }
  .our-awards .card-horizontal .third {
    width: 100%; }
  .our-awards .card-horizontal .card-info {
    width: 100%; }
  .our-books .card-horizontal .third {
    width: 33.33333333%; }
    .our-books .card-horizontal .third img {
      max-height: none;
      width: 100%; }
  .our-books .card-horizontal .card-info {
    width: 66.66666666%; } }

/*****************************
    BREAKPOINT 768px
*****************************/
@media (min-width: 768px) {
  .spacer-card {
    display: block; }
  body#our-work .home-page .our-blog .card,
  body#our-work .home-page .our-blog .hidden-spacer-card {
    width: 220px;
    flex: 1 0 220px; }
  body#our-work .home-page .our-blog .card {
    margin: 1em 2% 1.5em; }
  body#our-work .home-page .our-blog .hidden-spacer-card {
    margin-top: 0;
    margin-bottom: 0; }
  body#our-work .casestudy-hero {
    height: 430px;
    padding: 10em 0; }
  body#posts .home-page .our-blog .card {
    width: 220px;
    flex: 1 0 220px; }
  .home-page .our-blog .quarter,
  .home-page .our-blog .three-quarters {
    width: 100%;
    float: none; }
  .home-page .our-blog .card {
    margin: 1em 2% 1.5em; }
  .home-page .our-blog .card,
  .home-page .our-blog .event {
    width: 200px;
    flex: 1 0 200px; }
  .home-page .our-blog .quarter .hide-large {
    display: block; }
  .home-page .our-blog .quarter .events {
    width: 100%; }
  .our-books .card .third {
    width: 33.33333%; }
    .our-books .card .third img {
      max-height: 200px;
      width: auto; }
  .our-books .card .two-thirds {
    width: 66.66666%; }
  .talk-image-wrapper {
    padding-bottom: 353px; }
  .card-info-eventlisting .event-single-row .fifth {
    padding: 0 0.5em; }
  .our-awards .wrapper .blog-card-wrapper .card,
  .our-books .wrapper .blog-card-wrapper .card {
    width: 500px;
    float: inherit; }
  .home-page .our-blog .our-awards .card-horizontal,
  .home-page .our-blog .our-books .card-horizontal {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap; }
    .home-page .our-blog .our-awards .card-horizontal .third,
    .home-page .our-blog .our-books .card-horizontal .third {
      flex: 0 1 33.3333333%; }
    .home-page .our-blog .our-awards .card-horizontal .two-thirds,
    .home-page .our-blog .our-books .card-horizontal .two-thirds {
      flex: 0 1 66.6666666%; }
  .our-awards .card-horizontal .third {
    width: 33.33333333%; }
    .our-awards .card-horizontal .third img {
      max-height: none;
      width: 100%; }
  .our-awards .card-horizontal .card-info {
    width: 66.66666666%; } }

/*****************************
    BREAKPOINT 992px
*****************************/
@media (min-width: 992px) {
  .home-page .our-blog .wrapper .card {
    margin: 1.2em; }
  .home-page .our-blog .hide-small {
    display: none; }
  .home-page .our-blog .hide-large {
    display: block; }
  .home-page .our-blog .events-wrapper .card {
    margin: 0.5em; }
  .home-page .our-blog .wrapper .single-row {
    margin: 0.75em 1.2em; }
  body.service-list .home-page .our-blog {
    margin-top: -1.15em; } }

/*****************************
    BREAKPOINT 1093px
******************************/
@media (min-width: 1093px) {
  .our-awards .card .third img,
  .our-books .card .third img {
    width: 100%;
    margin-bottom: 1.75em; } }

/*****************************
    BREAKPOINT 1200px
*****************************/
@media (min-width: 1200px) {
  .home-page .our-blog .quarter {
    width: 25%;
    float: left; }
  .home-page .our-blog .three-quarters {
    width: 75%;
    float: left; }
  .home-page .our-blog .hide-small {
    display: block; }
  .home-page .our-blog .hide-large {
    display: none; }
  .home-page .our-blog .events-wrapper {
    margin: 0 auto;
    text-align: center;
    display: inline-block;
    width: 25%; }
  .home-page .our-blog .events-wrapper .events {
    padding-top: 0px;
    margin: 0; }
  .home-page .our-blog .events-wrapper .event p.title {
    margin-bottom: 0; }
  .list-view-filter .three-quarters,
  .list-view-filter .quarter {
    padding: 0 1.2em; }
  .our-awards .wrapper .three-quarters,
  .our-books .wrapper .three-quarters {
    margin: 0 auto;
    float: none; } }

.service-detail .services-description {
  background-color: #E4EDEB; }

.service-detail ul.components-list {
  margin: 0;
  padding: 0; }
  .service-detail ul.components-list li:last-of-type {
    margin-bottom: 0; }

.service-detail a.link-common-breadcrumb {
  margin: 1em;
  display: inline-block;
  color: #117F89; }
  .service-detail a.link-common-breadcrumb:last-of-type {
    margin-bottom: 3em; }
  @media all and (min-width: 768px) {
    .service-detail a.link-common-breadcrumb:first-of-type {
      margin: 2em 2em 0; }
    .service-detail a.link-common-breadcrumb:last-of-type {
      margin: 0 2em 2em; } }
  .service-detail a.link-common-breadcrumb:hover {
    text-decoration: underline; }

.slideshow {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
  height: 300px;
  overflow: hidden; }
  .slideshow .slick-list {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .slideshow img {
    height: 300px; }
  .slideshow .slick-dots {
    bottom: 0px; }
    .slideshow .slick-dots li button::before {
      color: white;
      font-weight: 400;
      text-shadow: 0 0 2px white;
      font-size: 24px;
      opacity: 0.5;
      content: "○"; }
    .slideshow .slick-dots li.slick-active button::before {
      opacity: 1;
      font-weight: normal;
      text-shadow: 0 0 1px white;
      content: "●"; }

.case-studies-homepage-carousel {
  display: none;
  margin: 0 1em;
  /* the slides */
  /* the parent */ }
  .case-studies-homepage-carousel.slick-initialized {
    display: block; }
  .case-studies-homepage-carousel .slick-slide {
    margin: 1em 10px; }
  .case-studies-homepage-carousel .slick-list {
    margin: 0 -10px; }
  .case-studies-homepage-carousel .slick-dots {
    bottom: -30px; }
    .case-studies-homepage-carousel .slick-dots li button::before {
      color: #99BD66;
      font-weight: 400;
      text-shadow: 0 0 2px #99BD66;
      font-size: 24px;
      opacity: 0.5;
      content: "○"; }
    .case-studies-homepage-carousel .slick-dots li.slick-active button::before {
      opacity: 1;
      font-weight: normal;
      text-shadow: 0 0 1px #99BD66;
      content: "●"; }
  .case-studies-homepage-carousel .slick-next:before, .case-studies-homepage-carousel .slick-prev:before {
    color: #99BD66; }
  .case-studies-homepage-carousel div h3 {
    color: #117F89;
    font-size: 19.36px; }
  .case-studies-homepage-carousel div img {
    opacity: 0.9;
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
    font-family: 'object-fit: cover object-position: center center'; }
    @media all and (min-width: 768px) {
      .case-studies-homepage-carousel div img {
        height: 165px; } }
    @media all and (min-width: 1300px) {
      .case-studies-homepage-carousel div img {
        height: 225px; } }
  .case-studies-homepage-carousel div a:hover h3 {
    text-decoration: underline; }
  .case-studies-homepage-carousel div a:hover img {
    opacity: 1; }

#fourzerofour {
  /**
   * "Big enough" to make a dramatic impact, but constrained to
   * not be so big that it pushes all the text off the screen.
   */ }
  #fourzerofour .full-width-dummy {
    width: 100%;
    height: 1px; }
  #fourzerofour .full-width {
    width: 100%; }
  #fourzerofour .big-enough {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 45vh;
    margin-left: auto;
    margin-right: auto; }
  #fourzerofour p.half {
    float: none;
    margin: 0 auto 20px; }
  #fourzerofour .no-wrap {
    white-space: nowrap; }
  #fourzerofour .helpful-links a {
    font-size: 1.5em; }
    #fourzerofour .helpful-links a.green.no-wrap::after {
      content: ' |';
      color: #6C7A78;
      cursor: default; }
  #fourzerofour .helpful-links a.green.no-wrap:last-of-type::after {
    display: none; }
  @media (max-width: 600px) {
    #fourzerofour .helpful-links {
      text-align: center;
      width: 80%; }
      #fourzerofour .helpful-links a {
        display: inline-block; }
      #fourzerofour .helpful-links a.green.no-wrap::after {
        display: none; } }
  @media (max-width: 400px) {
    #fourzerofour .helpful-links {
      min-width: 100%; } }
