/*!
Theme Name: The Sceleton theme
Theme URI: https://www.tigerton.se
Author: Jonathan de Jong @ Tigerton
Author URI: https://www.tigerton.se
Description: "bony framework of the body", a theme for quick and modern development with Tigerton!
Text Domain: sceleton
Version: 1.0
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

body {
	line-height: 1
}

blockquote,
q {
	quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

body {
	margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline
}

audio:not([controls]) {
	display: none;
	height: 0
}

[hidden],
template {
	display: none
}

a {
	background-color: transparent
}

a:active,
a:hover {
	outline: 0
}

abbr[title] {
	border-bottom: 1px dotted
}

b,
strong {
	font-weight: 400
}

dfn,
i {
	font-style: italic
}

mark {
	background: #ff0;
	color: #000
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sup {
	top: -0.5em
}

sub {
	bottom: -0.25em
}

img {
	border: 0
}

svg:not(:root) {
	overflow: hidden
}

figure {
	margin: 1.8em 40px 32px 0
}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0
}

pre {
	overflow: auto
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0
}

button {
	overflow: visible
}

button,
select {
	text-transform: none
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer
}

button[disabled],
html input[disabled] {
	cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0
}

input {
	line-height: normal
}

input[type="checkbox"],
input[type="radio"] {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto
}

input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	box-sizing: content-box
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em
}

legend {
	border: 0;
	padding: 0
}

textarea {
	overflow: auto
}

optgroup {
	font-weight: bold
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

td,
th {
	padding: 0
}

.clearfix:after {
	content: "";
	display: block;
	clear: both
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.8780px;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000
}

.skip-link:hover,
.skip-link:active,
.skip-link:focus {
	position: static;
	height: auto;
	width: auto;
	margin: 0;
	float: left
}

.comment-content img[height],
.entry-content img,
.entry-summary img,
img[class*=align],
img[class*=attachment-],
img[class*=wp-image-] {
	height: auto
}

.post-thumbnail img,
.wp-post-image,
img.size-full,
img.size-large {
	height: auto;
	max-width: 100%
}

.alignleft,
.left {
	float: left
}

.alignright,
.right {
	float: right
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto
}

img {
	max-width: 100%;
	height: auto
}

/*# sourceMappingURL=style.css.map */

@font-face {
	font-family: "lean-forum-bygg";
	src: url("fonts/lean-forum-bygg.eot");
	src: url("fonts/lean-forum-bygg.eot?#iefix") format("embedded-opentype"),
		url("fonts/lean-forum-bygg.woff") format("woff"),
		url("fonts/lean-forum-bygg.ttf") format("truetype"),
		url("fonts/lean-forum-bygg.svg#lean-forum-bygg") format("svg");
	font-weight: normal;
	font-style: normal;
}

[data-icon]:before {
	font-family: "lean-forum-bygg" !important;
	content: attr(data-icon);
	font-style: normal !important;
	font-weight: normal !important;
	font-variant: normal !important;
	text-transform: none !important;
	speak: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
	font-family: "lean-forum-bygg" !important;
	font-style: normal !important;
	font-weight: normal !important;
	font-variant: normal !important;
	text-transform: none !important;
	speak: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-bars:before {
	content: "\61";
}

.icon-facebook:before {
	content: "\62";
}

.icon-instagram-icon:before {
	content: "\63";
}

.icon-chevron-right:before {
	content: "\64";
}

.icon-angle-right:before {
	content: "\65";
}

.icon-caret-right:before {
	content: "\66";
}

.icon-caret-down:before {
	content: "\67";
}

.icon-angle-down:before {
	content: "\68";
}

.icon-search:before {
	content: "\69";
}

.icon-cross:before {
	content: "\6a";
}

.icon-search-1:before {
	content: "\6b";
}

.icon-angle-left:before {
	content: "\6c";
}

.icon-angle-up:before {
	content: "\6d";
}

.icon-cross-1:before {
	content: "\6e";
}

.icon-close-round:before {
	content: "\6f";
}

.icon-close:before {
	content: "\70";
}

.icon-print:before {
	content: "\71";
}


/* variables */

:root {
	--tranform-float: translateY(-4px);
	--box-shadow: 2px 2px 10px 2px rgba(0, 0, 0, 0.05);
}

/* GENERAL */

* {
	box-sizing: border-box;
}

body {
	font-family: "proxima-nova", sans-serif;
}

.inner-wrapper {
	max-width: 1000px;
	margin: 0px auto;
	width: 96%;
}

.small-wrapper {
	max-width: 750px;
	margin: 0px auto;
	width: 90%;
}

.wrapper {
	max-width: var(--container-max-width);
	margin: 0px auto;
	padding: 0 var(--sektion-padding-desktop);
}

@media screen and (max-width: 768px) {
	.wrapper {
		padding: 0 var(--sektion-padding-mobil);
	}
}

.btn,
button,
.button,
a.button {
	border-radius: 0;
	border: 1px solid var(--color-accent);
	padding: 6px 12px;
	display: inline-block;
	margin: 10px 0;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	text-decoration: none;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
}

/* When .button is a span inside a link, style the link as the button */
a:has(> .button) {
	border-radius: 0;
	border: 1px solid var(--color-accent);
	padding: 6px 12px;
	display: inline-block;
	margin: 10px 0;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	text-decoration: none;
}

a:has(> .button) .button {
	border: none;
	padding: 0;
	margin: 0;
	display: inline;
	background: none;
}

.button:after,
a.button:after,
a:has(> .button):after {
	content: "\65";
	font-family: "lean-forum-bygg";
	padding: 0 0 0 4.8px;
	vertical-align: middle;
}

.button:hover {
	background-color: var(--color-accent);
	color: var(--color-accent-text);
	border: 1px solid var(--color-accent);
}



.show-all-posts:after {
	content: "\65";
	font-family: "lean-forum-bygg";
	padding: 0 0 0 4.8px;
	vertical-align: middle;
}


/* Motion tokens.
   The real values for --transition-duration, --motion-reveal-duration,
   --motion-zoom-duration, --motion-ease and --motion-zoom-scale come
   from functions.php (::root inline style) and are driven by the
   Transition Duration ACF option in Site Options → General. The
   fallbacks below are used only if that inline style is missing (e.g.
   theme activated before the option is saved). */
:root {
	--motion-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--motion-reveal-duration: 1000ms;
	--motion-zoom-duration: 400ms;
	--motion-zoom-scale: 1.03;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--motion-reveal-duration: 1ms;
		--motion-zoom-duration: 1ms;
		--motion-zoom-scale: 1;
	}
}

.animate-item {
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity var(--motion-reveal-duration) var(--motion-ease) var(--delay, 0ms),
		transform var(--motion-reveal-duration) var(--motion-ease) var(--delay, 0ms);
}

.animate-item.is-revealed {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.animate-item {
		transform: none;
	}
}

/* Carousel slides get a longer, softer reveal than regular
   .animate-item elements. With the 150 ms stagger between slides the
   sequence still feels tight, but each individual slide has more time
   to breathe in. Tweak --motion-slide-reveal-duration to change the
   feel without affecting other reveal animations. */
.scroll-slider__slide.animate-item {
	--motion-slide-reveal-duration: 1600ms;
	transition:
		opacity var(--motion-slide-reveal-duration) var(--motion-ease) var(--delay, 0ms),
		transform var(--motion-slide-reveal-duration) var(--motion-ease) var(--delay, 0ms);
}

@media (prefers-reduced-motion: reduce) {
	.scroll-slider__slide.animate-item {
		--motion-slide-reveal-duration: 1ms;
	}
}


/* Fonts */

/* Unified link style — matches the "Map" reference: palette accent
	color, semi-bold, no underline, hover lifts to a slightly lighter
	shade. Kept consistent across body text, activity details, homepage
	and other content areas. Buttons and navigation set their own
	text-decoration and colors and are unaffected. */
a {
	font-size: var(--text-base);
	line-height: 150%;
	font-weight: 600;
	margin-bottom: 16px;
	color: var(--color-accent);
	transition: color var(--transition);
	text-decoration: none;
}

p.smaller-text-heading a,
a.smaller-text-heading {
	font-size: var(--text-sm);
}

