:root {
  /* Font-sizes */
  --is-size-1: 3.25rem; /* 64px -> 52px */
  --is-size-2: 2.5rem; /* 52px -> 40px */
  --is-size-3: 2rem; /* 32px */
  --is-size-4: 1.5625rem; /* 25px */
  --is-size-5: 1.375rem; /* 22px */
  --is-size-6: 1rem; /* 19px -> 16px */
  --is-size-7: 0.875rem; /* 15px ->14px */
  --is-size-8: 0.75rem; /* 14px -> 12px */

  /* Colors */
  --blue-dark: #1e418c;
  --blue: #5a8cd2;
  --blue-light: #dde9fa;
  --purple-dark: #462a84;
  --purple: #9f8fca;
  --purple-light: #e1d9ec;
  --orange-dark: #fa642d;
  --orange: #ff8d41;
  --orange-light: #f7d5b3;
  --green-dark: #005024;
  --green: #5aaf50;
  --green-light: #d0f0cb;
  --yellow: #febd01;
  --pink: #ffa0af;
  --black: #000a1f;
  --white: #fff;

  --primary-blue: var(--blue);
  --primary-purple: var(--purple);
  --primary-orange: var(--red-orange);
  --primary-green: var(--green);
}

.wp-block-heading {
  &:is(h1) {
    font-size: var(--is-size-1);
    line-height: 1.1;
  }
  &:is(h2) {
    font-size: var(--is-size-2);
    line-height: 1.1;
  }
  &:is(h3) {
    font-size: var(--is-size-3);
    line-height: 1.1;
  }
  &:is(h4) {
    font-size: var(--is-size-4);
    line-height: 1.25;
  }
  &:is(h5) {
    font-size: var(--is-size-5);
    line-height: 1.25;
  }
  &:is(h6) {
    font-size: var(--is-size-6);
    line-height: 1.25;
  }
}

.wp-block-paragraph,
.page-template-page-block #content p,
.single-program .wp-block-kunskapsforbundetpageblocks-container p,
.single-course .wp-block-kunskapsforbundetpageblocks-container p {
  font-size: var(--paragraph-size, var(--is-size-6));
  &.wp-block-ggb-block-feature__ingress {
  	--paragraph-size: var(--is-size-5);
  }
  & + * {
    margin-top: 0.75rem;
  }
}

.wp-block-list {
  padding-left: 16px;
  & + * {
    margin-top: 0.75rem;
  }
  & li:before {
    content: "";
    background: #000;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: -1rem;
    margin-right: 0.5rem;
    margin-top: -3px;
    vertical-align: middle;
  }
}

.wp-block-quote {
  & p {
  }
  & cite {
  }
}

.wp-block-pullquote {
  & p {
  }
  & cite {
  }
}

html *.has-is-size-1-font-size {
  --paragraph-size: var(--is-size-1);
  font-size: var(--is-size-1);
}
html *.has-is-size-2-font-size {
  --paragraph-size: var(--is-size-2);
  font-size: var(--is-size-2);
}
html *.has-is-size-3-font-size {
  --paragraph-size: var(--is-size-3);
  font-size: var(--is-size-3);
}
html *.has-is-size-4-font-size {
  --paragraph-size: var(--is-size-4);
  font-size: var(--is-size-4);
}
html *.has-is-size-5-font-size {
  --paragraph-size: var(--is-size-5);
  font-size: var(--is-size-5);
}
html *.has-is-size-6-font-size {
  --paragraph-size: var(--is-size-6);
  font-size: var(--is-size-6);
}
html *.has-is-size-7-font-size {
  --paragraph-size: var(--is-size-7);
  font-size: var(--is-size-7);
}
html *.has-is-size-8-font-size {
  --paragraph-size: var(--is-size-8);
  font-size: var(--is-size-8);
}

