.text-start
{
    text-align: left !important;
}

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

.text-end
{
    text-align: right !important;
}

.w-100{
    width: 100% !important;
}

.h-50{
    height: 50% !important;
}

/* Custom margin utilities */
.mt-0 {
    margin-top: 0rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;   /* 8px if root font-size = 16px */
}

.mt-3 {
  margin-top: 1rem !important;   /* 16px */
}

.mt-4 {
  margin-top: 1.5rem !important; /* 24px */
}

.mb-0 {
    margin-bottom: 0rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.mb-4 {
    margin-bottom: 1rem !important;
}

.pt-0 {
    padding-top: 0rem !important;
}

.pb-80 {
    padding-bottom: 80px !important;
}

/* Custom font weight utilities */
.fw-light {
    font-weight: 300 !important;
}

.fw-normal {
    font-weight: 400 !important;
}

.fw-medium {
    font-weight: 500 !important;
}

.fw-semibold {
    font-weight: 600 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

.fw-extrabold {
    font-weight: 800 !important;
}

.fw-black {
    font-weight: 900 !important;
}


/* Custom font size utilities */
.fs-1 {
    font-size: 2.5rem !important;  /* ~40px */
}

.fs-2 {
    font-size: 2rem !important;    /* ~32px */
}

.fs-3 {
    font-size: 1.75rem !important; /* ~28px */
}

.fs-4 {
    font-size: 1.5rem !important;  /* ~24px */
}

.fs-5 {
    font-size: 1.25rem !important; /* ~20px */
}

.fs-6 {
    font-size: 1rem !important;    /* ~16px */
}

/* Extra custom sizes */
.fs-7 {
    font-size: 0.875rem !important; /* ~14px */
}

.fs-8 {
    font-size: 0.75rem !important;  /* ~12px */
}


.js-Filter--tags {
    display: flex;
    flex-wrap: wrap; /* wrap to next line if many chips */
    gap: 6px; /* space between chips */
}
.FilterTag {
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
}

.object-fit-cover {
    object-fit: cover;
}

/*
* Video modal
*/
.custom-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    overflow-y: auto;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;

    /* Slim scrollbars */
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: rgba(255,255,255,0.4) rgba(255,255,255,0.05);
}
.custom-modal::-webkit-scrollbar {
    width: 6px;
}
.custom-modal::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.05);
    border-radius: 3px;
}
.custom-modal::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.4);
    border-radius: 3px;
}
.custom-modal::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.6);
}

/* Active state when JS sets display:block */
.custom-modal[style*="display: block"] {
    opacity: 1;
    visibility: visible;
}

/* Modal content */
.custom-modal-content {
    position: relative;
    width: 90%;
    max-width: 1200px;
    margin: 5% auto;
    background: var(--primary-color);
    border-radius: 10px;
    overflow: hidden;

    transform: translateY(40px) scale(0.95);
    opacity: 0;
    transition: all 0.4s ease;
}

/* Content visible */
.custom-modal[style*="display: block"] .custom-modal-content {
    transform: translateY(0) scale(1);
    opacity: 1;
}

/* Close button */
.custom-close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 30px;
    font-weight: bold;
    color: white;
    cursor: pointer;
    z-index: 1000;
}

/* Responsive video */
#customVideoPlayer {
    width: 100%;
    height: auto;
    display: block;
}


/*
* Video Icon 
*/
/* Make the thumbnail container relative */
.video-card .CardHeaderImage .Media.image {
    position: relative;
}

