.social-icons-article {
    position: fixed;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  
  @media (max-width: 1200px) {
    .social-icons-article  {
      display: none;
    }
  }
  


.right {
    text-align: right;
}
.podpis {

    background-color: rgba(0, 0, 0, 0.5) !important;
    color: rgb(255, 255, 255, 0.8);
    border-radius: 8px;
    text-align: right;
    display: inline;
    font-size: 0.65rem;
}


.content {
    --x-text-opacity: 1;
    color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
    
}

 .content h1 {
    font-size: calc(1.35rem + 1.2vw);
    margin-top: 2.5rem !important;
    margin-bottom: 1.5rem !important;
    --x-text-opacity: 1;
    color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
  }
  @media (min-width: 1200px) {
    .content h1 {
      font-size: 2.25rem;
      margin-top: 2.5rem !important;
      margin-bottom: 1.5rem !important;
      --x-text-opacity: 1;
      color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
    }
  }
  
  .content  h2 {
    font-size: calc(1.3rem + 0.6vw);
    margin-top: 2.5rem !important;
    margin-bottom: 1.5rem !important;
    --x-text-opacity: 1;
    color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
  }
  @media (min-width: 1200px) {
    .content h2 {
      font-size: 1.75rem;
      margin-top: 2.5rem !important;
      margin-bottom: 1.5rem !important;
      --x-text-opacity: 1;
      color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
    }
  }
  
  .content h3 {
    font-size: calc(1.2625rem + 0.15vw);
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
    --x-text-opacity: 1;
    color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
  }
  @media (min-width: 1200px) {
    .content h3 {
      font-size: 1.375rem;
      margin-top: 2rem !important;
      margin-bottom: 1.5rem !important;
      --x-text-opacity: 1;
      color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
    }
  }
  
  .content h4 {
    font-size: 1.125rem;
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
    --x-text-opacity: 1;
    color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
  }
  
  .content h5 {
    font-size: 1rem;
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
    --x-text-opacity: 1;
    color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
  }
  
  .content h6 {
    font-size: 0.875rem;
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
    --x-text-opacity: 1;
    color: rgba(var(--x-black-rgb), var(--x-text-opacity)) !important;
  }
  
  .content p {
    font-size: 1.125rem;
    font-weight: 400;
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  @media (min-width: 1200px) {
    .content p {
        font-size: 1.125rem;
        font-weight: 400;
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
  }



  .content blockquote p {
    font-size: 1.2rem !important;
    --x-text-opacity: 1;
    color: rgba(var(--x-gray-700-rgb), var(--x-text-opacity)) !important;
  }
  .content blockquote {
    position: relative;
    padding-left: 1rem;
    font-size: 1.2rem;
    margin-top: 3.5rem !important;
    margin-bottom: 2.5rem !important;
    margin-right: 3rem;
    font-style: italic;
    --x-text-opacity: 1;
    color: rgba(var(--x-gray-700-rgb), var(--x-text-opacity)) !important;
  }
  
  .content blockquote::before {
    content: '';
    position: absolute;
    top: -1rem;
    left: 0rem;
    width: 6rem;
    height: 100%;
    background-image: url("../img/quote.svg");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.1;
  }
  
  .content cite::before, .content figcaption::before  {
    content: "—";
    margin-right: 5px;
  }

  .content cite, .content figcaption  {

    font-size: 1.125rem;
    font-weight: 400;
    text-align: right;
    margin-right: 4rem;
    margin-top: 1.5rem !important;
    margin-bottom: 2.5rem !important;
    font-weight: 500;
  }

  @media (min-width: 1200px) {
    .content blockquote p {
        font-size: 1.2rem !important;
        --x-text-opacity: 1;
        color: rgba(var(--x-gray-700-rgb), var(--x-text-opacity)) !important;
      }
    .content blockquote {
      position: relative;
      padding-left: 1rem;
      font-size: 1.2rem;
      margin-top: 3.5rem !important;
      margin-bottom: 1.5rem !important;
      margin-right: 3rem;
      font-style: italic;
      --x-text-opacity: 1;
      color: rgba(var(--x-gray-700-rgb), var(--x-text-opacity)) !important;
    }
  
    .content blockquote::before {
      content: '';
      position: absolute;
      top: -1rem;
      left: 0rem;
      width: 6rem;
      height: 100%;
      background-image: url("../img/quote.svg");
      background-repeat: no-repeat;
      background-size: contain;
      opacity: 0.1;
    }
  }
  

  .content ul,
  .content ol {
    font-size: 1.125rem;
    font-weight: 400;
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
    margin-left: 1rem;
    padding-left: 0.5rem;
  }
  @media (min-width: 1200px) {
    .content ul,
    .content ol {
        font-size: 1.125rem;
        font-weight: 400;
      margin-top: 2rem !important;
      margin-bottom: 2rem !important;
      margin-left: 1rem;
      padding-left: 0.5rem;
    }
  }

  
  .content li {
    font-size: 1.125rem;
    font-weight: 400;
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
    margin-left: 1rem;
    padding-left: 0.5rem;
  }
  @media (min-width: 1200px) {
    .content li {
        font-size: 1.125rem;
        font-weight: 400;
      margin-top: 1rem !important;
      margin-bottom: 1rem !important;
      margin-left: 1rem;
      padding-left: 0.5rem;
    }
  }


  .content a {
    color: #000;
    text-decoration: none;
    position: relative;
  }
  
  /* Domyślna linia dolna */
  .content a::after {
    content: "";
    position: absolute;
    bottom: 0em;
    left: 0;
    width: 100%;
    border-bottom: 1px solid #000;
  }
  
  /* NIE pokazuj linii jeśli ma klasę .no-underline */
  .content a.no-underline::after {
    content: none;
    border: none;
  }
  
  /* Hover */
  .content a:hover {
    color: var(--x-link-hover-color);
    text-decoration: none;
  }
  
  .content a:hover::after {
    content: "";
    position: absolute;
    bottom: 0em;
    left: 0;
    width: 100%;
    border-bottom: 1px solid var(--x-link-hover-color);
  }
  
  /* Nadal NIE pokazuj hover underline jeśli ma .no-underline */
  .content a.no-underline:hover::after {
    content: none;
    border: none;
  }

@media (max-width: 576px) {

    .skalowanie {
        display: none;
    }
}




/* KARUZEKA */
.scroll-container {
    -webkit-overflow-scrolling: touch; /* umożliwia płynne przewijanie na urządzeniach z iOS */
}

.scroll-item {
    flex: 0 0 70%;
    margin-right: 3%; /* dodaje odstęp między postami */
}

/* PASEK PRZEWIJANIA */
/* dla Chrome, Safari i Opera */
#carouselPosts::-webkit-scrollbar {
  width: 3px; 
  height: 3px;
}

#carouselPosts::-webkit-scrollbar-track {
  background: transparent; /* transparentne tło paska przewijania */
}

#carouselPosts::-webkit-scrollbar-thumb {
  background-color:  #D3D8E0; /* czerwony kciuk paska przewijania */
  border-radius: 3px; /* zaokrąglenie krawędzi kciuka */
}

