/* Insights styles */


/*

  * Saving this JIC *

  OK, this is madness. There are a ton of legacy styles
  that need to go, and everything is scattered stem to stern.

  Events and PRs are different than BP and CS

  Insight structure?
    New column width for archives
    ?? Insight cards

  Cards

  Hero Cards

  Alt Hero Cards

  Chips

  Alt Chips ( ticker )

  Insight Landing pages
    Typography -> Make consistent for all of this stuff
      { things }
    Hero treatment
    Related chips
    BP / CS cards

  Newsroom and Events Archive
    Link styles

  Newsroom
    Hero treatment
    card tweaks

  Insight archives
    Filters
    Pagination
    Inherits card styles

  Single
    Shared
    Blog
    Client Story

  Card attributes
    Border-width
    Border-radius ( Hero vs. reg. )
    Border-color
    Padding

  Chip attributes
    Padding
    Border-width
    Border-color

  Shared elements
    Date
    Type
    Header
    Source ( NR card )
    Copy ( Heroes, Event card )
    BG image / gradient ( Heroes )
    Link
      Text / arrow ( Heroes, Cards )
      Text only ( Event card )
      Arrow only ( Event card )
      Internal icon only ( NR Card )
      External icon only ( NR Card )

  Carousels
    Insights carousel -> new square, full width style
    News Release carousel -> is this only on home?
    Upcoming Events carousel

*/

/* Adding new BG and image
---------------------------- */
.fl-page-content {
  background: var( --as-page-gradient );
}

.fl-page-content:has( .fl-insight-content ),
.page-template-tpl_leadership-php .fl-page-content {
  background: url( '/wp-content/uploads/2026/06/altera-insights-bg.png' ) no-repeat 0 0, var( --as-page-gradient );
  background-size: contain;
}

.fl-bg-row {
  background: var( --as-bg-page);
  border-top: 5px solid var( --as-card-link-hover );
}

.fl-bg-row + .fl-bg-row {
  border-width: 0;
}

/* .fl-row-bg-none .fl-row-content-wrap {
  background: var( --as-bg-page );
  border-top: 5px solid var( --as-accent-primary );
} */

/* All Insights header
--------------------------- */
.fl-row-content-wrap:has( .all-insights-header ) {
  padding: 72px 20px;
}

.all-insights-header h6,
.single-insight-header h6,
.fl-builder-content .all-insights-header h6 {
  font-size: 16px;
  letter-spacing: 1px;
  color: var( --as-text-accent ) !important;
  text-transform: uppercase;
}

.all-insights-header h2,
.all-insights-header p {
  color: #FFFFFF;
}
/* / All Insights header */


/* Sub-headers */
/* / Sub-headers */


/* Insight Cards
 * Shared styles for all Cards
 * Specifc styles by type
     Hero Cards
     Alt Hero Cards

  Card attributes
    Border-width
    Border-radius ( Hero vs. reg. )
    Border-color
    Padding

  Chip attributes
    Padding
    Border-width
    Border-color

  Shared elements
    Date
    Type
    Header
    Source ( NR card )
    Copy ( Heroes, Event card )
    BG image / gradient ( Heroes )
    Link
      Text / arrow ( Heroes, Cards )
      Text only ( Event card )
      Arrow only ( Event card )
      Internal icon only ( NR Card )
      External icon only ( NR Card )

---------------------------------------- */

/* Structure for archives: Newsroom, All blogs / client stories,
 * and Events. Landing page structure comes next
---------------------------------------------- */
/* news room card container */
/* Make the wrapper generic... */
.fl-insight-content {
  margin: 0 auto;
  padding: 0 20px 64px;  /* so card edges don't touch browser edge in mobile */
  width: 90%;
  max-width: 90%;
}

@media only screen and ( min-width: 992px ) {

    .fl-insight-content {
      padding: 0 0 64px;  /* don't hor. need for desktop */
    }

} /* / MQ */


/* Default and Content-specific grids
------------------------------ */
.content-grid { /* Default */
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  opacity: 1;
  transition: all 0.6s;
}

.loading .content-grid {
  opacity: 0.4;
}

@media only screen and ( min-width: 992px ) {

  .content-grid {
    flex-direction: row;
    gap: 16px;
  }

} /* / MQ */

/* Posts & Client Story grids */
.insights-grid {}

@media only screen and ( min-width: 992px ) {

  .insights-grid {
    gap: 44px;
  }

} /* / MQ */


/* Events grid
------------------- */
.events-grid {}


