﻿.news-events-hero__inner {

  max-width: 760px;

  margin: 0 auto;

}



/* Photo strip on News & Events - items collapse without explicit height

   (imgs are absolute; aspect-[4/3] utility may not load on this template). */

.news-events-page .image-ticker {

  background: #f4f4f4;

}

.news-events-page .image-ticker .ticker {

  margin: 0;

  padding: 0;

  background: transparent;

}

.news-events-page .image-ticker .ticker-item {

  width: 16rem;

  height: 270px;

  flex-shrink: 0;

  position: relative;

  overflow: hidden;

  list-style: none;

  background: transparent;

}

.news-events-page .image-ticker .ticker-item img {

  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}

@media (max-width: 767px) {

  .news-events-page .image-ticker .ticker-item {

    height: 260px;

  }

}

@media (min-width: 1536px) {

  .news-events-page .image-ticker .ticker-item {

    width: 24rem;

    height: 392px;

  }

}

.news-events-page .ne-latest,

.news-events-page .ne-past {

  background: #f4f4f4;

}

.ne-slider__viewport {

  overflow: hidden;

}

.ne-slider__track {

  display: flex;

  transition: transform 0.35s ease;

}

.ne-slider__slide {

  flex: 0 0 100%;

}

/* Upcoming — mobile: stacked like Past event cards (media top, content below). */

.ne-upcoming-card {

  background: transparent;

  max-width: 785px;

  margin: 0 auto;

}

.ne-upcoming-card__inner {

  width: 100%;

  display: flex;

  flex-direction: column-reverse;

  padding: 0;

  position: relative;

  background: transparent;

}

.ne-upcoming-card__content {

  width: 100%;

  display: flex;

  flex-direction: column;

  gap: 14px;

  align-items: flex-start;

  z-index: 10;

  background: #f4f4f4;

  padding: 28px;

  box-sizing: border-box;

}

.ne-upcoming-card__text {

  display: flex;

  flex-direction: column;

  gap: 7px;

  align-items: flex-start;

  width: 100%;

}

.ne-upcoming-card__text h3,

.ne-upcoming-card__text h5,

.ne-upcoming-card__text p {

  margin-bottom: 0;

}

.ne-upcoming-card__btn {

  background-color: #e4002b;

  color: #ffffff;

  padding: 7px 14px;

  display: inline-block;

  font-family: "Source Sans 3", sans-serif;

  font-weight: 600;

  font-size: 18px;

  line-height: 24px;

  text-decoration: none;

  margin-top: auto;

}

.ne-upcoming-card__btn:hover {

  background-color: #000000;

  color: #ffffff;

}

.ne-upcoming-card__spacer {

  display: none;

}

.ne-upcoming-card__media {

  display: flex;

  flex-direction: column;

  width: 100%;

  margin: 0;

  height: 190px;

  min-height: 190px;

  position: relative;

  flex-shrink: 0;

  background: #000;

  overflow: hidden;

}

.ne-upcoming-card__bg {

  position: relative;

  margin-top: auto;

  width: 100%;

  height: 35px;

  min-height: 35px;

  flex-shrink: 0;

  overflow: hidden;

  z-index: 0;

}

.ne-upcoming-card__bg img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  display: block;

}

.ne-upcoming-card__logo {

  position: absolute;

  left: 50%;

  top: 77px;

  transform: translate(-50%, -50%);

  z-index: 2;

 /* width: min(70%, 140px);

  height: auto;
*/
  aspect-ratio: 1;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 12px;

  background: transparent;

  box-sizing: border-box;

width: 100%;
max-width: 260px;
height: 80px;

}

.ne-upcoming-card__logo img {

  max-width: 100%;

  max-height: 100%;

  width: auto;

  height: auto;

  object-fit: contain;

}

/* Tablet + desktop: content left, background + logo right */