a:hover {
	color: color-mix(in srgb, var(--color-accent) 65%, #fff);
	text-decoration: none;
}

p {
	font-weight: 400;
	font-size: var(--text-base);
	line-height: 150%;
	margin-bottom: 16px;
	color: var(--color-text);
}

p.smaller-text-heading {
	font-size: var(--text-sm);
}

p.strong,
b,
strong {
	font-weight: 800;
}

p em {
	font-style: italic;
}

h1 {
	font-size: clamp(32px, 5vw, 44px);
	line-height: 1.3;
	font-weight: 800;
	margin: 0.2em 0 12.8px;
	color: var(--color-heading);
}

h1.larger-text-heading {
	font-size: clamp(40px, 5vw, 56px);
	margin-bottom: 30px;
	line-height: 125%;
}

h2 {
	font-size: clamp(28px, 5vw, 36px);
	line-height: 1.3;
	font-weight: 800;
	margin: 28px 0 12.8px;
	color: var(--color-heading);
}

h3 {
	line-height: 1.25em;
	font-size: clamp(20px, 5vw, 22px);
	font-weight: 800;
	margin-bottom: 8px;
	margin-top: 22px;
	color: var(--color-heading);
}

h4 {
	font-size: clamp(16px, 3.5vw, 18px);
	line-height: 1.2em;
	font-weight: 800;
	margin-top: 18px;
	margin-bottom: 10px;
	color: var(--color-heading);
}

blockquote {
	font-size: clamp(24px, 4vw, 28px);
	line-height: 1.4em;
}

/* Inside headings, small text and labels, links inherit the parent's
	color/size/weight so headings that happen to be links keep their
	heading appearance. Inline links in body text (p, li, blockquote, q)
	deliberately do NOT inherit — they use the unified link style
	defined above (palette accent + semi-bold + no underline). */
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
label a,
small a {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	text-decoration: none;
}

figcaption.wp-caption-text {
	margin: 8px 0;
	line-height: 1.6;
	font-weight: 300;
	font-style: italic;
	font-size: 0.9em;
}

.post-title a {
	font-weight: 300;
}

.post-title>a {
	color: initial;
}

h3.post-title>a {
	line-height: 1.5;
}

.section-preamble {
	margin-bottom: 40px;
}

a[href$=".pdf"].noicon,
a.noicon {
	padding-left: 0;
	background-image: none;
}

.pdf-link:after {
	content: "\65";
	font-family: "lean-forum-bygg";
	margin: 0 0 0 4.8px;
	vertical-align: middle;
}





/* universal settings */

.flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.flex-wrap {
	flex-wrap: wrap;
}

.align-center {
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.justify-content-space-between {
	justify-content: space-between;
}

.justify-content-center {
	justify-content: center;
}

.gap-1 {
	gap: 5px;
}

.gap-2 {
	gap: 10px;
}

.gap-3 {
	gap: 15px;
}

.gap-4 {
	gap: 20px;
}


/**
 * Section spacing scale.
 *
 * ACF exposes four levels for both top and bottom of every section:
 * none < decreased < standard < increased.
 *
 * Each level maps to a real padding value so the space above a section
 * only depends on that section's top setting, and the space below only
 * depends on its bottom setting. No cross-section side effects.
 *
 * Historical note: earlier versions of this theme implemented
 * `.padding-*-decreased` with `margin-top: -100px` (a hack to pull a
 * section on top of the previous one). That made the bottom-* class
 * affect the space *above* the section it was applied to, and made
 * "decreased" and "none" look identical. If a page truly needs sections
 * to overlap, add a dedicated `.overlap-previous` class rather than
 * abusing the padding scale.
 */

/* Top padding scale */
.padding-top-none {
	padding-top: 0 !important;
}

.padding-top-decreased {
	padding-top: 32px;
}

.padding-top-less {
	padding-top: 40px;
}

.padding-top-standard {
	padding-top: 80px;
}

.padding-top-increased {
	padding-top: 120px;
}

/* Bottom padding scale */
.padding-bottom-none {
	padding-bottom: 0 !important;
}

.padding-bottom-decreased {
	padding-bottom: 20px;
}

.padding-bottom-less {
	padding-bottom: 20px;
}

.padding-bottom-standard {
	padding-bottom: 50px;
}

.padding-bottom-increased {
	padding-bottom: 100px;
}

/* Scale spacing down on tablet/mobile so sections don't get airy on
	phones. The `none` overrides stay in force because of !important. */
@media (max-width: 768px) {
	.padding-top-decreased {
		padding-top: 20px;
	}

	.padding-top-less {
		padding-top: 28px;
	}

	.padding-top-standard {
		padding-top: 48px;
	}

	.padding-top-increased {
		padding-top: 72px;
	}

	.padding-bottom-decreased {
		padding-bottom: 14px;
	}

	.padding-bottom-less {
		padding-bottom: 14px;
	}

	.padding-bottom-standard {
		padding-bottom: 32px;
	}

	.padding-bottom-increased {
		padding-bottom: 64px;
	}
}

/* Opt-in overlap helper — replaces the old margin-top hack in
	`.padding-*-decreased`. Use only when a section is deliberately meant
	to overlap the one above (e.g. cards floating over a hero image). */
.overlap-previous {
	margin-top: -100px;
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.overlap-previous {
		margin-top: 0;
	}
}

.margin-bottom-none {
	margin-bottom: 0 !important;
}

.margin-top-none {
	margin-top: 0 !important;
}

.centered {
	text-align: center;
}


/**/

.entry {
	overflow: hidden;
	margin: 56px 0 80px;
}

.home .entry {
	background-color: #ebebeb;
	padding: 80px 0 66px;
	margin: 0;
}

.entry-inner-wrapper {
	position: relative;
	display: table;
	color: black;
}

.entry-inner-wrapper p {
	margin: 0 0 12.8px;
	color: black;
}

.entry-inner-wrapper a {
	display: block;
	margin-top: 10px;
	color: black;
}

.alignleft {
	margin: 5px 32px 16px 0;
}

.alignright {
	margin: 5px 0 16px 32px;
}

figure {
	max-width: 100%;
}

.entry li {
	line-height: 150%;
	font-size: var(--text-base);
	margin-bottom: 6px;
	font-weight: 400;
	color: var(--color-text);
	padding-left: 8px;
}

.entry ol {
	margin: 0 0 16px 24px;
	padding-left: 24px;
	list-style-type: decimal;
}

.entry ul {
	list-style: disc;
	margin: 0 0 16px 24px;
	padding-left: 24px;
}

/* Nested lists should feel a little tighter and not repeat the top margin */
.entry li>ul,
.entry li>ol {
	margin: 6px 0 6px 24px;
}

/* Soften content images with a matching corner radius (same as
	.news-image on the archive/home cards) and keep them fully
	responsive so nothing overflows on narrow screens. */
.entry .small-wrapper img,
.entry .small-wrapper figure img,
.entry .small-wrapper .wp-block-image img {
	border-radius: var(--border-radius);
	max-width: 100%;
	height: auto;
}

.entry .small-wrapper figure {
	margin: 24px 0;
}

/* Floated captions were losing their side margin to the rule above,
   so align left/right images sat flush against the text. */
.entry .small-wrapper figure.alignleft {
	margin: 8px 28px 20px 0;
}

.entry .small-wrapper figure.alignright {
	margin: 8px 0 20px 28px;
}

.entry .small-wrapper figure figcaption,
.entry .small-wrapper .wp-block-image figcaption {
	font-size: var(--text-sm);
	color: var(--color-muted, #666);
	margin-top: 8px;
	line-height: 1.4;
}

.entry ul.documentation-list {
	list-style: none;
	margin: 0;
}

.pagination {
	margin-top: 32px;
}

.page-numbers {
	font-size: var(--text-base);
	line-height: 170%;
	font-weight: 400;
	text-decoration: none;
	margin: 0 .280px 16px .280px;
	display: flex;
	align-items: center;
}

a.next.page-numbers:after {
	content: "\65";
	font-family: "lean-forum-bygg";
	margin: 0 0 0 4.8px;
	vertical-align: middle;
	line-height: 0.1;
}

a.next.page-numbers {
	padding: 0 0 0 4.8px;
}

a.prev.page-numbers:before {
	content: "\6c";
	font-family: "lean-forum-bygg";
	margin: 0 4.8px 0 0;
	vertical-align: middle;
	line-height: 0.1;
}

a.prev.page-numbers {
	padding: 0 4.8px 0 0;
}



/* Videos */

.video-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;

}

#content p .video-container {
	margin-top: 32px;
}

.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.wp-video,
video.wp-video-shortcode,
.mejs-container,
.mejs-overlay.load {
	width: 100% !important;
	height: 100% !important;
	margin-bottom: 32px;
}

.mejs-container {
	padding-top: 56.25%;
}

.wp-video,
video.wp-video-shortcode {
	max-width: 100% !important;
}


.video-placeholder .video-facade {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	border-radius: var(--border-radius);
	overflow: hidden;
}

.video-placeholder .video-preview {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-placeholder .play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: transparent;
	border: none;
	padding: 0;
	margin: 0;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
	transition: opacity var(--transition);
}

.video-placeholder .video-facade:hover .play-btn {
	opacity: .75;
}


/**
 * Activities
 */

.hz-component {
	overflow: hidden;
}

.notice {
	background: #ebebeb;
	padding: 10px 15px;
	border-left: 3px solid #0082c8;
}

.single-aktivitet .activity-image,
.single-hz_activity .activity-image {
	margin-bottom: 16px;
}

.single-hz_activity .hz-component-image_with_content img,
.single-aktivitet .hz-component-image_with_content img {
	width: 250px;
	float: right;
}

.single-hz_activity h2,
.single-aktivitet h2 {
	font-size: 28px;
	font-weight: 400;
}

.single-aktivitet .event-form,
.single-hz_activity .event-form {
	height: 0;
	overflow: hidden;
	margin: 16px 0;
	transition: height .4s ease-in-out;
}

.single-aktivitet .event-form .form-wrapper,
.single-hz_activity .event-form .form-wrapper {
	padding: 32px;
	background: #ebebeb;
}

.single-aktivitet .event-form .gfield_checkbox label,
.single-hz_activity .event-form .gfield_checkbox label {
	display: inline-block !important;
	margin-top: 6px;
}

.event-attendees {
	overflow: hidden;
	height: 0;
	transition: height .4s ease-in-out;
	background: #ebebeb;
	margin: 0 0 16px 0;
}

.event-attendees.visible {
	height: auto;
}

.event-attendees .attendees-wrapper {
	padding: 16px;
}

.event-attendees table {
	width: 100%;
}

.attendee-list-print thead tr th b,
.attendee-list-print tbody tr td b {
	font-weight: 700;
}

.attendee-list-print tbody tr td,
.attendee-list-print thead tr th {
	padding: 10px;
	text-align: left;
}

.event-attendees .attendees-wrapper {
	position: relative;
}

.event-attendees .print-button {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 1.5em;
	color: #000;
	opacity: 0.3;
}

.event-attendees table td,
.event-attendees table th {
	padding: 8px 0;
}

.event-attendees .attendees-list {
	list-style: none;
	margin-bottom: 0;
	margin-left: 0;
}

.event-attendees .attendee-item {
	padding: 6px 0;
	display: block;
	margin: 0;
}

.event-attendees .attendee-item span {
	display: block;
	float: left;
	width: 50%;
	padding-left: 8px;
}

.attendees-list .attendee-item:before {
	display: none;
}

.event-attendees .attendee-item.list-header {
	border-top: 0px;
}

.event-attendees .attendee-item.list-header span {
	font-weight: 400;
	font-size: 20px;
}

.activity-unregister-form {
	padding-left: 8px;
	margin-top: 20px;
}

.activity-unregister-form input[type="email"] {
	height: 35px;
	border: 0;
	padding: 0 10px;
	border-radius: .48px;
	margin-right: 10px;
}

.activity-unregister-form .btn-primary {
	font-size: 14px;
	padding: 8px 24px;
}

.activity-unregister-form .success-message {
	font-weight: bold;
}

.single-aktivitet .activity-facts {
	background: #ebebeb;
	padding: 32px;
	margin: 48px 0 16px 0;
}

.single-aktivitet .activity-facts h2 {
	margin-top: .80px;
	margin-bottom: 16px;
}

.single-aktivitet .activity-facts ul li {
	line-height: 1.7;
	padding-left: 0;
}

.single-hz_activity .hz-component-buttons .button {
	background-color: #e61c44;
	color: #fff;
	padding: .80px 16px;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
}

.single-hz_activity .hz-component-buttons .button:after {
	content: none;
}


/* activities 2022-02-23 */


/* - single */
.single-hz_activity .practical-info {
	background-color: #f6f6f6;
	padding: 32px;
}

.single-hz_activity .practical-info ul {
	padding: 0;
}

.single-hz_activity .practical-info ul li p {
	display: inline;
	margin: 0;
}

.single-hz_activity .acf-button {
	background-color: transparent;
	text-decoration: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	font-weight: 500;
	padding: 16px 32px;
	border: 2px solid;
	margin: 16px 16px 16px 0;
	border-radius: 0;
	outline: none;
	color: #e61c44;
	cursor: pointer;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
}

.single-hz_activity .acf-button:hover {
	color: #b71434;
}


.activity-registration-form .af-field-instructions {
	font-size: 15px;
	margin-top: 12px;
	line-height: 1.6;
	margin-bottom: 24px;
}

.acf-radio-list .selected {
	font-weight: bold;
}

.acf-checkbox-list .selected {
	font-weight: bold;
}

ul.acf-radio-list li,
ul.acf-checkbox-list li {
	font-size: 17px !important;
	line-height: 1 !important;
	position: relative;
	padding: 5px;
	list-style: none;
	display: block;
	margin: 12px 0 !important;
}

.acf-radio-list li label input[type=checkbox],
.acf-checkbox-list li label input[type=checkbox],
.acf-radio-list li label input[type=radio],
.acf-checkbox-list li label input[type=radio] {
	display: none;
}

.acf-radio-list li label {
	padding-left: 35px;
	cursor: pointer;
}

.acf-checkbox-list li label {
	padding-left: 37px;
	cursor: pointer;
}

.acf-radio-list li label:before {
	content: "";
	display: inline-block;
	z-index: 1;
	transition:
		background-color var(--transition),
		border-color var(--transition);
	background: rgba(255, 255, 255, 0.5);
	width: 27px;
	height: 27px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.acf-checkbox-list li label:before {
	content: "";
	display: inline-block;
	z-index: 1;
	transition:
		background-color var(--transition),
		border-color var(--transition);
	background: rgba(255, 255, 255, 0.5);
	width: 27px;
	height: 27px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 0.2px;
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.acf-radio-list li label.selected:before,
.acf-checkbox-list li label.selected:before {
	background: #636363;
	border: 1px solid rgba(255, 255, 255, 0.5);
}

/* Legacy .acf-field input styling removed — inputs are styled via
	.activity-registration-form near the bottom of this file. */

.activity-registration-form,
.activity-participants {
	margin-bottom: 30px;
}

/* - group */
.af-field.af-field-type-group .acf-fields.-left>.acf-field {
	display: flex;
	align-items: center;
}

.af-field.af-field-type-group .acf-fields.-left>.acf-field>.acf-input {
	width: 70% !important;
}

.af-field.af-field-type-group .acf-fields.-left>.acf-field>.acf-label {
	width: 30% !important;
	padding: 0 12px 0 0;
}

.af-field.af-field-type-group .acf-fields.-left>.acf-field:before {
	display: none;
}

.af-field.af-field-type-group .acf-fields .acf-field-radio .acf-label label {
	font-size: 17px;
	font-weight: normal;
}

.af-field.af-field-type-group .acf-fields.-left {
	background-color: transparent;
	border: none;
}

.af-field.af-field-type-group ul.acf-radio-list li,
ul.acf-checkbox-list li {
	margin: 12px 20px !important;
}

.af-field.af-field-type-group .acf-fields.-left>.acf-field {
	padding: 10px 0;
}

@media all and (max-width: 640px) {
	.af-field.af-field-type-group .acf-fields.-left>.acf-field>.acf-input {
		width: 100% !important;
	}

	.af-field.af-field-type-group .acf-fields.-left>.acf-field>.acf-label {
		width: 100% !important;
	}
}

/* - table */
.activity-participants table {
	margin: 15px 0;
	border: none;
}

.activity-participants table tr {
	border: none;
}

.activity-participants th,
.activity-participants td {
	padding: 8px 12px;
	border: none;
}

/* Legacy .activity-deregister styles removed — see the modern block near
	the bottom of this file (search for "Avanmäl button"). */

/* - button */

.single-hz_activity .button {
	cursor: pointer;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
	background-color: transparent;
	color: #e61c44;
	border: 2px solid;
	border-radius: 0;
	font-weight: 500;
	padding: 16px 32px;
	margin: 0 16px 0 0;
	outline: none;
	line-height: normal;
	display: inline-block;
}

.single-hz_activity .button:hover {
	background-color: transparent;
	color: #b71434;
}






/* Header */

.header-group {
	position: sticky;
	top: 0;
	z-index: 8000;
	overflow-anchor: none;
}

.header-search-panel {
	overflow: hidden;
	max-height: 0;
	background-color: #fff;
	box-shadow: none;
}

.header-group.is-search-open .header-search-panel {
	max-height: 96px;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.header-search-panel__inner {
	gap: 16px;
	padding: 16px 0;
	transform: translateY(-100%);
	opacity: 0;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.header-group.is-search-open .header-search-panel__inner {
	transform: translateY(0);
	opacity: 1;
}

.header-search-panel .search-form {
	max-width: none;
	width: 100%;
	padding: 0;
	margin: 0;
	flex: 1;
}

.header-search-panel .search-form input {
	width: 100%;
	padding: 12px 16px;
	font-size: var(--text-main);
	border: 1px solid var(--color-text);
	border-radius: 0;
	outline: none;
	background-color: #fff;
}

.header-search-close {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
	transition: color 0.2s ease;
}

.header-search-close:hover {
	color: var(--color-accent);
}

.search-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text);
	transition: color 0.2s ease;
	margin-bottom: 0;
}

.search-toggle:hover,
.search-toggle.is-active {
	color: var(--color-accent);
}

.header {
	background-color: #ffffff;
	padding: 20px 0;
}

.header-group.sticky .header {
	padding: 10px 0;
}

.logotype {
	width: 190px;
	height: auto;
	margin: 0;
	float: left;
	transform-origin: left center;
	transition: transform var(--transition);
}

@media (max-width: 768px) {
	.logotype {
		width: 160px;
	}
}

.logotype img {
	float: left;
}

.menu-main-list a:hover,
.menu-main-list li.current-menu-item>a {
	color: var(--color-accent);
}

.menu-main-list li {
	display: block;
	float: left;
	padding: 0 10px;
	position: relative;
}

.menu-main-list a {
	padding: 10px;
	display: inline-block;
	text-decoration: none;
	margin-bottom: 0;
	color: var(--color-text);
	font-weight: 600;
}

.toggle-menu {
	display: none !important;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
	margin: 0;
}

.toggle-menu__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.toggle-menu__icon--close {
	display: none;
}

.toggle-menu.show .toggle-menu__icon--open {
	display: none;
}

.toggle-menu.show .toggle-menu__icon--close {
	display: flex;
}

.header__top {
	width: 100%;
}

.header__actions>ul {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.header__actions>ul>li {
	margin: 0;
}

.header__actions>ul.lang-switcher {
	padding-bottom: 2px;
	display: none;
}

/* - icon arrow down */

.menu-main-list .dropdown-arrow {
	display: none;
	transition: transform var(--transition);
	line-height: 0;
}

/* - sub menu */

.menu-main-list ul {
	left: 0;
	top: 100%;
	visibility: hidden;
	opacity: 0;
	transform: translate(0, 20px);
	transition:
		opacity var(--transition),
		transform var(--transition),
		visibility var(--transition);
	position: absolute;
	background-color: #000;
	padding: 20px 8px;
	margin: 0;
	min-width: 250px;
	z-index: 99;
}

.menu-main-list ul:after {
	bottom: 100%;
	left: 15%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #000;
	border-width: 10px;
	margin-left: -10px;
}

.menu-main-list ul li {
	display: block;
	padding: 0;
	float: none;
	margin: 0;
}

.menu-main-list ul li a {
	color: #ffffff;
	padding: 6px 16px;
	margin: 0 !important;
	transition: color var(--transition);
}

.menu-main-list ul li a:hover {
	color: var(--color-accent);
}

.header.transparent.sticky .menu-main-list ul li a,
.header.transparent .menu-main-list ul li a {
	color: #ffffff;
}

.header.transparent.sticky .menu-main-list ul li a:hover,
.header.transparent .menu-main-list ul li a:hover {
	color: #f28a23;
}

.menu-main-list li:hover>ul {
	visibility: visible;
	opacity: 1;
	transform: translate(0, 0);
}

.menu-main-list li>ul ul:hover {
	visibility: visible;
	opacity: 1;
	transform: translate(0, 0);
}

/* header */

header .wrapper:after {
	display: none;
}

/* Compact header. The logo scales so Safari can ease it without
   reflow. Padding switches instantly: animating any size on the sticky
   bar moves the page while scrolling and stutters in Safari. */

.header-group.sticky {
	-webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2);
}

.header-group.sticky .logotype {
	transform: scale(calc(160 / 190));
}

@media (max-width: 768px) {
	.header-group.sticky .logotype {
		transform: none;
	}
}

.search-form {
	padding: 5px 0 5px 20px;
	position: relative;
	max-width: 100px;
}

.search-form input {
	border: 0.5px solid var(--color-text);
	padding: 5px 8px;
	line-height: 1.6;
	width: 100px;
	font-weight: 300;
	font-size: 16px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.search-form .search-submit {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin-right: 5px;
	background: transparent;
	line-height: 2;
}


/* Slider  */

.flexslider {
	border: none !important;
	margin: 0 !important;
}

.slider {
	overflow: hidden;
}

.slider ul li {
	position: relative;
	overflow: hidden;
}

.slider ul li img {
	float: left;
	width: 100%;
	height: auto;
}

.slider ul li .slider-caption {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: rgba(0, 130, 149, 0.75);
	padding: .80px 0 1.680px 0;
}

.slider ul li .slider-caption.red {
	background-color: rgba(230, 28, 68, 0.9);
}

.slider ul li .slider-caption.black {
	background-color: rgba(0, 0, 0, 0.75);
}

.slider ul li .slider-caption.teal {
	background-color: rgba(0, 130, 149, 0.9);
}


.slider ul li .inner {
	display: block;
}

.slider ul li .inner a {
	display: block;
	overflow: hidden;
	margin: 0;
}

.slider ul li .inner .title {
	color: #ffffff;
	float: left;
	font-size: 28px;
}

.slider ul li .inner .subtitle {
	font-size: 16px;
	margin: 0;
	display: inline-block;
	color: #ffffff;
	font-weight: 300;
	float: left;
	clear: both;
}

.slider ul li .inner .subtitle:after {
	content: "→";
	vertical-align: middle;
	margin-left: .80px;
}


/* Front page */

.logg-image {
	max-width: 150px;
	width: 150px;
	display: table-cell;
	vertical-align: middle;
	padding: 0 40px 0 0;
}

.entry-inner-wrapper .icon-angle-right {
	font-size: 150px;
	color: #ebebeb;
	display: table-cell;
	vertical-align: middle;
	line-height: 100px;
}

.logg_link {
	padding: 20px 0px 20px 70px;
	width: 100%;
	display: block;
	height: 100%;
	box-sizing: border-box;
	cursor: pointer;
}

.logg-text {
	display: table-cell;
	vertical-align: middle;
}

.logg-text a {
	color: #333 !important;
	font-weight: 300 !important;
	line-height: 1.5;
}

.logg-text a:hover {
	color: #b71434 !important;
}

.logg-text p {
	line-height: 1.5;
}

span.logg-text-info {
	display: block;
	font-size: 14.4px;
	color: lightgrey;
	font-weight: 300;
	padding: 0 0 4px 0;
}

/* section - carousel */

section.carousel li {
	padding: 0;
}

section.carousel li .carousel-card {
	background: #fff;
	padding: 20px;
	border-radius: var(--border-radius);
	color: #000;
	margin-top: 4px !important;
}

section.carousel li h3,
section.carousel li p {
	color: #000;
}

section.carousel .carousel-image {
	width: 100%;
	overflow: hidden;
	background: var(--accent-color);
	border-radius: var(--border-radius);
	isolation: isolate;
}

section.carousel .carousel-image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform var(--motion-zoom-duration) var(--motion-ease);
}

@media (hover: hover) and (pointer: fine) {
	section.carousel li:hover .carousel-image img {
		transform: scale(var(--motion-zoom-scale));
	}
}

section.carousel h2 {
	margin-bottom: 30px;
}

/* news */

.news-section {
	margin: 80px 0;
}

.news-section ul {
	overflow: hidden;
}

.news-section ul li {
	float: left;
	width: 100%;
	margin: 0 0 32px 0;
	overflow: hidden;
}

.news-section ul li>.news-post-inner {
	display: flex;
	flex-wrap: wrap;
}

.news-section ul li:nth-last-child(1) {
	margin: 0;
}

.news-section ul li .news-image {
	float: left;
	width: 400px;
	margin: 0 60px 0 0;
	overflow: hidden;
	min-height: 266px;
	height: 266px;
}

.news-section ul li .news-image img {
	width: auto;
	height: auto;
	max-height: 100%;
	float: right;
}

.news-section ul li .news-content p {
	margin: 0 0 16px;
}

.news-section ul li .news-content p a {
	color: #e61c44;
}

.news-section ul li .news-content p a:hover {
	color: #b71434;
}

.news-section li {
	opacity: 0;
	-webkit-transform: translateY(-50px);
	transform: translateY(-50px);
	-webkit-transition: opacity .5s ease-in-out, -webkit-transform .5s ease-in-out;
	transition: opacity .5s ease-in-out, -webkit-transform .5s ease-in-out;
	transition: opacity .5s ease-in-out, transform .5s ease-in-out;
	transition: opacity .5s ease-in-out, transform .5s ease-in-out, -webkit-transform .5s ease-in-out;
}

.news-section li.visible {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

/* upcoming activities */


.upcoming-activities-outer {
	-moz-column-count: 2;
	-webkit-column-count: 2;
	column-count: 2;

	column-gap: 3%;
}

.upcoming-activities-header,
.news-header {
	margin-bottom: 32px;
}

.upcoming-activities-outer .upcoming-activities>article {
	break-inside: avoid-column;
	margin-bottom: 28px;
}

.upcoming-activities-outer .upcoming-activities>article {
	float: left;
	display: block;
}

.upcoming-activities-outer .upcoming-activities>article .thumb {
	padding-top: .80px;
}

.page-template-page-upcoming-activies .news-post {
	margin: 0 0 32px;
	overflow: hidden;
}



/* newsletter */

.newsletter-docs {
	overflow: hidden;
	width: 100%;
	margin: 48px 0 0 !important;
	list-style: none !important;
}

.newsletter-docs li {
	float: left;
	width: 22%;
	padding: 10px;
	margin: 0 4% 3% 0;
	text-align: center;
}

.newsletter-docs li:nth-child(4n+4) {
	margin: 0 0 3% 0;
}

.newsletter-docs li:nth-child(4n+5) {
	clear: both;
}

.newsletter-docs li img {
	width: 100%;
	height: auto;
	margin: 0 0 16px;
	box-shadow: 0px 0px 10px #eaeaea;
	border: solid 1px #f9f9f9;
}

.newsletter-docs li .title {
	font-size: 20.8px;
	margin: 0 0 0.32px;
}

.newsletter-docs li .button {
	display: block;
	margin: 0;
}

#to-do-lists div ul {
	margin: 0;
	padding: 25px 0;
	list-style: none;
}

#to-do-lists div ul li img {
	max-width: 140px;
	max-height: 70px;
	vertical-align: middle;
}

#to-do-lists div ul li img.small {
	max-width: 120px;
	max-height: 50px;
}

#to-do-lists div ul li img.large {
	max-width: 160px;
	max-height: 90px;
}


