@font-face {
  font-family:"APK Protocol";
  src:url(../../assets/fonts/APKProtocol-Light.woff2)format("woff2");
  font-weight:300;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:"APK Protocol";
  src:url(../../assets/fonts/APKProtocol-Regular.woff2)format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap
}

@font-face {
  font-family:"APK Protocol";
  src:url(../../assets/fonts/APKProtocol-Bold.woff2)format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap
}

@keyframes fade-in {
  0% {
    opacity:0
  }
  to {
    opacity:1
  }
}
@keyframes slide-up-8 {
  0% {
    opacity:0;
    transform:translateY(8px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
:root {
    --sf-white: rgb(255, 255, 255);
    --sf-black: rgb(15,15,15);
    --sf-orange:rgb(255, 179, 10);
    --sf-darkorange:rgb(225, 158, 6);
    --sf-darkgray:#f2f2f2;
    --sf-darkergray:#e3e3e3;
    --sf-darkerdarkgray:#b1b1b1;
    --sf-nearblack:#2b2b2b;
    --sf-beige:rgb(255, 246, 226);
    --sf-h1:clamp(2.415rem, calc(2.415rem + 2.645 * (100vw - 26.875rem) / 81.125), 5.06rem);
    --sf-h2:clamp(1.84rem, calc(1.84rem + 1.38 * (100vw - 26.875rem) / 81.125), 3.22rem);
    --sf-h3:clamp(1.623rem, calc(1.623rem + 0.922 * (100vw - 26.875rem) / 81.125), 2.545rem);
    --sf-h4:clamp(1.33rem, calc(1.33rem + 0.475 * (100vw - 26.875rem) / 81.125), 1.805rem);
    --sf-h5:clamp(1.09rem, calc(1.09rem + 0.191 * (100vw - 26.875rem) / 81.125), 1.281rem);
    --sf-h6:clamp(0.971rem, calc(0.971rem + 0.016 * (100vw - 26.875rem) / 81.125), 0.987rem);
    --sf-navpadding: 1rem;
    --sf-logo: clamp(2rem, calc(2rem + 0.5 * (100vw - 26.875rem) / 81.125), 2.5rem);
    --sf-header-h: calc(2 * var(--sf-navpadding) + var(--sf-logo));
    --sf-padding-x: clamp(1.5rem, 2.75vw, 3.25rem);
    --sf-padding-y: calc(clamp(1.5rem, 3vw, 3.5rem) * 1.5);
    --sf-columngap: var(--sf-padding-x);
    --ref: 64rem;
    --sf-nav-height:5.0625rem;
    --sf-fel: #b3261e;
    --sf-radius-small: 1.5rem;
    --sf-radius-big: 1.5rem;
    --sf-weight: 400;
    --sf-spacing-text: -0.01em;
    --sf-spacing-rubrik: -0.025em;
    --sf-font:"APK Protocol";
    --sf-text-size-small:clamp(0.8125rem, calc(0.8125rem + 0.0775 * (100vw - 26.875rem) / 81.125), 0.89rem);
    --sf-text-size-medium:clamp(0.9375rem, calc(0.9375rem + 0.1325 * (100vw - 26.875rem) / 81.125), 1.07rem);
    --sf-text-size-default:clamp(1rem, calc(1rem + 0.28 * (100vw - 26.875rem) / 81.125), 1.28rem);
    --sf-text-size-large:clamp(1.125rem, calc(1.125rem + 0.415 * (100vw - 26.875rem) / 81.125), 1.54rem);
    --sf-text-size-xlarge:clamp(1.25rem, calc(1.25rem + 0.59 * (100vw - 26.875rem) / 81.125), 1.84rem);

    --ease-decelerate:cubic-bezier(.05,.7,.1,1);

    --animate-fade-in:.2s fade-in cubic-bezier(.4,0,.2,1)both;
    --animate-slide-up-8:.25s slide-up-8 cubic-bezier(.4,0,.2,1)both;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scrollbar-gutter: stable;
    background-color:var(--sf-black);
    overscroll-behavior-y: none;
}

@media (hover: hover) and (pointer: fine) {
    html {
        background-color: var(--sf-white);
    }
}

html, body {
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x: clip;
}

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

body {
    margin:0;
    word-wrap: break-word;
    line-height:1.25;
    color:var(--sf-black);
    font-family:var(--sf-font);
    font-weight:var(--sf-weight);
    letter-spacing:var(--sf-spacing-text);
    font-variation-settings: "slnt" 0;
;
}

button {
    font-family: inherit;
}

button, input, select, textarea {
    font-variation-settings: inherit;
}

main {
    background-color: var(--sf-white);
}

body:has(.banner-visas) header {
    padding-top: calc(var(--sf-navpadding) + 2.75rem);
}

.uniform__potty {
    position:absolute;
    left:-9999px;
}

#wrapper {
    margin:0 auto;
}

.gray {
    background-color:var(--sf-darkgray);
}

.beige {
    background-color:var(--sf-beige);
}

.black {
    background-color:var(--sf-black);
    color:var(--sf-white);
}

.bold {
    font-weight:600 !important;
}

.italic {
    font-style:italic;
}

h1, .heading-style-h1 {
    letter-spacing:var(--sf-spacing-rubrik);
    font-size:var(--sf-h1);
    line-height:1;
    font-weight:var(--sf-weight);
    font-family:var(--sf-font);
}

h2, .heading-style-h2 {
    letter-spacing:var(--sf-spacing-rubrik);
    font-size:var(--sf-h2);
    font-weight:var(--sf-weight);
        font-family:var(--sf-font);

}

h3, .heading-style-h3 {
    letter-spacing:var(--sf-spacing-rubrik);
    font-weight:var(--sf-weight);
    font-size:var(--sf-h3);
        font-family:var(--sf-font);

}

h4, .heading-style-h4 {
    letter-spacing:var(--sf-spacing-rubrik);
    font-weight:var(--sf-weight);
    font-size:var(--sf-h4);
        font-family:var(--sf-font);

}

h5, .heading-style-h5 {
    letter-spacing:var(--sf-spacing-rubrik);
    font-size: var(--sf-h5);
    font-weight:var(--sf-weight);
    font-family:var(--sf-font);
}

h6, .heading-style-h6 {
    letter-spacing:var(--sf-spacing-rubrik);
    font-size: var(--sf-h6);
    font-weight:var(--sf-weight);
        font-family:var(--sf-font);

}

.text-size-small {
  font-size: var(--sf-text-size-small);
  line-height: 1.5;
}

.text-size-medium {
  font-size: var(--sf-text-size-medium);
  line-height: 140%;
}

.text-size-default {
  font-size: var(--sf-text-size-default);
  line-height: 140%;
}

.text-size-large {
  font-size: var(--sf-text-size-large);
  line-height: 140%;
}

.text-size-xlarge {
  font-size: var(--sf-text-size-xlarge);
  line-height: 140%;
}

.title h5 {
    margin-bottom: 0.5625rem;
}

img, video {
    max-width: 100%;
}

a {
    text-decoration:none;
    color:var(--sf-black);
}

a, button {
    -webkit-tap-highlight-color: transparent;
}

button, .button {
    touch-action: manipulation;
}

p a:not(.button),
.text-size-default li a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
}

ul, ol, menu {
    list-style-type:none;
}

ul {
    list-style-type: "– ";
    list-style-position: inside;
}

ol {
    list-style-type:decimal;
    list-style-position: inside;
}

.faq ul, header ul, ul.utbildningslista, ul.kurslista {
    list-style-type: none !important;
}

figcaption {
    color:#717171;
    color:rgba(0,0,0,0.55);
    padding-top:1em;
    font-size:0.8em;
}

.button {
    line-height: 1;
    font-size:var(--sf-text-size-medium);
    position: relative;
    z-index: 0;
    display: inline-block;
    overflow: hidden;
    font-weight:var(--sf-weight);
    border-radius: var(--sf-radius-big);
    padding: 0.7em 0.95em;
    transition: .25s;
    border: 1px solid var(--sf-black);
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-align:center;
    align-self: flex-start;
}

.button svg.icon-left {
    margin-right:0.5625rem;
}

.button svg.icon-right {
    margin-left:0.5625rem;
}

.flex {
    display:flex;
}

.block {
    display:block;
}

.column {
    flex-direction:column;
}

.row {
    flex-direction:row;
}

.align-center {
    align-items:center !important;
}

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

.square {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}

.opacity-50 {
    opacity: 0.5;
}

.gap-05 {
    gap:0.5rem;
}

.gap-10 {
    gap:1rem;
}

.gap-15 {
    gap:1.5rem;
}

.gap-20 {
    gap:2rem;
}

.gap-40 {
    gap:4rem;
}

.gap-45 {
    gap:4.5rem;
}

.max-width-25 {
    max-width: min(100%, max(25%, calc(var(--ref) * 0.25)));
}

.max-width-33 {
    max-width: min(100%, max(33.33%, calc(var(--ref) * 0.3333)));
}

.max-width-50 {
    max-width: min(100%, max(50%, calc(var(--ref) * 0.5)));
}

.max-width-66 {
    max-width: min(100%, max(66%, calc(var(--ref) * 0.66)));
}

.max-width-75 {
    max-width: min(100%, max(75%, calc(var(--ref) * 0.75)));
}

.col-list {
    border-top: 1px solid var(--sf-darkergray);
}

.gray .col-list {
    border-top: 1px solid var(--sf-darkergray);
}

.black .col-list {
    border-top: 1px solid var(--sf-nearblack);
}

.button--black {
    border:none;
    border-radius:0;
    padding:0;
    color: inherit;
    background-color: transparent;
    overflow: visible;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
}

@media (hover: hover) {
.button--black:hover {
    opacity: .6;
}
}

.button--orange {
    border:none;
    color:var(--sf-black);
    background-color:var(--sf-orange);
}

@media (hover: hover) {
.button:not(.button--underline):not(.button--black):hover {
    background-color: var(--sf-black);
    color: var(--sf-white);
}
}

.not-selectable {
    pointer-events: none;
    user-select: none;
}

section {
    font-size:1.25rem;
    margin:0 auto;
}

section {
    position:relative;
}

.section-inner {
    position: relative;
    width: 100%;
    max-width: 240rem;
    margin-inline: auto;
}

.banner {
    position: fixed;
    z-index: 9999;
    top: 0px;
    left: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: center;
    min-height: 2.75rem;
    visibility: hidden;
    transition: transform .3s ease, visibility 0s linear .3s;
    transform: translateY(-100%);
}

.banner-visas {
    visibility: visible;
    transition: transform .3s ease;
    transform: translateY(0);
}

.banner a {
    width: 100%;
  height: 100%;
  background-color: var(--sf-orange);
  transition: background-color .2s linear;
  position: absolute;
  top: 0px;
  left: 0px;
  display: flex;
  -moz-box-align: center;
  align-items: center;
  -moz-box-pack: center;
  justify-content: center;
}

@media (hover: hover) {
.banner a:hover {
    background-color: var(--sf-darkorange);
}
}

header {
    position: fixed;
    inset: 0% 0% auto;
    width: 100%;
    z-index: 1000;
    background-color: var(--sf-black);
    padding-top: var(--sf-navpadding);
    padding-bottom: var(--sf-navpadding);
    border-bottom: 1px solid rgb(35, 35, 35);
    touch-action: manipulation;
    transition: transform .3s ease, padding-top .3s ease;
}

main > section:first-child:not(.hero) {
    padding-top: var(--sf-header-h);
}

body.banner-finns main > section:first-child:not(.hero) {
    padding-top: calc(2.75rem + var(--sf-header-h));
}

main > section.section-bg:first-child {
    padding-top: calc(var(--sf-header-h) + 2 * clamp(3rem, 10vw, 6rem) - var(--sf-padding-x));
    padding-bottom: var(--sf-padding-x);
}

body.banner-finns main > section.section-bg:first-child {
    padding-top: calc(2.75rem + var(--sf-header-h) + 2 * clamp(3rem, 10vw, 6rem) - var(--sf-padding-x));
}

.container {
    position: relative;
    z-index: 101;
}

.submeny-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.65);
    z-index: 950;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s, visibility 0s linear 0.4s;
}