/* dla Firefox */
#carouselPosts {
  scrollbar-width: thin; /* cienki pasek przewijania */
  scrollbar-color: #D3D8E0 transparent; /* czerwony kciuk i transparentne tło paska przewijania */
}




/* MAPA */


#world-map {
  margin: auto;
  width: 100%;
  height: 500px;
  text-align: center;
}

@media (max-width: 768px) {
  #world-map {
    width: 450px;
    height: 250px;
  }
}

@media (max-width: 500px) {
  #world-map {
    width: 375px;
    height: 200px;
  }
}

.w-50 {
  width: 50rem !important;
} 

.w-45 {
  width: 45rem !important;
} 

.w-40 {
  width: 40rem !important;
} 

.w-35 {
  width: 35rem !important;
} 

.w-30 {
  width: 30rem !important;
} 

.w-25 {
  width: 25rem !important;
} 

.w-24 {
  width: 24rem !important;
} 


.w-23 {
  width: 23rem !important;
} 


.w-22 {
  width: 22rem !important;
} 


.w-21 {
  width: 21rem !important;
} 

.w-20 {
  width: 20rem !important;
} 

.w-15 {
  width: 15rem !important;
} 

.w-10 {
  width: 10rem !important;
} 

.fs09 {

  font-size: 0.95rem !important;
}


.karuzela {
  display: flex;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #D3D8E0 transparent;
  width: 100%;
  scrollbar-face-color: #D3D8E0;
  scrollbar-track-color: transparent;
  -webkit-overflow-scrolling: touch; /* Umożliwia płynne przewijanie na iOS */

}



.karuzela::-webkit-scrollbar {
  width: 3px; 
  height: 3px;
}