.single .meta {
	margin: 0 0 40px;
}

.search .meta {
	margin: 0 0 20px;
}

.thumb {
	margin-bottom: 16px;
}

.subscribe {
	margin: 40px 0 0;
	overflow: hidden;
}

.subscribe h2 {
	text-align: center;
}

.subscribe #gform_wrapper_1 {
	margin: 24px auto 24px;
	padding: 0;
}

.subscribe #gform_wrapper_1 .gform_body {
	float: left;
	width: calc(100% - 260px) !important;
	clear: none;
}

.subscribe #gform_wrapper_1 .gform_body ul .gfield {
	width: 100%;
}

.subscribe #gform_wrapper_1 .gform_body ul .gfield .ginput_container input {
	background: transparent;
	color: #ffffff;
	border: solid 2px #ffffff;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	height: 41px;
}

.subscribe #gform_wrapper_1 .gform_footer {
	float: left;
	width: 240px;
	clear: none;
	margin: 0 0 0 20px !important;
}

.subscribe #gform_wrapper_1 .gform_footer .gform_button {
	background: transparent;
	color: #ffffff;
	border: solid 2px #ffffff;
	padding: 10.4px 9.6px !important;
	height: 41px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.btn-primary {
	color: var(--color-accent-text);
	background-color: var(--color-accent);
	font-weight: 300;
	border: none;
	padding: 11.2px 40px;
	border-radius: 4.8px;
	margin: 0 !important;
}

.btn-primary:hover {
	color: var(--color-accent-text);
	background-color: var(--color-accent);
}

button.btn-primary.registration.disabled,
button.registration.disabled {
	background-color: #ebebeb;
	color: #8a8a8a;
}

ul.aktivitet-fakta {
	list-style: none;
	margin: 0;
}

a.btn-primary:hover {
	color: #fff;
}

#to-do-lists li {
	display: inline-block;
	width: 17.2%;
	margin: 0 -5px;
	padding: 25.6px;
	box-sizing: border-box;
}

#to-do-lists li {
	max-width: 100%;
	max-height: 200px;
}

.partners {
	padding: 64px 0;
}

#to-do-lists div {
	margin-bottom: 56px;
}

#to-do-lists div:nth-last-child(1) {
	margin-bottom: 0;
}

.aktivitet-actions a.btn-primary {
	color: #fff;
	display: inline-block;
	line-height: 1;
}

/* Gravity forms */

.gform_wrapper {
	background: #ebebeb;
	width: 100%;
	display: block;
	padding: 24px 16px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.gform_wrapper .gform_body {
	width: 100% !important;
}

.gform_wrapper .gform_body ul .gfield {
	padding: 0 !important;
	margin: 16px 0 0 !important;
	list-style: none !important;
}

.gform_wrapper .gform_body ul .gfield.gsection {
	border-bottom: 1px solid #4c4c4c;
	margin: 0 0 24px !important;
}

.gform_wrapper .gform_body ul .gfield.gsection h2.gsection_title {
	font-weight: 300 !important;
	font-size: 24px;
	margin: 0 0 8px !important;
}

.gform_wrapper .gform_body ul .gfield label {
	font-weight: 400;
}

.gform_wrapper .gform_body ul .gfield .ginput_container {
	margin: 5px 0 0 !important;
}

.gform_wrapper .gform_body ul .gfield .ginput_container label {
	font-style: italic;
	font-size: 14.4px;
}

.gform_wrapper .gform_body ul .gfield .ginput_container input,
.gform_wrapper .gform_body ul .gfield .ginput_container textarea {
	background: #ffffff;
	color: #4c4c4c;
	border: solid 2px #ebebeb;
	border-radius: 4.8px;
	padding: 8px 9.6px !important;
	width: 100% !important;
}

.gform_wrapper .gform_body ul .gfield .ginput_container .gfield_radio li input,
.gform_wrapper .gform_body ul .gfield .ginput_container .gfield_checkbox li input {
	width: 20px !important;
	margin: 0 !important;
}


.gform_wrapper .gfield_description {
	margin: 5px 0 0 0 !important;
}

.gfield_contains_required .ginput_container_radio,
.field_sublabel_below .ginput_container_checkbox {
	margin-top: 8px !important;
}

.gfield_contains_required .ginput_container_radio label,
.field_sublabel_below .ginput_container_checkbox label {
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	margin-top: 2px !important;
}



.gform_wrapper .gform_body ul .gfield .ginput_container .gfield_radio li label {
	font-style: normal !important;
}

.gform_wrapper .gform_footer {
	margin: 32px 0 0 !important;
	padding: 0 !important;
}

.gform_wrapper .gform_footer .gform_button {
	color: #ffffff;
	background-color: #e61c44;
	font-weight: 300;
	border: none;
	padding: 11.2px 40px;
	border-radius: 4.8px;
	margin: 0 !important;
	line-height: 1;
	width: 100% !important;
}

.gform_wrapper .gform_footer .gform_button:hover {
	background-color: #a1142f;
}

.subscribe #gform_wrapper_1,
.footer #gform_wrapper_1 {
	padding: 0;
	background: transparent;
	overflow: hidden;
	max-width: 600px;
	width: 100%;
}

.subscribe #gform_wrapper_1 .gform_body,
.footer #gform_wrapper_1 .gform_body {
	float: left;
	width: calc(100% - 260px) !important;
	clear: none;
}

.subscribe #gform_wrapper_1 .gform_body ul .gfield,
.footer #gform_wrapper_1 .gform_body ul .gfield {
	margin: 0 !important;
}

.subscribe #gform_wrapper_1 .gform_body ul .gfield label,
.footer #gform_wrapper_1 .gform_body ul .gfield label {
	display: none;
}

.subscribe #gform_wrapper_1 .gform_body ul .gfield .ginput_container,
.footer #gform_wrapper_1 .gform_body ul .gfield .ginput_container {
	margin: 0 !important;
}

.subscribe #gform_wrapper_1 .gform_footer,
.footer #gform_wrapper_1 .gform_footer {
	float: left;
	width: 240px;
	clear: none;
	margin: 0 0 0 20px !important;
}


/* ========================================================================
   Gravity Forms – theme integration
   Overrides the default orbital theme styles so forms match the site.
   ======================================================================== */