.wp-block-kunskapsforbundetpageblocks-container {
  & .container-block {
    padding: 0 0.75rem;
    margin: 0 auto;
    width: 100%;
  }
  & .container-block.width-wide {
    max-width: 1224px !important;
  }
  & .container-block.width-narrow {
    max-width: 824px !important;
  }
  & .container-block.has-inverted-text {
    color: var(--white);
  }
  & .container-boxes {
    --box-size: 30px;
    display: flex;
    margin: 0 auto 0 auto;
    position: relative;
    top: calc(var(--box-size) / -2);
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
    &.container-boxes--yh {
      & div:nth-child(1) {
        --decoration-color: var(--purple-dark);
      }
      & div:nth-child(2) {
        --decoration-color: var(--purple);
      }
      & div:nth-child(3) {
        --decoration-color: var(--yellow);
      }
    }
    &.container-boxes--vux {
      & div:nth-child(1) {
        --decoration-color: var(--purple-dark);
      }
      & div:nth-child(2) {
        --decoration-color: var(--purple);
      }
      & div:nth-child(3) {
        --decoration-color: var(--pink);
      }
    }
  }
  & .container-boxes div {
    width: var(--box-size);
    height: var(--box-size);
    background: var(--decoration-color, var(--black));
    opacity: var(--decoration-opacity, 0);
    transform: var(--decoration-translation, translateY(-20px));
    transition: all 0.2s ease-in-out var(--transition-delay);
    &:nth-child(1) {
      --transition-delay: 0;
    }
    &:nth-child(2) {
      --transition-delay: 200ms;
    }
    &:nth-child(3) {
      --transition-delay: 400ms;
    }
  }
  &.in-view .container-boxes div {
    --decoration-opacity: 1;
    --decoration-translation: translateY(0px);
  }
}

.wp-block-kunskapsforbundetpageblocks-shortcuts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 1rem;
}

.wp-block-kunskapsforbundetpageblocks-shortcut {
  --shortcut-background: var(--blue);
  --shortcut-text: var(--black);
  background-color: var(--shortcut-background);
  color: var(--shortcut-text);
  display: flex;
  gap: 0.25rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 2.5rem 1.25rem;
  margin: 0;
  box-sizing: border-box;
  text-align: center;
  font-weight: 700;
  transition: background 0.2s ease-in-out;
  & .shortcut-heading {
    font-size: var(--is-size-6);
  }
  .shortcut-icon {
    width: 2rem;
    height: 2rem;
    transition: transform 0.3s ease;
  }
  &:hover {
    background-color: oklch(from var(--shortcut-background) calc(l + 0.05) c h);
    color: var(--shortcut-text);
    & .shortcut-icon {
      transform: translateX(3px);
    }
  }
}

.wp-block-kunskapsforbundetpageblocks-media-container {
  --media-container-shadow-color: transparent;
  max-width: 100%;
  overflow: hidden;
  &:hover {
    & a img {
      transform: scale(1.05);
    }
  }
  & img,
  & video,
  & figure {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease-in-out;
  }
  &.shadow-left {
    box-shadow: -1rem -1rem 0 var(--media-container-shadow-color);
  }
  &.shadow-right {
    box-shadow: 1rem -1rem 0 var(--media-container-shadow-color);
  }
  &.rounded,
  &.rounded * {
    border-radius: 5000px;
  }
}

.wp-block-kunskapsforbundetpageblocks-accordion {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
  gap: 1rem;
}