.karuzela::-webkit-scrollbar-thumb {
  background-color: #D3D8E0;
  border-radius: 3px;
}

.karuzela::-webkit-scrollbar-thumb:hover {
  background-color: #a0a0a5;
}

.karuzela::-webkit-scrollbar-track {
  background-color: transparent;
}




/* Styl dla elementów karuzeli */
.element {

  flex: 0 0 auto;
}


/* Karty z postami */
.template {
  display: none;
}
.template.active {
  display: block;
}

/* lazy loading */

.lazy {
  opacity: 0;
  transition: opacity 1s;
}

.lazy.visible {
  opacity: 1;
}

img.lazy {
  opacity: 0;
  transition: opacity 0.5s;
}

img.lazy.visible {
  opacity: 1;
}




/* yt cache */
.youtube-container,
.youtube-placeholder,
.youtube-placeholder img {
  width: 100%;
  height: auto;
  display: block;
}

.youtube-placeholder {
  position: relative;
  cursor: pointer;
  transition: opacity 0.5s ease-in-out;
}

.responsive-iframe-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
  /* Proporcja 16:9 */
}

.responsive-iframe-container iframe {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10rem !important;
  height: auto;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s ease;

}

.play-button:hover {
  opacity: 1;
}


.nomargin {
  margin-top: 0; 
  margin-bottom: 0; 
  padding-top: 0;
  padding-bottom: 0; 
  line-height: 1; 
}

.wp-block-image img {
  width: 100%;
  height: auto;
}


.custom-list-group-item {
  display: flex;
  align-items: flex-start; /* Wyrównanie elementów do góry */
}

.date-badge {
  margin-left: auto; /* Pozycjonuje datę po prawej stronie */
  white-space: nowrap; /* Zapobiega zawijaniu tekstu */
}


.wp-block-quote {
  border: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}











.play-icon-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.6;
  color: white;
  font-size: 6rem; /* Dostosuj rozmiar ikony w razie potrzeby */
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  
}




/* MAPA */








/* Map container */
.map-container {
  
  border-radius: 0.5rem;
  
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.map-container svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: 0 0;
  display: block;
}

/* Map controls */
.map-controls {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 20;
}






/* Timeline container */
/* Timeline container */
.timeline-container {
 
  padding: 1.5rem;
  
}

.timeline-title {
  font-size: 1rem;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 1rem;
  text-align: left;
}

/* Kontener suwaków */
.timeline-controls {
  position: relative;
  padding: 0 1rem;
  height: 40px;
  overflow: visible;
}

/* Suwak (track) */
.timeline-slider {
  position: absolute;
  left: 0;
  right: 0;
  height: 40px;
  background: transparent;
  outline: none;
  -webkit-appearance: none;
  pointer-events: none;
  border-radius: 2px;
  overflow: visible;
  top: 0;
  z-index: 1;
}

/* START slider poniżej */
#start-year-slider {
  z-index: 2;
}

/* END slider na wierzchu */
#end-year-slider {
  z-index: 3;
}

/* Track dla WebKit */
.timeline-slider::-webkit-slider-runnable-track {
  height: 4px;
  background: transparent !important;
  border-radius: 2px;
  margin-top: 18px;
}

/* Track dla Firefox */
.timeline-slider::-moz-range-track {
  height: 4px;
  background: transparent !important;
  border-radius: 2px;
  margin-top: 18px;
}

/* Thumb WebKit */
.timeline-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  cursor: pointer;
  pointer-events: auto !important;
  border: 2px solid white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-top: 10px;
  position: relative;
  z-index: 9999;
}

/* Thumb Firefox */
.timeline-slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2563eb;
  cursor: pointer;
  pointer-events: auto !important;
  border: 2px solid white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-top: 10px;
  position: relative;
  z-index: 9999;
}

/* Nadpisanie stylu bootstrapowego .form-range */
.timeline-slider.form-range {
  width: unset !important;
}





/* Etykiety suwaków */
.timeline-labels {
  display: flex;
  justify-content: space-between;
  padding: 0 1rem;
  font-size: 0.875rem;
  color: #4b5563;
  font-weight: 500;
}

/* SVG Map styles */
.landxx {
  fill: #e0e0e0;
  stroke: #ffffff;
  stroke-width: 0.5;
  fill-rule: evenodd;
  transition: fill 0.3s ease;
}

.circlexx {
  opacity: 0;
  fill: #e0e0e0;
  stroke: #000000;
  stroke-width: 0.5;
}

