/*!
Theme Name: MSM
Theme URI: https://gnistdesign.no
Author: Gnist Design
Author URI: https://gnistdesign.no
Description: 2025 FSE theme for MSM.
Tags: full-site-editing, block-patterns, accessibility-ready, block-styles, custom-colors, custom-logo, custom-menu, editor-style one-column, template-editing, translation-ready, wide-blocks
Requires at least: 6.7
Tested up to: 6.7.1
Requires PHP: 8.2
Version: 1.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: msm

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
html header {
  /* Ensure the mega menu is hidden by default */
}
html header .mega-menu {
  display: none;
  position: absolute;
  top: 0;
  /* Position it below the navigation item */
  left: 0;
  width: 100%;
  margin-block-start: 0;
  z-index: 999;
  transition: opacity 2s ease-in-out, visibility 2s ease;
  /* Smooth visibility changes */
  opacity: 1;
  border-bottom-right-radius: 16px;
  border-bottom-left-radius: 16px;
}
html header .mega-menu a {
  text-decoration: none;
  color: #0054A3;
  font-weight: 400;
}
html header .mega-menu a:hover, html header .mega-menu a:active, html header .mega-menu a:focus {
  text-decoration: underline;
  font-stretch: 100%;
  font-weight: 400;
}
html header .mega-menu .wp-block-group .wp-block-image {
  position: absolute;
  right: 0;
  bottom: -50px;
  width: 213px;
}
html header .mega-menu.general {
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  position: fixed;
}
html header .mega-menu.general .close-menu {
  position: absolute;
  top: 40px;
  right: 30px;
}
html header .mega-menu.general .wp-block-columns {
  max-width: 100%;
  height: 100vh;
}
html header .mega-menu.general .wp-block-columns .has-main-background-color {
  min-height: 100%;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
}
html header.mega-menu-active ~ .site-content {
  filter: blur(3px);
  overflow: hidden;
}
html .admin-bar header .mega-menu {
  top: 32px;
}

:root .entry-content :where(a:where(:not(.wp-element-button)):hover),
:root .wp-block-woocommerce-product-summary :where(a:where(:not(.wp-element-button)):hover) {
  font-stretch: 72%;
}

.search-results a.gc-link-anything {
  text-decoration: none;
}
.search-results a.gc-link-anything:hover, .search-results a.gc-link-anything:focus {
  text-decoration: none;
}
.search-results a.gc-link-anything:hover .wp-block-post-title, .search-results a.gc-link-anything:focus .wp-block-post-title {
  text-decoration: underline;
}
.search-results a.gc-link-anything:hover p, .search-results a.gc-link-anything:focus p {
  font-weight: 400;
}

.entry-content .gc-link-anything {
  text-decoration: none;
}
.entry-content .gc-link-anything .has-background {
  transition: all ease 0.3s;
}
.entry-content .gc-link-anything:hover, .entry-content .gc-link-anything:focus, .entry-content .gc-link-anything:active {
  text-decoration: none;
}
.entry-content .gc-link-anything:hover .has-tomato-30-background-color, .entry-content .gc-link-anything:focus .has-tomato-30-background-color, .entry-content .gc-link-anything:active .has-tomato-30-background-color {
  background-color: #FDEEE9 !important;
}
.entry-content .gc-link-anything:hover .has-charybdis-30-background-color, .entry-content .gc-link-anything:focus .has-charybdis-30-background-color, .entry-content .gc-link-anything:active .has-charybdis-30-background-color {
  background-color: #E5F3FA !important;
}
.entry-content .gc-link-anything:hover .has-malachite-green-20-background-color, .entry-content .gc-link-anything:focus .has-malachite-green-20-background-color, .entry-content .gc-link-anything:active .has-malachite-green-20-background-color {
  background-color: #E3EBE3 !important;
}
.entry-content .gc-link-anything:hover .has-raiden-blue-30-background-color, .entry-content .gc-link-anything:focus .has-raiden-blue-30-background-color, .entry-content .gc-link-anything:active .has-raiden-blue-30-background-color {
  background-color: #E3ECF5 !important;
}
.entry-content .gc-link-anything:hover .has-red-20-background-color, .entry-content .gc-link-anything:focus .has-red-20-background-color, .entry-content .gc-link-anything:active .has-red-20-background-color {
  background-color: #FFE6E7 !important;
}
@media all and (max-width: 783px) {
  .entry-content .wp-block-columns:has(div.wp-block-column.invert-on-mobile) {
    flex-direction: column-reverse;
  }
}
.entry-content figcaption {
  font-size: var(--wp--preset--font-size--small);
  color: #414042;
}
@media all and (max-width: 783px) {
  .entry-content .has-red-20-background-color.wp-container-core-group-is-layout-9d3da847 {
    border-top-left-radius: 16px !important;
    border-bottom-left-radius: 16px !important;
  }
}
@media all and (max-width: 783px) {
  .entry-content .has-custom-asr-gradient-background:not(.header-aims) .wp-block-image,
  .entry-content .has-custom-msm-gradient-background:not(.header-aims) .wp-block-image,
  .entry-content .has-custom-ml-gradient-background:not(.header-aims) .wp-block-image,
  .entry-content .has-custom-tmc-gradient-background:not(.header-aims) .wp-block-image {
    display: none;
  }
}

