/**
 * inModern: skall (fase 1). Alt er scopet til body.ipl-design-inmodern-lillestrom. Frittstående: ingen forelder-CSS.
 * Skrift: DM Sans (brødtekst og overskrifter) og Inter (bare tekst over bilder), begge SIL Open Font License 1.1.
 */

@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
	src: url("../fonts/dmsans-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
	src: url("../fonts/dmsans-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 600; font-display: swap;
	src: url("../fonts/inter-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 600; font-display: swap;
	src: url("../fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- tokens ---------- */
body.ipl-design-inmodern-lillestrom {
	color-scheme: light;
	--im-ink: #0e0f11;
	--im-ink-2: #5d6168;
	--im-line: #e7e8ea;
	--im-tile: #f2f2f3;
	--im-page: #ffffff;
	--im-panel: #1a1b1f;
	--im-f: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--im-f-over: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--im-ease: cubic-bezier(.2, .8, .2, 1);
	/* mockupens navn (brukes av inmodern-ui.css) */
	--ink: #0e0f11; --ink-2: #5d6168; --line: #e7e8ea; --tile: #f2f2f3; --page: #ffffff; --list-bg: #f4f5f6; --star: #d39a00;
	--r: 10px; --r-lg: 16px; --ease: cubic-bezier(.2, .8, .2, 1); --f: var(--im-f); --f-over: var(--im-f-over);
	--theme-font-family: var(--im-f);
	--im-adminbar: var(--wp-admin--admin-bar--height, 0px);
	background: var(--im-ink);
	color: var(--im-ink);
	font-family: var(--im-f);
	-webkit-font-smoothing: antialiased;
}
body.ipl-design-inmodern-lillestrom #main-container { position: relative; z-index: 2; background: var(--im-page); }
body.ipl-design-inmodern-lillestrom :where(.im-hdr, .im-panel, .im-ft) :where(h1, h2, h3, p, ul, ol, li) { margin: 0; padding: 0; list-style: none; font-family: var(--im-f); }
body.ipl-design-inmodern-lillestrom :where(.im-hdr, .im-panel, .im-ft) :where(a) { text-decoration: none; }
body.ipl-design-inmodern-lillestrom :where(.im-hdr, .im-panel, .im-ft) :where(button) { font-family: var(--im-f); cursor: pointer; }
body.ipl-design-inmodern-lillestrom :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 6px; }
body.ipl-design-inmodern-lillestrom #header { background: transparent; border: 0; padding: 0; box-shadow: none; }
body.ipl-design-inmodern-lillestrom #footer { background: transparent; padding: 0; margin: 0; border: 0; }

/* ---------- Blocksys knappestil nullstilles i designets egne flater (komponentene under vinner på rekkefølge) ---------- */
body.ipl-design-inmodern-lillestrom :is(.im-home, .im-sheet, .im-pop, .im-search, .im-panel, .im-hdr) :where(button) {
	appearance: none; background: none; border: 0; padding: 0; margin: 0; min-height: 0; min-width: 0; border-radius: 0; box-shadow: none; text-transform: none; letter-spacing: normal;
	font: inherit; color: inherit; line-height: inherit; cursor: pointer; text-align: inherit;
}

/* ---------- header ---------- */
body.ipl-design-inmodern-lillestrom .im-hdr { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; background: var(--im-ink); color: #fff; }
body.ipl-design-inmodern-lillestrom .im-hdr .ipl-logo { display: block; line-height: 0; }
body.ipl-design-inmodern-lillestrom .im-hdr .ipl-logo img { height: 22px; width: auto; max-width: none; }
body.ipl-design-inmodern-lillestrom :is(.im-hdr, .im-ft) .ipl-logo img { filter: invert(1); }
body.ipl-design-inmodern-lillestrom :is(.im-hdr, .im-ft) .ipl-logo--color img { filter: none; }
body.ipl-design-inmodern-lillestrom .im-hdr__nav { display: none; }
body.ipl-design-inmodern-lillestrom .im-hdr__end { display: flex; gap: 8px; }
body.ipl-design-inmodern-lillestrom .im-hdr__btn { position: relative; width: 40px; height: 40px; padding: 0; border-radius: 50%; display: grid; place-items: center; color: #fff;
	background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); backdrop-filter: blur(10px); }
body.ipl-design-inmodern-lillestrom .im-hdr .im-hdr__cart .ct-dynamic-count-cart { position: absolute !important; top: -3px !important; right: -3px !important; left: auto !important; min-width: 18px; height: 18px; border-radius: 9px; background: #fff !important; color: var(--im-ink) !important;
	font: 600 11px/1 var(--im-f); display: grid; place-items: center; padding: 0 4px; box-shadow: none; }
body.ipl-design-inmodern-lillestrom .im-hdr__cart .im-ico-cart, body.ipl-design-inmodern-lillestrom .im-hdr__cart .ct-dynamic-count-cart { transition: opacity .2s ease, transform .3s var(--im-ease); }
body.ipl-design-inmodern-lillestrom .im-hdr__x { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; transform: rotate(-45deg) scale(.6); transition: opacity .2s ease, transform .35s var(--im-ease); }
body.ipl-design-inmodern-lillestrom .im-hdr__x .im-ico { transform: rotate(45deg); }
body.ipl-design-inmodern-lillestrom .im-hdr__cart[aria-expanded="true"] .im-ico-cart, body.ipl-design-inmodern-lillestrom .im-hdr__cart[aria-expanded="true"] .ct-dynamic-count-cart { opacity: 0; transform: scale(.6); }
body.ipl-design-inmodern-lillestrom .im-hdr__cart[aria-expanded="true"] .im-hdr__x { opacity: 1; transform: none; }

/* Burger fra Uiverse (JulanDeAlb / tall-swan-6): topp- og bunnstrek er én linje som tegnes om til et kryss mens ikonet roterer */
body.ipl-design-inmodern-lillestrom .im-burger { display: block; width: 26px; height: 26px; transition: transform 600ms cubic-bezier(.4, 0, .2, 1); }
body.ipl-design-inmodern-lillestrom .im-burger__l { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3;
	transition: stroke-dasharray 600ms cubic-bezier(.4, 0, .2, 1), stroke-dashoffset 600ms cubic-bezier(.4, 0, .2, 1); }
body.ipl-design-inmodern-lillestrom .im-burger__tb { stroke-dasharray: 12 63; }
body.ipl-design-inmodern-lillestrom .im-hdr__menu[aria-expanded="true"] .im-burger { transform: rotate(-45deg); }
body.ipl-design-inmodern-lillestrom .im-hdr__menu[aria-expanded="true"] .im-burger .im-burger__tb { stroke-dasharray: 20 300; stroke-dashoffset: -32.42; }

@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-hdr { padding: 14px 28px; }
	body.ipl-design-inmodern-lillestrom .im-hdr .ipl-logo img { height: 26px; }
	body.ipl-design-inmodern-lillestrom .im-hdr__nav { display: flex; gap: 2px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(12px); font-size: 14px; }
	body.ipl-design-inmodern-lillestrom .im-hdr__nav a { padding: 7px 14px; border-radius: 999px; color: rgba(255,255,255,.9); }
	body.ipl-design-inmodern-lillestrom .im-hdr__nav a:hover { background: rgba(255,255,255,.14); color: #fff; }
}

/* ---------- paneler bak siden: menyen og «Din leie» ---------- */
body.ipl-design-inmodern-lillestrom .im-panels { position: fixed; z-index: 1; top: var(--im-adminbar); left: 0; right: 0; color: #fff; }
body.ipl-design-inmodern-lillestrom .im-panel { background: var(--im-panel); color: #fff; }
body.ipl-design-inmodern-lillestrom .im-panel[hidden] { display: none !important; }
body.ipl-design-inmodern-lillestrom .im-panel__in { display: grid; gap: 18px; padding: 22px max(20px, env(safe-area-inset-right, 0px)) 26px max(20px, env(safe-area-inset-left, 0px)); }
body.ipl-design-inmodern-lillestrom .im-kicker { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #8b8e95; }

/* siden skyves ned */
body.ipl-design-inmodern-lillestrom #main-container { transition: transform .55s var(--im-ease), border-radius .4s ease, box-shadow .4s ease; transform-origin: top center; }
body.ipl-design-inmodern-lillestrom.im-pushed #main-container { transform: translateY(var(--im-mh, 420px)); border-radius: 24px 24px 0 0; overflow: hidden; cursor: pointer;
	box-shadow: 0 0 0 1px rgba(255,255,255,.1), 0 -18px 50px rgba(0,0,0,.5); }
body.ipl-design-inmodern-lillestrom.im-pushed #main-container > * { pointer-events: none; }
body.ipl-design-inmodern-lillestrom.im-pushed #main-container .im-hdr__btn { pointer-events: auto; }
body.ipl-design-inmodern-lillestrom.im-pushed { overflow: hidden; }

/* menyen, med undermenyer */
body.ipl-design-inmodern-lillestrom .im-menu__list { display: grid; }
body.ipl-design-inmodern-lillestrom .im-menu__item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 0; border: 0; border-bottom: 1px solid #2a2c31; background: none; color: #fff; text-align: left; text-decoration: none; }
body.ipl-design-inmodern-lillestrom .im-menu__item span { font-size: 26px; font-weight: 500; letter-spacing: -.03em; }
body.ipl-design-inmodern-lillestrom .im-menu__item small { margin-left: auto; font-size: 12.5px; color: #8b8e95; }
body.ipl-design-inmodern-lillestrom a.im-menu__item .im-ico { margin-left: auto; }
body.ipl-design-inmodern-lillestrom .im-menu__item .im-ico { color: #6f727a; transition: transform .25s var(--im-ease), color .2s; }
body.ipl-design-inmodern-lillestrom .im-menu__item:hover .im-ico, body.ipl-design-inmodern-lillestrom .im-menu__item:focus-visible .im-ico { transform: translateX(3px); color: #fff; }
body.ipl-design-inmodern-lillestrom .im-menu__track { position: relative; overflow: hidden; transition: height .45s var(--im-ease); }
body.ipl-design-inmodern-lillestrom .im-menu__pane { display: grid; gap: 18px; transition: transform .45s var(--im-ease), opacity .3s ease; }
body.ipl-design-inmodern-lillestrom .im-menu__pane[hidden] { display: none !important; }
body.ipl-design-inmodern-lillestrom .im-menu__pane.is-out-left { transform: translateX(-24%); opacity: 0; }
body.ipl-design-inmodern-lillestrom .im-menu__pane.is-out-right { transform: translateX(24%); opacity: 0; }
body.ipl-design-inmodern-lillestrom .im-menu__pane.is-abs { position: absolute; inset: 0 0 auto 0; }
body.ipl-design-inmodern-lillestrom .im-menu__back { display: inline-flex; align-items: center; gap: 8px; justify-self: start; margin-bottom: 8px; padding: 6px 12px 6px 8px; border-radius: 999px; color: #fff; font-size: 13px;
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
body.ipl-design-inmodern-lillestrom .im-menu__back span { font-weight: 500; letter-spacing: .02em; }
body.ipl-design-inmodern-lillestrom .im-menu__back:hover { background: rgba(255,255,255,.14); }
body.ipl-design-inmodern-lillestrom .im-menu li { opacity: 0; transform: translateY(-10px); transition: opacity .3s ease, transform .4s var(--im-ease); }
body.ipl-design-inmodern-lillestrom.im-pushed .im-menu li { opacity: 1; transform: none; transition-delay: calc(var(--i) * 45ms + 140ms); }
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-menu .im-panel__in { width: min(100% - 64px, 1240px); margin-inline: auto; padding: 34px 0 40px; gap: 20px; }
	body.ipl-design-inmodern-lillestrom .im-menu__list { grid-template-columns: 1fr 1fr; column-gap: 48px; }
	body.ipl-design-inmodern-lillestrom .im-menu__item span { font-size: 34px; }
	body.ipl-design-inmodern-lillestrom .im-menu__item { padding: 14px 0; }
}

/* «Din leie»: billett med bil, datoer og total */
body.ipl-design-inmodern-lillestrom .im-cart__in { width: calc(100% - 32px); margin-inline: auto; padding: 16px 0 20px; gap: 14px 14px; grid-template-columns: 92px minmax(0, 1fr); grid-template-areas: "top top" "stage title" "trip trip" "more more" "sum sum"; align-items: center; }
body.ipl-design-inmodern-lillestrom .im-cart__stage { position: relative; display: grid; place-items: center; overflow: hidden; height: 72px; border-radius: 12px;
	background: radial-gradient(90% 75% at 50% 62%, #ffffff 0%, #f1f1f2 50%, #e2e3e6 100%); }
body.ipl-design-inmodern-lillestrom .im-cart__word { display: none; }
body.ipl-design-inmodern-lillestrom .im-cart__stage img { position: relative; width: 86%; height: 78%; object-fit: contain; mix-blend-mode: multiply; }
body.ipl-design-inmodern-lillestrom .im-cart__floor { position: absolute; left: 22%; right: 22%; bottom: 8px; height: 8px; border-radius: 50%; background: radial-gradient(closest-side, rgba(14,15,17,.2), transparent); }
body.ipl-design-inmodern-lillestrom .im-cart__main { display: contents; }
body.ipl-design-inmodern-lillestrom .im-cart__main > .im-kicker { grid-area: top; }
body.ipl-design-inmodern-lillestrom .im-cart__stage { grid-area: stage; }
body.ipl-design-inmodern-lillestrom .im-cart__name { grid-area: title; }
body.ipl-design-inmodern-lillestrom .im-cart__trip { grid-area: trip; }
body.ipl-design-inmodern-lillestrom .im-cart__more { grid-area: more; }
body.ipl-design-inmodern-lillestrom .im-cart__name { font-size: 18px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
body.ipl-design-inmodern-lillestrom .im-cart__name a { color: #fff; }
body.ipl-design-inmodern-lillestrom .im-cart__trip { display: grid; grid-template-columns: auto minmax(40px, 1fr) auto; align-items: center; gap: 10px; }
body.ipl-design-inmodern-lillestrom .im-cart__pt { display: grid; justify-items: start; }
body.ipl-design-inmodern-lillestrom .im-cart__pt--end { justify-items: end; text-align: right; }
body.ipl-design-inmodern-lillestrom .im-cart__pt small { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #8b8e95; margin-bottom: 2px; }
body.ipl-design-inmodern-lillestrom .im-cart__day { font-size: 42px; font-weight: 600; letter-spacing: -.06em; line-height: .95; font-variant-numeric: tabular-nums; }
body.ipl-design-inmodern-lillestrom .im-cart__md { font-size: 12.5px; font-weight: 500; color: #fff; margin-top: 2px; }
body.ipl-design-inmodern-lillestrom .im-cart__t { font-size: 12px; color: #a3a6ad; }
body.ipl-design-inmodern-lillestrom .im-cart__line { display: flex; align-items: center; gap: 10px; }
body.ipl-design-inmodern-lillestrom .im-cart__line i { flex: 1; height: 2px; border-radius: 2px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.55) 0 8px, transparent 8px 14px); }
body.ipl-design-inmodern-lillestrom .im-cart__line span { font-size: 11.5px; font-weight: 600; color: var(--im-ink); padding: 4px 9px; border-radius: 999px; background: #fff; white-space: nowrap; }
body.ipl-design-inmodern-lillestrom .im-cart__more { font-size: 13px; color: #a3a6ad; }
body.ipl-design-inmodern-lillestrom .im-cart__sum { grid-area: sum; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; padding: 14px 16px; align-items: center; border-radius: 18px; background: rgba(255,255,255,.07); }
body.ipl-design-inmodern-lillestrom .im-cart__lbl { grid-column: 1; font-size: 13px; color: #a3a6ad; }
body.ipl-design-inmodern-lillestrom .im-cart__total { grid-column: 1; font-size: 28px; font-weight: 600; letter-spacing: -.045em; line-height: 1.05; font-variant-numeric: tabular-nums; }
body.ipl-design-inmodern-lillestrom .im-cart__sum > small { grid-column: 1 / -1; margin-top: 4px; font-size: 12.5px; color: #8b8e95; }
body.ipl-design-inmodern-lillestrom .im-cart__go { grid-column: 2; grid-row: 1 / span 2; height: 46px; padding-left: 16px; }
body.ipl-design-inmodern-lillestrom .im-cart__links { grid-column: 1 / -1; display: flex; justify-content: space-between; font-size: 13px; margin-top: 6px; }
body.ipl-design-inmodern-lillestrom .im-cart__links a { color: #d4d6da; text-decoration: underline; text-underline-offset: 3px; }
body.ipl-design-inmodern-lillestrom .im-cart__rm { color: #8b8e95 !important; }
body.ipl-design-inmodern-lillestrom .im-cart__empty h2 { font-size: 26px; font-weight: 500; letter-spacing: -.03em; }
body.ipl-design-inmodern-lillestrom .im-cart__empty .im-btn { justify-self: start; }
/* innhold toner inn bak siden */
body.ipl-design-inmodern-lillestrom .im-cart__stage, body.ipl-design-inmodern-lillestrom .im-cart__main, body.ipl-design-inmodern-lillestrom .im-cart__sum { opacity: 0; transform: translateY(-12px); transition: opacity .35s ease, transform .45s var(--im-ease); }
body.ipl-design-inmodern-lillestrom.im-pushed .im-cart__stage, body.ipl-design-inmodern-lillestrom.im-pushed .im-cart__main, body.ipl-design-inmodern-lillestrom.im-pushed .im-cart__sum { opacity: 1; transform: none; }
body.ipl-design-inmodern-lillestrom.im-pushed .im-cart__stage { transition-delay: .1s; }
body.ipl-design-inmodern-lillestrom.im-pushed .im-cart__main { transition-delay: .16s; }
body.ipl-design-inmodern-lillestrom.im-pushed .im-cart__sum { transition-delay: .24s; }
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-cart__in { width: min(100% - 64px, 1240px); padding: 26px 0 30px; gap: 32px; grid-template-columns: 360px minmax(0, 1fr) 300px; grid-template-areas: "stage main sum"; }
	body.ipl-design-inmodern-lillestrom .im-cart__main { display: grid; gap: 12px; min-width: 0; grid-area: main; }
	body.ipl-design-inmodern-lillestrom .im-cart__main > .im-kicker, body.ipl-design-inmodern-lillestrom .im-cart__name, body.ipl-design-inmodern-lillestrom .im-cart__trip, body.ipl-design-inmodern-lillestrom .im-cart__more { grid-area: auto; }
	body.ipl-design-inmodern-lillestrom .im-cart__stage { grid-area: stage; height: 230px; border-radius: 18px; }
	body.ipl-design-inmodern-lillestrom .im-cart__word { display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 110px; font-weight: 700; letter-spacing: -.06em; line-height: .8; color: rgba(14,15,17,.06); white-space: nowrap; }
	body.ipl-design-inmodern-lillestrom .im-cart__stage img { width: 80%; height: 70%; }
	body.ipl-design-inmodern-lillestrom .im-cart__floor { bottom: 26px; height: 16px; }
	body.ipl-design-inmodern-lillestrom .im-cart__name { font-size: 26px; }
	body.ipl-design-inmodern-lillestrom .im-cart__trip { gap: 18px; padding: 6px 0 4px; grid-template-columns: auto minmax(70px, 1fr) auto; }
	body.ipl-design-inmodern-lillestrom .im-cart__day { font-size: 64px; }
	body.ipl-design-inmodern-lillestrom .im-cart__md { font-size: 14px; margin-top: 4px; }
	body.ipl-design-inmodern-lillestrom .im-cart__t { font-size: 13px; }
	body.ipl-design-inmodern-lillestrom .im-cart__line span { padding: 5px 12px; font-size: 12.5px; }
	body.ipl-design-inmodern-lillestrom .im-cart__sum { display: grid; gap: 6px; padding: 24px; grid-template-columns: 1fr; }
	body.ipl-design-inmodern-lillestrom .im-cart__total { font-size: 44px; }
	body.ipl-design-inmodern-lillestrom .im-cart__go { grid-column: 1; grid-row: auto; margin-top: 10px; height: 50px; }
}

/* ---------- footer ---------- */
body.ipl-design-inmodern-lillestrom .im-ft { margin: 64px 8px 8px; padding: 36px 20px 22px; background: var(--im-ink); color: #fff; border-radius: 14px; }
body.ipl-design-inmodern-lillestrom .im-ft__top { display: grid; gap: 30px; grid-template-columns: 1fr 1fr 1fr; }
body.ipl-design-inmodern-lillestrom .im-ft__brand { display: grid; gap: 14px; grid-column: span 3; align-content: start; }
body.ipl-design-inmodern-lillestrom .im-ft__brand .ipl-logo { display: block; line-height: 0; }
body.ipl-design-inmodern-lillestrom .im-ft__brand .ipl-logo img { height: 22px; width: auto; max-width: none; }
body.ipl-design-inmodern-lillestrom .im-ft__brand p { color: #a3a6ad; font-size: 14px; max-width: 38ch; }
body.ipl-design-inmodern-lillestrom .im-ft__ticks { display: grid; gap: 8px; font-size: 13px; color: #d4d6da; }
body.ipl-design-inmodern-lillestrom .im-ft__ticks li { display: flex; align-items: center; gap: 8px; }
body.ipl-design-inmodern-lillestrom .im-ft__col h2 { font-size: 13px; color: #a3a6ad; font-weight: 500; letter-spacing: 0; margin-bottom: 12px; }
body.ipl-design-inmodern-lillestrom .im-ft__col ul { display: grid; gap: 9px; font-size: 14px; }
body.ipl-design-inmodern-lillestrom .im-ft__col a { color: #fff; }
body.ipl-design-inmodern-lillestrom .im-ft__col a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.ipl-design-inmodern-lillestrom .im-ft__col address { font-style: normal; color: #d4d6da; }
body.ipl-design-inmodern-lillestrom .im-ft__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; border-top: 1px solid #26282c; margin-top: 30px; padding-top: 18px; font-size: 12.5px; color: #a3a6ad; }
body.ipl-design-inmodern-lillestrom .im-ft__bottom ul { display: flex; gap: 18px; }
body.ipl-design-inmodern-lillestrom .im-ft__bottom a { color: #a3a6ad; }
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-ft { margin: 80px 10px 10px; padding: 56px 56px 26px; border-radius: 16px; }
	body.ipl-design-inmodern-lillestrom .im-ft__top { grid-template-columns: 1.6fr .8fr .8fr 1.2fr; gap: 28px; }
	body.ipl-design-inmodern-lillestrom .im-ft__brand { grid-column: auto; }
	body.ipl-design-inmodern-lillestrom .im-ft__brand .ipl-logo img { height: 26px; }
}

/* ---------- sideovergang: lasteanimasjonen fra Uiverse (Nawsome / cold-liger-90) ---------- */
body.ipl-design-inmodern-lillestrom .im-load { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; background: #fff; opacity: 0; visibility: hidden; pointer-events: none;
	transition: opacity .3s var(--im-ease), visibility 0s linear .3s; }
body.ipl-design-inmodern-lillestrom .im-load.is-on, html.im-arriving body.ipl-design-inmodern-lillestrom .im-load { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .3s var(--im-ease), visibility 0s; }
html.im-arriving { background: #fff; }
html.im-arriving body.ipl-design-inmodern-lillestrom { visibility: hidden; }
html.im-arriving body.ipl-design-inmodern-lillestrom .im-load { transition: none; visibility: visible; }
body.ipl-design-inmodern-lillestrom .im-boxes { --size: 32px; --duration: 800ms; height: calc(var(--size) * 2); width: calc(var(--size) * 3); position: relative; transform-style: preserve-3d; transform-origin: 50% 50%;
	margin-top: calc(var(--size) * 1.5 * -1); transform: rotateX(60deg) rotateZ(45deg) rotateY(0deg) translateZ(0px); }
body.ipl-design-inmodern-lillestrom .im-boxes .box { width: var(--size); height: var(--size); top: 0; left: 0; position: absolute; transform-style: preserve-3d; }
body.ipl-design-inmodern-lillestrom .im-boxes .box:nth-child(1) { transform: translate(100%, 0); }
body.ipl-design-inmodern-lillestrom .im-boxes .box:nth-child(2) { transform: translate(0, 100%); }
body.ipl-design-inmodern-lillestrom .im-boxes .box:nth-child(3) { transform: translate(100%, 100%); }
body.ipl-design-inmodern-lillestrom .im-boxes .box:nth-child(4) { transform: translate(200%, 0); }
body.ipl-design-inmodern-lillestrom .im-load.is-draw .box:nth-child(1), html.im-arriving body.ipl-design-inmodern-lillestrom .im-load .box:nth-child(1) { animation: im-box1 var(--duration) linear infinite; }
body.ipl-design-inmodern-lillestrom .im-load.is-draw .box:nth-child(2), html.im-arriving body.ipl-design-inmodern-lillestrom .im-load .box:nth-child(2) { animation: im-box2 var(--duration) linear infinite; }
body.ipl-design-inmodern-lillestrom .im-load.is-draw .box:nth-child(3), html.im-arriving body.ipl-design-inmodern-lillestrom .im-load .box:nth-child(3) { animation: im-box3 var(--duration) linear infinite; }
body.ipl-design-inmodern-lillestrom .im-load.is-draw .box:nth-child(4), html.im-arriving body.ipl-design-inmodern-lillestrom .im-load .box:nth-child(4) { animation: im-box4 var(--duration) linear infinite; }
body.ipl-design-inmodern-lillestrom .im-boxes .box > div { --background: #2a2b30; --top: auto; --right: auto; --bottom: auto; --left: auto; --translateZ: calc(var(--size) / 2); --rotateY: 0deg; --rotateX: 0deg;
	position: absolute; width: 100%; height: 100%; background: var(--background); top: var(--top); right: var(--right); bottom: var(--bottom); left: var(--left);
	transform: rotateY(var(--rotateY)) rotateX(var(--rotateX)) translateZ(var(--translateZ)); }
body.ipl-design-inmodern-lillestrom .im-boxes .box > div:nth-child(1) { --top: 0; --left: 0; }
body.ipl-design-inmodern-lillestrom .im-boxes .box > div:nth-child(2) { --background: #0e0f11; --right: 0; --rotateY: 90deg; }
body.ipl-design-inmodern-lillestrom .im-boxes .box > div:nth-child(3) { --background: #1b1c20; --rotateX: -90deg; }
body.ipl-design-inmodern-lillestrom .im-boxes .box > div:nth-child(4) { --background: #e4e5e8; --top: 0; --left: 0; --translateZ: calc(var(--size) * 3 * -1); }
@keyframes im-box1 { 0%, 50% { transform: translate(100%, 0); } 100% { transform: translate(200%, 0); } }
@keyframes im-box2 { 0% { transform: translate(0, 100%); } 50% { transform: translate(0, 0); } 100% { transform: translate(100%, 0); } }
@keyframes im-box3 { 0%, 50% { transform: translate(100%, 100%); } 100% { transform: translate(0, 100%); } }
@keyframes im-box4 { 0% { transform: translate(200%, 0); } 50% { transform: translate(200%, 100%); } 100% { transform: translate(100%, 100%); } }

@media (prefers-reduced-motion: reduce) {
	body.ipl-design-inmodern-lillestrom #main-container, body.ipl-design-inmodern-lillestrom .im-menu__pane, body.ipl-design-inmodern-lillestrom .im-menu__track,
	body.ipl-design-inmodern-lillestrom .im-menu li, body.ipl-design-inmodern-lillestrom .im-cart__stage, body.ipl-design-inmodern-lillestrom .im-cart__main, body.ipl-design-inmodern-lillestrom .im-cart__sum { transition: none !important; }
	body.ipl-design-inmodern-lillestrom .im-load { display: none; }
}