.wp-block-kunskapsforbundetpageblocks-accordion-tab {
  --accordion-head-background: var(--blue);
  --accordion-head-text: var(--black);
  & dt,
  & dd {
    width: 100%;
    margin: 0;
  }
  & .tab-page-head {
    padding: 0.9375rem 1.25rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    border-width: 0;
    background-color: var(--accordion-head-background);
    color: var(--accordion-head-text);
    box-sizing: border-box;
  }
  & .tab-page-body {
    padding: 0.9375rem 1.25rem;
    border-bottom: 1px solid #e2ddda;
    border-left: 1px solid #e2ddda;
    border-right: 1px solid #e2ddda;
    box-sizing: border-box;
  }
  & .tab-page-heading {
    --accordion-tab-heading-size: var(--is-size-6);
    font-size: var(--accordion-tab-heading-size);
    text-align: left;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
  & .accordion-icon {
    height: 28px;
    width: 28px;
    display: flex;
  }
}

.wp-block-kunskapsforbundetpageblocks-related-links {
  container-type: inline-size;
  & .related-links-wrapper {
    gap: 1rem 2rem;
    display: grid;
    align-items: center;
  }
  & .related-links-heading {
    font-size: var(--is-size-3);
    line-height: 1.1;
  }
  & .related-links-link-list {
    columns: 1;
    gap: 2rem;
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 100%;
  }
  & .related-links-link {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
    width: 100%;
    font-size: var(--is-size-7);
    padding: 0.25rem 0;
    & a {
      text-decoration: underline;
      &:hover {
        text-decoration: none;
      }
    }
  }
}

@container (width > 790px) {
  .wp-block-kunskapsforbundetpageblocks-related-links {
    & .related-links-wrapper {
      grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    }
    & .related-links-link-list {
      columns: 1;
    }
    & .related-links-link {
      font-size: var(--is-size-6);
    }
  }
}

@container (width > 1190px) {
  .wp-block-kunskapsforbundetpageblocks-related-links {
    & .related-links-wrapper {
      grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    }
    & .related-links-link-list {
      columns: 2;
    }
  }
}

.wp-block-kunskapsforbundetpageblocks-featured-content {
  --featured-content-background: var(--blue-light);
  --featured-content-text: var(--black);
  background-color: var(--featured-content-background);
  color: var(--featured-content-text);
  margin-top: 3.5rem;
  & .featured-content-wrapper {
    padding: 0 0.75rem;
    margin: 0 auto;
    width: 100%;
    max-width: 1224px !important;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 2rem 3.5rem;
  }
  & .wp-block-kunskapsforbundetpageblocks-featured-content-item {
    --featured-content-item-focal-point-x: 0.5;
    --featured-content-item-focal-point-y: 0.5;
    max-width: 100% !important;
    margin-top: -3.5rem;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-bottom: 3.5rem;
  }
  & .featured-content-item-image {
    aspect-ratio: 1/1;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 500px;
    max-width: 65%;
    object-position: calc(var(--featured-content-item-focal-point-x) * 100%)
      calc(var(--featured-content-item-focal-point-y) * 100%);
    transition: transform 0.25s ease-in-out;
  }
  & .featured-content-item-heading {
    text-align: center;
    font-size: var(--is-size-3);
    line-height: 1.1;
    margin-top: 1rem;
  }
  & .featured-content-item-content {
    margin: 1rem auto 0 auto;
    text-wrap-style: balance;
    text-wrap: balance;
  }
  & .wp-block-kunskapsforbundetpageblocks-featured-content-item > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    &:hover {
      & .featured-content-item-image {
        transform: scale(1.05);
      }
    }
  }
}

.wp-block-kunskapsforbundetpageblocks-important-dates {
  --important-dates-background: var(--blue-dark);
  --important-dates-text: var(--white);
  & .important-dates-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 1.5rem;
  }
  & .important-date-date {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    width: 114px;
    height: 114px;
    background-color: var(--important-dates-background);
    color: var(--important-dates-text);
  }
  & .important-date-day {
    font-size: var(--is-size-3);
    font-weight: 700;
  }
  & .important-date-month {
    font-size: var(--is-size-7);
    text-transform: uppercase;
    font-weight: 500;
  }
  & .important-date-heading {
    font-size: var(--is-size-4);
    margin-top: 1rem;
    & a {
      text-decoration: underline;
      &:hover {
        text-decoration: none;
      }
    }
  }
  & .important-date-content {
    --paragraph-size: var(--is-size-7);
    font-size: var(--paragraph-size);
    margin-top: 0.75rem;
  }
}

