/*
 * PGE-Tema – grundlag: skrifter, typografi, gitter, hjælpeklasser,
 * knapper, formularer og ikoner.
 *
 * Brudpunkter: lille ≤ 549px, mellem 550–849px, stor ≥ 850px.
 */

@font-face {
	font-family: "Cinzel";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../../fonts/cinzel/cinzel-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: "Cinzel";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../../fonts/cinzel/cinzel-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: "Mate";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../../fonts/mate/mate-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: "Mate";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../../fonts/mate/mate-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 {
	--primary-color: #191919;
	--fs-color-primary: #191919;
	--fs-color-secondary: #9a762c;
	--fs-color-success: #627d47;
	--fs-color-alert: #b20000;
	--fs-color-base: #2d2d2d;
	--pge-link: #334862;
	--pge-link-hover: #111;
	--pge-heading: #232323;
	--pge-site-width: 1290px;
	--pge-gutter: 15px;
}

/* ---------- Nulstilling ---------- */

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

html {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	/* Mørk grå bag siden som hidtil: ses under footeren på korte sider, ved "gummibånd"-scroll
	   og bag de sektioner, der ligger uden for #wrapper (fx "Se flere fra …" på produktsider). */
	background-color: #4d4d4d;
	overflow-x: hidden;
}

body {
	margin: 0;
	overflow-x: clip;
	color: var(--fs-color-base);
	font-family: Cinzel, sans-serif;
	font-size: 100%;
	font-weight: 400;
	font-style: normal;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	scroll-behavior: smooth;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }
hr { border-width: 0; border-top: 1px solid currentColor; opacity: .1; margin: 15px 0; height: 0; }
img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; border-style: none; opacity: 1; transition: opacity 1s; }
figure { margin: 0 0 1.3em; }
iframe, object, embed { max-width: 100%; }
svg:not(:root) { overflow: hidden; }
b, strong { font-weight: inherit; font-weight: bolder; }
small { font-size: 80%; display: inline-block; }
[hidden] { display: none !important; }