.gform_wrapper.gform-theme,
.gform_wrapper {
	--gf-color-primary: var(--color-accent);
	--gf-color-primary-contrast: var(--color-accent-text);
	--gf-color-secondary: transparent;
	--gf-color-secondary-contrast: var(--color-text);
	--gf-color-out-ctrl-light: var(--color-border);
	--gf-color-out-ctrl-dark: var(--color-text);
	--gf-color-in-ctrl: transparent;
	--gf-color-in-ctrl-contrast: var(--color-text);
	--gf-color-in-ctrl-border: var(--color-border);
	--gf-color-ctrl-bg: transparent;
	--gf-color-ctrl-border: var(--color-border);
	--gf-color-ctrl-label: var(--color-text);
	--gf-color-cosmetic: var(--color-accent);
	--gf-radius: var(--border-radius);
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	max-width: none;
}

/* Input, textarea, select fields */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="date"],
.gform_wrapper textarea,
.gform_wrapper select {
	background: transparent;
	color: var(--color-text);
	border: 1px solid var(--color-border);
	border-radius: 0;
	padding: 12px 14px;
	font: inherit;
	font-size: var(--text-base, 15px);
	line-height: 1.4;
	width: 100%;
	box-shadow: none;
	transition: border-color var(--transition-duration, 300ms) ease;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
	outline: none;
	border-color: var(--color-accent);
}

.gform_wrapper textarea {
	min-height: 160px;
	resize: vertical;
}

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
	color: var(--color-heading);
	font-weight: 600;
	font-size: var(--text-sm, 14px);
	margin-bottom: 6px;
	display: block;
}

.gform_wrapper .gfield_required {
	color: var(--color-accent);
	margin-left: 4px;
}

/* Sub-labels ("First"/"Last" under Name field) */
.gform_wrapper .gform-field-label--type-sub {
	color: var(--color-muted, rgba(0, 0, 0, 0.6));
	font-weight: 400;
	font-size: 12px;
	text-transform: none;
	margin-top: 6px;
}

/* Description text */
.gform_wrapper .gfield_description,
.gform_wrapper .charleft {
	color: var(--color-muted, rgba(0, 0, 0, 0.6));
	font-size: 12px;
	margin-top: 6px;
}

/* Submit button – matches theme's .button style */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
	padding: 24px 0 0 0;
	margin: 0;
	background: transparent;
	border: none;
	text-align: left;
}

.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_button {
	background: transparent !important;
	color: var(--color-accent) !important;
	border: 1px solid var(--color-accent) !important;
	border-radius: 0 !important;
	padding: 10px 24px !important;
	font-weight: 600;
	font-size: var(--text-base, 15px);
	line-height: 1.3;
	cursor: pointer;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	appearance: none;
	-webkit-appearance: none;
	transition: background-color var(--transition-duration, 300ms) ease,
		color var(--transition-duration, 300ms) ease;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper .gform_button:hover {
	background: var(--color-accent) !important;
	color: var(--color-accent-text) !important;
	border-color: var(--color-accent) !important;
}

/* Checkbox and radio */
.gform_wrapper .gchoice {
	margin-bottom: 8px;
}

.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
	accent-color: var(--color-accent);
	margin-right: 8px;
}

.gform_wrapper .gform-field-label--type-inline {
	color: var(--color-text);
	font-weight: 400;
	font-size: var(--text-sm, 14px);
	cursor: pointer;
}

/* Validation error state */
.gform_wrapper .gfield_error input[type="text"],
.gform_wrapper .gfield_error input[type="email"],
.gform_wrapper .gfield_error input[type="tel"],
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: #c02b0a !important;
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
	color: #c02b0a;
	font-size: 12px;
	margin-top: 6px;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

/* Field spacing */
.gform_wrapper .gform_fields {
	gap: 20px !important;
	row-gap: 20px !important;
}

/* Gravityform confirmation */

.gform_confirmation_wrapper {
	padding: 48px 32px;
	background: #ebebeb;
}

.gform_confirmation_wrapper .gform_confirmation_message {
	font-weight: 300;
	font-size: 15.2px;
	line-height: 150%;
}

.gform_confirmation_wrapper .gform_confirmation_message h1 {
	font-size: 24px;
}

.gform_confirmation_wrapper .gform_confirmation_message strong {
	font-weight: 500;
}

.gform_wrapper .gform_body ul .gfield_error {
	width: 100% !important;
	background-color: transparent !important;
	border: none !important;
}

.gform_wrapper .gform_body ul .gfield_error .ginput_container input {
	border: solid 2px #ebebeb !important;
}

.gform_wrapper .gform_body ul .gfield_error .validation_message {
	color: #4c4c4c;
	font-weight: 300;
	font-style: italic;
	padding-top: 4px;
	font-size: 11.2px;
}

.gform_wrapper .validation_error {
	line-height: 1.4;
	text-align: left !important;
}


/* Page */

.entry p {
	margin: 0 0 16px;
}

.entry a.read-more-pil:after,
a.read-more-pil:after {
	content: "\65";
	font-family: "lean-forum-bygg";
	margin: 0 0 0 4.8px;
	vertical-align: middle;
}