.wp-block-kunskapsforbundetpageblocks-kf-button {
  --kf-button-background: var(--black);
  --kf-button-text: var(--white);
  background: var(--kf-button-background);
  display: inline-flex;
  border: 0;
  border-radius: 0;
  position: relative;
  text-align: center;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  transition: all 0.2s ease-in-out;
  & .kf-button-heading {
  position: relative;
  z-index: 1;
  }
  &.kf-button-simple:after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: var(--kf-button-background);
    transition: all 0.2s ease-in-out;
  }
  color: var(--kf-button-text);
  &.kf-button-style-1:after {
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    transition: 0.2s ease;
    background-color: var(--kf-button-icon-background, var(--white));
  }
  &.kf-button-style-2:after {
    content: "";
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    transition: 0.2s ease;
    background-color: var(--kf-button-icon-background, var(--white));
  }
  &.kf-button-size-small {
    font-size: var(--is-size-7);
    height: 39px;
    letter-spacing: -0.276923px;
    min-width: 200px;
    padding: 0 3.125rem 0 0.875rem;
    &.kf-button-simple {
      padding: 0 0.875rem;
    }
    &.kf-button-style-1:after {
      -webkit-mask: url("data:image/svg+xml,%3Csvg width='39' height='39' viewBox='0 0 39 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M39 39H0L0 0L19.5 19.5L39 0V39Z' fill='black'/%3E%3C/svg%3E%0A");
      mask: url("data:image/svg+xml,%3Csvg width='39' height='39' viewBox='0 0 39 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M39 39H0L0 0L19.5 19.5L39 0V39Z' fill='black'/%3E%3C/svg%3E%0A");
      width: 39px;
    }
    &.kf-button-style-1:hover:after {
      top: 1.2rem;
    }
    &.kf-button-style-2:after {
      width: 39px;
      -webkit-mask: url("data:image/svg+xml,%3Csvg width='40' height='39' viewBox='0 0 65 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 64V0H65L32.5 32L65 64H0Z' fill='black'/%3E%3C/svg%3E");
      mask: url("data:image/svg+xml,%3Csvg width='40' height='39' viewBox='0 0 65 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 64V0H65L32.5 32L65 64H0Z' fill='black'/%3E%3C/svg%3E");
    }
    &.kf-button-style-2:hover:after {
      right: -0.75rem;
    }
  }
  &.kf-button-size-large {
    font-size: var(--is-size-6);
    font-weight: 700;
    height: 64px;
    letter-spacing: -0.276923px;
    min-width: 237px;
    padding: 0 5.625rem 0 1.625rem;
    &.kf-button-simple {
      padding: 0 1.625rem;
    }
    &.kf-button-style-1:after {
      -webkit-mask: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 39 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M39 39H0L0 0L19.5 19.5L39 0V39Z' fill='black'/%3E%3C/svg%3E%0A");
      mask: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 39 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M39 39H0L0 0L19.5 19.5L39 0V39Z' fill='black'/%3E%3C/svg%3E%0A");
      width: 64px;
    }
    &.kf-button-style-1:hover:after {
      top: 2rem;
    }
    &.kf-button-style-2:after {
      width: 65px;
      -webkit-mask: url("data:image/svg+xml,%3Csvg width='65' height='64' viewBox='0 0 65 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 64V0H65L32.5 32L65 64H0Z' fill='black'/%3E%3C/svg%3E");
      mask: url("data:image/svg+xml,%3Csvg width='65' height='64' viewBox='0 0 65 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 64V0H65L32.5 32L65 64H0Z' fill='black'/%3E%3C/svg%3E");
    }
    &.kf-button-style-2:hover:after {
      right: -1rem;
    }
  }
  &:hover {
    color: var(--kf-button-text);
  }
  &.kf-button-simple:hover {
    background-color: oklch(
      from var(--kf-button-background) calc(l + 0.05) c h
    );
  }
  &.kf-button-simple:hover:after {
    transform: scale(1.05);
    background-color: oklch(
      from var(--kf-button-background) calc(l + 0.05) c h
    );
  }
}

.wp-block-kunskapsforbundetpageblocks-kf-buttons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  [data-align="left"] > &,
  &.alignleft {
    justify-content: flex-start;
    float: none;
    margin: 0;
  }
  [data-align="center"] > &,
  &.aligncenter {
    justify-content: center;
    float: none;
    margin: 0;
  }
  [data-align="right"] > &,
  &.alignright {
    justify-content: flex-end;
    float: none;
    margin: 0;
  }
}

.wp-block-kunskapsforbundetpageblocks-page-hero {
  --page-hero-focal-point-x: 0.5;
  --page-hero-focal-point-y: 0.5;
  --page-hero-image-opacity: 1;
  --page-hero-background: var(--blue-light);
  --page-hero-box-color: var(--blue);
  --page-hero-text: var(--black);
  &.page-hero-layout-1 {
    display: grid;
    & .page-hero-image-wrapper {
      & .page-hero-image {
        max-width: 100%;
        display: block;
      }
    }
    & .page-hero-content {
      display: flex;
      justify-content: center;
      flex-direction: column;
      background: var(--page-hero-background);
      padding: 6rem 4.5rem;
    }
  }
  &.page-hero-layout-2 {
    display: grid;
    background: var(--page-hero-background);
    & .page-hero-image-wrapper {
      grid-area: 1 / 1;
      position: relative;
      opacity: var(--page-hero-image-opacity);
      & .page-hero-image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: calc(var(--page-hero-focal-point-x) * 100%)
          calc(var(--page-hero-focal-point-y) * 100%);
      }
    }
    & .page-hero-content {
      grid-area: 1 / 1;
      display: flex;
      position: relative;
      justify-content: center;
      flex-direction: column;
      align-items: center;
      padding: 4.5rem;
      min-height: 600px;
      text-align: center;
    }
    & .page-hero-description {
      max-width: 70ch;
    }
  }
  & .page-hero-heading {
    font-size: var(--is-size-3);
    line-height: 1.1;
    letter-spacing: -1.65614px;
    line-height: 1;
    overflow-wrap: break-word;
    position: relative;
    word-break: break-word;
    &:before {
      content: "";
      background: var(--page-hero-box-color);
      display: block;
      flex-shrink: 0;
      height: 14px;
      width: 14px;
      position: absolute;
      top: -8px;
      left: -17px;
    }
  }
  & .page-hero-content {
    color: var(--page-hero-text);
  }
  & .page-hero-description {
    --paragraph-size: var(--is-size-6);
    font-size: var(--paragraph-size, var(--is-size-6));
    margin-top: 1rem;
  }
}