/* Play button overlay */
.video-card .CardHeaderImage .Media.image::after {
    content: "\25B6"; /* Unicode play symbol ▶ */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 50px;
    color: white;
    opacity: 0.85;
    text-shadow: 0 2px 8px rgba(0,0,0,0.6);
    pointer-events: none; /* clicks go through */
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Hover effect for nicer feedback */
.video-card:hover .CardHeaderImage .Media.image::after {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 1;
}


/*Video icon related section*/
/* Ensure positioning for play button */
.video-card .RelatedTeaser--imgWrapper .Media.image {
    position: relative;
}

/* Play button overlay */
.video-card .RelatedTeaser--imgWrapper .Media.image::after {
    content: "\25B6"; /* Unicode play symbol ▶ */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 50px;
    color: white;
    opacity: 0.85;
    text-shadow: 0 2px 8px rgba(0,0,0,0.6);
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Hover effect */
.video-card:hover .RelatedTeaser--imgWrapper .Media.image::after {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 1;
}

/*
* Expertise
*/

.expertise-intro {
    width: 66.6667%;
    margin-top: 50px;
}

.expertise-intro b {
    font-weight: 500 !important;
}

.expertise-intro img {
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;          
}

@media (max-width: 900px) {
    .expertise-intro {
        width: 90%;
    }
}

@media (max-width: 600px) {
    .expertise-intro {
        width: 92.5%;
    }
}

/*
* Card
*/

.card-container {
    display: flex;
    flex-wrap: wrap;     /* allows cards to wrap to next row if needed */
    gap: 55px;           /* spacing between cards */
    height: auto;
}

.custom-card {
    flex: 0 0 calc(33.333% - 37.33px); /* 3 cards per row minus gap adjustment */
    height: 245px !important;
}

/* Responsive */
@media (max-width: 900px) {
    .custom-card {
        flex: 0 0 calc(50% - 10px); /* 2 cards per row */
    }
}

@media (max-width: 600px) {
    .custom-card {
        flex: 0 0 100%; /* 1 card per row */
    }
}

.video-content-text{
    color:white;
}

/*
* Editor Content
*/
.EditorContent b{
    font-weight: bold;
}

.EditorContent ul,
.EditorContent ol {
  margin: 1em 0;
  padding-left: 2em; /* Indent the list */
}

.EditorContent ol {
  list-style-type: decimal; /* 1., 2., 3., etc. */
}

.EditorContent ul {
  list-style-type: disc; /* • bullet points */
}

.EditorContent li {
  margin-bottom: 0.4em;
  line-height: 1.6;
  color: inherit;
  font-size: 1rem;
}

/* Contact Pill*/
.PillText {
    display: inline-block;
    padding: 3px 8px;       /* smaller padding for compact look */
    border-radius: 2px;     /* fully rounded edges */
    background-color: var(--primary-color);
    color: #ffffff;       /* text color */
    font-size: 12px;        /* smaller text */
    font-weight: 500;
    line-height: 1.2;
    transition: all 0.2s ease;  /* smooth hover */
}

/* Hover */
.LanguageSelectorFlyout--link:hover .PillText {
    background-color: var(--secondary-color);
    color: #ffffff;
}

/* Active */
.LanguageSelectorFlyout--active .PillText {
    background-color: var(--primary-color);
    color: #ffffff;
}


/*Navbar*/
.MainNav--link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;              /* spacing between text and arrow */
  text-decoration: none;
  font-weight: 500;
}

/* default down arrow */
.MainNav--link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
}

.MainNav--link .arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid currentColor; /* arrow color */
  transition: transform 0.3s ease;
}


/*Cookie*/
.cookie-consent {
  position: fixed;
  bottom: 20px;
  left: 20px;
  width: 420px;
  max-width: 90%;
  background: #fff;
  color: #27251f;
  padding: 18px 22px;
  border-radius: 2px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  display: none; /* hidden by default */
  z-index: 9999;
  font-family: Arial, sans-serif;
}

.cookie-content p {
  margin: 0 0 12px 0;
  font-size: 15px;
  line-height: 1.5;
}