.top-img {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.top-img img {
	float: left;
}

.textblock {
	margin: 16px 0;
	width: 100%;
	overflow: hidden;
}

/* Site-wide breadcrumbs.
	Sit on the page background under the white header. Small, muted text
	with "/" separators — links in --color-accent, current page + separator
	in --color-muted. */
.breadcrumbs-wrap {
	background: var(--color-bg);
	padding: 20px 0;
	overflow: visible;
}

.breadcrumbs {
	float: none;
	margin: 0;
	line-height: 1.5;
	color: var(--color-accent);
	font-size: 13.6px;
}

.breadcrumbs span {
	font-size: inherit;
	font-weight: 400;
}

.breadcrumbs span a,
.breadcrumbs span a span {
	font-weight: 500;
	font-size: inherit;
	text-decoration: none;
	margin: 0;
}

.breadcrumbs span a:hover,
.breadcrumbs span a:hover span {
	color: color-mix(in srgb, var(--color-accent) 65%, #fff);
	text-decoration: none;
}

.breadcrumbs .breadcrumbs-sep {
	display: inline-block;
	margin: 0 4px;
	font-weight: 400;
}



.gallery li {
	float: left;
	width: 19.2%;
	margin: 0 1% 1% 0;
}

.gallery li img {
	float: left;
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.entry ul.gallery {
	list-style: none;
}

.logg-image.logg-page-image {
	width: 130px;
	padding: 0 20px 0 0;
}

.styrelselogg {
	overflow: hidden;
	margin: 32px 0 0;
}

.styrelselogg p {
	margin-top: 16px;
}

.logg-wrapper {
	margin: 40px 0 0;
	overflow: hidden;
}

/* section */

section {
	background-color: var(--color-bg);
	color: var(--color-text);
	overflow: hidden;
}

section h1,
section h2,
section h3,
section h4,
section h5,
section h6 {
	color: var(--color-heading);
}

section .button,
section button {
	color: var(--color-accent);
}

section li {
	line-height: 150%;
	font-size: var(--text-base);
	margin-bottom: 6px;
	font-weight: 400;
	color: var(--color-text);
	padding-left: 8px;
}

section ol {
	margin: 0 0 16px 24px;
	padding-left: 24px;
	list-style-type: decimal;
}

section ul {
	list-style: disc;
	margin: 0 0 16px 24px;
	padding-left: 24px;
}

/* Nested lists should feel a little tighter and not repeat the top margin */
section li>ul,
section li>ol {
	margin: 6px 0 6px 24px;
}

/* Scroll slider (native horizontal scrolling, see initScrollSlider) */

.scroll-slider {
	--slider-gap: 20px;
	--slider-per-view: 1;
	container-type: inline-size;
}

.scroll-slider--carousel {
	--slider-per-view: 3;
}

@media (max-width: 1200px) {
	.scroll-slider--carousel {
		--slider-per-view: 2;
	}
}

@media (max-width: 768px) {
	.scroll-slider--carousel {
		--slider-per-view: 1;
	}
}

/* The track spans the full viewport so slides scroll in from and out
   to the screen edges; the matching padding keeps the first and last
   slide aligned with the wrapper. */
.scroll-slider__track {
	display: flex;
	gap: var(--slider-gap);
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
	list-style: none;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.scroll-slider__track::-webkit-scrollbar {
	display: none;
}

.scroll-slider__track--centered {
	align-items: center;
}

.scroll-slider .scroll-slider__slide {
	margin: 0;
	flex: 0 0 calc(
		(100cqw - (var(--slider-per-view) - 1) * var(--slider-gap))
		/ var(--slider-per-view)
	);
}

.scroll-slider__arrows {
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	margin: 20px 0;
}

button.scroll-slider__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #fff;
	color: var(--color-accent);
	cursor: pointer;
	transition: opacity .1s ease-in-out;
}

button.scroll-slider__arrow:hover:not(:disabled) {
	opacity: .9;
}

button.scroll-slider__arrow:disabled {
	opacity: .3;
	cursor: default;
}

button.scroll-slider__arrow svg {
	display: block;
	width: 38px;
	height: 38px;
	padding: 0 0 0 4px;
	fill: var(--color-accent);
}

.scroll-slider__arrow--prev svg {
	transform: scaleX(-1);
}

/* Trailing "See all news" link. A zero-width slide so it does not add
   scroll range or a snap point; the negative margin cancels the track
   gap. The link itself hangs into the empty gutter beside the last
   card, lined up with the vertical center of the image. */
.scroll-slider--news .scroll-slider__slide--end {
	position: relative;
	flex: 0 0 0px;
	width: 0;
	min-width: 0;
	margin: 0 0 0 calc(-1 * var(--slider-gap));
	padding: 0;
	overflow: visible;
	align-self: flex-start;
}

.scroll-slider--news .news-see-all {
	position: absolute;
	left: var(--slider-gap);
	/* Slides inherit section li's 8px padding, so the 16/9 image is
	   that much narrower than the slide. Center on the image. */
	top: calc((100cqw - 8px) * 9 / 32);
	transform: translateY(-50%);
	margin: 0;
	white-space: nowrap;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}

/* Below this width the gutter beside the card is too narrow for the
   link. Park it on the arrow row instead, clear of the scroll track. */
@media (max-width: 1000px) {
	.scroll-slider--news {
		position: relative;
	}

	.scroll-slider--news .scroll-slider__slide--end {
		position: absolute;
		left: 0;
		bottom: 30px;
		width: auto;
		height: auto;
		margin: 0;
		z-index: 2;
	}

	.scroll-slider--news .news-see-all {
		position: static;
		top: auto;
		transform: none;
	}
}

/* section - video */

section.video {
	padding: 64px 0;
}

@media (max-width: 1200px) {
	section.video {
		padding: 48px 0;
	}
}

section.video.padding-top-less {
	padding-top: 32px;
}

@media (max-width: 1200px) {
	section.video.padding-top-less {
		padding-top: 24px;
	}
}

section.video.padding-bottom-less {
	padding-bottom: 32px;
}

@media (max-width: 1200px) {
	section.video.padding-bottom-less {
		padding-bottom: 24px;
	}
}


/* section - activities */

section.activities {
	padding: 64px 0;
}

@media (max-width: 1200px) {
	section.activities {
		padding: 48px 0;
	}
}


/**
 * Columns
 */

.col {
	float: left;
	margin-right: 4%;
	margin-bottom: 24px;
}

.col.col16 {
	width: calc(16.66% - 4%);
}

@media (max-width: 1200px) {
	.col.col16 {
		width: calc(33.33% - 4%);
	}
}

@media (max-width: 1024px) {
	.col.col16 {
		width: calc(50% - 4%);
	}
}

@media (max-width: 768px) {
	.col.col16 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col20 {
	width: calc(20% - 4%);
}

@media (max-width: 1200px) {
	.col.col20 {
		width: calc(33.33% - 4%);
	}
}

@media (max-width: 1024px) {
	.col.col20 {
		width: calc(50% - 4%);
	}
}

@media (max-width: 768px) {
	.col.col20 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col25 {
	width: 22%;
}

@media (max-width: 1200px) {
	.col.col25 {
		width: 30.666%;
	}
}

@media (max-width: 1024px) {
	.col.col25 {
		width: 48%;
	}
}

@media (max-width: 768px) {
	.col.col25 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col25:nth-of-type(4n+4) {
	margin-right: 0;
}

@media (max-width: 1200px) {
	.col.col25:nth-of-type(4n+4) {
		margin-right: 4%;
	}
}

.col.col25:nth-of-type(4n+5) {
	clear: both;
}

@media (max-width: 1200px) {
	.col.col25:nth-of-type(4n+5) {
		clear: none;
	}
}

@media (max-width: 1200px) {
	.col.col25:nth-of-type(4n+3) {
		margin-right: 0;
	}
}

@media (max-width: 1200px) {
	.col.col25:nth-of-type(4n+4) {
		clear: both;
	}
}

@media (max-width: 1024px) {
	.col.col25:nth-of-type(4n+2) {
		margin-right: 0;
	}
}

@media (max-width: 1024px) {
	.col.col25:nth-of-type(4n+3) {
		clear: both;
	}
}

.col.col33 {
	width: 30.666%;
}

@media (max-width: 1024px) {
	.col.col33 {
		width: 48%;
	}
}

@media (max-width: 768px) {
	.col.col33 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col33:nth-of-type(3n+3) {
	margin-right: 0;
}

.col.col33:nth-of-type(3n+4) {
	clear: both;
}

@media (max-width: 1024px) {
	.col.col33:nth-of-type(3n+2) {
		margin-right: 0;
	}
}

@media (max-width: 1024px) {
	.col.col33:nth-of-type(3n+3) {
		clear: both;
	}
}

.col.col3366 {
	width: 31.3333333333%;
}

@media (max-width: 1200px) {
	.col.col3366 {
		width: 48%;
	}
}

@media (max-width: 768px) {
	.col.col3366 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col3366:nth-child(2n+2) {
	width: 64.6666666666%;
}

@media (max-width: 1200px) {
	.col.col3366:nth-child(2n+2) {
		width: 48%;
	}
}

@media (max-width: 768px) {
	.col.col3366:nth-child(2n+2) {
		width: 100%;
	}
}

.col.col3366:nth-of-type(2n+2) {
	margin-right: 0;
}

.col.col3366:nth-of-type(2n+3) {
	clear: both;
}

/* col4060*/

.col.col4060 {
	width: calc(40% - 2%);
}

@media (max-width: 768px) {
	.col.col4060 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col4060:nth-child(2n+2) {
	width: calc(60% - 2%);
}

@media (max-width: 768px) {
	.col.col4060:nth-child(2n+2) {
		width: 100%;
	}
}

.col.col4060:nth-of-type(2n+2) {
	margin-right: 0;
}

.col.col4060:nth-of-type(2n+3) {
	clear: both;
}



/* col50 */

.col.col50 {
	width: 48%;
}

@media (max-width: 768px) {
	.col.col50 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col50:nth-of-type(2n+2) {
	margin-right: 0;
}

.col.col50:nth-of-type(2n+3) {
	clear: both;
}


/* col6633*/

.col.col6633 {
	width: calc(66% - 2%);
}

@media (max-width: 768px) {
	.col.col6633 {
		width: 100%;
		margin-right: 0;
	}
}

.col.col6633:nth-child(2n+2) {
	width: calc(33% - 2%);
}

@media (max-width: 768px) {
	.col.col6633:nth-child(2n+2) {
		width: 100%;
	}
}

.col.col6633:nth-of-type(2n+2) {
	margin-right: 0;
}

.col.col6633:nth-of-type(2n+3) {
	clear: both;
}



.col.col100 {
	width: 100%;
}


.col>*:nth-child(1) {
	margin-top: 0 !important;
}

.col.background {
	padding: 56px 48px;
}


/* Deltagande företag */

.deltagande-text {
	box-shadow: 0 0 20px #ddd;
	margin: 16px 0;
	padding: 16px 19.2px;
	border-radius: var(--border-radius);
	overflow: hidden;
	font-weight: 300;
	line-height: normal;
}

.deltagande-link {
	float: right;
}

.news-post a.deltagande-link {
	color: #e61c44;
}

.deltagare-year {
	width: 33%;
	display: inline-block;
	text-align: center;
	font-size: 13.6px;
	vertical-align: top;
	line-height: 21px;
}

.icon-angle-right:before {
	vertical-align: -3px;
	margin: 0 0 0 4.8px;
}

.deltagande-company {
	width: 33%;
	display: inline-block;
}

.deltagande-link {
	display: inline-block;
	width: 32%;
	text-align: right;
	line-height: normal;
	margin-bottom: 0;
}

.deltagande-company .company-lan {
	font-size: 12px;
	display: block;
	margin: 4px 0 0 0;
}

.news-post.deltagande-wrap {
	overflow: visible;
}


/* Index */

.newspost-grid {
	margin-top: 50px;
}

.news-post {
	margin: 0 0 24px;
	overflow: hidden;
	width: 100%;
}

.news-post>.news-post-inner {
	display: flex;
	flex-wrap: wrap;
	color: var(--color-text);
}

.news-post .news-image {
	float: left;
	width: 400px;
	margin: 0 60px 0 0;
	overflow: hidden;
	min-height: 266px;
	height: 266px;
}

.news-post .news-image img {
	width: auto;
	height: auto;
	max-height: 100%;
	float: right;
}

.news-post .news-content .post-title {
	line-height: 1.2;
	margin: 0 0 12.8px;
	color: var(--color-heading);
}



/**
* Members archive
*/
.member-list {
	overflow: hidden;
	margin: 48px 0 0;
}

.member-list .logo {
	width: 15%;
	margin: 0 2% 2% 0;
	float: left;
}

.member-list .logo:nth-of-type(6n+6) {
	margin: 0 0 2% 0;
}

.member-list .logo .inner {
	height: 100px;
	width: 100%;
	display: flex;
}

.member-list .logo .inner img {
	max-width: 150px;
	max-height: 90px;
	width: auto;
	height: auto;
	margin: 0 auto;
	align-self: center;
}

.member-list .hidden-content {
	display: none;
	background-color: #ebebeb;
	color: #8a8a8a;
	padding: 24px 24px;
	margin: 0 auto 16px;
	position: relative;
	clear: both;
	max-width: 750px;

}

.member-list .hidden-content .inner {

	width: 100%;
}

.member-list .hidden-content .terms {
	margin: 0 0 16px;
	display: block;
}

.member-list .hidden-content .terms a {
	color: #8a8a8a;
	font-weight: 300;
}

/**
 * Category filter
 * Discreet pill-style buttons used above news archive/index grids.
 */
.category-filter {
	margin-top: 8px;
	margin-bottom: 32px;
	height: auto !important;
}

.category-filter .categories {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.category-filter .categories li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.category-filter .categories li a,
.category-filter .categories li .filter-btn {
	display: inline-block;
	padding: 6px 14px;
	background: transparent;
	color: var(--color-text);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	margin: 0;
	font-size: var(--text-sm);
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
}

.category-filter .categories li.current a,
.category-filter .categories li a:hover,
.category-filter .categories li .filter-btn.current,
.category-filter .categories li .filter-btn:hover {
	background: var(--color-accent);
	color: var(--color-accent-text);
	border-color: var(--color-accent);
}

/* News intro sits in a 66% column (~640px), which wraps the last
   category pill. A little wider keeps All categories plus the three
   news categories on one row. */
.news-intro .col.col6633 {
	width: 720px;
	max-width: calc(100% - 4%);
}

@media (max-width: 768px) {
	.news-intro .col.col6633 {
		width: 100%;
		max-width: none;
		margin-right: 0;
	}
}

.older-news-link {
	display: block;
}


/**
 * Reflektionsartiklar
 */
.reflection-wrap {
	margin: 48px auto 0;
}

.reflection-articles {
	width: 32%;
	float: left;
	margin: 0 2% 24px 0;
}

.reflection-articles:nth-child(3n+3) {
	margin: 0 0 24px 0;
}

.reflection-articles:nth-child(3n+4) {
	clear: both;
}

.reflection-articles a,
.reflection-articles a:hover {
	color: #333333;
}

.reflection-articles .button {
	display: block;
	color: #e61c44;
	margin: 8px 0 0 0;
	line-height: 1.3;
}

.reflection-articles .button:hover {
	color: #d74b5c;
}

/**
* Tribe events
*/
.post-type-archive-tribe_events .small-wrapper {
	max-width: 1000px;
}

.small-wrapper .tribe-events-c-view-selector__list,
.small-wrapper .tribe-events-c-top-bar__nav-list,
.small-wrapper .tribe-events-c-messages__message-list {
	list-style: none;
	margin: 0;
}


/**
 * Contact persons list
 */
.post-type-archive-kontaktpersoner .inner-wrapper,
.tax-regioner .inner-wrapper {
	max-width: 850px !important;
	width: 96% !important;
}

.contact-persons-wrap {
	width: 100%;
	float: left;
}

.contact-persons-wrap .top-info,
.contact-persons-wrap .top-text {
	width: 100%;
	display: block;
	margin: 0 0 64px;
}

.contact-persons-wrap .top-text {
	margin: 0 0 48px;
}

.contact-persons-wrap .not-top-text {
	margin: 48px 0 24px;
}

.contact-persons-wrap .top-info .region {
	margin: 0 0 16px;
}

.contact-persons-wrap .top-info .school {
	margin-top: 16px;
}

.contact-persons-wrap .top-info .region-content {
	font-weight: 300;
	font-style: italic;
}

.contact-persons-wrap .top-info img {
	display: block;
	margin: 0 0 16px 0;
}

.contact-persons {
	-moz-column-count: 2;
	-webkit-column-count: 2;
	column-count: 2;

	column-gap: 32px;
}

.contact-person {
	margin: 0 0 32px;
	overflow: hidden;
	-webkit-column-break-inside: avoid;
	display: inline-block;
}

.contact-person .portrait {
	max-width: 90px;
	max-height: 120px;
	height: auto;
	border-radius: 3px;
	margin: 0 20px 0 0;
	float: left;
}

.contact-person .inner {
	width: 100%;
}

.contact-person .inner.small {
	width: calc(100% - 110px);
	float: left;
}

.contact-person .post-title {
	font-size: 19.2px;
	margin: 0 0 8px;
}

.contact-person .title {
	font-size: 12.8px;
	font-weight: 300;
	margin: 0 0 0.180px 0;
	display: inline-block;
	color: #737373;
}

.contact-person .contact-info {
	display: block;
	width: 100%;
	overflow: hidden;
}

.contact-person .mail,
.contact-person .tel {
	display: block;
	font-size: 12.8px;
	margin: 0 0 .180px 0;
}

.map-wrap {
	width: 300px;
	float: right;
	margin: 0 0 0 50px;
}

#swedish-map {
	height: 720px;
	margin-left: -6.48px;
	background: transparent;
}

/* Section - Partners */

section.partners .cols {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 60px;
}

section.partners .col {
	background-color: var(--color-accent-text);
	height: 200px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--border-radius);
	overflow: hidden;
	isolation: isolate;
}

@media (max-width: 768px) {
	section.partners .col {
		height: 150px;
	}
}

section.partners .col,
section.partners a {
	width: calc(25% - 20px);
}

@media (max-width: 768px) {

	section.partners .col,
	section.partners a {
		width: calc(50% - 20px);
	}
}

section.partners a .col {
	width: 100%;
}

section.partners .col img {
	display: block;
	max-width: 60%;
	width: 100%;
	max-height: 35%;
	transition: transform var(--motion-zoom-duration) var(--motion-ease);
}

section.partners .col.logo-small img {
	max-width: 40%;
	max-height: 25%;
}

section.partners .col.logo-large img {
	max-width: 75%;
	max-height: 40%;
}

@media (hover: hover) and (pointer: fine) {
	section.partners .col:hover img {
		transform: scale(var(--motion-zoom-scale));
	}
}



/* MEDIA QUERIES ------------------------------------------------------ */

@media all and (max-width: 1312px) {
	.menu-main-list a {
		padding: 10px 5px;
	}
}

.menu-main--mobile {
	display: none;
}

@media all and (min-width: 1025px) {
	.menu-main--mobile {
		display: none !important;
	}
}

@media all and (max-width: 1024px) {

	.header__nav-desktop,
	.menu-main--desktop {
		display: none !important;
	}
}

@media all and (max-width: 1250px) {

	/* Header */

	.menu-main--mobile {
		margin-top: 24px;
	}

	.main-list a {
		padding: 10px 0;
	}

	.menu-main-list li {
		padding: 0 8px;
	}

	.search-form {
		padding: 5px 0 10px 0;
		max-width: 50px;
	}

	.search-form input {
		width: 80px;
	}

	/* Front page */

	.top-img img {
		width: 130%;
		max-width: none;
	}

	/* Gravity forms */

	.subscribe .gform_wrapper {
		padding: 0;
	}

	.search-form .search-submit {
		position: initial;
	}
}

@media all and (max-width: 1180px) {

	/* -members */

	.member-list .logo {
		width: 18.4%;
	}

	.member-list .logo:nth-of-type(6n+6) {
		margin: 0 2% 2% 0;
	}

	.member-list .logo:nth-of-type(5n+5) {
		margin: 0 0 2% 0;
	}

}


@media all and (max-width: 1024px) {

	/* Header */

	.header-group {
		margin: 0;
	}

	.header-group.is-menu-open {
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	}

	.header-group.is-menu-open .header__top {
		position: sticky;
		top: 0;
		z-index: 3;
		background-color: var(--color-bg, #ffffff);
	}

	.header__top {
		gap: 16px;
		flex-shrink: 0;
	}

	.header__actions {
		flex-shrink: 0;
	}

	.toggle-menu {
		display: flex !important;
	}

	.menu-main--mobile {
		display: none;
		width: 100%;
		margin: 0;
		padding-top: 0;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
		transition: none;
		float: none;
		margin-top: 20px;
	}

	.menu-main-list {
		display: block;
		margin: 0;
		width: 100%;
		-webkit-overflow-scrolling: touch;
		max-height: calc(100vh - 120px);
		overflow-y: auto;
		padding: 0;
		overflow-x: hidden;
	}

	.menu-main-list::-webkit-scrollbar {
		width: 6px;
	}

	.menu-main-list::-webkit-scrollbar-thumb {
		background-color: rgba(0, 0, 0, 0.15);
		border-radius: 999px;
	}

	.menu-main-list>li {
		float: none;
		padding: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.menu-main-list>li:last-child {
		border-bottom: 0;
	}

	.menu-main-list>li>a {
		display: block;
		width: auto;
		padding: 16px 0;
		font-size: var(--text-base);
		line-height: 1.4;
	}

	.menu-main--mobile .menu-main-list li:hover .sub-menu {
		max-height: 0;
		opacity: 0;
	}

	.menu-main--mobile .menu-main-list li .sub-menu {
		width: 100%;
		display: block;
		position: static;
		overflow: hidden;
		max-width: 100%;
		max-height: 0;
		margin: 0;
		padding: 0;
		min-width: 0;
		transform: translateY(-4px);
		visibility: visible;
		opacity: 0;
		background: #fff;
		transition: max-height 0.35s ease, opacity 0.3s ease, transform 0.3s ease, margin 0.35s ease;
	}

	.menu-main--mobile .menu-main-list li.open>.sub-menu {
		max-height: 40rem;
		opacity: 1;
		transform: translateY(0);
		margin: 0 0 20px;
	}

	.menu-main-list li .sub-menu:after {
		display: none;
	}

	.menu-main-list li .sub-menu li {
		border-bottom: 0;
	}

	.menu-main-list li .sub-menu li a {
		padding: 8px 16px;
		color: var(--color-text);
		font-size: var(--text-sm);
		font-weight: 600;
	}


	.menu-main-list li.menu-item-has-children:hover:after {
		display: none;
	}

	.subscribe .inner-wrapper {
		width: 70%;
	}

	.flexslider .slides img {
		width: 150% !important;
		max-width: none;
		margin-left: -25%;
	}

	.slider ul li .inner {
		max-width: 900px;
	}

	.header-group.sticky .menu-main--mobile {
		margin: 10px 0 10px 0;
	}


	/* - icon arrow down */

	.menu-main-list li.menu-item-has-children>.dropdown-arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		float: right;
		padding: 16px 12px 16px 0;
		color: var(--color-text);
	}

	.menu-main--mobile .menu-main-list li.menu-item-has-children>.dropdown-arrow svg {
		display: block;
		transform: rotate(90deg);
		transition: transform var(--transition);
	}

	.menu-main--mobile .menu-main-list li.menu-item-has-children.open>.dropdown-arrow svg {
		transform: rotate(-90deg);
	}

	.menu-main-list li.menu-item-has-children>a {
		display: inline-block;
		width: calc(100% - 40px);
	}


	.header-group.is-search-open .header-search-panel {
		max-height: 120px;
	}

	.search-form {
		max-width: 100%;
		width: 100%;
		padding: 0 0 24px 0;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		margin: 8px 0 32px;
		-webkit-appearance: none;
		-moz-appearance: none;
	}

	.search-form input {
		width: 100%;
		padding: 8px 10px;
		-webkit-appearance: none;
		-moz-appearance: none;
	}

	/* General */

	.wrapper {
		max-width: 1220px;
	}

	.entry .inner-wrapper {
		max-width: 650px;
	}

	.menu-main-list li.menu-item-has-children>.icon-caret-down {
		width: 15%;
	}

	.slider ul li .inner {
		bottom: 32px;
	}

	#to-do-lists li {
		width: 25.7%;
	}

	.entry {
		margin: 48px 0 64px;
	}

	.home .entry .inner-wrapper {
		max-width: 850px;
	}

	.slider ul li .inner {
		max-width: 700px;
		bottom: 80px;
	}

	.top-img img {
		width: 170%;
	}

	/* -members */

	.member-list .logo {
		width: 23.5%;
	}

	.member-list .logo:nth-of-type(5n+5) {
		margin: 0 2% 2% 0;
	}

	.member-list .logo:nth-of-type(4n+4) {
		margin: 0 0 2% 0;
	}

	/* Newsletters */

	.newsletter-docs li {
		width: 48%;
		padding: 10px;
		margin: 0 4% 3% 0;
	}

	.newsletter-docs li img {
		max-width: 250px;
	}

	.newsletter-docs li:nth-child(4n+4) {
		margin: 0 4% 3% 0;
	}

	.newsletter-docs li:nth-child(2n+2) {
		margin: 0 0 3% 0;
	}

	.newsletter-docs li:nth-child(2n+1) {
		clear: left;
	}

	/* Index */

	.news-post .news-image {
		width: 300px;
		margin: 0 30px 0 0;
		min-height: 200px;
		height: 200px;
	}

	.news-post .news-content {
		width: calc(100% - 330px);
	}

	/* Fronpage news */

	.news-section ul li .news-image {
		width: 300px;
		margin: 0 30px 0 0;
		min-height: 200px;
		height: 200px;
	}

	.news-section ul li .news-content {
		width: calc(100% - 330px);
	}


}


@media all and (max-width: 900px) {

	.single-hz_activity .hz-component-image_with_content img,
	.single-aktivitet .hz-component-image_with_content img {
		float: none;
		width: 400px;
	}


	.contact-persons {
		-moz-column-count: 1;
		-webkit-column-count: 1;
		column-count: 1;

		column-gap: 0;
	}

	.contact-person {
		display: block;
	}

}


@media all and (max-width: 768px) {

	.subscribe #gform_wrapper_1 #input_1_1,
	.footer #gform_wrapper_1 #input_1_1 {
		width: 96%;
	}

	.subscribe input#gform_submit_button_1,
	.footer input#gform_submit_button_1 {
		width: 96% !important;
		margin: 0;
	}

	#to-do-lists li {
		width: 34.4%;
	}

	.entry-inner-wrapper {
		text-align: center;
	}

	.entry .inner-wrapper {
		max-width: 400px;
	}

	.entry {
		margin: 32px 0 48px;
	}

	.logg-image {
		float: none;
		width: 100px;
		margin: 0 auto;
		margin-bottom: 30px;
		display: block;
	}

	.logg-text {
		padding: 0;
		display: block;
	}

	.flexslider .slides img {
		width: 160% !important;
		margin-left: -50%;
	}

	.slider ul li .inner {
		max-width: 600px;
		bottom: 32px;
	}

	.gallery li {
		width: 32.6%;
	}

	.entry-inner-wrapper .icon-angle-right {
		display: none;
	}

	.logg_link {
		padding: 40px 40px 40px 40px;
	}

	.top-img img {
		width: 200%;
	}

	.home .entry {
		padding: 50px 0 80px 0;
	}

	.home .entry .inner-wrapper {
		max-width: 500px;
		width: 96%;
		background: transparent;
	}

	.home .entry .inner-wrapper .logg_link {
		background: #ffffff;
		border-radius: var(--border-radius);
	}

	.logg-image {
		padding: 0;
		margin-bottom: 15px;
	}

	.breadcrumbs-wrap .sharing-box {
		display: none;
	}


	.upcoming-activities-outer {
		column-count: 1;
		column-gap: 0;
	}


	/* -coworkers */
	.coworkers li {
		width: 29.333%;
	}

	.coworkers li:nth-child(4n+4) {
		margin: 0 4% 24px 0;
	}

	.coworkers li:nth-child(3n+3) {
		margin: 0 0 24px 0;
	}

	.coworkers li:nth-child(4n+5) {
		clear: none;
	}

	.coworkers li:nth-child(3n+4) {
		clear: both;
	}


	/* - members */

	.member-list .logo {
		width: 32%;
	}

	.member-list .logo:nth-of-type(4n+4) {
		margin: 0 2% 2% 0;
	}

	.member-list .logo:nth-of-type(3n+3) {
		margin: 0 0 2% 0;
	}


	/* Deltagande företag */

	.deltagare-year {
		width: 39%;
		display: inline-block;
		text-align: right;
		font-size: 13.6px;
	}

	.deltagande-company {
		width: 59%;
		display: inline-block;
	}

	.deltagande-link {
		width: 100%;
		text-align: left;
		padding-top: 8px;
	}


	/* Index */

	.category-filter {
		margin-bottom: 0px;
	}

	.news-post .news-image {
		width: 100%;
		margin: 0 0 30px 0;
		min-height: 0;
		height: auto;
	}

	.news-post .news-image img {
		width: 100%;
		max-height: none;
	}

	.news-post .news-content {
		width: 100%;
	}

	/* Reflektionsartiklar */
	.reflection-articles {
		width: 48%;
	}

	.reflection-articles:nth-child(3n+3) {
		margin: 0 2% 24px 0;
	}

	.reflection-articles:nth-child(2n+2) {
		margin: 0 0 24px 0;
	}

	.reflection-articles:nth-child(3n+4) {
		clear: none;
	}

	.reflection-articles:nth-child(2n+3) {
		clear: both;
	}


	/* Fronpage news */
	.news-section ul li {
		float: none;
		width: 100%;
		margin: 0 0 16px 0;
	}

	.news-section ul li:nth-child(3) {
		margin: 0 auto;
	}

	.news-section ul li .news-image {
		width: 100%;
		margin: 0 0 10px 0;
		min-height: 0;
		height: auto;
	}

	.news-section ul li .news-image img {
		width: 100%;
		max-height: none;
	}

	.news-section ul li .news-content {
		width: 100%;
	}





	.map-wrap {
		width: 100%;
		margin: 50px 0 0 0;
	}


}

@media all and (max-width: 641px) {
	.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"]) {
		line-height: initial !important;
	}
}

@media all and (max-width: 600px) {

	#to-do-lists li {
		width: 50%;
	}

	/* - subscribeform */
	.subsrcribe h2 {
		font-size: 1.64px;
	}

	.subscribe #gform_wrapper_1 {
		margin: 0 auto;
	}

	.footer #gform_wrapper_1 {
		margin: 32px 0 0 0;
	}

	.subscribe #gform_wrapper_1 .gform_body,
	.footer #gform_wrapper_1 .gform_body {
		width: 100% !important;
	}

	.subscribe #gform_wrapper_1 .gform_footer,
	.footer #gform_wrapper_1 .gform_footer {
		width: 100%;
		margin: 8px 0 0 0 !important;
	}

	.subscribe #gform_wrapper_1 .gform_footer .gform_button,
	.footer #gform_wrapper_1 .gform_footer .gform_button {
		width: 100% !important;
	}

	/* - members */
	.member-list .logo {
		width: 49%;
	}

	.member-list .logo:nth-of-type(3n+3) {
		margin: 0 2% 2% 0;
	}

	.member-list .logo:nth-of-type(2n+2) {
		margin: 0 0 2% 0;
	}

	/* Reflektionsartiklar */
	.reflection-articles {
		width: 100%;
	}

	.reflection-articles:nth-child(3n+3) {
		margin: 0 0 24px 0;
	}


}