footer {
  margin-block-start: 0;
}
@media all and (max-width: 783px) {
  footer .wp-container-core-group-is-layout-eb373e81 {
    justify-content: flex-start !important;
  }
}

.breadcrumbs,
.woocommerce-breadcrumb {
  font-size: 16px;
  font-weight: 400;
  max-width: 1440px;
}
.breadcrumbs a,
.woocommerce-breadcrumb a {
  text-decoration: none;
  text-underline-offset: 2px;
}
.breadcrumbs a svg,
.woocommerce-breadcrumb a svg {
  vertical-align: top;
}
.breadcrumbs a svg path,
.woocommerce-breadcrumb a svg path {
  transition: all ease 0.3s;
}
.breadcrumbs a:hover, .breadcrumbs a:active, .breadcrumbs a:focus,
.woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:active,
.woocommerce-breadcrumb a:focus {
  color: var(--wp--preset--color--raiden-blue);
  font-stretch: 72%;
}
.breadcrumbs a:hover svg path, .breadcrumbs a:active svg path, .breadcrumbs a:focus svg path,
.woocommerce-breadcrumb a:hover svg path,
.woocommerce-breadcrumb a:active svg path,
.woocommerce-breadcrumb a:focus svg path {
  fill: var(--wp--preset--color--raiden-blue);
}
@media all and (min-width: 768px) {
  .breadcrumbs span.separator,
  .woocommerce-breadcrumb span.separator {
    margin: auto 12px;
  }
}

html .single-product .woocommerce.product {
  margin-block-start: var(--wp--preset--spacing--56);
}
html .single-product .woocommerce.product .has-orange-yellow-30-background-color figure img {
  vertical-align: text-top;
}
html .single-product .woocommerce.product .wp-block-post-title {
  opacity: 0.8;
  font-stretch: 120%;
}
html .single-product.product_cat-midnight-sun-marathon .has-orange-yellow-30-background-color {
  background-color: #FEE6B1 !important;
}
html .single-product.product_cat-morketidslopet .has-orange-yellow-30-background-color {
  background-color: #CBF3FE !important;
}
html .single-product.product_cat-tmc .has-orange-yellow-30-background-color {
  background-color: #C9E6B6 !important;
}
html .single-product.product_cat-arctic-snowshoe-race .has-orange-yellow-30-background-color {
  background-color: #E3ECF5 !important;
}
html .single-product.product_cat-samisk-uke .has-orange-yellow-30-background-color {
  background-color: #FFE6E7 !important;
}
html .single-product .registration_add_to_cart_button {
  margin-top: 24px !important;
}

