/* FotoFlow demo */
.rsd .bd{font-variant-numeric:normal}

.ffm{position:absolute;inset:0;container-type:inline-size;display:flex;background:#F6F9FB;color:#0F172A;font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;font-size:1.346cqw;line-height:1.35;text-align:left;overflow:hidden;-webkit-font-smoothing:antialiased}
.ffm *{box-sizing:border-box}
.ffm button{font:inherit;color:inherit;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:inherit}
.ffm svg{display:block}
.ffm .fm-mint{display:inline-flex;align-items:center;justify-content:center;gap:0.577cqw;height:3.462cqw;padding:0 1.538cqw;border:0;border-radius:9.519cqw;background:#6EE7B7;color:#0F172A;font-size:1.394cqw;font-weight:500;white-space:nowrap;transition:background .15s}
.fm-side{position:absolute;left:0;top:0;bottom:0;z-index:8;width:22.692cqw;background:#FFFFFF;border-right:1px solid #E8EDF2;display:flex;flex-direction:column;min-height:0;transform:translateX(-102%);transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s;visibility:hidden}
.ffm.side-on .fm-side{transform:none;visibility:visible;box-shadow:1.154cqw 0 3.846cqw rgba(15,23,42,.14)}
.fm-scrim{position:absolute;inset:0;z-index:7;background:rgba(15,23,42,.06);animation:fmFade .25s ease both}
.fm-stop{display:flex;align-items:center;gap:0.769cqw;height:6.154cqw;padding:0 1.154cqw 0 1.538cqw;border-bottom:1px solid #EEF2F6}
.fm-stop h3{margin:0;flex:1 1 auto;font-size:1.635cqw;font-weight:400;line-height:1.15}
.fm-load{margin:0;padding:0.962cqw 0 0.865cqw;text-align:center;border-bottom:1px solid #EEF2F6}
.ffm .fm-load button{border:0;background:none;padding:2px 0.385cqw;font-size:1.202cqw;color:#64748B;text-decoration:underline;text-underline-offset:2px}
.fm-dag{display:flex;align-items:center;gap:0.769cqw;padding:1.154cqw 0.962cqw 1.154cqw 1.538cqw;border-bottom:1px solid #F3F6F9;cursor:pointer;transition:background .15s}
.fm-dag.on{background:#F1F5F9}
.fm-dt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:0.288cqw}
.fm-dt b{font-size:1.394cqw;font-weight:700;white-space:nowrap}
.fm-dt small{font-size:1.154cqw;color:#64748B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-kred{margin:auto 0 0;padding:1.154cqw 1.346cqw 1.346cqw;font-size:1.010cqw;line-height:1.45;color:#94A3B8}
.ffm .fm-ik{flex:none;width:3.077cqw;height:3.077cqw;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#FFFFFF;border:0;box-shadow:0 1px 0.288cqw rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.03);color:#334155;padding:0}
.ffm .fm-ik svg{width:1.538cqw;height:1.538cqw}
.ffm .fm-ik.fm-flat{box-shadow:none;border:1px solid #E5E7EB}
.fm-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.fm-top{flex:none;height:6.154cqw;display:flex;align-items:center;gap:0.962cqw;padding:0 1.346cqw 0 1.346cqw;background:#FFFFFF;border-bottom:1px solid #EEF2F6}
.fm-top h2{margin:0 2px 0 0;flex:none;font-size:1.635cqw;font-weight:500;letter-spacing:-.01em}
.fm-felter{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:0.962cqw;min-width:0}
.fm-f{display:flex;align-items:center;gap:0.481cqw;font-size:1.202cqw;white-space:nowrap}
.fm-f > b{font-weight:500}
.fm-f > b i{font-style:normal;color:#FB7185;margin-left:1px}
.ffm .fm-in{display:inline-flex;align-items:center;gap:0.577cqw;height:3.269cqw;padding:0 0.769cqw 0 0.962cqw;border:1px solid #E5E7EB;border-radius:0.865cqw;background:#FFFFFF;font-size:1.250cqw;color:#0F172A}
.ffm .fm-in.fm-sm{padding:0 1.058cqw 0 1.058cqw}
.fm-in-ik svg{width:1.346cqw;height:1.346cqw;color:#334155}
.fm-min{font-style:normal;font-size:1.202cqw;color:#64748B}
.fm-hjem{display:inline-flex;align-items:center;gap:0.577cqw;height:3.269cqw;padding:0 0.962cqw;border-radius:0.865cqw;background:#EAEFF5;font-size:1.250cqw;color:#0F172A}
.ffm .fm-hjem button{border:0;background:none;padding:0;color:#F43F5E;font-size:1.250cqw}
.ffm .fm-opt{flex:none;height:3.654cqw;padding:0 1.442cqw;font-size:1.346cqw}
.fm-fortryd{flex:none;display:inline-flex;align-items:center;justify-content:center;width:3.462cqw;height:3.462cqw;padding:0;border:1px solid #E5E7EB;border-radius:50%;background:#FFFFFF;animation:fmPop .25s ease both}
.fm-fortryd svg{width:1.635cqw;height:1.635cqw}
.fm-midt{flex:1 1 auto;min-height:0;display:flex;gap:1.538cqw;padding:1.154cqw 1.346cqw 0 1.538cqw}
.fm-liste{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:0.673cqw;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;padding:0 0.385cqw 0.962cqw 2px;margin:0 -0.385cqw 0 -2px}
.fm-lhead{flex:none;display:flex;align-items:center;gap:0.962cqw;min-height:2.885cqw}
.fm-lbl{margin:0;flex:1 1 auto;font-size:1.346cqw;font-weight:500}
.ffm .fm-tog{display:inline-flex;align-items:center;gap:0.673cqw;border:0;background:none;padding:0;font-size:1.202cqw;color:#475569}
.fm-tog i{position:relative;width:3.077cqw;height:1.827cqw;border-radius:9.519cqw;background:#E2E8F0;transition:background .25s}
.fm-tog i::after{content:'';position:absolute;left:0.240cqw;top:0.240cqw;width:1.346cqw;height:1.346cqw;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 2px rgba(15,23,42,.2);transition:transform .25s}
.fm-tog.on i{background:#6EE7B7}
.fm-tog.on i::after{transform:translateX(1.250cqw)}
.ffm .fm-fores{display:inline-flex;align-items:center;gap:0.481cqw;height:2.885cqw;padding:0 1.058cqw 0 0.769cqw;border:1px solid #E5E7EB;border-radius:9.519cqw;background:#FFFFFF;font-size:1.202cqw}
.ffm .fm-fores svg{width:1.442cqw;height:1.442cqw}
.ffm .fm-fores.on{background:#FEF9C3;border-color:#FDE68A}
.fm-forslag{flex:none;display:flex;gap:0.962cqw;align-items:flex-start;padding:0.962cqw 1.346cqw 0.962cqw 0.962cqw;border-radius:1.154cqw;background:#FEF9C3;animation:fmPop .25s ease both}
.fm-forslag .b{flex:none;width:2.692cqw;height:2.692cqw;border-radius:50%;background:#FFFFFF;display:inline-flex;align-items:center;justify-content:center}
.fm-forslag .b svg{width:1.442cqw;height:1.442cqw}
.fm-forslag p{margin:0;font-size:1.250cqw;line-height:1.45}
.fm-forslag b{font-weight:700}
.fm-ende{flex:none;display:flex;align-items:center;height:4.231cqw;padding:0 1.538cqw;border-radius:1.154cqw;background:#E8EEF4}
.fm-ende .t{width:8.077cqw;flex:none;font-family:'Fira Mono',ui-monospace,monospace;font-size:1.250cqw}
.fm-et{display:flex;flex-direction:column;font-size:1.250cqw;color:#64748B;line-height:1.25}
.fm-et small{font-size:0.913cqw;letter-spacing:.06em;color:#94A3B8}
.fm-transp{flex:none;margin:-2px 0;padding-left:1.538cqw;font-size:1.154cqw;line-height:1.538cqw;color:#64748B}
.fm-row{flex:none;position:relative;display:flex;align-items:center;gap:0.962cqw;height:5.000cqw;padding:0 0.865cqw 0 1.346cqw;border-radius:1.154cqw;background:#FFFFFF;box-shadow:0 1px 0.288cqw rgba(15,23,42,.07),0 0 0 1px rgba(15,23,42,.025);transition:box-shadow .15s}
.fm-row.hov{box-shadow:0 2px 0.962cqw rgba(15,23,42,.10),0 0 0 1.5px #0F172A}
.fm-row.lift{z-index:4;box-shadow:0 0 0 2px #0F172A,0 1.154cqw 2.308cqw rgba(15,23,42,.16)}
.fm-row .t{width:5.385cqw;flex:none;font-family:'Fira Mono',ui-monospace,monospace;font-size:1.202cqw;line-height:1.3}
.fm-vejr{width:2.500cqw;height:2.500cqw;flex:none;position:relative}
.fm-vejr svg{position:absolute;inset:0;width:100%;height:100%;display:none}
.fm-vejr.v-sol .w-sol,.fm-vejr.v-delvis .w-delvis,.fm-vejr.v-sky .w-sky{display:block}
.fm-adr{flex:1 1 auto;min-width:0;font-size:1.346cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ffm .fm-pk{flex:none;width:14.423cqw;height:3.269cqw;display:inline-flex;align-items:center;justify-content:space-between;gap:2px;padding:0 0.577cqw 0 0.962cqw;border:1px solid #E5E7EB;border-radius:0.865cqw;background:#FFFFFF;font-size:1.202cqw;color:#0F172A;white-space:nowrap}
.ffm .fm-pk span{overflow:hidden;text-overflow:ellipsis}
.ffm .fm-pk svg{flex:none;width:1.346cqw;height:1.346cqw;color:#64748B}
.fm-hand{flex:none;display:flex;align-items:center;gap:0.385cqw}
.ffm .fm-hand .fm-ik{width:2.692cqw;height:2.692cqw}
.ffm .fm-hand .fm-ik svg{width:1.346cqw;height:1.346cqw}
.ffm .fm-ik.lock{background:#0F172A;color:#FFFFFF}
.ffm .fm-greb{color:#94A3B8;cursor:grab;touch-action:none}
.fm-row.sw1{animation:fmIn1 .42s cubic-bezier(.2,.7,.3,1) calc(var(--i) * .05s) both}
.fm-row.sw2{animation:fmIn2 .42s cubic-bezier(.2,.7,.3,1) calc(var(--i) * .05s) both}
.fm-row.lk{box-shadow:0 1px 0.288cqw rgba(15,23,42,.07),0 0 0 1px rgba(15,23,42,.025),inset 0.288cqw 0 0 #0F172A}
.fm-tilf{flex:none;position:relative;display:flex;align-items:center;gap:0.962cqw;height:5.192cqw;padding:0 0.962cqw 0 1.154cqw;border-radius:1.154cqw;background:#FFFFFF;box-shadow:0 1px 0.288cqw rgba(15,23,42,.07);font-size:1.346cqw}
.fm-tilf b{font-weight:500}
.fm-plus{flex:none;width:2.885cqw;height:2.885cqw;border-radius:50%;background:#D1FAE5;display:inline-flex;align-items:center;justify-content:center}
.fm-plus svg{width:1.442cqw;height:1.442cqw}
.ffm .fm-adrin{flex:1 1 auto;height:3.269cqw;display:flex;align-items:center;padding:0 1.154cqw;border:1px solid #E5E7EB;border-radius:0.865cqw;background:#FFFFFF;color:#94A3B8;font-size:1.250cqw}
.fm-eller{font-size:1.250cqw;color:#64748B}
.ffm .fm-mint.fm-sm2{height:3.269cqw;font-size:1.298cqw}
.fm-ordrer{position:absolute;right:0.577cqw;bottom:calc(100% + 0.769cqw);width:32.692cqw;max-height:27.885cqw;overflow:auto;padding:0.769cqw;border-radius:1.154cqw;background:#FFFFFF;box-shadow:0 0.962cqw 2.885cqw rgba(15,23,42,.16),0 0 0 1px rgba(15,23,42,.06);z-index:6;animation:fmPop .2s ease both}
.fm-ordrer .h{margin:2px 0.577cqw 0.577cqw;font-size:1.058cqw;letter-spacing:.04em;text-transform:uppercase;color:#94A3B8}
.ffm .fm-ord{display:flex;align-items:center;justify-content:space-between;gap:0.962cqw;width:100%;padding:0.769cqw 0.769cqw;border:0;border-radius:0.769cqw;background:none;font-size:1.250cqw;text-align:left}
.fm-ord small{flex:none;font-size:1.106cqw;color:#64748B}
.fm-ordrer .tom{margin:0.577cqw;font-size:1.250cqw;color:#64748B}
.fm-bub{position:absolute;left:50%;bottom:calc(100% + 0.769cqw);transform:translateX(-50%);width:21.154cqw;padding:0.769cqw 0.962cqw;border-radius:0.769cqw;background:#1E293B;color:#FFFFFF;font-size:1.106cqw;font-weight:400;line-height:1.5;white-space:pre-line;text-align:left;letter-spacing:0;opacity:0;pointer-events:none;transition:opacity .15s;z-index:8}
.fm-bub.l{left:0;transform:none}
.fm-bub.r{left:auto;right:0;transform:none}
.fm-vejr:hover .fm-bub,.fm-sk:hover .fm-bub{opacity:1}
.fm-kortkol{flex:none;width:34.615cqw;display:flex}
.fm-kort{position:relative;flex:1 1 auto;border-radius:1.538cqw;overflow:hidden;background:#F2F0E6;box-shadow:0 1px 0.288cqw rgba(15,23,42,.08),0 0 0 1px rgba(15,23,42,.04)}
.fm-kort svg{position:absolute;inset:0;width:100%;height:100%}
.fm-zoom{position:absolute;left:0.962cqw;top:0.962cqw;display:flex;flex-direction:column;background:#FFFFFF;border-radius:0.481cqw;box-shadow:0 0 0 2px rgba(0,0,0,.18)}
.fm-zoom i{font-style:normal;width:2.500cqw;height:2.500cqw;display:flex;align-items:center;justify-content:center;font:600 1.538cqw/1 system-ui,sans-serif;color:#111827}
.fm-zoom i + i{border-top:1px solid #DDDDDD}
.fm-skala{position:absolute;left:0.962cqw;bottom:0.962cqw;height:1.731cqw;padding:0 0.481cqw;border:2px solid #777777;border-top:0;background:rgba(255,255,255,.75);font:1.058cqw/1.538cqw system-ui,sans-serif;color:#333333;white-space:nowrap;box-sizing:border-box}
.fm-attr{position:absolute;right:0;bottom:0;padding:1px 0.577cqw;background:rgba(255,255,255,.8);font-size:0.962cqw;color:#333333;border-top-left-radius:0.385cqw}
.fm-kort .m-land{fill:#F2F0E6}
.fm-kort .m-by{fill:#E4E1DA}
.fm-kort .m-skov{fill:#CDE3BC}
.fm-kort .m-vand{fill:#AAD3DF;stroke:#AAD3DF;stroke-width:calc(1.4px * var(--k, 1));stroke-linejoin:round}
.fm-kort .m-sverige{fill:#F2F0E6}
.fm-kort .m-vej{fill:none;stroke:#F7D7A8;stroke-width:calc(1.15px * var(--k, 1));stroke-linecap:round}
.fm-kort .m-mv{fill:none;stroke:#E99CAB;stroke-width:calc(1.5px * var(--k, 1));stroke-linecap:round}
.fm-kort .fm-rute{fill:none;stroke:#3388FF;stroke-width:calc(1.45px * var(--k, 1));stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.fm-kort .fm-rute.fm-ret{opacity:.45;stroke-dasharray:calc(0.288cqw * var(--k, 1)) calc(0.240cqw * var(--k, 1))}
.fm-kort .fm-rute.rk1{stroke-dasharray:1;animation:fmDraw1 1.1s cubic-bezier(.5,0,.3,1) both}
.fm-kort .fm-rute.rk2{stroke-dasharray:1;animation:fmDraw2 1.1s cubic-bezier(.5,0,.3,1) both}
.fm-kort .fm-hjem-pin rect{fill:#FFFFFF;stroke:#0F172A;stroke-width:1.3}
.fm-kort .fm-hjem-pin circle{fill:#0F172A}
.fm-kort .fm-pin path{fill:#E11D48;stroke:#B0123A;stroke-width:.35}
.fm-kort .fm-pin circle{fill:#FFFFFF}
.fm-kort .fm-pin .pn{font-family:'DM Sans',system-ui,sans-serif;font-size:0.346cqw;font-weight:700;fill:#9F1239}
.fm-kort .fm-pin .pi{transform-box:fill-box;transform-origin:50% 100%;transition:transform .18s cubic-bezier(.3,1.5,.5,1)}
.fm-kort .fm-pin.on .pi{transform:scale(1.4)}
.fm-kort .fm-pin.on path{fill:#0F172A;stroke:#0F172A}
.fm-kort .fm-pin.on .pn{fill:#0F172A}
.fm-kort .fm-pin.lk path{fill:#0F172A;stroke:#0F172A}
.fm-kort .fm-pin.off{display:none}
.fm-stats{flex:none;display:flex;gap:0.673cqw;padding:0.962cqw 1.346cqw 1.154cqw 1.538cqw}
.fm-sk{position:relative;cursor:help;flex:1 1 0;min-width:0;height:6.538cqw;display:flex;flex-direction:column;justify-content:center;gap:0.481cqw;padding:0 0.865cqw 0 1.058cqw;border-radius:1.346cqw;background:#FFFFFF;box-shadow:0 1px 0.288cqw rgba(15,23,42,.07),0 0 0 1px rgba(15,23,42,.025);transition:background .3s}
.fm-sk.good{background:#E3F8EE}.fm-sk.ok{background:#FDF5D9}.fm-sk.bad{background:#FFE6EA}
.fm-sk .m{min-width:0;font-size:1.058cqw;letter-spacing:-.005em;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-info{position:absolute;top:0.673cqw;right:0.673cqw;display:inline-flex;color:#94A3B8;opacity:0;transition:opacity .15s}
.fm-info svg{width:1.154cqw;height:1.154cqw}
.fm-sk:hover .fm-info{opacity:1}
.fm-sk .v{display:flex;align-items:baseline;gap:0.288cqw;font-size:1.538cqw;font-weight:700;white-space:nowrap}
.fm-sk .v em{font-style:normal;font-weight:400;font-size:1.250cqw;color:#64748B}
.fm-sk .pil{font-style:normal;font-size:1.154cqw;margin-left:0.288cqw;animation:fmPop .3s ease both}
/* the card colour says good or bad (Signe's limits); the arrow only says which way it moved */
.fm-sk .pil{color:#475569}
.fm-toast{position:absolute;left:50%;top:7.115cqw;transform:translateX(-50%);display:flex;align-items:center;gap:0.769cqw;padding:0.962cqw 1.538cqw 0.962cqw 1.154cqw;border-radius:0.962cqw;background:#FFFFFF;box-shadow:0 0.577cqw 1.923cqw rgba(15,23,42,.14),0 0 0 1px rgba(15,23,42,.05);font-size:1.346cqw;white-space:nowrap;z-index:9;animation:fmToast .3s cubic-bezier(.2,.7,.3,1) both}
.fm-toast .ok,.fm-toast .nf{width:2.115cqw;height:2.115cqw;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.fm-toast .ok{background:#D1FAE5;color:#047857}
.fm-toast .nf{display:none;background:#E2E8F0;color:#334155}
.fm-toast.info .ok{display:none}.fm-toast.info .nf{display:inline-flex}
.fm-toast .ok svg,.fm-toast .nf svg{width:1.250cqw;height:1.250cqw}
@media (hover:hover){.fm-dag:not(.on):hover{background:#F8FAFC}.ffm .fm-mint:hover{background:#34D399}.ffm .fm-pk:hover,.fm-fortryd:hover,.ffm .fm-fores:hover,.ffm .fm-in:hover{background:#F8FAFC}.ffm .fm-hand .fm-ik:hover{background:#F1F5F9}.ffm .fm-hand .fm-ik.lock:hover{background:#1E293B}.ffm .fm-del:hover{background:#FFE4E6;color:#9F1239}.ffm .fm-ord:hover{background:#F1F5F9}}

.fm-kort .m-t{font-family:'DM Sans',system-ui,sans-serif;font-size:calc(4.5px * var(--k, 1));fill:#475569;paint-order:stroke;stroke:#F6F4EC;stroke-width:calc(1.2px * var(--k, 1));stroke-linejoin:round}
.fm-kort .m-t0{font-size:calc(5.4px * var(--k, 1));font-weight:600;fill:#334155}
.fm-kort .m-t2{font-size:calc(3.9px * var(--k, 1));fill:#64748B}
.fm-kort .m-hav{font-family:'DM Sans',system-ui,sans-serif;font-style:italic;font-size:calc(4.6px * var(--k, 1));letter-spacing:.06em;fill:#5B8FA8}
.ffm .fm-pin .pn{font-size:3.6px}
.ffm-drag,.ffm-drag *{cursor:grabbing !important;user-select:none;-webkit-user-select:none}
@keyframes fmIn1{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fmIn2{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fmDraw1{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fmDraw2{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fmFade{from{opacity:0}to{opacity:1}}
@keyframes fmPop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes fmToast{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion: reduce){.fm-row,.fm-kort .fm-rute,.fm-toast,.fm-sk .pil,.fm-fortryd,.fm-forslag,.fm-ordrer{animation:none !important}}