@media all and (max-width: 596px) {

	.single-hz_activity .hz-component-image_with_content img,
	.single-aktivitet .hz-component-image_with_content img {
		width: 100%;
	}

}

@media all and (max-width: 480px) {

	.slider ul li .inner {
		bottom: 16px;
	}

	.slider ul li .inner h2 {
		font-size: 20.8px;
	}

	.menu-main-list li.menu-item-has-children>.icon-caret-down {
		width: 10%;
	}

	.news-section ul li img {
		margin: 0;
	}

	.menu-main-list {
		height: auto;
		max-height: calc(100vh - 120px);
	}

	#to-do-lists li {
		width: 200px;
	}

	/* General */

	/* Front page */
	.flexslider .slides img {
		width: 200% !important;
	}

	.top-img img {
		width: 250%;
	}

	.entry .inner-wrapper {
		border-radius: 0;
		width: 100%;
	}

	.home .entry {
		padding: 40px 0 110px 0;
	}

	.home .entry .inner-wrapper .logg_link {
		padding: 20px;
	}

	.subscribe .inner-wrapper {
		width: 96%;
	}

	.subscribe h2 {
		font-size: 24px;
	}

	/* Gravity form */
	.gform_wrapper .gform_body ul .gfield .ginput_container input {
		height: auto;
	}

	.gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"]) {
		line-height: 1 !important;
	}

	/* - members */
	.member-list .logo {
		width: 100%;
	}

	.member-list .logo:nth-of-type(3n+3) {
		margin: 0 0 2% 0;
	}

	/* - subscribe form */
	.footer #gform_wrapper_1 {
		margin: 16px 0 0 0;
	}

	.subscribe #gform_wrapper_1 .gform_body {
		width: 100% !important;
	}

	.subscribe #gform_wrapper_1 .gform_footer {
		width: 100%;
		margin: 8px 0 0 0 !important;
	}

	/* Newsletter */
	.newsletter-docs li {
		width: calc(100% - 20px);
		margin: 0 0 4% 0;
	}

	/* Activites */
	.aktivitet-actions button {
		width: 100%;
		margin: 0 0 5px 0 !important;
		display: block;
	}

}

/* News grid */
.news-grid .cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.news-grid .col {
	float: none;
	margin: 0;
	width: auto;
}

@media (max-width: 1200px) {
	.news-grid .cols {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.news-grid .cols {
		grid-template-columns: 1fr;
	}
}

/* Slightly tighter grid on tablet and mobile widths */
@media (max-width: 1200px) {
	.news-grid .cols {
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.news-grid .cols {
		gap: 28px;
	}

	/* Reduce the heavy section side-padding so cards get real breathing
		room on phones. The theme uses 64px mobile padding by default which
		leaves very little content width on ~375px screens. */
	.news-archive .wrapper {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
	}
}

.news-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.news-image {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	overflow: hidden;
	background: var(--color-accent-text);
	border-radius: var(--border-radius);
	isolation: isolate;
}

.news-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--motion-zoom-duration) var(--motion-ease);
}

@media (hover: hover) and (pointer: fine) {
	.news-card:hover .news-image img {
		transform: scale(var(--motion-zoom-scale));
	}
}


.news-date {
	display: inline;
}

.news-meta,
.meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 8px;
	font-size: var(--text-base);
	font-weight: 600;
	color: var(--color-accent);
	line-height: 1.35;
}

.news-category {
	display: inline-block;
}

.news-meta-separator,
.meta-separator {
	color: var(--accent-color);
}

.news-card>a {
	color: inherit;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	height: 100%;
	gap: 12px;
	margin: 0;
	font-weight: inherit;
}