.submeny-overlay.is-open {
    visibility: visible;
    transition: opacity 0.4s;
    opacity: 1;
    pointer-events: auto;
    cursor: default;
}

.submeny {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    width: 100%;
    padding: 0 var(--sf-padding-x);
    background-color: var(--sf-black);
    z-index: 6;
    overflow: hidden;
    height: 0;
    transition: height .4s ease;
}

.submeny-inre {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--sf-columngap);
    align-items: start;
    margin: 0 calc(-1 * var(--sf-padding-x));
    padding: var(--sf-padding-x);
    border-bottom: 1px solid rgb(35, 35, 35);
}

.submeny-intro {
    grid-column: span 4;
    color: var(--sf-white);
}

.submeny menu {
    grid-column: span 8;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
.submeny.is-open {
    height: calc(var(--submeny-height, 300px) + 1px);
}

header.scrollingDown {
  transform: translateY(-100%);
}

header .container {
    max-width: calc(240rem + 2 * var(--sf-padding-x));
    padding-left: var(--sf-padding-x);
    padding-right: var(--sf-padding-x);
    width:100%;
    margin-left: auto;
    margin-right: auto;
}

header nav {
    justify-content: space-between;
    align-items: center;
    display: flex;
    font-size:1.25rem;
}

header nav menu {
    position: relative;
    display:block;
    grid-column-gap: 1.5rem;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    transition: filter .2s;
    display: flex;
}

header nav menu a {
    color:var(--sf-white);
    font-size:var(--sf-text-size-medium);
    opacity:.5;
}

header nav menu a[aria-expanded="true"] {
    opacity:1;
}
@media (hover: hover) {
header nav menu a:hover {
    opacity:1;
}
}

.arrow {
    margin-left: 0.1rem;
}

nav.breadcrumbs {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    margin-inline: auto;
    padding-top: var(--sf-nav-height);
}

.submeny a {
    color:var(--sf-white);
}

.submeny-lank {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgb(35, 35, 35);
    transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.submeny-lank span {
    opacity: .5;
    transition: opacity .25s ease;
}

@media (hover: hover) {
.submeny-lank:hover span {
    opacity: 1;
}

.submeny a.submeny-lank:hover {
    background-color: var(--sf-orange);
    border-color: var(--sf-orange);
    color: var(--sf-black);
}
}

p + p {
    margin-top: 1.5rem;
}

.arrow {
    transition: transform 0.2s var(--ease-decelerate);
}

#tjanster-toggle .arrow {
    margin-left: 0.35rem;
}

#tjanster-toggle.is-open .plus-lodrat {
    display: none;
}

