@charset 'utf-8';

/* Fix for SidebarCTA disappearing at 640px breakpoint */
@media screen and (max-width: 63.99875em) {
  .content-col--sidebar-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  .sidebar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .sidebar__teaser {
    display: block !important;
    visibility: visible !important;
  }

  .sidebar__phone-links {
    display: block !important;
    visibility: visible !important;
  }

  .cta__links {
    display: block !important;
    visibility: visible !important;
  }
}

.editing-mode {
  .accordion-content {
    display: block !important;
  }

  .content-text__col-snippet.ck-editor__editable {
    padding: 0 !important;
  }
}

/* Override rotator slick arrow keyboard focus styles to prevent weird circular transformation */
[data-whatintent='keyboard'] .rotator__story .slick-prev,
[data-whatintent='keyboard'] .rotator__story .slick-next {
  transition: none;
}

[data-whatintent='keyboard'] .rotator__story .slick-prev:focus,
[data-whatintent='keyboard'] .rotator__story .slick-next:focus {
  outline: 2px solid #12a0ab;
  outline-offset: 4px;
}

.rtf {
  &::after {
    content: '';
    display: table;
    clear: both;
  }
}

.ck.ck-content li {
  list-style: none !important;
}

.ck-content .table table th {
  background: linear-gradient(135deg, #5355a2 0%, #8082d7 100%) !important;
}

.table--scroll a {
  color: #0e838c;
  font-weight: 600;
  transition: 0.4s ease-in-out;

  &:hover {
    text-decoration: underline;
  }
}

.media-modal {
  .media-modal__inner {
    overflow: visible !important; /* to override the inline style that is preventing the close button from being visible */
  }

  &:not(.js-gallery-modal) .media-modal__inner {
    @media print, screen and (min-width: 767px) {
      max-width: min(75vw, 1000px) !important;
    }
  }
}

.media-modal {
  max-width: 100vw;
}

.content-text__col-snippet > .ck-content > p {
  margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
  .reveal-overlay .media-modal {
    max-width: 62.5rem;
  }
}

.media-modal__media img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.is-accordion-submenu-parent:not(:has(ul li)) .submenu-toggle {
  display: none !important;
}

.media-video__video {
  aspect-ratio: 16 / 9;
  padding: 0 !important;
  height: 0 !important;
}

.media-video--playlist {
  .media-video__video {
    padding-bottom: 56.25% !important;
    padding-top: 1.875rem !important;
  }
}

.media-video__video.is-playing {
  height: auto !important;
}

.bio-item__snippet .rtf div {
  padding: 0;
}
.media-rotator__page-editor-message {
  margin: 12px 20px;
}

iframe.EJIframeV3.EJOverlayV3.moving {
  opacity: 0 !important;
}

iframe.EJIframeV3.EJOverlayV3.moving ~ .EJLoaderV3.EJOverlayV3,
iframe.EJIframeV3.EJOverlayV3.moving ~ .EJSnackBarV3,
.EJLoaderV3.EJOverlayV3.show-during-move,
.EJSnackBarV3.show-during-move {
  display: block !important;
}

body:has(header.is-stuck) {
  .accordion-item {
    scroll-margin-top: 0;
  }
}

body:has(header.is-stuck.is-visible) {
  .accordion-item {
    scroll-margin-top: 70px;
  }
}

.accordion-item {
  scroll-margin-top: 70px;
}

@media print, screen and (min-width: 64em) {
  .sticky-container:has(.content-col--sidebar-wrapper) {
    min-width: 296px !important;
  }

  .content-col--sidebar-wrapper {
    max-width: 296px !important; /* to exactly match prod*/
    min-width: 296px !important;
  }

  .content-tags__list li:after {
    margin: 0 5px;
  }
}

.tabbed-content-explorer--si,
.tabbed-content-explorer.tabbed-content-explorer--si {
  background-image: url('/assets/images/fpo-shiners-members-background.jpg');
  background-position: center top;
  background-size: cover;
  padding: 6.25rem 0;

  .tabbed-content .slide-item__title:before {
    background-image: none;
  }
}

@media screen and (min-width: 80em) {
  .tabbed-content-explorer--si,
  .tabbed-content-explorer.tabbed-content-explorer--si {
    border-radius: 0 50px 0 0;
    padding: 10.625rem 0;
    margin-right: 5vw;

    .tabbed-content-explorer__inner {
      width: 100vw;
    }
  }
}

@media screen and (min-width: 106.25em) {
  .tabbed-content-explorer--si,
  .tabbed-content-explorer.tabbed-content-explorer--si {
    margin-right: 10vw;
  }
}

.si .tabbed-content-explorer--si,
.si .tabbed-content-explorer.tabbed-content-explorer--si {
  background-position: center top;
  background-size: cover;
  padding: 6.25rem 0;
}

@media screen and (min-width: 80em) {
  .si .tabbed-content-explorer--si,
  .si .tabbed-content-explorer.tabbed-content-explorer--si {
    border-radius: 0 50px 0 0;
    padding: 10.625rem 0;
    margin-right: 5vw;
  }

  .si .tabbed-content-explorer--si,
  .si .tabbed-content-explorer.tabbed-content-explorer--si .tabbed-content-explorer__inner {
    width: 100vw;
  }
}

@media screen and (min-width: 106.25em) {
  .si .tabbed-content-explorer--si,
  .si .tabbed-content-explorer.tabbed-content-explorer--si {
    margin-right: 10vw;
  }
}

.next-image-wrapper {
  block-size: 100%;
  inline-size: 100%;
  position: relative;
}

.custom-select.custom-select--with-arrow {
  position: relative;
}

.custom-select.custom-select--with-arrow::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M.61 9.5 5.39 4.94.61.5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 13px;
  pointer-events: none;
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center;
  width: 13px;
}

