/* 
 * KB's css file
 * --------------------------------------------------
 */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Container size feedback classes */
/* :where(.container-dev):where(.col-w-lt-xs, .col-w-gte-xs, .col-w-gte-sm, .col-w-gte-md, .col-w-gte-lg, .col-w-gte-xl) {
  position: relative;
}
:where(.container-dev):where(.col-w-lt-xs, .col-w-gte-xs, .col-w-gte-sm, .col-w-gte-md, .col-w-gte-lg, .col-w-gte-xl)::before {
  content: 'container: ' var(--content, 'xxs');
  color: blue;
  position: absolute;
  bottom: 100%;
  left: 0;
}
:where(.container-dev.col-w-lt-xs)::before {
  --content: '< xs';
}
:where(.container-dev.col-w-gte-xs)::before {
  --content: '>= xs';
}
:where(.container-dev.col-w-gte-sm)::before {
  --content: '>= sm';
}
:where(.container-dev.col-w-gte-md)::before {
  --content: '>= md';
}
:where(.container-dev.col-w-gte-lg)::before {
  --content: '>= lg';
}
:where(.container-dev.col-w-gte-xl)::before {
  --content: '>= xl';
} */

/*
 * Globals / Elements
 * ---------------------------------------
 * Merge me pls?
 * --------------------------------------- */

/* General global variables
 * -------------------------- */
:root {
  --font-family-sans: var(--font-family-sans);
  --divider-color: #dbded5;
}

/* Side Gutters
 * -------------------------- */
:root {
  --side-gutter: 1.5rem;
}
.has-side-gutters {
  padding-left: var(--side-gutter);
  padding-right: var(--side-gutter);
}

/* Links
 * --------------------------
 * (testing on one page to start)
 * -------------------------- */
:where(.page-pricing, .page-id-1444) :where(a) {
  color: #2c7c11;
}
:where(.page-pricing, .page-id-1444) :where(a:focus, a:hover) {
  color: hsl(105deg 66% 31%);
  text-decoration-color: hsl(105deg 26% 69%);
}

/* Headings
 * -------------------------- */
.col-w-lt-xs :where(.heading--dynamic) {
  --dynamic-heading-scaler: 0.75;
}
.col-w-gte-xs :where(.heading--dynamic) {
  --dynamic-heading-scaler: 0.875;
}
.col-w-gte-sm :where(.heading--dynamic) {
  --dynamic-heading-scaler: 1;
}
@media (min-width: 580px) {
  .col-w-lt-xs :where(.heading--dynamic) {
    --dynamic-heading-scaler: 0.65;
  }
  .col-w-gte-xs :where(.heading--dynamic) {
    --dynamic-heading-scaler: 0.725;
  }
  .col-w-gte-sm :where(.heading--dynamic) {
    --dynamic-heading-scaler: 0.8;
  }
  .col-w-gte-md :where(.heading--dynamic) {
    --dynamic-heading-scaler: 1;
  }
}
.heading--dynamic {
  font-family: 'Woodland-bold', Georgia, serif;
  font-weight: 700;
  /* dynamic font-size -- starts with a scaling base value, but gets capped by an upper bound value. each heading size gets custom values; see below. */
  font-size: min(
    (var(--heading-base-size, 1rem + 2.5vw) * var(--dynamic-heading-scaler, 1)),
    var(--heading-max-size, 2.125rem)
  );
}
.heading--dynamic-18 {
  --heading-base-size: calc(0.8rem + 1.5vw);
  --heading-max-size: 1.125rem;
}
.heading--dynamic-20 {
  --heading-base-size: calc(0.85rem + 1.75vw);
  --heading-max-size: 1.25rem;
}
.heading--dynamic-32 {
  --heading-base-size: calc(1rem + 2.5vw);
  --heading-max-size: 2.125rem;
}
.heading--dynamic-48 {
  --heading-base-size: calc(1.25rem + 3vw);
  --heading-max-size: 3rem;
}

/* Lists
 * -------------------------- */
.list--bare {
  list-style: none;
  padding-left: 0;
}

