:root { --fm-exterior: #e5e7eb;
--fm-road: #d5d8de;
--fm-green: #cedbc9;
--fm-parking: #dfe1e5; --fm-building: #ffffff; --fm-boundary: #c9baa8;
--fm-boundary-width: 3;
--fm-boundary-offset: 2; --fm-room: #ddd3c7;
--fm-room-stroke: #ffffff;
--fm-room-width: 0.75;
--fm-room-tenant: #d2c5b5;
--fm-room-hover: #c9baa8;
--fm-room-selected: #bf8074; --fm-icon-bg: #ffffff;
--fm-icon-glyph: #000000;
--fm-icon-scale: 1.5;
--fm-icon-shadow: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.12)); --fm-entrance-bg: #000000;
--fm-entrance-glyph: #ffffff;
--fm-entrance-scale: 1.25; --fm-parking-badge: #8f8f8f;
--fm-parking-scale: 1.25; --fm-bus-scale: 1.25; --fm-text: #8f8f8f;
--fm-text-font: 'KH Grotesk', 'DM Sans', Arial, sans-serif; --fm-path-idle: #b0b0b0;
--fm-path-active: #000000; --fm-pin-scale: 0.5; --fm-label: #000000; --fm-ease: cubic-bezier(0.4, 0, 0.2, 1);
--fm-duration: 0.25s;
} .floor-map-fs__map-area {
background-color: var(--fm-exterior) !important;
} .floor-map-fs__svg-floor svg #Chodnik,
.floor-map-trigger__svg svg #Chodnik {
fill: var(--fm-exterior) !important;
}
.floor-map-fs__svg-floor svg #Droga,
.floor-map-trigger__svg svg #Droga {
fill: var(--fm-road) !important;
}
.floor-map-fs__svg-floor svg #green,
.floor-map-trigger__svg svg #green {
fill: var(--fm-green) !important;
}
.floor-map-fs__svg-floor svg [id*='parking'],
.floor-map-trigger__svg svg [id*='parking'],
.floor-map-fs__svg-floor svg [id^='Parkingdecor'],
.floor-map-trigger__svg svg [id^='Parkingdecor'] {
fill: var(--fm-parking) !important;
stroke: none;
}
.floor-map-fs__svg-floor svg #decor path[id*='wall'],
.floor-map-fs__svg-floor svg #decor polyline[id*='wall'],
.floor-map-fs__svg-floor svg #decor line[id*='wall'] {
stroke: var(--fm-room-stroke) !important;
stroke-width: var(--fm-room-width);
} .floor-map-fs__svg-floor svg polygon[fill='#C6B9B5'],
.floor-map-trigger__svg svg polygon[fill='#C6B9B5'],
.floor-map-fs__svg-floor svg polygon[fill='#a7c4c4'],
.floor-map-trigger__svg svg polygon[fill='#a7c4c4'],
.floor-map-fs__svg-floor svg polyline[fill='#a7c4c4'],
.floor-map-trigger__svg svg polyline[fill='#a7c4c4'],
.floor-map-fs__svg-floor svg rect[fill='#a7c4c4'],
.floor-map-trigger__svg svg rect[fill='#a7c4c4'],
.floor-map-fs__svg-floor svg polygon[fill='#969696'],
.floor-map-trigger__svg svg polygon[fill='#969696'], .floor-map-fs__svg-floor svg polyline[fill='#969696'],
.floor-map-trigger__svg svg polyline[fill='#969696'],
.floor-map-fs__svg-floor svg rect[fill='#969696'],
.floor-map-trigger__svg svg rect[fill='#969696'],
.floor-map-fs__svg-floor svg polyline[fill='#09f'],
.floor-map-trigger__svg svg polyline[fill='#09f'],
.floor-map-fs__svg-floor svg rect[fill='#09f'],
.floor-map-trigger__svg svg rect[fill='#09f'],
.floor-map-fs__svg-floor svg polygon[fill='#09f'],
.floor-map-trigger__svg svg polygon[fill='#09f'] {
fill: var(--fm-exterior) !important;
stroke: none !important;
}
.floor-map-fs__svg-floor svg polygon[fill='#969696'],
.floor-map-trigger__svg svg polygon[fill='#969696'],
.floor-map-fs__svg-floor svg path[fill='#969696'],
.floor-map-trigger__svg svg path[fill='#969696'],
.floor-map-fs__svg-floor svg path[id*='void'],
.floor-map-trigger__svg svg path[id*='void'],
.floor-map-fs__svg-floor svg polygon[id*='void'],
.floor-map-trigger__svg svg polygon[id*='void'],
.floor-map-fs__svg-floor svg rect[id*='void'],
.floor-map-trigger__svg svg rect[id*='void'] {
fill: var(--fm-exterior) !important;
stroke: none;
}
.floor-map-fs__svg-floor *[fill-opacity='.5'] {
fill-opacity: 1 !important;
} .floor-map-fs__svg-floor svg #building_outline,
.floor-map-trigger__svg svg #building_outline,
.floor-map-fs__svg-floor svg #wall,
.floor-map-trigger__svg svg #wall,
.floor-map-fs__svg-floor svg #decor rect[fill='#969696'],
.floor-map-trigger__svg svg #decor rect[fill='#969696'] {
fill: var(--fm-building) !important;
stroke: none !important;
filter: drop-shadow(0px 8px 24px rgba(0, 0, 0, 0.2));
}
.floor-map-fs__svg-floor svg #decor rect[fill='#969696'],
.floor-map-trigger__svg svg #decor rect[fill='#969696'] {
filter: none;
} .floor-map-fs__svg-floor svg .fm-wall-outline,
.floor-map-trigger__svg svg .fm-wall-outline {
fill: none !important;
stroke: var(--fm-boundary) !important;
stroke-width: var(--fm-boundary-width);
stroke-linejoin: round;
filter: none;
pointer-events: none;
} .floor-map-fs__svg-floor svg #Rooms path,
.floor-map-fs__svg-floor svg #Rooms polygon,
.floor-map-fs__svg-floor svg #Rooms circle[fill='#09f'],
.floor-map-fs__svg-floor svg #Rooms rect,
.floor-map-trigger__svg svg #Rooms path,
.floor-map-trigger__svg svg #Rooms polygon,
.floor-map-trigger__svg svg #Rooms circle[fill='#09f'],
.floor-map-trigger__svg svg #Rooms rect {
fill: var(--fm-room) !important;
stroke: var(--fm-room-stroke) !important;
stroke-width: var(--fm-room-width);
stroke-linejoin: round;
cursor: pointer;
transition:
fill var(--fm-duration) var(--fm-ease),
filter var(--fm-duration) var(--fm-ease);
} .floor-map-fs__svg-floor svg #Rooms path:hover,
.floor-map-fs__svg-floor svg #Rooms polygon:hover,
.floor-map-fs__svg-floor svg #Rooms circle[fill='#09f']:hover,
.floor-map-fs__svg-floor svg #Rooms rect:hover {
fill: var(--fm-room-hover) !important;
} .floor-map-fs__svg-floor svg #Rooms .fm-tenant,
.floor-map-trigger__svg svg #Rooms .fm-tenant {
fill: var(--fm-room-tenant) !important;
}
.floor-map-fs__svg-floor svg #Rooms .fm-tenant:hover {
fill: var(--fm-room-hover) !important;
} .fm-tenant-highlight {
fill: var(--fm-room-tenant) !important;
opacity: 0.85;
cursor: pointer;
transition:
fill 0.2s,
opacity 0.2s;
}
.fm-tenant-highlight:hover {
fill: var(--fm-room-hover) !important;
opacity: 1;
} .floor-map-fs__svg-floor svg #Rooms .fm-selected {
fill: var(--fm-room-selected) !important;
stroke: var(--fm-room-stroke) !important;
stroke-width: var(--fm-room-width);
filter: drop-shadow(0 0 10px rgba(191, 128, 116, 0.45));
}
.floor-map-fs__svg-floor svg #Rooms .fm-selected:hover {
fill: var(--fm-room-selected) !important;
} .floor-map-fs__svg-floor svg #image_containers rect,
.floor-map-trigger__svg svg #image_containers rect {
fill: transparent !important;
stroke: none !important;
pointer-events: none;
} .floor-map-fs__svg-floor svg #ikony,
.floor-map-trigger__svg svg #ikony {
pointer-events: none;
} .floor-map-fs__svg-floor svg #ikony path,
.floor-map-fs__svg-floor svg #ikony circle,
.floor-map-fs__svg-floor svg #ikony line,
.floor-map-fs__svg-floor svg #ikony polyline,
.floor-map-fs__svg-floor svg #ikony polygon,
.floor-map-fs__svg-floor svg #ikony rect,
.floor-map-trigger__svg svg #ikony path,
.floor-map-trigger__svg svg #ikony circle,
.floor-map-trigger__svg svg #ikony line,
.floor-map-trigger__svg svg #ikony polyline,
.floor-map-trigger__svg svg #ikony polygon,
.floor-map-trigger__svg svg #ikony rect {
stroke: none !important;
} .floor-map-fs__svg-floor svg #ikony g:has(> circle),
.floor-map-trigger__svg svg #ikony g:has(> circle),
.floor-map-fs__svg-floor svg #ikony g[id*='Gescalator'] path[fill='#e5e5e5']:first-child,
.floor-map-trigger__svg svg #ikony g[id*='Gescalator'] path[fill='#e5e5e5']:first-child,
.floor-map-fs__svg-floor svg #ikony g[id*='parkingico']:has(> circle),
.floor-map-trigger__svg svg #ikony g[id*='parkingico']:has(> circle) {
transform-box: fill-box;
transform-origin: center center;
transform: scale(var(--fm-icon-scale));
filter: var(--fm-icon-shadow);
} .floor-map-fs__svg-floor svg #ikony circle,
.floor-map-trigger__svg svg #ikony circle {
fill: var(--fm-icon-bg) !important;
} .floor-map-fs__svg-floor svg #ikony path,
.floor-map-trigger__svg svg #ikony path {
fill: var(--fm-icon-glyph) !important;
}
.floor-map-fs__svg-floor svg #ikony g[id*='Gescalator'] path:first-child,
.floor-map-trigger__svg svg #ikony g[id*='Gescalator'] path:first-child {
fill: var(--fm-icon-bg) !important;
} .floor-map-fs__svg-floor svg #ikony #parking g:has(> circle),
.floor-map-trigger__svg svg #ikony #parking g:has(> circle) {
transform: scale(var(--fm-parking-scale));
}
.floor-map-fs__svg-floor svg #ikony #parking circle,
.floor-map-trigger__svg svg #ikony #parking circle,
.floor-map-fs__svg-floor svg #ikony g[id*='parkingico'] circle,
.floor-map-trigger__svg svg #ikony g[id*='parkingico'] circle {
fill: var(--fm-parking-badge) !important;
rx: 1.2;
}
.floor-map-fs__svg-floor svg #ikony #parking path,
.floor-map-trigger__svg svg #ikony #parking path,
.floor-map-fs__svg-floor svg #ikony g[id*='parkingico'] path,
.floor-map-trigger__svg svg #ikony g[id*='parkingico'] path {
fill: #ffffff !important;
} .floor-map-fs__svg-floor svg #ikony #przystanek g:has(> circle),
.floor-map-trigger__svg svg #ikony #przystanek g:has(> circle) {
transform: scale(var(--fm-bus-scale));
} .floor-map-fs__svg-floor svg [id*='Gentrance'],
.floor-map-trigger__svg svg [id*='Gentrance'],
.floor-map-fs__svg-floor svg [id^='wejscie'],
.floor-map-trigger__svg svg [id^='wejscie'] {
transform-box: fill-box;
transform-origin: center center;
transform: scale(var(--fm-entrance-scale));
filter: drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.18));
}
.floor-map-fs__svg-floor svg [id*='Gentrance'] circle,
.floor-map-trigger__svg svg [id*='Gentrance'] circle,
.floor-map-fs__svg-floor svg [id^='wejscie'] circle,
.floor-map-trigger__svg svg [id^='wejscie'] circle {
fill: var(--fm-entrance-bg) !important;
stroke: none !important;
}
.floor-map-fs__svg-floor svg [id*='Gentrance'] path,
.floor-map-trigger__svg svg [id*='Gentrance'] path,
.floor-map-fs__svg-floor svg [id^='wejscie'] path,
.floor-map-trigger__svg svg [id^='wejscie'] path {
fill: var(--fm-entrance-glyph) !important;
stroke: none !important;
}
.floor-map-fs__svg-floor svg #ikony [id*='entrance'] circle,
.floor-map-trigger__svg svg #ikony [id*='entrance'] circle {
fill: var(--fm-entrance-bg) !important;
stroke: none !important;
}
.floor-map-fs__svg-floor svg #ikony [id*='entrance'] path,
.floor-map-trigger__svg svg #ikony [id*='entrance'] path {
fill: var(--fm-entrance-glyph) !important;
stroke: none !important;
} .floor-map-fs__svg-floor svg #Doors,
.floor-map-trigger__svg svg #Doors {
display: none;
} .floor-map-fs__svg-floor svg #Portals,
.floor-map-trigger__svg svg #Portals {
display: none;
} .floor-map-fs__svg-floor svg #Paths {
opacity: 0;
pointer-events: none;
transition: opacity 0.4s var(--fm-ease);
}
.floor-map-fs__svg-floor svg #Paths path,
.floor-map-fs__svg-floor svg #Paths line {
stroke: var(--fm-path-idle) !important;
stroke-width: 0.75;
stroke-dasharray: 3 2;
} .floor-map-fs.show-paths .floor-map-fs__svg-floor svg #Paths {
opacity: 1;
} .floor-map-fs__svg-floor svg .fm-active-path {
stroke: var(--fm-path-active) !important;
stroke-width: 2 !important;
stroke-dasharray: 8 6 !important;
animation: fm-dash-march 1.4s linear infinite;
}
@keyframes fm-dash-march {
to {
stroke-dashoffset: -14;
}
} .floor-map-fs__svg-floor svg #wayfinding {
pointer-events: none;
} .fm-route-line {
fill: none;
stroke: var(--fm-path-active);
stroke-width: 1.5;
stroke-linecap: round;
stroke-linejoin: round;
pointer-events: none;
} .fm-route-line.fm-marching {
stroke-dasharray: 0.1 4;
animation: fm-dot-march 1s linear infinite;
}
@keyframes fm-dot-march {
to {
stroke-dashoffset: -4.1;
}
} .fm-destination-marker {
fill: var(--fm-path-active);
pointer-events: none;
} .fm-destination-pulse {
fill: var(--fm-path-active);
opacity: 0.3;
pointer-events: none;
animation: fm-dest-pulse 2s ease-in-out infinite;
}
@keyframes fm-dest-pulse {
0%,
100% {
r: 3;
opacity: 0.3;
}
50% {
r: 6;
opacity: 0;
}
} #you-are-here {
transform: translate(-50%, -100%) scale(var(--fm-pin-scale));
transform-origin: 50% 100%;
}
#you-are-here > div:last-child {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
} .floor-map-fs__svg-floor svg text,
.floor-map-trigger__svg svg text {
font-family: var(--fm-text-font) !important;
fill: var(--fm-text) !important;
font-size: 11px !important;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.15em;
} .fm-label {
position: absolute;
font-family: 'KH Grotesk', 'DM Sans', Arial, sans-serif;
font-size: 12px;
font-weight: 700;
color: var(--fm-label);
text-transform: uppercase;
letter-spacing: 0.06em;
pointer-events: none;
white-space: nowrap;
text-align: center;
transform: translate(-50%, -50%);
text-shadow:
0 0 4px rgba(255, 255, 255, 1),
0 0 8px rgba(255, 255, 255, 0.6);
} .fm-label--selected {
color: #ffffff;
text-shadow:
0 0 4px rgba(0, 0, 0, 0.6),
0 0 8px rgba(0, 0, 0, 0.3);
} .floor-map-fs__svg-tooltip {
background: var(--fm-icon-glyph);
} body.high-contrast {
--fm-exterior: #0a0a0a;
--fm-road: #111111;
--fm-green: #0a0a0a;
--fm-parking: #111111;
--fm-building: #1a1a1a;
--fm-boundary: #ffff00;
--fm-boundary-width: 1.5;
--fm-room: #2a2a2a;
--fm-room-stroke: #ffff00;
--fm-room-width: 1;
--fm-room-tenant: #333333;
--fm-room-hover: #444444;
--fm-room-selected: #ffff00;
--fm-icon-bg: #000000;
--fm-icon-glyph: #ffff00;
--fm-icon-shadow: drop-shadow(0px 1px 3px rgba(255, 255, 0, 0.2));
--fm-entrance-bg: #ffff00;
--fm-entrance-glyph: #000000;
--fm-parking-badge: #ffff00;
--fm-text: #888888;
--fm-path-idle: #ffff00;
--fm-path-active: #ffffff;
--fm-label: #ffff00;
} body.high-contrast .floor-map-fs__svg-floor svg #ikony #parking path,
body.high-contrast .floor-map-trigger__svg svg #ikony #parking path {
fill: #000000 !important;
} body.high-contrast .floor-map-fs__svg-floor svg #building_outline,
body.high-contrast .floor-map-trigger__svg svg #building_outline,
body.high-contrast .floor-map-fs__svg-floor svg #wall,
body.high-contrast .floor-map-trigger__svg svg #wall {
filter: drop-shadow(0px 6px 20px rgba(255, 255, 0, 0.1));
}
body.high-contrast .floor-map-fs__svg-floor svg .fm-wall-outline,
body.high-contrast .floor-map-trigger__svg svg .fm-wall-outline {
stroke: var(--fm-boundary) !important;
} body.high-contrast .floor-map-fs__svg-floor svg #Rooms path:hover,
body.high-contrast .floor-map-fs__svg-floor svg #Rooms polygon:hover,
body.high-contrast .floor-map-fs__svg-floor svg #Rooms circle[fill='#09f']:hover,
body.high-contrast .floor-map-fs__svg-floor svg #Rooms rect:hover {
stroke: #ffffff !important;
} body.high-contrast .floor-map-fs__svg-floor svg #Rooms .fm-selected {
fill: var(--fm-room-selected) !important;
stroke: #ffffff !important;
filter: drop-shadow(0 0 8px rgba(255, 255, 0, 0.4));
} body.high-contrast .floor-map-fs__svg-floor svg #Doors,
body.high-contrast .floor-map-trigger__svg svg #Doors {
display: none;
} body.high-contrast .floor-map-fs__svg-floor svg polygon[fill='#C6B9B5'],
body.high-contrast .floor-map-trigger__svg svg polygon[fill='#C6B9B5'] {
fill: var(--fm-exterior) !important;
} body.high-contrast .fm-label {
color: var(--fm-label);
text-shadow: 0 0 3px rgba(0, 0, 0, 0.9);
} body.high-contrast .fm-route-line {
stroke: var(--fm-path-active);
stroke-width: 2;
}
body.high-contrast .fm-route-line.fm-marching {
stroke-width: 2;
}
body.high-contrast .fm-destination-marker {
fill: var(--fm-path-active);
}
body.high-contrast .fm-destination-pulse {
fill: var(--fm-path-active);
}