.custom-select.custom-select--with-arrow select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 44px;
}

.related-locations-provider-dropdown {
  display: none;
}

/* General List Results */

.js-general-list-filters-form {
  .select2-selection.select2-selection--single {
    background-image: none;
  }
}

.content-cols--sticky-filters {
  scroll-margin-block-start: 90px;
}

.event-landing-results {
  .list__item__image {
    block-size: 193px;
    inline-size: 290px;
    object-fit: cover;
  }
}

.filters__info .ck-content p {
  margin-bottom: 0;
  line-height: 1.75rem;
}

.providers-search {
  .pediatric-care-results__top-bar {
    @media print, screen and (min-width: 40em) {
      padding-right: 0;
      text-align: right;
    }
  }
}

.pages-media-rotator__item {
  max-width: 500px;
}

.pages-media-rotator__items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1rem;
  padding: 1rem;
}

.cta__card {
  width: 100%;
}

.hero--search {
  overflow: visible;
}

.hero.hero--text-links .hero__links--primary .cta__link-icon img {
  height: 33px;
  width: 33px;
}

.list__item__column_no_image {
  width: 0 !important;
}

.parallax-feature__link-icon-image,
.feature-rotator__link-icon-image {
  width: auto !important;
  height: auto !important;
}

.events-list-filters__form.list-filters__form .list-filters__row:first-of-type {
  display: block;
}

.card__title-wrapper .card__title + .next-image-wrapper {
  max-block-size: 32px;
  max-inline-size: 32px;
}

.campaign-modal__text,
.campaign-modal__title {
  width: 100%;
}

.event-metadata .cta__links .cta__link .cta__link-text:before {
  top: -1px;
}

/* Hero visibility fix for Next.js navigation */
/* Ensure hero images and text are visible by default to fix SPA navigation issues */
.hero[data-in-view] .hero__text,
.hero[data-in-view] .hero__image {
  opacity: 1 !important;
}

/* Maintain transition for when in-view detection works */
.hero[data-in-view].is-in-view .hero__text,
.hero[data-in-view].is-in-view .hero__image {
  opacity: 1 !important;
  transition: opacity 400ms ease-in !important;
}

/* Title banner background visibility fix for Next.js navigation */
/* Ensure title banner background is always visible and not affected by JS transforms */
.title-banner__bg__wrapper {
  transform: none !important;
  opacity: 1 !important;
}

.title-banner__bg {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Ensure title banner wrapper is always loaded */
.title-banner__wrapper.is-loaded {
  opacity: 1 !important;
}

.marketing-promo__main__cta-icon {
  img {
    inline-size: 9px;
    block-size: 16px;
  }
}

.custom-select.custom-select--language .select2-container {
  justify-content: center;
}

.external-form {
  margin-inline: auto;
  max-width: 56.25rem;
}

/* Make thumbnail focus black for accessibility */
.nav-image__wrapper:focus .nav-image__thumbnail {
  border: 2px solid #000000;
  outline-offset: 2px;
}

.custom-select-dropdown.custom-select-dropdown--language .select2-results a {
  font-weight: 600;
  padding: 0;
}

.select2-results__option-link {
  color: inherit;
  cursor: pointer;
  display: block;
  text-decoration: none;
}

.select2-results__option-link:hover {
  color: #910510 !important;
}

.cta--two-rings .cta__link-icon img {
  height: 33px !important;
  width: 33px !important;
}

ul.menu.vertical.nested.submenu.is-accordion-submenu:empty{
  display: none !important;
}

.bio-featured .bio-item__img img {
  inline-size: 265px;
}

.global-header-nav__btn-lang{
  min-width: 48px;
}

.section-overlay--find .section-overlay__list ul li:after {
  width: 1.0625rem;
}