@media (min-width: 768px) {

  .ne-upcoming-card {

    background: #f4f4f4;

    max-width: 815px;

  }

  .ne-upcoming-card__inner {

    flex-direction: row;

    align-items: stretch;

    padding: 0 0 0 28px;

    min-height: 340px;

  }

  .ne-upcoming-card__content {

    width: auto;

    flex: 1 1 auto;

    min-width: 0;

    padding: 28px 0;

    flex-shrink: 1;

    margin-right: 24px;

    background: transparent;

  }

  .ne-upcoming-card__spacer {

    display: block;

    width: 40px;

    flex-shrink: 0;

  }

  .ne-upcoming-card__media {

    display: block;

    width: 240px;

    height: auto;

    min-height: 0;

    margin: 0;

    flex-shrink: 0;

    background: transparent;

    overflow: visible;

  }

  .ne-upcoming-card__bg {

    position: absolute;

    margin-top: 0;

    right: 0;

    top: 0;

    height: 100%;

    width: 140px;

    min-height: 0;

  }

  .ne-upcoming-card__logo {

    top: 50%;

    left: 10px;

    transform: translateY(-50%);

    width: 180px;

    height: 180px;

    aspect-ratio: auto;

    padding: 24px;

    background: #000;

  }

}

@media (min-width: 1024px) {

  .ne-upcoming-card__inner {

    padding: 0 0 0 35px;

    min-height: 385px;

  }

  .ne-upcoming-card__content {

    width: 423px;

    flex: 0 0 423px;

    padding: 35px 0;

    margin-right: 35px;

  }

  .ne-upcoming-card__spacer {

    width: 65px;

  }

  .ne-upcoming-card__media {

    width: 292px;

  }

  .ne-upcoming-card__bg {

    width: 177px;

  }

  .ne-upcoming-card__logo {

    top: 78px;

    transform: none;

    width: 230px;

    height: 226px;

    padding: 35px;

  }

}

.ne-event-card {

  display: grid;

  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);

  gap: 40px;

  align-items: center;

  background: #f3f3f3;

  padding: 42px 48px;

}

.ne-event-card__kicker {

  margin: 0 0 12px;

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 0.04em;

  text-transform: uppercase;

}

.ne-event-card__text {

  margin: 0 0 22px;

  color: #333;

  font-size: 16px;

  line-height: 1.55;

}

.ne-event-card__media {

  position: relative;

  min-height: 280px;

  background: #111;

}

.ne-event-card__media > img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  position: absolute;

  inset: 0;

}

.ne-event-card__logo {

  position: absolute;

  inset: 18% 16%;

  background: #000;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 24px;

  z-index: 1;

}

.ne-event-card__logo img {

  max-width: 100%;

  max-height: 120px;

  width: auto;

  height: auto;

}

.ne-dots {

  display: flex;

  justify-content: center;

  gap: 8px;

  margin-top: 28px;

}

button.ne-dot {

  width: 28px;

  height: 4px;

  border: 0;

  background-color: #b0b0b0;

  padding: 0;

  cursor: pointer;

}

button.ne-dot.is-active {

  background-color: #111;

}

.ne-latest__head {

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 0;

  position: relative;

  margin-bottom: 14px;

}

.ne-latest__head .ne-section-title {

  margin-bottom: 0;

}

.ne-arrows {

  position: static;

  align-self: flex-end;

  display: flex;

  align-items: center;

  gap: 14px;

}

.ne-arrows[hidden] {

  display: none !important;

}

.ne-latest .ne-arrows .cs-prev-btn,

.ne-latest .ne-arrows .cs-next-btn {

  height: 40px;

  width: 40px;

  padding: 10px;

  border: 0;

  background: #000 !important;

  color: #fff !important;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  opacity: 1;

  transition: background 0.3s ease, opacity 0.3s ease;

}

.ne-latest .ne-arrows .cs-prev-btn:hover,

.ne-latest .ne-arrows .cs-next-btn:hover {

  background: #e4002b !important;

  opacity: 0.85;

}

.ne-latest .ne-arrows .cs-prev-btn:disabled,

.ne-latest .ne-arrows .cs-next-btn:disabled {

  opacity: 0.35;

  cursor: default;

  pointer-events: none;

}

.ne-latest__viewport {

  overflow: hidden;

}

.ne-latest__track {

  display: flex;

  gap: 24px;

  transition: transform 0.35s ease;

}

.ne-news-card {

  background: #ffffff;

}

.ne-latest__track .ne-news-card {

  flex: 0 0 calc((100% - 48px) / 3);

}

.news-events-page .ne-news-card a.ne-news-card__link,

.news-events-page .ne-news-card a.ne-news-card__link:hover {

  display: flex;

  flex-direction: column;

  height: 100%;

  color: inherit;

  text-decoration: none;

}