/* Newsroom columns & grid
--------------------- */
.newsroom-grid { /* Handle columns */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

@media only screen and ( min-width: 992px ) {

  .newsroom { /* Handle columns */
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 70px;
  }

  .newsroom-primary {
    flex: 0 0 calc( 60% );
  }

  .newsroom-secondary {
    flex: 0 0 calc( 40% - 70px );
  }

} /* / MQ */
/* / Default & content-specific grid structure */


/* Insight cards
--------------------------------------------------- */
.ad-card {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  flex: 1 1 auto;
  padding: var( --as-card-padding );
  border: var( --as-card-border-width ) solid var( --as-card-border-color );
  border-radius: var( --as-card-border-radius );
}

.ad-card-inner { /* Used for heroes. Should I move this? */
  padding: 58px 64px;
}

.ad-card-image {
  flex: 0 0 54%;
  border-radius: var( --as-card-border-radius );
  overflow: hidden;
}

.ad-card-content {

}

.ad-card-footer {
  margin-top: auto;
}

/* Card typography */
.ad-card p {
  margin-bottom: 8px;
  color: #fff;
  font-family: var( --as-font-family, sans-serif );
  font-weight: var( --as-font-weight-bold );
  font-size: 14px;
  line-height: 1.6;
}

p.ad-card-date {
  color: var( --as-text-accent );
}

p.ad-card-type {
  color: var( --as-text-accent );
  text-transform: uppercase;
}

h5.ad-card-title,
h5.ad-card-title a {
  color: #FFFFFF;
}

h5.ad-card-title a:hover {
  color: var( --as-card-link-hover );
}

.ad-card-subtitle {
  margin-top: 24px;
  color: var( --as-text-accent );
}

.ad-card-byline {

}

p.ad-card-source {
  color: var( --as-text-accent );
}

.ad-card-region {

}
/* / Card typography */

/* Card links */
.ad-card-text-link {
  font-size: 14px;
}

.ad-card .ad-card-text-link:hover,
.ad-card .ad-card-footer .ad-card-text-link:hover,
.ad-card .ad-card-text-icon-link:hover {
  color: var( --as-text-accent );
  text-decoration: none;
}

.ad-card-text-icon-link {
  font-size: 16px;
}

.ad-card-text-icon-link::after {
  content: "\27F6";
  margin-left: 8px;
  display: inline-block;
  line-height: 1;
  font-size: 20px;
  transition: all 0.4s;
}

.ad-card-text-icon-link:hover::after {
  margin-left: 12px;
}

.ad-card-icon-link {
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 20px;
  right: 20px;
  text-indent: -199px;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.ad-card-external-link {
  background-image: url( '../images/icon-press-external.svg' );
}

.ad-card-external-link:hover {
  background-image: url( '../images/icon-press-external-hover.svg' );
}

.ad-card-internal-link {
  background-image: url( '../images/icon-press-internal.svg' );
}

.ad-card-internal-link:hover {
  background-image: url( '../images/icon-press-internal-hover.svg' );
}
/* / Card links */

/* Specific card types */

/* Insight cards */
.ad-card.insight-card { /* Posts & Client Stories */
  position: relative;
  padding: 0;
  flex: 0 0 calc( 50% - 22px );
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  overflow: hidden;
  gap: 16px;
  border-width: 0;
}

.ad-card.insight-card .ad-card-image {
  flex: 0 0 calc( 50% - 8px );
}

.ad-card.insight-card .ad-card-content {
  padding-top: 8px;
  flex: 0 0 calc( 50% - 8px );
}
/* / Insight cards */


/* Related cards */
.ad-card.related-card {
  margin-bottom: 16px;
  padding: 0 0 16px;
  flex-direction: column;
  flex-wrap: wrap;
  border-radius: 0;
  border-width: 0 0 1px;
}

/* / Related cards */


/* Event cards */
.ad-card.event-card {
  flex: 0 0 calc( 33.3333% - 16px );
  flex-direction: column;
}

.ad-card.event-card .ad-card-content {
  margin-bottom: 36px;
}
/* / Event cards */


/* News cards */
.ad-card.news-card {
  flex-direction: column;
  flex: 0 0 calc( 50% - 8px );
  justify-content: flex-start;
}

.news-card h5.ad-card-title {
  margin-bottom: 48px;
}
/* / News cards */


/* Hero card defaults */
.ad-card.hero-card {
  position: relative;
  margin: 0 0 32px;
  padding: 0;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 28px;
  overflow: hidden;
}

.fl-home-insights .ad-card.hero-card {
  margin-right: auto;
  margin-left: auto;
  max-width: 750px;
}

.hero-card .ad-card-inner { /* Modify this if I use it somewhere else */
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 42px;
  background: linear-gradient( 90deg, rgb( 57 51 146 / 90% ), 70%, transparent );
  z-index: 42;
}

.hero-card .ad-card-content {
  margin-bottom: 32px;
  width: 70%;
}

/* Hero card typography */
.hero-card .ad-card-type {
  margin-bottom: 32px;
}

.hero-card .ad-card-title {
  margin-bottom: 16px;
  font-size: 32px;
}

.hero-card p {
  font-size: 20px;
}

.hero-card .ad-card-text-icon-link {
  font-size: 20px;
}

.hero-card .ad-card-icon-link {
  top: 42px;
  right: 42px;
}
/* / Hero card typography */
/* / Hero card defaults */


/* Hero insight card */
.hero-card.insight-card {
  margin-bottom: 0;
}
/* / Hero insight card */

/* Single event page card */
.event-card.event-page-card {
  padding: 32px;
}

.event-card.event-page-card .ad-card-date {
  color: var( --as-text-accent );
}

.event-card.event-page-card h1.ad-card-date {
  color: #FFFFFF;
  font-size: 28px;
}

.event-card.event-page-card .ad-card-title {
  margin: 2rem 0 3rem;
  color: #FFFFFF;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
}

/* / Hero event card */

/* Hero news card */
.hero-card.news-card {

}
/* Hero news card */

/* / Hero cards */

/* / Specific card types */

/* / Insight Cards
----------------------- */



/* Insight filter interface
---------------------------------------------------------- */
.fl-filters-wrap {
  position: relative;
  min-height: 38px;
  margin-bottom: 32px;
}

.events .fl-filters-wrap,
.newsroom .fl-filters-wrap {
  margin-top: 64px;
}

.fl-filters {
  display: block;
  position: relative; /* display filters in column (for mobile)  */
  z-index: 142;
  width: 100%;
  padding: 0px;
}

@media only screen and ( min-width: 480px ) {
  /* display filters in row */
  .fl-filters {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
  }

} /* / MQ */

/* Wraps title and items, clear filters overrides below */
.fl-filter-wrap,
.fl-clear-filters {
  flex: 0 0 calc( 25% - 16px );
  padding: 12px 16px;
  background-color: transparent;
  background-position: 90% 8px;
  border: 1px solid var( --as-border-secondary );
  border-radius: 8px;
  transition: all 0.6s;
}

.fl-filter-wrap.open {
  background-color: #151744;
}

.fl-filter-select { /* contains checkboxes inside filter drop down */
  display: none;
  padding-top: 15px;
}

.fl-filter-select .facetwp-facet { /* override defaults */
  margin-bottom: 0px;
}

/* Facet filter title styling
---------------------------------------------------------- */
.fl-filter-wrap .fl-filter-title, /* These are specific due to .fl-page a styles */
.fl-filter-wrap .fl-filter-title:hover,
.fl-filter-wrap .fl-filter-title:focus,
.fl-filter-wrap .fl-filter-title:visited { /* anchor, toggle trigger */
  display: block;
  margin: 0;
  padding: 0px;
  line-height: 1;
  color: var( --as-text-accent );
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: 400;
  text-decoration: none;
  background-image: url('../images/icon-arrow-down.svg');
  background-repeat: no-repeat;
  background-position: right;
  background-size: 9px 18px;
}

.fl-filter-wrap .fl-filter-title:hover {
  color: var( --as-link-color );  /* on color */
  background-image: url('../images/icon-arrow-down-active.svg');
}

.fl-filter-wrap.open.active .fl-filter-title,
.fl-filter-wrap.open .fl-filter-title { /* filter category inside pill */
  background-image: url('../images/icon-arrow-up.svg');
  color: var( --as-link-color );  /* on color */
}

/* Filter select items
------------------------------- */
.fl-filter-wrap .facetwp-checkbox {
  background-image: url('../images/facetwp-plus-sign.svg');
  background-position: top right 3px; /* 3px lines up with category arrow */
  background-repeat: no-repeat;
  background-size: 10px 10px;
  margin-bottom: 4px;
  padding-left: 0px;
  padding-right: 20px; /* moves + or - from end of filter name */
  cursor: pointer;
  font-size: 12px;
  color: var( --as-text-accent );
  letter-spacing: 1px;
  font-weight: 400;
}

.fl-filter-wrap .facetwp-checkbox:hover {
  background-image: url('../images/facetwp-plus-sign-hover.svg');
  color: var( --as-link-color );
}

.fl-filter-wrap .facetwp-checkbox.checked {
  background-image: url('../images/facetwp-minus-sign.svg');
}

.fl-filter-wrap .facetwp-checkbox .facetwp-counter {
  display: none; /* don't display count */
}

.fl-filter-wrap.open .facetwp-checkbox.checked {
  color: #f3704c;  /* on color */
}

/* See X more in facet drop down menu
 * :not used to override bootstrap css
---------------------------------------------------------- */
a.facetwp-toggle:not([href]):not([tabindex]),
a.facetwp-toggle:not([href]):not([tabindex]):hover {
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #b3b3b3;
  font-weight: 700;
}

/* / Facet filter select content styling * /

/* Clear filter link styling */
.fl-clear-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  cursor: pointer;
  background: url( '../images/icon-circle-arrow.svg' ) no-repeat 16px 50%;
  background-color: var(--as-border-secondary);
  background-size: 16px;
}

.fl-clear-filters a,
.fl-clear-filters a:hover,
.fl-clear-filters a:focus,
.fl-clear-filters a:active {
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
}
/* / Clear filter link styling */

/* / Insight filter interface */


/* News Ticker
------------------- */
/* Headers and contact info */
.textwidget:has( .fl-news-ticker-wrap ) h2 {
  margin: 2rem 0;
  padding-bottom: 2rem;
  color: #FFFFFF;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 1px;
  text-align: left;
  border-bottom: 1px solid var( --as-border-secondary );
}

.textwidget:has( .fl-news-ticker-wrap ) p {
  color: #FFFFFF;
  font-size: 14px;
}

.fl-news-ticker-wrap {
  position: relative;
  width: 100%;
  height: 342px;
  margin-bottom: 64px;
  padding-right: 1.2rem;
}

.fl-news-ticker {
  height: 342px;
  overflow-y: scroll;
  scrollbar-width: none;
}

.fl-news-ticker-wrap:after {
  content: "";
  display: block;
  position: absolute;
  right: -10px;
  bottom: 0;
  width: 20px;
  height: 18px;
  background: url( '../images/icon-scroll.svg' ) no-repeat 50% 50%;
}

.fl-news-ticker-wrap:after {
  right: -4px;
}

.fl-news-ticker {}

.fl-news-ticker-item {
  display: block;
  padding: 1.2rem 0.5rem 1.2rem 0.25rem;
  border-bottom: 1px solid var( --as-border-secondary );
}

.fl-news-ticker-item:first-child {
  padding-top: 0;
}

.fl-news-ticker .fl-news-ticker-item p {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}

.fl-news-ticker .fl-news-ticker-item p.ad-card-date {
  font-weight: var( --as-font-weight-regular );
  color: var(--as-text-accent);
}

/* / Newsticker */

/* Tweaks for events in carousels
-------------------------------------- */
.fl-events-carousel,
.fl-events-carousel .event-card {
  height: 100%;
}

/*
 * This is the old stuff
 ---------------------------- */

.fl-archive-grid .fl-post-column { /* One-up card outer wrap */
  position: relative;
  margin-bottom: 20px;
  max-width: 80%;
}

@media only screen and ( max-width: 767px ) {

  .fl-archive-grid .fl-post-column { /* Make a bit wider on real narrow devs. */
    max-width: 96%;
  }

} /* / MQ */

@media only screen and ( min-width: 992px ) {

  .fl-archive-grid-row { /* flex behavior for DT */
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: stretch;
    padding: 0;
    /* border: 1px solid red; */
  }

  .fl-post-column { /* card outer wrap  .fl-archive-grid .fl-archive-grid-row */
    flex: 0 0 48%;
    align-self: stretch;
    margin: 0 2% 20px 0;
  }

  /* Made this rule more specific to match the generic declaration */
  .fl-archive-grid-row .fl-post-column:nth-of-type( even ) { /* last card in 'row' */
    margin-right: 0;
  }

} /* / MQ */

.insight-card { /* single item inner wrapper */
  position: relative;
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}

.insight-card.insight-related { /* Single item in a 'related' column */
  margin: 0 24px 20px;
  width: 100%;
  flex-direction: row-reverse;
}

.insight-card.term-card {
  flex-direction: column;
}

@media only screen and ( min-width: 992px ) {

  .insight-card.insight-related { /* Single item in a 'related' column */
    margin: 0 0 24px;
  }

}

.fl-post-grid-image {
  flex: 0 0 50%;
  overflow: hidden;
}

.insight-related .fl-post-grid-image {
  flex: 0 0 40%;
}

.fl-post-grid-image-link {
  display: block;
}

.insights-list .fl-post-grid-image-link {
  text-align: right;
}

.insight-card .fl-post-grid-type,
.press-carousel p.fl-post-grid-type,
.fl-post-grid-type,
h5 .insight-type {
  margin-bottom: 12px;
  font-family: var( --as-font-family, sans-serif );
  font-weight: var( --as-font-weight-bold );
  font-size: 16px;
  color: #8885be;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
}

.fl-module-glossary-terms .fl-post-grid-text {
  flex-basis: 100%;
  padding: 0 4px;
}

.fl-post-grid-text {
  position: relative;
  padding: 0 16px 16px;
  flex-basis: 50%;
}

.insight-related .fl-post-grid-text {
  padding-left: 0;
  flex-basis: 60%;
}

.fl-post-grid-text .fl-button-wrap {
  position: absolute;
  bottom: 24px;
}

.fl-rich-text .fl-post-grid-post .fl-post-meta p {
  margin: 20px;
  font-family: var( --as-font-family, sans-serif );
  font-weight: var( --as-font-weight-bold );
  /* font-size: 12px; */
  /* color: #999; */
  text-transform: uppercase;
}

.insight-card .fl-post-grid-title {
  margin-bottom: 14px;
  font-size: 18px;
}

.insight-card .fl-post-grid-title a {
  color: var( --as-heading-color );
  transition: all 0.4s;
}

.insight-card .fl-post-grid-title a:hover {
  color: #8885be; /* 60% --as-heading-color */
}

.fl-post-grid-content p {
  margin-bottom: 10px;
  color: #666;
  font-size: 16px;
  line-height: 1.4;
}
/*  sort of ends Insights cards */


.fl-archive-grid-item { /* Inner single item wrap */
  flex: 0 0 calc( 50% - 16px );
  padding: 20px;
  position: relative;
  background: transparent;
  border: 1px solid #FFFFFF;
  border-radius: 8px;
  margin-bottom: 35px; /* space below row on Newsroom page (note: 1 per row)    */
  overflow: hidden;
}

.blog-1 .fl-events-carousel .fl-archive-grid-item,
.blog-2 .fl-events-carousel .fl-archive-grid-item,
.blog-3 .fl-events-carousel .fl-archive-grid-item,
.blog-7 .fl-events-carousel .fl-archive-grid-item { /* Events carousel */
  background-color: transparent;
  border: 1px solid var( --as-accent-primary );
}

.fl-archive-meta { /* wrapper for initially visible copy */
  margin: 20px 0px 20px 0px;
}

.fl-archive-date,
.fl-press-source,
.fl-press-region { /* Top line date for events & PRs */
  font-family: var( --as-font-family, sans-serif );
  font-weight: var( --as-font-weight-bold );
  font-size: 14px;
  line-height: 14px;
  color: #666666;
}

.fl-archive-content { /* wrapper for initially hidden copy */
  display: none;
}

.fl-archive-content p {
  font-size: 14px;
  color: #666666;
}

/* remove some spacing above filters on Archive pages */
.fl-archive .fl-content {
  margin: 0px 0px 40px 0px;
}



/* Tweaks for external PRs */
.fl-press-external,
.fl-press-external:hover {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  color: var( --as-link-color ) !important;;
}

.fl-press-external:after {
  content: '';
  display: block;
  margin-left: 8px;
  width: 14px;
  height: 14px;
  background: url( '../images/icon-external.svg' ) no-repeat center;
}

/* Newsroom-specific tweaks for new design June 2026
---------------------------------------------------------- */
.newsroom .fl-archive-date,
.newsroom .fl-post-grid-type,
.newsroom .fl-press-title,
.newsroom .fl-press-title a,
.newsroom .fl-press-title a:visited,
.newsroom .fl-press-region
.newsroom .fl-press-source {
  color: #FFFFFF;
}

h2.fl-press-title { /* PR headline */
  font-size: 32px;
}

.newsroom .fl-archive-link,
.newsroom .fl-archive-link.js-new-window {

}

/*.newsroom .fl-archive-link:before,
.newsroom .fl-archive-link.js-new-window:before {
  content: '';
  display: inline-block;
  margin-left: 8px;
  width: 14px;
  height: 14px;
  background:  no-repeat center;
}

.newsroom .fl-archive-link.js-new-window:before {
  background-image: url( '../images/icon-press-external.svg' )
}*/

.fl-archive-grid-featured {
  padding: 0;
}


/* Events grid and items
----------------------------- */
.fl-event-column {
 flex: 0 0 100%;
 margin-right: 0px !important; /* 7/31/19 molly */
}

/* Event grid row and cards mobile */
.fl-event-grid-row { /* single row of cards mobile */
  /* 8/5/19
  display: block;
  */
  margin-bottom: 0;
  padding: 0;
}

/* Event grid and cards desktop */
@media only screen and ( min-width: 992px ) {

  .fl-archive-grid .fl-event-column { /* card outer wrap */
    margin-bottom: 32px;
  }

  .fl-event-column {
    flex: 0 0 30.333%;
    margin-right: 33px !important;
  }

  .fl-event-column:nth-child(3n) {
    margin-right: 0px !important;
  }

}

.fl-event-date { /* Big month/day on events */
  color: #000;
  font-size: 32px;
}

.fl-event-featured { /* Featured flag */
  color: var( --as-heading-alt );
  text-transform: uppercase;
}

.fl-event-title { /* Event title */
  color: #000;
  margin-top: 28px;
  line-height: 1.3em;
}

.fl-event-location p { /* Event location */
  font-family: var( --as-font-family, sans-serif );
  font-weight: var( --as-font-weight-regular );
  font-size: 14px;
  color: #666666;
  /* font-weight: 500; */
}

.home .fl-events-carousel .fl-archive-date,
.home .fl-events-carousel .fl-event-date,
.home .fl-events-carousel .fl-event-title,
.home .fl-events-carousel .fl-event-location p {
  color: #FFFFFF;
}


.fl-events-wrapper {
    margin: 0 auto; /* center for mobile */
}

@media only screen and ( min-width: 1080px ) {
    .fl-events-wrapper {
        max-width: 100% !important; /* override inline style */
        margin: 0; /* remove centering */
    }
}



/* Single Insight content tweaks
------------------------------------- */

.fl-post-image { /* Featured image on single Posts */
  display: block;
  margin: 0 auto 26px;
  border-radius: 16px;
  overflow: hidden;
}

h4.footer-block-header {
  margin: 0 auto 48px;
  font-size: 36px;
  text-align: center;
}

.fl-post-author-block { /* Author block */
  padding: 48px 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  background: var(--as-bg-secondary);
}

.fl-post-author-image-wrap {
  margin: 0 0 10px 20px;
  width: 40%;
  text-align: center;
}

.fl-post-author-image-wrap img {
  margin: 0 auto;
  border: 1px solid var( --as-accent-secondary );
  border-width: 0 1px 1px 0;
  border-radius: 50%;
}

.fl-post-author-copy {
  width: 100%;
  padding: 20px;
}


.fl-post-meta .fl-post-author-copy p {
  color: #000000;
  font-family: var( --as-font-family, sans-serif );
  font-weight: var( --as-font-weight-regular );
  font-size: 18px;
  text-transform: none;
}

.fl-post-meta .fl-post-author-copy p.fl-post-author-name,
.fl-post-meta .fl-post-author-copy p.fl-post-author-title {
  font-size: 20px;
  text-align: center;
}


@media only screen and ( min-width: 992px ) {

  .fl-post-author-image-wrap {
    width: 80%;
    float: none;
    margin: 0 0 0 0;
  }

  .fl-post-author-copy {
    width: 80%;
    max-width: 880px;
  }
} /* / MQ */


/* Captions in Posts
------------------------- */
.wp-caption {
  padding: 0;
  text-align: left;
  background: var( --as-bg-secondary );
  border: 1px solid var( --as-accent-secondary );
  border-radius: 16px;
  overflow: hidden;
}

.wp-caption.alignnone {
  margin: 5px auto 20px;
}

.wp-caption-text {
  padding: 20px;
  font-size: 16px;
}

.fl-term-column {
  padding: 20px;
  border: 1px solid var( --as-bg-secondary );
  border-radius: 8px;
  box-shadow: rgba(149, 157, 165, 0.1) 4px 6px 14px;
}


/* Featured & related article blocks
 - Move this under grid declarations */
.featured-article-block {
  margin-bottom: 24px;
}

.related-articles-block h2 {
  font-size: 30px;
}
/* zapping some vert. space on landing pages
.fl-row-content-wrap:has( .heroes-block ),
.fl-module-content:has( .heroes-block ) {
  margin-bottom: 0;
  padding-bottom: 0;
} */

@media only screen and ( min-width: 992px ) {

  .heroes-block {
    display: flex;
    gap: 48px;
  }

  .featured-article-block {
    margin-bottom: 0;
    flex: 0 1 calc( 60% - 8px );
  }

  .related-articles-block {
    flex: 0 1 calc( 40% - 8px );
  }

  .related-articles-block h2 {
    margin-bottom: 16px;
    padding-bottom: 16px;
    width: auto;
    border-bottom: 1px solid var( --as-border-secondary );
    color: #FFFFFF;
    text-align: left;
  }

  .most-popular-list {
    flex: 0 1 40%;
  }

} /* / MQ */
/* / Featured & related article blocks */

/* Single legacy Insights */
.single .fl-content-full.container {
  margin: 0;
  padding: 0;
  width: auto;
  max-width: none;
}

.single .fl-content {
  margin: 0;
}

.single-insight-content-wrap {
  position: relative;
}

.single-insight-header {
  min-height: 190px;
  display: flex;
  background-repeat: no-repeat;
  background-size: cover;
}

@media only screen and ( min-width: 992px ) {

  .single-insight-header {
    min-height: 450px;
  }

}

.single-insight-banner {
  flex: 0 0 100%;
  text-align: center;
}

.single-insight-banner h6 {
  padding: 20px;
  background-color: rgba(112,124,241,0.5);
  color: #ffffff;
}

.single-insight-content-wrap {
  background-color: var( --as-bg-page );
  border-top: 5px solid #707cf1;
  padding: 20px;
}

@media only screen and ( min-width: 992px ) {

  .single-insight-content-wrap {
    margin-top: -250px;
  }

}

/* Column tweaks for Insights on mobile */
@media only screen and ( max-width: 991px ) {

  .fl-row-fixed-width.insight-row { /* Generic style for copy block in Insights */
    max-width: 90%;
  }

  .insight-row .fl-row-fixed-width {
    max-width: 100%;
  }

  .insight-row .fl-module-content {
    margin-right: 0;
    margin-left: 0;
  }

  .single-insight-content-header {
    padding: 40px 0;
    text-align: center;
  }

  .as_client_story .fl-row-bg-photo.fl-row-custom-height > .fl-row-content-wrap,
  .as_emag .fl-row-bg-photo.fl-row-custom-height > .fl-row-content-wrap { /* Control image height on CSs */
    min-height: 250px;
  }

}

@media only screen and ( min-width: 992px ) {

  .single-insight-content-header {
    padding: 40px;
  }

}


/* New Insights header styles */

.insight-type { /* use inside h6 */
  display: block;
  margin: 0 auto 36px;
  letter-spacing: 1px;
  text-align: center;
  text-transform: uppercase;
}

.insight-title { /* use inside h2 */
  margin: 0 0 36px;
  display: block;
  text-align: center;
}

@media only screen and ( min-width: 992px ) {

  .insight-title { /* use inside h2 */
    margin: 0 36px 36px;
  }

}


.insight-byline { /* use inside p */
  margin: 20px;
  display: block;
  font-weight: var(--as-font-weight-bold);
  color: #808080; /* */
  text-align: center;
}

/* Insights action bar */
.insight-actionbar {
  position: relative;
}

@media only screen and ( min-width: 992px ) {

  .insight-actionbar {
    position: absolute;
    top: 5%;
    left: -42px;
    display: block;
    margin: 0;
    transition: all 0.2s;
    z-index: 418;
  }

} /* / MQ */

.insight-actionbar-items {
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  background: #ffffff;
}

@media only screen and ( min-width: 992px ) {

  .insight-actionbar-items {
    margin: 0;
    display: block;
  }

}

.insight-actionbar-item {
  width: 42px;
  height: 42px;
  text-indent: -200px;
  overflow: hidden;
  word-wrap: break-word;
  line-height: 1;
  border: 1px solid #707cf1;
  border-width: 1px 0 1px 1px;
}

.insight-actionbar-item:last-child {
  border-width: 1px;
}

@media only screen and ( min-width: 992px ) {

  .insight-actionbar-item {
    border-width: 1px 1px 0;
  }

} /* / MQ */


.insight-actionbar-button {
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.5s;
}

.insight-actionbar-button:hover {
  background-color: rgba( 112, 124, 241, 0.6 );
}

.insight-actionbar-button:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.actionbar-linkedin {
  background-image: url("../images/sidebar-button-linkedin.svg");
}

.actionbar-email {
  background-image: url("../images/sidebar-button-email.svg");
}

.actionbar-link {
  background-image: url("../images/sidebar-button-link.svg");
}

.actionbar-download {
  background-image: url("../images/sidebar-button-download.svg");
}

.single-insight-content {
  margin: 0 4%;
  padding-bottom: 48px;
}

@media only screen and ( min-width: 992px ) {

  .single-insight-content {
    margin: 0 10%;
    padding-bottom: 64px;
  }

}

.js-copied {
  display: none;
  position: absolute;
  top: 24px;
  left: 58px;
  white-space: nowrap;
  background-color: #ffffff;
}

.js-copied p,
span.js-copied {
  margin-bottom: 0;
  color: #ffffff;
  padding: 8px;
  border: 1px solid #707cf1;
  background-color: rgba( 112, 124, 241, 0.6 );
  font-size: 16px;
  text-align: center;
}

.js-copy-wrap { /* Hacky, used on single Press posts */
  position: relative;
}

p .js-copied {
  position: relative;
  top: auto;
  left: auto;
  margin-left: 16px;
}



/* Testing new Insight styles with a single classed column
---------------- */
.fl-post .insight-wrap img.alignright,
.single-insight-content-wrap img.alignright {
  max-width: 50%;
  margin-right: -4%;
}

@media only screen and ( min-width: 992px ) {

  .fl-post .insight-wrap img.alignright,
  .single-insight-content-wrap img.alignright {
    max-width: 60%;
    margin-right: -10%;
  }

}

.fl-post .insight-wrap img.alignleft,
.single-insight-content-wrap img.alignleft {
  max-width: 50%;
  margin-left: -4%;
}

@media only screen and ( min-width: 992px ) {

  .fl-post .insight-wrap img.alignleft,
  .single-insight-content-wrap img.alignleft {
    max-width: 60%;
    margin-left: -10%;
  }

}

/* 2 Up and 3 Up styles ZZZ Move these
-------------------------- */

.fl-insights-wrapper {
    max-width: 100% !important; /* overriding max width add to container via JS */
}

.fl-insights-wrapper .fl-post-grid-image { /* Lazy Load is causing weird height issues in carousels */
  max-height: 191px;
}

/* Every card has 34px of right margin */
.fl-featured-insights-carousel .fl-post-column, /* 3 Up */
.fl-module-related-insights .fl-insights-wrapper .fl-post-column { /* 2 Up */
    margin: 4px 34px 0px 0px;
}

.fl-terms-wrapper { /* terms carousel on Insights page */
  margin: 0 auto;
}

/* END 2 Up and 3 Up styles */


/* Insights (3 Up) on home page styles */
.fl-module-insights.fl-module-as-slider {
    padding-bottom: 0px;
}

.fl-module-as-slider-wrap {
  margin-bottom: 40px;
}

.fl-module-as-slider-wrap h2 {
  margin: 40px auto;
  text-align: center;
}

/* Insights slider on home page 8/3/19
 * this pushes column to the right over so it does not display on mobile
 * known issue: this fix works on newer mobile devices but causes older mobile devices (note 2)
 */
.fl-module-insights.fl-module-as-slider .fl-featured-insights-carousel .fl-post-column {
  /*margin-left: 25px;*/
}
/* don't need left margin on desktop */
@media only screen and ( min-width: 992px ) {
  .fl-module-insights.fl-module-as-slider .fl-featured-insights-carousel .fl-post-column {
    /*margin-left: 0px;*/
  }
}


/* Events slider on home page styles 8/3/19
 * this pushes column to the right over so it does not display on mobile
 * known issue: this fix works on newer mobile devices but causes older mobile devices (note 2)
 */

.blog-1.home .fl-rich-text:has( .fl-module-events ) h2,
.blog-3.home .fl-rich-text:has( .fl-module-events ) h2 {
  color: #FFFFFF;
}

.fl-module-events.fl-module-as-slider .fl-event-column {
  /*margin-left: 30px;
  margin-right: 20px !important; */
}
/* don't need margins on desktop */
@media only screen and ( min-width: 992px ) {
  .fl-module-events.fl-module-as-slider .fl-event-column {
    /*margin-left: 0px;
    margin-right: 33px !important;*/
  }
}


/* .fl-module-events.fl-module-as-slider .fl-slider-view-all  {
    transform: translate(-50%, -175%);  positioning for home page
} */

/* 2 Up layout container */
.fl-module-related-insights.fl-module-as-slider {
    padding-bottom: 0px;
}

.fl-slider-view-all {
    position: absolute;
    width: 160px;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -30%);  /* Y = -70% positioning for 2 Up page */
}