a { color: var(--pge-link); text-decoration: none; background-color: transparent; touch-action: manipulation; }
a:hover { color: var(--pge-link-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
a.plain { color: currentColor; transition: color .3s, opacity .3s, transform .3s; }

ul, ol { margin: 0 0 1.3em; padding: 0; list-style: disc; }
ol { list-style: decimal; }
ul ul, ul ol, ol ol, ol ul { margin: 1.5em 0 1.5em 3em; }
li { margin-bottom: .6em; }
.col-inner ul li, .entry-content ul li, .col-inner ol li, .entry-content ol li, .entry-summary ul li, .entry-summary ol li { margin-left: 1.3em; }
dl { margin: 1em 0 1.3em; font-size: .85em; text-transform: uppercase; opacity: .9; }
dd { margin: 0 0 0 40px; }

p { margin: 0 0 1.3em; }
p:empty { display: none; }
blockquote { position: relative; margin: 0 0 1.25em; padding: 0 1.25em 0 1.875em; border-left: 2px solid var(--fs-color-primary); font-style: italic; color: #333; font-size: 1.2em; }
pre { margin: 1em 0 1.3em; font-family: monospace; font-size: 1em; overflow: auto; background: #f1f1f1; border: 1px solid #ddd; padding: 20px; }
code { margin: 0 .2rem; padding: .2rem .5rem; font-family: monospace; font-size: .9em; background: #f1f1f1; border: 1px solid #e1e1e1; border-radius: 4px; }
pre code { margin: 0; padding: 0; background: none; border: 0; }

/* ---------- Overskrifter ---------- */

h1, h2, h3, h4, h5, h6, .heading-font {
	color: var(--pge-heading);
	font-family: Cinzel, sans-serif;
	font-weight: 400;
	font-style: normal;
}
h1, h2, h3, h4, h5, h6 { margin: 0 0 .5em; width: 100%; text-rendering: optimizeSpeed; }
h1 { font-size: 1.7em; line-height: 1.3; }
h2 { font-size: 1.6em; line-height: 1.3; }
h3 { font-size: 1.25em; }
h4 { font-size: 1.125em; }
h5 { font-size: 1em; }
h6 { font-size: .85em; opacity: .8; }
@media (max-width: 549px) {
	h1 { font-size: 1.4em; }
	h2 { font-size: 1.2em; }
	h3 { font-size: 1em; }
	h4 { font-size: 1em; }
}
.alt-font { font-family: Mate, sans-serif; font-weight: 400 !important; font-style: normal !important; }

/* ---------- Tabeller ---------- */

table { width: 100%; margin-bottom: 1em; border-color: #ececec; border-spacing: 0; }
th, td { padding: .5em; text-align: left; border-bottom: 1px solid #ececec; line-height: 1.3; font-size: .9em; }
td { color: #666; }
th { line-height: 1.05; letter-spacing: .05em; text-transform: uppercase; }
th:first-child, td:first-child { padding-left: 0; }
th:last-child, td:last-child { padding-right: 0; }
td select, td input, td label, td p, td dl, td form { margin: .5em 0; }
li > dl { margin-top: 0; }
label { color: #222; }

/* ---------- Formularer ---------- */

button, input, optgroup, select, textarea { font: inherit; }
input, select, textarea, button, fieldset { margin-bottom: 1em; }
button, input[type="submit"], input[type="button"], input[type="reset"], input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"], input[type="password"], input[type="checkbox"], input[type="radio"] { touch-action: manipulation; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
[type="checkbox"], [type="radio"] { padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; }
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
fieldset { border-width: 0; border-style: solid; border-color: silver; padding: 0; margin: 0 2px 1em; }
legend { display: block; width: 100%; max-width: 100%; font-size: 1em; font-weight: 700; text-transform: uppercase; padding: 0; margin: 30px 0 15px; border-bottom: 1px solid #f1f1f1; padding-bottom: 10px; }
form { margin-bottom: 1.3em; }
form p { margin-bottom: .5em; }

input[type="email"], input[type="date"], input[type="search"], input[type="number"], input[type="text"],
input[type="tel"], input[type="url"], input[type="password"], textarea, select, .select-resize-ghost {
	width: 100%;
	max-width: 100%;
	height: 2.507em;
	padding: 0 .75em;
	vertical-align: middle;
	font-size: .97em;
	color: #333;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
	transition: color .3s, border .3s, background .3s, opacity .3s;
}
input[type="email"], input[type="search"], input[type="number"], input[type="url"], input[type="tel"], input[type="text"], textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
textarea { min-height: 120px; padding-top: .7em; overflow: auto; }
input:hover, textarea:hover, select:hover { box-shadow: inset 0 -1.8em 1em 0 rgba(0, 0, 0, 0); }
input[type="email"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus,
input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
	box-shadow: 0 0 5px #ccc;
	opacity: 1 !important;
	outline: 0;
	color: #333;
	background-color: #fff;
}
label { display: block; margin-bottom: .4em; font-size: .9em; font-weight: 700; }
input[type="checkbox"], input[type="radio"] { display: inline; margin-right: 10px; font-size: 16px; }
input[type="submit"], input[type="reset"], input[type="button"] { text-transform: uppercase; }
input[type="checkbox"] + label, input[type="radio"] + label { display: inline; }
abbr.required, abbr[title].required { text-decoration: none; border: 0; }
select {
	display: block;
	box-shadow: inset 0 -1.4em 1em 0 rgba(0, 0, 0, .02);
	background-color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-position: right .45em top 50%;
	background-repeat: no-repeat;
	background-size: auto 16px;
	padding-right: 1.4em;
}
select.resize-select { width: 55px; }
@media (max-width: 849px) {
	input[type="email"], input[type="date"], input[type="search"], input[type="number"], input[type="text"], input[type="tel"],
	input[type="url"], input[type="password"], textarea, select { font-size: 1rem; }
}
.button { margin-bottom: 1em; }
.form-flat input:not([type="submit"]), .form-flat textarea, .form-flat select { background-color: rgba(0, 0, 0, .03); box-shadow: none; border-color: rgba(0, 0, 0, .09); border-radius: 99px; }
::placeholder { color: currentColor; opacity: .6; }

/* ---------- Knapper ---------- */

.button, button, input[type="submit"], input[type="reset"], input[type="button"] {
	position: relative;
	display: inline-block;
	max-width: 100%;
	min-width: 24px;
	min-height: 2.5em;
	margin-top: 0;
	margin-right: 1em;
	padding: 0 1.2em;
	line-height: 2.4em;
	font-size: .97em;
	font-weight: bolder;
	letter-spacing: .03em;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	text-shadow: none;
	text-rendering: optimizeLegibility;
	vertical-align: middle;
	color: currentColor;
	background-color: transparent;
	border: 1px solid transparent;
	border-radius: 0;
	cursor: pointer;
	transition: transform .3s, border .3s, background .3s, box-shadow .3s, opacity .3s, color .3s;
}
input[type="submit"], input[type="reset"], input[type="button"] { text-transform: uppercase; }
.button span { display: inline-block; line-height: 1.6; }
.button.is-outline { line-height: 2.19em; }
.button, input[type="submit"], input[type="submit"].button, input[type="reset"].button, input[type="button"].button {
	color: #fff;
	background-color: var(--fs-color-primary);
	border-color: rgba(0, 0, 0, .05);
}
.button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover { outline: none; opacity: 1; color: #fff; box-shadow: inset 0 0 0 100px rgba(0, 0, 0, .2); }
.button.is-outline, input[type="submit"].is-outline, input[type="reset"].is-outline, input[type="button"].is-outline { border: 2px solid currentColor; background-color: transparent; }
.is-outline { color: silver; }
.is-outline:hover { box-shadow: none !important; }
.primary, input[type="submit"], input[type="submit"].button { background-color: var(--fs-color-primary); }
a.primary:not(.button), a.secondary:not(.button) { background-color: transparent; }
.primary.is-outline, .primary.is-link, .primary.is-underline { color: var(--fs-color-primary); }
.is-outline:hover, .primary.is-outline:hover { color: #fff; background-color: var(--fs-color-primary); border-color: var(--fs-color-primary); }
.secondary, .checkout-button, .button.checkout, .button.alt { background-color: var(--fs-color-secondary); }
.secondary.is-outline, .secondary.is-link, .secondary.is-underline { color: var(--fs-color-secondary); }
.secondary.is-outline:hover { color: #fff; background-color: var(--fs-color-secondary); border-color: var(--fs-color-secondary); }
.success { background-color: var(--fs-color-success); }
.alert { background-color: var(--fs-color-alert); }
.white { background-color: #fff !important; color: #666 !important; }
.white.button.is-outline { background-color: transparent !important; color: currentColor !important; }
.white.is-outline:hover { background-color: #fff !important; color: #666 !important; border-color: #fff; }
.dark .button, .dark input[type="submit"], .dark input[type="reset"], .dark input[type="button"] { color: #fff; }
.dark .button.is-form:hover, .button.is-form:hover { color: #000; background-color: #f1f1f1; }
.is-form, .button.is-form, button.is-form, input[type="submit"].is-form, input[type="reset"].is-form, input[type="button"].is-form {
	overflow: hidden;
	position: relative;
	color: #666;
	font-weight: 400;
	text-shadow: 1px 1px 1px #fff;
	text-transform: none;
	background-color: #f9f9f9;
	border: 1px solid #ddd;
}
.button.is-link, .button.is-underline { background-color: transparent !important; border-color: transparent !important; padding-left: .15em; padding-right: .15em; }
.is-link, .is-underline { color: #666; }
.expand, .button.expand, input[type="submit"].expand { display: block; width: 100%; max-width: 100%; padding-left: 0; padding-right: 0; }
.button.disabled, button.disabled, .button[disabled], button[disabled] { opacity: .6; }
.button.loading { color: rgba(255, 255, 255, .05); opacity: 1 !important; pointer-events: none !important; position: relative; }
.button.loading::after { content: ""; position: absolute; top: 50%; left: 50%; display: block; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 2px solid #fff; border-top-color: transparent !important; border-right-color: transparent !important; border-radius: 32px; animation: spin .5s linear infinite; }
.is-outline .button.loading::after { border-color: var(--fs-color-primary); }
.button.icon { display: inline-block; margin-left: .12em; margin-right: .12em; min-width: 2.5em; padding-left: .6em; padding-right: .6em; }
.button.icon i { font-size: 1.2em; }
.button.icon.circle { padding-left: 0; padding-right: 0; border-radius: 999px; }
.button.icon.circle > i { margin: 0 8px; }
.button i, button i { top: -1.5px; vertical-align: middle; }
a.icon:not(.button), button.icon:not(.button) { font-family: sans-serif; font-size: 1.2em; margin-left: .25em; margin-right: .25em; }
.text-center .button:first-of-type { margin-left: 0 !important; }
.text-right .button:last-of-type, .text-center .button:last-of-type { margin-right: 0 !important; }

/* ---------- Beholder og gitter ---------- */

.container, .row { width: 100%; margin-left: auto; margin-right: auto; }
.container, .container-width, .row { max-width: var(--pge-site-width); }
.container { padding-left: var(--pge-gutter); padding-right: var(--pge-gutter); }
.container::after, .row::after, .clearfix::after, .clear::after { content: ""; display: table; clear: both; }
.alert-color { color: var(--fs-color-alert); }
.success-color { color: var(--fs-color-success); }
.gap-half { gap: 15px; }
.scroll-to { width: 100%; }
.widget { margin-bottom: 1.5em; }
.is-dashed { border: 3px dashed currentColor; }
.is-well { padding: 30px; background-color: rgba(0, 0, 0, .02); box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 0 rgba(0, 0, 0, .07), inset 0 0 0 1px rgba(0, 0, 0, .05); }
.has-border { padding: 30px; border: 2px solid var(--fs-color-primary); }
.has-border.is-dashed { border-style: dashed; }
.row { display: flex; flex-flow: row wrap; }
.row .row:not(.row-collapse), .container .row:not(.row-collapse), .lightbox-content .row:not(.row-collapse) { width: auto; margin-left: -15px; margin-right: -15px; padding-left: 0; padding-right: 0; }
.row .container { padding-left: 0; padding-right: 0; }
.row .row-small:not(.row-collapse), .container .row-small:not(.row-collapse) { margin-left: -10px; margin-right: -10px; margin-bottom: 0; }
/* Direkte børn af en række, som ikke er kolonner, fylder hele bredden */
.row > div:not(.col):not([class^="col-"]):not([class*=" col-"]) { width: 100% !important; }
.row.row-collapse { max-width: 1260px; }
.row.row-small { max-width: 1282.5px; }
.row.row-large { max-width: 1320px; }
.row-full-width { max-width: 100% !important; }
.row-collapse { padding: 0; }
.row-collapse > .col, .row-collapse > .flickity-viewport > .flickity-slider > .col { padding: 0 !important; }
.row-collapse > .col .container { max-width: 100%; }
.container .row-small > .col, .row-small > .col { padding: 0 9.8px 19.6px; margin-bottom: 0; }
@media (min-width: 850px) {
	.row-large { padding-left: 0; padding-right: 0; }
	.row .row-large:not(.row-collapse), .container .row-large:not(.row-collapse) { margin-left: -30px; margin-right: -30px; margin-bottom: 0; }
	.row-large > .col { padding: 0 30px 30px; margin-bottom: 0; }
}

.col { position: relative; width: 100%; margin: 0; padding: 0 15px 30px; }
.col-fit { flex: 1; }
.col-first { order: -1; }
.col-last { order: 1; }
.col-inner { position: relative; flex: 1 0 auto; width: 100%; margin-left: auto; margin-right: auto; background-position: 50% 50%; background-size: cover; background-repeat: no-repeat; }
.col-has-radius { overflow: hidden; }
@media (max-width: 849px) { .col { padding-bottom: 30px; } }
@media (min-width: 850px) { .row-divided > .col + .col:not(.large-12) { border-left: 1px solid #ececec; } }

.align-equal > .col { display: flex; }
.align-middle { align-items: center !important; align-self: center !important; vertical-align: middle !important; }
.align-top { align-items: flex-start !important; align-self: flex-start !important; justify-content: flex-start !important; vertical-align: top !important; }
.align-bottom { align-items: flex-end !important; align-self: flex-end !important; justify-content: flex-end !important; vertical-align: bottom !important; }
.align-center { justify-content: center !important; }
.align-right { justify-content: flex-end !important; }

.small-1 { flex-basis: 8.3333333333%; max-width: 8.3333333333%; }
.small-2 { flex-basis: 16.6666666667%; max-width: 16.6666666667%; }
.small-3 { flex-basis: 25%; max-width: 25%; }
.small-4 { flex-basis: 33.3333333333%; max-width: 33.3333333333%; }
.small-5 { flex-basis: 41.6666666667%; max-width: 41.6666666667%; }
.small-6 { flex-basis: 50%; max-width: 50%; }
.small-7 { flex-basis: 58.3333333333%; max-width: 58.3333333333%; }
.small-8 { flex-basis: 66.6666666667%; max-width: 66.6666666667%; }
.small-9 { flex-basis: 75%; max-width: 75%; }
.small-10 { flex-basis: 83.3333333333%; max-width: 83.3333333333%; }
.small-11 { flex-basis: 91.6666666667%; max-width: 91.6666666667%; }
.small-12 { flex-basis: 100%; max-width: 100%; }
.small-columns-1 > .col { flex-basis: 100%; max-width: 100%; }
.small-columns-2 > .col { flex-basis: 50%; max-width: 50%; }
.small-columns-3 > .col { flex-basis: 33.3333333333%; max-width: 33.3333333333%; }
.small-columns-4 > .col { flex-basis: 25%; max-width: 25%; }
@media (min-width: 550px) {
	.medium-1 { flex-basis: 8.3333333333%; max-width: 8.3333333333%; }
	.medium-2 { flex-basis: 16.6666666667%; max-width: 16.6666666667%; }
	.medium-3 { flex-basis: 25%; max-width: 25%; }
	.medium-4 { flex-basis: 33.3333333333%; max-width: 33.3333333333%; }
	.medium-5 { flex-basis: 41.6666666667%; max-width: 41.6666666667%; }
	.medium-6 { flex-basis: 50%; max-width: 50%; }
	.medium-7 { flex-basis: 58.3333333333%; max-width: 58.3333333333%; }
	.medium-8 { flex-basis: 66.6666666667%; max-width: 66.6666666667%; }
	.medium-9 { flex-basis: 75%; max-width: 75%; }
	.medium-10 { flex-basis: 83.3333333333%; max-width: 83.3333333333%; }
	.medium-11 { flex-basis: 91.6666666667%; max-width: 91.6666666667%; }
	.medium-12 { flex-basis: 100%; max-width: 100%; }
	.medium-columns-1 > .col { flex-basis: 100%; max-width: 100%; }
	.medium-columns-2 > .col { flex-basis: 50%; max-width: 50%; }
	.medium-columns-3 > .col { flex-basis: 33.3333333333%; max-width: 33.3333333333%; }
	.medium-columns-4 > .col { flex-basis: 25%; max-width: 25%; }
}
@media (min-width: 850px) {
	.large-1 { flex-basis: 8.3333333333%; max-width: 8.3333333333%; }
	.large-2 { flex-basis: 16.6666666667%; max-width: 16.6666666667%; }
	.large-3 { flex-basis: 25%; max-width: 25%; }
	.large-4 { flex-basis: 33.3333333333%; max-width: 33.3333333333%; }
	.large-5 { flex-basis: 41.6666666667%; max-width: 41.6666666667%; }
	.large-6 { flex-basis: 50%; max-width: 50%; }
	.large-7 { flex-basis: 58.3333333333%; max-width: 58.3333333333%; }
	.large-8 { flex-basis: 66.6666666667%; max-width: 66.6666666667%; }
	.large-9 { flex-basis: 75%; max-width: 75%; }
	.large-10 { flex-basis: 83.3333333333%; max-width: 83.3333333333%; }
	.large-11 { flex-basis: 91.6666666667%; max-width: 91.6666666667%; }
	.large-12 { flex-basis: 100%; max-width: 100%; }
	.large-columns-1 > .col { flex-basis: 100%; max-width: 100%; }
	.large-columns-2 > .col { flex-basis: 50%; max-width: 50%; }
	.large-columns-3 > .col { flex-basis: 33.3333333333%; max-width: 33.3333333333%; }
	.large-columns-4 > .col { flex-basis: 25%; max-width: 25%; }
	.large-columns-5 > .col { flex-basis: 20%; max-width: 20%; }
	.large-columns-6 > .col { flex-basis: 16.6666666667%; max-width: 16.6666666667%; }
}

/* ---------- Flex-hjælpere ---------- */

.flex-row { display: flex; flex-flow: row nowrap; align-items: center; justify-content: space-between; width: 100%; }
.flex-row-col { display: flex; flex-direction: column; justify-content: flex-start; }
.flex { display: flex; }
.flex-col { max-height: 100%; }
.flex-grow { flex: 1; -ms-flex-negative: 1; -ms-flex-preferred-size: auto !important; }
.flex-center { margin: 0 auto; }
.flex-left { margin-right: auto; }
.flex-right { margin-left: auto; }
.flex-wrap { flex-wrap: wrap; }
.flex-has-center > .flex-row > .flex-col:not(.flex-center), .flex-has-center > .flex-col:not(.flex-center), .flex-has-center > .nav-row > .flex-col:not(.flex-center) { flex: 1; }
@media (max-width: 849px) { .medium-flex-wrap { flex-flow: column wrap; } .medium-flex-wrap .flex-col { flex-grow: 0; padding-top: 5px; padding-bottom: 5px; width: 100%; } }
@media (min-width: 850px) { .col2-set, .u-columns { display: flex; } .col2-set > div + div, .u-columns > div + div { padding-left: 30px; } }
.stack { display: flex; --stack-gap: 0; }
.stack-col { flex-direction: column; }
.stack-col > * { margin: 0 !important; }
.stack-col > * ~ * { margin-top: var(--stack-gap) !important; }
.justify-start { justify-content: flex-start; }

/* ---------- Synlighed ---------- */

.hidden { display: none !important; visibility: hidden !important; }
.mfp-hide { display: none !important; }
.hide { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); border: 0; word-wrap: normal !important; }
.screen-reader-text:focus { position: fixed !important; top: 5px; left: 5px; z-index: 100000; width: auto; height: auto; padding: 15px 23px 14px; clip: auto !important; clip-path: none; font-size: 14px; font-weight: 700; line-height: normal; color: #21759b; text-decoration: none; background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6); }
@media (max-width: 549px) { .hide-for-small, [data-show="hide-for-small"] { display: none !important; } }
@media (min-width: 550px) { .show-for-small, [data-show="show-for-small"] { display: none !important; } }
@media (max-width: 849px) { .hide-for-medium, [data-show="hide-for-medium"] { display: none !important; } .medium-text-center { text-align: center !important; width: 100% !important; float: none !important; } }
@media (min-width: 850px) { .show-for-medium, [data-show="show-for-medium"] { display: none !important; } }
@media (max-width: 549px) { .small-text-center { text-align: center !important; width: 100% !important; float: none !important; } }
.no-scrollbar { -ms-overflow-style: -ms-autohiding-scrollbar; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { width: 0 !important; height: 0 !important; }

/* ---------- Placering og lag ---------- */

.relative { position: relative !important; }
.absolute { position: absolute !important; }
.fixed { position: fixed !important; z-index: 12; }
.top { top: 0; } .right { right: 0; } .left { left: 0; } .bottom { bottom: 0; }
.fill { position: absolute; top: 0; left: 0; height: 100%; right: 0; bottom: 0; padding: 0 !important; margin: 0 !important; }
.pull-right { float: right; margin-right: 0 !important; }
.pull-left { float: left; margin-left: 0 !important; }
.circle { border-radius: 999px !important; object-fit: cover; }
.round { border-radius: 5px; }
.z-1 { z-index: 21; } .z-2 { z-index: 22; } .z-3 { z-index: 23; } .z-top { z-index: 9995; }
.inline { display: inline; }
.block { display: block; }
.inline-block { display: inline-block; }
.full-width { display: block; width: 100% !important; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.is-full-height { min-height: 100vh; }

/* ---------- Tekst ---------- */

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-center > div, .text-center > div > div, .text-center .is-divider, .text-center .star-rating, .text-center .is-star-rating { margin-left: auto; margin-right: auto; }
.text-left .is-divider, .text-left .star-rating { margin-right: auto; margin-left: 0; }
.text-right > div, .text-right > div > div, .text-right .is-divider { margin-left: auto; margin-right: 0; }
.uppercase, h6, th, span.widget-title { line-height: 1.05; letter-spacing: .05em; text-transform: uppercase; }
span.widget-title { font-size: 1em; font-weight: 600; text-transform: none; }
.lowercase { text-transform: none !important; }
.is-normal { font-weight: 400; }
.is-uppercase, .uppercase { line-height: 1.2; text-transform: uppercase; }
.breadcrumbs { text-transform: none; }
.thin-font { font-weight: 300 !important; }
.is-xxxlarge { font-size: 2.5em; }
.is-xxlarge { font-size: 2em; }
.is-xlarge { font-size: 1.5em; }
.is-larger { font-size: 1.3em; }
.is-large { font-size: 1.15em; }
@media (max-width: 549px) { .is-larger { font-size: 1.2em; } .is-large { font-size: 1em; } }
.is-small, .is-small.button { font-size: .8em; }
.is-smaller { font-size: .75em; }
.is-xsmall { font-size: .7em; }
.is-xxsmall { font-size: .6em; }
.nowrap, .no-text-overflow { white-space: nowrap; }
.no-text-overflow { overflow: hidden; text-overflow: ellipsis; }
.strong { font-weight: 700; }
.op-4 { opacity: .4; } .op-5 { opacity: .5; } .op-6 { opacity: .6; } .op-7 { opacity: .7; } .op-8 { opacity: .8; } .op-9 { opacity: .9; }
.lead { font-size: 1.3em; }
.last-reset *:last-child { margin-bottom: 0; }
.first-reset *:first-child { margin-top: 0; }

.is-divider { display: block; width: 100%; max-width: 30px; height: 3px; margin: 1em 0; background-color: rgba(0, 0, 0, .1); }
.widget .is-divider { margin-top: .66em; }
.is-border { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: 0; pointer-events: none; border-width: 1px; border-style: solid; border-color: #ececec; border-radius: 0; }

/* ---------- Afstande ---------- */

.mb-0 { margin-bottom: 0 !important; }
.ml-0 { margin-left: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mb-half { margin-bottom: 15px; }
.mb-half:last-child, .mb:last-child { margin-bottom: 0; }
.mt-half { margin-top: 15px; }
.mr-half { margin-right: 15px; }
.ml-half { margin-left: 15px; }
.mb { margin-bottom: 30px; }
.mt { margin-top: 30px; }
.mr { margin-right: 30px; }
.ml { margin-left: 30px; }
.pb-0 { padding-bottom: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-half { padding-bottom: 15px; }
.pt-half { padding-top: 15px; }
.pb { padding-bottom: 30px; }
.pt { padding-top: 30px; }
.inner-padding { padding: 30px; }
.no-margin { margin: 0 !important; }
.no-padding { padding: 0 !important; }

/* ---------- Mørk baggrund ---------- */

.dark, .dark p, .dark td { color: #f1f1f1; }
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6, .dark label, .dark .heading-font { color: #fff; }
.dark a, .dark .widget a { color: currentColor; }
.dark a:hover, .dark .widget a:hover { color: #fff; }
.dark .is-divider { background-color: rgba(255, 255, 255, .3); }
.dark td, .dark th { border-color: rgba(255, 255, 255, .08); }
.dark blockquote { color: #fff; }
.dark code { background-color: rgba(0, 0, 0, .5); border-color: #000; }

/* ---------- Skygger og effekter ---------- */

.box-shadow-1, .box-shadow-1-hover:hover { box-shadow: 0 1px 3px -2px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24); }
.box-shadow-2, .box-shadow-2-hover:hover { box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23); }
.box-shadow-3, .box-shadow-3-hover:hover { box-shadow: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .22); }
.box-shadow-4, .box-shadow-4-hover:hover { box-shadow: 0 14px 28px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .22); }
.box-shadow-5, .box-shadow-5-hover:hover { box-shadow: 0 30px 40px 0 rgba(0, 0, 0, .2); }
.box-shadow-1, .box-shadow-2, .box-shadow-3, .box-shadow-4, .box-shadow-5,
.box-shadow-1-hover, .box-shadow-2-hover, .box-shadow-3-hover, .box-shadow-4-hover, .box-shadow-5-hover { transition: transform .3s, box-shadow .3s, background-color .3s, color .3s, opacity .3s; }
.has-hover { }
.show-on-hover, .hover-slide-in, .hover-zoom-in, .hover-fade-in { opacity: 0; filter: blur(0); pointer-events: none; transition: opacity .5s, transform .3s, max-height .6s, filter .6s; }
.hover-slide-in { transform: translateY(100%) translateZ(0); }
.has-hover:hover .show-on-hover, .has-hover:hover .hover-slide-in, .has-hover:hover .hover-fade-in { opacity: 1; pointer-events: inherit; transform: scale(1) translateZ(0) translateY(0) !important; }

[data-animate] { opacity: 0 !important; will-change: filter, transform, opacity; animation-fill-mode: forwards; }
/* Startposition og overgang sættes først, når elementet kommer til syne (ellers kan det skubbe siden i bredden). */
[data-animate-transform="true"][data-animate="fadeInLeft"] { transform: translate3d(-70px, 0, 0); }
[data-animate-transform="true"][data-animate="fadeInRight"] { transform: translate3d(70px, 0, 0); }
[data-animate-transform="true"][data-animate="fadeInUp"], [data-animate-transform="true"][data-animate="bounceInUp"] { transform: translate3d(0, 70px, 0); }
[data-animate-transform="true"][data-animate="fadeInDown"] { transform: translate3d(0, -70px, 0); }
[data-animate-transform="true"][data-animate="blurIn"] { filter: blur(15px); }
[data-animate-transition="true"] { transition: filter 1.3s, transform 1.6s, opacity .7s ease-in; }
[data-animated="true"] { opacity: 1 !important; transform: translate3d(0, 0, 0) scale(1) !important; filter: none; animation-delay: .1s; }
@media (prefers-reduced-motion: reduce) { [data-animate] { opacity: 1 !important; transform: none !important; filter: none !important; } }
.no-js [data-animate] { opacity: 1 !important; transform: none !important; }

/* ---------- Ikoner ----------
   Hvert ikon er en CSS-maske, så det får tekstens farve og størrelse. */

i[class^="icon-"], i[class*=" icon-"] {
	display: inline-block;
	position: relative;
	width: 1em;
	height: 1.2em;
	margin: 0;
	padding: 0;
	line-height: 1.2;
	font-style: normal !important;
	font-size: inherit;
	text-transform: none;
	vertical-align: middle;
	speak: none;
}
i[class^="icon-"]::before, i[class*=" icon-"]::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: currentColor;
	-webkit-mask: var(--pge-icon) center / contain no-repeat;
	mask: var(--pge-icon) center / contain no-repeat;
}
.icon-menu { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.645' stroke-linecap='round' d='M2.47 7.3h15.06M2.47 12.29h15.06M2.47 17.27h15.06'/%3E%3C/svg%3E"); }
i.icon-search { width: 1.0257em; --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.23 18.98'%3E%3Ccircle cx='6.94' cy='8.34' r='5.93' fill='none' stroke='%23000' stroke-width='1.98'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.03' stroke-linecap='round' d='M11.13 12.53l3.67 3.71'/%3E%3C/svg%3E"); }
.icon-shopping-bag { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath fill-rule='evenodd' d='M1.9 8.69H5v1.37a1.44 1.44 0 0 0 2.88 0V8.69h4.24v1.37a1.44 1.44 0 0 0 2.88 0V8.69h3.1a.35.35 0 0 1 .35.31l1.05 8.94H.5L1.55 9a.35.35 0 0 1 .35-.31zM.41 18.69h19.18l.41 3.61a.6.6 0 0 1-.6.64H.6a.6.6 0 0 1-.6-.64z'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.37' stroke-linecap='round' d='M6.435 10.06V7.19a3.565 3.565 0 0 1 7.13 0v2.87'/%3E%3C/svg%3E"); }
i.icon-angle-down { width: .6641em; --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10.62 19.19'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.195' d='M1.05 7.15l4.105 4.1 4.105-4.1'/%3E%3C/svg%3E"); }
i.icon-angle-right { width: .3891em; --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.98 21.53'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.287' d='M1.575 5.895L6.09 10.41l-4.515 4.515'/%3E%3C/svg%3E"); }
i.icon-angle-left { width: .3735em; --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6.7 21.53'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.287' d='M5.425 5.895L.91 10.41l4.515 4.515'/%3E%3C/svg%3E"); }
.icon-cross { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E"); }
.icon-checkmark { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M4 12.500l5.500 5.500L20 6.500'/%3E%3C/svg%3E"); }
.icon-equalizer { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M3 6h9M17 6h4M3 12h3M11 12h10M3 18h11M19 18h2'/%3E%3Ccircle cx='14.500' cy='6' r='2.300' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='8.500' cy='12' r='2.300' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='16.500' cy='18' r='2.300' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); }
.icon-facebook { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.12 25.34'%3E%3Cpath d='M7.88 23.56V13H5.25V9.38h2.63V6.6c0-2.7 1.6-4.16 4.22-4.16h3.02v3.62H13.3c-1 0-1.42.4-1.42 1.3v2.02h3.24L14.73 13h-2.85v10.56z'/%3E%3C/svg%3E"); }
.icon-instagram { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.12 25.34'%3E%3Crect x='.97' y='3.41' width='19.18' height='19.18' rx='5.23' fill='none' stroke='%23000' stroke-width='1.94'/%3E%3Ccircle cx='10.56' cy='13' r='4.485' fill='none' stroke='%23000' stroke-width='1.91'/%3E%3Ccircle cx='16.2' cy='7.37' r='1.24'/%3E%3C/svg%3E"); }
.icon-envelop { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round' d='M2.500 5h19v14h-19zM2.500 5.500l9.500 7.500 9.500-7.500'/%3E%3C/svg%3E"); }
.icon-phone { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.600 2.500l3 4.500-2 2.300c1.300 2.900 3.800 5.500 6.900 7l2.300-2 4.700 3-.900 3.400c-.300 1-1.200 1.600-2.200 1.500C9.800 21.300 2.700 14.200 2 5.600c-.100-1 .500-1.900 1.500-2.200z'/%3E%3C/svg%3E"); }
.icon-tag { --pge-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M2 2h9.500L22 12.500 12.500 22 2 11.500zm5.500 3.500a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E"); }

[data-icon-label] { position: relative; }
[data-icon-label="0"]::after { display: none; }
[data-icon-label]::after {
	content: attr(data-icon-label);
	position: absolute;
	top: -10px;
	right: -10px;
	z-index: 1;
	min-width: 17px;
	height: 17px;
	padding-left: 2px;
	padding-right: 2px;
	line-height: 17px;
	font-family: Arial, sans-serif !important;
	font-size: 11px;
	font-style: normal;
	font-weight: bolder;
	letter-spacing: -.5px;
	text-align: center;
	color: #fff;
	background-color: var(--fs-color-secondary);
	border-radius: 99px;
	box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .3);
	opacity: .9;
	transition: transform .2s;
}
.button [data-icon-label]::after { top: -12px; right: -12px; }

.loading-spin, .processing { position: relative; }
.loading-spin, .processing::before {
	content: "";
	width: 30px;
	height: 30px;
	margin: 0 auto;
	font-size: 10px;
	text-indent: -9999em;
	pointer-events: none;
	opacity: .8;
	border: 3px solid rgba(0, 0, 0, .1);
	border-left-color: var(--fs-color-primary);
	border-radius: 50%;
	animation: spin .6s linear infinite;
}
.loading-spin.centered, .processing::before { position: absolute; top: 50%; left: 50%; z-index: 99; margin-top: -15px; margin-left: -15px; }
.dark .loading-spin, .dark.loading-spin, .dark .processing::before, .dark.processing::before, .box-image.processing::before { border-left-color: #fff; }
.box-image.processing::after { content: ""; position: absolute; inset: 0; background-color: #000; opacity: .1; }
.woocommerce-checkout.processing::before { position: fixed; }
.wpcf7-form .processing * { opacity: .8; }
/* Navnet "spin" bruges også af udvidelsernes egne ventehjul. */
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
