.clp-challenges-con {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  max-width: 1160px;
  margin: 0 auto 4rem;
  text-wrap: pretty; /* only works on Chrome */
}
.clp-challenges-con .clear-float {
  display: none;
}
.clp-challenges-con > * {
  flex: 0 0 calc(100% - 2rem);
  padding: 0.25rem 1rem 0.5rem;
  margin: 0.5rem 1rem;
}
.clp-challenges-con .intro,
.clp-challenges-con .outtro {
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.clp-challenges-con .intro > *,
.clp-challenges-con .outtro > * {
  flex-grow: 0;
  margin: 0;
}
.clp-challenges-con .clp-challenge {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
  padding: 0.25rem 1rem 0.5rem;
  text-align: center;
  background-color: #ebeff2;
  border-radius: 0.75rem;
}
@media (min-width: 768px) {
  .clp-challenges-con .clp-challenge {
    flex: 0 0 calc(50% - 2rem);
  }
}
.clp-challenges-con .clp-challenge p,
.clp-challenges-con .clp-challenge ul,
.clp-challenges-con .clp-challenge ol {
  font-size: 0.875rem;
}
.clp-challenges-con .clp-challenge ul,
.clp-challenges-con .clp-challenge ol {
  text-align: left;
}
.clp-challenges-con .clp-challenge > *:not(:first-child, :last-child) {
  margin-top: 0;
}
.clp-challenges-con .clp-challenge h4 + ul {
  margin-top: -1rem;
}
.clp-challenges-con .clp-challenge h3:last-child {
  flex: 1 1 100%;
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
  justify-content: space-evenly;
  align-items: flex-end;
  font-size: 2rem;
}
.clp-challenges-con .clp-challenge h4 a {
  text-decoration: none;
}
.clp-challenges-con .clp-challenge h4 a:after {
  content: "\f061";
  display: inline-block;
  font-family: "Font Awesome 5 Pro";
  padding-left: 1ch;
  opacity: 0;
  transform: translate3d(-1rem, 0, 0);
  transition: 0.25s all ease-in-out;
}
.clp-challenges-con .clp-challenge h4 a:hover:after, .clp-challenges-con .clp-challenge h4 a:focus:after {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+2) {
  background-color: #ecf9f9;
}
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+2) h3,
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+2) h4,
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+2) a {
  color: #339999;
}
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+3) {
  background-color: #eef6fd;
}
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+3) h3,
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+3) h4 {
  color: #1a76b8;
}
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+4) {
  background-color: #fff5f5;
}
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+4) h3,
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+4) h4,
.clp-challenges-con:has(.intro) .clp-challenge:nth-child(3n+4) a {
  color: #ff6666;
}