.logo {
    display:block;
    user-select: none;
    width: var(--sf-logo);
    transition: filter .2s;
}

.logo img {
    display:block;
}

body.template-home .hero-content h1 {
    animation: var(--animate-slide-up-8);
    animation-duration:0.8s;
    animation-delay: .3s;
}

body.template-home .hero-content .hero-right {
    animation: var(--animate-slide-up-8);
    animation-duration:0.8s;
    animation-delay: .5s;
}

.hero-content {
    position: relative;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-end;
    z-index: 2;
    width: 100%;
}

.hero-content.split {
    align-items: flex-end;
}

@media screen and (min-width: 861px) {
    .hero-content.split > * {
        flex: 0 0 calc(50% - var(--sf-columngap) / 2);
    }

    .hero-content.split > :first-child {
        padding-right: var(--sf-columngap);
    }

    .hero-content.split > :only-child {
        flex-basis: 100%;
        padding-right: 0;
    }
}

.section-bg {
    position: relative;
    overflow: clip;
    background-color: var(--sf-black);
    color: var(--sf-white);
}

.section-bg > *:not(.hero-unicorn-bg) {
    position: relative;
    z-index: 1;
}

.footer {
    color:var(--sf-white);
    background-color: var(--sf-black);
}

.footer-inner {
    grid-auto-columns: 1fr;
    display: grid;
    grid-column-gap: var(--sf-columngap);
    grid-row-gap: 1.125rem;
    grid-template: "Area""Area"/1fr 1fr 1fr;
    place-items: start stretch;
}

.footer-link {
    font-size:var(--sf-text-size-default);
}

.footer-logo {
    position: relative;
    display: block;
    width: 6rem;
    height: 6rem;
}

.footer-logo span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-mask-image: url(../img/sf-white.svg);
    mask-image: url(../img/sf-white.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: opacity 0.2s ease;
}

.footer-logo-vit {
    background-color: var(--sf-white);
}

