@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("dm-sans-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-20C0, 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("dm-sans-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;
}

:root {
	--alma-navy: #101338;
	--alma-yellow: #fec958;
	--alma-accent: var(--alma-yellow);
	--alma-accent-text: var(--alma-navy);
	--alma-white: #fff;
	--alma-soft: #ededed;
	--alma-pale: #f3f3f7;
	--alma-muted: #c9c8d4;
	--alma-copy: #3a3950;
	--alma-line: #e3e3e6;
}

html.alma-display-html,
body.alma-display-body {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
	background: #090912;
}

body.alma-display-body {
	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	color: var(--alma-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.alma-display,
.alma-display *,
.alma-display *::before,
.alma-display *::after { box-sizing: border-box; }

.alma-display {
	position: fixed;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	place-items: center;
	overflow: hidden;
	background: #090912;
}

.alma-stage {
	position: relative;
	width: 1920px;
	height: 1080px;
	overflow: hidden;
	transform: scale(var(--alma-scale, 1));
	transform-origin: center;
	background: var(--alma-navy);
}

.alma-stage--dorm {
	--alma-accent: #1d78c7;
	--alma-accent-text: #fff;
}

.alma-slide {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 650ms cubic-bezier(.2,.7,.2,1), transform 650ms cubic-bezier(.2,.7,.2,1);
	pointer-events: none;
}

.alma-slide.is-active { z-index: 2; opacity: 1; transform: translateY(0); }
.alma-slide.is-leaving { z-index: 1; opacity: 0; transform: translateY(-24px); }
.alma-slide--light { background: var(--alma-white); color: var(--alma-navy); }
.alma-slide--dark { background: var(--alma-navy); color: var(--alma-white); }

.alma-page-shell {
	position: absolute;
	top: 56px;
	left: 80px;
	width: 1760px;
	height: 968px;
	overflow: hidden;
}

/* Standard light/dark header. */
.alma-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 112.734px;
	border-bottom: 2px solid var(--alma-line);
	color: var(--alma-navy);
}

.alma-header--on-dark {
	border-bottom-color: rgba(255,255,255,.18);
	color: var(--alma-white);
}

.alma-header__brand,
.alma-header__datetime { display: flex; align-items: center; }
.alma-header__logo { display: block; flex: 0 0 auto; width: 320px; height: 90.734px; border: 0 !important; object-fit: contain; object-position: left center; }
.alma-brand-fallback { display: flex; align-items: center; color: inherit; font-size: 38px; font-weight: 700; line-height: 1.05; }
.alma-header__title-rule { width: 1px; height: 52px; margin: 0 36px; background: rgba(29,28,54,.18); }
.alma-header__title { font-size: 52px; font-weight: 600; letter-spacing: -.02em; line-height: 1; }
.alma-header__datetime { gap: 24px; white-space: nowrap; }
.alma-header__date { font-size: 30px; font-weight: 500; line-height: 1; }
.alma-header__divider { width: 1px; height: 40px; background: rgba(29,28,54,.18); }
.alma-header--on-dark .alma-header__divider { background: rgba(255,255,255,.22); }
.alma-header__time { font-size: 40px; font-weight: 600; line-height: 1; }

/* 04 Danes na Almi. */
.alma-intro {
	background-position: center;
	background-size: cover;
}

.alma-intro::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(16,19,56,.9) 0%, rgba(16,19,56,0) 66.991%),
		rgba(16,19,56,.4);
}

.alma-intro-header {
	position: absolute;
	top: 80px;
	left: 80px;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 1760px;
}

