.gr-project-map,.gr-project-map *{box-sizing:border-box}.gr-project-map{width:100%;--gr-map-accent:#BE2429;--gr-active-pin-color:#FF6065;--gr-active-pin-border-color:#D6363B;--gr-tab-text-color:#1B1818;--gr-instruction-color:#514E4E;--gr-card-background:#fff;--gr-card-title-color:#1C1919;--gr-card-text-color:#514E4E;--gr-button-background:#D92F35;--gr-button-hover-background:#A91E23;--gr-button-text-color:#fff;--gr-overlay-color:rgba(0,0,0,.62);--gr-tab-font-size:34px;--gr-tab-font-size-tablet:26px;--gr-tab-font-size-mobile:20px;--gr-tab-gap:30px;--gr-tabs-bottom-spacing:55px;--gr-instruction-font-size:16px;--gr-card-width:520px;--gr-card-image-width:38%;--gr-card-min-height:220px;--gr-card-padding:28px;--gr-card-title-font-size:28px;--gr-card-text-font-size:15px;--gr-pin-size:44px;--gr-pin-hover-scale:1.12;--gr-pin-active-scale:1.15;--gr-button-size:42px;--gr-button-font-size:30px;--gr-card-shadow:0 15px 50px rgba(0,0,0,.25)}
.gr-map-tabs{display:flex;align-items:center;justify-content:space-between;gap:var(--gr-tab-gap);margin:0 0 var(--gr-tabs-bottom-spacing);padding:0;overflow-x:auto;scrollbar-width:none}.gr-map-tabs::-webkit-scrollbar{display:none}
.gr-map-tab,.gr-map-card-close,.gr-map-pin{appearance:none!important;-webkit-appearance:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;font-family:inherit!important;line-height:1.2!important}
.gr-map-tab{flex:0 0 auto;color:var(--gr-tab-text-color)!important;font-size:var(--gr-tab-font-size)!important;font-weight:400!important;cursor:pointer;white-space:nowrap;transition:color .25s}.gr-map-tab:hover,.gr-map-tab:focus,.gr-map-tab.is-active{color:var(--gr-map-accent)!important}.gr-map-tab.is-active{font-weight:700!important}.gr-map-tab-bracket{display:none}.gr-map-tab.is-active .gr-map-tab-bracket{display:inline}
.gr-map-instruction{margin:0 0 22px!important;color:var(--gr-instruction-color)!important;font-size:var(--gr-instruction-font-size)!important;line-height:1.4}.gr-map-stage{position:relative;width:100%;overflow:hidden;isolation:isolate}.gr-map-main-image{display:block;width:100%;height:auto;margin:0}
.gr-map-dark-overlay{position:absolute;inset:0;z-index:2;background:var(--gr-overlay-color);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s}.gr-map-stage.has-active-project .gr-map-dark-overlay{opacity:1;visibility:visible}.gr-map-highlights{position:absolute;inset:0;z-index:3;pointer-events:none}.gr-map-highlight-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0;transform:scale(.98);transition:opacity .3s,transform .3s}.gr-map-highlight-image.is-active{opacity:1;transform:scale(1)}
.gr-map-pins{position:absolute;inset:0;z-index:5;pointer-events:none}.gr-map-pin{position:absolute!important;left:var(--pin-x);top:var(--pin-y);display:none;width:var(--gr-pin-size)!important;height:var(--gr-pin-size)!important;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;transition:opacity .25s,transform .25s}.gr-map-pin.is-visible{display:block}.gr-map-pin:hover,.gr-map-pin:focus-visible{transform:translate(-50%,-50%) scale(var(--gr-pin-hover-scale))}.gr-map-pin.is-active{z-index:10;transform:translate(-50%,-50%) scale(var(--gr-pin-active-scale))}.gr-map-stage.has-active-project .gr-map-pin.is-visible:not(.is-active){opacity:.42}.gr-pin-state,.gr-pin-state img,.gr-pin-state svg{display:block;width:100%;height:100%}.gr-pin-active{display:none}.gr-map-pin.is-active .gr-pin-inactive{display:none}.gr-map-pin.is-active .gr-pin-active{display:block}
.gr-map-card{position:absolute;z-index:8;top:50%;display:grid;grid-template-columns:minmax(140px,var(--gr-card-image-width)) 1fr;width:min(var(--gr-card-width),90%);min-height:var(--gr-card-min-height);margin:0;padding:0;border:0;background:var(--gr-card-background);opacity:0;visibility:hidden;transform:translateY(calc(-50% + 20px));box-shadow:var(--gr-card-shadow);transition:opacity .3s,transform .3s,visibility .3s}.gr-card-right .gr-map-card{right:5%}.gr-card-left .gr-map-card{left:5%}.gr-card-center .gr-map-card{left:50%;transform:translate(-50%,calc(-50% + 20px))}.gr-map-card.is-active{opacity:1;visibility:visible;transform:translateY(-50%)}.gr-card-center .gr-map-card.is-active{transform:translate(-50%,-50%)}
.gr-map-card-image-wrap{min-height:var(--gr-card-min-height);background:#e8e8e8}.gr-map-card-image{display:block;width:100%;height:100%;min-height:var(--gr-card-min-height);object-fit:cover}.gr-map-card-content{display:flex;flex-direction:column;align-items:flex-start;padding:var(--gr-card-padding)}.gr-map-card-title{margin:0 0 12px!important;color:var(--gr-card-title-color)!important;font-size:var(--gr-card-title-font-size)!important;line-height:1.2!important}.gr-map-card-description{margin:0 0 18px;color:var(--gr-card-text-color);font-size:var(--gr-card-text-font-size);line-height:1.45}
.gr-map-card-link{display:inline-flex!important;align-items:center;justify-content:center;width:var(--gr-button-size)!important;height:var(--gr-button-size)!important;min-width:var(--gr-button-size)!important;min-height:var(--gr-button-size)!important;margin:auto 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:var(--gr-button-background)!important;color:var(--gr-button-text-color)!important;box-shadow:none!important;font-size:var(--gr-button-font-size)!important;line-height:1!important;text-decoration:none!important;transition:background-color .25s}.gr-map-card-link:hover,.gr-map-card-link:focus{background:var(--gr-button-hover-background)!important;color:var(--gr-button-text-color)!important}.gr-map-card-close{position:absolute!important;top:8px;right:10px;z-index:2;width:32px!important;height:32px!important;color:var(--gr-card-title-color)!important;font-size:28px!important;line-height:1!important;cursor:pointer}.gr-map-error{padding:12px 16px;border-left:4px solid #BE2429;background:#f7f7f7}
@media(max-width:1024px){.gr-map-tabs{justify-content:flex-start;margin-bottom:35px}.gr-map-tab{font-size:var(--gr-tab-font-size-tablet)!important}.gr-map-card,.gr-card-left .gr-map-card,.gr-card-right .gr-map-card{left:50%;right:auto;width:min(var(--gr-card-width),calc(100% - 50px));transform:translate(-50%,calc(-50% + 20px))}.gr-map-card.is-active,.gr-card-left .gr-map-card.is-active,.gr-card-right .gr-map-card.is-active{transform:translate(-50%,-50%)}}
@media(max-width:767px){.gr-map-tabs{gap:24px;margin-bottom:25px}.gr-map-tab{font-size:var(--gr-tab-font-size-mobile)!important}.gr-map-main-image{min-height:390px;object-fit:cover}.gr-map-card,.gr-card-left .gr-map-card,.gr-card-right .gr-map-card,.gr-card-center .gr-map-card{position:fixed;left:16px;right:16px;top:50%;grid-template-columns:1fr;width:auto;max-height:calc(100vh - 40px);overflow-y:auto;transform:translateY(calc(-50% + 20px))}.gr-map-card.is-active,.gr-card-left .gr-map-card.is-active,.gr-card-right .gr-map-card.is-active,.gr-card-center .gr-map-card.is-active{transform:translateY(-50%)}.gr-map-card-image-wrap,.gr-map-card-image{min-height:190px;max-height:230px}}


/* v1.3 tab design and mobile layout modes */
.gr-project-map .gr-map-tabs{justify-content:flex-start;gap:52px;margin-bottom:36px;overflow-x:auto}
.gr-project-map .gr-map-tab{position:relative;padding:0 8px 12px!important;color:#241F1F!important;font-size:25px!important;font-style:normal!important;font-weight:400!important;line-height:normal!important}
.gr-project-map .gr-map-tab.is-active{color:#241F1F!important;font-size:25px!important;font-style:normal!important;font-weight:700!important;line-height:normal!important}
.gr-project-map .gr-map-tab-bracket{display:none!important}
.gr-project-map .gr-map-tab::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:#BE2429;transform:scaleX(0);transform-origin:left center;transition:transform .3s ease}
.gr-project-map .gr-map-tab.is-active::after{transform:scaleX(1)}

@media(max-width:1024px){
  .gr-project-map .gr-map-tabs{gap:34px}
  .gr-project-map .gr-map-tab,.gr-project-map .gr-map-tab.is-active{font-size:22px!important}
}

@media(max-width:767px){
  /* Horizontal scroll mode */
  .gr-project-map.gr-mobile-tabs-scroll .gr-map-tabs{display:flex;flex-direction:row;gap:26px;width:100%;margin:0 0 28px;padding:0;overflow-x:auto;overflow-y:hidden;border:0;background:transparent;scrollbar-width:none}
  .gr-project-map.gr-mobile-tabs-scroll .gr-map-tabs::-webkit-scrollbar{display:none}
  .gr-project-map.gr-mobile-tabs-scroll .gr-map-tab{display:inline-flex!important;flex:0 0 auto;width:auto;min-height:0!important;padding:0 0 9px!important;border:0!important;background:transparent!important;font-size:18px!important;text-align:left!important}
  .gr-project-map.gr-mobile-tabs-scroll .gr-map-tab.is-active{font-size:18px!important}
  .gr-project-map.gr-mobile-tabs-scroll .gr-map-tabs::after{display:none!important}
  .gr-project-map.gr-mobile-tabs-scroll .gr-map-tab::after{display:block!important;height:2px}

  /* Dropdown mode */
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tabs{position:relative;display:flex;flex-direction:column;gap:0;width:100%;margin:0 0 30px;padding:0;overflow:visible;border:1px solid #8D8D8D;background:#fff}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tabs::after{content:"";position:absolute;top:20px;right:22px;z-index:10;width:13px;height:13px;border-right:2px solid #241F1F;border-bottom:2px solid #241F1F;transform:rotate(45deg);pointer-events:none;transition:transform .25s ease,top .25s ease}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tabs.is-open::after{top:26px;transform:rotate(225deg)}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tab{display:none;align-items:center;justify-content:flex-start;order:2;width:100%;min-height:56px!important;padding:14px 55px 14px 23px!important;border:0!important;border-bottom:1px solid #ddd!important;background:#fff!important;color:#241F1F!important;font-size:22px!important;font-weight:400!important;text-align:left!important}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tab.is-active{display:flex;order:1;border-bottom:0!important;font-size:22px!important;font-weight:700!important}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab{display:flex}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab.is-active{border-bottom:1px solid #ddd!important}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab:last-child{border-bottom:0!important}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tab:hover{background:#f7f7f7!important}
  .gr-project-map.gr-mobile-tabs-dropdown .gr-map-tab::after{display:none!important}
}

/* v1.4 configurable tab colours, arrow sprite and breakpoint-driven mobile modes */
.gr-project-map .gr-map-tab.is-active{color:var(--gr-active-tab-text-color,#241F1F)!important}
.gr-project-map .gr-map-tab::after{background:var(--gr-active-tab-underline-color,#BE2429)!important}

.gr-project-map .gr-map-card-link{position:relative!important;width:var(--gr-button-size)!important;height:var(--gr-button-size)!important;min-width:var(--gr-button-size)!important;min-height:var(--gr-button-size)!important;overflow:hidden!important;background-color:var(--gr-button-background)!important;background-repeat:no-repeat!important;transition:background-position var(--gr-button-arrow-duration) cubic-bezier(.65,0,.35,1),background-color .25s ease!important}
.gr-project-map.gr-has-arrow-sprite .gr-map-card-link{background-image:var(--gr-button-arrow-image)!important;background-size:var(--gr-button-arrow-bg-size)!important;background-position:var(--gr-button-arrow-start-x) var(--gr-button-arrow-y)!important}
.gr-project-map.gr-has-arrow-sprite .gr-map-card-link:hover,.gr-project-map.gr-has-arrow-sprite .gr-map-card-link:focus-visible{background-position:var(--gr-button-arrow-hover-x) var(--gr-button-arrow-y)!important;background-color:var(--gr-button-hover-background)!important}
.gr-project-map:not(.gr-has-arrow-sprite) .gr-map-card-link:hover,.gr-project-map:not(.gr-has-arrow-sprite) .gr-map-card-link:focus-visible{background-color:var(--gr-button-hover-background)!important}
.gr-project-map .gr-map-card-link-fallback{display:inline-block;position:relative;z-index:1;color:var(--gr-button-text-color)}
.gr-project-map.gr-has-arrow-sprite .gr-map-card-link-fallback{display:none!important}

/* These classes are toggled in JS according to the saved breakpoint. */
.gr-project-map.gr-mobile-active.gr-mobile-tabs-scroll .gr-map-tabs{display:flex;flex-direction:row;justify-content:flex-start;gap:26px;width:100%;margin:0 0 28px;padding:0;overflow-x:auto;overflow-y:hidden;border:0;background:transparent;scrollbar-width:none}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-scroll .gr-map-tabs::-webkit-scrollbar{display:none}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-scroll .gr-map-tab{display:inline-flex!important;flex:0 0 auto;width:auto;min-height:0!important;padding:0 0 9px!important;border:0!important;background:transparent!important;font-size:var(--gr-tab-font-size-mobile)!important;text-align:left!important}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-scroll .gr-map-tab::after{display:block!important;height:2px}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-scroll .gr-map-tabs::after{display:none!important}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs{position:relative;display:flex;flex-direction:column;gap:0;width:100%;margin:0 0 30px;padding:0;overflow:visible;border:1px solid #8D8D8D;background:#fff}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs::after{content:"";position:absolute;top:20px;right:22px;z-index:10;width:13px;height:13px;border-right:2px solid #241F1F;border-bottom:2px solid #241F1F;transform:rotate(45deg);pointer-events:none;transition:transform .25s ease,top .25s ease}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open::after{top:26px;transform:rotate(225deg)}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab{display:none;align-items:center;justify-content:flex-start;order:2;width:100%;min-height:56px!important;padding:14px 55px 14px 23px!important;border:0!important;border-bottom:1px solid #ddd!important;background:#fff!important;color:#241F1F!important;font-size:var(--gr-tab-font-size-mobile)!important;font-weight:400!important;text-align:left!important}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab.is-active{display:flex;order:1;border-bottom:0!important;color:var(--gr-active-tab-text-color,#241F1F)!important;font-weight:700!important}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab{display:flex}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab.is-active{border-bottom:1px solid #ddd!important}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab:last-child{border-bottom:0!important}
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab::after{display:none!important}


/* v1.5 fixed map canvas and optional horizontal scrolling */
.gr-project-map .gr-map-scroll-container{
  width:100%;
  max-width:100%;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
.gr-project-map.gr-map-scroll-yes .gr-map-scroll-container{
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:auto;
}
.gr-project-map.gr-map-scroll-no .gr-map-scroll-container{overflow-x:hidden}
.gr-project-map .gr-map-stage{
  width:var(--gr-map-fixed-width,1266px)!important;
  min-width:var(--gr-map-fixed-width,1266px)!important;
  max-width:var(--gr-map-fixed-width,1266px)!important;
  height:var(--gr-map-fixed-height,678px)!important;
  min-height:var(--gr-map-fixed-height,678px)!important;
  max-height:var(--gr-map-fixed-height,678px)!important;
  margin:0 auto;
}
.gr-project-map.gr-map-scroll-yes .gr-map-stage{margin-left:0;margin-right:0}
.gr-project-map .gr-map-main-image{
  width:var(--gr-map-fixed-width,1266px)!important;
  min-width:var(--gr-map-fixed-width,1266px)!important;
  max-width:var(--gr-map-fixed-width,1266px)!important;
  height:var(--gr-map-fixed-height,678px)!important;
  min-height:var(--gr-map-fixed-height,678px)!important;
  max-height:var(--gr-map-fixed-height,678px)!important;
  object-fit:cover!important;
}
@media(max-width:767px){
  .gr-project-map .gr-map-main-image{min-height:var(--gr-map-fixed-height,678px)!important}
}


/* v1.7.2 smart card placement: JavaScript chooses an available area around the active pin. */
.gr-project-map .gr-map-card.gr-card-auto-position {
  margin: 0 !important;
  transform: none !important;
  transition: opacity .3s ease, visibility .3s ease, left .22s ease, top .22s ease !important;
}
.gr-project-map .gr-map-card.gr-card-auto-position.is-active {
  transform: none !important;
}
.gr-project-map.gr-mobile-active .gr-map-card.gr-card-auto-position {
  left: 20px !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* v1.7.3: automatic spacing from the visible project highlight */
.gr-project-map {
    --gr-card-highlight-gap: 24px;
    --gr-card-highlight-fallback-radius: 135px;
}


/* v1.7.7 mobile dropdown overlay: fixed closed height, absolute open menu */
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 1px solid #8D8D8D !important;
    background: #fff !important;
    z-index: 30;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab {
    position: absolute !important;
    left: -1px !important;
    top: calc(var(--gr-dropdown-row, 0) * 56px - 1px) !important;
    z-index: 31;
    display: none !important;
    width: calc(100% + 2px) !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 14px 55px 14px 23px !important;
    border: 1px solid #8D8D8D !important;
    border-top-width: 0 !important;
    background: #fff !important;
    color: #241F1F !important;
    font-size: var(--gr-tab-font-size-mobile) !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab.is-active {
    top: -1px !important;
    z-index: 34;
    display: flex !important;
    border-top-width: 1px !important;
    color: var(--gr-active-tab-text-color, #241F1F) !important;
    font-weight: 700 !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab {
    display: flex !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab:not(.is-active) {
    z-index: 32;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open {
    z-index: 100;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs::after {
    z-index: 40 !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab::after {
    display: none !important;
}


/* v1.7.8 custom mobile select dropdown */
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: var(--gr-dropdown-active-height, 64px) !important;
    min-height: var(--gr-dropdown-active-height, 64px) !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0.5px solid #231F20 !important;
    background: #fff !important;
    z-index: 40;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab {
    position: absolute !important;
    left: -0.5px !important;
    top: var(--gr-dropdown-top, 0px) !important;
    z-index: 41;
    display: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: calc(100% + 1px) !important;
    min-height: 56px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 58px 12px 22px !important;
    border: 0.5px solid #231F20 !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #241F1F !important;
    font-family: "Neue Montreal", Arial, sans-serif !important;
    font-size: 22px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 31px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;
    box-shadow: none !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab.is-active {
    top: -0.5px !important;
    z-index: 44;
    display: flex !important;
    min-height: var(--gr-dropdown-active-height, 64px) !important;
    border: 0 !important;
    background: #fff !important;
    color: #241F1F !important;
    font-weight: 500 !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab {
    display: flex !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab:not(.is-active) {
    z-index: 42;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs::after {
    content: "" !important;
    position: absolute !important;
    top: calc(var(--gr-dropdown-active-height, 64px) / 2 - 7px) !important;
    right: 22px !important;
    z-index: 50 !important;
    width: 18px !important;
    height: 10px !important;
    border: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
    transition: transform .25s ease !important;
    transform: rotate(0deg) !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs::before {
    content: "" !important;
    position: absolute !important;
    top: calc(var(--gr-dropdown-active-height, 64px) / 2 - 6px) !important;
    right: 23px !important;
    z-index: 51 !important;
    width: 14px !important;
    height: 14px !important;
    border-right: 2px solid #241F1F !important;
    border-bottom: 2px solid #241F1F !important;
    transform: rotate(45deg) !important;
    transform-origin: center !important;
    pointer-events: none !important;
    transition: transform .25s ease, top .25s ease !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open::before {
    top: calc(var(--gr-dropdown-active-height, 64px) / 2 - 1px) !important;
    transform: rotate(225deg) !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab::after,
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab-bracket {
    display: none !important;
}


/* v1.7.9 stable custom mobile select */
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: var(--gr-dropdown-active-height, 64px) !important;
    min-height: var(--gr-dropdown-active-height, 64px) !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0.5px solid #231F20 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    z-index: 50;
}

/* Selected value / trigger */
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab.is-active {
    position: absolute !important;
    inset: -0.5px -0.5px auto -0.5px !important;
    top: -0.5px !important;
    display: flex !important;
    width: calc(100% + 1px) !important;
    min-height: var(--gr-dropdown-active-height, 64px) !important;
    height: var(--gr-dropdown-active-height, 64px) !important;
    padding: 12px 58px 12px 22px !important;
    border: 0.5px solid #231F20 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #241F1F !important;
    font-family: "Neue Montreal", Arial, sans-serif !important;
    font-size: 22px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 31px !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-align: left !important;
    box-shadow: none !important;
    z-index: 54;
}

/* Floating option list */
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab:not(.is-active) {
    position: absolute !important;
    left: 0 !important;
    top: var(--gr-dropdown-top, 72px) !important;
    display: none !important;
    width: 100% !important;
    min-height: 64px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 16px 28px !important;
    border: 0 !important;
    border-left: 0.5px solid #231F20 !important;
    border-right: 0.5px solid #231F20 !important;
    border-bottom: 0.5px solid rgba(35, 31, 32, 0.22) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #241F1F !important;
    font-family: "Neue Montreal", Arial, sans-serif !important;
    font-size: 22px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 31px !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-align: left !important;
    box-shadow: none !important;
    z-index: 52;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open .gr-map-tab:not(.is-active) {
    display: flex !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab.gr-dropdown-option-first {
    border-top: 0.5px solid #231F20 !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 12px 30px rgba(35,31,32,.12) !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab.gr-dropdown-option-last {
    border-bottom: 0.5px solid #231F20 !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 18px 30px rgba(35,31,32,.12) !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab.gr-dropdown-option-first.gr-dropdown-option-last {
    border-radius: 16px !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab:not(.is-active):hover,
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab:not(.is-active):focus-visible {
    background: #F7F7F7 !important;
}

/* 18 x 10 arrow */
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs::before {
    content: "" !important;
    position: absolute !important;
    top: calc(var(--gr-dropdown-active-height, 64px) / 2 - 7px) !important;
    right: 22px !important;
    width: 18px !important;
    height: 10px !important;
    border: 0 !important;
    background:
        linear-gradient(45deg, transparent 46%, #241F1F 47%, #241F1F 55%, transparent 56%) left center / 10px 10px no-repeat,
        linear-gradient(-45deg, transparent 46%, #241F1F 47%, #241F1F 55%, transparent 56%) right center / 10px 10px no-repeat !important;
    transform: rotate(0deg) !important;
    transform-origin: center !important;
    transition: transform .25s ease !important;
    pointer-events: none !important;
    z-index: 60 !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs.is-open::before {
    transform: rotate(180deg) !important;
}

.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs::after,
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab::after,
.gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tab-bracket {
    display: none !important;
}

/* Ensure desktop styles fully recover after crossing the breakpoint */
.gr-project-map:not(.gr-mobile-active) .gr-map-tabs,
.gr-project-map:not(.gr-mobile-active) .gr-map-tab {
    height: auto !important;
    min-height: 0 !important;
}


/* v1.8.3 persistent mobile map scrollbar */
.gr-project-map.gr-map-scroll-yes .gr-map-scroll-container {
    position: relative;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 0 !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    -ms-overflow-style: none;
}

.gr-project-map.gr-map-scroll-yes .gr-map-scroll-container::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.gr-map-mobile-scrollbar {
    display: none;
}

.gr-project-map.gr-map-scroll-yes .gr-map-mobile-scrollbar {
    position: relative;
    display: block;
    width: calc(100% - 40px);
    height: 5px;
    margin: 44px 20px 0;
    overflow: hidden;
    background: #BCC0BD;
}

.gr-project-map.gr-map-scroll-yes .gr-map-mobile-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 30%;
    min-width: 42px;
    height: 100%;
    background: #D6363B;
    transform: translate3d(0,0,0);
    will-change: transform;
}

/* Mobile popup: exactly 20px from each side */
.gr-project-map.gr-mobile-active .gr-map-card,
.gr-project-map.gr-mobile-active.gr-card-left .gr-map-card,
.gr-project-map.gr-mobile-active.gr-card-right .gr-map-card,
.gr-project-map.gr-mobile-active.gr-card-center .gr-map-card {
    position: fixed !important;
    left: 20px !important;
    right: 20px !important;
    top: 50% !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 40px) !important;
    overflow-y: auto !important;
    transform: translateY(calc(-50% + 20px)) !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.gr-project-map.gr-mobile-active .gr-map-card.is-active,
.gr-project-map.gr-mobile-active.gr-card-left .gr-map-card.is-active,
.gr-project-map.gr-mobile-active.gr-card-right .gr-map-card.is-active,
.gr-project-map.gr-mobile-active.gr-card-center .gr-map-card.is-active {
    transform: translateY(-50%) !important;
}

/* Body lock while a mobile project popup is open */
html.gr-map-body-locked,
body.gr-map-body-locked {
    overflow: hidden !important;
    overscroll-behavior: none;
}

body.gr-map-body-locked {
    width: 100%;
}


/* v1.8.4: reveal the custom scrollbar when the map section enters the viewport */
.gr-project-map.gr-map-scroll-yes .gr-map-mobile-scrollbar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
}

.gr-project-map.gr-map-scroll-yes.gr-map-section-in-view .gr-map-mobile-scrollbar,
.gr-project-map.gr-map-scroll-yes.gr-map-scrollbar-fallback .gr-map-mobile-scrollbar {
    opacity: 1;
    visibility: visible;
}


/* v1.8.5: scrollbar works at every breakpoint, but only when the map overflows horizontally */
.gr-project-map.gr-map-scroll-yes .gr-map-mobile-scrollbar {
    display: none;
}

.gr-project-map.gr-map-scroll-yes.gr-map-has-horizontal-scroll.gr-map-section-in-view .gr-map-mobile-scrollbar,
.gr-project-map.gr-map-scroll-yes.gr-map-has-horizontal-scroll.gr-map-scrollbar-fallback .gr-map-mobile-scrollbar {
    display: block;
    opacity: 1;
    visibility: visible;
}

.gr-project-map.gr-map-scroll-yes:not(.gr-map-has-horizontal-scroll) .gr-map-mobile-scrollbar {
    display: none !important;
}


/* v1.8.7 requested design refinements */

.gr-project-map.gr-card-right {
    border: 10px;
}

/* Map tabs wrapper */
.gr-project-map .gr-map-tabs {
    justify-content: flex-start;
    gap: 52px;
    margin-bottom: 36px;
    overflow: visible;
}

.gr-project-map .gr-map-card-image {
    height: 100% !important;
}

/* Remove the existing square brackets */
.gr-project-map .gr-map-tab-bracket {
    display: none !important;
}

/* Default tab */
.gr-project-map .gr-map-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 8px 12px !important;
    color: #241F1F !important;
    font-size: 25px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Underline */
.gr-project-map .gr-map-tab::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background-color: #BE2429;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease;
}

.gr-project-map .gr-map-tab:hover {
    color: #241F1F !important;
}

/* Active tab */
.gr-project-map .gr-map-tab.is-active {
    color: #241F1F !important;
    font-size: 25px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
}

.gr-project-map .gr-map-tab.is-active::after {
    transform: scaleX(1);
}

.gr-project-map .gr-map-tab:focus-visible {
    outline: 2px solid #BE2429 !important;
    outline-offset: 5px;
}

/* Dynamic animated arrow button */
.gr-project-map .gr-map-card-link {
    position: relative;
    width: 43px;
    height: 43px;
    overflow: hidden;
    background-color: #D6363B !important;
    background-image: var(--gr-button-arrow-image, url("https://grstagingapp6a4f1f877cf1d.cloud.bunnyroute.com/wp-content/uploads/2026/07/arrow-button.png")) !important;
    background-repeat: no-repeat !important;
    background-size: 70px auto !important;
    background-position: -36px center !important;
    transition: background-position 0.45s cubic-bezier(0.65, 0, 0.35, 1) !important;
}

.gr-project-map .gr-map-card-link:hover,
.gr-project-map .gr-map-card-link:focus-visible {
    background-position: 12px center !important;
}

.gr-project-map .gr-map-card-link span {
    display: none !important;
}

/* Same mobile look-and-feel, but KEEP the existing automatic map position.
   The JS still places the card beside the selected pin/highlight (right first,
   then top/bottom fallback). Only the internal card layout is stacked. */
.gr-project-map .gr-map-card {
    grid-template-columns: 1fr !important;
}

.gr-project-map .gr-map-card-image-wrap,
.gr-project-map .gr-map-card-image {
    width: 100% !important;
    min-height: 0 !important;
}

.gr-project-map .gr-map-card-image {
    display: block;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* Tablet */
@media (max-width: 1024px) {
    .gr-project-map .gr-map-tabs {
        gap: 34px;
        overflow-x: auto;
    }

    .gr-project-map .gr-map-tab,
    .gr-project-map .gr-map-tab.is-active {
        font-size: 22px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .gr-project-map .gr-map-tabs {
        gap: 26px;
        margin-bottom: 28px;
    }

    .gr-project-map .gr-map-tab,
    .gr-project-map .gr-map-tab.is-active {
        padding-bottom: 9px !important;
        font-size: 18px !important;
    }

    .gr-project-map .gr-map-tab::after {
        height: 2px;
    }

    .gr-project-map .gr-map-card-link {
        width: 38.497px;
        height: 38.497px;
    }

    .gr-project-map .gr-map-card-close {
        top: 3px !important;
        right: 16px !important;
        width: 19px !important;
        height: 19px !important;
        font-size: 35px !important;
    }

    .gr-project-map .gr-map-card,
    .gr-project-map.gr-card-left .gr-map-card,
    .gr-project-map.gr-card-right .gr-map-card,
    .gr-project-map.gr-card-center .gr-map-card {
        left: 20px !important;
        right: 20px !important;
        width: auto !important;
        max-width: none !important;
        transform: translateY(calc(-50% + 20px)) !important;
    }

    .gr-project-map .gr-map-card.is-active,
    .gr-project-map.gr-card-left .gr-map-card.is-active,
    .gr-project-map.gr-card-right .gr-map-card.is-active,
    .gr-project-map.gr-card-center .gr-map-card.is-active {
        transform: translateY(-50%) !important;
    }
}

@media (max-width: 1264px) {
    .gr-project-map .gr-map-main-image,
    .gr-project-map .gr-map-instruction {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .gr-project-map.gr-mobile-active.gr-mobile-tabs-dropdown .gr-map-tabs {
        max-width: calc(100% - 40px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* v1.8.8 desktop/tablet card positioning:
   preserve the original automatic position next to the selected project. */
@media (min-width: 768px) {
    .gr-project-map .gr-map-card,
    .gr-project-map.gr-card-left .gr-map-card,
    .gr-project-map.gr-card-right .gr-map-card,
    .gr-project-map.gr-card-center .gr-map-card {
        position: absolute !important;
        right: auto;
        bottom: auto;
        max-height: none !important;
        overflow: visible !important;
    }

    /* When JS calculates a safe position, its inline left/top/transform values
       must remain authoritative. */
    .gr-project-map .gr-map-card.gr-card-auto-position {
        position: absolute !important;
    }
}


/* =========================================================
   v1.8.9 card dimensions + stable scroll lock
   ========================================================= */

/* Desktop / tablet popup exact design dimensions */
@media (min-width: 768px) {
    .gr-project-map .gr-map-card,
    .gr-project-map.gr-card-left .gr-map-card,
    .gr-project-map.gr-card-right .gr-map-card,
    .gr-project-map.gr-card-center .gr-map-card {
        width: 350px !important;
        height: 389px !important;
        min-height: 389px !important;
        max-width: 350px !important;
        overflow: hidden !important;
    }

    .gr-project-map .gr-map-card-image-wrap {
        width: 350px !important;
        height: 206px !important;
        min-height: 206px !important;
        max-height: 206px !important;
        overflow: hidden !important;
    }

    .gr-project-map .gr-map-card-image {
        display: block !important;
        width: 350px !important;
        height: 206px !important;
        min-height: 206px !important;
        max-height: 206px !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
    }

    .gr-project-map .gr-map-card-content {
        height: 183px !important;
        min-height: 183px !important;
        overflow: hidden !important;
    }
}

/* Keep scroll position completely stable while popup is open. */
html.gr-map-body-locked,
body.gr-map-body-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}