.sp-symbol {
    display: inline-block;
    width: 1.05em;
    height: 1.3em;
    margin-right: 0.5em;
    margin-left:0.5em;
    vertical-align: -0.25em;
    background-color: currentColor;
    -webkit-mask-image: url(../img/soderberg-partners-symbol.svg);
    mask-image: url(../img/soderberg-partners-symbol.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.footer a {
    color:var(--sf-white);
}

.link-container a, .footer-copyright a {
    opacity: 0.5;
}

@media (hover: hover) {
.link-container a:hover, .footer-copyright a:hover {
    opacity: 1;
}
}

.footer-area {
    grid-area: 1/1/4/2;
    justify-content: space-between;
    display: flex;
    flex-direction: column;
    align-items: space-between;
    height: 100%;
}

.footer-copyright {
    padding-top: 2.5rem;
    border-top: 1px solid rgb(35, 35, 35);
}

.footer-area img {
    width: 6rem;
}

.footer .link-container {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 4.5rem;
    display: flex;
}

.rounded {
    border-radius: var(--sf-radius-small);
}

.gutter-x {
    padding-left: var(--sf-padding-x);
    padding-right: var(--sf-padding-x);
}

.gutter-y {
    padding-top: var(--sf-padding-y);
    padding-bottom: var(--sf-padding-y);
}

.gutter-t {
    padding-top: var(--sf-padding-y);
}

.gutter-b {
    padding-bottom: var(--sf-padding-y);
}

.article-items {
    padding: 4rem 0 1rem;
}

.flex.column > .article-items {
    padding: 0;
}

.article-items.split {
    align-items: stretch;
}

.article-items--kort.split {
    column-gap: calc(var(--sf-columngap) / 2);
}

.article-items--kort .article-item {
    padding: 1.5rem;
    background-color: var(--sf-darkgray);
}

.gray .article-items--kort .article-item,
.beige .article-items--kort .article-item {
    background-color: var(--sf-white);
}

.black .article-items--kort .article-item {
    background-color: var(--sf-nearblack);
}

.article-items--kort .article-item > h3 {
    margin-bottom: 2rem;
}

@media screen and (max-width: 640px) {
    .article-items--kort .article-item > h3 {
        margin-bottom: 0;
    }
}

.article-items--kort .article-item--lank {
    color: inherit;
    transition: background-color .25s ease, color .25s ease;
}

.article-items--kort .article-item--lank > h3 {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
}

@media (hover: hover) {
.article-items--kort .article-item--lank:hover {
    background-color: var(--sf-orange);
    color: var(--sf-black);
}
}

@media screen and (min-width: 641px) {
    .article-items--kort .article-item > h3 + * {
        margin-top: auto;
    }

    .article-items--kort .article-item > h3 + * + * {
        margin-top: 0;
    }
}

.article-item > :last-child {
    margin-top: auto;
}

.split {
    display: flex;
    align-items: flex-start;
    column-gap: var(--sf-columngap);
}

.split > * {
    flex: 1;
    min-width: 0;
}

.section-fill > * {
    width:100%;
}

.label {
    z-index: 1;
    background-color: rgba(0,0,0,0.5);
    -webkit-backdrop-filter: blur(1.5rem);
    backdrop-filter: blur(1.5rem);
    color: var(--sf-white);
    border-radius: var(--sf-radius-small);
    padding: 0.3375rem 0.7875rem;
    position: absolute;
    top: 0.9rem;
    left: 0.9rem;
    font-size:0.95625rem;
}

.medarbetare-kort .label {
    top:unset;
    left:unset;
    bottom:0.9rem;
    right:0.9rem;
}

.kontor-ankare {
    scroll-margin-top: 4rem;
}

.kontor-markering {
    padding: 0.2rem 0.75rem;
    border: 1px solid currentColor;
    border-radius: var(--sf-radius-big);
    color: var(--sf-orange);
    font-family: var(--sf-font);
    font-size: var(--sf-text-size-small);
    font-weight: var(--sf-weight);
    line-height: 1.2;
}

.image-container {
    position:relative;
}

.scale-in {
  transform: scale(0.9);
  transform-origin: center;
  transition: transform 1000ms var(--ease-decelerate);
  transition-delay: var(--reveal-delay, 0ms);
}

.scale-in.is-visible {
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .scale-in {
    transform: none;
    transition: none;
  }
}

.align-bottom {
    justify-content: flex-start;
    align-items: flex-end;
    display: flex;
}

.margin-bottom-small {
    margin-bottom:1.25rem;
}

.margin-bottom-medium {
    margin-bottom:1.5rem;
}

.margin-bottom-large {
    margin-bottom:2rem;
}

.margin-bottom-xlarge {
    margin-bottom:2.5rem;
}

.margin-top-small {
    margin-top:1rem;
}

.margin-top-medium {
    margin-top:1.5rem;
}

.margin-top-large {
    margin-top:2rem;
}

.margin-top-xlarge {
    margin-top:2.5rem;
}

.padding-top-small {
    padding-top: 1rem;
}

.padding-top-large {
    padding-top: 2rem;
}

.visa-alla {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
}

@media (hover: hover) {
.visa-alla:hover {
    opacity: .5;
}
}

.utbildningslista {
    border-radius:var(--sf-radius-small);
    overflow:hidden;
}

.utbildningslista li {
    background-color:#F5F5F5;
    vertical-align:middle;
}

.utbildningslista li:nth-child(odd) {
    background-color:#EEEEEE;
}

@media (hover: hover) {
.utbildningslista li:hover {
    background-color:#e4e4e4;
}
}

.utbildning {
    padding:clamp(1rem, 3vw, 1.6875rem);
}

.utbildning > span {
    flex-shrink: 0;
    text-align: right;
    white-space: nowrap;
}

@media (hover: hover) {
.utbildning:hover {
    cursor:pointer;
}
}

.utbildning {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap: clamp(1.5rem, 4vw, 2rem);
}

#utbildningar-list li.dold {
    display: none;
}

.video-facade {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    display: block;
}

.video-thumbnail {
    width: 100%;
    height: auto;
    display: block;
}

.video-facade video,
.video-facade iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    border: none;
}

.video-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.9);
    color: var(--sf-black);
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    transition: transform .25s, background-color .25s;
}

@media (hover: hover) {
.video-facade:hover .video-play-button {
    transform: translate(-50%, -50%) scale(1.08);
    background-color: var(--sf-white);
}
}

.falt {
    position: relative;
    display: block;
    height: calc(4rem + 2px);
    border: 1px solid var(--sf-darkerdarkgray);
    border-radius: var(--sf-radius-small);
    padding-inline: 1rem;
    padding-top: 0.85rem;
    font-size: 0.75rem;
    line-height: 1;
    transition: all 0.15s ease;
    background:white;
}