.clp-cs-wrapper .clp-cs-intro {
  text-align: center;
}
.clp-cs-wrapper .clp-cs-intro h2 {
  font-size: 1rem;
}
@media (min-width: 768px) {
  .clp-cs-wrapper .clp-cs-intro h2 {
    font-size: 1.25rem;
  }
}
.clp-cs-wrapper .clp-cs-con {
  position: relative;
  display: grid;
  gap: 2rem 1rem;
  width: calc(100% - 2rem);
  max-width: 1200px;
  margin: 2rem auto;
  font-size: 0.875rem;
}
@media (min-width: 768px) {
  .clp-cs-wrapper .clp-cs-con {
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-columns: auto auto auto;
  }
}
@media (min-width: 1024px) {
  .clp-cs-wrapper .clp-cs-con {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto auto;
    background: url("https://cms.proteus.co/_resources/dyn/files/77170720zfc2109a8/_fn/clp-cs-bg.png") center center no-repeat;
    background-size: auto 75%;
  }
}
.clp-cs-wrapper .clp-cs-con > * {
  opacity: 1;
}
.clp-cs-wrapper .clp-cs-con h2,
.clp-cs-wrapper .clp-cs-con h4 {
  color: #1a76b8;
}
.clp-cs-wrapper .clp-cs-con h3 {
  text-transform: uppercase;
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 0;
}
.clp-cs-wrapper .clp-cs-con h3 + p {
  margin-top: 0;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-need,
.clp-cs-wrapper .clp-cs-con .clp-cs-solution,
.clp-cs-wrapper .clp-cs-con .clp-cs-impact {
  position: relative;
  grid-column-start: 1;
  grid-column-end: 2;
  margin-left: 3.5rem;
  padding-left: 1rem;
  text-wrap: pretty;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-need *:first-child,
.clp-cs-wrapper .clp-cs-con .clp-cs-solution *:first-child,
.clp-cs-wrapper .clp-cs-con .clp-cs-impact *:first-child {
  margin-top: 0;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-need *:last-child,
.clp-cs-wrapper .clp-cs-con .clp-cs-solution *:last-child,
.clp-cs-wrapper .clp-cs-con .clp-cs-impact *:last-child {
  margin-bottom: 0;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-need:before,
.clp-cs-wrapper .clp-cs-con .clp-cs-solution:before,
.clp-cs-wrapper .clp-cs-con .clp-cs-impact:before {
  content: "";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  font-size: 1.5rem;
  color: #1a76b8;
  position: absolute;
  top: 50%;
  left: -2.5rem;
  transform: translateY(-50%);
}
.clp-cs-wrapper .clp-cs-con .clp-cs-need:after,
.clp-cs-wrapper .clp-cs-con .clp-cs-solution:after,
.clp-cs-wrapper .clp-cs-con .clp-cs-impact:after {
  content: "";
  width: 5px;
  position: absolute;
  left: 0;
  top: 0.25rem;
  bottom: 0.25rem;
  background-color: #1a76b8;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-need:before {
  content: "\f12e";
}
.clp-cs-wrapper .clp-cs-con .clp-cs-solution:before {
  content: "\f672";
}
.clp-cs-wrapper .clp-cs-con .clp-cs-impact:before {
  content: "\e027";
}
.clp-cs-wrapper .clp-cs-con .clp-cs-results {
  display: flex;
  flex-flow: column;
  justify-content: center;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .clp-cs-wrapper .clp-cs-con .clp-cs-results {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .clp-cs-wrapper .clp-cs-con .clp-cs-results {
    grid-row-start: 1;
    grid-row-end: 4;
    grid-column-start: 3;
    grid-column-end: 4;
  }
}
.clp-cs-wrapper .clp-cs-con .clp-cs-results .results {
  line-height: 1;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-results .results .value {
  font-size: 4rem;
  color: #1a76b8;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-results .results .type {
  font-size: 1.2rem;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-results .results.reverse {
  display: flex;
  flex-flow: column-reverse;
}
@media (min-width: 1024px) {
  .clp-cs-wrapper .clp-cs-con .clp-cs-results .results.end {
    align-self: flex-end;
  }
}
.clp-cs-wrapper .clp-cs-con .clp-cs-results .conjunction {
  font-size: 4rem;
  align-self: center;
}
.clp-cs-wrapper .clp-cs-con .clp-cs-results .conjunction > * {
  line-height: 1;
  margin: 0;
  text-align: center;
}

.web-wrap {
  padding: 2rem 0;
}

.web-con {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 2rem;
}
.web-con h2 {
  font-size: 1.75rem;
}
.web-con h4 {
  line-height: 1.2;
}
.web-con h5 {
  font-size: 1.025rem;
  letter-spacing: 0.025rem;
}
.web-con .webinar-form-con .text h5:first-child {
  margin-top: 0;
}
.web-con .cms_video {
  margin: 0 !important;
}
.web-con .image-con p:has(img) {
  margin: 0;
  width: 100%;
}
.web-con .image-con img {
  aspect-ratio: 16/9;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
}
@media (max-width: 767px) {
  .web-con {
    display: flex;
    flex-flow: column nowrap;
  }
  .web-con .webinar-intro {
    order: 2;
  }
  .web-con .video-con {
    order: 1;
  }
  .web-con .webinar-form-con {
    order: 3;
    padding-bottom: 1rem;
  }
  .web-con .library-cta {
    order: 4;
    position: relative;
    width: 100%;
    text-align: center;
    background-color: #ebeff2;
  }
}
@media (min-width: 768px) {
  .web-con {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto 1fr;
    gap: 0 2rem;
  }
  .web-con .webinar-header {
    grid-row-start: 1;
    grid-row-end: 2;
    grid-column-start: 1;
    grid-column-end: 3;
  }
  .web-con .webinar-header *:last-child {
    margin-bottom: 0;
  }
  .web-con .webinar-intro {
    grid-row-start: 2;
    grid-row-end: 4;
  }
  .web-con .webinar-intro *:first-child {
    margin-top: 0;
  }
  .web-con .video-con,
  .web-con .image-con {
    grid-column-start: 2;
    grid-column-end: 3;
  }
  .web-con .webinar-form-con {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 3;
  }
  .web-con .library-cta {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 3;
    background-color: #ebeff2;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}

/*
Featured Posts Layout - similar look to the full posts listing.
Primarily used on the home page.
 */
.featured-posts {
  padding: 16px 16px 32px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .featured-posts {
    padding: 32px 16px;
  }
}
@media (min-width: 1024px) {
  .featured-posts {
    padding: 32px 32px 64px;
  }
}
@media (min-width: 1160px) {
  .featured-posts {
    padding: 32px 0 64px;
  }
}
.featured-posts .listing-intro,
.featured-posts .flisting-link {
  display: block;
  text-align: center;
  max-width: 768px;
  margin: 0 auto;
}
.featured-posts .listing-posts .post.feature-post a {
  display: flex;
  flex-flow: column-reverse nowrap;
  box-shadow: 0 5px 10px rgba(111, 172, 213, 0.3);
  background-color: rgba(111, 172, 213, 0.1);
  border-radius: 0.5rem;
  overflow: hidden;
  text-decoration: none;
}
.featured-posts .listing-posts .post.feature-post a .info {
  margin: 0 1.5rem;
}
.featured-posts .listing-posts .post.feature-post a:hover .no-image,
.featured-posts .listing-posts .post.feature-post a:hover .has-image {
  opacity: 1;
}
.featured-posts .listing-posts .post.feature-post a:hover .title {
  color: #274b7c;
}