.ne-news-card__image {

  aspect-ratio: auto;

  width: 100%;

  height: 220px; /* match Insights .article-card__img */

  min-height: 220px;

  overflow: hidden;

  background: #ddd;

  flex-shrink: 0;

}

.ne-news-card__image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}

/* New 618×345 uploads: soft-resized ~340×190, no crop */

.ne-news-card__image--fit {

  background: #f4f4f4;

}

.ne-news-card__image--fit img {

  object-fit: contain;

  object-position: center;

}

/* Under 1280px cards are narrower than 618:345, so contain letterboxes

   and new images look shorter than legacy cover. Use cover to match heights. */

@media (max-width: 1279px) {

  .ne-news-card__image--fit img {

    object-fit: cover;

  }

}

.ne-news-card__body {

  display: flex;

  flex-direction: column;

  flex: 1;

  gap: 14px;

  padding: 28px; /* match Insights .content-wrapper */

}

.ne-news-card__tags {

  display: flex;

  flex-wrap: wrap;

  gap: 7px;

  margin-bottom: 0;

}

.ne-news-card__tags span {

  background: #e0e0e0;

  color: #000;

  font-size: 14px;

  line-height: 20px;

  padding: 7px 14px;

}

.ne-news-card p {

  margin: 0;

  display: -webkit-box;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;

}

.ne-news-card .menu-contact-btn-black {

  margin-top: auto;

  width: max-content;

}

.ne-past__grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 24px;

  align-items: stretch;

}

.ne-past__cell {

  display: flex;

  flex-direction: column;

  min-width: 0;

}

.ne-past__grid .ne-news-card,

.ne-past__grid .ne-event-card--past {

  flex: 1 1 auto;

  width: 100%;

  height: 100%;

  background-color: #ffffff;

}

/* Past grid image height already set on .ne-news-card__image (190px). */

.ne-past__cell[hidden],

.ne-past__panel[hidden] {

  display: none !important;

}

.ne-event-card--past {

  display: flex;

  flex-direction: column;

  gap: 0;

  padding: 0;

  background: transparent;

  height: 100%;

}

.ne-event-card--past .ne-event-card__media {

  display: flex;

  flex-direction: column;

  width: 100%;

  height: 220px;

  min-height: 220px;

  position: relative;

  background: #000;

  overflow: hidden;

  flex-shrink: 0;

}

/* Past only: image strip at bottom of black container (no absolute). */

.ne-event-card--past .ne-event-card__media-bg {

  margin-top: auto;

  width: 100%;

  height: 35px;

  min-height: 35px;

  flex-shrink: 0;

  overflow: hidden;

  z-index: 0;

}

.ne-event-card--past .ne-event-card__media-bg img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  display: block;

}

/* Past only: logo centered on the black area above the image strip. */

.ne-event-card--past .ne-event-card__logo {

  inset: auto;

  top: 90px; /* center in the 155px black area above the 35px strip */

  left: 50%;

  transform: translate(-50%, -50%);

  width: min(70%, 140px);

  height: auto;

  aspect-ratio: 1;

  padding: 12px;

  background: transparent;

  z-index: 2;
width: 100%;
max-width: 260px;
height: 80px;

}

.ne-event-card--past .ne-event-card__logo img {

  max-width: 100%;

  max-height: 100%;

  width: auto;

  height: auto;

  object-fit: contain;

}

.ne-event-card--past .content-wrapper {

  background: #ffffff;

  width: 100%;

  flex: 1 1 auto;

  display: flex;

  flex-direction: column;

}

.ne-event-card--past .ne-event-card__text {

  margin-bottom: 0;

}

.ne-event-card--past .ne-event-card__kicker {

  margin: 0;

  font-size: 14px;

  line-height: 20px;

}

.ne-event-card--past .menu-contact-btn-black {

  margin-top: auto;

  width: max-content;

}

.ne-event-card__badge {

  position: absolute;

  top: 14px;

  left: 14px;

  z-index: 3;

  background: #e4002b;

  color: #fff;

  font-size: 13px;

  font-weight: 700;

  padding: 6px 10px;

}

.ne-past .post-archive__filters {

  scroll-margin-top: 100px;

}

.ne-past .post-archive__filters li {

  list-style: none;

}

.ne-past .post-archive__filters .post-archive__tab,