html .woocommerce-cart .current-menu-item img,
html .woocommerce-checkout .current-menu-item img,
html .woocommerce-page .current-menu-item img {
  box-shadow: inset 0 0 0 1px var(--wp--preset--color--raiden-blue-30);
  border-radius: 4px;
}
html .woocommerce-cart .wp-site-blocks .wp-container-core-group-is-layout-e43c2b30,
html .woocommerce-cart .wp-site-blocks .wp-container-core-group-is-layout-5ab9c47a,
html .woocommerce-checkout .wp-site-blocks .wp-container-core-group-is-layout-e43c2b30,
html .woocommerce-checkout .wp-site-blocks .wp-container-core-group-is-layout-5ab9c47a,
html .woocommerce-page .wp-site-blocks .wp-container-core-group-is-layout-e43c2b30,
html .woocommerce-page .wp-site-blocks .wp-container-core-group-is-layout-5ab9c47a {
  margin-block-start: 0 !important;
}
html .woocommerce-cart .wp-site-blocks main,
html .woocommerce-checkout .wp-site-blocks main,
html .woocommerce-page .wp-site-blocks main {
  margin-block-start: var(--wp--preset--spacing--40) !important;
}
html .woocommerce-cart .shop_table,
html .woocommerce-checkout .shop_table,
html .woocommerce-page .shop_table {
  border: 0;
  font-size: 16px;
}
html .woocommerce-cart .shop_table .product-thumbnail,
html .woocommerce-checkout .shop_table .product-thumbnail,
html .woocommerce-page .shop_table .product-thumbnail {
  display: none;
}
html .woocommerce-cart .shop_table .quantity .qty,
html .woocommerce-checkout .shop_table .quantity .qty,
html .woocommerce-page .shop_table .quantity .qty {
  width: 60px;
}
html .woocommerce-cart .shop_table td,
html .woocommerce-checkout .shop_table td,
html .woocommerce-page .shop_table td {
  border-color: #558DC2;
  vertical-align: text-top;
}
html .woocommerce-cart .shop_table td input,
html .woocommerce-checkout .shop_table td input,
html .woocommerce-page .shop_table td input {
  border-radius: 12px;
  border: 1px solid #558DC2;
  padding: 7px 12px;
  font-size: 16px;
}
html .woocommerce-cart .shop_table td dd,
html .woocommerce-checkout .shop_table td dd,
html .woocommerce-page .shop_table td dd {
  width: auto;
  margin: 10px 0 0;
}
html .woocommerce-cart .shop_table td dd p,
html .woocommerce-checkout .shop_table td dd p,
html .woocommerce-page .shop_table td dd p {
  display: inline-block;
  margin-top: 0;
}
html .woocommerce-cart .shop_table td.actions,
html .woocommerce-checkout .shop_table td.actions,
html .woocommerce-page .shop_table td.actions {
  padding-top: 50px !important;
}
html .woocommerce-cart .coupon input#coupon_code,
html .woocommerce-checkout .coupon input#coupon_code,
html .woocommerce-page .coupon input#coupon_code {
  border-radius: 12px;
  border: 1px solid #558DC2 !important;
  height: 44px;
}
html .woocommerce-cart button.wp-element-button,
html .woocommerce-cart .checkout-button,
html .woocommerce-checkout button.wp-element-button,
html .woocommerce-checkout .checkout-button,
html .woocommerce-page button.wp-element-button,
html .woocommerce-page .checkout-button {
  transition: all ease 0.3s;
  font-weight: 400;
  letter-spacing: 0;
  padding: 10px 32px 10px 32px;
  background-color: #003645;
  color: #FFFFFF;
  border-radius: 32px;
  box-shadow: inset 0 0 0 2px #003645;
  font-stretch: 120%;
  text-decoration: none;
  cursor: pointer;
}
html .woocommerce-cart button.wp-element-button:hover, html .woocommerce-cart button.wp-element-button:focus, html .woocommerce-cart button.wp-element-button:active,
html .woocommerce-cart .checkout-button:hover,
html .woocommerce-cart .checkout-button:focus,
html .woocommerce-cart .checkout-button:active,
html .woocommerce-checkout button.wp-element-button:hover,
html .woocommerce-checkout button.wp-element-button:focus,
html .woocommerce-checkout button.wp-element-button:active,
html .woocommerce-checkout .checkout-button:hover,
html .woocommerce-checkout .checkout-button:focus,
html .woocommerce-checkout .checkout-button:active,
html .woocommerce-page button.wp-element-button:hover,
html .woocommerce-page button.wp-element-button:focus,
html .woocommerce-page button.wp-element-button:active,
html .woocommerce-page .checkout-button:hover,
html .woocommerce-page .checkout-button:focus,
html .woocommerce-page .checkout-button:active {
  background-color: transparent;
  color: #003645;
  box-shadow: inset 0 0 0 2px #003645;
}
html .woocommerce-cart form .form-row .input-text,
html .woocommerce-cart form .form-row select,
html .woocommerce-cart form .form-row .select2-container .select2-selection,
html .woocommerce-checkout form .form-row .input-text,
html .woocommerce-checkout form .form-row select,
html .woocommerce-checkout form .form-row .select2-container .select2-selection,
html .woocommerce-page form .form-row .input-text,
html .woocommerce-page form .form-row select,
html .woocommerce-page form .form-row .select2-container .select2-selection {
  border-radius: 12px;
  border: 1px solid #558DC2 !important;
  padding: 6px 18px !important;
  font-size: 16px;
  height: 56px;
}
html .woocommerce-cart form .form-row .select2-container .select2-selection--single .select2-selection__rendered,
html .woocommerce-checkout form .form-row .select2-container .select2-selection--single .select2-selection__rendered,
html .woocommerce-page form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 11px 0;
}
html .woocommerce-cart form .form-row label,
html .woocommerce-checkout form .form-row label,
html .woocommerce-page form .form-row label {
  font-size: 16px;
}
html .select2-container.select2-container--open .select2-dropdown--below {
  margin-top: -7px;
  border: 1px solid #558DC2 !important;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  border-top-color: transparent !important;
  padding-bottom: 8px;
}
html .wc-payment-form * {
  font-family: var(--wp--preset--font-family--body) !important;
}