/* this is event slider on home page */
.fl-node-5ce5c7a06533d > .fl-module-content {
    margin-left: 0px;
}


.fl-rich-text:has( .fl-module-as-slider ) h2 {
  color: #FFFFFF;
}

/* Styles for both Insights and Events */
.fl-module-as-slider .bx-controls {
    /*
    position: absolute;
    bottom: 16px;
    left: 39%;
    width: 32%;
    */
    position: relative;
    margin: 50px auto 0; /* space above pagination */
    width: 60%;
    left: 0;
    bottom: 0px;
    height: 45px;
}

.fl-module-as-slider .bx-controls button {
    display: block;
    width: 34px;
    height: 34px;
    overflow: hidden;
    text-indent: -999px;
    background-color: transparent;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    border-width: 0px;
}

.fl-module-as-slider .bx-controls-direction {
    /*
    width: 69%;
    display: flex;
    justify-content: space-between;
    */
    width: 280px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, -36%);
}

/*.fl-module-as-slider a.disabled {*/
.fl-module-as-slider .bx-controls-direction button.disabled {
    opacity: 0.2;
}

.fl-module-as-slider .bx-controls-direction button.bx-prev {
    background-image: url("../images/icon-carousel-prev.svg");
}

.fl-module-as-slider .bx-controls-direction button.bx-next {
    background-image: url("../images/icon-carousel-next.svg");
}

