@charset "UTF-8";
/*
Theme Name: Snöskoteralliansen
Theme URI: https://snoskoteralliansen.se
Description: Custom theme for Snöskoteralliansen.
Version: 1.0.0
Author: Öbergmedia
Text Domain: snoskoteralliansen
*/
*, *::before, *::after {
  box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px; }

body {
  margin: 0; }

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

img, video {
  height: auto; }

button, input, textarea, select {
  font: inherit; }

@font-face {
  font-family: 'Brockmann';
  src: url("fonts/Brockmann-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap; }
@font-face {
  font-family: 'Brockmann';
  src: url("fonts/Brockmann-RegularItalic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap; }
@font-face {
  font-family: 'Brockmann';
  src: url("fonts/Brockmann-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap; }
@font-face {
  font-family: 'Brockmann';
  src: url("fonts/Brockmann-BoldItalic.woff2") format("woff2");
  font-style: italic;
  font-weight: 700;
  font-display: swap; }
.has-mint-color {
  color: #33fec2; }

.has-mint-background-color {
  background-color: #33fec2; }

.has-lightgreen-color {
  color: #33fec2; }

.has-lightgreen-background-color {
  background-color: #33fec2; }

.has-teal-color {
  color: #005352; }

.has-teal-background-color {
  background-color: #005352; }

.has-white-color {
  color: #ffffff; }

.has-white-background-color {
  background-color: #ffffff; }

.has-black-color {
  color: #111111; }

.has-black-background-color {
  background-color: #111111; }

.has-light-color {
  color: #f3f8f6; }

.has-light-background-color {
  background-color: #f3f8f6; }

.has-grey-color {
  color: #667573; }

.has-grey-background-color {
  background-color: #667573; }

.has-border-color {
  color: #dce7e4; }

.has-border-background-color {
  background-color: #dce7e4; }

body {
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.35;
  color: #005352;
  background: #ffffff;
  -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Brockmann", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: inherit;
  margin: 0 0 .25em; }

h1, h2, h3 {
  font-weight: 700; }

h1 {
  font-size: clamp(42px, 5vw, 66px);
  letter-spacing: -.045em; }

h2 {
  font-size: clamp(34px, 4vw, 46px);
  letter-spacing: -.035em; }

h3 {
  font-size: clamp(26px, 2vw, 28px); }

h4 {
  font-size: clamp(22px, 2.5vw, 28px); }

h5 {
  font-size: 20px; }

h6 {
  font-size: 17px; }

p {
  margin: 0 0 1em; }

strong, b {
  font-weight: 700; }

.lead, .is-style-lead {
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.5; }

.text-small, small {
  font-size: 14px; }

.heading-display {
  font-size: clamp(56px, 8vw, 120px);
  line-height: .95;
  letter-spacing: -.06em; }

.heading-compact {
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.2; }

.heading-eyebrow {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.4;
  margin-bottom: 16px; }

.heading-accent {
  color: #33fec2; }

.heading-light {
  color: #ffffff; }

a {
  color: #005352;
  text-decoration-color: #33fec2;
  text-underline-offset: 4px;
  transition: color .2s ease; }

a:hover {
  color: #667573; }

:focus-visible {
  outline: 3px solid #33fec2;
  outline-offset: 3px; }

::selection {
  background: #33fec2;
  color: #005352; }

.ssa-btn, .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: 100px;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
  .ssa-btn:hover, .wp-block-button__link:hover {
    transform: translateY(-2px); }

.ssa-btn-primary, .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #33fec2;
  color: #005352; }
  .ssa-btn-primary:hover, .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
    background: #005352;
    color: #ffffff; }

.ssa-btn-secondary {
  background: #005352;
  color: #ffffff; }
  .ssa-btn-secondary:hover {
    background: #33fec2;
    color: #005352; }

.ssa-btn-outline, .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border-color: #005352;
  color: #005352; }
  .ssa-btn-outline:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: #005352;
    color: #ffffff; }

.ssa-section {
  padding-block: 100px; }
  @media (max-width: 781px) {
    .ssa-section {
      padding-block: 60px; } }

.ssa-container {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: 24px; }

.bg-ssa-mint {
  background-color: #33fec2; }

.bg-ssa-teal {
  background-color: #005352;
  color: #ffffff; }

.bg-ssa-light {
  background-color: #f3f8f6; }

.text-ssa-mint {
  color: #33fec2; }

.text-ssa-teal {
  color: #005352; }

.text-ssa-white {
  color: #ffffff; }

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto; }

  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important; } }
.entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0; }

.entry-content .wp-block-columns {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box; }
  @media (max-width: 781px) {
    .entry-content .wp-block-columns {
      padding-left: 16px;
      padding-right: 16px; } }

.entry-content .wp-block-columns .wp-block-columns {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0; }

.ssa-content-width, .entry-content > .alignwide:not(.wp-block-columns) {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box; }
  @media (max-width: 781px) {
    .ssa-content-width, .entry-content > .alignwide:not(.wp-block-columns) {
      padding-left: 16px;
      padding-right: 16px; } }

.entry-content > .alignfull {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0; }

blockquote.wp-block-quote {
  max-width: 1000px;
  margin: 0 auto;
  line-height: normal; }

.rm_boxes .wp-block-column {
  padding: 30px;
  border-radius: 15px; }

p.alignwide {
  max-width: 1000px;
  margin: 0 auto; }

.page_footer .wp-block-cover {
  min-height: 200px;
  margin-bottom: 0; }

.page_footer h3 {
  font-size: 18px; }

.page_footer .wp-block-cover .wp-block-columns {
  max-width: 1280px;
  margin: 0 auto; }

.page_footer .wp-block-cover .wp-block-columns p {
  padding-bottom: 0;
  margin-bottom: 5px; }

.wp-block-cover {
  margin-bottom: 0px; }

.princip_wrapper {
  gap: 0; }
  .princip_wrapper p {
    margin: 0; }
  .princip_wrapper h3 {
    margin: 0; }
  .princip_wrapper .wp-block-column {
    min-height: 80px;
    padding: 15px; }

body .taptap-search-button-wrapper {
  top: 12px;
  right: 60px;
  z-index: 100001; }

nav.program-navigation {
  max-width: 1280px;
  margin: 30px auto 30px auto;
  border-top: 1px solid #005352;
  padding: 30px; }
  nav.program-navigation a {
    text-decoration: none; }
  nav.program-navigation ul {
    font-size: 1.3em;
    margin-left: 0px;
    padding-left: 0px; }
    nav.program-navigation ul li {
      list-style-type: none; }

h3.wp-block-heading a {
  text-decoration: none; }

nav.program-navigation ul li.current a {
  /* color: #64c3a2; */
  font-weight: 800; }

.ssa-site-header {
  position: fixed;
  top: 3px;
  left: 169px;
  right: 0;
  z-index: 100000;
  height: 60px;
  /* background: #ffffff; */
  /* box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06); */ }

.admin-bar .ssa-site-header {
  top: 33px; }

.ssa-header-inner {
  max-width: 1320px;
  height: 100%;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: flex-start; }

.wp-block-buttons {
  margin-bottom: 30px; }

.wp-block-button__link::after {
  content: "»";
  display: inline-block;
  margin-left: 5px;
  transition: transform 0.2s ease; }
.wp-block-button__link:hover::after {
  transform: translateX(4px); }

.ssa-desktop-nav .ssa-menu {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0; }
.ssa-desktop-nav li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0; }
.ssa-desktop-nav a {
  display: block;
  padding: 12px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #005352;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease; }
  .ssa-desktop-nav a:hover, .ssa-desktop-nav a:focus-visible {
    color: #001616; }
.ssa-desktop-nav .current-menu-item > a,
.ssa-desktop-nav .current-menu-ancestor > a {
  color: #005352;
  text-decoration: underline;
  text-decoration-color: #33fec2;
  text-decoration-thickness: 3px;
  text-underline-offset: 7px; }
.ssa-desktop-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 10px 0;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  z-index: 10; }
  .ssa-desktop-nav .sub-menu li {
    width: 100%; }
  .ssa-desktop-nav .sub-menu a {
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 400;
    white-space: nowrap; }
    .ssa-desktop-nav .sub-menu a:hover, .ssa-desktop-nav .sub-menu a:focus-visible {
      background: #33fec2;
      color: #005352; }
.ssa-desktop-nav li:hover > .sub-menu,
.ssa-desktop-nav li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto; }
.ssa-desktop-nav .menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 9px;
  margin-bottom: 3px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg); }
.ssa-desktop-nav .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  transform: translateX(8px); }
.ssa-desktop-nav .sub-menu li:hover > .sub-menu,
.ssa-desktop-nav .sub-menu li:focus-within > .sub-menu {
  transform: translateX(0); }

body {
  padding-top: 60px; }

html {
  scroll-padding-top: 60px; }

.ssa-search-results {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 24px 100px; }
  @media (max-width: 781px) {
    .ssa-search-results {
      padding: 40px 16px 60px; } }
  .ssa-search-results .ssa-search-heading {
    margin-bottom: 40px;
    padding-bottom: 24px;
    border-bottom: 2px solid #005352; }
    .ssa-search-results .ssa-search-heading h1 {
      font-size: clamp(32px, 4vw, 48px);
      margin-bottom: 12px; }
    .ssa-search-results .ssa-search-heading p {
      color: #667573;
      margin: 0; }
  .ssa-search-results .ssa-search-item {
    padding: 30px 0;
    border-bottom: 1px solid #dce7e4; }
    .ssa-search-results .ssa-search-item:first-child {
      padding-top: 0; }
    .ssa-search-results .ssa-search-item:last-child {
      border-bottom: 0; }
  .ssa-search-results .ssa-search-title {
    font-size: clamp(22px, 2.5vw, 30px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 12px; }
    .ssa-search-results .ssa-search-title a {
      color: #005352;
      text-decoration: none;
      transition: color 0.2s ease; }
      .ssa-search-results .ssa-search-title a:hover, .ssa-search-results .ssa-search-title a:focus-visible {
        color: #008b82;
        text-decoration: underline;
        text-decoration-color: #33fec2;
        text-underline-offset: 5px; }
  .ssa-search-results .ssa-search-excerpt {
    font-size: 16px;
    line-height: 1.65;
    color: #667573;
    max-width: 75ch; }
    .ssa-search-results .ssa-search-excerpt p {
      margin-bottom: 0; }
  .ssa-search-results .ssa-search-meta {
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #667573; }
  .ssa-search-results .ssa-search-more {
    display: inline-block;
    margin-top: 16px;
    font-size: 14px;
    font-weight: 700;
    color: #005352;
    text-decoration: none; }
    .ssa-search-results .ssa-search-more::after {
      content: " →";
      transition: margin-left 0.2s ease; }
    .ssa-search-results .ssa-search-more:hover::after {
      margin-left: 5px; }
  .ssa-search-results .ssa-search-empty {
    padding: 40px;
    background: #f3f8f6;
    border-radius: 12px; }
    .ssa-search-results .ssa-search-empty p {
      margin-bottom: 20px; }
  .ssa-search-results .navigation.pagination {
    margin-top: 50px; }
    .ssa-search-results .navigation.pagination .nav-links {
      display: flex;
      flex-wrap: wrap;
      gap: 8px; }
    .ssa-search-results .navigation.pagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      min-height: 44px;
      padding: 8px 14px;
      border-radius: 6px;
      background: #f3f8f6;
      color: #005352;
      font-size: 15px;
      text-decoration: none;
      transition: background 0.2s ease; }
      .ssa-search-results .navigation.pagination .page-numbers:hover {
        background: #33fec2; }
      .ssa-search-results .navigation.pagination .page-numbers.current {
        background: #005352;
        color: #ffffff; }
      .ssa-search-results .navigation.pagination .page-numbers.dots {
        background: transparent; }

@media only screen and (max-width: 781px) {
  .ssa-site-header {
    display: none; }

  nav.program-navigation {
    padding: 15px; }

  .page_footer .wp-block-cover .wp-block-columns {
    gap: 0; }

  .page_footer .wp-block-image .alignright {
    float: left;
    margin: .5em 0 .5em 0em; } }