.news-content {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.news-title,
.news-title a,
.news-title h3 {
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.3s ease;
	margin: 4px 0 4px;
	line-height: 1.25;
}

.news-card a:hover h3.news-title {
	color: var(--color-text);
}

.news-excerpt {
	font-size: var(--text-base);
	color: var(--color-text);
	line-height: 1.5;
	margin: 0 0 8px 0;
	flex-grow: 1;
}

@media (max-width: 768px) {

	.news-title,
	.news-title a,
	.news-title h3 {
		margin: 2px 0;
	}

	.news-excerpt {
		margin-bottom: 4px;
	}
}

.news-card a:hover .news-excerpt {
	color: var(--color-text);
}

/* CALENDAR ARCHIVE */

.calendar-hero {
	background: linear-gradient(135deg, #0b1f33 0%, #16344d 100%);
	color: #fff;
	padding: 80px 0 96px;
}

.calendar-hero .wrapper {
	max-width: var(--container-max-width);
}

.calendar-hero-title {
	color: #fff;
	margin: 0 0 12px;
}

.calendar-hero-intro {
	color: rgba(255, 255, 255, 0.8);
	font-size: var(--text-md);
	margin: 0;
	max-width: 640px;
}

.calendar-archive {
	background: #f4f6f8;
	padding-top: 48px;
	padding-bottom: 80px;
}

.calendar-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}

.calendar-toolbar-title {
	margin: 0;
}

.calendar-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Filter dropdowns */
.calendar-dropdown {
	position: relative;
}

.calendar-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid var(--color-border, #d9dee3);
	border-radius: 10px;
	font-weight: 600;
	color: var(--color-heading, #16344d);
	cursor: pointer;
	transition: border-color var(--transition);
}

.calendar-dropdown-toggle:hover {
	border-color: var(--color-accent);
}

.calendar-dropdown-toggle svg {
	transform: rotate(0deg);
	transition: transform 0.2s ease;
}

.calendar-dropdown.open .calendar-dropdown-toggle svg {
	transform: rotate(180deg);
}

.calendar-dropdown-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	min-width: 200px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--color-border, #d9dee3);
	border-radius: 10px;
	box-shadow: var(--box-shadow);
	z-index: 20;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.calendar-dropdown.open .calendar-dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.calendar-dropdown-menu li {
	margin: 0;
}

.calendar-dropdown-menu button {
	display: block;
	width: 100%;
	margin: 0;
	padding: 8px 12px;
	border: none;
	border-radius: 6px;
	background: none;
	text-align: left;
	font-weight: 500;
	color: var(--color-text);
	cursor: pointer;
}

.calendar-dropdown-menu button:hover {
	background: #f0f3f6;
}

.calendar-dropdown-menu button.is-active {
	background: var(--color-accent);
	color: var(--color-accent-text, #fff);
}

/* Month groups */
.calendar-group {
	margin-bottom: 32px;
}

.calendar-month {
	font-size: var(--text-sm);
	letter-spacing: 0.08em;
	color: var(--color-muted, #6b7888);
	margin: 0 0 12px;
}

ul.calendar-list {
	padding: 0;
	margin: 0;
	list-style: none;
}

ul.calendar-list li {
	margin: 0;
	padding: 0;
}

.calendar-item {
	background: #fff;
	border: 0;
	border-radius: 12px;
	overflow: hidden;
	transform: translateY(0);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.calendar-item:hover {
	box-shadow: var(--box-shadow);
	transform: var(--tranform-float);
}

.calendar-item-link {
	display: grid;
	grid-template-columns: 180px 72px 1fr auto auto;
	align-items: center;
	gap: 20px;
	padding: 0 24px 0 0;
	text-decoration: none;
	color: inherit;
	font-weight: 400;
	margin: 0;
}

.calendar-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.1;
}

.calendar-date-month {
	font-size: var(--text-sm);
	font-weight: 700;
	color: var(--color-accent);
	letter-spacing: 0.04em;
}

.calendar-date-day {
	font-size: var(--text-xl);
	font-weight: 700;
	color: var(--color-heading);
}

.calendar-date-weekday {
	font-size: var(--text-sm);
	color: var(--color-muted);
}

.calendar-date-tbd {
	font-size: var(--text-sm);
	font-weight: 700;
	color: var(--color-muted);
}

.calendar-time {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--text-sm);
	color: var(--color-text);
	white-space: nowrap;
}

.calendar-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--badge-color, var(--color-accent));
	flex-shrink: 0;
}

.calendar-thumb {
	display: block;
	align-self: stretch;
	width: 100%;
	min-height: 120px;
	overflow: hidden;
	background: var(--color-border, #e4e8ec);
}

.calendar-thumb.is-empty {
	background: color-mix(in srgb, var(--color-border, #e4e8ec) 60%, #fff);
}

.calendar-thumb img,
.calendar-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.calendar-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.calendar-title {
	font-weight: 700;
	color: var(--color-heading, #16344d);
}

.calendar-location {
	font-size: var(--text-sm);
	color: var(--color-muted, #6b7888);
}

.calendar-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
}

.calendar-badge {
	font-size: var(--text-sm);
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 999px;
	color: var(--badge-color, var(--color-accent));
	background: color-mix(in srgb, var(--badge-color, var(--color-accent)) 14%, #fff);
	white-space: nowrap;
}

.calendar-chevron {
	display: inline-flex;
	grid-column: -2 / -1;
	justify-self: end;
	color: var(--color-muted, #6b7888);
}

.calendar-chevron svg {
	transform: rotate(180deg);
}

.calendar .calendar-chevron svg {
	transform: none;
}

.calendar-empty,
.calendar-empty-filter {
	color: var(--color-muted, #6b7888);
	font-size: var(--text-md);
}

@media screen and (max-width: 860px) {
	.calendar-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.calendar-item.col100 {
		width: auto;
	}

	.calendar-item-link {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-areas:
			"thumb"
			"date"
			"info"
			"time";
		gap: 0;
		padding: 0;
	}

	.calendar-thumb {
		grid-area: thumb;
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	.calendar-date {
		grid-area: date;
		flex-direction: row;
		align-items: baseline;
		gap: 6px;
		padding: 16px 18px 0;
		align-self: start;
	}

	.calendar-date-day {
		font-size: var(--text-md);
	}

	.calendar-info {
		grid-area: info;
		padding: 6px 18px 0;
	}

	.calendar-time {
		grid-area: time;
		padding: 8px 18px 18px;
	}

	.calendar-badges {
		grid-area: badges;
		justify-content: flex-start;
		padding: 0 18px 16px;
	}

	.calendar-chevron {
		display: none;
	}
}

@media screen and (max-width: 600px) {
	.calendar-list {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 600px) {
	.calendar-hero {
		padding: 56px 0 64px;
	}

	.calendar-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	.calendar-filters {
		width: 100%;
	}
}


/* ==========================================================================
	Single calendar event
	========================================================================== */


.event-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
}

/* When "Praktisk information" is hidden, keep the same content column
	width as in the two-column layout (1.7fr of the 1.7fr + 1fr grid,
	minus half of the 20px gap-4 gutter) and center it inside the
	wrapper. This prevents the content area from stretching to full
	width on very narrow, image-only activity pages. */
.event-layout--full {
	grid-template-columns: minmax(0, 1fr);
	max-width: calc((100% - 20px) * 1.7 / 2.7);
	margin-inline: auto;
}

.event-main,
.event-details-card {
	background: #fff;
	border-radius: 16px;
}

.event-main {
	overflow: hidden;
}

.event-details-card {
	padding: 32px;
}

.event-body {
	padding: 32px;
}

/* Status returned by hollertz-activities after a confirmed action, such as
	deregistration. Sits on its own row above the activity card. */
.event-notice {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 16px 20px;
	background: #fff;
	border-radius: 16px;
	border-left: 4px solid var(--color-accent);
	color: var(--color-heading);
}

.event-notice-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--color-accent);
	color: var(--color-accent-text, #fff);
}

.event-notice-icon svg {
	display: block;
}

.event-notice-text {
	margin: 0;
	font-size: var(--text-base);
	font-weight: 600;
	line-height: 1.4;
	color: var(--color-heading);
}

/* Main column */
.event-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.05;
	flex-shrink: 0;
}

.event-date-month {
	font-size: var(--text-md);
	font-weight: 700;
	color: var(--color-accent);
	letter-spacing: 0.04em;
}

.event-date-day {
	font-size: var(--text-3xl);
	font-weight: 800;
	color: var(--color-heading);
}

.event-date-weekday {
	font-size: var(--text-md);
	color: var(--color-muted);
}

.event-content {
	color: var(--color-text);
}

.event-header {
	margin-bottom: 30px;
}

/* Sidebar */
.event-sidebar {
	position: sticky;
	top: 24px;
}

.event-details-title {
	margin: 0 0 20px;
	font-size: var(--text-lg);
}

.event-details {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.event-detail {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 12px;
	align-items: start;
}

.event-detail-icon {
	display: inline-flex;
	color: var(--color-muted);
	padding-top: 2px;
}

.event-detail-body {
	display: flex;
	flex-direction: column;
	gap: 2.5px;
	min-width: 0;
}

.event-detail-label {
	font-size: var(--text-sm);
	color: var(--color-muted);
	line-height: 1.3;
}

.event-detail-value {
	color: var(--color-text);
	font-weight: 400;
	line-height: 1.35;
}

/* "Upplysningar" prints wp_kses_post() output which can contain <p>,
	<strong>, <a> etc. Strip default paragraph margins and keep the
	typography consistent with the plain rows above. */
.event-detail-value p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	font-weight: inherit;
}

.event-detail-value p+p {
	margin-top: 4px;
}

.event-detail-value strong,
.event-detail-value b {
	font-weight: 600;
}

/* Rows that intentionally have no icon (Pris, Upplysningar) still align
	with the icon-based rows above by keeping the same 28px empty column. */
.event-detail--plain>.event-detail-body {
	grid-column: 2;
}

.event-detail-link {
	margin-top: 4px;
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-accent);
	text-decoration: none;
}

.event-detail-link:hover {
	color: color-mix(in srgb, var(--color-accent) 65%, #fff);
	text-decoration: none;
}

/* Inline map link that follows the last location line ("Göteborg · Karta").
	Uses inherited size so it sits on the same baseline as the value text. */
.event-detail-link--inline {
	margin-top: 0;
	font-size: inherit;
}

.event-detail-sep {
	color: var(--color-muted);
	margin: 0 2px;
}

.event-detail-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 2px;
}

/* --- Activity buttons ---------------------------------------------------
	The hollertz-activities plugin renders <button class="button registration">
	and <button class="button participants"> inside .activity-buttons. Override
	the theme's default `.button` (which is outlined + has a chevron ::after)
	so we get the standard filled style the customer approved. */
.event-main .activity-buttons,
.activity-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 28px;
}

.event-main .activity-buttons .button,
.activity-buttons .button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	background: #038796;
	color: var(--color-accent-text, #fff);
	border: 0;
	border-radius: var(--border-radius, 4px);
	padding: 0 24px;
	margin: 0;
	font-weight: 600;
	font-size: var(--text-base);
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
}

.event-main .activity-buttons .button::after,
.activity-buttons .button::after {
	content: none;
}

.event-main .activity-buttons .button:hover,
.activity-buttons .button:hover {
	background: color-mix(in srgb, var(--color-accent) 88%, #000);
	border-color: color-mix(in srgb, var(--color-accent) 88%, #000);
	color: var(--color-accent-text, #fff);
}

.event-main .activity-buttons .button:disabled,
.activity-buttons .button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* The registration form + participants list are toggled open/closed by the
	plugin's public JS (slideDown/slideUp). Give them the same card look as
	the sidebar so they feel like part of the layout when expanded. */
.activity-registration-form,
.activity-participants {
	background: #edf3f5;
	padding: 28px;
	border-radius: var(--border-radius, 4px);
	margin: 0 0 28px;
}

/* --- Registration form (Advanced Forms output) --------------------------
	Advanced Forms renders each field inside .af-field / .acf-field with
	.af-label + .af-input. Give inputs a consistent border + focus state so
	the form matches the rest of the site. All rules are scoped to
	.activity-registration-form so we don't affect other ACF forms. */
.activity-registration-form .af-fields,
.activity-registration-form .acf-fields {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border: 0;
}

/* ACF prints .acf-fields > .acf-field { border-top: 1px solid #eaecf0 }
	at the same specificity as our theme rule, which causes hair-lines
	between every field. Increase specificity so the reset always wins. */
.activity-registration-form .af-field,
.activity-registration-form .acf-field,
.activity-registration-form .acf-fields>.acf-field,
.activity-registration-form .acf-fields>.acf-field:first-child {
	padding: 0;
	border: 0;
	background: transparent;
	width: 100%;
	margin: 0;
}

.activity-registration-form .af-label,
.activity-registration-form .acf-label {
	margin: 0 0 6px;
	padding: 0;
}

.activity-registration-form .af-label label,
.activity-registration-form .acf-label label {
	display: inline-block;
	margin: 0;
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-heading);
	line-height: 1.3;
}

.activity-registration-form .acf-required {
	color: #d63638;
	margin-left: 2px;
}

.activity-registration-form .af-field-instructions {
	margin: 4px 0 0;
	font-size: var(--text-sm);
	color: var(--color-muted);
}

.activity-registration-form .af-input,
.activity-registration-form .acf-input {
	padding: 0;
	margin: 0;
}

.activity-registration-form input[type="text"],
.activity-registration-form input[type="email"],
.activity-registration-form input[type="tel"],
.activity-registration-form input[type="url"],
.activity-registration-form input[type="number"],
.activity-registration-form input[type="password"],
.activity-registration-form select {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	background: #fff;
	border: 0;
	border-radius: var(--border-radius, 4px);
	font: inherit;
	font-size: var(--text-base);
	color: var(--color-text);
	line-height: 48px;
	box-shadow: none;
	transition: box-shadow var(--transition);
}

.activity-registration-form textarea {
	width: 100%;
	min-height: 120px;
	padding: 12px 16px;
	background: #fff;
	border: 0;
	border-radius: var(--border-radius, 4px);
	font: inherit;
	font-size: var(--text-base);
	color: var(--color-text);
	line-height: 1.5;
	resize: vertical;
	box-shadow: none;
	transition: box-shadow var(--transition);
}

.activity-registration-form input:focus,
.activity-registration-form select:focus,
.activity-registration-form textarea:focus {
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 25%, transparent);
}

.activity-registration-form input[type="checkbox"],
.activity-registration-form input[type="radio"] {
	width: 16px;
	height: 16px;
	margin: 3px 8px 0 0;
	accent-color: var(--color-accent);
	vertical-align: top;
}

.activity-registration-form .acf-checkbox-list,
.activity-registration-form .acf-radio-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.activity-registration-form .acf-checkbox-list li,
.activity-registration-form .acf-radio-list li {
	margin: 0 0 6px;
}

.activity-registration-form .acf-checkbox-list label,
.activity-registration-form .acf-radio-list label {
	font-weight: 400;
	color: var(--color-text);
	font-size: var(--text-base);
	line-height: 1.5;
}

/* Submit button uses the same filled style as the activity buttons. */
.activity-registration-form .af-submit,
.activity-registration-form .acf-form-submit,
.activity-registration-form p.af-submit {
	margin: 20px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.activity-registration-form .af-submit-button,
.activity-registration-form .acf-form-submit input[type="submit"],
.activity-registration-form button[type="submit"] {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	background: #038796;
	color: var(--color-accent-text, #fff);
	border: 0;
	border-radius: var(--border-radius, 4px);
	padding: 0 24px;
	font-weight: 600;
	font-size: var(--text-base);
	line-height: 1;
	cursor: pointer;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
	margin: 0 0 -14px 0;
}

.activity-registration-form .af-submit-button:hover,
.activity-registration-form .acf-form-submit input[type="submit"]:hover,
.activity-registration-form button[type="submit"]:hover {
	background: color-mix(in srgb, var(--color-accent) 88%, #000);
	border-color: color-mix(in srgb, var(--color-accent) 88%, #000);
	color: var(--color-accent-text, #fff);
}

.activity-registration-form .af-success {
	background: color-mix(in srgb, var(--color-accent) 8%, #fff);
	color: var(--color-heading);
	padding: 28px;
	border-radius: var(--border-radius, 4px);
}

.activity-registration-form .af-success > :first-child {
	margin-top: 0;
}

.activity-registration-form .af-success > :last-child {
	margin-bottom: 0;
}

/* After submission the form is replaced by .af-success, so drop the outer
	card to avoid a box inside a box. */
.activity-registration-form:has(.af-success),
.activity-registration-form:has(.af-success) .af-form {
	background: transparent;
	padding: 0;
	border: 0;
}

/* Participants list (fold-out): keep the table readable inside the card. */
.activity-participants table {
	width: 100%;
	border-collapse: collapse;
}

.activity-participants th {
	text-align: left;
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0 12px 8px 0;
	border: 0;
}

.activity-participants td {
	padding: 8px 12px 8px 0;
	color: var(--color-text);
	border: 0;
}

.activity-participants tr:last-child td {
	padding-top: 16px;
	font-weight: 700;
	color: var(--color-heading);
}

/* Deregister form sits at the bottom of the participants panel. */
.activity-deregister {
	margin-top: 16px;
}

.activity-deregister form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: stretch;
}

.activity-deregister input[type="email"] {
	flex: 1 1 240px;
	height: 48px;
	padding: 0 16px;
	background: #fff;
	border: 0;
	border-radius: var(--border-radius, 4px);
	font: inherit;
	font-size: var(--text-base);
	line-height: 48px;
	color: var(--color-text);
	transition: box-shadow var(--transition);
}

.activity-deregister input[type="email"]:focus {
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 25%, transparent);
}

/* Avanmäl button — same filled style as the activity buttons above.
	Matches the email input height so the row is perfectly aligned. */
.activity-deregister .button,
.activity-deregister button[type="submit"] {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	background: #038796;
	color: var(--color-accent-text, #fff);
	border: 0;
	border-radius: var(--border-radius, 4px);
	padding: 0 24px;
	margin: 0;
	font-weight: 600;
	font-size: var(--text-base);
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
}

.activity-deregister .button::after,
.activity-deregister button[type="submit"]::after {
	content: none;
}

.activity-deregister .button:hover,
.activity-deregister button[type="submit"]:hover {
	background: color-mix(in srgb, var(--color-accent) 88%, #000);
	border-color: color-mix(in srgb, var(--color-accent) 88%, #000);
	color: var(--color-accent-text, #fff);
}

/* Sidebar actions */
.event-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.event-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 14px 18px;
	border-radius: 10px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--transition),
		border-color var(--transition),
		color var(--transition);
}

/* Related events */

.event-related-head {
	margin-bottom: 30px;
}

.event-related-title {
	margin: 0;
}

.event-related-all {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-weight: 600;
	color: var(--color-accent);
	text-decoration: none;
	white-space: nowrap;
}

.event-related-all:hover {
	color: color-mix(in srgb, var(--color-accent) 65%, #fff);
	text-decoration: none;
}

.event-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.event-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: #fff;
	border-radius: 12px;
	padding: 18px;
	text-decoration: none;
	color: inherit;
	transform: translateY(0);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	overflow: hidden;
}

.event-card:hover {
	box-shadow: var(--box-shadow);
	transform: var(--tranform-float);
}

.event-card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.calendar-groups {
	margin-top: 60px;
}

.event-card .calendar-time {
	white-space: normal;
	text-align: right;
}

.event-card-title {
	font-weight: 700;
	color: var(--color-heading);
	flex: 1;
}

.event-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
}

.event-chevron {
	display: inline-flex;
	color: var(--color-muted);
}

@media screen and (max-width: 1024px) {
	.event-layout {
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	.event-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 860px) {

	.event-sidebar {
		position: static;
	}

	.event-body,
	.event-details-card {
		padding: 24px;
	}

	.activity-registration-form,
	.activity-participants {
		padding: 20px;
	}

	/* Related events go 2-up on tablet. */
	.event-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 600px) {

	/* On phones, tighten the wrapper so nested cards don't stack padding
		into a narrow column. Global .wrapper uses 64px mobile side padding,
		which is far too much once combined with card + panel padding. */
	.event-single .wrapper,
	.event-related .wrapper,
	.breadcrumbs-wrap .wrapper,
	section.calendar .wrapper,
	section.calendar-hero .wrapper {
		padding-left: 20px;
		padding-right: 20px;
	}

	.event-body,
	.event-details-card {
		padding: 20px;
	}

	.activity-registration-form,
	.activity-participants {
		padding: 16px;
		border-radius: 8px;
	}

	.activity-registration-form .af-success {
		padding: 20px;
	}

	.event-cards {
		grid-template-columns: 1fr;
	}

	.event-header {
		gap: 16px;
	}

	/* Reduce vertical rhythm inside the card on phones. */
	.event-details {
		gap: 14px;
	}

	.event-details-title {
		font-size: var(--text-md);
		margin-bottom: 14px;
	}

	/* Activity buttons: stack full-width so they never overflow, but keep
		them tight — 10px gap instead of 12px, and each takes full row. */
	.event-main .activity-buttons,
	.activity-buttons {
		gap: 10px;
	}

	.event-main .activity-buttons .button,
	.activity-buttons .button {
		width: 100%;
		padding: 0 16px;
	}

	/* Deregister form: input on its own row, button below full-width.
		Reset flex so the input's flex-basis (240px on desktop) doesn't
		turn into a 240px MAIN-axis size when the flex direction flips
		to column on phones. */
	.activity-deregister form {
		flex-direction: column;
		gap: 10px;
	}

	.activity-deregister input[type="email"] {
		flex: 0 0 auto;
		width: 100%;
	}

	.activity-deregister .button,
	.activity-deregister button[type="submit"] {
		width: 100%;
		margin: 0;
	}

	/* Participants table stays readable — headers can uppercase-shrink. */
	.activity-participants th {
		font-size: 11px;
		padding-right: 8px;
	}

	.activity-participants td {
		font-size: var(--text-sm);
		padding-right: 8px;
	}

	/* Registration form: keep vertical rhythm tighter on phones. */
	.activity-registration-form .af-fields,
	.activity-registration-form .acf-fields {
		gap: 14px;
	}

	.activity-registration-form .af-submit,
	.activity-registration-form .acf-form-submit,
	.activity-registration-form p.af-submit {
		margin-top: 14px;
	}
}


/* ========================================================================
   Hero Calendar Widget
   ======================================================================== */

.hero-section.has-hero-calendar .hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 48px;
	align-items: start;
	padding: 0 80px;
}

.hero-section.has-hero-calendar .hero-content {
	min-width: 0;
}

/* When calendar widget is present, let the hero content col fill
   the reserved grid column instead of being limited to col6633 etc. */
.hero-section.has-hero-calendar .hero-content .cols {
	display: block;
}

.hero-section.has-hero-calendar .hero-content .cols>.col {
	width: 100%;
	margin-right: 0;
	float: none;
	margin: 0;
}

.hero-calendar {
	width: 100%;
}

.hero-calendar-inner {
	padding: 0;
}

.hero-calendar-heading {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.55);
	margin: 0 0 16px 0;
	font-weight: 600;
}

.hero-calendar-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.hero-calendar-item {
	background: rgba(255, 255, 255, 0.04);
	border-radius: var(--border-radius, 8px);
	overflow: hidden;
	transition: background var(--transition-duration, 300ms) ease;
	margin: 0;
	padding: 0;
}

.hero-calendar-item:hover {
	background: rgba(255, 255, 255, 0.08);
}

.hero-calendar-link {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 14px;
	text-decoration: none;
	color: inherit;
	margin: 0;
}

.hero-calendar-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	flex-shrink: 0;
	line-height: 1.1;
}

.hero-calendar-month {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-accent, #4db8c7);
}

.hero-calendar-day {
	font-size: 28px;
	font-weight: 700;
	color: var(--color-accent, #4db8c7);
	line-height: 1;
}

.hero-calendar-info {
	min-width: 0;
	flex: 1 1 auto;
}

.hero-calendar-title {
	display: block;
	font-weight: 600;
	font-size: 15px;
	color: var(--color-heading, #fff);
	line-height: 1.3;
	margin-bottom: 4px;
}

.hero-calendar-location {
	display: block;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.3;
}

svg.hero-calendar-pin {
	color: var(--color-accent, #4db8c7);
	display: inline-block;
	width: 12px;
	height: 14px;
	vertical-align: -2px;
	margin-right: 4px;
	margin-left: 0;
	overflow: visible;
}

.hero-calendar-viewall {
	display: inline-block;
	margin-top: 16px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-accent, #4db8c7);
	text-decoration: none;
	transition: opacity var(--transition-duration, 300ms) ease;
}

.hero-calendar-viewall:hover {
	opacity: 0.75;
}

@media (max-width: 1024px) {
	.hero-section.has-hero-calendar .hero-layout {
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 32px;
		padding: 0 var(--sektion-padding-desktop);
	}
}

@media (max-width: 900px) {
	.hero-section.has-hero-calendar .hero-layout {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 0 var(--sektion-padding-mobile);
	}
}

/* Map shortcode (includes/components/map.php).
   Only opacity and transform are animated, and only on HTML-level boxes
   (the layer <svg>s, wrappers and spans), so Safari can composite them
   instead of repainting the SVG every frame. Animations run once
   initMaps() adds .is-playing and freeze while .is-paused. */

.eh-map {
	position: relative;
	width: 100%;
	aspect-ratio: 820 / 340;
	margin: 0 auto;
}

.eh-map__lake,
.eh-map__layer {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.eh-map__layer {
	display: block;
	overflow: visible;
}

.eh-map__lake,
.eh-map__lines,
.eh-map__label {
	opacity: 0;
}

.eh-map__lake-light,
.eh-map__glow,
.eh-map__city-glow {
	opacity: 0;
}

.eh-map__city-glow,
.eh-map__dot {
	position: absolute;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
}

.eh-map__city-glow {
	border-radius: 50%;
	background: radial-gradient(
		circle closest-side,
		#d5ecf0 25%,
		rgba(213, 236, 240, 0.6) 55%,
		rgba(213, 236, 240, 0) 100%
	);
}

.eh-map__dot {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
}

.eh-map__dot-core {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #d5ecf0;
}

.eh-map__label {
	fill: #008597;
	font-family: sans-serif;
	font-size: 13px;
}

.eh-map.is-playing .eh-map__lake {
	animation: eh-map-lake-in 600ms cubic-bezier(0.34, 1.1, 0.64, 1) both;
}

.eh-map.is-playing .eh-map__lake-light {
	animation: eh-map-lake-pulse 15s ease-in-out 700ms infinite;
}

.eh-map.is-playing .eh-map__lines {
	animation: eh-map-fade-in 1ms 450ms both;
}

.eh-map.is-playing .eh-map__glow {
	animation:
		eh-map-glow-flicker 275ms step-end 450ms both,
		eh-map-glow-pulse 8.7s ease-in-out 800ms infinite;
}

.eh-map.is-playing .eh-map__city-glow {
	animation: eh-map-city-glow 5.8s ease-in-out var(--delay) infinite;
}

.eh-map.is-playing .eh-map__dot {
	animation: eh-map-dot-pop 720ms cubic-bezier(0.34, 1.56, 0.64, 1) var(--delay) both;
}

.eh-map.is-playing .eh-map__dot-core {
	animation: eh-map-dot-pulse 2s ease-in-out calc(var(--delay) + 720ms) infinite;
}

.eh-map.is-playing .eh-map__dot--big .eh-map__dot-core {
	animation-duration: 1.6s;
}

.eh-map.is-playing .eh-map__label {
	animation: eh-map-fade-in 280ms ease-out calc(var(--delay) + 80ms) both;
}

.eh-map.is-paused * {
	animation-play-state: paused;
}

@keyframes eh-map-lake-in {
	from {
		opacity: 0;
		transform: scale(0.91);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes eh-map-fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes eh-map-lake-pulse {
	0%,
	100% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}
}

@keyframes eh-map-glow-flicker {
	0%,
	40%,
	80%,
	100% {
		opacity: 0.18;
	}

	20%,
	60% {
		opacity: 0.35;
	}
}

@keyframes eh-map-glow-pulse {
	0%,
	100% {
		opacity: 0.16;
	}

	25% {
		opacity: 0.26;
	}

	75% {
		opacity: 0.06;
	}
}

@keyframes eh-map-city-glow {
	0%,
	100% {
		opacity: 0;
	}

	50% {
		opacity: 0.3;
	}
}

@keyframes eh-map-dot-pop {
	from {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}

	to {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

@keyframes eh-map-dot-pulse {
	0%,
	100% {
		transform: scale(1);
	}

	25% {
		transform: scale(1.18);
	}

	75% {
		transform: scale(0.82);
	}
}

@media (prefers-reduced-motion: reduce) {
	.eh-map * {
		animation: none !important;
	}

	.eh-map__lake,
	.eh-map__lines,
	.eh-map__label {
		opacity: 1;
	}

	.eh-map__glow {
		opacity: 0.16;
	}

	.eh-map__city-glow {
		opacity: 0.15;
	}

	.eh-map__dot {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

/* Newsletter activation page (gfur-activation.php) */

.gfur-activation__eyebrow {
	font-size: var(--text-sm);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin-bottom: 4px;
}

.gfur-activation__lead {
	font-size: clamp(16px, 2.5vw, 18px);
	margin-bottom: 24px;
}

.gfur-activation__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 24px;
}

.gfur-activation__actions .button {
	padding: 12px 20px;
}

.gfur-activation__secondary {
	margin: 0;
}

.gfur-activation__form {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 480px;
}

.gfur-activation__form label {
	font-weight: 600;
	color: var(--color-text);
}

.gfur-activation__form input[type="text"] {
	background: transparent;
	color: var(--color-text);
	border: 1px solid var(--color-border);
	border-radius: 0;
	padding: 12px 14px;
	font: inherit;
	font-size: var(--text-base, 15px);
	line-height: 1.4;
	width: 100%;
	transition: border-color var(--transition-duration, 300ms) ease;
}

.gfur-activation__form input[type="text"]:focus {
	outline: none;
	border-color: var(--color-accent);
}

.gfur-activation__form .button {
	align-self: flex-start;
	padding: 12px 20px;
	background: transparent;
	color: var(--color-accent);
}

.gfur-activation__form .button:hover {
	background-color: var(--color-accent);
	color: var(--color-accent-text);
}

/* Activities section (sections/activities.php) */

.activities .section-title {
	margin: 0 0 24px;
}

.activities .news-grid .col {
	padding: 0;
}

/* Newsletter signup form: full width inside its section */

#gform_wrapper_2 .ginput_container input.medium,
#gform_wrapper_2 .ginput_container input.large {
	width: 100%;
	max-width: none;
}

#gform_wrapper_2 input[type="text"],
#gform_wrapper_2 input[type="email"] {
	background-color: #fff;
}

#gform_wrapper_2 .gform_footer .gform_button {
	width: auto !important;
	padding: 12px 28px !important;
	font-size: var(--text-base, 15px) !important;
}