@media screen and (width > 790px) {
  .wp-block-kunskapsforbundetpageblocks-page-hero {
    &.page-hero-layout-1 {
      grid-template-areas: "content image";
      grid-template-columns: repeat(2, minmax(0, 1fr));
      & .page-hero-image-wrapper {
        grid-area: image;
        min-height: 600px;
        position: relative;
        & .page-hero-image {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: calc(var(--page-hero-focal-point-x) * 100%)
            calc(var(--page-hero-focal-point-y) * 100%);
        }
      }
      & .page-hero-content {
        grid-area: content;
      }
    }
  }
}

@media screen and (min-width: 600px) {
  .wp-block-kunskapsforbundetpageblocks-page-hero {
    & .page-hero-heading {
      font-size: var(--is-size-2);
      &:before {
        height: 25px;
        width: 25px;
        top: -15px;
        left: -30px;
      }
    }
  }
}

@media screen and (min-width: 1200px) {
  .wp-block-kunskapsforbundetpageblocks-page-hero {
    & .page-hero-heading {
      font-size: var(--is-size-1);
    }
    & .page-hero-description {
      --paragraph-size: var(--is-size-5);
    }
  }
}

.wp-block-kunskapsforbundetpageblocks-contact {
  container-type: inline-size;
  & .contact-wrapper {
    max-width: 100% !important;
    display: grid;
  }
  & .contact-image {
    aspect-ratio: 1/1;
    width: 50%;
    height: auto;
    object-fit: cover;
    border-radius: 500px;
    max-width: 100%;
  }
  & .contact-name {
    font-size: var(--is-size-4);
    margin-bottom: 0.25rem;
  }
  & p.contact-role {
    --paragraph-size: var(--is-size-7);
  }
  & p.contact-phone {
    --paragraph-size: var(--is-size-7);
  }
  & p.contact-email {
    --paragraph-size: var(--is-size-7);
    white-space: nowrap;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    & a {
      text-decoration: underline;
      &:hover {
        text-decoration: none;
      }
    }
  }
  & p + * {
    margin-top: 0 !important;
  }
}

@container (width > 790px) {
  .wp-block-kunskapsforbundetpageblocks-contact {
    & .contact-wrapper {
      grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
      align-items: center;
      gap: 2rem;
    }
    & .contact-image {
      width: 100%;
    }
  }
}