.fl-module-as-slider .fl-post-column {
    margin: 4px 30px 0px 0px;
}

/* Terms carousel
---------------------- */
.fl-terms-carousel {
  height: 100%;
}

.fl-module-glossary-terms .fl-post-column {
  margin: 0;
  padding: 20px;
  display: flex;
  align-items: center;
  height: 100%;
}

.fl-module-glossary-terms .insight-card {
  align-items: center;
  align-self: stretch;
  padding: 20px;
  background: #FFFFFF;
  border: 1px solid var( --as-accent-secondary );
  border-radius: 16px;
  box-shadow: rgba(149, 157, 165, 0.6) 0px 4px 16px;
}
/* Terms carousel */


/* Post meta styling
------------------------- */
.fl-insight-content .fl-post-meta-top,
.single-insight-content-header {
  margin-bottom: 20px;
  text-align: center;
}

.fl-post-meta-top h5,
.single-insight-content-header h5 { /* Post type */
  font-size: 16px;
  color: var( --as-heading-alt );
  text-transform: uppercase;
}

.fl-post-meta-top h2 {  /* Post title */ }

.fl-insight-content .fl-post-meta-top p,
.single-insight-content-header p {
  margin-bottom: 4px;
  color: var( --as-text-light );
}

.fl-insight-content .fl-post-meta-top p.fl-post-caveat,
.single-insight-content-header p.fl-post-caveat {
  color: var( --as-heading-alt );
  font-family: var( --as-font-family, sans-serif );
  font-weight: var( --as-font-weight-regular );
  font-style: italic;
  font-weight: 100;
  text-transform: none;
}

