/* oc-components-clean.css
   CMS/editor component layer
   Use for shared platform components and editor output classes.
*/
html,
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
.accordion-button {font-size:1.5rem}

.accordion-button:not(.collapsed) {background:var(--oc-button-background);
color:var(--oc-button-text);}

.oc-template-wrap,
.oc-gallery,
.oc-layout-row {
  clear: both;
}

.full-width::after,
.oc-bg-section::after,
.oc-template-wrap::after {
  content: "";
  display: block;
  clear: both;
}

.full-width > .container::after,
.oc-bg-section > .container::after {
  content: "";
  display: block;
  clear: both;
}




/* =========================================================
   Endorsement Tool 
   ========================================================= */


/* Endorsements Front-End Display */

.oc-endorsement-list {
  margin: 2rem 0;
}

.oc-endorsement-list .oc-endorsement-card {
  position: relative;
  height: 100%;
	
}

.oc-endorsement-list .oc-endorsement-card-inner {
  position: relative;
  min-height: 170px;
  padding: 1rem;
  background: #fdfcfb;
  border: 0px solid rgba(0,0,0,.12);
  border-radius: .75rem;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 0px;

  }

.oc-endorsement-list .oc-endorsement-quote-mark {
  color: #6c757d;
  margin-bottom: .5rem;
  font-size:24px;
}

.oc-endorsement-list .oc-endorsement-quote {
  font-size: .95rem;
  line-height: 1.45;
  margin-bottom: 1rem;  
  margin-left: 2rem;
  margin-top:-1.5rem;
}

.oc-endorsement-list .oc-endorsement-name {
  font-weight: 700;
}

.oc-endorsement-list .oc-endorsement-organization,
.oc-endorsement-list .oc-endorsement-type {
  color: #6c757d;
  font-size: .875rem;
}

.oc-endorsement-list .oc-endorsement-type {
  margin-top: .15rem;
}

.oc-endorsement-list .oc-endorsement-badge {
  position: absolute;
  top: .75rem;
  right: .75rem;
  display: inline-block;
  padding: .3rem .55rem;
  border-radius: 999px;
  background: var(--oc-button-background);
  color:  var(--oc-button-text);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.2;
}



.oc-endorsement-meta {
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(0,0,0,.08);
}

/* Classic Cards */

.oc-endorsement-list.oc-layout-classic-cards .oc-endorsement-card-inner {
  border-radius: .75rem;
  background:#ffffff;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
}

/* Featured Spotlight */

.oc-endorsement-list.oc-layout-featured-spotlight .oc-endorsement-card.oc-endorsement-card-featured .oc-endorsement-card-inner {
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
  background: #ffffff;
}  

.oc-endorsement-list.oc-layout-featured-spotlight .oc-endorsement-quote-mark {
margin-top:1rem;

}
  

.oc-endorsement-list.oc-layout-featured-spotlight .oc-endorsement-card.oc-endorsement-card-featured .oc-endorsement-quote {
  font-size: .95rem;
}

/* Highlight Featured Cards */

.oc-endorsement-list .oc-endorsement-card.oc-endorsement-card-featured .oc-endorsement-card-inner {
    box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
 }

/* Simple List */

.oc-endorsement-list.oc-layout-simple-list .oc-endorsement-card {
  border-left: 4px solid rgba(0,0,0,.2);
  border-radius: .35rem;
  box-shadow: none;
  box-shadow: 0 8px 24px rgba(15,23,42,.06); 
}

.oc-endorsement-list.oc-layout-simple-list .oc-endorsement-card.oc-endorsement-card-featured .oc-endorsement-card-inner
{ 
  border-left: 0px solid rgba(0,0,0,.2);
}

.oc-endorsement-list.oc-layout-simple-list .oc-endorsement-card-inner {
  background: #ffff;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 0px;

  }


/* Campaign Highlight */

.oc-endorsement-list.oc-layout-campaign-highlight .oc-endorsement-card-inner {
  border-radius: 1rem;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
  /* box-shadow:0 .5rem 1rem  var(--oc-heading-primary);*/
}

.oc-endorsement-list.oc-layout-campaign-highlight .oc-endorsement-quote-mark {
  color: var(--oc-heading-primary);
  margin-bottom: .5rem;
  font-size:24px;
}

.oc-endorsement-list.oc-layout-campaign-highlight .oc-endorsement-name {
  margin-top:.5rem;
  font-weight: 700;
  color: var(--oc-heading-primary);
}

.oc-endorsement-list.oc-layout-campaign-highlight .oc-endorsement-organization,
.oc-endorsement-list.oc-layout-campaign-highlight .oc-endorsement-type {
  color: #333333;
  font-size: .875rem;
}

/* Column control */