/* Input Fields
 * -------------------------- */
:root {
  --input-padding-top: 0.65em;
  --input-padding-bottom: 0.6em;
  --input-padding-x: 1.5em;
  --input-border-radius: 3em;
  --input-border-color: transparent;
  --input-bg-color: #f8f7f7;
}

.input-field {
  box-sizing: border-box;
  display: block;
  padding: var(--input-padding-top) var(--input-padding-x)
    var(--input-padding-bottom);
  width: 100%;
  max-width: 100%;
  border: 2px solid var(--input-border-color);
  border-radius: var(--input-border-radius);
  background-color: var(--input-bg-color);
  font-size: 1rem;
  line-height: 1;
  color: #4c5748;
  outline: 0;
  box-shadow: none;
  transition: background-color 150ms ease-in-out, box-shadow 195ms ease-in-out,
    border-color 150ms ease-in-out;
}
.input-field:hover {
  --input-border-color: hsl(0deg 10% 85%);
  background-color: #fff;
  box-shadow: none;
}
.input-field:focus {
  --input-border-color: #409cdd;
  background-color: #fff;
  box-shadow: inset 0 0.2em 0.5em hsl(205deg 40% 50% / 9%),
    0 0 0 0.15em hsl(205deg 70% 56% / 20%);
}
.input-field[disabled] {
  --input-border-color: transparent;
  background-color: #fff;
  box-shadow: none;
}