.cookie-buttons {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.cookie-btn {
  padding: 8px 18px;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.cookie-btn.accept {
  background-color: var(--primary-color);
  color: #fff;
}

.cookie-btn.reject {
  background-color: var(--primary-color);
  color: #fff;
}

.cookie-btn:hover {
  opacity: 0.9;
}

/* Responsive Design */
@media (max-width: 600px) {
  .cookie-consent {
    left: 10px;
    right: 10px;
    width: auto;
    padding: 16px;
    font-size: 14px;
  }
  .cookie-buttons {
    justify-content: center;
  }
}

/*
* Partner slider
*/

/* === Section Container === */

.partners-section {
  background-color: #fff;
  padding: 0px 0px 50px 0px;
  border-top: 1px solid #eee;
  overflow: hidden;
  text-align: center;
}

.partners-container {
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

/* === Section Title === */
.partners-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 40px;
  color: #222;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
}

.partners-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #000;
  margin: 10px auto 0;
  border-radius: 3px;
}

/* === Logos Track === */
.partners-track {
  display: flex;
  width: max-content;
  animation: scroll linear infinite;
  animation-duration: 20s; /*Control speed here */
}

.partner {
  flex: 0 0 auto;
  width: 150px;
  margin: 0 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* === Logo Size Control === */
.partner img {
  max-height: 100px; /* controls logo height */
  width: auto;      /* maintain aspect ratio */
  height: auto;
  object-fit: contain;
  /* filter: grayscale(100%); */
  /* opacity: 0.7; */
  transition: all 0.4s ease;
}

.partner img:hover {
  /* filter: grayscale(0%);
  opacity: 1; */
  transform: scale(1.05);
}

/* === Animation === */
@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* === Responsive === */
@media (max-width: 768px) {
  .partners-title {
    font-size: 1.5rem;
    margin-bottom: 25px;
  }

  .partner {
    width: 100px;
    margin: 0 20px;
  }

  .partners-section {
    padding: 30px 0;
  }
}

/* Partner Index Page*/

.partners-flex-section {
  background-color: #f9fafb;
  /* padding: 60px 20px; */
  padding: 40px 20px 100px 20px;
  text-align: center;
}

.section-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 40px;
  color: #222;
  position: relative;
  display: inline-block;
}

.section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: #0078ff;
  margin: 10px auto 0;
  border-radius: 3px;
}

/* --- Flex layout --- */
.partners-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
}

.partner-card {
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  padding: 25px 20px;
  width: calc(25% - 25px); /* 4 cards per row */
  max-width: 250px;
  box-sizing: border-box;
}

.partner-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

.partner-card img {
  width: auto;
  height: 100px; /* control logo height */
  object-fit: contain;
  margin-bottom: 15px;
}

.partner-card p {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  margin: 0;
}

/* --- Responsive adjustments --- */
@media (max-width: 992px) {
  .partner-card {
    width: calc(50% - 25px); /* 2 per row */
  }
}

@media (max-width: 576px) {
  .partner-card {
    width: 100%; /* 1 per row */
  }
}