/* Legend */
.legend {
  
  padding: 1rem;
  
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
  border: 1px solid transparent;
}
.legend-item:hover {
  background-color: #ecf3f6;
}


.legend-color {
  width: 1rem;
  height: 1rem;
  border-radius: 0.25rem;
}

/* ============================================= */
/* 1. DEFAULT: Muted Friendly (domyślnie)        */
/* ============================================= */

/* ============================================= */
/* 1. DOMYŚLNY – Muted Friendly                    */
/* ============================================= */

/* 1a. SVG map statuses */
.status-cancelled {
  fill: #FAC8C5 !important;
  stroke: #F3A7A3;
  stroke-width: 1.8;
}
.status-research {
  fill: #B8DCEF !important;
  stroke: #A0C6E1;
  stroke-width: 1.8;
}
.status-development {
  fill: #FFF3B0 !important;
  stroke: #E5D8A8;
  stroke-width: 1.8;
}
.status-pilot {
  fill: #DBCFE0 !important;
  stroke: #C5B8CA;
  stroke-width: 1.8;
}
.status-launched {
  fill: #D2EED7 !important;
  stroke: #B5DCB8;
  stroke-width: 1.8;
}

/* Hover: przywrócenie pełnych odcieni i wyostrzenie ramki */
.status-cancelled:hover {
  fill: #FDA4AF !important;
  stroke: #F895A1;
}
.status-research:hover {
  fill: #93C5FD !important;
  stroke: #80B7F5;
}
.status-development:hover {
  fill: #FDE68A !important;
  stroke: #F4D867;
}
.status-pilot:hover {
  fill: #DFA7F3 !important;
  stroke: #DD95F7;
}
.status-launched:hover {
  fill: #86EFAC !important;
  stroke: #6BF19D;
}

/* Płynne przejście dla hover */
.status-cancelled,
.status-research,
.status-development,
.status-pilot,
.status-launched {
  transition: fill 0.2s ease, stroke 0.2s ease;
}