::placeholder {
  color: var(--placeholder-color, #777) !important;
  opacity: 1;
}

/* Button style augmentation
 * -------------------------- */
.button--light,
.button--dark {
  text-align: center;
  cursor: pointer;
}

/*
 * lil' CSS Grid helper & extensions
 */
.kb-grid {
  --gap: 1.5rem;
  --template-columns: 1fr 1fr;
  --bool-kb-grid-is-1up-width: 1;

  display: grid;
  gap: var(--gap);
}

.kb-grid-col {
  display: grid; /* for getting cards to be equal height */
}

/* 1up / mobile width down */
@media (max-width: 579px) {
  .kb-grid .kb-grid-col.kb-grid-hide-at-lt-xs {
    display: none;
  }
}
/* 2up and up */
@media (min-width: 580px) {
  .kb-grid {
    --bool-kb-grid-is-1up-width: 0;
    /* --kb-grid-1up-display: block; */
    grid-template-columns: var(--template-columns);
  }
}
.kb-grid--larger-2up-bp {
  --bool-kb-grid-is-1up-width: 1;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .kb-grid--larger-2up-bp {
    --bool-kb-grid-is-1up-width: 0;
    grid-template-columns: var(--template-columns);
  }
}

.kb-grid:where(.-\>50_50) {
  --template-columns: 1fr 1fr;
}
.kb-grid:where(.-\>40_60) {
  --template-columns: 0.4fr 0.6fr;
}
.kb-grid:where(.-\>60_40) {
  --template-columns: 0.6fr 0.4fr;
}

.kb-grid:where(.-\>autofit) {
  grid-template-columns: repeat(
    auto-fit,
    minmax(var(--min, max(15rem, 50% - var(--gap))), 1fr)
  );
}

/* 3 and 4up treatments... when to move up to full size */
@media (min-width: 680px) {
  .kb-grid:where(.-\>3up) {
    --template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .kb-grid:where(.-\>4up) {
    --template-columns: 1fr 1fr 1fr 1fr;
  }
}

/* Simple Multicol List
 * -------------------------- */
.simple-multicol-list {
  padding-left: 0;
  list-style: none;
  column-width: 15em;
  column-gap: 2rem;
}
.simple-multicol-list li {
  padding-bottom: 0.5rem;
  line-height: 1.35;
}

/*
 * Components
 * --------------------------------------- */

/* Pagination
 * -------------------------- */
.nav-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}
.nav-links .page-numbers {
  display: flex;
  align-items: center;
  padding: 0.25em;
  color: #000;
}
.nav-links a.page-numbers:where(:focus, :hover) {
  color: #2c7c11;
}

/* Module header blocks
 * -------------------------- */
.hero-module-header {
  max-width: 46.25rem;
  margin: 0 auto min(1.5rem + 7%, 4.8rem);
  text-align: center;
}

.module-header-subheading {
  font-size: min(0.7em + 1.5vw, 1.125em);
  color: #4a4a4a;
}

/* Module Heading + CTA wrapper +
 * the Upper CTA component
 * -------------------------- */
.module-heading-cta-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  column-gap: 2.5rem;
}
.module-heading-cta-wrapper .heading {
  max-width: 41rem;
}
.module-heading-cta-wrapper .upper-cta {
  margin-bottom: 1.5rem;
  font-size: 1rem;
  color: var(--color, #000);
  text-decoration: var(--text-decoration, none);
}
.upper-cta:where(:focus, :hover) {
  --color: #333;
  --text-decoration: underline;
}

/* Category / Taxonomy Navigation Bar
 * — see the hero of the Academy page
 * -------------------------- */
.cat_tax-nav-bar {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #cbcfc4;
  border-bottom: 1px solid #cbcfc4;
  margin-bottom: min(1rem + 5%, 4rem);
}
.cat_tax-links-list {
  display: flex;
  flex-wrap: wrap;
}
.cat_tax-links-list li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-right: 0.25em;
}
.cat_tax-nav-link {
  display: block;
  padding: 0.625em 0.625em;
  font-weight: 500;
  font-size: 1rem;
  text-decoration: none;
  color: #000;
  transition: background-color 0.225s ease-in-out;
  text-align: center;
  line-height: 1.3;
}
:is(.cat_tax-nav-link, #cat_tax-select, #cat_tax-search-toggle-button):is(:focus, :hover) {
  background-color: hsl(0, 0%, 100%, 40%);
}
.cat_tax-select-wrapper {
  padding-left: 1.25em;
  border-left: 1px solid #cbcfc4;
  margin-left: 0.5em;
  margin-right: auto;
}
.cat_tax-search-wrapper {
  padding-left: 1.5rem;
}
#cat_tax-select {
  width: 6.5em;
  border: 0;
  background: none;
  font-family: 'Prompt', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  transition: background-color 0.225s ease-in-out;
  cursor: pointer;
}
#cat_tax-search-toggle-button {
  position: relative;
  z-index: 2;
  padding: 0.25em;
  border: 0;
  background: none;
  font-size: 1.09em;
  transition: background-color 0.225s ease-in-out;
  cursor: pointer;
}
#cat_tax-search-toggle-button .fa[hidden] {
  display: none;
}
/* shared hover and focus styles */
:is(#cat_tax-select, #cat_tax-search-toggle-button, .cat_tax-nav-link):is(:focus, :hover) {
  color: #2c7c11;
}
/* mobile->pre-tablet treatment */
@media (max-width: 767px) {
  .cat_tax-nav-bar {
    flex-wrap: wrap;
    padding-bottom: 0.25rem;
  }
  .cat_tax-links-wrapper {
    flex: 1 1 auto;
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .cat_tax-links-list {
    border-bottom: 1px solid var(--divider-color);
  }
  .cat_tax-nav-link {
    font-size: min(0.4rem + 1.5vw, 1rem);
  }
  .cat_tax-select-wrapper {
    padding-left: 0;
    border-left: 0;
    margin-left: 0.3em;
  }
}
/* mobile treatment */
@media (max-width: 480px) {
  .cat_tax-nav-bar {
    padding-top: 0.25rem;
  }
  .cat_tax-links-wrapper {
    display: none;
  }
  .cat_tax-select-wrapper {
    padding-left: 0;
    border-left: 0;
    margin-left: 0;
  }
}

#cat_tax-search-content-wrapper {
  position: absolute;
  top: -1px;
  right: 0;
  bottom: -1px;
  left: 0;

  display: flex;
  align-items: center;

  background: var(--hero-bg-color, #fff);
  animation: fadeIn 0.275s ease-in-out;
}
#cat_tax-search-content-wrapper[hidden] {
  display: none;
}
#cat_tax-search-form {
  flex: 1 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;
  margin-right: 2.5rem;
}
#cat_tax-search-input {
  flex: 0 0 19rem;
  margin-right: 1rem;
}
#cat_tax-search-submit-button {
  padding: 0.65em 1em;
  line-height: 1;
}