/*
* Resources Section
*/
@media all{
     *{
        font:inherit;
        color:inherit;
        line-height:inherit;
        text-decoration:inherit;
        margin:0;
        padding:0;
    }
     *,*:before,*:after{
        -webkit-box-sizing:border-box;
        box-sizing:border-box;
    }
     li{
        list-style:none;
    }
     button{
        background:transparent;
        -webkit-appearance:button;
        cursor:pointer;
        border:0;
        border-radius:0;
    }
     ::selection{
        background-color:rgba(108,193,220,0.2);
    }
     a[href],button{
        -ms-touch-action:manipulation;
        touch-action:manipulation;
    }
     button{
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
    }
     a:active{
        outline:none;
    }
     *:focus{
        outline:none;
    }
     button{
        cursor:pointer;
    }
     [data-icon="document"]:after{
        background:url("../images/ui/1x--sprite.png") no-repeat -96px -235px;
        width:23px;
        height:26px;
        content:"";
        position:absolute;
        top:50%;
        margin-top:-13px;
        left:50%;
        margin-left:-12px;
    }
     @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi){
         [data-icon="document"]:after{
            background:url("../images/ui/2x--sprite.png") no-repeat -275px 0px;
            background-size:298px 280px;
        }
    }
     .Icon[data-icon="document"]{
        padding:0 11.5px;
        height:26px;
        margin:0;
    }
     .Icon:not(.inline){
        -webkit-box-sizing:border-box;
        box-sizing:border-box;
        display:inline-block;
        position:relative;
        letter-spacing:-1ex;
        text-indent:-9999px;
        text-decoration:none;
        line-height:1;
        border:none;
        outline:none;
        vertical-align:middle;
    }
     .Collapsible{
        width:83.33333%;
        margin-left:auto;
        margin-right:auto;
        margin-top:60px;
        margin-bottom:60px;
    }
     @media (max-width: 750px){
         .Collapsible{
            margin-left:0px;
        }
    }
     @media (max-width: 750px){
         .Collapsible{
            margin-right:0px;
        }
    }
     @media (max-width: 1280px){
         .Collapsible{
            width:calc(100% - 60px);
        }
    }
     @media (max-width: 1000px){
         .Collapsible{
            width:calc(100% - 60px);
        }
    }
     @media (max-width: 750px){
         .Collapsible{
            width:auto;
        }
    }
     @media (max-width: 1280px){
         .Collapsible{
            margin-top:48px;
        }
    }
     @media (max-width: 750px){
         .Collapsible{
            margin-top:30px;
        }
    }
     @media print{
         .Collapsible{
            margin-top:30px;
        }
    }
     @media (max-width: 1280px){
         .Collapsible{
            margin-bottom:48px;
        }
    }
     @media (max-width: 750px){
         .Collapsible{
            margin-bottom:30px;
        }
    }
     @media print{
         .Collapsible{
            margin-bottom:30px;
        }
    }
     .Collapsible.small{
        width:50%;
        margin-left:auto;
        margin-right:auto;
    }
     @media (max-width: 750px){
         .Collapsible.small{
            margin-left:15px;
        }
    }
     @media (max-width: 750px){
         .Collapsible.small{
            margin-right:15px;
        }
    }
     @media (max-width: 1280px){
         .Collapsible.small{
            width:calc(60% - 60px);
        }
    }
     @media (max-width: 1000px){
         .Collapsible.small{
            width:calc(75% - 60px);
        }
    }
     @media (max-width: 750px){
         .Collapsible.small{
            width:auto;
        }
    }
     .Collapsible--content{
        margin-top:30px;
        margin-bottom:30px;
    }
     @media (max-width: 1280px){
         .Collapsible--content{
            margin-top:24px;
        }
    }
     @media (max-width: 750px){
         .Collapsible--content{
            margin-top:15px;
        }
    }
     @media print{
         .Collapsible--content{
            margin-top:15px;
        }
    }
     @media (max-width: 1280px){
         .Collapsible--content{
            margin-bottom:24px;
        }
    }
     @media (max-width: 750px){
         .Collapsible--content{
            margin-bottom:15px;
        }
    }
     @media print{
         .Collapsible--content{
            margin-bottom:15px;
        }
    }
     .Collapsible--content>*:first-child{
        margin-top:0;
    }
     .Collapsible--content>*:last-child{
        margin-bottom:0;
    }
     .Collapsible--content.Collapsible--content>*{
        width:100%;
        margin-left:0;
        margin-right:0;
    }
     .Collapsible--item{
        border-bottom:1px solid #dbe2e9;
    }
     .Collapsible--item:last-child{
        border-bottom:none;
    }
     .Collapsible--head{
        position:relative;
    }
     .Collapsible--heading{
        font-size:17px;
        line-height:1.5;
        font-weight:300;
        padding:30px 60px 30px 0;
        -webkit-transition:color 200ms;
        transition:color 200ms;
    }
     @media (min-width: 400px){
         .Collapsible--heading{
            font-size:calc(.28571vw + 15.85714px);
        }
    }
     @media (min-width: 750px){
         .Collapsible--heading{
            font-size:calc(.37736vw + 15.16981px);
        }
    }
     @media (min-width: 1280px){
         .Collapsible--heading{
            font-size:20px;
        }
    }
     .Collapsible--head:hover .Collapsible--heading{
        color:var(--primary-color);
    }
     .Collapsible--trigger{
        letter-spacing:-1ex;
        text-indent:-9999px;
        color:transparent;
        text-decoration:none;
        line-height:1;
        position:absolute;
        top:0;
        right:0;
        bottom:0;
        left:0;
        display:block;
        width:100%;
        text-align:left;
    }
     .Collapsible--trigger::before,.Collapsible--trigger::after{
        content:'';
        position:absolute;
        top:50%;
        right:10px;
        width:26px;
        height:2px;
        margin-top:-1px;
        background-color:var(--primary-color);
        -webkit-transition:-webkit-transform 200ms ease-out;
        transition:-webkit-transform 200ms ease-out;
        transition:transform 200ms ease-out;
        transition:transform 200ms ease-out, -webkit-transform 200ms ease-out;
    }
     .Collapsible--trigger.is-opened::before{
        -webkit-transform:rotate(180deg);
        transform:rotate(180deg);
    }
     .Collapsible--trigger::after{
        -webkit-transform:rotate(90deg);
        transform:rotate(90deg);
    }
     .Collapsible--trigger.is-opened::after{
        -webkit-transform:rotate(180deg);
        transform:rotate(180deg);
    }
     .Collapsible--panel{
        display:none;
    }
     .Collapsible--panel.is-opened{
        display:block;
    }
     .Pane{
        background-color:#fff;
    }
     .Pane::before,.Pane::after{
        content:'';
        display:block;
        float:none;
        clear:both;
        height:1px;
        margin-top:-1px;
    }
     .DocumentTeaser{
        width:50%;
        margin-left:auto;
        margin-right:auto;
        padding-top:20px;
        padding-bottom:20px;
        border-top:1px solid rgba(39,37,31,0.1);
        border-bottom:1px solid rgba(39,37,31,0.1);
    }
     @media (max-width: 750px){
         .DocumentTeaser{
            margin-left:15px;
        }
    }
     @media (max-width: 750px){
         .DocumentTeaser{
            margin-right:15px;
        }
    }
     @media (max-width: 1280px){
         .DocumentTeaser{
            width:calc(60% - 60px);
        }
    }
     @media (max-width: 1000px){
         .DocumentTeaser{
            width:calc(75% - 60px);
        }
    }
     @media (max-width: 750px){
         .DocumentTeaser{
            width:auto;
        }
    }
     .DocumentTeaser--list>li{
        margin-top:10px;
    }
     .DocumentTeaser--list>li:first-child{
        margin-top:0;
    }
     .DocumentTeaser--docLink{
        font-size:13px;
        line-height:1.7;
        color:#6e7882;
        position:relative;
        padding-left:40px;
        display:block;
    }
     @media (min-width: 400px){
         .DocumentTeaser--docLink{
            font-size:calc(0vw + 13px);
        }
    }
     @media (min-width: 750px){
         .DocumentTeaser--docLink{
            font-size:calc(0vw + 13px);
        }
    }
     @media (min-width: 1280px){
         .DocumentTeaser--docLink{
            font-size:13px;
        }
    }
     .DocumentTeaser--docLink:hover{
        color:var(--primary-color);
    }
}
 @media all{
     .DocumentTeaser--docLink:hover{
        color:#6e7882;
    }
     .DocumentTeaser--docLink a:hover{
        color:var(--primary-color);
    }
     .DocumentTeaser--docLink span.Icon{
        margin-left:-40px;
        margin-right:10px;
    }
}