.alma-intro-header__logo { width: 300px; height: 85.063px; object-fit: contain; object-position: left top; }
.alma-intro-header .alma-brand-fallback { color: #fff; font-size: 44px; }
.alma-intro-header__right { display: flex; align-items: flex-start; gap: 36px; }
.alma-intro-weather { display: flex; align-items: center; gap: 20px; height: 118px; }
.alma-intro-weather__icon { width: 84px; height: 84px; }
.alma-intro-weather strong { font-size: 84px; font-weight: 600; letter-spacing: -.03em; line-height: 1; white-space: nowrap; }
.alma-intro-header__divider { width: 2px; height: 118px; background: rgba(255,255,255,.26); }
.alma-intro-clock { display: flex; flex-direction: column; align-items: flex-end; }
.alma-intro-clock__time { font-size: 132px; font-weight: 600; letter-spacing: -.055em; line-height: .9; white-space: nowrap; }
.alma-intro-clock__date { margin-top: 18px; font-size: 40px; font-weight: 600; letter-spacing: .06em; line-height: 1; white-space: nowrap; }

.alma-intro__content {
	position: absolute;
	left: 80px;
	bottom: 80px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 1760px;
}

.alma-intro__title { position: relative; }

.alma-intro__title h1 { margin: 0; font-size: 64px; font-weight: 600; letter-spacing: -1.28px; line-height: 1.2; }
.alma-intro__title span { display: block; width: 104px; height: 5px; margin-top: 24px; background: var(--alma-accent); }

.alma-today-panel {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 1760px;
	height: 517px;
	background: var(--alma-white);
	color: #101338;
}

.alma-today-panel__meals,
.alma-today-panel__event { min-width: 0; padding: 64px; overflow: hidden; }
.alma-today-panel__event { border-left: 1px solid rgba(16,19,56,.15); }
.alma-eyebrow { margin: 0; color: #101338; font-size: 24px; font-weight: 900; letter-spacing: 1.2px; line-height: 1; text-transform: uppercase; }
.alma-meals { display: flex; flex-direction: column; width: 100%; height: calc(100% - 56px); margin-top: 32px; }
.alma-meal { display: flex; flex: 1 1 0; flex-direction: column; justify-content: center; gap: 8px; min-height: 0; border-bottom: 1px solid rgba(16,19,56,.15); }
.alma-meal:last-child { border-bottom: 0; }
.alma-meal__name { overflow: hidden; color: #101338; font-size: 28px; font-weight: 600; letter-spacing: -.28px; line-height: 1.2; overflow-wrap: break-word; }
.alma-meal__label { color: #101338; font-size: 24px; font-style: italic; font-weight: 400; line-height: 1; }
.alma-intro--dorm .alma-today-panel__meals { padding-top: 52px; padding-bottom: 52px; }
.alma-intro--dorm .alma-meals { height: calc(100% - 48px); margin-top: 24px; }
.alma-intro--dorm .alma-meal { gap: 4px; }
.alma-intro--dorm .alma-meal__name { font-size: 23px; line-height: 1.15; }
.alma-intro--dorm .alma-meal__label { font-size: 19px; }
.alma-home-events { display: flex; flex-direction: column; gap: 24px; height: calc(100% - 56px); margin-top: 32px; }
.alma-home-event { position: relative; display: flex; flex: 1 1 0; min-height: 0; }
.alma-home-event:not(:last-child)::after { content: ""; position: absolute; right: 0; bottom: -12px; left: 0; height: 1.5px; background: rgba(16,19,56,.15); }
.alma-event-date-card { display: flex; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center; height: 100%; aspect-ratio: 1; background: #f5f5f5; color: #101338; }
.alma-home-event.is-today .alma-event-date-card { background: var(--alma-accent); color: var(--alma-accent-text); }
.alma-event-date-card strong { font-size: 40px; font-weight: 600; letter-spacing: -.8px; line-height: 1; }
.alma-event-date-card span { margin-top: 5px; font-size: 20px; font-weight: 700; letter-spacing: 1.6px; line-height: 1.3; }
.alma-home-event__content { display: flex; flex: 1 1 auto; align-items: center; min-width: 0; padding: 14px 0 14px 32px; }
.alma-home-event__copy { display: flex; flex: 1 1 auto; flex-direction: column; gap: 5px; min-width: 0; }
.alma-home-event__copy h2 { display: -webkit-box; overflow: hidden; margin: 0; color: #101338; font-size: 28px; font-weight: 600; letter-spacing: -.56px; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.alma-home-event__copy p { margin: 0; color: #101338; font-size: 23px; font-style: italic; font-weight: 400; line-height: 1.3; }
.alma-home-event__today { flex: 0 0 auto; margin-left: 24px; padding: 18px 24px; background: #101338; color: #fff; font-size: 16px; font-weight: 900; letter-spacing: .8px; line-height: 1; text-transform: uppercase; }
.alma-empty-copy { margin: 46px 0 0; color: var(--alma-muted); font-size: 28px; line-height: 1.4; }
.alma-today-panel .alma-empty-copy { margin: 0; color: rgba(16,19,56,.72); }

/* 08 Jedilnik. */
.alma-menu .alma-page-shell { top: 80px; height: 920px; }
.alma-menu .alma-header { height: 90.734px; border-bottom: 0; color: #101338; }
.alma-menu .alma-header__title-rule { flex: 0 0 4px; width: 4px; height: 90px; margin: 0 36px; background: var(--alma-accent); }
.alma-menu .alma-header__title { color: #101338; font-size: 54px; }
.alma-menu .alma-header__date { color: #101338; font-size: 30px; }
.alma-menu .alma-header__divider { width: 2px; height: 48px; background: rgba(16,19,56,.15); }
.alma-menu .alma-header__time { color: #101338; font-size: 54px; }
.alma-menu-grid { display: flex; flex-direction: column; width: 1760px; height: 757.266px; margin-top: 72px; overflow: hidden; }
.alma-menu-row { display: grid; grid-template-columns: 200px repeat(3,minmax(0,1fr)) 300px 200px; flex: 1 1 0; min-height: 0; border-bottom: 1.5px solid rgba(16,19,56,.15); }
.alma-menu-row:last-child,
.alma-menu-row.is-today,
.alma-menu-row:has(+ .alma-menu-row.is-today) { border-bottom: 0; }
.alma-menu-row--head { flex: 0 0 34px; border-bottom: 2px solid #101338; }
.alma-menu-cell { display: flex; align-items: center; min-width: 0; padding: 14px 20px; overflow: hidden; background: var(--alma-white); color: #101338; }
.alma-menu-row--head .alma-menu-cell { align-items: flex-start; padding: 0 20px 14px; color: #101338; font-size: 18px; font-weight: 700; letter-spacing: .05em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.alma-menu-row.is-today .alma-menu-cell { background: var(--alma-accent); color: var(--alma-accent-text); }
.alma-menu-row.is-today .alma-menu-day span,
.alma-menu-row.is-today .alma-menu-copy strong,
.alma-menu-row.is-today .alma-menu-copy .alma-menu-allergens,
.alma-menu-row.is-today .alma-menu-option__label { color: var(--alma-accent-text); }
.alma-menu-day { display: flex; flex-direction: column; gap: 5px; }
.alma-menu-day strong { font-size: 24px; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; text-transform: capitalize; }
.alma-menu-day span { color: #101338; font-size: 18px; font-weight: 600; line-height: normal; }
.alma-menu-copy { display: flex; flex-direction: column; gap: 5px; width: 100%; overflow: hidden; }
.alma-menu-copy strong { display: -webkit-box; overflow: hidden; color: #101338; font-size: 24px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.alma-menu-copy .alma-menu-allergens { display: -webkit-box; overflow: hidden; color: #101338; font-size: 18px; font-style: italic; font-weight: 400; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.alma-menu--dorm .alma-menu-row { grid-template-columns: 200px 360px 600px 600px; }
.alma-menu--dorm .alma-menu-cell { padding: 10px 20px; }
.alma-menu-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; height: 100%; }
.alma-menu-option { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding-right: 18px; }
.alma-menu-option + .alma-menu-option { padding-left: 18px; border-left: 1.5px solid rgba(16,19,56,.15); }
.alma-menu-option__label { margin-bottom: 6px; color: #101338; font-size: 15px; font-weight: 800; letter-spacing: .7px; line-height: 1; text-transform: uppercase; }
.alma-menu--dorm .alma-menu-copy { gap: 3px; }
.alma-menu--dorm .alma-menu-copy strong { font-size: 20px; line-height: 1.15; -webkit-line-clamp: 3; }
.alma-menu--dorm .alma-menu-copy .alma-menu-allergens { font-size: 15px; line-height: 1.15; -webkit-line-clamp: 2; }

/* 09, 10 and 12 Obvestilo. */
.alma-announcement--split { display: grid; grid-template-columns: 1114px 806px; }
.alma-announcement__left { position: relative; width: 1114px; height: 1080px; padding: 80px; overflow: hidden; }
.alma-announcement__left::after {
	content: "";
	position: absolute;
	top: 250.734px;
	left: 80px;
	width: 954px;
	height: 2px;
	background: rgba(16,19,56,.15);
}
.alma-announcement--split .alma-header { width: 954px; height: 90.734px; border-bottom: 0; color: #101338; }
.alma-announcement--split .alma-header__date { font-size: 30px; }
.alma-announcement--split .alma-header__divider { width: 2px; height: 48px; background: rgba(16,19,56,.15); }
.alma-announcement--split .alma-header__time { font-size: 54px; }
.alma-announcement__visual { position: relative; width: 806px; height: 1080px; margin: 0; overflow: hidden; border: 0 !important; border-left: 24px solid var(--alma-accent) !important; background: var(--alma-soft); }
.alma-announcement__visual img { width: 100%; height: 100%; object-fit: cover; }
.alma-announcement__content { position: relative; z-index: 2; }
.alma-announcement--split .alma-announcement__content { margin-top: 160px; }
.alma-notice-meta { display: flex; align-items: center; }
.alma-notice-label { padding: 16px 24px; background: var(--alma-accent); color: var(--alma-accent-text); font-size: 20px; font-weight: 700; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.alma-announcement h1 { margin: 48px 0 0; border: 0 !important; outline: 0; font-weight: 600; letter-spacing: -.02em; }
.alma-announcement--photo h1,
.alma-announcement--short h1 { font-size: 80px; line-height: 1.05; }
.alma-announcement--photo h1 { width: 954px; color: #101338; }
.alma-title-rule { display: block; width: 180px; height: 4px; margin-top: 48px; background: var(--alma-accent); }
.alma-announcement__body { margin-top: 48px; }
.alma-announcement__body p { margin: 0 0 18px; }
.alma-announcement--photo .alma-announcement__body { width: 940px; color: #101338; font-size: 32px; font-weight: 400; line-height: 1.45; }
.alma-bullets { display: flex; flex-direction: column; gap: 18px; width: 940px; margin: 48px 0 0; padding: 0; list-style: none; }
.alma-bullets li { position: relative; padding-left: 38px; color: var(--alma-white); font-size: 32px; font-weight: 400; line-height: 1.4; }
.alma-announcement--photo .alma-bullets li { color: #101338; }
.alma-bullets li::before { content: ""; position: absolute; left: 0; top: 16px; width: 14px; height: 14px; background: var(--alma-accent); }

.alma-announcement--short { padding: 80px; background: #101338; }
.alma-announcement--short::after {
	content: "";
	position: absolute;
	top: 250.734px;
	left: 80px;
	width: 1760px;
	height: 2px;
	background: rgba(255,255,255,.2);
}
.alma-announcement--short .alma-header { position: relative; z-index: 2; height: 90.734px; border-bottom: 0; }
.alma-announcement--short .alma-header__date { font-size: 30px; }
.alma-announcement--short .alma-header__divider { width: 2px; height: 48px; background: rgba(255,255,255,.2); }
.alma-announcement--short .alma-header__time { font-size: 54px; }
.alma-announcement--short .alma-announcement__content { position: absolute; top: 330.734px; left: 80px; width: 1207px; }
.alma-announcement--short h1 { width: 1207px; }
.alma-announcement--short .alma-announcement__body { width: 940px; color: var(--alma-white); font-size: 32px; font-weight: 400; line-height: 1.45; }
.alma-announcement__mark { position: absolute; top: 331px; left: 1170px; width: 789px; height: 789px; opacity: 1; }

/* 13 Dogodki. */
.alma-events-slide .alma-page-shell { top: 80px; height: 920px; }
.alma-events-slide .alma-header { height: 90.734px; border-bottom: 0; color: #101338; }
.alma-events-slide .alma-header__title-rule { flex: 0 0 4px; width: 4px; height: 90px; margin: 0 36px; background: var(--alma-accent); }
.alma-events-slide .alma-header__title { color: #101338; font-size: 54px; }
.alma-events-slide .alma-header__date { color: #101338; font-size: 30px; }
.alma-events-slide .alma-header__divider { width: 2px; height: 48px; background: rgba(16,19,56,.15); }
.alma-events-slide .alma-header__time { color: #101338; font-size: 54px; }
.alma-events { display: flex; flex-direction: column; gap: 48px; width: 1760px; height: 757.266px; margin-top: 72px; overflow: hidden; }
.alma-event-row { position: relative; display: grid; grid-template-columns: 113.053px minmax(0,1fr); flex: 0 0 113.053px; min-height: 0; background: var(--alma-white); color: #101338; }
.alma-event-row:not(:last-child)::after { content: ""; position: absolute; right: 0; bottom: -24px; left: 0; height: 1.5px; background: rgba(16,19,56,.15); }
.alma-event-row__date { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; height: 100%; background: #f5f5f5; color: #101338; }
.alma-event-row.is-today .alma-event-row__date { background: var(--alma-accent); color: var(--alma-accent-text); }
.alma-event-row__date strong { font-size: 40px; font-weight: 600; letter-spacing: -.02em; line-height: 1; }
.alma-event-row__date span { font-size: 20px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; }
.alma-event-row__content { display: flex; align-items: center; min-width: 0; padding: 14px 32px; background: var(--alma-white); }
.alma-event-row__copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.alma-event-row__copy h2 { overflow: hidden; margin: 0; font-size: 36px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.alma-event-row__meta { display: flex; align-items: center; min-width: 0; color: #101338; font-size: 24px; font-style: italic; font-weight: 400; line-height: 1.3; white-space: nowrap; }
.alma-event-row__meta-divider { flex: 0 0 2px; width: 2px; height: 22px; margin: 0 18px; background: var(--alma-accent); }
.alma-event-row__location { overflow: hidden; text-overflow: ellipsis; }
.alma-event-today { flex: 0 0 auto; margin-left: auto; padding: 18px 24px; background: #101338; color: var(--alma-white); font-size: 18px; font-weight: 700; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }

.alma-promotion { background: #000; }
.alma-promotion img { width: 100%; height: 100%; object-fit: contain; }

.alma-display__loading,
.alma-display__fatal {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	min-height: 100vh;
	margin: 0;
	background: var(--alma-navy);
	color: #fff;
	font: 500 24px/1.4 "DM Sans", Arial, sans-serif;
}

.alma-display__loading-mark { width: 28px; height: 28px; border: 4px solid rgba(255,255,255,.25); border-top-color: var(--alma-yellow); border-radius: 50%; animation: alma-spin .8s linear infinite; }
.alma-display__status { position: absolute; right: 28px; bottom: 20px; z-index: 10; color: rgba(255,255,255,.55); font-size: 14px; opacity: 0; transition: opacity .2s; }
.alma-display__status.is-visible { opacity: 1; }

@keyframes alma-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .alma-slide { transition-duration: 1ms; } }

/* Nadomeščanja: Figma 2052:416, 11 rows per page. */
.alma-substitutions { color: #101338; }
.alma-substitutions .alma-page-shell { top: 80px; height: 920px; }
.alma-substitutions .alma-header { height: 90.734px; border: 0; color: #101338; }
.alma-substitutions .alma-header__title-rule { flex: 0 0 4px; width: 4px; height: 90px; margin: 0 36px; background: var(--alma-accent); }
.alma-substitutions .alma-header__title { border: 0 !important; outline: 0; font-size: 54px; }
.alma-substitutions .alma-header__divider { width: 2px; height: 48px; background: rgba(16,19,56,.15); }
.alma-substitutions .alma-header__time { font-size: 54px; }
.alma-substitutions-table { width: 1760px; margin-top: 72px; border: 0 !important; border-collapse: collapse; border-spacing: 0; table-layout: fixed; color: #101338; }
.alma-substitutions-table col:nth-child(1) { width: 200px; }
.alma-substitutions-table col:nth-child(2), .alma-substitutions-table col:nth-child(5) { width: 300px; }
.alma-substitutions-table th { padding: 0 20px 14px; border: 0 !important; border-bottom: 2px solid #101338 !important; font-size: 18px; font-weight: 900; line-height: 1; letter-spacing: .9px; text-transform: uppercase; text-align: left; }
.alma-substitutions-table td { height: 60.7px; padding: 14px 20px; border: 0 !important; border-bottom: 1.5px solid rgba(16,19,56,.15) !important; font-size: 24px; font-weight: 400; line-height: 1.2; letter-spacing: -.48px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.alma-substitutions-table td:first-child { font-weight: 500; }
.alma-substitutions-table tr:last-child td { border-bottom: 0 !important; }
.alma-substitutions-footer { position: absolute; right: 80px; top: 1000px; color: #101338; font-size: 24px; font-weight: 500; line-height: 1; }