.falt:has(:placeholder-shown):not(:focus-within) {
    font-size: 1rem;
    font-weight: var(--sf-weight);
    opacity: 0.6;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.falt input {
    position: absolute;
    top: 1.5rem;
    bottom: 0.5rem;
    left: 1rem;
    right: 1rem;
    background: none;
    border: none;
    outline: none;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    color: var(--sf-black);
}

.falt input::placeholder {
    color: transparent;
}

.faltbox {
    display: block;
    width: 100%;
    border: 1px solid var(--sf-darkerdarkgray);
    border-radius: var(--sf-radius-small);
    padding: 1rem;
    background: white;
    font-size: 1rem;
    font-family: inherit;
    color: var(--sf-black);
    transition: border-color 0.15s ease;
}

input.faltbox {
    height: calc(4rem + 2px);
    opacity: 0.6;
    transition: all 0.15s ease;
}

textarea.faltbox {
    min-height: 8rem;
    resize: vertical;
    opacity: 0.6;
    transition: all 0.15s ease;
}

textarea.faltbox:not(:placeholder-shown) {
    opacity: 1;
}

.villkor {
    padding-top: 1rem;
}

.villkor ul {
    list-style: "– ";
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.villkor li p {
    margin: 0;
}

.kryssruta {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    cursor: pointer;
}

.kryssruta input {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin: 0.1rem 0 0;
    accent-color: var(--sf-black);
}

.form-container {
    width: 100%;
}

.error-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.3;
    color: var(--sf-fel);
}

.falt--fel,
.faltbox.falt--fel {
    border-color: var(--sf-fel);
}

.anmalningsformular .form-field,
#deltagare-lista {
    scroll-margin-top: calc(var(--sf-header-h) * 2 + 1.5rem);
}

.form-field {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap:0.25rem;
}

form .split {
    gap:1rem;
    align-items: stretch;
}

form input:focus, form textarea:focus {
    outline: none;
    opacity:1;
}

form button {
    cursor: pointer;
    background-color:var(--sf-darkgray);
    align-self: flex-start;
}

#deltagare-lista {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.deltagare-rad {
    position: relative;
}

.deltagare-rad .falt input {
    right: 3.5rem;
}

form button.ta-bort-deltagare {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--sf-black);
    font-size: 1.5rem;
    line-height: 1;
    padding: 0;
    transition: background-color .15s ease;
}

form button.ta-bort-deltagare svg {
    transform: rotate(45deg);
}

form button.ta-bort-deltagare {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
}

form button#lagg-till-deltagare {
    align-self: flex-end;
}

@media (hover: hover) {
form button.ta-bort-deltagare:hover {
    background: var(--sf-darkgray);
}
}

#deltagare-lista:has(.deltagare-rad:only-child) .ta-bort-deltagare {
    display: none;
}

#inga-resultat {
    display: none;
    color: var(--sf-black);
    padding: 2rem 0;
}

#inga-resultat.synlig {
    display: block;
    animation: var(--animate-fade-in);
}

.faq {
    padding: 2.25rem 0;
}

.faq-collapsible {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s;
}

.faq-collapsible p {
    padding-top:0;
    padding-bottom:1.5rem;
    font-size:var(--sf-text-size-default);
}

.faq .active .plus-lodrat {
    display: none;
}

.question {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    transition: .25s;
}

.faq-collapsible,
.faq-collapsible * {
    cursor: auto;
}

.faq-collapsible a {
    cursor: pointer;
}

.faq .question svg {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 0.325rem;
    margin-right: 0.6rem;
    flex-shrink:0;
}

.faq li {
    border-bottom: 1px solid var(--sf-darkergray);
    cursor: pointer;
}

.faq li:first-child {
    border-top: 1px solid var(--sf-darkergray);
}

.collapsible {
    padding: 1rem 0;
}

@media (hover: hover) {
.collapsible:hover .question {
    opacity: 0.6;
    cursor: pointer;
}
}
.collapsible.active ~ .faq-collapsible,
.collapsible.active ~ .faq-collapsible * {
    cursor: auto;
}

.collapsible.active ~ .faq-collapsible a {
    cursor: pointer;
}

.section-fill .details {
    display:flex;
    align-items:center;
    flex-direction:row;
}

.section-fill .details > :not(:first-child) {
    margin-left:3.375rem;
}

.details span {
    opacity: 0.5;
}

.utbildningslista svg {
    width: 2.25rem;
    height: 2.25rem;
}

.tjanster {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 1.125rem;
    grid-row-gap: 1.125rem;
    align-items: stretch;
}

.tjanster a {
    opacity:0;
}

.tjanster a, .kort {
    border-radius: var(--sf-radius-small);
}

.kort {
    height: 100%;
    flex-direction: column;
    display: flex;
    flex: 1;
    justify-content: space-between;
    padding: 2.25rem;
    z-index:999;
    color:var(--sf-black);
    background-color:var(--sf-darkgray);
    transition: .25s;
    gap:2rem;
}

.kort span {
    opacity:0.7;
}

.medarbetare-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 4rem;
    column-gap: var(--sf-columngap);
}

.medarbetare-kort {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.medarbetare-botten {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: auto;
}

.medarbetare-cert-lank {
    white-space: nowrap;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
    transition: .25s;
}

@media (hover: hover) {
.medarbetare-cert-lank:hover {
    opacity: 0.5;
}
}

.kursledare {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 1.25rem;
}

.medarbetare-kontakt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}

.tillbaka-lank {
    display: inline-block;
    margin-bottom: 1rem;
    opacity: 0.6;
    transition: opacity .25s;
    color:var(--sf-white)
}

@media (hover: hover) {
.tillbaka-lank:hover {
    opacity: 1;
}
}

.medarbetare-kontakt a,
.article-item a:not(.button) {
    align-self: flex-start;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
    overflow-wrap: anywhere;
    transition: .25s;
}

@media (hover: hover) {
.medarbetare-kontakt a:hover {
    opacity: 0.5;
}
}

.medarbetare-bild {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    filter:grayscale(100);
    transition:.25s;
}

@media (hover: hover) {
.medarbetare-kort:hover .medarbetare-bild {
    filter:grayscale(0);
}
}