/*Working area cards*/
.work-division-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.3rem;
  padding: 1rem;
}

.work-division-card {
  flex: 1 1 calc(20% - 1.5rem); /* 5 per row on desktop/laptop */
  max-width: calc(20% - 1.5rem);
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
  padding: 1rem;
  transition: transform 0.3s ease;
  box-sizing: border-box;
}

.work-division-card:hover {
  transform: translateY(-5px);
}

.work-card-icon svg {
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
}

.work-card-number {
  font-family: "VF Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif;
  font-size: 2rem;
  font-weight: bold;
  color: #222;
  font-size: clamp(0.8rem, 2vw, 2rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.work-card-title {
  font-family: "VF Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif;
  font-size: 1rem;
  color: #555;
  text-align: center;
  margin-top: 0.3rem;
}

.work-card-subtext {
  font-size: 13px;
  color: #777;
  margin-top: 0.3rem;
}

/* ✅ For tablets (optional): 2–3 cards per row */
@media (max-width: 992px) {
  .work-division-card {
    flex: 1 1 calc(50% - 1.5rem); /* 2 per row */
    max-width: calc(50% - 1.5rem);
  }
}

/* ✅ For mobile: 1 card per row */
@media (max-width: 768px) {
  .work-division-card {
    flex: 1 1 100%;
    max-width: 100%;
  }
}


/* Responsive tweak */
@media (max-width: 992px) {
  .work-division-card {
    flex: 1 1 calc(33.33% - 1.5rem); /* 3 per row */
  }
}

@media (max-width: 600px) {
  .work-division-card {
    flex: 1 1 calc(50% - 1.5rem); /* 2 per row */
  }
}

/*Map*/
.map-container {
    font-family: "VF Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    justify-content: center;
}

.map-section,
.collapsible_map-section {
    flex: 1 1 400px;
    max-width: 600px;
}

.map-section {
    height: 500px;
    margin-bottom: 20px;
}

.map-section svg {
    width: 100%;
    height: 100%;
    border-radius: 3px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

path.division {
    fill: var(--primary-color);
    stroke: #ffffff;
    stroke-width: 1;
    cursor: pointer;
    transition: fill 0.3s;
}

path.division:hover {
    fill: var(--nav-hover-color);
}

/* Selected (clicked) division color */
path.division.active {
    fill: var(--nav-hover-color);
    /* or any highlight color */
}

/* Collapsible_map */
.collapsible_map {
    background-color: #fff;
    color: #333;
    cursor: pointer;
    padding: 10px 20px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 3px 3px 0 0;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s, color 0.3s;
    margin-bottom: 0;
}

.collapsible_map.active {
    background-color: var(--nav-hover-color);
    color: #fff;
}

/* map-section-Arrow */
.map-section-arrow {
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 10px solid #333;
    transition: transform 0.3s ease, border-top-color 0.3s ease;
}

.collapsible_map.active .map-section-arrow {
    transform: rotate(180deg);
    border-top-color: #fff;
}

/* Collapsible_map content */
.map-section-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background-color: #fafafa;
    border-radius: 0 0 3px 3px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
    margin-bottom: 10px;
    padding: 0 20px;
}

.map-section-content.open {
    padding: 15px 20px;
}

/* Paragraph styling inside map-section-content */
.map-section-content p {
    margin: 0 0 12px 0;
    /* spacing between items */
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #555;
    /* muted gray text */
    font-size: 15px;
}

/* Last paragraph has no extra margin */
.map-section-content p:last-child {
    margin-bottom: 0;
}

/* Icon + text alignment in collapsible_map button */
.collapsible_map .label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.collapsible_map .icon {
    display: inline-flex;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.collapsible_map .icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    display: block;
}

/* Icons in map-section-content section */
.map-item-icon {
    display: inline-flex;
    width: 18px;
    /* slightly smaller for subtle look */
    height: 18px;
    flex-shrink: 0;
}

.map-item-icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    display: block;
}

.map-section-title {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    text-align: left;
    /* background-color: #fff; */
    padding: 10px 0;
    /* border-radius: 6px; */
    /* box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05); */
}

/* Optional: make section titles stand out slightly differently */

.svg-map {
    padding: 10px 0px 10px 0px;
}

@media (max-width: 939px) {
    .map-container {
        /* flex-direction: column; */
        justify-content: center;
    }

    .collapsible_map-section
    {
        margin-top: 65px;
    }
}

/*Editor table*/
/* Tables inside EditorContent */
.EditorContent table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 16px;
  line-height: 1.5;
}

/* Table Head */
.EditorContent table th {
  background-color: #f8f9fa;
  font-weight: 600;
  color: #333;
  border: 1px solid #dee2e6;
  padding: 10px 14px;
  text-align: left;
}

/* Table Cells */
.EditorContent table td {
  border: 1px solid #dee2e6;
  padding: 10px 14px;
  vertical-align: top;
}

/* Zebra Stripes */
/* .EditorContent table tbody tr:nth-child(even) {
  background-color: #fdfdfd;
} */

/* Responsive Table for small screens */
@media (max-width: 768px) {
  .EditorContent table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .EditorContent table th,
  .EditorContent table td {
    white-space: nowrap;
  }
}

/* Hover effect for rows */
.EditorContent table tbody tr:hover {
  background-color: #f1f3f5;
}