/* 1b. Tooltips */
.tooltip-status.cancelled   { background-color: #FAC8C5; color: #1D294E; }
.tooltip-status.research    { background-color: #B8DCEF; color: #1D294E; }
.tooltip-status.development { background-color: #FFF3B0; color: #1D294E; }
.tooltip-status.pilot       { background-color: #DBCFE0; color: #1D294E; }
.tooltip-status.launched    { background-color: #D2EED7; color: #1D294E; }


/* 1c. Przyciski / tagi (.cancelled, .research itd.) */
.cancelled {
  background-color: #FAC8C5;
  color: #1D294E !important;
  border-color: #F3A7A3 !important;
}
.research {
  background-color: #B8DCEF;
  color: #1D294E !important;
  border-color: #A0C6E1 !important;
}
.development {
  background-color: #FFF3B0;
  color: #1D294E !important;
  border-color: #E5D8A8 !important;
}
.pilot {
  background-color: #DBCFE0;
  color: #1D294E !important;
  border-color: #C5B8CA !important;
}
.launched {
  background-color: #D2EED7;
  color: #1D294E !important;
  border-color: #B5DCB8 !important;
}

/* Hover na badge’ach (z podbiciem koloru i borderu) */
.cancelled:hover {
  background-color: #FDA4AF;
  border-color:     #F895A1 !important;
  color:            #881337 !important;
}
.research:hover {
  background-color: #93C5FD;
  border-color:     #80B7F5 !important;
  color:            #1e3a8a !important;
}
.development:hover {
  background-color: #FDE68A;
  border-color:     #F4D867 !important;
  color:            #92400e !important;
}
.pilot:hover {
  background-color: #DFA7F3;
  border-color:     #DD95F7 !important;
  color:            #a631d0 !important;
}
.launched:hover {
  background-color: #86EFAC;
  border-color:     #6BF19D !important;
  color:            #14532d !important;
}


/* ============================================= */
/* 2. ACCESSIBLE (AAA) – po dodaniu .map--accessible */
/* ============================================= */

.map--accessible .status-cancelled {
  fill:       #8B0000 !important; /* głęboka czerwień */
  stroke:     #600000;             /* bardzo ciemna czerwień */
  stroke-width: 2;
}
.map--accessible .status-research {
  fill:       #1E40AF !important;
  stroke:     #172F7E;
  stroke-width: 2;
}
.map--accessible .status-development {
  fill:       #7F3F00 !important; /* ciemny złoty brąz */
  stroke:     #5B280C;             /* głęboki brąz */
  stroke-width: 2;
}
.map--accessible .status-pilot {
  fill:       #581C87 !important;
  stroke:     #3E125C;
  stroke-width: 2;
}
.map--accessible .status-launched {
  fill:       #064E3B !important;
  stroke:     #042926;
  stroke-width: 2;
}

/* Hover w trybie wysokiego kontrastu – tylko wyostrzenie obrysu */
.map--accessible .status-cancelled:hover,
.map--accessible .status-research:hover,
.map--accessible .status-development:hover,
.map--accessible .status-pilot:hover,
.map--accessible .status-launched:hover {
  stroke-width: 2.5;
}

/* Accessible tooltips – biały tekst dla maks. czytelności */
.map--accessible .tooltip-status.cancelled   { background-color: #8B0000; color: #FFFFFF; }
.map--accessible .tooltip-status.research    { background-color: #1E40AF; color: #FFFFFF; }
.map--accessible .tooltip-status.development { background-color: #7F3F00; color: #FFFFFF; }
.map--accessible .tooltip-status.pilot       { background-color: #581C87; color: #FFFFFF; }
.map--accessible .tooltip-status.launched    { background-color: #064E3B; color: #FFFFFF; }

/* Accessible badge’y i ich hover */
.map--accessible .cancelled {
  background-color: #8B0000;
  color:            #FFFFFF !important;
  border-color:     #600000 !important;
}
.map--accessible .cancelled:hover {
  background-color: #600000;
  border-color:     #8B0000 !important;
}

.map--accessible .research {
  background-color: #1E40AF;
  color:            #FFFFFF !important;
  border-color:     #172F7E !important;
}
.map--accessible .research:hover {
  background-color: #172F7E;
  border-color:     #1E40AF !important;
}

.map--accessible .development {
  background-color: #7F3F00;
  color:            #FFFFFF !important;
  border-color:     #5B280C !important;
}
.map--accessible .development:hover {
  background-color: #5B280C;
  border-color:     #7F3F00 !important;
}

.map--accessible .pilot {
  background-color: #581C87;
  color:            #FFFFFF !important;
  border-color:     #3E125C !important;
}
.map--accessible .pilot:hover {
  background-color: #3E125C;
  border-color:     #581C87 !important;
}

.map--accessible .launched {
  background-color: #064E3B;
  color:            #FFFFFF !important;
  border-color:     #042926 !important;
}
.map--accessible .launched:hover {
  background-color: #042926;
  border-color:     #064E3B !important;
}




/* Tooltip styles */
.tooltip {
  position: fixed;
  background: white;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  font-size: 0.875rem;
  pointer-events: none;
  z-index: 1000;
  max-width: 300px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.tooltip.visible {
  opacity: 1;
}

.tooltip-title {
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.25rem;
}

.tooltip-content {
  color: #4b5563;
}

.tooltip-project {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

.tooltip-status {
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
}



/* Responsive design */
@media (max-width: 768px) {
  .container {
    flex-direction: column;
  }

  .filter-panel {
    width: 100%;
    position: static;
  }

  .header-content h1 {
    font-size: 1.5rem;
  }

  .legend {
    padding: 0.5rem;
  }

  .legend-item {
    font-size: 0.875rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: 1px solid transparent;
  }
  .legend-item:hover {
    background-color: #ecf3f6;
  }
}

.sticky-left-menu {
  height: auto;
}



/* Dla ekranów lg i większych */
@media (min-width: 992px) {
  .sticky-left-menu {
    position: sticky !important;
    top: 40px; 
    height: calc(100vh - 50px);
    -index: 1020;
  }
}

.min-h-50 {
  min-height: 50%;
}



.country-selected { fill: #1D294E !important; }



/* utility.css or a small override file */
.ratio-2x1 {
  position: relative !important;
  width: 100% !important;
  padding-top: 50% !important;  /* height = 50% of width */
  overflow: hidden !important;
}
.ratio-2x1 > img {
  position: absolute !important;
  top: 0; left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


.footnote-popup {
  z-index: 1055;
  width: max-content;
  min-width: 12em;
  max-width: 35em;
  font-size: 0.875rem !important;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: rgba(var(--x-muted-rgb)) !important;
}

@media (max-width: 767.98px) {
  .footnote-popup {
    max-width: 90vw;
    width: auto;
  }
}

.invisible {
  visibility: hidden !important;
  position: absolute !important;
  display: block !important;
}