.dynamic-tb-blocks.ne-past .post-archive__filters label {

  cursor: pointer;

  font-weight: 400 !important;

}

.ne-past .pagination-insights a {

  text-decoration: none;

}

.ne-empty {

  margin: 0;

}

.ne-event-page__media {

  position: relative;

  width: 100%;

}

.ne-event-page__media picture,

.ne-event-page__media picture img {

  display: block;

  width: 100%;

  height: auto;

}

/*

 * Event detail background + logo — same breakpoints as block-style.css:

 * desktop default, tablet max-width 1024px, mobile max-width 767px.

 */

.ne-event-page__media--bg-logo {

  display: block;

  width: 100%;

  max-width: 100%;

  height: auto;

  min-height: 0;

  aspect-ratio: 1024 / 774;

  position: relative;

  margin-left: 0;

  background: transparent;

  overflow: hidden;

}

.ne-event-page__media-bg {

  position: absolute;

  margin-top: 0;

  right: 0;

  top: 0;

  height: 100%;

  width: 300px;

  min-height: 0;

  flex-shrink: 0;

  overflow: hidden;

  z-index: 0;

}

.ne-event-page__media-bg img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

  display: block;

}

.ne-event-page__media--bg-logo .ne-event-page__logo {

  position: absolute;

  inset: auto;

  top: 50%;

  /* Anchor to the right with the bg strip so logo does not drift on resize. */

  left: auto;

  right: 140px;

  transform: translateY(-50%);

  z-index: 2;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 300px;

  height: 300px;

  max-height: none;

  aspect-ratio: auto;

  padding: 35px;

  background: #000;

  box-sizing: border-box;

}

.ne-event-page__media--bg-logo .ne-event-page__logo img {

  max-width: 100%;

  max-height: 100%;

  width: auto;

  height: auto;

  object-fit: contain;

}

/* Tablet — smaller fixed logo/bg, still right-anchored together. */

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

  .ne-event-page__media--bg-logo .ne-event-page__media-bg {

    width: 140px;

  }

  .ne-event-page__media--bg-logo .ne-event-page__logo {

    left: auto;

    right: 50px;

    width: 180px;

    height: 180px;

    padding: 24px;

  }

}

/* Mobile view — media (logo + bg) on top, heading/copy below. */

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

  .ne-event-page__header-grid {

    display: flex;

    flex-direction: column;

  }

  .ne-event-page__header-media {

    order: -1;

    margin-bottom: 21px;

  }

  .ne-event-page__media--bg-logo {

    display: flex;

    flex-direction: column;

    width: 100%;

    max-width: 100%;

    height: 220px;

    min-height: 220px;

    aspect-ratio: auto;

    margin-left: 0;

    background: #000;

    overflow: hidden;

  }

  .ne-event-page__media--bg-logo .ne-event-page__media-bg {

    position: relative;

    margin-top: auto;

    right: auto;

    top: auto;

    left: auto;

    width: auto;

    align-self: stretch;

    height: 35px;

    min-height: 35px;

  }

  .ne-event-page__media--bg-logo .ne-event-page__logo {

    top: 77px;

    left: 0;

    right: 0;

    margin-left: auto;

    margin-right: auto;

    transform: translateY(-50%);

    width: 140px;

    height: 140px;

    aspect-ratio: auto;

    padding: 12px;

    background: transparent;

  }

}

/* Tablet: 2 Latest News + Past cards */

@media (max-width: 1024px) {

  .ne-latest__track .ne-news-card {

    flex: 0 0 calc((100% - 24px) / 2);

  }

  .ne-past__grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }

}

/* Mobile: 1 Latest News + Past card */

@media (max-width: 767px) {

  .ne-latest__track .ne-news-card {

    flex: 0 0 100%;

  }

  .ne-past__grid {

    grid-template-columns: 1fr;

  }

  .news-events-page .ne-section-title {

    font-size: 34px;

  }

}

@media (max-width: 900px) {

  .ne-event-card {

    grid-template-columns: 1fr;

  }

}



.ne-past .post-archive__filters li {

  list-style: none;

  display: block !important;

  margin-left: 14px;

  margin-bottom: 0;

}

.post-archive__filters li:first-child {

  margin-left: 0;

}

.post-archive__filters .post-archive__tab {

  display: inline-block !important;

}