.fl-post-client-block h3 {
  margin: 24px auto;
  text-align: center;
}

.fl-post-client-wrap h4 {
  text-align: center;
}

/* Images in blog Post body copy */
.fl-blog-body img {
  border-radius: 16px;
}

blockquote {
  margin: 20px -4% 40px;
  padding: 18px;
  border: 1px solid #cccccc;
  border-width: 1px 0;
}

@media only screen and ( min-width: 992px ) {

  blockquote {
    margin: 20px -10% 40px;
    padding: 40px;
  }

}

.fl-rich-text blockquote p {
  margin: 20px auto;
  color: var( --as-heading-color );
  font-size: 28px;
  text-align: center;
}

.fl-rich-text blockquote p + p {
  color: var( --as-text-light );
  font-size: 20px;
}

/* Global ads in Posts */
.fl-rich-text .global-ad {
  margin: auto -10%;
}



/* Single event specific tweaks
------------------------------------ */
.single-as_event .fl-archive-full,
.single-as_event .fl-as-module { /* .fl-row-content-wrap top pad: 75px */
  padding-top: 60px;
  padding-bottom: 60px;
}

.single-as_event .fl-event-column-single {
  margin-top: 0;
  margin-right: auto !important;
  margin-bottom: 35px;
  margin-left: auto;
  max-width: 830px;
}