.wp-block-kunskapsforbundetpageblocks-course-hero {
  --course-hero-focal-point-x: 0.5;
  --course-hero-focal-point-y: 0.5;
  --course-hero-image-opacity: 1;
  --course-hero-background: var(--blue-light);
  --course-hero-box-color: var(--blue);
  --course-hero-text: var(--black);
  --course-box-text: var(--white);
  display: grid;
  position: relative;
  & .course-hero-image-wrapper {
    & .course-hero-image {
      max-width: 100%;
      display: block;
    }
  }
  & .course-hero-content {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    background: var(--course-hero-background);
    padding: 4.5rem;
  }

  & .course-hero-heading {
    font-size: var(--is-size-3);
    line-height: 1.1;
    letter-spacing: -1.65614px;
    line-height: 1;
    overflow-wrap: break-word;
    position: relative;
    word-break: break-word;
    &:before {
      content: "";
      background: var(--course-hero-box-color);
      display: block;
      flex-shrink: 0;
      height: 14px;
      width: 14px;
      position: absolute;
      top: -8px;
      left: -17px;
    }
  }
  & .course-hero-logo-container {
    margin-top: 2rem;
    & .course-hero-logo {
      height: 40px;
      max-width: 100%;
      display: block;
    }
  }
  & .course-hero-tab {
    background-color: var(--course-hero-box-color);
    color: var(--course-box-text);
    display: inline-block;
    padding: 0.75rem 1.5rem 0.75rem 4.5rem;
    font-size: var(--is-size-7);
    margin-top: 1.5rem;
    margin-left: -4.5rem;
    transform: translateX(-100%);
    animation: 1s ease-out 1s forwards slide-in-left;
  }
  & .course-hero-circle {
    background-color: #5aaf50;
    color: var(--black);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-style: italic;
    height: 100px;
    width: 100px;
    padding: 0.75rem;
    text-align: center;
    aspect-ratio: 1 / 1;
    border-radius: 500px;
    font-size: var(--is-size-7);
    margin-top: 1rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    &.course-hero-circle--planned {
      background-color: #9f8fca;
    }
    &.course-hero-circle--open {
      background-color: #5aaf50;
    }
    &.course-hero-circle--ongoing {
      background-color: #febd01;
    }
    &.course-hero-circle--completed {
      background-color: #ff8d41;
    }
    &.course-hero-circle--start {
      background-color: #ffa0af;
    }
    &.course-hero-circle--closed {
      background-color: #ff8d41;
    }
  }
  & .course-hero-content {
    color: var(--course-hero-text);
  }
  & .course-hero-description {
    --paragraph-size: var(--is-size-6);
    font-size: var(--paragraph-size, var(--is-size-6));
    margin-top: 1rem;
  }
}

@media screen and (width > 790px) {
  .wp-block-kunskapsforbundetpageblocks-course-hero {
    grid-template-areas: "content image";
    grid-template-columns: repeat(2, minmax(0, 1fr));
    & .course-hero-image-wrapper {
      grid-area: image;
      min-height: 600px;
      position: relative;
      overflow: hidden;
      & .course-hero-image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s ease-in-out;
        object-position: calc(var(--course-hero-focal-point-x) * 100%)
          calc(var(--course-hero-focal-point-y) * 100%);
      }
    }
    & .course-hero-content {
      grid-area: content;
      padding: 6rem 4.5rem;
    }
    & .course-hero-circle {
      height: 150px;
      width: 150px;
      font-size: var(--is-size-6);
    }
    & .course-hero-tab {
      font-size: var(--is-size-6);
    }
  }
}

@media screen and (min-width: 600px) {
  .wp-block-kunskapsforbundetpageblocks-course-hero {
    & .course-hero-heading {
      font-size: var(--is-size-2);
      &:before {
        height: 25px;
        width: 25px;
        top: -15px;
        left: -30px;
      }
    }
  }
}

@media screen and (min-width: 1200px) {
  .wp-block-kunskapsforbundetpageblocks-course-hero {
    & .course-hero-heading {
      font-size: var(--is-size-1);
    }
    & .course-hero-description {
      --paragraph-size: var(--is-size-5);
    }
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  .wp-block-kunskapsforbundetpageblocks-course-hero {
    & .course-hero-tab {
      transform: translateX(0%);
    }
  }
}

.wp-block-kunskapsforbundetpageblocks-short-facts {
  --short-facts-background: var(--blue-light);
  --short-facts-text: var(--black);
  background: var(--short-facts-background);
  color: var(--short-facts-text);
  padding: 1.5rem;
  .short-facts-heading {
    font-size: var(--is-size-5);
    margin-bottom: 0.5rem;
    margin-top: 0;
  }
  .short-facts-fact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--is-size-7);
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0;
    & dd,
    & dt {
      width: auto;
    }
  }
}

.wp-block-kunskapsforbundetpageblocks-course-study-formats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  & > a,
  & > div {
    background: var(--pink);
    color: var(--black);
    display: flex;
    padding: 0.4375rem 0.75rem;
    font-size: var(--is-size-7);
  }
}

@keyframes slide-in-left {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}

@keyframes slide-in-right {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0%);
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(10deg);
  }
}

@keyframes image-zoom-in {
  0% {
    transform: scale(1);
  }

  to {
    transform: scale(1.1);
  }
}

@keyframes image-zoom-out {
  0% {
    transform: scale(1.1);
  }

  to {
    transform: scale(1);
  }
}

@keyframes fade-in {
  0% {
    transform: translateY(2.5rem);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