.oc-endorsement-list.oc-endorsement-columns-1 > div {
  width: 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.oc-endorsement-list.oc-endorsement-columns-2 > div {
  width: 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

/* Mobile */

@media (max-width: 768px) {
  .oc-endorsement-list.oc-endorsement-columns-2 > div {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* =========================================================
   Slider
   ========================================================= */
.oc-slider-wrap { position: relative; margin-top: -1px; }
.oc-slider { position: relative; background: #101114; color: #fff; overflow: hidden; }
.oc-slider .carousel-item { background: #101114; }
.oc-slider .carousel-item > img,
.oc-slider .oc-slider-bg { display: block; width: 100%; background: #101114; }
.oc-slider-auto .carousel-item > img,
.oc-slider-auto .oc-slider-bg { height: auto; object-fit: cover; }
.oc-slider-fixed .carousel-item > img,
.oc-slider-fixed .oc-slider-bg { height: var(--oc-slider-fixed-height, 520px); object-fit: cover; }
.oc-slider .oc-slider-bg { min-height: 220px; }
.oc-slider .oc-slider-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.42) 45%, rgba(0,0,0,.20) 100%);
  z-index: 1;
}
.oc-slider .oc-slider-content { position: absolute; inset: 0; display: flex; align-items: center; z-index: 2; pointer-events: none; }
.oc-slider .oc-slider-inner { width: min(1100px, calc(100% - 32px)); margin: 0 auto; padding: 42px 0; }
.oc-slider .oc-slider-copy { max-width: 700px; }
.oc-slider .oc-slider-copy,
.oc-slider .oc-slider-copy * { pointer-events: auto; }
.oc-slider .oc-slider-headline { font-size: clamp(1.8rem, 3vw, 3.2rem); line-height: 1.08; font-weight: 800; margin: 0 0 12px; text-shadow: 0 1px 2px rgba(0,0,0,.28); }
.oc-slider .oc-slider-text { font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.45; max-width: 60ch; margin: 0 0 18px; text-shadow: 0 1px 2px rgba(0,0,0,.24); }
.oc-slider .oc-slider-btn { display: inline-block; background: #fff; color: #111827; text-decoration: none; font-weight: 700; border-radius: 999px; padding: 12px 18px; line-height: 1.1; }
.oc-slider .carousel-control-prev,
.oc-slider .carousel-control-next,
.oc-slider .carousel-indicators { z-index: 4; }
.oc-slider .carousel-control-prev,
.oc-slider .carousel-control-next { width: 8%; }
.oc-slider .carousel-indicators [data-bs-target] { width: 10px; height: 10px; border-radius: 50%; margin: 0 5px; }
.oc-slider-preview { border: 1px solid rgba(0,0,0,.08); border-radius: 12px; overflow: hidden; background: #fff; }

@media (max-width: 767.98px) {
  .oc-slider .oc-slider-inner { width: calc(100% - 24px); padding: 26px 0; }
  .oc-slider-fixed .carousel-item > img,
  .oc-slider-fixed .oc-slider-bg { height: min(var(--oc-slider-fixed-height, 520px), 420px); }
  .oc-slider .carousel-control-prev,
  .oc-slider .carousel-control-next { width: 14%; }
}

/* =========================================================
   Poll
   ========================================================= */
.oc-poll-widget { background: var(--oc-poll-bg,#f1f5f9); border: 1px solid rgba(15,23,42,.08); border-radius: 1rem; padding: 1rem 1rem .95rem; margin: 1rem 0; width: 100%; max-width: 100%; box-shadow: 0 8px 24px rgba(15,23,42,.06); }
.oc-poll-text-light { color: #fff; }
.oc-poll-text-dark { color: #0f172a; }
.oc-poll-question { font-size: 1.05rem; font-weight: 700; line-height: 1.35; margin: 0 0 .85rem; }
.oc-poll-options { display: grid; gap: .6rem; margin-bottom: 1rem; }
.oc-poll-option { display: flex; align-items: flex-start; gap: .65rem; padding: .6rem .7rem; border-radius: .7rem; background: rgba(255,255,255,.55); }
.oc-poll-text-light .oc-poll-option { background: rgba(255,255,255,.15); }
.oc-poll-option input { margin-top: .18rem; flex: 0 0 auto; }
.oc-poll-option-label { line-height: 1.35; }
.oc-poll-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.oc-poll-btn { display: inline-flex; align-items: center; justify-content: center; border-radius: .75rem; padding: .65rem .95rem; font-weight: 700; text-decoration: none; border: 0; cursor: pointer; }
.oc-poll-btn-primary { background: #0f172a; color: #fff; }
.oc-poll-text-light .oc-poll-btn-primary { background: #fff; color: #0f172a; }
.oc-poll-btn-secondary { background: transparent; color: inherit; border: 1px solid rgba(15,23,42,.16); }
.oc-poll-text-light .oc-poll-btn-secondary { border-color: rgba(255,255,255,.35); }
.oc-poll-message { margin-top: .75rem; font-size: .9rem; }
.oc-poll-modal { position: fixed; inset: 0; background: rgba(15,23,42,.55); display: none; align-items: center; justify-content: center; padding: 1rem; z-index: 9999; }
.oc-poll-modal.is-open { display: flex; }
.oc-poll-dialog { background: #fff; color: #0f172a; border-radius: 1rem; max-width: 560px; width: 100%; padding: 1rem 1rem .75rem; box-shadow: 0 20px 50px rgba(15,23,42,.25); }
.oc-poll-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.oc-poll-modal-title { font-size: 1rem; font-weight: 700; margin: 0; }
.oc-poll-close { border: 0; background: transparent; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.oc-poll-results { display: grid; gap: .7rem; }
.oc-poll-result-label { display: flex; justify-content: space-between; gap: 1rem; font-size: .92rem; margin-bottom: .2rem; }
.oc-poll-result-bar { height: .6rem; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.oc-poll-result-fill { height: 100%; background: #64748b; border-radius: 999px; }
.oc-poll-total { margin-top: .8rem; font-size: .85rem; color: #475569; }

@media (max-width: 767.98px) {
  .oc-poll-widget { padding: .95rem; }
  .oc-poll-actions { display: grid; }
}

/* =========================================================
   Popover
   ========================================================= */
.oc-popover { position: fixed; bottom: 24px; z-index: 1045; width: min(340px, calc(100vw - 32px)); max-width: 340px; transform: translateY(16px); opacity: 0; visibility: hidden; transition: opacity .25s ease, transform .25s ease, visibility .25s ease; font-family: inherit; }
.oc-popover.oc-popover-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.oc-popover.oc-popover-right { right: 16px; }
.oc-popover.oc-popover-left { left: 16px; }
.oc-popover-box { border-radius: 14px; box-shadow: 0 14px 30px rgba(0,0,0,.18); overflow: hidden; }
.oc-popover-inner { padding: 16px 16px 14px; position: relative; }
.oc-popover-title { font-size: 1.05rem; font-weight: 700; line-height: 1.25; margin: 0 0 6px; }
.oc-popover-message { font-size: .96rem; line-height: 1.45; margin: 0 0 12px; }
.oc-popover-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.oc-popover-btn { display: inline-block; padding: 10px 14px; border-radius: 999px; text-decoration: none; font-weight: 700; line-height: 1.1; }
.oc-popover-close { position: absolute; top: 8px; right: 8px; background: transparent; border: 0; cursor: pointer; font-size: 1.15rem; line-height: 1; padding: 6px 8px; }
.oc-popover-hidden { display: none !important; }
.oc-popover-preview { position: relative; left: auto; right: auto; bottom: auto; transform: none; opacity: 1; visibility: visible; width: 100%; max-width: none; margin: 0 auto; }
.oc-popover-preview .oc-popover-box { box-shadow: none; }

@media (max-width: 767.98px) {
  .oc-popover.oc-popover-hide-mobile { display: none !important; }
  .oc-popover { bottom: 16px; width: calc(100vw - 24px); }
  .oc-popover.oc-popover-right { right: 12px; }
  .oc-popover.oc-popover-left { left: 12px; }
}
 


/* =========================================================
   Embeds
   ========================================================= */
.oc-embed.oc-embed-pdf,
.oc-embed.oc-embed-youtube {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 16px 0;
  clear: both;
  box-sizing: border-box;
}

.oc-embed.oc-embed-pdf {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.oc-embed.oc-embed-pdf iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border: 0;
  box-sizing: border-box;
}

.oc-embed.oc-embed-pdf figcaption,
.oc-embed.oc-embed-youtube figcaption {
  display: block;
  padding: 8px 10px;
  font-size: 13px;
  color: #555;
  background: #fafafa;
  border: 1px solid rgba(0,0,0,.08);
  border-top: 0;
  box-sizing: border-box;
}

.oc-embed.oc-embed-youtube { cursor: pointer; }

.oc-ratio { position: relative; width: 100%; overflow: hidden; background: #000; }
.oc-ratio::before { content: ""; display: block; }
.oc-ratio.oc-ratio-16x9::before { padding-top: 56.25%; }
.oc-ratio > iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }

@media (max-width: 900px) {
  .oc-embed.oc-embed-pdf iframe {
    height: 60vh !important;
    min-height: 400px;
  }
}

/* =========================================================
   Images / figures
   ========================================================= */
.img-border { border: 2px solid #000; }
.img-shadow { padding: 5px; border: 1px solid #ccc; box-shadow: 1px 1px 5px #999; }
.img-circle { border-radius: 50%; }
.img-rounded { border-radius: 30px; }

.img-polaroid,
.img-polaroidL,
.img-polaroidR {
  border: 0;
  border-radius: 0;
  position: relative;
  background: #f7f7f7;
  box-shadow: 1px 1px 0 #eee;
}

img.img-polaroid {
  border: 20px solid #f7f7f7;
  border-width: 20px 20px 40px 20px;
}

.img-polaroidL { transform: rotate(-5deg); transform-origin: bottom left; }
.img-polaroidR { transform: rotate(5deg); transform-origin: bottom left; }

figure.img-polaroidL,
figure.img-polaroidR { padding: 20px 20px 40px 20px; }

.img-polaroidL > figcaption,
.img-polaroidR > figcaption {
  color: #777;
  margin-top: 5px;
  font-size: 0.8em;
  font-style: italic;
  text-align: right;
}

.img-polaroidL figcaption:before,
.img-polaroidR figcaption:before { content: "- "; }

.img-center { display: block; margin: 0 auto; }
figure.img-center { display: block; margin: 0 auto; }

.align-left { float: left; margin-right: 25px; margin-bottom: 15px; }
.align-right { float: right; margin-left: 25px; margin-bottom: 15px; }
img.align-center,

figure.align-center,

.oc-figure.align-center{

  display:block;

  float:none !important;

  margin-left:auto;

  margin-right:auto;

  text-align:center;

}
figure.oc-figure,
.oc-embed,
.oc-table-wrap { position: relative; }


/* Editor floated images */
.oc-figure.align-right {
  float: right;
  max-width: 45%;
  margin: 0 0 1.5rem 2rem;
}

.oc-figure.align-left {
  float: left;
  max-width: 45%;
  margin: 0 2rem 1.5rem 0;
}

.oc-figure img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Prevent major editor blocks from sliding beside floated images */
.oc-template-wrap,
.oc-gallery,
.oc-layout-row {
  clear: both;
}

/* Optional manual clear utility */
.oc-clear,
.clear-both {
  clear: both;
}

/* =========================================================
   Carousel
   ========================================================= */
.oc-carousel-wrap.w-75 { width: 75%; }
.oc-carousel-wrap.w-50 { width: 50%; }
.oc-carousel-wrap.w-100 { width: 100%; }
.oc-carousel-wrap.align-center { float: left; margin: 1em 1em 1em 0; }
.oc-carousel-wrap.align-right { float: right; margin: 1em 0 1em 1em; }
.oc-carousel-wrap[data-uniform-height="1"] .carousel-inner,
.oc-carousel-wrap[data-uniform-height="1"] .carousel-item { height: var(--oc-carousel-height, 500px); }
.oc-carousel-wrap[data-uniform-height="1"] .carousel-item img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 767.98px) {
  .oc-carousel-wrap.w-50,
  .oc-carousel-wrap.w-75,
  .oc-carousel-wrap.w-100 {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
  }
}

/* =========================================================
   Gallery / lightbox
   ========================================================= */
.oc-gallery { display: grid; margin: 1rem 0 5rem 0}
.oc-gallery-2 { grid-template-columns: repeat(2, 1fr); }
.oc-gallery-3 { grid-template-columns: repeat(3, 1fr); }
.oc-gallery-4 { grid-template-columns: repeat(4, 1fr); }
.oc-gallery-gap-sm { gap: 8px; }
.oc-gallery-gap-md { gap: 16px; }
.oc-gallery-gap-lg { gap: 24px; }
.oc-gallery-item { margin: 0; }
.oc-gallery-item img { display: block; width: 100%; height: auto; }
.oc-gallery-crop .oc-gallery-item img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }

.oc-gallery-style-border .oc-gallery-item img { border: 1px solid #000; padding: 3px; background: #fff; }
.oc-gallery-style-rounded .oc-gallery-item img { border-radius: 8px; }
.oc-gallery-style-circle .oc-gallery-item img { border-radius: 50%; }
.oc-gallery-style-shadow .oc-gallery-item img { padding: 5px; border: 1px solid #ccc; background: #fff; box-shadow: 1px 1px 5px #999; }

.oc-gallery figcaption{font-size:.8rem; margin-top:.8rem; text-align: center; }


.oc-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.88); padding: 24px; }
.oc-lightbox.is-open { display: flex; }
.oc-lightbox-inner { position: relative; max-width: min(1100px, 92vw); max-height: 90vh; width: 100%; text-align: center; }
.oc-lightbox img { max-width: 100%; max-height: 78vh; width: auto; height: auto; display: block; margin: 0 auto; padding: 5px; border: 1px solid #333; background: #fff; box-shadow: 1px 1px 5px #999; }
.oc-lightbox-caption { margin-top: 12px; color: #fff; font-size: 16px; }
.oc-lightbox-close,
.oc-lightbox-prev,
.oc-lightbox-next { position: absolute; border: 0; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; border-radius: 8px; padding: 10px 12px; }
.oc-lightbox-close { top: -8px; right: -8px; }
.oc-lightbox-prev { left: -56px; top: 50%; transform: translateY(-50%); }
.oc-lightbox-next { right: -56px; top: 50%; transform: translateY(-50%); }
body.oc-lightbox-open { overflow: hidden; }

@media (max-width: 768px) {
  .oc-gallery-4,
  .oc-gallery-3 { grid-template-columns: repeat(2, 1fr); }
  .oc-lightbox-prev { left: 8px; }
  .oc-lightbox-next { right: 8px; }
  .oc-lightbox-close { top: 8px; right: 8px; }
}

@media (max-width: 480px) {
  .oc-gallery-4,
  .oc-gallery-3,
  .oc-gallery-2 { grid-template-columns: 1fr; }
}

/* =========================================================
   Colors / buttons / layout
   ========================================================= */
.oc-tc-purple { color: #5d029f !important; }
.oc-tc-orange { color: #F84600 !important; }
.oc-tc-green { color: #276651 !important; }
.oc-tc-yellow { color: #F4B400 !important; }
.oc-tc-red { color: #bb0000 !important; }
.oc-tc-blue { color: #00558b !important; }
.oc-tc-black { color: #000000 !important; }
.oc-tc-white { color: #ffffff !important; }
.oc-tc-light-gray { color: #E9ECEF !important; }
.oc-tc-dark-gray { color: #333333 !important; }

.oc-btn-bg-purple { background-color: #5d029f; border-color: #5d029f; }
.oc-btn-bg-orange { background-color: #F84600; border-color: #F84600; }
.oc-btn-bg-green { background-color: #276651; border-color: #276651; }
.oc-btn-bg-yellow { background-color: #F4B400; border-color: #F4B400; }
.oc-btn-bg-red { background-color: #bb0000; border-color: #bb0000; }
.oc-btn-bg-blue { background-color: #00558b; border-color: #00558b; }
.oc-btn-bg-black { background-color: #000000; border-color: #000000; }
.oc-btn-bg-white { background-color: #ffffff; border-color: #cccccc; }
.oc-btn-bg-light-gray { background-color: #E9ECEF; border-color: #d0d4d8; }
.oc-btn-bg-dark-gray { background-color: #333333; border-color: #333333; }

a.btn.oc-btn-full,
button.btn.oc-btn-full { display: block; width: 100%; text-align: center; }

.oc-col-bg-light { background: #f8f9fa; padding: 20px; }
.oc-col-bg-dark { background: #343a40; color: white; padding: 20px; }
.oc-col-bg-primary { background: var(--bs-primary); color: white; padding: 20px; }
.oc-col-bg-highlight { background: #fff3cd; padding: 20px; }

.oc-bg-section {
  background-image: var(--oc-bg-url);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}

.oc-bg-section[data-overlay="dark"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  pointer-events: none;
}

.oc-bg-section > .container,
.oc-bg-section > .row,
.oc-bg-section > * {
  position: relative;
  z-index: 1;
}

/* =========================================================
   Accordion media
   ========================================================= */
.accordion-body::after { content: ""; display: block; clear: both; }
.accordion-body img { max-width: 100%; height: auto; }
.accordion-body figure,
.accordion-body .oc-figure,
.accordion-body .oc-embed,
.accordion-body .oc-gallery,
.accordion-body .oc-table-wrap { max-width: 100%; }
.accordion-body .align-left,
.accordion-body .align-right { max-width: min(50%, 320px); }

@media (max-width: 768px) {
  .accordion-body .align-left,
  .accordion-body .align-right {
    float: none !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
}



.social-links.social-sidebar{

  display:flex;

  flex-wrap:wrap;

  gap:.3rem;

  align-items:center;

  justify-content:center;

}

.social-links.social-sidebar a{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  width:45px;

  height:45px;

  color:var(--oc-primary);

  text-decoration:none;

 /* background:var(--oc-surface);
   border-radius:999px;
border:1px solid color-mix(in srgb, var(--oc-primary) 18%, white);*/

  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;

}

.social-links.social-sidebar a:hover,

.social-links.social-sidebar a:focus{

  background:var(--oc-primary);

  color:#fff;

  border-color:var(--oc-primary);

  transform:translateY(-1px);

}

.social-links.social-sidebar i{

  font-size:1.5rem;

  line-height:1;

}
/* =========================================================
   Shared animation
   ========================================================= */
.fade-in,
.fade-in-text,
.fade-in-image {
  animation: fadeIn 5s;
}

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



.sidebar-inner{
  display:flex;
  flex-direction:column;
  gap:1rem;
}


.main-nav .nav-link-button {
  display: inline-block;
  padding: 0.55rem 1rem;
  border-radius: 0.35rem;
  background: var(--primary-color);
  color: #fff !important;
  text-decoration: none;
  line-height: 1.2;
}

.main-nav .nav-link-button:hover,
.main-nav .nav-link-button:focus {
  color: #fff !important;
  text-decoration: none;
  opacity: 0.92;
}

.main-nav .nav-link-box {
  display: inline-block;
  padding: 0.55rem 1rem;
  border: 1px solid currentColor;
  border-radius: 0.35rem;
  background: transparent;
  color: inherit !important;
  text-decoration: none;
  line-height: 1.2;
}

.main-nav .nav-link-box:hover,
.main-nav .nav-link-box:focus {
  text-decoration: none;
  background: rgba(255,255,255,0.08);
}


.site-nav-toggler {
  border: 1px solid rgba(255,255,255,0.35);
  color: var(--oc-nav-text);
  padding: 0.4rem 0.7rem;
}

.site-nav-toggler:focus {
  box-shadow: none;
}

.site-nav-toggler i {
  color: var(--oc-nav-text);
}

@media (max-width: 991.98px) {
  .site-navbar .navbar-collapse {
    padding-top: 1rem;
  }

  .site-navbar .main-nav .nav {
    align-items: flex-start;
  }

  .site-navbar .header-social {
    margin-top: 1rem;
  }

  .site-navbar .header-social .social-links {
    justify-content: flex-start;
  }
}


@media (max-width: 991.98px) {
  .site-navbar .main-nav .nav-link-button,
  .site-navbar .main-nav .nav-link-box {
    display: block;
    padding: 0.5rem 0;
    margin: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: inherit !important;
    text-decoration: none;
    line-height: 1.5;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  .site-navbar .main-nav .nav-link-button:hover,
  .site-navbar .main-nav .nav-link-button:focus,
  .site-navbar .main-nav .nav-link-box:hover,
  .site-navbar .main-nav .nav-link-box:focus,
  .site-navbar .main-nav .nav-link-button:visited,
  .site-navbar .main-nav .nav-link-box:visited {
    background: transparent !important;
    border: 0 !important;
    color: inherit !important;
    opacity: 1 !important;
    text-decoration: none;
  }

  .site-navbar .main-nav .nav-item-button,
  .site-navbar .main-nav .nav-item-box {
    width: 100%;
  }
}

#sidebar-col {
  padding-left: 3rem;
}

/*.site-main {
  padding-right: 2rem;
}*/


@media (max-width: 991.98px) {

  .site-header-alt-theme .site-top-utility-bar {

    display: none !important;

  }

}


/* =========================================================
   Extras.css (Bootstrap 5 aligned)
   Notes:
   - Replaces legacy .panel styles with Bootstrap 5 .card / .accordion friendly styles.
   - Keeps your custom “visual” classes (quote boxes, polaroids, list icons, full-width, etc.)
   - Avoids Bootstrap 3/4 vendor prefixes and deprecated patterns.
   ========================================================= */

/* =========================================================
   ANIMATIONS
   ========================================================= */

.fade-in,
.fade-in-text,
.fade-in-image {
  animation: fadeIn 5s;
}

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

/* =========================================================
   FIGURES & CAPTIONS
   ========================================================= */

figure { margin: 0; }

figcaption {
  text-align: center;
  font-size: 0.8em;
  margin-top: 5px;
}

/* =========================================================
   IMAGE ALIGNMENT & STYLES
   ========================================================= */

/* Prefer Bootstrap 5 utilities: float-start / float-end / mx-auto d-block.
   Keep these for content portability and editor friendliness. */
.align-left {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}

.align-right {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}

.align-center {
  text-align: center;
}

.align-center > figure {
  display: inline-block;
}

/* If you still use .float-left/.float-right in content, keep them.
   Otherwise, replace with BS5: .float-start / .float-end. */
.float-left { margin: 15px 20px 5px 0; }
.float-right { margin: 15px 0 5px 10px; }

/* Image drop shadow */
.imagedropshadow {
  padding: 5px;
  border: 1px solid #ccc;
  box-shadow: 1px 1px 5px #999;
}

/* Rounded variants */
.round-corners { border-radius: 50%; }
.rounded-corners { border-radius: 30px; }

/* Polaroid styles (kept) */
.polaroid {
  border: 0;
  border-radius: 0;
  position: relative;
  background: #f7f7f7;
  box-shadow: 1px 1px 0 #eee;
}

figure.polaroid { padding: 20px 20px 40px 20px; }

.polaroid > figcaption {
  color: #777;
  margin-top: 5px;
  font-size: 0.8em;
  text-align: center;
}

img.polaroid {
  border: 20px solid #f7f7f7;
  border-width: 20px 20px 40px 20px;
}

/* “Polaroid tilt” variants */
.polarizedL,
.polarizedR {
  border: 0;
  border-radius: 0;
  position: relative;
  background: #f7f7f7;
  box-shadow: 1px 1px 0 #eee;
}

.polarizedL { transform: rotate(-5deg); transform-origin: bottom left; }
.polarizedR { transform: rotate(5deg);  transform-origin: bottom left; }

figure.polarizedL,
figure.polarizedR { padding: 20px 20px 40px 20px; }

.polarizedL > figcaption,
.polarizedR > figcaption {
  color: #777;
  margin-top: 5px;
  font-size: 0.8em;
  font-style: italic;
  text-align: right;
}

.polarizedL figcaption:before,
.polarizedR figcaption:before { content: "- "; }


/* =========================================================
   BLOCKQUOTES
   ========================================================= */

blockquote.centerBQ {
  text-align: center;
  display: block;
  border-top: 2px solid #eee;
  border-bottom: 2px solid #eee;
  padding: 1.5em 0 0.5em;
  margin: 1.5em 0;
  position: relative;
  background: #fff;
}

blockquote.centerBQ::before {
  content: "“";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  width: 3rem;
  height: 2rem;
  font-size: 6em;
  line-height: 1.08em;
  color: #666;
}

blockquote.centerBQ::after {
  content: attr(cite);
  display: block;
  text-align: center;
  padding-right: 10px;
  font-size: 0.875em;
  margin-top: 0.5rem;
}

blockquote.rightBQ {
  background: #f9f9f9;
  border-left: 0;
  margin: 0.5em 0 2em 0.5em;
  padding: 1em;
  line-height: 1.5;
}

/* =========================================================
   FULL WIDTH WRAPPERS
   ========================================================= */
.site-main:has(.oc-template-wrap[data-template-id="oc-full-width-banner"]),
.site-main:has(.oc-template-wrap[data-template-id="oc-full-width-image"]) {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-right: 0 !important;
}

.oc-template-wrap[data-template-id="oc-full-width-banner"] .full-width,
.oc-template-wrap[data-template-id="oc-full-width-image"] .full-width {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
}

.oc-template-wrap[data-template-id="oc-full-width-banner"] img,
.oc-template-wrap[data-template-id="oc-full-width-image"] img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}


.full-width {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw;
}

/* Negative top padding helpers (kept) */
.notoppadding { margin-top: -20px; }
.notoppadding4img { margin-top: -40px; }

/* =========================================================
   LIST STYLES (Font Awesome)
   ========================================================= */

ul.arrowbox,
ul.heart,
ul.star,
ul.check,
ul.checkbox,
ul.arrow,
ul.arrowcircle,
ul.apple,
ul.gavel {
  list-style: none;
  padding-left: 2rem;
  margin-left: 0;
    display: flow-root;
}

ul.arrowbox li,
ul.heart li,
ul.star li,
ul.check li,
ul.checkbox li,
ul.arrow li,
ul.arrowcircle li,
ul.apple li,
ul.gavel li {
  list-style: none;
  padding-left: 1.35em;
  position: relative;
    margin-bottom: 0.25rem;
}

ul.heart li::before,
ul.star li::before,
ul.check li::before,
ul.checkbox li::before,
ul.arrow li::before,
ul.arrowbox li::before,
ul.arrowcircle li::before,
ul.apple li::before,
ul.gavel li::before {
  font: var(--fa-font-solid);
  position: absolute;
  left: 0;
  top: 0.1em;
  display: inline-block;
  width: 1em;
  text-align: center;
}

ul.heart li::before {
  content: "\f004";
}

ul.star li::before {
  content: "\f005";
}

ul.check li::before {
  content: "\f00c";
}

ul.checkbox li::before {
  content: "\f14a";
}

ul.arrow li::before {
  content: "\f061";
}

ul.arrowbox li::before {
  content: "\f33b";
}

ul.arrowcircle li::before {
  content: "\f0a9";
}

ul.apple li::before {
  content: "\f5d1";
}

ul.gavel li::before {
  content: "\f0e3";
}

/* Timeline list (kept; consider converting to BS5 utilities later) */
ul.timeline {
  list-style-type: none;
  position: relative;
  padding-left: 0;
}

ul.timeline::before {
  content: "";
  background: #3a3a3c;
  display: inline-block;
  position: absolute;
  left: 29px;
  width: 2px;
  height: 100%;
  z-index: 1;
}

ul.timeline > li {
  list-style: none;
  margin: 20px 0;
  padding-left: 20px;
  position: relative;
}

ul.timeline > li::before {
  content: "";
  background: white;
  display: inline-block;
  position: absolute;
  border-radius: 50%;
  left: 20px;
  width: 20px;
  height: 20px;
  z-index: 2;
}

/* =========================================================
   NUMBERED LISTS
   ========================================================= */

ol.number-list {
  list-style: none;
  counter-reset: step;
  padding-left: 0;
  margin-left: 0;
}

ol.number-list li {
  counter-increment: step;
  margin-left: 4em;
  text-indent: -2em;
  margin-bottom: 10px;
}

ol.number-list li::before {
  content: counter(step);
  margin-right: 5px;
  font-size: 80%;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 3px;
  display: inline-block;
}

/* “Lined list” (kept) */
ol.lined-list {
  list-style-type: none;
  margin: 0 0 0 3em;
  padding: 0;
  counter-reset: li-counter;
}

ol.lined-list > li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 0.8em;
  min-height: 3em;
  border-left: 2px solid #ccc;
}

ol.lined-list > li::before {
  position: absolute;
  top: 0;
  left: -1em;
  width: 0.8em;
  font-size: 3em;
  line-height: 1;
  font-weight: 700;
  text-align: right;
  content: counter(li-counter);
  counter-increment: li-counter;
}

/* =========================================================
   QUOTE BOXES (Q11 / Q12)
   ========================================================= */

.q11,
.q12 {
  border: 1px solid silver;
  padding: 1em;
  margin: 1.5em auto;
  background: linear-gradient(to bottom, #e9ecef 0%, #d8dde2 100%);
}

.q11 { width: 95%; }
.q12 { width: 80%; }

/* =========================================================
   MISC
   ========================================================= */

cite {
  font-style: normal;
  font-size: 1.2em;
  font-weight: 700;
}

.drop-shadow {padding:3rem;
  border: 1px solid #000000;
  position: relative;
  background: #E9ECEF;
  -webkit-box-shadow: 0 1px 8px rgba(233, 236, 239, 1), 0 0 40px rgba(182, 191, 200, 1) inset;
  -moz-box-shadow: 0 1px 8px rgba(233, 236, 239, 1), 0 0 40px rgba(182, 191, 200, 1) inset;
  box-shadow: 0 1px 8px rgba(233, 236, 239, 1), 0 0 40px rgba(182, 191, 200, 1) inset;
}
.drop-shadow:before, .drop-shadow:after {
  content: "";
  position: absolute;
  z-index: -2;
}


.news-card{margin-top:8rem;}


/* =========================================================
   Voting Information Template
   ========================================================= */

 

.oc-vi-hero {
  background: linear-gradient(135deg, var(--oc-primary, #0d3b6e) 0%, #185ea5 60%, #1a7abf 100%);
  color: #fff;
  padding: 5rem 1.5rem 4rem;
}

.oc-vi-hero h1 {
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1.15;
  font-family: var(--oc-font-heading, inherit);
}

.oc-vi-hero .lead {
  color: rgba(255,255,255,0.86);
  max-width: 560px;
  margin: 0 auto 2rem;
}

.oc-vi-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: 999px;
  margin-bottom: 1.25rem;
}

.oc-vi-hero-badge i {
  font-size: .45rem;
}

.oc-vi-section-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #777;
  margin-bottom: 1rem;
}

.oc-vi-alert {
  background: #f0f4fb;
  border: 1px solid #93c5fd;
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
}

.oc-vi-alert i {
  color: var(--oc-accent, #163a5f);
  font-size: 1.15rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.oc-vi-alert p {
  color: var(--oc-heading-primary, #163a5f);
  font-size: .95rem;
  margin: 0;
}

.oc-vi-step-card,
.oc-vi-info-card {
  background: #fff;
  border: 1px solid #e0ddd6;
  border-radius: 12px;
  padding: 1.5rem 1.25rem;
  height: 100%;
}

.oc-vi-step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f0f4fb;
  color: var(--oc-accent, #163a5f);
  font-size: .85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .85rem;
}

.oc-vi-step-card h3,
.oc-vi-info-card h3 {
  font-size: 1rem;
  line-height: 1.3;
  margin: 0 0 .5rem;
  color: var(--oc-heading-primary, #163a5f);
}

.oc-vi-step-card p {
  font-size: .875rem;
  color: #666;
  margin: 0;
}

.oc-vi-info-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #f0f4fb;
  color: var(--oc-accent, #163a5f);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

.oc-vi-deadline-box {
  background: #f0f4fb;
  border-radius: 10px;
  padding: 1rem .75rem;
  text-align: center;
  height: 100%;
}

.oc-vi-deadline-box span {
  font-family: var(--oc-font-heading, inherit);
  font-size: 1.6rem;
  color: var(--oc-accent, #163a5f);
  display: block;
  line-height: 1;
}

.oc-vi-deadline-box small {
  font-size: .75rem;
  color: #555;
  margin-top: 5px;
  display: block;
  line-height: 1.4;
}

.oc-vi-id-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.oc-vi-id-list li {
  font-size: .875rem;
  color: #444;
  padding: 6px 0;
  border-bottom: 1px solid #f0ede6;
  display: flex;
  align-items: center;
  gap: 8px;
}

.oc-vi-id-list li:last-child {
  border-bottom: none;
}

.oc-vi-id-list i {
  color: #198754;
}

.oc-vi-small-note {
  font-size: .75rem;
  color: #666;
  margin: 1rem 0 0;
}

.oc-vi-info-row {
  display: flex;
  gap: .85rem;
  margin-bottom: 1rem;
}

.oc-vi-info-row:last-child {
  margin-bottom: 0;
}

.oc-vi-info-row > i {
  color: var(--oc-accent, #163a5f);
  font-size: 1rem;
  margin-top: 2px;
  flex-shrink: 0;
}

.oc-vi-info-row strong {
  display: block;
  font-size: .85rem;
  color: #1a1a1a;
  margin-bottom: 2px;
}

.oc-vi-info-row p {
  font-size: .82rem;
  color: #666;
  margin: 0;
  line-height: 1.5;
}

.oc-template-wrap[data-template-id="oc-voting-information-page"] .accordion-button {
  font-size: .95rem;
  font-weight: 600;
  background: #fff;
  color: #1a1a1a;
  box-shadow: none;
}

.oc-template-wrap[data-template-id="oc-voting-information-page"] .accordion-button:not(.collapsed) {
  color: var(--oc-accent, #163a5f);
  background: #fff;
  box-shadow: none;
}

.oc-template-wrap[data-template-id="oc-voting-information-page"] .accordion-button:focus {
  box-shadow: none;
}

.oc-template-wrap[data-template-id="oc-voting-information-page"] .accordion-item {
  border: none;
  border-bottom: 1px solid #e8e4dc;
}

.oc-template-wrap[data-template-id="oc-voting-information-page"] .accordion-item:first-child {
  border-top: 1px solid #e8e4dc;
}

.oc-template-wrap[data-template-id="oc-voting-information-page"] .accordion-body {
  font-size: .875rem;
  color: #555;
  line-height: 1.7;
  padding-top: 0;
}

.oc-vi-contact-bar {
  background: #fff;
  border: 1px solid #e0ddd6;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
}

.oc-vi-contact-bar p {
  color: #666;
  font-size: .95rem;
  margin: 0 0 .75rem;
}