.fl-event-column-single a.fl-bb-button {
  display: inline-block;
}


/* Insights carousel height/width fix
------------------------------------ */
.fl-insights-wrapper {
  max-width: 100% !important;
}

.fl-insights-wrapper .bx-viewport {
  height: auto !important;
}

/* stop horizontal scrollbar on /insights page - will probably affect anywhere same slider is used 7/30/19 */
.uabb-image-carousel button.slick-prev,
.uabb-image-carousel button.slick-prev:hover {
    left: -10px;
}

.uabb-image-carousel button.slick-next,
.uabb-image-carousel button.slick-next:hover {
    right: -10px;
}


/* Carousel controls
------------------------- */
.fl-module-as-slider {
  position: relative;
  margin-bottom: 64px;
}

/* .fl-module-as-slider .bx-controls {
  position: absolute;
  bottom: 16px;
  left: 20%;
  width: 60%;
} */

.fl-module-as-slider .bx-controls-direction,
.fl-module-featured-events .bx-controls-direction { /* Immediate nav parent */
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.fl-module-as-slider .bx-controls a,
.fl-module-featured-events .bx-controls a {
  display: block;
  width: 34px;
  height: 34px;
  overflow: hidden;
  text-indent: -999px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
}

.fl-module-as-slider a.bx-prev {
  background-image: url('../images/icon-carousel-prev.svg');
}

.fl-module-as-slider a.bx-next {
  background-image: url('../images/icon-carousel-next.svg');
}

.fl-module-as-slider a.disabled {
  opacity: 0.6;
}

/* I don't think we'll need this anymore, going to PR pages */
  .fl-newsroom-grid table { /* Tables are breaking out of Newsroom cards */
    font-size: 14px;
  }

  td.bwalignr {
    text-align: right;
  }

  td.bwalignc {
    text-align: center;
  }

  td.bwvertalignb {
    vertical-align: bottom;
  }


/* Pagination
------------------ */
.fl-archive-pagination {
  margin: 64px auto 32px;
  text-align: center;
  color: #f2704c;
}

.facetwp-page {
  padding: 0 3px;
}

.facetwp-page.current {
  font-weight: 700;
  color: var( --as-accent-primary );
}

/* Dumb style for the content block on single events */
.fl-archive-content.fl-archive-content-block {
  display: block;
}