body .gform_wrapper ul.gform_fields li.gfield,
body .gform_legacy_markup_wrapper ul.gform_fields li.gfield {
  margin-top: 24px;
}
body .gform_wrapper input:not([type=checkbox]),
body .gform_wrapper select,
body .gform_legacy_markup_wrapper input:not([type=checkbox]),
body .gform_legacy_markup_wrapper select {
  border-radius: 12px;
  border: 1px solid #558DC2;
  padding: 6px 18px !important;
  font-size: 16px;
  height: 56px;
}
body .gform_wrapper select,
body .gform_legacy_markup_wrapper select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: url('data:image/svg+xml,<svg width="19" height="11" viewBox="0 0 19 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 1L9.5 10L1 0.999999" stroke="%230054A3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 10px center/11px 16px;
  padding: 6px 18px;
  cursor: pointer;
}
body .gform_wrapper select::-ms-expand,
body .gform_legacy_markup_wrapper select::-ms-expand {
  display: none;
}
body .gform_wrapper .gfield_required,
body .gform_legacy_markup_wrapper .gfield_required {
  color: #000000;
}
body .gform_wrapper .top_label .gfield_label,
body .gform_wrapper legend.gfield_label,
body .gform_wrapper label,
body .gform_legacy_markup_wrapper .top_label .gfield_label,
body .gform_legacy_markup_wrapper legend.gfield_label,
body .gform_legacy_markup_wrapper label {
  color: #414042;
  font-size: 18px;
  font-weight: 500;
}
body .gform_wrapper .top_label .gfield_label.gform-field-label--type-sub,
body .gform_wrapper legend.gfield_label.gform-field-label--type-sub,
body .gform_wrapper label.gform-field-label--type-sub,
body .gform_legacy_markup_wrapper .top_label .gfield_label.gform-field-label--type-sub,
body .gform_legacy_markup_wrapper legend.gfield_label.gform-field-label--type-sub,
body .gform_legacy_markup_wrapper label.gform-field-label--type-sub {
  font-weight: 300;
  font-size: 14px;
}
body .gform_wrapper .gfield_description,
body .gform_wrapper .gfield--type-html,
body .gform_legacy_markup_wrapper .gfield_description,
body .gform_legacy_markup_wrapper .gfield--type-html {
  font-size: 14px;
}
body .gform_wrapper .ginput_container_consent input,
body .gform_legacy_markup_wrapper .ginput_container_consent input {
  vertical-align: middle;
}
body .gform_wrapper .gform_button,
body .gform_legacy_markup_wrapper .gform_button {
  transition: all ease 0.3s;
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: 0;
  padding: 10px 32px 10px 32px;
  background-color: #003645;
  color: #FFFFFF;
  border-radius: 32px;
  box-shadow: inset 0 0 0 2px #003645;
  font-stretch: 120%;
  text-decoration: none;
  max-width: 240px;
  margin-top: var(--wp--preset--spacing--12);
  border: 0 !important;
  cursor: pointer;
}
body .gform_wrapper .gform_button:hover, body .gform_wrapper .gform_button:focus, body .gform_wrapper .gform_button:active,
body .gform_legacy_markup_wrapper .gform_button:hover,
body .gform_legacy_markup_wrapper .gform_button:focus,
body .gform_legacy_markup_wrapper .gform_button:active {
  background-color: transparent;
  color: #003645;
  box-shadow: inset 0 0 0 2px #003645;
}

/* Global Normalizer */
@-ms-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}
html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: inherit;
  min-width: 0;
  font-synthesis: none !important;
}

/* FSE Fix for images. */
figure img {
  width: 100%;
  object-fit: contain;
}

.z-index-10 {
  z-index: 10;
}

/* Hide elements on desktop */
@media all and (min-width: 1025px) {
  .hide-on-desktop {
    display: none !important;
  }
}
/* Elements on mobile */
@media all and (max-width: 1024px) {
  .hide-on-mobile {
    display: none !important;
  }
  .bottom-on-mobile {
    order: 2;
  }
  .bottom-on-mobile + div {
    order: 1;
  }
}
@media all and (max-width: 783px) {
  .invert-on-mobile {
    flex-direction: column-reverse !important;
  }
  .is-content-justification-space-between {
    justify-content: center !important;
  }
}
@media all and (max-width: 783px) {
  :root :where(.is-layout-constrained) > * {
    margin-block-start: 1.5rem;
  }
}