.cat_tax-nav-bar.missing-featured-topics {
  max-width: 29rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  margin-left: auto;
  margin-right: auto;
}
.cat_tax-nav-bar.missing-featured-topics .cat_tax-select-wrapper {
  padding-left: 0;
  margin-left: 0;
  border: 0;
}

/* Badges
 * -------------------------- */
.badge {
  display: inline-block;
  padding: 0.1em 0.5em 0;
  line-height: 1.55;
  letter-spacing: 0.08em;
  background-color: var(--badge-bg-color, #aaa);
  font-size: 0.75em;
  font-weight: normal;
  color: var(--badge-text-color, #fff);
  text-transform: uppercase;
}

.badge--cfre-credit {
  --badge-bg-color: #3b4e5c;
}

/* Input with an inline button
 * -------------------------- */
.input-has-inline-button {
  position: relative;
  max-width: min(25em, 100%);
  margin: auto;

  --input-gutter: var(--input-padding-x);
  --button-width: 7em;
}
.input-has-inline-button--light {
  --input-bg-color: #fff;
  --input-border-color: hsl(0deg 5% 93%);
}
.input-has-inline-button--light:hover {
  --input-border-color: hsl(0deg 9% 92%);
}

.input-has-inline-button > label {
  display: block;
}

.input-has-inline-button__button {
  display: flex;
  align-items: center;

  min-width: 0;
  width: var(--button-width);
  border: 0;
  margin-top: 1em;
}
.input-has-inline-button__button.button--dark:hover {
  background: hsl(0deg 9% 92%);
}

/* "2up" layout behind this Media Query */
/* @media (min-width: 360px) { */
/* refactored to use container-query-esque class hook */
.col-w-gte-xs .input-has-inline-button {
  --input-extra-space: 0.625em;
  --input-gutter: calc(var(--input-padding-x) + var(--input-extra-space));
}

.col-w-gte-xs .input-has-inline-button--light {
  --input-border-color: transparent;
  border-radius: var(--input-border-radius);
  box-shadow: 0 7px 16px rgb(0 0 0 / 9%);
}

.col-w-gte-xs .input-has-inline-button__input {
  padding-top: calc(var(--input-padding-top) + var(--input-extra-space));
  padding-right: calc(var(--button-width) + var(--input-gutter));
  padding-bottom: calc(var(--input-padding-bottom) + var(--input-extra-space));
}

.col-w-gte-xs .input-has-inline-button__button {
  position: absolute;
  top: var(--input-extra-space);
  right: var(--input-extra-space);
  bottom: var(--input-extra-space);

  margin-top: 0;
}
/* } */

/* Resource Cards
 * --------------------------
 * used for Academy, Video,
 * Webinar cards
 * -------------------------- */
.resource-grid {
  --gap: 2rem;
}

/* Resource Cards
 * --------------------------
 * used for Academy, Video,
 * Webinar cards
 * -------------------------- */
.resource-card {
  /* anchor override styles */
  --resource-card-padding-y: 1.2em;
  --resource-card-padding-x: 1.2em;

  display: flex;
  gap: var(--rc-gap, 1.5em);
  text-decoration: none;
  color: var(--card-text-color, #000);

  padding: var(--resource-card-padding-y) var(--resource-card-padding-x);
  background-color: var(--card-bg-color);

  --badge-bg-color: var(--card-contrast-alt-color, var(--card-alt-color, #aaa));
}
/* Color variations */
.resource-card.has-red-bg {
  --card-bg-color: #fde6e7;
  --card-alt-color: #f99da0;
  --card-contrast-alt-color: #ea1d35;
}
.resource-card.has-yellow-bg {
  --card-bg-color: #f8cd89;
  --card-alt-color: #f3a424;
  --card-contrast-alt-color: #f3a424;
}
.resource-card.has-green-bg {
  --card-bg-color: #cfe7d7;
  --card-alt-color: #3f8f24;
  --card-contrast-alt-color: #2c7c11;
}
.resource-card.has-blue-bg {
  --card-bg-color: #b2d1e8;
  --card-alt-color: #409cdd;
  --card-contrast-alt-color: #2087d0;
}
/* Additional color variation concerns */
.resource-card.has-dark-bg {
  --card-text-color: #fff;
}

.resource-card a {
  color: var(--card-text-color, #000);
  text-decoration: none;
  text-decoration-color: transparent;
  transition: color 0.2s ease-in-out, text-decoration-color 0.2s ease-in-out;
}
.resource-card a:hover {
  text-decoration: underline;
  text-decoration-color: var(--card-contrast-alt-color);
  opacity: 0.9;
}

.resource-card .resource-type {
  font-size: 0.75em;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-card-content {
  flex: 1 1 67%;

  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;
}
.col-w-lt-xs .resource-card .resource-card-content {
  max-width: 100%;
}

.resource-card-content .meta {
  margin-bottom: 1em;
}
.resource-card-content .heading {
  margin-bottom: 0.5em;
}
.resource-card-content .heading > a {
  display: block;
}

.resource-card-content .content-details {
  margin-bottom: calc(1em + 7%);
  font-size: 0.875em;
}
.resource-card-content .content-details > :last-child {
  margin-bottom: 0;
}

.resource-card-image-col {
  flex: 0 1 33%;
  /* background: blanchedalmond; */
  position: relative;
  margin: calc(-1 * var(--resource-card-padding-y))
    calc(-1 * var(--resource-card-padding-x));
  margin-left: auto;
}
.kb-grid-col:not(.col-w-gte-sm) .resource-card .resource-card-image-col {
  display: none;
}
.resource-card-image-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50%;
}
.resource-card-image-person {
  position: absolute;
  bottom: 15%;
  left: 20%;
  z-index: 2;
  width: 61%;
  height: auto;
  border-radius: 100%;
}

.resource-card .resource-card-cta {
  margin-top: auto;
  margin-bottom: 0.25rem;
  font-size: 1em;
  font-weight: normal;

  color: var(--card-text-color, #000);
}
/* arrow */
.resource-card .resource-card-cta::after {
  font-weight: 600;
}

.resource-card .decorative-loop-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-50%);
  overflow: hidden;
  /* background-color: #fde6e799; */
}
.resource-card .decorative-loop {
  position: absolute;
  top: var(--decorative-loop-top, 62%);
  left: var(--decorative-loop-left, 50%);
  transform: translateX(-50%);
  width: var(--decorative-loop-width, auto);
  max-width: 100%;
  height: auto;
  color: var(--card-alt-color);
}

.resource-card.webinar .decorative-loop-wrapper {
  transform: translateX(0);
}
.resource-card.webinar .decorative-loop {
  top: auto;
  bottom: 0;
  left: auto;
  right: 0;
  transform: translate(50%, 20%);
}

/* Video variation */
/* .resource-card.video { } */
.resource-card.video.has-red-bg {
  --card-bg-color: #f99da0;
  --card-alt-color: #fde6e7;
  --card-contrast-alt-color: #ea1d35;
}
.resource-card.video.has-yellow-bg {
  --card-bg-color: #f3a424;
  --card-contrast-alt-color: #f8cd89;
}
.resource-card.video.has-green-bg {
  --card-bg-color: #2c7c11;
  --card-contrast-alt-color: #cfe7d7;
}

.resource-card.video .resource-card-image-col {
  position: relative;
}
.resource-card.video .resource-card-image-col::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--card-bg-color);
  opacity: 0.3;
  pointer-events: none;
}
.resource-card.video .resource-card-image-portrait {
  opacity: 0.5;
  object-position: 100% 50%;
}
@supports (mix-blend-mode: multiply) {
  .resource-card.video .resource-card-image-portrait {
    opacity: 1;
    mix-blend-mode: multiply;
  }
}
/* .resource-card.video.has-blue-bg {} */

.resource-card-play-button {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  max-width: min(50%, 92px);
  opacity: 1 !important;
  color: var(--card-bg-color) !important;
}
.resource-card-play-button:focus,
.resource-card-play-button:hover {
  filter: drop-shadow(0 0.25em 0.75em hsl(0 0% 0% / 0.25));
}
.resource-card-play-button .svg-video-play-icon {
  display: block;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1;
}

.featured-resource-grid {
  --gap: 2.25rem;
  --rc-gap: var(--gap);
}

.featured-resource-grid .featured-resource-col {
  min-height: 55vw;
}
.featured-resource-align-right .featured-resource-col {
}
/* 2up and up */
@media (min-width: 580px) {
  .featured-resource-grid {
    grid-template-rows: 1fr 1fr;
  }
  .featured-resource-grid .featured-resource-col {
    min-height: 0;
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }
  .featured-resource-align-right .featured-resource-col {
    grid-column: 2 / -1;
  }
}

/* large resource card variations */
.featured-resource-col > .resource-card.video {
  /* flex-direction: column; */
  display: grid;
  grid-template-rows: 1fr 1fr;
}

.featured-resource-col > .resource-card.video .resource-card-content {
  flex: 1 0 50%;
}
.featured-resource-col > .resource-card.video .resource-card-image-col {
  display: block !important;
  flex: 1 0 50%;
  margin-left: calc(-1 * var(--resource-card-padding-x));
  margin-top: 0;
  overflow: hidden;
}
.featured-resource-col > .resource-card.video .resource-card-image-portrait {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  object-position: 65% 35%;
}
.featured-resource-col > .resource-card.video .resource-card-play-button {
  height: 100%;
  display: flex;
  align-items: center;
}
.featured-resource-col > .resource-card.video .svg-video-play-icon {
  max-height: 50%;
}

.resource-card.academy-on-demand.variation-featured {
  overflow: hidden;
}
.resource-card.academy-on-demand.variation-featured .resource-card-content {
  flex-basis: 50%;
  padding-top: var(--rcc-pt, 0%);
}
.col-w-gte-sm > .resource-card.academy-on-demand.variation-featured {
  --rcc-pt: 25%;
}
.resource-card.academy-on-demand.variation-featured .resource-card-image-col {
  flex-basis: 50%;
  height: 100%;
  max-height: 37rem;
  align-self: flex-end;
  margin-top: 7%;
  margin-right: var(--rcic-mr, -9%);
}
.col-w-gte-md > .resource-card.academy-on-demand.variation-featured {
  --rcic-mr: 5%;
}
.resource-card.academy-on-demand.variation-featured .decorative-loop-wrapper {
  --decorative-loop-width: 100%;
  --decorative-loop-top: 65%;
  --decorative-loop-left: 65%;
  transform: translateX(50%);
}
.resource-card.academy-on-demand.variation-featured
  .resource-card-image-portrait {
  border-radius: 10em 10em 0 0;
}

.resource-card.academy-on-demand.variation-featured .content-details {
  margin-top: auto;
  margin-bottom: calc(0.8em + 5%);
}
.resource-card.academy-on-demand.variation-featured .resource-card-cta {
  margin-top: 0;
}

.resource-card.webinar.variation-featured {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.resource-card.webinar.variation-featured .resource-card-content {
  flex: 0 0 auto;
}
.resource-card.webinar.variation-featured .resource-card-image-col {
  flex: 0 0 auto;
  margin: 2rem auto 0;
}
.resource-card.webinar.variation-featured .resource-card-image-person {
  position: relative;
  left: auto;
  bottom: auto;
  width: 9em;
  border-radius: 10em 10em 0 0;
}
.resource-card.webinar.variation-featured .decorative-loop-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: visible;
}
.resource-card.webinar.variation-featured .decorative-loop-wrapper::before {
  content: '';
  position: absolute;
  top: -1em;
  right: -3em;
  width: 6em;
  height: 6em;
  background: var(--card-alt-color);
  border-radius: 100%;
}
.resource-card.webinar.variation-featured .decorative-loop {
  display: none;
}

/* Article lists
 * -------------------------- */
.article-list--vertical > li {
  padding-bottom: 1.5em;
  border-bottom: 1px solid var(--divider-color);
  margin-bottom: 1.5em;
}

/* Search
 * -------------------------- */
/* .search-post-content { } */
.search-post-content .meta {
  text-transform: uppercase;
  color: #2c7c11;
  font-size: 0.75rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-bottom: 0.5rem;
}
.search-post-title-link {
  color: #000;
  text-decoration: none;
}
.search-post-title-link:focus,
.search-post-title-link:hover {
  color: #2c7c11;
}

/* Article cards
 * -------------------------- */
.article-card--short {
  display: grid;
  grid-template-columns: 3.3fr 1fr;
  gap: 1rem;
}
.article-card--short .text-column {
}

.col-w-lt-xs .article-card--short {
  grid-template-columns: 1fr;
}
.col-w-lt-xs > .article-list--short .image-column {
  display: none;
}

/* add dividing line when there's enough width */
@media (min-width: 1000px) {
  .articles-feed-and-subscribe-col {
    border-left: 1px solid var(--divider-color);
    padding-left: var(--gap);
  }
}

.article-card--short .post-type,
.article-card--large .post-type {
  font-size: 0.75em;
  font-weight: bold;
}
.article-card--short .article-heading {
  font-family: var(--font-family-sans);
  font-weight: 600;
}
.article-card--short .article-date,
.article-card--large .article-date {
  font-weight: 500;
  letter-spacing: normal;
}

/* Large variation */
.article-card--large .post-type {
  font-size: 0.8125em;
}
.article-card--large .image-wrapper {
  display: block;
  margin-bottom: 6%;
}
.article-card--large .resource-card-image {
  height: auto;
  aspect-ratio: 1.32;
  object-fit: cover;
  object-position: 50%;
}
/* Featured variation */
.article-card--featured {
  text-align: center;
}

/* Article Hero (grid)
 * -------------------------- */
.articles-hero-wrapper .featured-article-col {
  padding-bottom: calc(var(--gap) * var(--bool-kb-grid-is-1up-width, 1));
  border-bottom: calc(1px * var(--bool-kb-grid-is-1up-width, 1)) solid
    var(--divider-color);
}
.articles-hero-wrapper .articles-feed-and-subscribe-col {
  display: flex;
  flex-direction: column;
}
.articles-hero-wrapper .input-has-inline-button__button {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1200px) {
  .articles-hero-wrapper {
    --gap: 1.875rem;
  }
}

/*
 * Modules
 * --------------------------------------- */

/* Module 27
 * Academy Row
 * -------------------------- */
/* .module--academy-row {} */
/* .module--academy-row .max-width {
  background: blanchedalmond;
} */

/* Module 29
 * Academy Hero
 * -------------------------- */
.module.module--academy-hero {
  padding: min(var(--header-height, 6.2rem) + 7%, 12.25rem) 0
    min(1.5rem + 10%, 7.75rem) 0;
}

/* Module 30
 * Articles Hero
 * -------------------------- */
.module.module--articles-hero {
  padding: min(var(--header-height, 6.2rem) + 7%, 12.25rem) 0
    min(1.5rem + 10%, 7.75rem) 0;
}

/* Module 31
 * Subscribe Callout
 * -------------------------- */
.module--subscribe-callout {
  padding-top: 0;
  padding-bottom: 0;
}
.module--subscribe-callout .heading {
  font-size: 3rem;
  font-size: min(2vw + 1em, 3rem);
}
.module--subscribe-callout .kb-grid-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.module--subscribe-callout .kb-grid-col.content {
  padding: max(5%, 1.5rem) 0;
}
.module--subscribe-callout .updated-marketo-form-code {
  padding: 2rem 2.5rem;
  background: #FFF;
  box-shadow: 0 7px 20px rgb(0 0 0 / 9%);
}
/*
 * Overrides
 * --------------------------------------- */
.u-text-align-center {
  text-align: center !important;
}
.u-font-family-sans {
  font-family: var(--font-family-sans) !important;
}