.medarbetare-namn {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.medarbetare-sok {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 2rem;
    background: var(--sf-black);
    color: var(--sf-white);
    transition: border-color .15s ease;
    cursor: text;
    scroll-margin-top: 3rem;
}

.medarbetare-sok svg {
    flex-shrink: 0;
}

.medarbetare-sok input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    padding: 0;
    font-size: var(--sf-text-size-medium);
    color: inherit;
    -webkit-appearance: none;
    appearance: none;
}

.medarbetare-kort[hidden] {
    display: none;
}

.medarbetare-kort {
    animation: fade-in .25s ease;
}

@media screen and (max-width: 1024px) {
    .medarbetare-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 640px) {
    .medarbetare-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media screen and (max-width: 1024px) {
    .anmalan-rad {
        flex-direction: column;
    }
}

@media screen and (max-width: 860px) {
    .split {
        flex-direction: column;
    }

    .split > [class*="max-width-"] {
        max-width: none;
    }

    .hero-content.split {
        align-items: flex-start;
    }
}

@media screen and (max-width: 640px) {
    .footer-inner {
        grid-template: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-column-gap: 1.5rem;
        grid-row-gap: 0;
    }

    .footer-area {
        display: contents;
    }

    .footer-area > div {
        grid-column: 1 / -1;
        margin-bottom: 5.5rem;
        
    }

    .footer .link-container {
        margin-bottom: 2.5rem;
        grid-row-gap: 1.5rem;
    }

    .footer-copyright,
    .footer-copyright .flex.row {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

}

@media screen and (max-width: 640px) {
    .article-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
        align-items: start;
    }

    .article-item > :not(:first-child) {
        margin-top: 0.625rem;
    }

    .article-item > a:not(.button) {
        justify-self: start;
    }
}

@media screen and (max-width: 1024px) {
    .article-items.split {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 640px) {
    .article-items.split {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }
}

.article-items--kort.split {
    gap: calc(var(--sf-columngap) / 2);
}

@media screen and (min-width: 1281px) {
    .article-items--kort.split {
        display: grid;
        grid-template-columns: repeat(var(--kolumner, 4), minmax(0, 1fr));
        grid-auto-rows: 1fr;
    }
}

@media screen and (min-width: 641px) and (max-width: 1280px) {
    .article-items--kort.split {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 1fr;
    }
}

@media (hover: hover) {
.black .button.button--orange:hover,
.section-bg .button.button--orange:hover {
    background-color: var(--sf-orange);
    color: var(--sf-black);
    opacity: 0.7;
}
}

.section-inner .namnflode {
    position: absolute;
    top: calc(-1 * var(--sf-padding-y));
    bottom: calc(-1 * var(--sf-padding-y));
    right: 0;
    width: calc((100% - var(--sf-columngap)) / 2);
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
}

.namnflode-lista {
    position: relative;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    will-change: transform;
}

.namnflode .namnflode-rad {
    width: fit-content;
    padding: 0.5rem 0;
    color: #686868;
    transition: color .4s ease;
}

.namnflode .namnflode-rad.is-aktiv {
    color: var(--sf-orange);
}

.namn-plats {
    min-height: 32rem;
}

@media screen and (max-width: 860px) {
    .namn-plats {
        display: none;
    }

    .section-inner .namnflode {
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        width: calc(100% + 2 * var(--sf-padding-x));
        height: auto;
        margin: var(--sf-padding-y) calc(-1 * var(--sf-padding-x)) 0;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
        mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
    }

    .namnflode-lista {
        display: flex;
        width: max-content;
        max-width: none;
        margin: 0;
    }

    .namnflode .namnflode-rad {
        flex-shrink: 0;
        padding: 0 1.25rem;
        font-size: 2.5rem;
        line-height: 1.2;
        white-space: nowrap;
    }
}

.bild-band {
    height: clamp(18rem, 45vw, 40rem);
}

.bild-band img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit:cover;
    object-position: center;
}

.meny-knapp,
.mobilmeny {
    display: none;
}

@media screen and (max-width: 640px) {
    header nav menu,
    .submeny,
    .submeny-overlay {
        display: none;
    }

    .meny-knapp {
        display: block;
        padding: 0;
        border: 0;
        background: none;
        color: var(--sf-white);
        font-family: var(--sf-font);
        font-size: var(--sf-text-size-medium);
        opacity: .5;
        cursor: pointer;
    }

    @media (hover: hover) {
.meny-knapp:hover {
        opacity: 1;
    }
}

    body.meny-oppen header {
        transform: none !important;
    }

    .mobilmeny {
        display: flex;
        flex-direction: column;
        position: fixed;
        inset: 0;
        z-index: 999;
        padding-top: var(--header-height, 5rem);
        background-color: var(--sf-black);
        color: var(--sf-white);
        overflow-y: auto;
        overscroll-behavior: contain;
        touch-action: manipulation;
        visibility: hidden;
        opacity: 0;
        transition: opacity .25s ease, visibility 0s linear .25s;
    }

    body.meny-oppen .mobilmeny {
        visibility: visible;
        opacity: 1;
        transition: opacity .25s ease;
    }

    .mobilmeny a {
        color: inherit;
    }

    .mobilmeny-kontakt {
        margin-top: auto;
        border-top: 1px solid rgb(35, 35, 35);
        padding: 2rem var(--sf-padding-x);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .mobilmeny-kontakt p {
        margin: 0 0 0.5rem;
    }

    .mobilmeny-kontakt a {
        opacity: .5;
    }

    @media (hover: hover) {
.mobilmeny-kontakt a:hover {
        opacity: 1;
    }
}

    .mobilmeny-lista,
    .mobilmeny-under ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .mobilmeny-lank {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 1.25rem var(--sf-padding-x);
        border: 0;
        border-bottom: 1px solid rgb(35, 35, 35);
        background: none;
        color: var(--sf-white);
        text-align: left;
        line-height: 1.25;
        cursor: pointer;
    }

    .mobilmeny .mobilmeny-lank {
        color: rgba(255, 255, 255, .5);
    }

    .mobilmeny .mobilmeny-rad.is-open > .mobilmeny-lank {
        color: var(--sf-white);
    }

    @media (hover: hover) {
.mobilmeny .mobilmeny-lank:hover {
        color: var(--sf-white);
    }
}

    .mobilmeny-under {
        background-color: rgb(22, 22, 22);
        display: grid;
        grid-template-rows: 0fr;
        visibility: hidden;
        transition: grid-template-rows .25s ease, visibility 0s linear .25s;
    }

    .mobilmeny-under > ul {
        min-height: 0;
        overflow: hidden;
    }

    .mobilmeny-rad.is-open .mobilmeny-under {
        grid-template-rows: 1fr;
        visibility: visible;
        transition: grid-template-rows .25s ease;
    }

    .mobilmeny-rad.is-open .arrow {
        transform: rotate(45deg);
    }
}

@media screen and (max-width: 640px) {
    header.scrollingDown {
        transform: none;
    }
}

.block-citat {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: var(--sf-columngap);
}

.block-citat-text {
    position: relative;
    font-style: normal;
}

.block-citat-text em,
.block-citat-text i {
    font-style: normal;
}

.block-citat-text::before {
    position: absolute;
    content: "“";
    translate: -100% 0;
}

.block-citat-text::after {
    content: "”";
}

@media screen and (max-width: 860px) {
    .block-citat {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 1.5rem;
    }
}

.block-linje {
    width: 100%;
    margin: 0;
    border: 0;
    border-top: 1px solid var(--sf-darkergray);
}

.kurslista {
    border-top: 1px solid var(--sf-darkergray);
}

.kurslista li {
    border-bottom: 1px solid var(--sf-darkergray);
}

.kurs-rad {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem 0;
    transition: background-color .2s ease;
}

.kurs-rad .nowrap {
    white-space: nowrap;
    flex-shrink: 0;
}

@media (hover: hover) {
.kurs-rad:hover {
    background-color: var(--sf-beige);
}
}

.valj {
    width: 100%;
    max-width: 30rem;
}

.valj select {
    display: block;
    width: 100%;
    max-width: 30rem;
    padding: 1rem 3rem 1rem 1rem;
    border: 1px solid var(--sf-black);
    border-radius: 0;
    background-color: var(--sf-white);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 6L8 10.5L12.5 6' stroke='%23131313' stroke-width='1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    color: var(--sf-black);
    font-family: inherit;
    font-size: var(--sf-text-size-default);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.block-video .video-facade {
    aspect-ratio: 16 / 9;
}

.block-video .video-thumbnail {
    height: 100%;
    object-fit: cover;
}

.video-plats {
    width: 100%;
    height: 100%;
    background-color: var(--sf-black);
}

.layout-rad {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
    column-gap: var(--sf-columngap);
}

.kol-3 { grid-column: span 3; }
.kol-4 { grid-column: span 4; }
.kol-6 { grid-column: span 6; }
.kol-8 { grid-column: span 8; }
.kol-9 { grid-column: span 9; }
.kol-12 { grid-column: span 12; }

@media screen and (max-width: 860px) {
    .layout-rad {
        grid-template-columns: minmax(0, 1fr);
    }

    .layout-rad > * {
        grid-column: auto;
    }
}

@media screen and (min-width: 861px) and (max-width: 1024px) {
    .layout-rad.layout-rad--rutnat {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: var(--sf-columngap);
    }

    .layout-rad.layout-rad--rutnat > * {
        grid-column: auto;
    }
}

.kant-rad-inre {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.kant-kol {
    padding: var(--sf-padding-y) var(--sf-padding-x);
}

.kant-kol--cta {
    padding: 0;
}

.cta-block {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: clamp(24rem, 38vw, 44rem);
}

.cta-block--utan-bild {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
}

.cta-block--utan-bild .cta-block-panel {
    justify-content: flex-start;
    gap: 1.5rem;
}

.cta-block-bild {
    position: relative;
    overflow: hidden;
}

.cta-block-bild img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cta-block-panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 3rem;
}

@media screen and (max-width: 860px) {
    .cta-block {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .cta-block-bild {
        aspect-ratio: 4 / 3;
    }
}

.kant-kol--bild {
    position: relative;
    min-height: 24rem;
    padding: 0;
}

.kant-kol--bild figure {
    margin: 0;
}

.kant-kol--bild img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kant-kol--bild figcaption {
    display: none;
}

@media screen and (max-width: 860px) {
    .kant-rad-inre {
        grid-template-columns: minmax(0, 1fr);
    }

    .kant-kol {
        grid-column: auto;
    }

    .kant-kol--bild {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }
}

.black p a:not(.button),
.black li a {
    color: inherit;
}

.black .block-linje {
    border-top-color: var(--sf-nearblack);
}

.faq.block-faq {
    padding: 0;
}

main > section.section-bg.hero-med-rad:first-child {
    padding-bottom: 0;
}

.hero-med-rad > .section-inner {
    padding-bottom: var(--sf-padding-x);
}

.info-rad {
    position: sticky;
    top: calc(var(--header-height, var(--sf-header-h)) - 1px);
    z-index: 900;
    border-top: 1px solid rgb(35, 35, 35);
    transition: top .3s ease;
}

body:has(header.scrollingDown) .info-rad {
    top: -1px;
}

#kurstillfallen {
    scroll-margin-top: var(--sf-header-h);
}

#kursinformation {
    scroll-margin-top: calc(var(--sf-header-h) * 2);
}

.info-rad > .section-inner {
    min-height: var(--sf-header-h);
    align-items: center;
}

.info-rad .tillbaka-lank {
    margin-bottom: 0;
}
.info-rad-fakta {
    display: flex;
    align-items: center;
    gap: 2.25rem;
}

.info-rad-fakta .button {
    margin-left: auto;
}

@media screen and (min-width: 1025px) {
    .info-rad:not(.info-rad--utan-tillbaka) > .split > .info-rad-fakta {
        flex-wrap: nowrap;
        white-space: nowrap;
        gap: 1.5rem;
    }
}

@media screen and (max-width: 1024px) {
    .info-rad > .split {
        flex-direction: row;
        align-items: center;
        gap: 1.5rem;
    }

    .info-rad > .split > * {
        flex: 0 1 auto;
    }

    .info-rad > .split > .info-rad-tillbaka {
        margin-right: auto;
    }

    .info-rad-fakta {
        flex-wrap: nowrap;
        gap: 1.5rem;
        white-space: nowrap;
    }

    .info-rad-fakta .button {
        margin-left: 0;
    }
}

@media screen and (max-width: 640px) {
    body:has(header.scrollingDown) .info-rad {
        top: calc(var(--header-height, var(--sf-header-h)) - 1px);
    }

    .info-rad > .split > .info-rad-tillbaka {
        display: none;
    }

    .info-rad > .split > .info-rad-fakta {
        flex: 1 1 auto;
    }

    .info-rad-fakta .button {
        margin-left: auto;
    }
}

@media screen and (max-width: 340px) {
    .info-rad-fakta .button {
        display: none;
    }
}

@media screen and (min-width: 1025px) {
    .anmalan-rad {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: var(--sf-columngap);
        align-items: start;
    }

    .anmalan-rad > :first-child {
        padding-right: 2.5rem;
    }
}

.info-rad-ledare {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
    color: var(--sf-white);
}

.info-rad-ledare-bild {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    object-fit: cover;
    transition: opacity .25s;
}

@media (hover: hover) {
.info-rad-ledare:hover .info-rad-ledare-bild {
    opacity: 0.6;
}
}

@media screen and (max-width: 860px) {
    .info-rad-fakta:has(.info-rad-ledare) {
        flex-wrap: wrap;
        row-gap: 0.75rem;
    }

    .info-rad:has(.info-rad-ledare) > .section-inner {
        padding-block: 0.75rem;
    }

    .info-rad-ledare {
        flex-basis: 100%;
        margin-left: 0;
    }

    .info-rad-ledare-bild {
        width: 2rem;
        height: 2rem;
    }
}

.info-rad--utan-tillbaka > .split > .info-rad-fakta {
    flex: 1 1 auto;
}

.info-rad--utan-tillbaka .info-rad-fakta .button {
    margin-left: auto;
}

@media screen and (min-width: 861px) {
    .info-rad--utan-tillbaka .info-rad-fakta .button {
        position: absolute;
        top: 50%;
        left: calc(50% + var(--sf-columngap) / 2);
        margin-left: 0;
        transform: translateY(-50%);
    }
}

@media screen and (min-width: 861px) {
    .info-rad--utan-tillbaka .info-rad-ledare {
        position: absolute;
        top: 50%;
        left: calc(50% + var(--sf-columngap) / 2);
        margin-left: 0;
        transform: translateY(-50%);
    }
}

.ankare-mal {
    scroll-margin-top: var(--sf-padding-y);
}

@media screen and (min-width: 861px) {
    .kurs-filterrad {
        align-items: center;
    }

    .kurs-filterrad > :last-child {
        text-align: right;
    }
}

.tjanst-nav-pil {
    margin-top: 1rem;
    transition: color .25s;
}

@media screen and (max-width: 860px) {
    .tjanst-nav-lank {
        align-self: stretch;
    }

    .tjanst-nav-lank + .tjanst-nav-lank {
        margin-top: var(--sf-columngap);
    }
}

@media (hover: hover) {
.tjanst-nav-lank:hover .tjanst-nav-pil {
    color: var(--sf-orange);
}
}

.fotoalbum {
    margin-inline: calc(-1 * var(--sf-padding-x));
    padding-inline: var(--sf-padding-x);
    overflow: hidden;
}

.fotoalbum-embla {
    --fotoalbum-mellanrum: 1rem;
    --fotoalbum-bredd: 75%;
}

.fotoalbum-spar {
    display: flex;
    touch-action: pan-y pinch-zoom;
    margin-left: calc(var(--fotoalbum-mellanrum) * -1);
}

.fotoalbum-bild {
    flex: 0 0 var(--fotoalbum-bredd);
    min-width: 0;
    padding-left: var(--fotoalbum-mellanrum);
    cursor: grab;
}

.fotoalbum-bild:active {
    cursor: grabbing;
}

.fotoalbum-bild img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    user-select: none;
}

@media screen and (min-width: 641px) {
    .fotoalbum-embla {
        --fotoalbum-bredd: 70%;
    }
}

@media screen and (min-width: 1025px) {
    .fotoalbum-embla {
        --fotoalbum-bredd: 60%;
    }
}

.fotoalbum--medarbetare .fotoalbum-embla {
    --fotoalbum-bredd: 70%;
}

.medarbetarkort {
    height: 100%;
}

.fotoalbum--medarbetare .fotoalbum-bild img {
    aspect-ratio: 1 / 1;
}

@media screen and (min-width: 641px) {
    .fotoalbum--medarbetare .fotoalbum-embla {
        --fotoalbum-bredd: 40%;
    }
}

@media screen and (min-width: 1025px) {
    .fotoalbum--medarbetare .fotoalbum-embla {
        --fotoalbum-bredd: 25%;
    }
}

.kurstillfallen-tomt a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
}

@media (hover: hover) {
.kurstillfallen-tomt a:hover {
    opacity: 0.6;
}
}

.tabell-siffror {
    font-variant-numeric: tabular-nums;
}

.kopiera-rad {
    align-items: flex-start;
    justify-content: space-between;
}

.kopiera-knapp {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: calc(var(--sf-h3) * 0.625 - 1.25rem) -0.5rem 0 0;
    padding: 0.5rem;
    border: 0;
    background: none;
    color: inherit;
    opacity: 0.5;
    cursor: pointer;
}

.kopiera-knapp .ikon-klar,
.kopiera-knapp.kopierad .ikon-kopiera {
    display: none;
}

.kopiera-knapp.kopierad .ikon-klar {
    display: block;
}

.kopiera-knapp.kopierad {
    opacity: 1;
}

@media (hover: hover) {
.kopiera-knapp:hover {
    opacity: 1;
}
}
