@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap");


/* =====================================================
   ST. LAURENTIUSKORET – GLOBALT
   ===================================================== */

:root {
  --cream: #f5f1e9;
  --charcoal: #24231f;
  --burgundy: #642d38;
  --burgundy-dark: #52232d;
  --sage: #c9c9b8;
  --white: #fffdf8;

  --sans: "DM Sans", Arial, sans-serif;
  --serif: "Libre Caslon Display", Georgia, serif;
}


html,
body {
  margin: 0 !important;
  padding: 0 !important;

  background: var(--cream) !important;
  color: var(--charcoal);

  font-family: var(--sans);

  overflow-x: hidden !important;
}


body.site {
  margin: 0 !important;
  padding: 0 !important;
}


.site-grid {
  margin-top: 0 !important;
  padding-top: 0 !important;

  gap: 0 !important;
  row-gap: 0 !important;
}


main,
main.container-component,
.container-component,
.com-sppagebuilder,
#sp-page-builder,
#sp-page-builder .page-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}



/* =====================================================
   HEADER
   ===================================================== */

.container-header {
  position: absolute !important;

  top: 0 !important;
  left: 0;
  right: 0;

  z-index: 1000;

  display: grid !important;

  grid-template-columns:
    [full-start] minmax(24px, 1fr)
    [main-start] minmax(300px, 420px)
    repeat(3, minmax(0, 1fr))
    [main-end] minmax(24px, 1fr)
    [full-end];

  grid-template-areas:
    ". logo nav nav nav .";

  align-items: center;

  margin: 0 !important;
  padding: 18px 0 !important;

  background: transparent !important;
  background-image: none !important;

  box-shadow: none !important;
}


.container-header .grid-child:has(.navbar-brand) {
  grid-area: logo;

  width: auto;
  max-width: none;

  margin: 0;
  padding: 0;
}


.container-header .navbar-brand {
  display: flex !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;
}


.container-header .navbar-brand a,
.container-header .brand-logo {
  display: flex !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  text-decoration: none !important;
}


.container-header .brand-logo::before,
.container-header .brand-logo::after,
.container-header .navbar-brand::before,
.container-header .navbar-brand::after,
.container-header .navbar-brand a::before,
.container-header .navbar-brand a::after {
  content: none !important;
  display: none !important;
}


.container-header .navbar-brand img {
  display: block !important;

  width: 290px !important;
  max-width: 290px !important;

  height: auto !important;
  max-height: 58px !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: contain !important;

  border: 0 !important;
  outline: 0 !important;

  filter: none !important;
}



/* =====================================================
   HEADER – MENY
   ===================================================== */

.container-header .container-nav {
  grid-area: nav;

  display: flex !important;

  justify-content: flex-end !important;
  align-items: center !important;

  width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}


.container-header .mod-menu {
  display: flex !important;

  align-items: center !important;
  justify-content: flex-end !important;

  gap: 28px !important;

  margin: 0 !important;
  padding: 0 !important;
}


.container-header .mod-menu > li {
  margin: 0 !important;
  padding: 0 !important;
}


.container-header .mod-menu > li > a {
  padding: 7px 0 !important;

  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;

  color: var(--white) !important;

  text-decoration: none !important;

  border-bottom: 1px solid transparent !important;
}


.container-header .mod-menu > li.current > a,
.container-header .mod-menu > li.active > a {
  border-bottom-color: var(--white) !important;
}


/* =====================================================
   MOBILMENY – JOOMLA CASSIOPEIA (COLLAPSIBLE DROPDOWN)
   Panelet tas ut av dokumentflyten slik at logoen ikke
   flyttes når hamburgermenyen åpnes.
   ===================================================== */

@media (max-width: 767px) {
  .container-header .container-nav {
    position: relative !important;
  }

  .container-header .container-nav .navbar {
    position: static !important;
  }

  .container-header .container-nav .navbar-collapse {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 1100 !important;

    box-sizing: border-box !important;
    width: min(300px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    padding: 12px 20px !important;

    background: var(--cream) !important;
    border: 1px solid rgba(36, 35, 31, 0.16) !important;
    box-shadow: 0 16px 40px rgba(24, 18, 22, 0.22) !important;
  }

  .container-header .container-nav .navbar-collapse.show {
    display: block !important;
  }

  .container-header .container-nav .navbar-collapse .mod-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .container-header .container-nav .navbar-collapse .mod-menu > li {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(36, 35, 31, 0.12) !important;
  }

  .container-header .container-nav .navbar-collapse .mod-menu > li:last-child {
    border-bottom: 0 !important;
  }

  .container-header .container-nav .navbar-collapse .mod-menu > li > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 4px !important;

    color: var(--charcoal) !important;
    text-align: left !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  .container-header .container-nav .navbar-collapse .mod-menu > li.current > a,
  .container-header .container-nav .navbar-collapse .mod-menu > li.active > a {
    border-bottom-color: var(--charcoal) !important;
  }
}



/* =====================================================
   HERO
   ===================================================== */

#hero {
  min-height: 840px !important;

  position: relative !important;
  overflow: hidden !important;

  display: flex !important;
  align-items: flex-end !important;

  margin-top: 0 !important;
}


#hero::before {
  content: "";

  position: absolute;
  inset: 0;

  z-index: 0;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(22, 17, 17, 0.78) 0%,
      rgba(22, 17, 17, 0.48) 35%,
      rgba(22, 17, 17, 0.18) 68%,
      rgba(22, 17, 17, 0.03) 100%
    ),
    linear-gradient(
      0deg,
      rgba(22, 17, 17, 0.42) 0%,
      rgba(22, 17, 17, 0) 50%
    );
}


#hero .sppb-row-container,
#hero .sppb-row,
#hero .sppb-column,
#hero .sppb-column-addons {
  position: relative;
  z-index: 1;
}



/* =====================================================
   HERO – EYEBROW
   ===================================================== */

#hero .hero-eyebrow {
  margin-bottom: 10px !important;
}


#hero .hero-eyebrow,
#hero .hero-eyebrow *,
#hero .hero-eyebrow .sppb-addon-content,
#hero .hero-eyebrow .sppb-addon-content p {
  font-family: var(--sans) !important;
  color: var(--white) !important;
}


#hero .hero-eyebrow .sppb-addon-content,
#hero .hero-eyebrow .sppb-addon-content p {
  margin: 0 !important;

  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;

  letter-spacing: 0.16em !important;

  text-transform: uppercase !important;
}



/* =====================================================
   HERO – TITTEL
   ===================================================== */

#hero .hero-title {
  max-width: 680px !important;

  margin-top: 0 !important;
  margin-bottom: 28px !important;
}


#hero .hero-title,
#hero .hero-title *,
#hero .hero-title .sppb-addon-content,
#hero .hero-title .sppb-addon-content p {
  font-family: var(--serif) !important;
  color: var(--white) !important;
}


#hero .hero-title .sppb-addon-content,
#hero .hero-title .sppb-addon-content p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: clamp(72px, 7vw, 112px) !important;
  font-weight: 400 !important;

  line-height: 0.96 !important;

  letter-spacing: -0.045em !important;
}



/* =====================================================
   HERO – INGRESS
   ===================================================== */

#hero .hero-ingress {
  max-width: 620px !important;

  margin-top: 0 !important;
  margin-bottom: 38px !important;
}


#hero .hero-ingress,
#hero .hero-ingress * {
  font-family: var(--sans) !important;
  color: var(--white) !important;
}


#hero .hero-ingress .sppb-addon-content,
#hero .hero-ingress .sppb-addon-content p {
  margin: 0 !important;

  font-size: 22px !important;
  font-weight: 400 !important;

  line-height: 1.5 !important;
}



/* =====================================================
   HERO – KNAPPER
   ===================================================== */

#hero .hero-button-light,
#hero .hero-button-outline {
  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  text-align: left !important;
}


#hero .hero-button-light .sppb-addon-content,
#hero .hero-button-outline .sppb-addon-content,
#hero .hero-button-light .sppb-button-wrapper,
#hero .hero-button-outline .sppb-button-wrapper,
#hero .hero-button-light .sppb-btn-wrapper,
#hero .hero-button-outline .sppb-btn-wrapper,
#hero .hero-button-light .sppb-addon-button,
#hero .hero-button-outline .sppb-addon-button {
  display: block !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  text-align: left !important;
}


#hero .hero-button-light .sppb-btn,
#hero .hero-button-light a.sppb-btn,
#hero .hero-button-light > a,
#hero a.hero-button-light {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 245px !important;
  max-width: 245px !important;

  min-width: 245px !important;
  min-height: 58px !important;

  margin: 0 !important;
  padding: 0 22px !important;

  gap: 30px !important;

  background: var(--white) !important;

  color: var(--charcoal) !important;

  border: 1px solid var(--white) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  text-decoration: none !important;

  white-space: nowrap !important;
}


#hero .hero-button-light .sppb-btn::after,
#hero .hero-button-light a.sppb-btn::after,
#hero .hero-button-light > a::after,
#hero a.hero-button-light::after {
  content: "→" !important;

  font-size: 21px !important;
}


#hero .hero-button-outline .sppb-btn,
#hero .hero-button-outline a.sppb-btn,
#hero .hero-button-outline > a,
#hero a.hero-button-outline {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 220px !important;
  max-width: 220px !important;

  min-width: 220px !important;
  min-height: 58px !important;

  margin: 0 !important;
  padding: 0 22px !important;

  gap: 28px !important;

  background: transparent !important;

  color: var(--white) !important;

  border: 1px solid rgba(255, 253, 248, 0.9) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  text-decoration: none !important;

  white-space: nowrap !important;
}


#hero .hero-button-outline .sppb-btn::after,
#hero .hero-button-outline a.sppb-btn::after,
#hero .hero-button-outline > a::after,
#hero a.hero-button-outline::after {
  content: "→" !important;

  font-size: 21px !important;
}

/* Mobil: avstanden legges på Addon-wrapperen, ikke bare
   Button-addonen. Slik fungerer den også med SP Page Builder. */
@media (max-width: 767px) {
  #hero .sppb-addon-wrapper:has(.hero-button-outline),
  #hero .sppb-addon-wrapper.hero-button-outline {
    margin-top: 16px !important;
  }
}



/* =====================================================
   NESTE KONSERT
   ===================================================== */

#next-concert {
  position: relative !important;

  background: var(--cream) !important;

  padding-top: 110px !important;
  padding-bottom: 60px !important;
}


#next-concert .sppb-row-container {
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


#next-concert
> .sppb-row-container
> .sppb-row {
  align-items: flex-start !important;

  --bs-gutter-x: 72px;
}


#next-concert .concert-image {
  margin: 0 !important;
  padding: 0 !important;
}


#next-concert .concert-image img {
  display: block !important;

  width: 100% !important;
  height: 610px !important;

  margin: 0 !important;

  object-fit: cover !important;
}


#next-concert
> .sppb-row-container
> .sppb-row
> .sppb-column:first-child
.sppb-column-addons {
  position: relative !important;
}


#next-concert .concert-date {
  position: absolute !important;

  right: 24px !important;
  bottom: 30px !important;

  z-index: 5;

  width: 136px !important;
  height: 136px !important;

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  background: var(--burgundy) !important;

  color: var(--white) !important;

  text-align: center !important;
}


#next-concert .concert-date,
#next-concert .concert-date *,
#next-concert .concert-date .sppb-addon-content {
  font-family: var(--serif) !important;

  color: var(--white) !important;
}


#next-concert .concert-date .sppb-addon-content {
  width: 100% !important;

  text-align: center !important;
}


#next-concert .concert-date p:first-child {
  margin: 0 !important;

  font-size: 42px !important;
  font-weight: 400 !important;

  line-height: 0.95 !important;
}


#next-concert .concert-date p:last-child {
  margin: 8px 0 0 0 !important;

  font-size: 24px !important;
  font-weight: 400 !important;

  line-height: 1 !important;
}


#next-concert .concert-eyebrow {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}


#next-concert .concert-eyebrow,
#next-concert .concert-eyebrow * {
  font-family: var(--sans) !important;
}


#next-concert .concert-eyebrow .sppb-addon-content,
#next-concert .concert-eyebrow .sppb-addon-content p {
  margin: 0 !important;

  font-size: 11px !important;
  font-weight: 600 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  color: var(--charcoal) !important;
}


#next-concert .concert-title {
  max-width: 570px !important;

  margin: 0 !important;
  padding: 0 !important;
}


#next-concert .concert-title,
#next-concert .concert-title * {
  font-family: var(--serif) !important;

  color: var(--charcoal) !important;
}


#next-concert .concert-title .sppb-addon-content,
#next-concert .concert-title .sppb-addon-content p {
  margin: 0 !important;

  font-size: clamp(56px, 5vw, 82px) !important;
  font-weight: 400 !important;

  line-height: 0.94 !important;

  letter-spacing: -0.04em !important;
}


#next-concert .concert-intro {
  max-width: 570px !important;

  margin-top: 30px !important;
  margin-bottom: 0 !important;
}


#next-concert .concert-intro,
#next-concert .concert-intro * {
  font-family: var(--sans) !important;
}


#next-concert .concert-intro .sppb-addon-content,
#next-concert .concert-intro .sppb-addon-content p {
  margin: 0 !important;

  font-size: 20px !important;

  line-height: 1.55 !important;

  color: var(--charcoal) !important;
}


#next-concert .concert-divider {
  display: block !important;

  width: 100% !important;

  margin-top: 28px !important;
  margin-bottom: 22px !important;

  padding: 0 !important;
}


#next-concert .concert-divider hr,
#next-concert .concert-divider .sppb-divider {
  width: 100% !important;
  height: 1px !important;

  margin: 0 !important;

  border: 0 !important;
  border-top: 1px solid rgba(36, 35, 31, 0.16) !important;
}


#next-concert .concert-meta {
  margin: 0 !important;
  padding: 0 !important;
}


#next-concert .concert-meta,
#next-concert .concert-meta * {
  font-family: var(--sans) !important;

  color: var(--charcoal) !important;
}


#next-concert .concert-meta .sppb-addon-content p {
  margin: 0 !important;
}


#next-concert .concert-meta .sppb-addon-content p:first-child {
  margin-bottom: 10px !important;

  font-size: 10px !important;
  font-weight: 600 !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase !important;
}


#next-concert .concert-meta .sppb-addon-content p:last-child {
  font-size: 14px !important;
  line-height: 1.45 !important;
}


#next-concert .concert-button-primary {
  margin: 0 !important;
  padding: 0 !important;

  text-align: left !important;
}


#next-concert a.concert-button-primary,
#next-concert .concert-button-primary.sppb-btn,
#next-concert .concert-button-primary .sppb-btn,
#next-concert .concert-button-primary > a {
  min-width: 170px !important;
  min-height: 54px !important;

  margin: 0 !important;
  padding: 0 20px !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  gap: 32px !important;

  background: var(--burgundy) !important;
  color: var(--white) !important;

  border: 1px solid var(--burgundy) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;

  text-decoration: none !important;
}


#next-concert .concert-button-primary .sppb-btn::after,
#next-concert a.concert-button-primary::after {
  content: "→";

  font-size: 20px;
}



/* =====================================================
   OM OSS
   ===================================================== */

#about-home {
  position: relative !important;

  background: var(--cream) !important;

  padding-top: 75px !important;
  padding-bottom: 60px !important;

  overflow: visible !important;
}


#about-home .sppb-row-container {
  width: 100% !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


#about-home .about-content-row {
  align-items: flex-start !important;

  margin: 0 !important;
  padding: 0 !important;
}


#about-home
.about-content-row
> .sppb-column:nth-child(2)
> .sppb-column-addons {
  display: flex !important;

  flex-direction: column !important;
  align-items: flex-start !important;

  width: 100% !important;
}


#about-home .about-eyebrow {
  margin: 0 !important;

  padding-top: 13px !important;

  text-align: left !important;
}


#about-home .about-eyebrow,
#about-home .about-eyebrow * {
  font-family: var(--sans) !important;

  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  color: var(--charcoal) !important;
}


#about-home .about-title {
  width: 100% !important;
  max-width: 900px !important;

  margin: 0 !important;
  padding: 0 !important;
}


#about-home .about-title,
#about-home .about-title * {
  font-family: var(--serif) !important;

  color: var(--charcoal) !important;
}


#about-home .about-title p,
#about-home .about-title .sppb-addon-content,
#about-home .about-title .sppb-addon-content p {
  margin: 0 !important;

  font-size: clamp(54px, 4.6vw, 76px) !important;
  font-weight: 400 !important;

  line-height: 0.98 !important;

  letter-spacing: -0.04em !important;
}


#about-home .about-intro {
  width: 100% !important;
  max-width: 760px !important;

  margin-top: 28px !important;
  margin-bottom: 28px !important;
}


#about-home .about-intro,
#about-home .about-intro * {
  font-family: var(--sans) !important;

  color: var(--charcoal) !important;
}


#about-home .about-intro p,
#about-home .about-intro .sppb-addon-content,
#about-home .about-intro .sppb-addon-content p {
  margin: 0 !important;

  font-size: 19px !important;

  line-height: 1.55 !important;
}


#about-home .about-link {
  display: block !important;

  width: auto !important;
  max-width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  text-align: left !important;
}


#about-home .about-link .sppb-btn,
#about-home .about-link a.sppb-btn,
#about-home .about-link > a,
#about-home .about-link a {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 175px !important;
  max-width: 175px !important;
  min-width: 175px !important;

  margin: 0 !important;

  padding: 0 0 10px 0 !important;

  gap: 35px !important;

  background: transparent !important;

  color: var(--charcoal) !important;

  border: 0 !important;
  border-bottom: 1px solid var(--charcoal) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  line-height: 1.2 !important;

  text-decoration: none !important;

  white-space: nowrap !important;
}


#about-home .about-link .sppb-btn::after,
#about-home .about-link a.sppb-btn::after,
#about-home .about-link > a::after {
  content: "→" !important;

  font-size: 19px !important;
}


#about-home .about-link i,
#about-home .about-link [class*="icon"] {
  display: none !important;
}


#about-home .about-image-row {
  position: relative !important;

  width: 100% !important;

  margin-top: 48px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

  padding: 0 !important;
}


#about-home .about-image-row > .sppb-column,
#about-home .about-image-row .sppb-column {
  position: relative !important;

  width: 100% !important;
  max-width: 100% !important;

  flex: 0 0 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


#about-home .about-image,
#about-home .about-image .sppb-addon-content,
#about-home .about-image .sppb-addon-single-image-container,
#about-home .about-image .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


#about-home .about-image img,
#about-home img.about-image {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: auto !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center !important;

  border: 0 !important;
  border-radius: 0 !important;
}


#about-home .about-image-caption {
  position: absolute !important;

  right: 36px !important;
  bottom: 32px !important;

  z-index: 10 !important;

  max-width: 760px !important;

  margin: 0 !important;

  text-align: right !important;
}


#about-home .about-image-caption,
#about-home .about-image-caption * {
  font-family: var(--serif) !important;

  color: var(--white) !important;
}


#about-home .about-image-caption p,
#about-home .about-image-caption .sppb-addon-content,
#about-home .about-image-caption .sppb-addon-content p {
  margin: 0 !important;

  font-size: clamp(30px, 2.4vw, 43px) !important;
  font-weight: 400 !important;

  line-height: 1.04 !important;

  letter-spacing: -0.025em !important;

  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6) !important;
}



/* =====================================================
   DIRIGENT
   ===================================================== */

#conductor-home {
  position: relative !important;

  background: var(--cream) !important;

  padding-top: 75px !important;
  padding-bottom: 60px !important;
}


#conductor-home .sppb-row-container {
  width: 100% !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


#conductor-home .conductor-row {
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  --bs-gutter-x: 90px;
}


#conductor-home .conductor-image,
#conductor-home .conductor-image .sppb-addon-content,
#conductor-home .conductor-image .sppb-addon-single-image-container,
#conductor-home .conductor-image .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


#conductor-home .conductor-image img,
#conductor-home img.conductor-image {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: 610px !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  border-radius: 0 !important;
}



/* =====================================================
   DIRIGENT – BADGE
   ===================================================== */

#conductor-home .conductor-badge {
  position: relative !important;

  z-index: 5 !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  max-width: max-content !important;

  min-height: 36px !important;

  margin-top: -36px !important;
  margin-left: 16px !important;
  margin-bottom: 0 !important;

  padding: 0 18px !important;

  background: var(--white) !important;

  color: var(--charcoal) !important;

  box-sizing: border-box !important;
}


#conductor-home .conductor-badge,
#conductor-home .conductor-badge *,
#conductor-home .conductor-badge .sppb-addon-content,
#conductor-home .conductor-badge .sppb-addon-content p {
  font-family: var(--sans) !important;

  color: var(--charcoal) !important;
}


#conductor-home .conductor-badge .sppb-addon-content,
#conductor-home .conductor-badge .sppb-addon-content p,
#conductor-home .conductor-badge p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 10px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  letter-spacing: 0.15em !important;

  text-transform: uppercase !important;
}



/* =====================================================
   DIRIGENT – INNHOLD
   ===================================================== */

#conductor-home .conductor-content {
  display: flex !important;

  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  width: 100% !important;
}


#conductor-home .conductor-eyebrow {
  margin: 0 0 24px 0 !important;
}


#conductor-home .conductor-eyebrow,
#conductor-home .conductor-eyebrow * {
  font-family: var(--sans) !important;

  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  color: var(--charcoal) !important;
}


#conductor-home .conductor-firstname,
#conductor-home .conductor-lastname {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


#conductor-home .conductor-firstname,
#conductor-home .conductor-firstname *,
#conductor-home .conductor-lastname,
#conductor-home .conductor-lastname * {
  font-family: var(--serif) !important;
}


#conductor-home .conductor-firstname p,
#conductor-home .conductor-firstname .sppb-addon-content,
#conductor-home .conductor-lastname p,
#conductor-home .conductor-lastname .sppb-addon-content {
  margin: 0 !important;

  font-size: clamp(58px, 5vw, 76px) !important;
  font-weight: 400 !important;

  line-height: 0.95 !important;

  letter-spacing: -0.035em !important;
}


#conductor-home .conductor-lastname {
  margin-bottom: 34px !important;
}


#conductor-home .conductor-lastname,
#conductor-home .conductor-lastname * {
  color: var(--burgundy) !important;

  font-style: italic !important;
}


#conductor-home .conductor-intro {
  width: 100% !important;
  max-width: 560px !important;

  margin: 0 0 42px 0 !important;
}


#conductor-home .conductor-intro,
#conductor-home .conductor-intro * {
  font-family: var(--sans) !important;

  color: var(--charcoal) !important;
}


#conductor-home .conductor-intro p,
#conductor-home .conductor-intro .sppb-addon-content {
  margin: 0 !important;

  font-size: 19px !important;

  line-height: 1.65 !important;
}



/* =====================================================
   DIRIGENT – LES MER
   ===================================================== */

#conductor-home .conductor-link {
  display: block !important;

  width: auto !important;
  max-width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  text-align: left !important;
}


#conductor-home .conductor-link .sppb-addon-content,
#conductor-home .conductor-link .sppb-button-wrapper,
#conductor-home .conductor-link .sppb-btn-wrapper,
#conductor-home .conductor-link .sppb-addon-button {
  display: block !important;

  width: auto !important;
  max-width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  text-align: left !important;
}


#conductor-home .conductor-link .sppb-btn,
#conductor-home .conductor-link a.sppb-btn,
#conductor-home .conductor-link .sppb-btn-default,
#conductor-home .conductor-link .sppb-btn-primary,
#conductor-home .conductor-link > a,
#conductor-home .conductor-link a {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 165px !important;
  max-width: 165px !important;
  min-width: 165px !important;

  margin: 0 !important;

  padding: 0 0 10px 0 !important;

  gap: 28px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  color: var(--charcoal) !important;

  border: 0 !important;
  border-bottom: 1px solid var(--charcoal) !important;

  border-radius: 0 !important;

  box-shadow: none !important;
  text-shadow: none !important;

  font-family: var(--sans) !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  line-height: 1.2 !important;

  text-align: left !important;
  text-decoration: none !important;

  white-space: nowrap !important;
}


#conductor-home .conductor-link .sppb-btn::after,
#conductor-home .conductor-link a.sppb-btn::after,
#conductor-home .conductor-link .sppb-btn-default::after,
#conductor-home .conductor-link .sppb-btn-primary::after,
#conductor-home .conductor-link > a::after {
  content: "→" !important;

  display: inline-block !important;

  margin-left: auto !important;

  font-family: Arial, sans-serif !important;
  font-size: 19px !important;

  color: currentColor !important;
}


#conductor-home .conductor-link i,
#conductor-home .conductor-link svg,
#conductor-home .conductor-link [class*="icon"] {
  display: none !important;
}



/* =====================================================
   BLI MED OSS
   ===================================================== */

#join-home {
  position: relative !important;

  background: var(--cream) !important;

  padding-top: 75px !important;
  padding-bottom: 60px !important;
}


#join-home .sppb-row-container {
  width: 100% !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}


#join-home.join-row > .sppb-row-container > .sppb-row,
#join-home .join-row {
  align-items: stretch !important;

  min-height: 700px !important;

  margin: 0 !important;

  --bs-gutter-x: 0 !important;

  overflow: hidden !important;
}


#join-home .join-content {
  position: relative !important;

  width: 100% !important;
  min-height: 700px !important;

  margin: 0 !important;

  padding: 78px 82px 72px 82px !important;

  background: var(--burgundy) !important;

  color: var(--white) !important;

  box-sizing: border-box !important;
}


#join-home .join-eyebrow {
  margin: 0 0 25px 0 !important;
}


#join-home .join-eyebrow,
#join-home .join-eyebrow * {
  font-family: var(--sans) !important;

  color: var(--white) !important;

  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;
}


#join-home .join-title {
  width: 100% !important;
  max-width: 480px !important;

  margin: 0 0 30px 0 !important;
}


#join-home .join-title,
#join-home .join-title * {
  font-family: var(--serif) !important;

  color: var(--white) !important;
}


#join-home .join-title p,
#join-home .join-title .sppb-addon-content,
#join-home .join-title .sppb-addon-content p {
  margin: 0 !important;

  font-size: clamp(54px, 4.4vw, 72px) !important;
  font-weight: 400 !important;

  line-height: 0.98 !important;

  letter-spacing: -0.04em !important;
}


#join-home .join-intro {
  width: 100% !important;
  max-width: 500px !important;

  margin: 0 0 38px 0 !important;
}


#join-home .join-intro,
#join-home .join-intro * {
  font-family: var(--sans) !important;

  color: var(--white) !important;
}


#join-home .join-intro p,
#join-home .join-intro .sppb-addon-content {
  margin: 0 !important;

  font-size: 18px !important;

  line-height: 1.65 !important;
}


#join-home .join-divider {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


#join-home .join-divider hr,
#join-home .join-divider .sppb-divider {
  width: 100% !important;
  height: 1px !important;

  margin: 0 !important;

  border: 0 !important;
  border-top: 1px solid rgba(255, 253, 248, 0.34) !important;
}


#join-home .join-meta-row {
  width: 100% !important;

  margin: 0 !important;

  padding-top: 30px !important;
  padding-bottom: 30px !important;

  --bs-gutter-x: 30px !important;
}


#join-home .join-meta,
#join-home .join-meta * {
  font-family: var(--sans) !important;

  color: var(--white) !important;
}


#join-home .join-meta .sppb-addon-content p {
  margin: 0 !important;
}


#join-home .join-meta .sppb-addon-content p:first-child {
  margin-bottom: 12px !important;

  font-size: 10px !important;
  font-weight: 600 !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase !important;

  color: rgba(255, 253, 248, 0.72) !important;
}


#join-home .join-meta .sppb-addon-content p:last-child {
  font-size: 13px !important;
  font-weight: 500 !important;

  line-height: 1.55 !important;

  color: var(--white) !important;
}



/* =====================================================
   BLI MED OSS – KNAPP
   ===================================================== */

#join-home .join-button {
  display: block !important;

  width: auto !important;
  max-width: max-content !important;

  margin-top: 38px !important;

  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  text-align: left !important;
}


#join-home .join-button .sppb-addon-content,
#join-home .join-button .sppb-button-wrapper,
#join-home .join-button .sppb-btn-wrapper,
#join-home .join-button .sppb-addon-button {
  display: block !important;

  width: auto !important;
  max-width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  text-align: left !important;
}


#join-home .join-button .sppb-btn,
#join-home .join-button a.sppb-btn,
#join-home .join-button .sppb-btn-default,
#join-home .join-button .sppb-btn-primary,
#join-home .join-button a {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 190px !important;
  max-width: 190px !important;

  min-width: 190px !important;
  min-height: 56px !important;

  margin: 0 !important;

  padding: 0 20px !important;

  gap: 28px !important;

  background: var(--white) !important;
  background-color: var(--white) !important;

  color: var(--charcoal) !important;

  border: 1px solid var(--white) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  text-decoration: none !important;

  white-space: nowrap !important;
}


#join-home .join-button .sppb-btn::after,
#join-home .join-button a.sppb-btn::after,
#join-home .join-button .sppb-btn-default::after,
#join-home .join-button .sppb-btn-primary::after,
#join-home .join-button > a::after {
  content: "→" !important;

  margin-left: auto !important;

  font-size: 20px !important;
}



/* =====================================================
   BLI MED OSS – BILDE
   ===================================================== */

#join-home .join-image-column {
  position: relative !important;

  width: 100% !important;
  min-height: 700px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}


#join-home .join-image,
#join-home .join-image .sppb-addon-content,
#join-home .join-image .sppb-addon-single-image-container,
#join-home .join-image .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 700px !important;

  margin: 0 !important;
  padding: 0 !important;
}


#join-home .join-image img,
#join-home img.join-image {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 700px !important;

  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  border: 0 !important;
  border-radius: 0 !important;
}



/* =====================================================
   SITAT / ROMERIKES BLAD
   ===================================================== */

#quote-home {
  position: relative !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding-top: 115px !important;
  padding-bottom: 115px !important;

  background: var(--sage) !important;

  overflow: hidden !important;
}


#quote-home .sppb-row-container {
  width: 100% !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 30px !important;
  padding-right: 30px !important;

  background: transparent !important;

  box-sizing: border-box !important;
}


#quote-home .sppb-row {
  width: 100% !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  background: transparent !important;
}


#quote-home .sppb-column,
#quote-home .sppb-column-addons {
  width: 100% !important;

  background: transparent !important;
}


#quote-home .sppb-column-addons {
  display: flex !important;

  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
}



/* =====================================================
   SITAT – ANFØRSELSTEGN
   ===================================================== */

#quote-home .quote-mark {
  width: 100% !important;

  margin: 0 0 22px 0 !important;
  padding: 0 !important;

  text-align: center !important;
}


#quote-home .quote-mark,
#quote-home .quote-mark *,
#quote-home .quote-mark .sppb-addon-content,
#quote-home .quote-mark .sppb-addon-content p {
  font-family: var(--serif) !important;

  color: var(--burgundy) !important;
}


#quote-home .quote-mark p,
#quote-home .quote-mark .sppb-addon-content,
#quote-home .quote-mark .sppb-addon-content p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 46px !important;
  font-weight: 400 !important;

  line-height: 0.7 !important;

  text-align: center !important;
}



/* =====================================================
   SITAT – TEKST
   ===================================================== */

#quote-home .quote-text {
  width: 100% !important;
  max-width: 1050px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  text-align: center !important;
}


#quote-home .quote-text,
#quote-home .quote-text *,
#quote-home .quote-text .sppb-addon-content,
#quote-home .quote-text .sppb-addon-content p {
  font-family: var(--serif) !important;

  color: var(--charcoal) !important;
}


#quote-home .quote-text p,
#quote-home .quote-text .sppb-addon-content,
#quote-home .quote-text .sppb-addon-content p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: clamp(48px, 4.2vw, 66px) !important;
  font-weight: 400 !important;

  line-height: 1.08 !important;

  letter-spacing: -0.03em !important;

  text-align: center !important;
}



/* =====================================================
   SITAT – KILDE
   ===================================================== */

#quote-home .quote-source {
  width: 100% !important;

  margin: 24px 0 0 0 !important;
  padding: 0 !important;

  text-align: center !important;
}


#quote-home .quote-source,
#quote-home .quote-source *,
#quote-home .quote-source .sppb-addon-content,
#quote-home .quote-source .sppb-addon-content p {
  font-family: var(--sans) !important;

  color: var(--charcoal) !important;
}


#quote-home .quote-source p,
#quote-home .quote-source .sppb-addon-content,
#quote-home .quote-source .sppb-addon-content p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  text-align: center !important;
}

/* =====================================================
   ØYEBLIKK / FRA SCENEN
   ===================================================== */

#gallery-home {
  position: relative !important;
  width: 100% !important;

  margin: 0 !important;

  padding-top: 105px !important;
  padding-bottom: 105px !important;

  background: var(--cream) !important;

  overflow: visible !important;
}


#gallery-home .sppb-row-container {
  width: 100% !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-right: 0 !important;

  box-sizing: border-box !important;
}



/* =====================================================
   HEADER
   ===================================================== */

#gallery-home .gallery-header-row {
  position: relative !important;

  width: 100% !important;

  margin: 0 0 54px 0 !important;
  padding: 0 !important;

  align-items: flex-end !important;
}


#gallery-home .gallery-header-row > .sppb-column {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}



/* =====================================================
   ØYEBLIKK
   ===================================================== */

#gallery-home .gallery-eyebrow {
  width: 100% !important;

  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}


#gallery-home .gallery-eyebrow,
#gallery-home .gallery-eyebrow *,
#gallery-home .gallery-eyebrow .sppb-addon-content,
#gallery-home .gallery-eyebrow .sppb-addon-content p {
  font-family: var(--sans) !important;
  color: var(--charcoal) !important;
}


#gallery-home .gallery-eyebrow p,
#gallery-home .gallery-eyebrow .sppb-addon-content,
#gallery-home .gallery-eyebrow .sppb-addon-content p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;
}



/* =====================================================
   FRA SCENEN
   ===================================================== */

#gallery-home .gallery-title {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


#gallery-home .gallery-title,
#gallery-home .gallery-title *,
#gallery-home .gallery-title .sppb-addon-content,
#gallery-home .gallery-title .sppb-addon-content p {
  font-family: var(--serif) !important;
  color: var(--charcoal) !important;
}


#gallery-home .gallery-title p,
#gallery-home .gallery-title .sppb-addon-content,
#gallery-home .gallery-title .sppb-addon-content p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: clamp(58px, 5vw, 78px) !important;
  font-weight: 400 !important;

  line-height: 0.98 !important;

  letter-spacing: -0.04em !important;
}



/* =====================================================
   SE FLERE BILDER
   ===================================================== */

#gallery-home .gallery-header-row > .sppb-column:last-child {
  display: flex !important;

  align-items: flex-end !important;
  justify-content: flex-end !important;
}


#gallery-home
.gallery-header-row
> .sppb-column:last-child
> .sppb-column-addons {
  display: flex !important;

  align-items: flex-end !important;
  justify-content: flex-end !important;

  width: 100% !important;
  height: 100% !important;
}


#gallery-home .gallery-link {
  display: block !important;

  width: auto !important;
  max-width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  text-align: right !important;
}


/*
   Viktig:
   SP Page Builder legger ofte farge på indre span/icon-elementer.
   Derfor overstyrer vi ALT inni gallery-link.
*/

#gallery-home .gallery-link,
#gallery-home .gallery-link *,
#gallery-home .gallery-link span,
#gallery-home .gallery-link i {
  color: var(--charcoal) !important;
}


#gallery-home .gallery-link .sppb-addon-content,
#gallery-home .gallery-link .sppb-button-wrapper,
#gallery-home .gallery-link .sppb-btn-wrapper,
#gallery-home .gallery-link .sppb-addon-button {
  display: block !important;

  width: auto !important;
  max-width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;

  box-shadow: none !important;

  text-align: right !important;
}


#gallery-home .gallery-link a,
#gallery-home .gallery-link > a,
#gallery-home .gallery-link .sppb-btn,
#gallery-home .gallery-link a.sppb-btn,
#gallery-home .gallery-link .sppb-btn-default,
#gallery-home .gallery-link .sppb-btn-primary,
#gallery-home .gallery-link .sppb-btn-custom {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 165px !important;
  min-width: 165px !important;
  max-width: 165px !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;

  padding: 0 0 10px 0 !important;

  gap: 28px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  color: var(--charcoal) !important;

  border: 0 !important;
  border-bottom: 1px solid var(--charcoal) !important;

  border-radius: 0 !important;

  box-shadow: none !important;
  text-shadow: none !important;

  font-family: var(--sans) !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  line-height: 1.2 !important;

  text-align: left !important;
  text-decoration: none !important;

  white-space: nowrap !important;
}


#gallery-home .gallery-link a:hover,
#gallery-home .gallery-link > a:hover,
#gallery-home .gallery-link .sppb-btn:hover,
#gallery-home .gallery-link a.sppb-btn:hover,
#gallery-home .gallery-link .sppb-btn-default:hover,
#gallery-home .gallery-link .sppb-btn-primary:hover,
#gallery-home .gallery-link .sppb-btn-custom:hover {
  background: transparent !important;
  background-color: transparent !important;

  color: var(--charcoal) !important;

  border-bottom-color: var(--charcoal) !important;
}


#gallery-home .gallery-link a::after,
#gallery-home .gallery-link > a::after,
#gallery-home .gallery-link .sppb-btn::after,
#gallery-home .gallery-link a.sppb-btn::after,
#gallery-home .gallery-link .sppb-btn-default::after,
#gallery-home .gallery-link .sppb-btn-primary::after,
#gallery-home .gallery-link .sppb-btn-custom::after {
  content: "→" !important;

  display: inline-block !important;

  margin-left: auto !important;

  font-family: Arial, sans-serif !important;

  font-size: 19px !important;
  font-weight: 400 !important;

  line-height: 1 !important;

  color: var(--charcoal) !important;
}


/* Skjul eventuelt ikon som kommer fra SP Page Builder */

#gallery-home .gallery-link i,
#gallery-home .gallery-link svg,
#gallery-home .gallery-link [class*="icon"] {
  display: none !important;
}



/* =====================================================
   GALLERI – HOVEDROW
   ===================================================== */

#gallery-home .gallery-grid {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: stretch !important;

  --bs-gutter-x: 24px !important;
}


#gallery-home .gallery-grid > .sppb-column {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}



/* =====================================================
   GENERELLE BILDER
   ===================================================== */

#gallery-home .gallery-image,
#gallery-home .gallery-image .sppb-addon-content,
#gallery-home .gallery-image .sppb-addon-single-image-container,
#gallery-home .gallery-image .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}


#gallery-home .gallery-image img {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover !important;

  border: 0 !important;
  border-radius: 0 !important;
}



/* =====================================================
   VENSTRE STORT BILDE
   ===================================================== */

#gallery-home .gallery-image-tall,
#gallery-home .gallery-image-tall .sppb-addon-content,
#gallery-home .gallery-image-tall .sppb-addon-single-image-container,
#gallery-home .gallery-image-tall .sppb-addon-single-image {
  height: 800px !important;
}


#gallery-home .gallery-image-tall img {
  width: 100% !important;
  height: 800px !important;

  object-fit: cover !important;
  object-position: center center !important;
}



/* =====================================================
   HØYRE KOLONNE
   ===================================================== */

#gallery-home .gallery-right {
  margin: 0 !important;
  padding: 0 !important;
}


#gallery-home .gallery-right > .sppb-column-addons {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}



/* =====================================================
   BREDT BILDE ØVERST
   ===================================================== */

#gallery-home .gallery-image-wide,
#gallery-home .gallery-image-wide .sppb-addon-content,
#gallery-home .gallery-image-wide .sppb-addon-single-image-container,
#gallery-home .gallery-image-wide .sppb-addon-single-image {
  width: 100% !important;
  height: 320px !important;
}


#gallery-home .gallery-image-wide img {
  display: block !important;

  width: 100% !important;
  height: 320px !important;

  object-fit: cover !important;
  object-position: center center !important;
}



/* =====================================================
   NEDERSTE ROW
   ===================================================== */

#gallery-home .gallery-bottom-row {
  width: 100% !important;

  margin-top: 24px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

  padding: 0 !important;

  align-items: stretch !important;

  --bs-gutter-x: 24px !important;
}


#gallery-home .gallery-bottom-row > .sppb-column {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}



/* =====================================================
   NEDERSTE VENSTRE BILDE
   ===================================================== */

#gallery-home .gallery-image-small-left,
#gallery-home .gallery-image-small-left .sppb-addon-content,
#gallery-home .gallery-image-small-left .sppb-addon-single-image-container,
#gallery-home .gallery-image-small-left .sppb-addon-single-image {
  width: 100% !important;
  height: 456px !important;
}


#gallery-home .gallery-image-small-left img {
  width: 100% !important;
  height: 456px !important;

  object-fit: cover !important;
  object-position: center center !important;
}



/* =====================================================
   NEDERSTE HØYRE BILDE
   ===================================================== */

#gallery-home .gallery-image-small-right,
#gallery-home .gallery-image-small-right .sppb-addon-content,
#gallery-home .gallery-image-small-right .sppb-addon-single-image-container,
#gallery-home .gallery-image-small-right .sppb-addon-single-image {
  width: 100% !important;
  height: 456px !important;
}


#gallery-home .gallery-image-small-right img {
  width: 100% !important;
  height: 456px !important;

  object-fit: cover !important;
  object-position: center center !important;
}



/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 991px) {

  #gallery-home {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }


  #gallery-home .sppb-row-container {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }


  #gallery-home .gallery-image-tall,
  #gallery-home .gallery-image-tall .sppb-addon-content,
  #gallery-home .gallery-image-tall .sppb-addon-single-image-container,
  #gallery-home .gallery-image-tall .sppb-addon-single-image,
  #gallery-home .gallery-image-tall img {
    height: 650px !important;
  }


  #gallery-home .gallery-image-wide,
  #gallery-home .gallery-image-wide .sppb-addon-content,
  #gallery-home .gallery-image-wide .sppb-addon-single-image-container,
  #gallery-home .gallery-image-wide .sppb-addon-single-image,
  #gallery-home .gallery-image-wide img {
    height: 260px !important;
  }


  #gallery-home .gallery-image-small-left,
  #gallery-home .gallery-image-small-right,
  #gallery-home .gallery-image-small-left .sppb-addon-content,
  #gallery-home .gallery-image-small-right .sppb-addon-content,
  #gallery-home .gallery-image-small-left .sppb-addon-single-image-container,
  #gallery-home .gallery-image-small-right .sppb-addon-single-image-container,
  #gallery-home .gallery-image-small-left .sppb-addon-single-image,
  #gallery-home .gallery-image-small-right .sppb-addon-single-image,
  #gallery-home .gallery-image-small-left img,
  #gallery-home .gallery-image-small-right img {
    height: 366px !important;
  }
}



/* =====================================================
   MOBIL
   ===================================================== */

@media (max-width: 767px) {

  #gallery-home {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }


  #gallery-home .sppb-row-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }


  #gallery-home .gallery-header-row {
    display: block !important;

    margin-bottom: 38px !important;
  }


  #gallery-home .gallery-header-row > .sppb-column {
    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 100% !important;
  }


  #gallery-home .gallery-header-row > .sppb-column:last-child,
  #gallery-home
  .gallery-header-row
  > .sppb-column:last-child
  > .sppb-column-addons {
    display: flex !important;

    justify-content: flex-start !important;
    align-items: flex-start !important;
  }


  #gallery-home .gallery-header-row > .sppb-column:last-child {
    margin-top: 28px !important;
  }


  #gallery-home .gallery-title p,
  #gallery-home .gallery-title .sppb-addon-content,
  #gallery-home .gallery-title .sppb-addon-content p {
    font-size: clamp(48px, 13vw, 66px) !important;
  }


  #gallery-home .gallery-grid {
    display: block !important;
  }


  #gallery-home .gallery-grid > .sppb-column {
    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 100% !important;
  }


  #gallery-home .gallery-image-tall,
  #gallery-home .gallery-image-tall .sppb-addon-content,
  #gallery-home .gallery-image-tall .sppb-addon-single-image-container,
  #gallery-home .gallery-image-tall .sppb-addon-single-image,
  #gallery-home .gallery-image-tall img {
    height: 560px !important;
  }


  #gallery-home .gallery-right {
    margin-top: 20px !important;
  }


  #gallery-home .gallery-image-wide,
  #gallery-home .gallery-image-wide .sppb-addon-content,
  #gallery-home .gallery-image-wide .sppb-addon-single-image-container,
  #gallery-home .gallery-image-wide .sppb-addon-single-image,
  #gallery-home .gallery-image-wide img {
    height: 310px !important;
  }


  #gallery-home .gallery-bottom-row {
    margin-top: 20px !important;

    --bs-gutter-x: 20px !important;
  }


  #gallery-home .gallery-image-small-left,
  #gallery-home .gallery-image-small-right,
  #gallery-home .gallery-image-small-left .sppb-addon-content,
  #gallery-home .gallery-image-small-right .sppb-addon-content,
  #gallery-home .gallery-image-small-left .sppb-addon-single-image-container,
  #gallery-home .gallery-image-small-right .sppb-addon-single-image-container,
  #gallery-home .gallery-image-small-left .sppb-addon-single-image,
  #gallery-home .gallery-image-small-right .sppb-addon-single-image,
  #gallery-home .gallery-image-small-left img,
  #gallery-home .gallery-image-small-right img {
    height: 340px !important;
  }
}

/* ==============================================
   FELLES KNAPPESYSTEM – ST. LAURENTIUSKORET
   ============================================== */

/* FARGER FOR STORE KNAPPER */

#hero .hero-button-light {
  --btn-bg: var(--white);
  --btn-text: var(--charcoal);
  --btn-border: var(--white);
}

#hero .hero-button-outline {
  --btn-bg: transparent;
  --btn-text: var(--white);
  --btn-border: var(--white);
}

#next-concert .concert-button-primary {
  --btn-bg: var(--burgundy);
  --btn-text: var(--white);
  --btn-border: var(--burgundy);
}

#next-concert .concert-button-secondary {
  --btn-bg: transparent;
  --btn-text: var(--charcoal);
  --btn-border: var(--charcoal);
}

#join-home .join-button {
  --btn-bg: var(--white);
  --btn-text: var(--charcoal);
  --btn-border: var(--white);
}


/* FELLES STIL – STORE KNAPPER */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button),
:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
):is(a, button, .sppb-btn) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  width: max-content !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: 60px !important;
  min-height: 60px !important;

  margin: 0 !important;
  padding: 0 24px !important;
  gap: 44px !important;

  background: var(--btn-bg) !important;
  background-image: none !important;
  color: var(--btn-text) !important;

  border: 1px solid var(--btn-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;

  text-align: left !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}


/* FELLES PIL – STORE KNAPPER */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button)::after,
:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
):is(a, button, .sppb-btn)::after {
  content: "→" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;

  margin-left: auto !important;

  color: inherit !important;
  font-family: Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}


/* ==============================================
   FELLES STIL – TEKSTLENKER
   ============================================== */

:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button),
:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
):is(a, button, .sppb-btn) {
  box-sizing: border-box !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  width: max-content !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 0 11px !important;
  gap: 30px !important;

  background: transparent !important;
  background-image: none !important;
  color: var(--charcoal) !important;

  border: 0 !important;
  border-bottom: 1px solid var(--charcoal) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;

  text-align: left !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}


/* FELLES PIL – TEKSTLENKER */

:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button)::after,
:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
):is(a, button, .sppb-btn)::after {
  content: "→" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;

  margin-left: auto !important;

  color: inherit !important;
  font-family: Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}


/* SKJUL EKSTRA IKONER FRA PAGE BUILDER */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button,
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(i, svg, [class*="icon"]) {
  display: none !important;
}

/* =====================================================
   BAK KULISSENE – SOSIALE MEDIER
   ===================================================== */

#social-home {
  position: relative !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 60px 0 0 !important;

  background: var(--cream) !important;

  box-sizing: border-box !important;
}


/* CONTAINER OG ØVERSTE LINJE */

#social-home .sppb-row-container {
  width: 100% !important;
  max-width: 1394px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 145px 34px 180px !important;

  border-top: 1px solid #d9d2c6 !important;

  box-sizing: border-box !important;
}


/* ROW – 8+4 */

#social-home .social-row {
  display: flex !important;

  align-items: center !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  --bs-gutter-x: 0px !important;
}

#social-home .social-row > .sppb-column {
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* =====================================================
   BAK KULISSENE – EYEBROW
   ===================================================== */

#social-home .social-eyebrow {
  margin: 0 0 24px !important;
  padding: 0 !important;
}

#social-home .social-eyebrow,
#social-home .social-eyebrow * {
  font-family: var(--sans) !important;
  color: var(--charcoal) !important;
}

#social-home .social-eyebrow p,
#social-home .social-eyebrow .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}


/* =====================================================
   FØLG KORHVERDAGEN – TITTEL
   ===================================================== */

#social-home .social-title {
  margin: 0 !important;
  padding: 0 !important;
}

#social-home .social-title,
#social-home .social-title * {
  font-family: var(--serif) !important;
  color: var(--charcoal) !important;
}

#social-home .social-title p,
#social-home .social-title h2,
#social-home .social-title .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  font-size: clamp(48px, 4.2vw, 66px) !important;
  font-weight: 400 !important;

  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}


/* =====================================================
   SOSIALE MEDIER – KNAPPEKOLONNE
   ===================================================== */

#social-home .social-links {
  display: flex !important;

  align-items: center !important;
  justify-content: flex-end !important;

  margin: 0 !important;
  padding: 0 !important;
}

#social-home .social-links > .sppb-column-addons {
  display: flex !important;

  flex-direction: row !important;

  align-items: center !important;
  justify-content: flex-end !important;

  flex-wrap: wrap !important;

  width: 100% !important;

  gap: 18px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#social-home .social-links > .sppb-column-addons > * {
  flex: 0 0 auto !important;

  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* FJERN EKSTRA SPACING FRA BUTTON ADDONS */

#social-home .social-facebook,
#social-home .social-instagram {
  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}

#social-home .social-facebook .sppb-addon-content,
#social-home .social-instagram .sppb-addon-content,
#social-home .social-facebook .sppb-button-wrapper,
#social-home .social-instagram .sppb-button-wrapper,
#social-home .social-facebook .sppb-btn-wrapper,
#social-home .social-instagram .sppb-btn-wrapper {
  display: inline-flex !important;

  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   FACEBOOK OG INSTAGRAM – FELLES KNAPPESTIL
   ===================================================== */

#social-home .social-facebook .sppb-btn,
#social-home .social-instagram .sppb-btn,
#social-home .social-facebook a,
#social-home .social-instagram a {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  height: 56px !important;
  min-height: 56px !important;

  margin: 0 !important;
  padding: 0 20px !important;

  gap: 12px !important;

  background: transparent !important;
  background-image: none !important;

  color: var(--charcoal) !important;

  border: 1px solid var(--charcoal) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;

  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  text-decoration: none !important;
  white-space: nowrap !important;
}


/* IKONER */

#social-home .social-facebook .sppb-btn i,
#social-home .social-instagram .sppb-btn i,
#social-home .social-facebook .sppb-btn svg,
#social-home .social-instagram .sppb-btn svg {
  display: inline-block !important;

  font-size: 18px !important;

  margin: 0 !important;

  color: inherit !important;
}


/* HOVER */

#social-home .social-facebook .sppb-btn:hover,
#social-home .social-instagram .sppb-btn:hover,
#social-home .social-facebook a:hover,
#social-home .social-instagram a:hover {
  background: var(--burgundy) !important;

  color: var(--white) !important;

  border-color: var(--burgundy) !important;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 991px) {

  #social-home .sppb-row-container {
    padding: 100px 30px 110px !important;
  }

  #social-home .social-row {
    display: block !important;
  }

  #social-home .social-row > .sppb-column {
    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 100% !important;
  }

  #social-home .social-links {
    margin-top: 36px !important;

    justify-content: flex-start !important;
  }

  #social-home .social-links > .sppb-column-addons {
    justify-content: flex-start !important;
  }
}


/* =====================================================
   MOBIL
   ===================================================== */

@media (max-width: 767px) {

  #social-home {
    padding-top: 40px !important;
  }

  #social-home .sppb-row-container {
    padding: 75px 20px 90px !important;
  }

  #social-home .social-title p,
  #social-home .social-title h2,
  #social-home .social-title .sppb-addon-content {
    font-size: clamp(44px, 11vw, 58px) !important;
  }

  #social-home .social-links {
    margin-top: 32px !important;
  }

  #social-home .social-links > .sppb-column-addons {
    gap: 12px !important;
  }

  #social-home .social-facebook .sppb-btn,
  #social-home .social-instagram .sppb-btn {
    padding: 0 16px !important;
  }
}

/* =====================================================
   BAK KULISSENE – FIKS SOSIALE KNAPPER
   ===================================================== */

/* SELVE KNAPPENE */

#social-home .social-links .sppb-column-addons a,
#social-home .social-links .sppb-column-addons button,
#social-home .social-links .sppb-column-addons .sppb-btn {
  box-sizing: border-box !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  height: 56px !important;
  min-height: 56px !important;

  margin: 0 !important;
  padding: 0 20px !important;

  gap: 12px !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  color: var(--charcoal) !important;

  border: 1px solid var(--charcoal) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}


/* TEKST INNI KNAPPENE */

#social-home .social-links .sppb-column-addons a span,
#social-home .social-links .sppb-column-addons button span {
  color: inherit !important;
  background: transparent !important;
  text-decoration: none !important;
}


/* IKONER */

#social-home .social-links .sppb-column-addons a i,
#social-home .social-links .sppb-column-addons a svg {
  display: inline-block !important;

  margin: 0 !important;

  font-size: 18px !important;
  color: inherit !important;
}


/* HOVER */

#social-home .social-links .sppb-column-addons a:hover,
#social-home .social-links .sppb-column-addons button:hover,
#social-home .social-links .sppb-column-addons .sppb-btn:hover {
  background: var(--burgundy) !important;
  color: var(--white) !important;

  border-color: var(--burgundy) !important;
}

/* =====================================================
   ST. LAURENTIUSKORET – FOOTER
   ===================================================== */

/* JOOMLA FOOTER – FJERN STANDARDSTIL */

.container-footer {
  --footer-bg: #40232c;
  --footer-muted: #c1acb3;
  --footer-line: rgba(255, 253, 248, 0.22);

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: var(--footer-bg) !important;
  background-image: none !important;

  color: var(--white) !important;

  box-shadow: none !important;
}

.container-footer .grid-child {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

.container-footer .moduletable {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   FOOTER – ØVERSTE SECTION
   ===================================================== */

#footer-top {
  position: relative !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 90px 0 100px !important;

  background: #40232c !important;

  color: var(--white) !important;
}

#footer-top .sppb-row-container,
#footer-bottom .sppb-row-container {
  width: 100% !important;
  max-width: 1394px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 20px !important;
  padding-right: 20px !important;

  box-sizing: border-box !important;
}

#footer-top .sppb-row {
  align-items: flex-start !important;
}


/* =====================================================
   FOOTER – KORETS IDENTITET
   ===================================================== */

/* LØRENSKOG · SIDEN 1965 */

#footer-top .footer-eyebrow {
  margin: 0 0 26px !important;
  padding: 0 !important;
}

#footer-top .footer-eyebrow,
#footer-top .footer-eyebrow * {
  font-family: var(--sans) !important;
  color: var(--white) !important;
}

#footer-top .footer-eyebrow p,
#footer-top .footer-eyebrow .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}


/* ST. LAURENTIUSKORET */

#footer-top .footer-title {
  margin: 0 0 24px !important;
  padding: 0 !important;
}

#footer-top .footer-title,
#footer-top .footer-title * {
  font-family: var(--serif) !important;
  color: var(--white) !important;
}

#footer-top .footer-title p,
#footer-top .footer-title h2,
#footer-top .footer-title .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  font-size: clamp(48px, 4.2vw, 78px) !important;
  font-weight: 400 !important;

  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}


/* BESKRIVELSE */

#footer-top .footer-description {
  margin: 0 !important;
  padding: 0 !important;
}

#footer-top .footer-description p,
#footer-top .footer-description .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--footer-muted) !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;

  line-height: 1.6 !important;
}


/* =====================================================
   FOOTER – KOLONNEOVERSKRIFTER
   ===================================================== */

#footer-top .footer-nav-heading,
#footer-top .footer-contact-heading {
  margin: 0 0 25px !important;
  padding: 0 !important;
}

#footer-top .footer-nav-heading,
#footer-top .footer-nav-heading *,
#footer-top .footer-contact-heading,
#footer-top .footer-contact-heading * {
  color: var(--footer-muted) !important;

  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;

  line-height: 1.3 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#footer-top .footer-nav-heading p,
#footer-top .footer-contact-heading p,
#footer-top .footer-nav-heading .sppb-addon-content,
#footer-top .footer-contact-heading .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   FOOTER – NAVIGASJON
   ===================================================== */

#footer-top .footer-nav-links {
  margin: 0 !important;
  padding: 0 !important;
}

#footer-top .footer-nav-links p {
  margin: 0 0 17px !important;
  padding: 0 !important;

  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;
}

#footer-top .footer-nav-links a {
  color: var(--white) !important;

  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 500 !important;

  text-decoration: none !important;

  transition: color 0.2s ease !important;
}

#footer-top .footer-nav-links a:hover {
  color: #e6bfc9 !important;
  text-decoration: underline !important;
}


/* =====================================================
   FOOTER – KONTAKT
   ===================================================== */

/* E-POST */

#footer-top .footer-email {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

#footer-top .footer-email p,
#footer-top .footer-email .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;

  color: var(--white) !important;
}

#footer-top .footer-email a {
  color: var(--white) !important;
  text-decoration: none !important;
}

#footer-top .footer-email a:hover {
  text-decoration: underline !important;
}


/* ADRESSE */

#footer-top .footer-address {
  margin: 0 !important;
  padding: 0 !important;
}

#footer-top .footer-address p,
#footer-top .footer-address .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--footer-muted) !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;

  line-height: 1.75 !important;
}


/* =====================================================
   FOOTER – SOSIALE MEDIER
   ===================================================== */

/* PLASSER DE TO SISTE ADDONS VED SIDEN AV HVERANDRE */

#footer-top .footer-contact > .sppb-column-addons {
  display: flex !important;

  flex-direction: row !important;
  flex-wrap: wrap !important;

  align-items: flex-start !important;
  justify-content: flex-start !important;

  column-gap: 18px !important;
  row-gap: 0 !important;
}

#footer-top .footer-contact > .sppb-column-addons > * {
  flex: 0 0 100% !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

#footer-top
.footer-contact
> .sppb-column-addons
> :nth-last-child(-n+2) {
  flex: 0 0 56px !important;

  width: 56px !important;
  margin-top: 27px !important;
}


/* IKONBOKSER */

#footer-top .footer-facebook,
#footer-top .footer-instagram {
  box-sizing: border-box !important;

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: 56px !important;
  height: 56px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 1px solid var(--footer-muted) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease !important;
}

#footer-top .footer-facebook a,
#footer-top .footer-instagram a {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  height: 100% !important;

  color: var(--white) !important;
  text-decoration: none !important;
}

#footer-top .footer-facebook i,
#footer-top .footer-instagram i {
  font-size: 20px !important;
  color: var(--white) !important;
}

#footer-top .footer-facebook svg,
#footer-top .footer-instagram svg {
  width: 20px !important;
  height: 20px !important;

  color: var(--white) !important;
}


/* HOVER */

#footer-top .footer-facebook:hover,
#footer-top .footer-instagram:hover {
  background: var(--burgundy) !important;
  border-color: var(--burgundy) !important;
}


/* =====================================================
   FOOTER – NEDERSTE SECTION
   ===================================================== */

#footer-bottom {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 0 34px !important;

  background: #40232c !important;
}

#footer-bottom .sppb-row-container {
  padding-top: 30px !important;

  border-top: 1px solid var(--footer-line) !important;
}

#footer-bottom .footer-copyright,
#footer-bottom .footer-org-number,
#footer-bottom .footer-grasrot {
  margin: 0 !important;
  padding: 0 !important;
}

#footer-bottom .footer-copyright p,
#footer-bottom .footer-org-number p,
#footer-bottom .footer-grasrot p,
#footer-bottom .footer-copyright .sppb-addon-content,
#footer-bottom .footer-org-number .sppb-addon-content,
#footer-bottom .footer-grasrot .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--footer-muted) !important;

  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;

  line-height: 1.5 !important;
}

#footer-bottom .footer-org-number {
  text-align: center !important;
}

#footer-bottom .footer-grasrot {
  text-align: right !important;
}

#footer-bottom .footer-grasrot a {
  color: var(--footer-muted) !important;
  text-decoration: none !important;
}

#footer-bottom .footer-grasrot a:hover {
  color: var(--white) !important;
  text-decoration: underline !important;
}


/* =====================================================
   FOOTER – TABLET
   ===================================================== */

@media (max-width: 991px) {

  #footer-top {
    padding-top: 70px !important;
    padding-bottom: 75px !important;
  }

  #footer-top .sppb-row-container,
  #footer-bottom .sppb-row-container {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  #footer-top .sppb-row {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  #footer-top .sppb-row > .sppb-column:first-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;

    margin-bottom: 55px !important;
  }

  #footer-top .sppb-row > .sppb-column:nth-child(2),
  #footer-top .sppb-row > .sppb-column:nth-child(3) {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
}


/* =====================================================
   FOOTER – MOBIL
   ===================================================== */

@media (max-width: 767px) {

  #footer-top {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
  }

  #footer-top .sppb-row-container,
  #footer-bottom .sppb-row-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #footer-top .sppb-row > .sppb-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;

    margin-bottom: 40px !important;
  }

  #footer-top .sppb-row > .sppb-column:last-child {
    margin-bottom: 0 !important;
  }

  #footer-top .footer-title p,
  #footer-top .footer-title h2,
  #footer-top .footer-title .sppb-addon-content {
    font-size: clamp(43px, 10vw, 60px) !important;
  }

  #footer-bottom {
    padding-bottom: 45px !important;
  }

  #footer-bottom .sppb-row-container {
    padding-top: 28px !important;
  }

  #footer-bottom .sppb-row {
    display: block !important;
  }

  #footer-bottom .sppb-row > .sppb-column {
    width: 100% !important;
    max-width: 100% !important;

    margin-bottom: 13px !important;
  }

  #footer-bottom .footer-org-number,
  #footer-bottom .footer-grasrot {
    text-align: left !important;
  }
}

/* =====================================================
   ST. LAURENTIUSKORET – HOVER OG FOKUS
   ===================================================== */

/* HOVERFARGER FOR STORE KNAPPER */

#hero .hero-button-light,
#join-home .join-button {
  --button-hover-bg: var(--burgundy);
  --button-hover-text: var(--white);
  --button-hover-border: var(--burgundy);
}

#hero .hero-button-outline {
  --button-hover-bg: var(--white);
  --button-hover-text: var(--charcoal);
  --button-hover-border: var(--white);
}

#next-concert .concert-button-primary {
  --button-hover-bg: var(--burgundy-dark);
  --button-hover-text: var(--white);
  --button-hover-border: var(--burgundy-dark);
}

#next-concert .concert-button-secondary {
  --button-hover-bg: var(--burgundy);
  --button-hover-text: var(--white);
  --button-hover-border: var(--burgundy);
}


/* =====================================================
   STORE KNAPPER – MYK OVERGANG
   ===================================================== */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button),
:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
):is(a, button, .sppb-btn) {
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease !important;
}


/* STORE KNAPPER – HOVER OG TASTATURFOKUS */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button):is(:hover, :focus-visible),
:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
):is(a, button, .sppb-btn):is(:hover, :focus-visible) {
  background: var(--button-hover-bg) !important;
  background-image: none !important;

  color: var(--button-hover-text) !important;

  border-color: var(--button-hover-border) !important;
}


/* SØRG FOR AT TEKSTEN FØLGER HOVERFARGEN */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button):is(:hover, :focus-visible) :is(span, i) {
  color: inherit !important;
}


/* =====================================================
   STORE KNAPPER – ANIMERT PIL
   ===================================================== */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button)::after,
:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
):is(a, button, .sppb-btn)::after {
  color: inherit !important;

  transition: transform 0.2s ease !important;
}

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button):hover::after,
:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button
):is(a, button, .sppb-btn):hover::after {
  transform: translateX(4px) !important;
}


/* =====================================================
   TEKSTLENKER – HOVER
   ===================================================== */

/* OM KORET, DIRIGENT OG GALLERI */

:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button),
:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
):is(a, button, .sppb-btn) {
  transition:
    color 0.2s ease,
    border-color 0.2s ease !important;
}

:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button):is(:hover, :focus-visible),
:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
):is(a, button, .sppb-btn):is(:hover, :focus-visible) {
  background: transparent !important;

  color: var(--burgundy) !important;

  border-bottom-color: var(--burgundy) !important;
}


/* TEKST OG PIL FØLGER HOVERFARGEN */

:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button):is(:hover, :focus-visible) :is(span, i) {
  color: inherit !important;
}

:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button)::after,
:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
):is(a, button, .sppb-btn)::after {
  color: inherit !important;

  transition: transform 0.2s ease !important;
}

:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a.sppb-btn, button.sppb-btn, .sppb-btn, a, button):hover::after,
:is(
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
):is(a, button, .sppb-btn):hover::after {
  transform: translateX(4px) !important;
}


/* =====================================================
   BAK KULISSENE – SOSIALE KNAPPER
   ===================================================== */

#social-home .social-links .sppb-column-addons a,
#social-home .social-links .sppb-column-addons button,
#social-home .social-links .sppb-column-addons .sppb-btn {
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease !important;
}

#social-home .social-links .sppb-column-addons a:focus-visible,
#social-home .social-links .sppb-column-addons button:focus-visible,
#social-home .social-links .sppb-column-addons .sppb-btn:focus-visible {
  background: var(--burgundy) !important;
  color: var(--white) !important;
  border-color: var(--burgundy) !important;

  outline: 2px solid var(--charcoal) !important;
  outline-offset: 3px !important;
}


/* =====================================================
   FOOTER – LENKER OG IKONER
   ===================================================== */

#footer-top .footer-nav-links a,
#footer-top .footer-email a,
#footer-bottom .footer-grasrot a {
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease !important;
}

#footer-top .footer-facebook,
#footer-top .footer-instagram {
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease !important;
}

#footer-top .footer-facebook:focus-within,
#footer-top .footer-instagram:focus-within {
  background: var(--burgundy) !important;
  border-color: var(--burgundy) !important;
}

#footer-top .footer-facebook a:focus-visible,
#footer-top .footer-instagram a:focus-visible {
  outline: 2px solid var(--white) !important;
  outline-offset: 3px !important;
}


/* =====================================================
   TASTATURFOKUS – STORE KNAPPER OG TEKSTLENKER
   ===================================================== */

:is(
  #hero .hero-button-light,
  #hero .hero-button-outline,
  #next-concert .concert-button-primary,
  #next-concert .concert-button-secondary,
  #join-home .join-button,
  #about-home .about-link,
  #conductor-home .conductor-link,
  #gallery-home .gallery-link
) :is(a, button, .sppb-btn):focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 4px !important;
}


/* REDUSERT BEVEGELSE – TILGJENGELIGHET */

@media (prefers-reduced-motion: reduce) {
  #hero :is(.hero-button-light, .hero-button-outline) *,
  #next-concert :is(.concert-button-primary, .concert-button-secondary) *,
  #join-home .join-button *,
  #about-home .about-link *,
  #conductor-home .conductor-link *,
  #gallery-home .gallery-link *,
  #social-home .social-links a,
  #footer-top a,
  #footer-bottom a {
    transition: none !important;
  }
}
/* =====================================================
   OM KORET – HEADER
   Gjelder kun siden med seksjonen #about-hero
   ===================================================== */

body:has(#about-hero) .container-header {
  position: relative !important;

  background: var(--cream) !important;
  background-image: none !important;

  border-bottom: 1px solid rgba(36, 35, 31, 0.12) !important;
  box-shadow: none !important;

  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* Gjør den eksisterende hvite logoen mørk */

body:has(#about-hero) .container-header .navbar-brand img {
  filter: brightness(0) !important;
}

/* Mørke menylenker */

body:has(#about-hero) .container-header .mod-menu > li > a {
  color: var(--charcoal) !important;

  border-bottom: 1px solid transparent !important;

  transition:
    color 0.25s ease,
    border-color 0.25s ease !important;
}

/* Hover på menylenker */

body:has(#about-hero) .container-header .mod-menu > li > a:hover,
body:has(#about-hero) .container-header .mod-menu > li > a:focus-visible {
  color: var(--burgundy) !important;
  border-bottom-color: var(--burgundy) !important;
}

/* Aktiv side */

body:has(#about-hero) .container-header .mod-menu > li.current > a,
body:has(#about-hero) .container-header .mod-menu > li.active > a {
  color: var(--charcoal) !important;
  border-bottom-color: var(--charcoal) !important;
}


/* =====================================================
   OM KORET – INTRODUKSJON
   ===================================================== */

#about-hero {
  --about-bleed: max(0px, calc((100vw - 1320px) / 2));

  position: relative !important;

  background: var(--cream) !important;

  padding-top: 90px !important;
  padding-bottom: 0 !important;

  overflow: visible !important;
}


/* Hovedcontainer */

#about-hero .sppb-row-container {
  width: calc(100% - 48px) !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


/* Rad med tekst og bilde */

#about-hero .about-hero-row {
  display: flex !important;
  align-items: center !important;

  margin: 0 !important;
}


/* Venstre kolonne */

#about-hero .about-hero-content .sppb-column-addons {
  display: flex !important;

  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  min-height: 640px !important;

  padding-right: 55px !important;
}


/* =====================================================
   LITEN OVERSKRIFT – OM OSS
   ===================================================== */

#about-hero .about-hero-eyebrow,
#about-hero .about-hero-eyebrow * {
  font-family: var(--sans) !important;

  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;
  letter-spacing: 0.20em !important;

  text-transform: uppercase !important;

  color: var(--charcoal) !important;
}

#about-hero .about-hero-eyebrow {
  margin: 0 0 32px 0 !important;
}

#about-hero .about-hero-eyebrow p {
  margin: 0 !important;
}


/* =====================================================
   HOVEDOVERSKRIFT
   ===================================================== */

#about-hero .about-hero-title {
  width: 100% !important;
  max-width: 800px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#about-hero .about-hero-title,
#about-hero .about-hero-title * {
  font-family: var(--serif) !important;

  font-size: clamp(58px, 5.2vw, 90px) !important;
  font-weight: 400 !important;

  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;

  color: var(--charcoal) !important;
}

#about-hero .about-hero-title p,
#about-hero .about-hero-title .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   INTROTEKST
   ===================================================== */

#about-hero .about-hero-intro {
  width: 100% !important;
  max-width: 650px !important;

  margin-top: 36px !important;
  padding: 0 !important;
}

#about-hero .about-hero-intro,
#about-hero .about-hero-intro * {
  font-family: var(--sans) !important;

  font-size: 21px !important;
  font-weight: 400 !important;

  line-height: 1.6 !important;

  color: var(--charcoal) !important;
}

#about-hero .about-hero-intro p,
#about-hero .about-hero-intro .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   HØYRE KOLONNE – STORT BILDE
   ===================================================== */

#about-hero .about-hero-image-column {
  position: relative !important;

  overflow: visible !important;
}

#about-hero .about-hero-image {
  display: block !important;

  width: calc(100% + var(--about-bleed)) !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

#about-hero .about-hero-image .sppb-addon-content,
#about-hero .about-hero-image .sppb-addon-single-image-container,
#about-hero .about-hero-image .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 640px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

#about-hero .about-hero-image img {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 640px !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* =====================================================
   NETTBRETT OG MOBIL
   ===================================================== */

@media (max-width: 991px) {

  #about-hero {
    padding-top: 60px !important;
    padding-bottom: 70px !important;
  }

  #about-hero .about-hero-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #about-hero .about-hero-row > .sppb-column {
    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: 100% !important;
  }

  #about-hero .about-hero-content .sppb-column-addons {
    min-height: 0 !important;

    padding-right: 0 !important;
    padding-bottom: 45px !important;
  }

  #about-hero .about-hero-title,
  #about-hero .about-hero-title * {
    font-size: clamp(52px, 8vw, 76px) !important;
  }

  #about-hero .about-hero-image {
    width: 100% !important;
  }

  #about-hero .about-hero-image .sppb-addon-content,
  #about-hero .about-hero-image .sppb-addon-single-image-container,
  #about-hero .about-hero-image .sppb-addon-single-image,
  #about-hero .about-hero-image img {
    height: 500px !important;
  }
}


@media (max-width: 767px) {

  body:has(#about-hero) .container-header .navbar-brand img {
    width: 210px !important;
    max-width: 210px !important;
  }

  #about-hero {
    padding-top: 45px !important;
    padding-bottom: 24px !important;
  }

  #about-hero .sppb-row-container {
    width: calc(100% - 40px) !important;
  }

  #about-hero .about-hero-eyebrow {
    margin-bottom: 24px !important;
  }

  #about-hero .about-hero-title,
  #about-hero .about-hero-title * {
    font-size: clamp(46px, 11vw, 62px) !important;
    line-height: 1.05 !important;
  }

  #about-hero .about-hero-intro {
    margin-top: 26px !important;
  }

  #about-hero .about-hero-intro,
  #about-hero .about-hero-intro * {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  #about-hero .about-hero-image .sppb-addon-content,
  #about-hero .about-hero-image .sppb-addon-single-image-container,
  #about-hero .about-hero-image .sppb-addon-single-image,
  #about-hero .about-hero-image img {
    height: 380px !important;
  }

}/* =====================================================
   OM KORET – HVEM VI ER
   ===================================================== */

#about-story {
  position: relative !important;

  background: var(--cream) !important;

  padding-top: 120px !important;
  padding-bottom: 110px !important;

  overflow: hidden !important;
}


/* Hovedcontainer */

#about-story > .sppb-row-container {
  width: calc(100% - 48px) !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


/* =====================================================
   PLASSER TEKST OG BILDER UNDER HVERANDRE
   ===================================================== */

/* Ytre rad med de to hovedkolonnene */

#about-story > .sppb-row-container > .sppb-row {
  display: flex !important;
  flex-direction: column !important;

  align-items: stretch !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* Begge ytterkolonnene skal bruke full bredde */

#about-story .about-story-text-column,
#about-story .about-story-images-column {
  flex: 0 0 100% !important;

  width: 100% !important;
  max-width: 100% !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* Avstand mellom tekst og bildekollasj */

#about-story .about-story-text-column {
  margin-bottom: 105px !important;
}


/* =====================================================
   TEKSTRAD – 4+8
   ===================================================== */

#about-story .about-story-text-row {
  align-items: flex-start !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   OVERSKRIFT – HVEM VI ER
   ===================================================== */

#about-story .about-story-heading {
  width: 100% !important;

  margin: 0 0 35px 0 !important;
  padding: 0 !important;
}

#about-story .about-story-heading,
#about-story .about-story-heading * {
  font-family: var(--serif) !important;

  font-size: clamp(62px, 5vw, 86px) !important;
  font-weight: 400 !important;

  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;

  color: var(--charcoal) !important;
}

#about-story .about-story-heading p,
#about-story .about-story-heading .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   INNLEDNING
   ===================================================== */

#about-story .about-story-lead {
  width: 100% !important;
  max-width: 850px !important;

  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

#about-story .about-story-lead,
#about-story .about-story-lead * {
  font-family: var(--sans) !important;

  font-size: 24px !important;
  font-weight: 400 !important;

  line-height: 1.55 !important;

  color: var(--charcoal) !important;
}

#about-story .about-story-lead p,
#about-story .about-story-lead .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   BRØDTEKST
   ===================================================== */

#about-story .about-story-body {
  width: 100% !important;
  max-width: 860px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#about-story .about-story-body,
#about-story .about-story-body * {
  font-family: var(--sans) !important;

  font-size: 19px !important;
  font-weight: 400 !important;

  line-height: 1.7 !important;

  color: var(--charcoal) !important;
}

#about-story .about-story-body p,
#about-story .about-story-body .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   BILDEKOLLASJ – 7+5
   ===================================================== */

#about-story .about-story-gallery-row {
  display: flex !important;
  align-items: flex-start !important;

  margin: 0 !important;
}


/* Luft mellom bildene */

#about-story .about-story-gallery-row > .sppb-column:first-child {
  padding-right: 18px !important;
}

#about-story .about-story-gallery-row > .sppb-column:last-child {
  padding-left: 18px !important;
}


/* =====================================================
   STORT BILDE – VENSTRE
   ===================================================== */

#about-story .about-story-image-large,
#about-story .about-story-image-large .sppb-addon-content,
#about-story .about-story-image-large .sppb-addon-single-image-container,
#about-story .about-story-image-large .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: 640px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

#about-story .about-story-image-large img {
  display: block !important;

  width: 100% !important;
  height: 640px !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* =====================================================
   MINDRE BILDE – HØYRE
   ===================================================== */

#about-story .about-story-image-small {
  display: block !important;

  width: 100% !important;

  margin-top: 140px !important;
  padding: 0 !important;
}

#about-story .about-story-image-small .sppb-addon-content,
#about-story .about-story-image-small .sppb-addon-single-image-container,
#about-story .about-story-image-small .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: 460px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

#about-story .about-story-image-small img {
  display: block !important;

  width: 100% !important;
  height: 460px !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* =====================================================
   NETTBRETT
   ===================================================== */

@media (max-width: 991px) {

  #about-story {
    padding-top: 85px !important;
    padding-bottom: 85px !important;
  }

  #about-story .about-story-text-column {
    margin-bottom: 75px !important;
  }

  #about-story .about-story-heading,
  #about-story .about-story-heading * {
    font-size: clamp(58px, 7vw, 74px) !important;
  }

  #about-story .about-story-lead,
  #about-story .about-story-lead * {
    font-size: 21px !important;
  }

  #about-story .about-story-image-large,
  #about-story .about-story-image-large .sppb-addon-content,
  #about-story .about-story-image-large .sppb-addon-single-image-container,
  #about-story .about-story-image-large .sppb-addon-single-image,
  #about-story .about-story-image-large img {
    height: 500px !important;
  }

  #about-story .about-story-image-small {
    margin-top: 100px !important;
  }

  #about-story .about-story-image-small .sppb-addon-content,
  #about-story .about-story-image-small .sppb-addon-single-image-container,
  #about-story .about-story-image-small .sppb-addon-single-image,
  #about-story .about-story-image-small img {
    height: 360px !important;
  }
}


/* =====================================================
   MOBIL
   ===================================================== */

@media (max-width: 767px) {

  #about-story {
    padding-top: 40px !important;
    padding-bottom: 24px !important;
  }

  #about-story > .sppb-row-container {
    width: calc(100% - 40px) !important;
  }

  /* Skjul den tomme venstre tekstkolonnen */

  #about-story .about-story-text-row > .sppb-column:first-child {
    display: none !important;
  }

  #about-story .about-story-text-row > .sppb-column:last-child {
    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: 100% !important;
  }

  #about-story .about-story-heading {
    margin-bottom: 26px !important;
  }

  #about-story .about-story-heading,
  #about-story .about-story-heading * {
    font-size: clamp(48px, 11vw, 62px) !important;
  }

  #about-story .about-story-lead,
  #about-story .about-story-lead * {
    font-size: 19px !important;
  }

  #about-story .about-story-body,
  #about-story .about-story-body * {
    font-size: 16px !important;
  }

  #about-story .about-story-text-column {
    margin-bottom: 45px !important;
  }

  /* Bildene under hverandre på mobil */

  #about-story .about-story-gallery-row {
    flex-direction: column !important;
  }

  #about-story .about-story-gallery-row > .sppb-column {
    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: 100% !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #about-story .about-story-image-large,
  #about-story .about-story-image-large .sppb-addon-content,
  #about-story .about-story-image-large .sppb-addon-single-image-container,
  #about-story .about-story-image-large .sppb-addon-single-image,
  #about-story .about-story-image-large img {
    height: 380px !important;
  }

  #about-story .about-story-image-small {
    margin-top: 20px !important;
  }

  #about-story .about-story-image-small .sppb-addon-content,
  #about-story .about-story-image-small .sppb-addon-single-image-container,
  #about-story .about-story-image-small .sppb-addon-single-image,
  #about-story .about-story-image-small img {
    height: 300px !important;
  }

}/* =====================================================
   OM KORET – KORRIGERING AV KOLONNEBREDDER
   ===================================================== */

/* Ytre rad skal legge kolonnene under hverandre */

#about-story > .sppb-row-container > .sppb-row {
  display: flex !important;
  flex-direction: column !important;

  align-items: stretch !important;

  width: 100% !important;
}

/* VIKTIG: Overstyr bredden til de to ytre kolonnene */

#about-story > .sppb-row-container > .sppb-row > * {
  flex: 0 0 100% !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* De nestede radene skal også bruke hele bredden */

#about-story .about-story-text-row,
#about-story .about-story-gallery-row {
  width: 100% !important;
  max-width: 100% !important;
}

/* Sørg for at innholdet kan fylle ytterkolonnene */

#about-story .about-story-text-column .sppb-column-addons,
#about-story .about-story-images-column .sppb-column-addons {
  width: 100% !important;
  max-width: 100% !important;
}

/* =====================================================
   OM KORET – JUSTER AVSTAND TIL BILDER
   ===================================================== */

#about-story .about-story-text-column {
  margin-bottom: 35px !important;
}

/* =====================================================
   OM KORET – LYST TIL Å BLI MED?
   ===================================================== */

#about-join {
  position: relative !important;

  background: var(--cream) !important;

  padding-top: 110px !important;
  padding-bottom: 120px !important;

  overflow: visible !important;
}


/* Hovedcontainer */

#about-join .sppb-row-container {
  width: calc(100% - 48px) !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


/* Rad med tekst og knapp */

#about-join .about-join-row {
  display: flex !important;
  align-items: flex-start !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Venstre kolonne */

#about-join .about-join-copy .sppb-column-addons {
  display: flex !important;

  flex-direction: column !important;
  align-items: flex-start !important;
}


/* =====================================================
   LITEN OVERSKRIFT
   ===================================================== */

#about-join .about-join-eyebrow {
  margin: 0 0 30px 0 !important;
  padding: 0 !important;
}

#about-join .about-join-eyebrow,
#about-join .about-join-eyebrow * {
  font-family: var(--sans) !important;

  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;
  letter-spacing: 0.20em !important;

  text-transform: uppercase !important;

  color: var(--charcoal) !important;
}

#about-join .about-join-eyebrow p,
#about-join .about-join-eyebrow .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   STOR OVERSKRIFT
   ===================================================== */

#about-join .about-join-title {
  width: 100% !important;
  max-width: 850px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#about-join .about-join-title,
#about-join .about-join-title * {
  font-family: var(--serif) !important;

  font-size: clamp(60px, 5.4vw, 88px) !important;
  font-weight: 400 !important;

  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;

  color: var(--charcoal) !important;
}

#about-join .about-join-title p,
#about-join .about-join-title .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   HØYRE KOLONNE – KNAPP
   ===================================================== */

#about-join .about-join-action .sppb-column-addons {
  display: flex !important;

  justify-content: flex-end !important;
  align-items: flex-start !important;

  width: 100% !important;
}


/* Fjern standard styling fra Button Addon */

#about-join .about-join-button,
#about-join .about-join-button .sppb-addon-content,
#about-join .about-join-button .sppb-button-wrapper,
#about-join .about-join-button .sppb-btn-wrapper,
#about-join .about-join-button .sppb-addon-button {
  width: auto !important;
  max-width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;

  box-shadow: none !important;
}


/* Selve knappen */

#about-join .about-join-button .sppb-btn,
#about-join .about-join-button a {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 282px !important;
  max-width: 100% !important;

  min-height: 64px !important;

  padding: 0 27px !important;

  background: var(--burgundy) !important;
  background-color: var(--burgundy) !important;

  color: var(--white) !important;

  border: 1px solid var(--burgundy) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;

  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1.2 !important;

  text-decoration: none !important;

  cursor: pointer !important;

  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease !important;
}


/* Pil på høyre side */

#about-join .about-join-button .sppb-btn::after,
#about-join .about-join-button a::after {
  content: "→" !important;

  display: inline-block !important;

  margin-left: 24px !important;

  font-size: 22px !important;
  font-weight: 400 !important;

  line-height: 1 !important;

  transition: transform 0.25s ease !important;
}


/* =====================================================
   HOVER
   ===================================================== */

#about-join .about-join-button .sppb-btn:hover,
#about-join .about-join-button a:hover {
  background: var(--burgundy-dark) !important;
  background-color: var(--burgundy-dark) !important;

  border-color: var(--burgundy-dark) !important;

  color: var(--white) !important;
}


/* Pil beveger seg ved hover */

#about-join .about-join-button .sppb-btn:hover::after,
#about-join .about-join-button a:hover::after {
  transform: translateX(5px) !important;
}


/* Tastaturnavigasjon */

#about-join .about-join-button .sppb-btn:focus-visible,
#about-join .about-join-button a:focus-visible {
  outline: 2px solid var(--burgundy) !important;
  outline-offset: 4px !important;
}


/* =====================================================
   NETTBRETT
   ===================================================== */

@media (max-width: 991px) {

  #about-join {
    padding-top: 85px !important;
    padding-bottom: 95px !important;
  }

  #about-join .about-join-title,
  #about-join .about-join-title * {
    font-size: clamp(58px, 7vw, 76px) !important;
  }

  #about-join .about-join-action .sppb-column-addons {
    justify-content: flex-start !important;
  }
}


/* =====================================================
   MOBIL
   ===================================================== */

@media (max-width: 767px) {

  #about-join {
    padding-top: 40px !important;
    padding-bottom: 48px !important;
  }

  #about-join .sppb-row-container {
    width: calc(100% - 40px) !important;
  }

  #about-join .about-join-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #about-join .about-join-row > .sppb-column {
    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: 100% !important;
  }

  #about-join .about-join-eyebrow {
    margin-bottom: 22px !important;
  }

  #about-join .about-join-title,
  #about-join .about-join-title * {
    font-size: clamp(48px, 11vw, 64px) !important;
  }

  #about-join .about-join-action {
    margin-top: 35px !important;
  }

  #about-join .about-join-action .sppb-column-addons {
    justify-content: flex-start !important;
  }

  #about-join .about-join-button .sppb-btn,
  #about-join .about-join-button a {
    width: 282px !important;
    min-height: 60px !important;
  }

}


/* Respekter redusert bevegelse */

@media (prefers-reduced-motion: reduce) {
  #about-join .about-join-button .sppb-btn,
  #about-join .about-join-button a,
  #about-join .about-join-button .sppb-btn::after,
  #about-join .about-join-button a::after {
    transition: none !important;
  }
}
/* =====================================================
   OM KORET – FIKS MEDLEMSKAPSKNAPP
   ===================================================== */

/* Selve knappen */

#about-join .about-join-action .sppb-column-addons a,
#about-join .about-join-action .sppb-column-addons button {
  box-sizing: border-box !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 282px !important;
  max-width: 100% !important;

  min-height: 64px !important;

  padding: 0 27px !important;

  background: var(--burgundy) !important;
  background-color: var(--burgundy) !important;

  color: var(--white) !important;

  border: 1px solid var(--burgundy) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1.2 !important;

  text-decoration: none !important;

  cursor: pointer !important;

  transition:
    background-color 0.25s ease,
    border-color 0.25s ease !important;
}

/* Sikre hvit tekst uten understreking */

#about-join .about-join-action .sppb-column-addons a *,
#about-join .about-join-action .sppb-column-addons button * {
  color: var(--white) !important;
  text-decoration: none !important;
}

/* Pil */

#about-join .about-join-action .sppb-column-addons a::after,
#about-join .about-join-action .sppb-column-addons button::after {
  content: "→" !important;

  display: inline-block !important;

  margin-left: 24px !important;

  font-size: 22px !important;
  font-weight: 400 !important;

  color: var(--white) !important;

  transition: transform 0.25s ease !important;
}

/* Hover */

#about-join .about-join-action .sppb-column-addons a:hover,
#about-join .about-join-action .sppb-column-addons button:hover {
  background: var(--burgundy-dark) !important;
  background-color: var(--burgundy-dark) !important;

  border-color: var(--burgundy-dark) !important;

  color: var(--white) !important;
}

/* Pilbevegelse */

#about-join .about-join-action .sppb-column-addons a:hover::after,
#about-join .about-join-action .sppb-column-addons button:hover::after {
  transform: translateX(5px) !important;
}

/* Tastaturfokus */

#about-join .about-join-action .sppb-column-addons a:focus-visible,
#about-join .about-join-action .sppb-column-addons button:focus-visible {
  outline: 2px solid var(--burgundy) !important;
  outline-offset: 4px !important;
}
/* =====================================================
   OM KORET – JUSTER KNAPPENS PLASSERING
   ===================================================== */

@media (min-width: 992px) {
  #about-join .about-join-action {
    padding-top: 75px !important;
  }
}
/* =====================================================
   PROGRAM – HEADER
   ===================================================== */

body:has(#program-hero) .container-header {
  position: relative !important;

  background: var(--cream) !important;
  background-image: none !important;

  border-bottom: 1px solid rgba(36, 35, 31, 0.12) !important;

  box-shadow: none !important;

  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* Mørk logo */

body:has(#program-hero) .container-header .navbar-brand img {
  filter: brightness(0) !important;
}

/* Mørke menylenker */

body:has(#program-hero) .container-header .mod-menu > li > a {
  color: var(--charcoal) !important;

  border-bottom: 1px solid transparent !important;

  transition:
    color 0.25s ease,
    border-color 0.25s ease !important;
}

/* Hover */

body:has(#program-hero) .container-header .mod-menu > li > a:hover,
body:has(#program-hero) .container-header .mod-menu > li > a:focus-visible {
  color: var(--burgundy) !important;

  border-bottom-color: var(--burgundy) !important;
}

/* Aktivt menypunkt */

body:has(#program-hero) .container-header .mod-menu > li.current > a,
body:has(#program-hero) .container-header .mod-menu > li.active > a {
  color: var(--charcoal) !important;

  border-bottom-color: var(--charcoal) !important;
}


/* =====================================================
   PROGRAM – INTRODUKSJON
   ===================================================== */

#program-hero {
  --program-bleed: max(24px, calc((100vw - 1320px) / 2));

  position: relative !important;

  background: var(--cream) !important;

  padding-top: 90px !important;
  padding-bottom: 0 !important;

  overflow: visible !important;
}


/* Hovedcontainer */

#program-hero .sppb-row-container {
  width: calc(100% - 48px) !important;
  max-width: 1320px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


/* Rad */

#program-hero .program-hero-row {
  display: flex !important;
  align-items: center !important;

  margin: 0 !important;
}


/* Venstre kolonne */

#program-hero .program-hero-copy .sppb-column-addons {
  display: flex !important;

  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  min-height: 670px !important;

  padding-right: 60px !important;
}


/* =====================================================
   LITEN OVERSKRIFT
   ===================================================== */

#program-hero .program-hero-eyebrow {
  margin: 0 0 30px 0 !important;
  padding: 0 !important;
}

#program-hero .program-hero-eyebrow,
#program-hero .program-hero-eyebrow * {
  font-family: var(--sans) !important;

  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;
  letter-spacing: 0.20em !important;

  text-transform: uppercase !important;

  color: var(--charcoal) !important;
}

#program-hero .program-hero-eyebrow p,
#program-hero .program-hero-eyebrow .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   HOVEDOVERSKRIFT – PROGRAM
   ===================================================== */

#program-hero .program-hero-title {
  width: 100% !important;
  max-width: 800px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#program-hero .program-hero-title,
#program-hero .program-hero-title * {
  font-family: var(--serif) !important;

  font-size: clamp(74px, 7vw, 116px) !important;
  font-weight: 400 !important;

  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;

  color: var(--charcoal) !important;
}

#program-hero .program-hero-title p,
#program-hero .program-hero-title .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   BESKRIVELSE
   ===================================================== */

#program-hero .program-hero-intro {
  width: 100% !important;
  max-width: 680px !important;

  margin-top: 38px !important;
  padding: 0 !important;
}

#program-hero .program-hero-intro,
#program-hero .program-hero-intro * {
  font-family: var(--sans) !important;

  font-size: 23px !important;
  font-weight: 400 !important;

  line-height: 1.6 !important;

  color: var(--charcoal) !important;
}

#program-hero .program-hero-intro p,
#program-hero .program-hero-intro .sppb-addon-content {
  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   STORT BILDE – HØYRE
   ===================================================== */

#program-hero .program-hero-image-column {
  position: relative !important;

  overflow: visible !important;
}

#program-hero .program-hero-image {
  display: block !important;

  width: calc(100% + var(--program-bleed)) !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

#program-hero .program-hero-image .sppb-addon-content,
#program-hero .program-hero-image .sppb-addon-single-image-container,
#program-hero .program-hero-image .sppb-addon-single-image {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 670px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

#program-hero .program-hero-image img {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 670px !important;

  object-fit: cover !important;
  object-position: center center !important;
}


/* =====================================================
   NETTBRETT
   ===================================================== */

@media (max-width: 991px) {

  #program-hero {
    padding-top: 65px !important;
    padding-bottom: 70px !important;
  }

  #program-hero .program-hero-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #program-hero .program-hero-row > .sppb-column {
    flex: 0 0 100% !important;

    width: 100% !important;
    max-width: 100% !important;
  }

  #program-hero .program-hero-copy .sppb-column-addons {
    min-height: 0 !important;

    padding-right: 0 !important;
    padding-bottom: 50px !important;
  }

  #program-hero .program-hero-title,
  #program-hero .program-hero-title * {
    font-size: clamp(72px, 10vw, 96px) !important;
  }

  #program-hero .program-hero-image {
    width: 100% !important;
  }

  #program-hero .program-hero-image .sppb-addon-content,
  #program-hero .program-hero-image .sppb-addon-single-image-container,
  #program-hero .program-hero-image .sppb-addon-single-image,
  #program-hero .program-hero-image img {
    height: 500px !important;
  }
}


/* =====================================================
   MOBIL
   ===================================================== */

@media (max-width: 767px) {

  body:has(#program-hero) .container-header .navbar-brand img {
    width: 210px !important;
    max-width: 210px !important;
  }

  body:has(#program-hero) .container-header .navbar-toggler {
    color: var(--charcoal) !important;
    border-color: var(--charcoal) !important;
  }

  #program-hero {
    padding-top: 45px !important;
    padding-bottom: 24px !important;
  }

  #program-hero .sppb-row-container {
    width: calc(100% - 40px) !important;
  }

  #program-hero .program-hero-eyebrow {
    margin-bottom: 22px !important;
  }

  #program-hero .program-hero-title,
  #program-hero .program-hero-title * {
    font-size: clamp(66px, 15vw, 88px) !important;
  }

  #program-hero .program-hero-intro {
    margin-top: 26px !important;
  }

  #program-hero .program-hero-intro,
  #program-hero .program-hero-intro * {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  #program-hero .program-hero-image .sppb-addon-content,
  #program-hero .program-hero-image .sppb-addon-single-image-container,
  #program-hero .program-hero-image .sppb-addon-single-image,
  #program-hero .program-hero-image img {
    height: 380px !important;
  }

  #program-hero .program-hero-image {
    margin-top: 24px !important;
  }

}
/* =====================================================
   PROGRAM – JUSTER HØYDEN PÅ INTRODUKSJONSBILDET
   ===================================================== */

@media (min-width: 992px) {

  #program-hero .program-hero-image .sppb-addon-content,
  #program-hero .program-hero-image .sppb-addon-single-image-container,
  #program-hero .program-hero-image .sppb-addon-single-image,
  #program-hero .program-hero-image img {
    height: 580px !important;
  }

  /* Behold teksten sentrert mot bildet */

  #program-hero .program-hero-copy .sppb-column-addons {
    min-height: 580px !important;
  }

}

/* Behold naturlig proporsjon ved beskjæring */

#program-hero .program-hero-image img {
  object-fit: cover !important;
  object-position: center center !important;
}
/* ========================================
   PROGRAM – KOMMENDE KONSERTER
======================================== */

/* Seksjon med overskrift */
#program-upcoming {
    background: var(--cream) !important;
    padding: 90px 0 45px !important;
}

#program-upcoming > .sppb-row-container {
    max-width: 1440px !important;
}

/* Liten overskrift */
#program-upcoming .program-upcoming-eyebrow,
#program-upcoming .program-upcoming-eyebrow p {
    font-family: var(--sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--charcoal) !important;
    margin: 0 0 20px !important;
}

/* Kommende konserter */
#program-upcoming .program-upcoming-title,
#program-upcoming .program-upcoming-title p,
#program-upcoming .program-upcoming-title h2 {
    font-family: var(--serif) !important;
    font-size: clamp(48px, 5.5vw, 84px) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    letter-spacing: -2px !important;
    color: var(--charcoal) !important;
    margin: 0 !important;
}


/* ========================================
   KONsertKORT – FELLES STIL
======================================== */

.program-events-grid {
    background: var(--cream) !important;
    padding: 0 0 50px !important;
}

.program-events-grid > .sppb-row-container {
    max-width: 1440px !important;
}

/* Kolonnene */
.program-events-grid .program-event-card {
    position: relative !important;
}

/* Kortbakgrunn */
.program-events-grid .program-event-card
.sppb-column-addons {
    position: relative !important;
    background: #fffaf5 !important;
    height: 100% !important;
    padding-bottom: 32px !important;
}

/* Fjern standardavstand mellom addons */
.program-events-grid .program-event-card
.sppb-addon-wrapper {
    margin-bottom: 0 !important;
}

/* Bilder */
.program-events-grid .program-event-image,
.program-events-grid .program-event-image
.sppb-addon-content,
.program-events-grid .program-event-image
.sppb-addon-single-image-container {
    width: 100% !important;
}

.program-events-grid .program-event-image img {
    display: block !important;
    width: 100% !important;
    height: 400px !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Dato oppå bildet */
.program-events-grid .program-event-date {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 5 !important;

    background: var(--burgundy) !important;
    padding: 16px 22px !important;

    color: #ffffff !important;
    font-family: var(--sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

.program-events-grid .program-event-date p {
    color: #ffffff !important;
    font-size: inherit !important;
    margin: 0 !important;
}

/* Konserttittel */
.program-events-grid .program-event-title {
    padding: 34px 32px 0 !important;
}

.program-events-grid .program-event-title p,
.program-events-grid .program-event-title h2,
.program-events-grid .program-event-title h3 {
    font-family: var(--serif) !important;
    font-size: clamp(32px, 3vw, 46px) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    color: var(--charcoal) !important;
    margin: 0 !important;
}

/* Sted og tidspunkt */
.program-events-grid .program-event-meta {
    padding: 28px 32px 0 !important;
}

.program-events-grid .program-event-meta p {
    font-family: var(--sans) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    color: var(--charcoal) !important;
    margin: 0 !important;
}

/* Beskrivelse */
.program-events-grid .program-event-description {
    padding: 10px 32px 0 !important;
}

.program-events-grid .program-event-description p {
    font-family: var(--sans) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #77716c !important;
    margin: 0 !important;
}

/* Billettknapp */
.program-events-grid .program-event-button {
    padding: 28px 32px 0 !important;
}

.program-events-grid .program-event-button a.sppb-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 35px !important;

    background: var(--burgundy) !important;
    color: #ffffff !important;
    border: 1px solid var(--burgundy) !important;
    border-radius: 0 !important;

    padding: 19px 26px !important;
    font-family: var(--sans) !important;
    font-size: 15px !important;
    font-weight: 600 !important;

    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.program-events-grid .program-event-button
a.sppb-btn:hover {
    background: var(--burgundy-dark) !important;
    border-color: var(--burgundy-dark) !important;
    color: #ffffff !important;
    transform: translateY(-3px);
}


/* ========================================
   MOBIL
======================================== */

@media (max-width: 767px) {

    #program-upcoming {
        padding: 40px 0 32px !important;
    }

    .program-events-grid {
        padding-bottom: 0 !important;
    }

    .program-events-grid .program-event-card {
        margin-bottom: 30px !important;
    }

    .program-events-grid .program-event-image img {
        height: 280px !important;
    }

    .program-events-grid .program-event-title {
        padding: 25px 22px 0 !important;
    }

    .program-events-grid .program-event-meta {
        padding: 20px 22px 0 !important;
    }

    .program-events-grid .program-event-description {
        padding: 10px 22px 0 !important;
    }

    .program-events-grid .program-event-button {
        padding: 25px 22px 0 !important;
    }
}
/* PROGRAM – korrigering av konsertkort */

/* Kortbakgrunn */
.program-events-grid .program-event-card {
    background: #fffaf5 !important;
}

/* Billettknapp */
.program-events-grid .sppb-btn {
    display: inline-flex !important;
    align-items: center !important;

    background: var(--burgundy) !important;
    color: #ffffff !important;
    border: 1px solid var(--burgundy) !important;
    border-radius: 0 !important;

    padding: 19px 28px !important;

    font-family: var(--sans) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;

    transition: all 0.25s ease !important;
}

.program-events-grid .sppb-btn:hover {
    background: var(--burgundy-dark) !important;
    border-color: var(--burgundy-dark) !important;
    color: #ffffff !important;
    transform: translateY(-3px);
}

/* Venstrejuster billettknappen */
.program-events-grid .sppb-addon-button,
.program-events-grid .sppb-btn-wrapper {
    text-align: left !important;
}
/* PROGRAM – finjustering av billettknapp */

.program-events-grid .program-event-card .sppb-btn {
    margin-left: 40px !important;
    margin-top: 22px !important;
    gap: 28px !important;
}

.program-events-grid .program-event-card .sppb-btn::after {
    content: "→";
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    transition: transform 0.25s ease;
}

.program-events-grid .program-event-card .sppb-btn:hover::after {
    transform: translateX(5px);
}

@media (max-width: 767px) {
    .program-events-grid .program-event-card .sppb-btn {
        margin-left: 22px !important;
    }
}
/* =====================================================
   ST. LAURENTIUSKORET – DIRIGENTEN
   ===================================================== */


/* =====================================================
   1. HEADER
   ===================================================== */

body:has(#conductor-hero) .container-header {
    position: relative !important;
    background: var(--cream) !important;
    border-bottom: 1px solid rgba(36, 35, 31, 0.1) !important;
}

/* Mørk logo */
body:has(#conductor-hero) .container-header .navbar-brand img {
    filter: brightness(0) !important;
}

/* Mørke menylenker */
body:has(#conductor-hero) .container-header .mod-menu > li > a {
    color: var(--charcoal) !important;
}

/* Aktiv menylenke */
body:has(#conductor-hero) .container-header .mod-menu > li.current > a,
body:has(#conductor-hero) .container-header .mod-menu > li.active > a {
    border-bottom-color: var(--charcoal) !important;
}


/* =====================================================
   2. HERO – FULL SKJERMBREDDE
   ===================================================== */

#conductor-hero {
    position: relative !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;

    padding: 0 !important;

    background: var(--sage) !important;
    overflow: hidden !important;
}

/* Fjern SP Page Builders breddebegrensning */
#conductor-hero .sppb-row-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* To kolonner: 40 % bilde, 60 % tekst */
#conductor-hero .sppb-row {
    display: grid !important;
    grid-template-columns: 40% 60% !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;
    align-items: stretch !important;
}

/* Nullstill standardbredder og mellomrom */
#conductor-hero .sppb-row > * {
    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    flex: none !important;
}


/* =====================================================
   3. PORTRETT – VENSTRE KOLONNE
   ===================================================== */

#conductor-hero .sppb-row > :first-child {
    background: var(--sage) !important;
}

#conductor-hero .conductor-hero-image-column {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Fjern begrensninger rundt bildet */
#conductor-hero .conductor-hero-image,
#conductor-hero .conductor-hero-image .sppb-addon-content,
#conductor-hero .conductor-hero-image .sppb-addon-single-image-container {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

/*
   VIKTIG:
   Bildet beholder naturlige proporsjoner.
   Ingen fast høyde og ingen zoom/beskjæring.
*/

#conductor-hero .conductor-hero-image img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    max-height: none !important;

    object-fit: contain !important;
    object-position: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =====================================================
   4. HØYRE KOLONNE – GRØNN BAKGRUNN
   ===================================================== */

#conductor-hero .sppb-row > :nth-child(2) {
    background: var(--sage) !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    padding: 70px clamp(50px, 5vw, 110px) !important;

    box-sizing: border-box !important;
}

/* Innholdet skal kunne sentreres vertikalt */
#conductor-hero .sppb-row > :nth-child(2) .sppb-column {
    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

#conductor-hero .sppb-row > :nth-child(2) .sppb-column-addons {
    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
}

/* Fjern standardmarger mellom tekstblokkene */
#conductor-hero .conductor-hero-content .sppb-addon-wrapper,
#conductor-hero .conductor-hero-content .sppb-addon {
    margin-bottom: 0 !important;
}


/* =====================================================
   5. TYPOGRAFI – ANNA VEITEBERG
   ===================================================== */

/* Liten etikett */
#conductor-hero .conductor-hero-eyebrow,
#conductor-hero .conductor-hero-eyebrow * {
    font-family: var(--sans) !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: 2.2px !important;
    text-transform: uppercase !important;

    line-height: 1.5 !important;
    color: var(--charcoal) !important;
}

#conductor-hero .conductor-hero-eyebrow {
    margin-bottom: 30px !important;
}

/* ANNA */
#conductor-hero .conductor-hero-firstname,
#conductor-hero .conductor-hero-firstname * {
    font-family: var(--serif) !important;

    font-size: clamp(70px, 5.8vw, 116px) !important;
    font-weight: 400 !important;
    font-style: normal !important;

    line-height: 1.05 !important;
    letter-spacing: -3px !important;

    color: var(--charcoal) !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* VEITEBERG */
#conductor-hero .conductor-hero-lastname,
#conductor-hero .conductor-hero-lastname * {
    font-family: var(--serif) !important;

    font-size: clamp(70px, 5.8vw, 116px) !important;
    font-weight: 400 !important;
    font-style: italic !important;

    line-height: 1.05 !important;
    letter-spacing: -3px !important;

    color: var(--burgundy) !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Sitat */
#conductor-hero .conductor-hero-quote {
    margin-top: 42px !important;
    max-width: 680px !important;
}

#conductor-hero .conductor-hero-quote,
#conductor-hero .conductor-hero-quote * {
    font-family: var(--sans) !important;

    font-size: 21px !important;
    font-weight: 400 !important;

    line-height: 1.65 !important;
    color: var(--charcoal) !important;
}


/* =====================================================
   6. BIOGRAFI – SEKSJON
   ===================================================== */

#conductor-bio {
    background: var(--cream) !important;

    padding: 100px 0 120px !important;
}

#conductor-bio > .sppb-row-container {
    max-width: 1320px !important;
}


/* =====================================================
   7. BIOGRAFI – TYPOGRAFI
   ===================================================== */

/* BIOGRAFI */
#conductor-bio .conductor-bio-eyebrow,
#conductor-bio .conductor-bio-eyebrow * {
    font-family: var(--sans) !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: 2.2px !important;
    text-transform: uppercase !important;

    color: var(--charcoal) !important;
}

/* Innledning */
#conductor-bio .conductor-bio-lead,
#conductor-bio .conductor-bio-lead * {
    font-family: var(--sans) !important;

    font-size: 23px !important;
    font-weight: 400 !important;

    line-height: 1.65 !important;

    color: var(--charcoal) !important;
}

#conductor-bio .conductor-bio-lead {
    margin-bottom: 25px !important;
}

/* Brødtekst */
#conductor-bio .conductor-bio-body,
#conductor-bio .conductor-bio-body * {
    font-family: var(--sans) !important;

    font-size: 17px !important;
    font-weight: 400 !important;

    line-height: 1.85 !important;

    color: var(--charcoal) !important;
}

#conductor-bio .conductor-bio-body {
    margin-bottom: 0 !important;
}


/* =====================================================
   8. MUSIKALSK RETNING
   ===================================================== */

/* Mindre avstand over overskriften */
#conductor-bio .conductor-bio-heading {
    margin-top: 25px !important;
    margin-bottom: 20px !important;
}

#conductor-bio .conductor-bio-heading,
#conductor-bio .conductor-bio-heading * {
    font-family: var(--serif) !important;

    font-size: clamp(46px, 4.5vw, 72px) !important;
    font-weight: 400 !important;

    line-height: 1.15 !important;
    letter-spacing: -2px !important;

    color: var(--charcoal) !important;
}

/* Beskrivelse */
#conductor-bio .conductor-bio-direction,
#conductor-bio .conductor-bio-direction * {
    font-family: var(--sans) !important;

    font-size: 17px !important;
    font-weight: 400 !important;

    line-height: 1.85 !important;

    color: var(--charcoal) !important;
}


/* =====================================================
   9. KNAPP – SE KOMMENDE KONSERTER
   ===================================================== */

#conductor-bio .conductor-bio-button {
    margin-top: 30px !important;
}

#conductor-bio .sppb-btn {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 40px !important;

    background: var(--burgundy) !important;
    color: #ffffff !important;

    border: 1px solid var(--burgundy) !important;
    border-radius: 0 !important;

    padding: 20px 28px !important;

    font-family: var(--sans) !important;
    font-size: 15px !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    transition: all 0.25s ease !important;
}

#conductor-bio .sppb-btn::after {
    content: "→";

    font-size: 21px;
    font-weight: 400;

    transition: transform 0.25s ease;
}

#conductor-bio .sppb-btn:hover {
    background: var(--burgundy-dark) !important;
    border-color: var(--burgundy-dark) !important;
    color: #ffffff !important;

    transform: translateY(-3px);
}

#conductor-bio .sppb-btn:hover::after {
    transform: translateX(5px);
}


/* =====================================================
   10. TABLET
   ===================================================== */

@media (max-width: 991px) {

    /* Bilde øverst, tekst under */
    #conductor-hero .sppb-row {
        grid-template-columns: 1fr !important;
    }

    #conductor-hero .sppb-row > :nth-child(2) {
        padding: 70px 48px !important;
    }

    #conductor-hero .conductor-hero-image img {
        width: 100% !important;

        height: 500px !important;

        object-fit: contain !important;
        object-position: center !important;
    }

    #conductor-bio {
        padding: 80px 0 100px !important;
    }
}


/* =====================================================
   11. MOBIL
   ===================================================== */

@media (max-width: 767px) {

    #conductor-hero .sppb-row {
        grid-template-columns: 1fr !important;
    }

    #conductor-hero .conductor-hero-image img {
        height: 420px !important;
        object-fit: contain !important;
    }

    #conductor-hero .sppb-row > :nth-child(2) {
        padding: 48px 25px 36px !important;
    }

    #conductor-hero .conductor-hero-firstname,
    #conductor-hero .conductor-hero-firstname *,
    #conductor-hero .conductor-hero-lastname,
    #conductor-hero .conductor-hero-lastname * {
        font-size: clamp(56px, 11vw, 78px) !important;
        letter-spacing: -2px !important;
    }

    #conductor-hero .conductor-hero-quote,
    #conductor-hero .conductor-hero-quote * {
        font-size: 17px !important;
    }

    #conductor-bio {
        padding: 48px 0 64px !important;
    }

    #conductor-bio .sppb-row > * {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    #conductor-bio .conductor-bio-lead,
    #conductor-bio .conductor-bio-lead * {
        font-size: 19px !important;
    }

    #conductor-bio .conductor-bio-heading,
    #conductor-bio .conductor-bio-heading * {
        font-size: 46px !important;
    }

    #conductor-bio .conductor-bio-heading {
        margin-top: 20px !important;
    }
}
/* ==========================================================
   ST. LAURENTIUSKORET
   BLI MED – KOMPLETT CSS
   ========================================================== */


/* ==========================================================
   1. HEADER
   ========================================================== */

body:has(#join-hero) .container-header {
  position: relative !important;

  background: var(--cream) !important;
  background-image: none !important;

  border-bottom: 1px solid rgba(36, 35, 31, 0.10) !important;
  box-shadow: none !important;
}

body:has(#join-hero) .container-header .navbar-brand img {
  filter: brightness(0) !important;
}

body:has(#join-hero) .container-header .mod-menu > li > a {
  color: var(--charcoal) !important;
}

body:has(#join-hero) .container-header .mod-menu > li.current > a,
body:has(#join-hero) .container-header .mod-menu > li.active > a {
  border-bottom-color: var(--charcoal) !important;
}


/* ==========================================================
   2. FELLES SEKSJONSBREDDE
   ========================================================== */

#join-hero,
#join-invite,
#join-details-row-one,
#join-details-row-two,
#join-contact {
  position: relative !important;

  width: 100vw !important;
  max-width: none !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;

  box-sizing: border-box !important;
}


/* ==========================================================
   3. HERO – FINN DIN STEMME HOS OSS
   ========================================================== */

#join-hero {
  background: #faf8f3 !important;

  margin-top: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}


/* FULL BREDDE */

#join-hero .sppb-row-container {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

#join-hero .sppb-row {
  display: grid !important;

  grid-template-columns: 57% 43% !important;

  min-height: 630px !important;

  align-items: stretch !important;

  margin: 0 !important;
  padding: 0 !important;

  --bs-gutter-x: 0 !important;
}

#join-hero .sppb-row > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: none !important;
}


/* HERO – VENSTRE KOLONNE */

#join-hero .join-hero-content {
  display: flex !important;
  align-items: center !important;

  min-height: 630px !important;

  padding:
    55px
    65px
    55px
    max(32px, calc((100vw - 1320px) / 2)) !important;

  box-sizing: border-box !important;
}

#join-hero .join-hero-content .sppb-column,
#join-hero .join-hero-content .sppb-column-addons {
  width: 100% !important;
}


/* HERO – OVERTEKST */

#join-hero .join-hero-eyebrow {
  margin: 0 0 30px !important;
}

#join-hero .join-hero-eyebrow,
#join-hero .join-hero-eyebrow * {
  font-family: var(--sans) !important;

  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;
  letter-spacing: 0.20em !important;

  text-transform: uppercase !important;

  color: var(--charcoal) !important;
}

#join-hero .join-hero-eyebrow p {
  margin: 0 !important;
}


/* HERO – OVERSKRIFT */

#join-hero .join-hero-title {
  width: 100% !important;
  max-width: 700px !important;

  margin: 0 0 32px !important;
}

#join-hero .join-hero-title,
#join-hero .join-hero-title * {
  font-family: var(--serif) !important;

  font-size: clamp(60px, 5.3vw, 102px) !important;
  font-weight: 400 !important;

  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;

  color: var(--charcoal) !important;
}

#join-hero .join-hero-title p,
#join-hero .join-hero-title h1,
#join-hero .join-hero-title h2 {
  margin: 0 !important;
}


/* HERO – BESKRIVELSE */

#join-hero .join-hero-intro {
  max-width: 690px !important;
}

#join-hero .join-hero-intro,
#join-hero .join-hero-intro * {
  font-family: var(--sans) !important;

  font-size: 21px !important;
  font-weight: 400 !important;

  line-height: 1.65 !important;

  color: var(--charcoal) !important;
}

#join-hero .join-hero-intro p {
  margin: 0 !important;
}


/* HERO – HØYRE BILDE */

#join-hero .join-hero-image-column {
  height: 630px !important;
  overflow: hidden !important;
}

#join-hero .join-hero-image-column .sppb-column,
#join-hero .join-hero-image-column .sppb-column-addons,
#join-hero .join-hero-image,
#join-hero .join-hero-image .sppb-addon-content {
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

#join-hero .join-hero-image img {
  display: block !important;

  width: 100% !important;
  height: 630px !important;

  max-width: none !important;

  object-fit: cover !important;
  object-position: center center !important;

  border-radius: 0 !important;
}


/* ==========================================================
   4. INVITASJON – LYST TIL Å SYNGE?
   ========================================================== */

#join-invite {
  background: var(--cream) !important;

  padding: 115px 0 95px !important;
}

#join-invite .sppb-row-container {
  width: 100% !important;
  max-width: 1320px !important;

  margin: 0 auto !important;
  padding: 0 24px !important;

  box-sizing: border-box !important;
}

#join-invite .sppb-row {
  display: grid !important;

  grid-template-columns: 2fr 1fr !important;

  align-items: center !important;

  gap: 40px !important;

  margin: 0 !important;
  padding: 0 !important;

  --bs-gutter-x: 0 !important;
}

#join-invite .sppb-row > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  padding: 0 !important;
  margin: 0 !important;

  flex: none !important;
}


/* INVITASJON – OVERSKRIFT */

#join-invite .join-invite-title {
  max-width: 830px !important;
  margin: 0 0 30px !important;
}

#join-invite .join-invite-title,
#join-invite .join-invite-title * {
  font-family: var(--serif) !important;

  font-size: clamp(54px, 4.8vw, 88px) !important;
  font-weight: 400 !important;

  line-height: 1.07 !important;
  letter-spacing: -0.045em !important;

  color: var(--charcoal) !important;
}

#join-invite .join-invite-title p,
#join-invite .join-invite-title h2 {
  margin: 0 !important;
}


/* INVITASJON – BESKRIVELSE */

#join-invite .join-invite-description {
  max-width: 820px !important;
}

#join-invite .join-invite-description,
#join-invite .join-invite-description * {
  font-family: var(--sans) !important;

  font-size: 21px !important;
  font-weight: 400 !important;

  line-height: 1.7 !important;

  color: var(--charcoal) !important;
}

#join-invite .join-invite-description p {
  margin: 0 !important;
}


/* INVITASJON – KNAPPKOLONNE */

#join-invite .join-invite-action {
  display: flex !important;

  justify-content: flex-end !important;
  align-items: center !important;
}


/* INVITASJON – MELD INTERESSE */

#join-invite .join-invite-button {
  margin: 0 !important;
  padding: 0 !important;
}

#join-invite a.sppb-btn,
#join-invite .sppb-addon-button a,
#join-invite .join-invite-action a {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  min-width: 220px !important;
  min-height: 62px !important;

  padding: 0 26px !important;

  gap: 24px !important;

  background: var(--burgundy) !important;
  background-color: var(--burgundy) !important;

  color: var(--white) !important;

  border: 1px solid var(--burgundy) !important;
  border-radius: 0 !important;

  box-shadow: none !important;
  text-decoration: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1 !important;
}

#join-invite a.sppb-btn::after,
#join-invite .sppb-addon-button a::after,
#join-invite .join-invite-action a::after {
  content: "→" !important;

  margin-left: auto !important;

  font-size: 22px !important;
  font-weight: 400 !important;
}

#join-invite a.sppb-btn:hover,
#join-invite .sppb-addon-button a:hover,
#join-invite .join-invite-action a:hover {
  background: var(--burgundy-dark) !important;
  color: var(--white) !important;
}


/* ==========================================================
   5. INFORMASJON – FIRE FELT
   ========================================================== */

#join-details-row-one,
#join-details-row-two {
  background: var(--cream) !important;

  padding: 0 !important;
}

#join-details-row-two {
  padding-bottom: 120px !important;
}


/* INFORMASJON – BREDDE */

#join-details-row-one .sppb-row-container,
#join-details-row-two .sppb-row-container {
  width: 100% !important;
  max-width: 1320px !important;

  margin: 0 auto !important;
  padding: 0 24px !important;

  box-sizing: border-box !important;
}


/* INFORMASJON – TO KOLONNER */

#join-details-row-one .sppb-row,
#join-details-row-two .sppb-row {
  display: grid !important;

  grid-template-columns: 1fr 1fr !important;

  align-items: stretch !important;

  position: relative !important;

  margin: 0 !important;
  padding: 0 !important;

  --bs-gutter-x: 0 !important;
}

#join-details-row-one .sppb-row > *,
#join-details-row-two .sppb-row > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  flex: none !important;
}


/* INFORMASJON – FJERN ALLE KANTLINJER */

#join-details-row-one .sppb-row,
#join-details-row-two .sppb-row,
#join-details-row-one .sppb-row > *,
#join-details-row-two .sppb-row > *,
#join-details-row-one .join-detail-card,
#join-details-row-two .join-detail-card {
  border: none !important;
}


/* INFORMASJON – KORT */

#join-details-row-one .join-detail-card,
#join-details-row-two .join-detail-card {
  min-height: 255px !important;

  padding: 65px 65px 60px !important;

  box-sizing: border-box !important;
}


/* ==========================================================
   6. KUN ETT KRYSS
   ========================================================== */

/* ÉN VERTIKAL STREK GJENNOM BEGGE RADENE */

#join-details-row-one .sppb-row::before,
#join-details-row-two .sppb-row::before {
  content: "" !important;

  position: absolute !important;

  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;

  width: 1px !important;

  background: rgba(36, 35, 31, 0.14) !important;

  pointer-events: none !important;
  z-index: 2 !important;
}


/* ÉN HORISONTAL STREK MELLOM RADENE */

#join-details-row-one .sppb-row::after {
  content: "" !important;

  position: absolute !important;

  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  height: 1px !important;

  background: rgba(36, 35, 31, 0.14) !important;

  pointer-events: none !important;
  z-index: 2 !important;
}


/* INGEN EKSTRA LINJE UNDER NEDERSTE RAD */

#join-details-row-two .sppb-row::after {
  content: none !important;
  display: none !important;
}


/* ==========================================================
   7. INFORMASJON – TYPOGRAFI
   ========================================================== */

/* KORTOVERSKRIFTER */

#join-details-row-one .join-detail-title,
#join-details-row-two .join-detail-title {
  margin: 0 0 18px !important;
}

#join-details-row-one .join-detail-title,
#join-details-row-one .join-detail-title *,
#join-details-row-two .join-detail-title,
#join-details-row-two .join-detail-title * {
  font-family: var(--serif) !important;

  font-size: clamp(32px, 2.4vw, 42px) !important;
  font-weight: 400 !important;

  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;

  color: var(--charcoal) !important;
}

#join-details-row-one .join-detail-title p,
#join-details-row-two .join-detail-title p {
  margin: 0 !important;
}


/* KORTBESKRIVELSER */

#join-details-row-one .join-detail-description,
#join-details-row-one .join-detail-description *,
#join-details-row-two .join-detail-description,
#join-details-row-two .join-detail-description * {
  font-family: var(--sans) !important;

  font-size: 18px !important;
  font-weight: 400 !important;

  line-height: 1.7 !important;

  color: #777169 !important;
}

#join-details-row-one .join-detail-description p,
#join-details-row-two .join-detail-description p {
  margin: 0 !important;
}


/* ==========================================================
   8. KONTAKT – BILDE OG BURGUNDER
   ========================================================== */

#join-contact {
  background: var(--cream) !important;

  padding: 0 !important;
  margin-bottom: 0 !important;
}


/* KONTAKT – SENTRERT INNHOLD */

#join-contact .sppb-row-container {
  width: 100% !important;
  max-width: 1490px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

#join-contact .sppb-row {
  display: grid !important;

  grid-template-columns: 55% 45% !important;

  align-items: stretch !important;

  min-height: 700px !important;

  margin: 0 !important;
  padding: 0 !important;

  --bs-gutter-x: 0 !important;
}

#join-contact .sppb-row > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;

  flex: none !important;
}


/* KONTAKT – VENSTRE BILDE */

#join-contact .join-contact-image-column {
  height: 700px !important;

  padding: 0 !important;
  overflow: hidden !important;
}

#join-contact .join-contact-image-column .sppb-column,
#join-contact .join-contact-image-column .sppb-column-addons,
#join-contact .join-contact-image,
#join-contact .join-contact-image .sppb-addon-content {
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

#join-contact .join-contact-image img {
  display: block !important;

  width: 100% !important;
  height: 700px !important;

  max-width: none !important;

  object-fit: cover !important;
  object-position: center center !important;

  border-radius: 0 !important;
}


/* KONTAKT – YTRE HØYRE KOLONNE */

#join-contact .sppb-row > :nth-child(2) {
  display: flex !important;
  align-items: center !important;

  height: 700px !important;
  min-height: 700px !important;

  padding: 70px 75px !important;

  background: var(--burgundy) !important;
  color: var(--white) !important;

  box-sizing: border-box !important;
}


/* KONTAKT – INDRE INNHOLD UTEN EKSTRA PADDING */

#join-contact .sppb-row > :nth-child(2) .join-contact-content {
  display: block !important;

  width: 100% !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

#join-contact .sppb-row > :nth-child(2) .sppb-column,
#join-contact .sppb-row > :nth-child(2) .sppb-column-addons {
  width: 100% !important;
}


/* ==========================================================
   9. KONTAKT – TYPOGRAFI
   ========================================================== */

/* OVERTEKST */

#join-contact .join-contact-eyebrow {
  margin: 0 0 27px !important;
}

#join-contact .join-contact-eyebrow,
#join-contact .join-contact-eyebrow * {
  font-family: var(--sans) !important;

  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1.4 !important;
  letter-spacing: 0.20em !important;

  text-transform: uppercase !important;

  color: var(--white) !important;
}

#join-contact .join-contact-eyebrow p {
  margin: 0 !important;
}


/* STOR OVERSKRIFT – TA GJERNE KONTAKT */

#join-contact .join-contact-title {
  width: 100% !important;

  margin: 0 0 26px !important;
}

#join-contact .join-contact-title,
#join-contact .join-contact-title *,
#join-contact .join-contact-content
.sppb-column-addons > :nth-child(2),
#join-contact .join-contact-content
.sppb-column-addons > :nth-child(2) * {
  font-family: var(--serif) !important;

  font-size: clamp(54px, 4.2vw, 80px) !important;
  font-weight: 400 !important;

  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;

  color: var(--white) !important;
}

#join-contact .join-contact-title p,
#join-contact .join-contact-title h2 {
  margin: 0 !important;
}


/* KONTAKT – BESKRIVELSE */

#join-contact .join-contact-description {
  max-width: 500px !important;

  margin: 0 0 38px !important;
}

#join-contact .join-contact-description,
#join-contact .join-contact-description * {
  font-family: var(--sans) !important;

  font-size: 19px !important;
  font-weight: 400 !important;

  line-height: 1.65 !important;

  color: var(--white) !important;
}

#join-contact .join-contact-description p {
  margin: 0 !important;
}


/* ==========================================================
   10. KONTAKT – HVIT KNAPP
   ========================================================== */

#join-contact .join-contact-button {
  margin: 0 !important;
  padding: 0 !important;
}

#join-contact a.sppb-btn,
#join-contact .sppb-addon-button a,
#join-contact .sppb-row > :nth-child(2) a {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: space-between !important;

  min-width: 190px !important;
  min-height: 60px !important;

  padding: 0 25px !important;

  gap: 24px !important;

  background: var(--white) !important;
  background-color: var(--white) !important;

  color: var(--charcoal) !important;

  border: 1px solid var(--white) !important;
  border-radius: 0 !important;

  box-shadow: none !important;
  text-decoration: none !important;

  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1 !important;
}

#join-contact a.sppb-btn::after,
#join-contact .sppb-addon-button a::after,
#join-contact .sppb-row > :nth-child(2) a::after {
  content: "→" !important;

  margin-left: auto !important;

  font-size: 22px !important;
  font-weight: 400 !important;
}

#join-contact a.sppb-btn:hover,
#join-contact .sppb-addon-button a:hover,
#join-contact .sppb-row > :nth-child(2) a:hover {
  background: var(--cream) !important;
  color: var(--charcoal) !important;
}


/* ==========================================================
   11. NETTBRETT
   ========================================================== */

@media (max-width: 1100px) {

  /* HERO */

  #join-hero .sppb-row {
    grid-template-columns: 55% 45% !important;
  }

  #join-hero .join-hero-content {
    padding: 50px 35px !important;
  }

  #join-hero .join-hero-title,
  #join-hero .join-hero-title * {
    font-size: clamp(54px, 6vw, 78px) !important;
  }


  /* INVITASJON */

  #join-invite {
    padding: 90px 0 75px !important;
  }

  #join-invite .join-invite-title,
  #join-invite .join-invite-title * {
    font-size: clamp(52px, 5.5vw, 72px) !important;
  }


  /* INFORMASJON */

  #join-details-row-one .join-detail-card,
  #join-details-row-two .join-detail-card {
    padding: 48px 36px !important;
  }


  /* KONTAKT */

  #join-contact .sppb-row > :nth-child(2) {
    padding: 55px 45px !important;
  }

  #join-contact .join-contact-title,
  #join-contact .join-contact-title * {
    font-size: clamp(50px, 5vw, 70px) !important;
  }
}


/* ==========================================================
   12. MOBIL
   ========================================================== */

@media (max-width: 767px) {

  /* ----------------------------------
     HERO
     ---------------------------------- */

  #join-hero .sppb-row {
    grid-template-columns: 1fr !important;

    min-height: 0 !important;
  }

  #join-hero .join-hero-content {
    min-height: auto !important;

    padding: 60px 24px 55px !important;
  }

  #join-hero .join-hero-eyebrow {
    margin-bottom: 22px !important;
  }

  #join-hero .join-hero-title {
    max-width: 100% !important;
    margin-bottom: 25px !important;
  }

  #join-hero .join-hero-title,
  #join-hero .join-hero-title * {
    font-size: clamp(50px, 11vw, 68px) !important;

    line-height: 1.05 !important;
  }

  #join-hero .join-hero-intro,
  #join-hero .join-hero-intro * {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  #join-hero .join-hero-image-column,
  #join-hero .join-hero-image-column .sppb-column,
  #join-hero .join-hero-image-column .sppb-column-addons,
  #join-hero .join-hero-image,
  #join-hero .join-hero-image .sppb-addon-content {
    height: 360px !important;
  }

  #join-hero .join-hero-image img {
    height: 360px !important;
  }


  /* ----------------------------------
     INVITASJON
     ---------------------------------- */

  #join-invite {
    padding: 64px 0 24px !important;
  }

  #join-invite .sppb-row-container {
    padding: 0 24px !important;
  }

  #join-invite .sppb-row {
    grid-template-columns: 1fr !important;

    gap: 32px !important;
  }

  #join-invite .join-invite-title,
  #join-invite .join-invite-title * {
    font-size: clamp(46px, 9vw, 62px) !important;
  }

  #join-invite .join-invite-description,
  #join-invite .join-invite-description * {
    font-size: 17px !important;
  }

  #join-invite .join-invite-action {
    justify-content: flex-start !important;
  }


  /* ----------------------------------
     INFORMASJON
     ---------------------------------- */

  #join-details-row-one .sppb-row-container,
  #join-details-row-two .sppb-row-container {
    padding: 0 24px !important;
  }

  #join-details-row-one .sppb-row,
  #join-details-row-two .sppb-row {
    grid-template-columns: 1fr !important;
  }

  #join-details-row-one .join-detail-card,
  #join-details-row-two .join-detail-card {
    min-height: auto !important;

    padding: 40px 0 !important;
  }


  /* Skjul krysset på mobil */

  #join-details-row-one .sppb-row::before,
  #join-details-row-two .sppb-row::before,
  #join-details-row-one .sppb-row::after {
    display: none !important;
    content: none !important;
  }


  /* Horisontale linjer mellom kortene */

  #join-details-row-one .sppb-row > *,
  #join-details-row-two .sppb-row > :first-child {
    border-bottom: 1px solid rgba(36, 35, 31, 0.14) !important;
  }


  /* Korttypografi */

  #join-details-row-one .join-detail-title,
  #join-details-row-one .join-detail-title *,
  #join-details-row-two .join-detail-title,
  #join-details-row-two .join-detail-title * {
    font-size: 34px !important;
  }

  #join-details-row-one .join-detail-description,
  #join-details-row-one .join-detail-description *,
  #join-details-row-two .join-detail-description,
  #join-details-row-two .join-detail-description * {
    font-size: 16px !important;
  }

  #join-details-row-two {
    padding-bottom: 24px !important;
  }


  /* ----------------------------------
     KONTAKT
     ---------------------------------- */

  #join-contact .sppb-row {
    grid-template-columns: 1fr !important;

    min-height: 0 !important;
  }

  #join-contact .join-contact-image-column,
  #join-contact .join-contact-image-column .sppb-column,
  #join-contact .join-contact-image-column .sppb-column-addons,
  #join-contact .join-contact-image,
  #join-contact .join-contact-image .sppb-addon-content {
    height: 360px !important;
  }

  #join-contact .join-contact-image img {
    height: 360px !important;
  }

  #join-contact .sppb-row > :nth-child(2) {
    height: auto !important;
    min-height: 0 !important;

    padding: 65px 28px 75px !important;
  }

  #join-contact .join-contact-eyebrow {
    margin-bottom: 25px !important;
  }

  #join-contact .join-contact-title,
  #join-contact .join-contact-title * {
    font-size: clamp(48px, 9vw, 65px) !important;
  }

  #join-contact .join-contact-description,
  #join-contact .join-contact-description * {
    font-size: 17px !important;
  }
}


/* ==========================================================
   SLUTT – BLI MED
   ========================================================== */

   /* =====================================================
   BLI MED – FJERN MELLOMROM VED KONTAKTBILDET
   ===================================================== */

/* Ingen avstand mellom kolonnene */

#join-contact .sppb-row {
  gap: 0 !important;
  column-gap: 0 !important;
}


/* Fjern padding fra ytre bildekolonne */

#join-contact .sppb-row > :first-child {
  padding: 0 !important;
  margin: 0 !important;

  overflow: hidden !important;
}


/* Fjern innvendig padding rundt bildet */

#join-contact .sppb-row > :first-child .sppb-column,
#join-contact .sppb-row > :first-child .sppb-column-addons,
#join-contact .sppb-row > :first-child .sppb-addon-wrapper,
#join-contact .sppb-row > :first-child .sppb-addon-content,
#join-contact .sppb-row > :first-child .sppb-addon-single-image {
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Sørg for at bildet fyller hele kolonnen */

#join-contact .sppb-row > :first-child img {
  display: block !important;

  width: 100% !important;
  height: 700px !important;

  max-width: none !important;

  object-fit: cover !important;
}


/* Mobil */

@media (max-width: 767px) {
  #join-contact .sppb-row > :first-child img {
    height: 360px !important;
  }
}
/* =====================================================
   BLI MED – FJERN MELLOMROM OVER FOOTER
   ===================================================== */

#join-contact {
  padding-bottom: 0 !important;
  margin-bottom: -8px !important;
}

#join-contact .sppb-row-container,
#join-contact .sppb-row {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
/* =========================================
   ST. LAURENTIUSKORET
   BILDEALBUM – OPPDATERT CSS
   ========================================= */


/* =========================================
   1. TOPPMENY
   ========================================= */

/* Kremfarget toppmeny på bildealbumsiden */

body:has(#gallery-hero) .container-header {
    position: relative !important;
    background: var(--cream) !important;
    z-index: 100;
}

/* Mørke menylenker */

body:has(#gallery-hero) .container-header a,
body:has(#gallery-hero) .container-header .mod-menu a,
body:has(#gallery-hero) .container-header .nav-link {
    color: var(--charcoal) !important;
}

/* Svart logo */

body:has(#gallery-hero) .container-header .navbar-brand img,
body:has(#gallery-hero) .container-header .site-logo img,
body:has(#gallery-hero) .container-header .navbar-brand svg {
    filter: brightness(0) !important;
}


/* =========================================
   2. FELLES INNSTILLINGER
   ========================================= */

#gallery-hero,
[id^="gallery-year-"],
#gallery-join {
    background: var(--cream) !important;
    color: var(--charcoal);
    box-sizing: border-box;
}

#gallery-hero .sppb-row-container,
[id^="gallery-year-"] .sppb-row-container,
#gallery-join .sppb-row-container {
    max-width: 1320px !important;
    width: calc(100% - 48px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================
   3. INTRODUKSJON
   ========================================= */

#gallery-hero {
    padding: 70px 0 0 !important;
    margin: 0 !important;
}


/* ØYEBLIKK – LITEN TEKST */

#gallery-hero .gallery-hero-eyebrow,
#gallery-hero .gallery-hero-eyebrow *,
#gallery-hero .gallery-hero-content
.sppb-column-addons > .sppb-addon-wrapper:first-child,
#gallery-hero .gallery-hero-content
.sppb-column-addons > .sppb-addon-wrapper:first-child * {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    color: var(--charcoal) !important;
}

.gallery-hero-eyebrow {
    margin-bottom: 24px !important;
}


/* MUSIKKEN I BILDER */

.gallery-hero-title,
.gallery-hero-title h1,
.gallery-hero-title h2,
.gallery-hero-title p {
    font-family: "Libre Caslon Display", Georgia, serif !important;
    font-size: clamp(60px, 7vw, 112px) !important;
    font-weight: 400 !important;
    letter-spacing: -0.045em !important;
    line-height: 1.04 !important;
    color: var(--charcoal) !important;
}

.gallery-hero-title {
    margin-bottom: 28px !important;
}


/* INTRODUKSJONSTEKST */

.gallery-hero-intro {
    max-width: 850px;
    margin-bottom: 70px !important;
}

.gallery-hero-intro,
.gallery-hero-intro p {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: clamp(18px, 1.5vw, 23px) !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: var(--charcoal) !important;
}


/* STORT KORBILDE */

.gallery-hero-image {
    width: 100%;
    margin: 0 !important;
}

.gallery-hero-image .sppb-addon-single-image-container {
    width: 100% !important;
    overflow: hidden;
}

.gallery-hero-image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
    border-radius: 0 !important;
}


/* =========================================
   4. ÅRSSEKSJONER
   ========================================= */

[id^="gallery-year-"] {
    padding: 100px 0 35px !important;
    margin: 0 !important;
}


/* =========================================
   5. BILDEGALLERI
   ========================================= */

/* Automatisk plassering */

.gallery-year-images .sppb-column-addons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px !important;
    align-items: stretch;
}

/* Fjern standardavstander */

.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Årstall med skillelinje */

.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:first-child {
    grid-column: 1 / -1;

    padding-bottom: 20px !important;
    margin-bottom: 0 !important;

    border-bottom: 1px solid rgba(36, 35, 31, 0.16);
}


/* ÅRSTALL – MINDRE FONT */

.gallery-year-title,
.gallery-year-title *,
.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:first-child
.sppb-addon-content,
.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:first-child
.sppb-addon-content * {
    font-family: "Libre Caslon Display", Georgia, serif !important;
    font-size: clamp(36px, 3.2vw, 50px) !important;
    font-weight: 400 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
    color: var(--charcoal) !important;
}

.gallery-year-title {
    margin: 0 !important;
}


/* BILDEFORMAT */

.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:not(:first-child) {
    aspect-ratio: 4 / 5;
    overflow: hidden !important;
    position: relative;
}

/* Første bilde får dobbel bredde */

.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:nth-child(2) {
    grid-column: span 2;
    aspect-ratio: 16 / 10;
}

/* Bildene fyller bildeflatene */

.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:not(:first-child) > div,
.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:not(:first-child) .sppb-addon,
.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:not(:first-child) .sppb-addon-content,
.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:not(:first-child) .sppb-addon-single-image-container {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:not(:first-child) img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
    transition: transform 0.5s ease;
}

/* Hover på bilder */

.gallery-year-images
.sppb-column-addons > .sppb-addon-wrapper:not(:first-child):hover img {
    transform: scale(1.035);
}


/* =========================================
   6. AVSLUTNING – BLI MED
   ========================================= */

#gallery-join {
    padding: 110px 0 125px !important;
    margin: 0 !important;
}

#gallery-join .sppb-row-container {
    border-top: 1px solid rgba(36, 35, 31, 0.14);
    padding-top: 110px;
}

/* Midtstill kolonnene vertikalt */

#gallery-join .sppb-row {
    align-items: center !important;
}


/* BLI EN DEL AV FELLESSKAPET */

.gallery-join-eyebrow {
    margin-bottom: 32px !important;
}

.gallery-join-eyebrow,
.gallery-join-eyebrow p {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    color: var(--charcoal) !important;
}


/* OVERSKRIFT */

.gallery-join-title,
.gallery-join-title h2,
.gallery-join-title h3,
.gallery-join-title p {
    font-family: "Libre Caslon Display", Georgia, serif !important;
    font-size: clamp(52px, 5.5vw, 88px) !important;
    font-weight: 400 !important;
    letter-spacing: -0.04em !important;
    line-height: 1.08 !important;
    color: var(--charcoal) !important;
}

.gallery-join-title {
    max-width: 800px;
    margin: 0 !important;
}


/* HØYRE KOLONNE */

.gallery-join-action {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.gallery-join-action .sppb-column-addons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100%;
}


/* BURGUNDERRØD KNAPP */

#gallery-join .gallery-join-action a,
#gallery-join .gallery-join-action .sppb-btn,
#gallery-join a.gallery-join-button,
#gallery-join .gallery-join-button .sppb-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    min-height: 60px !important;
    padding: 19px 28px !important;

    background: var(--burgundy) !important;
    color: var(--white) !important;

    border: 1px solid var(--burgundy) !important;
    border-radius: 0 !important;

    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;

    box-shadow: none !important;
    cursor: pointer;

    transition: background 0.25s ease,
                border-color 0.25s ease;
}

/* Samme pil som på de øvrige burgunderrøde handlingsknappene. */
#gallery-join .gallery-join-action a::after,
#gallery-join .gallery-join-action .sppb-btn::after,
#gallery-join a.gallery-join-button::after,
#gallery-join .gallery-join-button .sppb-btn::after {
    content: "→" !important;
    margin-left: 28px !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transition: transform 0.25s ease !important;
}

#gallery-join .gallery-join-action a:hover::after,
#gallery-join .gallery-join-action .sppb-btn:hover::after,
#gallery-join a.gallery-join-button:hover::after,
#gallery-join .gallery-join-button .sppb-btn:hover::after {
    transform: translateX(5px);
}


/* HOVER */

#gallery-join .gallery-join-action a:hover,
#gallery-join .gallery-join-action .sppb-btn:hover,
#gallery-join a.gallery-join-button:hover,
#gallery-join .gallery-join-button .sppb-btn:hover {
    background: var(--burgundy-dark) !important;
    border-color: var(--burgundy-dark) !important;
    color: var(--white) !important;
    text-decoration: none !important;
}


/* =========================================
   7. NETTBRETT
   ========================================= */

@media (max-width: 991px) {

    #gallery-hero {
        padding-top: 65px !important;
    }

    .gallery-hero-intro {
        margin-bottom: 50px !important;
    }

    .gallery-year-images .sppb-column-addons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px !important;
    }

    .gallery-year-images
    .sppb-column-addons > .sppb-addon-wrapper:nth-child(2) {
        grid-column: span 2;
        aspect-ratio: 16 / 9;
    }

    #gallery-join {
        padding: 85px 0 100px !important;
    }

    #gallery-join .sppb-row-container {
        padding-top: 85px;
    }
}


/* =========================================
   8. MOBIL
   ========================================= */

@media (max-width: 767px) {

    #gallery-hero .sppb-row-container,
    [id^="gallery-year-"] .sppb-row-container,
    #gallery-join .sppb-row-container {
        width: calc(100% - 32px) !important;
    }

    /* Introduksjon */

    #gallery-hero {
        padding: 45px 0 0 !important;
    }

    .gallery-hero-eyebrow {
        margin-bottom: 18px !important;
    }

    .gallery-hero-title,
    .gallery-hero-title h1,
    .gallery-hero-title h2,
    .gallery-hero-title p {
        font-size: clamp(48px, 11vw, 68px) !important;
        line-height: 1.08 !important;
    }

    .gallery-hero-intro {
        margin-bottom: 38px !important;
    }

    .gallery-hero-intro,
    .gallery-hero-intro p {
        font-size: 17px !important;
    }

    .gallery-hero-image img {
        aspect-ratio: 4 / 3;
    }

    /* Årstall og bilder */

    [id^="gallery-year-"] {
        padding: 64px 0 16px !important;
    }

    .gallery-year-images .sppb-column-addons {
        grid-template-columns: 1fr;
        gap: 16px !important;
    }

    .gallery-year-images
    .sppb-column-addons > .sppb-addon-wrapper:first-child {
        margin-bottom: 8px !important;
    }

    .gallery-year-images
    .sppb-column-addons > .sppb-addon-wrapper:not(:first-child) {
        grid-column: span 1;
        aspect-ratio: 4 / 3;
    }

    /* Avslutning */

    #gallery-join {
        padding: 48px 0 64px !important;
    }

    #gallery-join .sppb-row-container {
        padding-top: 40px;
    }

    .gallery-join-title,
    .gallery-join-title h2,
    .gallery-join-title h3,
    .gallery-join-title p {
        font-size: clamp(48px, 10vw, 65px) !important;
    }

    .gallery-join-action {
        margin-top: 35px !important;
        justify-content: flex-start !important;
    }

    .gallery-join-action .sppb-column-addons {
        justify-content: flex-start !important;
    }

    #gallery-join .gallery-join-action a,
    #gallery-join .gallery-join-action .sppb-btn {
        min-height: 56px !important;
        padding: 16px 24px !important;
    }
}
/* =========================================
   ST. LAURENTIUSKORET
   KONTAKT-SIDEN
   ========================================= */


/* =========================================
   1. TOPPMENY
   ========================================= */

body:has(#contact-hero) .container-header {
    position: relative !important;
    background: var(--white) !important;
    z-index: 100;
}

/* Mørke menylenker */

body:has(#contact-hero) .container-header a,
body:has(#contact-hero) .container-header .mod-menu a,
body:has(#contact-hero) .container-header .nav-link {
    color: var(--charcoal) !important;
}

/* Svart logo */

body:has(#contact-hero) .container-header .navbar-brand img,
body:has(#contact-hero) .container-header .site-logo img,
body:has(#contact-hero) .container-header .navbar-brand svg {
    filter: brightness(0) !important;
}


/* =========================================
   2. FELLES INNSTILLINGER
   ========================================= */

#contact-hero,
#contact-main {
    box-sizing: border-box;
    color: var(--charcoal);
}

#contact-hero .sppb-row-container,
#contact-main .sppb-row-container {
    width: calc(100% - 48px) !important;
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================
   3. INTRODUKSJON
   ========================================= */

/* Introduksjon med bakgrunn i full bredde */

#contact-hero {
    background: var(--white) !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 90px 0 150px !important;
}


/* VI HØRER GJERNE FRA DEG */

#contact-hero .contact-hero-eyebrow,
#contact-hero .contact-hero-eyebrow *,
#contact-hero .contact-hero-content
.sppb-column-addons > .sppb-addon-wrapper:first-child * {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    color: var(--charcoal) !important;
}

.contact-hero-eyebrow {
    margin-bottom: 28px !important;
}


/* KONTAKT OSS */

.contact-hero-title,
.contact-hero-title h1,
.contact-hero-title h2,
.contact-hero-title p {
    font-family: "Libre Caslon Display", Georgia, serif !important;
    font-size: clamp(70px, 8vw, 124px) !important;
    font-weight: 400 !important;
    letter-spacing: -0.045em !important;
    line-height: 1.05 !important;
    color: var(--charcoal) !important;
}

.contact-hero-title {
    margin-bottom: 36px !important;
}


/* INTRODUKSJONSTEKST */

.contact-hero-intro {
    max-width: 850px;
    margin: 0 !important;
}

.contact-hero-intro,
.contact-hero-intro p {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: clamp(19px, 1.6vw, 24px) !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: var(--charcoal) !important;
}


/* =========================================
   4. KONTAKTSEKSJON
   ========================================= */

#contact-main {
    background: var(--cream) !important;
    padding: 95px 0 130px !important;
    margin: 0 !important;
}

#contact-main .sppb-row {
    align-items: flex-start !important;
}


/* =========================================
   5. VENSTRE KOLONNE
   ========================================= */

.contact-details {
    padding-top: 0 !important;
}

/* Legg sosiale knapper ved siden av hverandre */

#contact-main .contact-details .sppb-column-addons {
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
}

/* Tekstblokkene bruker hele bredden */

#contact-main .contact-details
.sppb-column-addons > .sppb-addon-wrapper {
    flex: 0 0 100%;
    min-width: 0;
    margin: 0 !important;
}

/* Mellomrom mellom etikett og e-post */

#contact-main .contact-details
.sppb-column-addons > .sppb-addon-wrapper:nth-child(1) {
    margin-bottom: 12px !important;
}

/* Mellomrom etter e-post */

#contact-main .contact-details
.sppb-column-addons > .sppb-addon-wrapper:nth-child(2) {
    margin-bottom: 48px !important;
}

/* Mellomrom mellom etikett og kontaktperson */

#contact-main .contact-details
.sppb-column-addons > .sppb-addon-wrapper:nth-child(3) {
    margin-bottom: 12px !important;
}

/* Mellomrom før sosiale medier */

#contact-main .contact-details
.sppb-column-addons > .sppb-addon-wrapper:nth-child(4) {
    margin-bottom: 45px !important;
}

/* Facebook og Instagram bruker kun nødvendig bredde */

#contact-main .contact-details
.sppb-column-addons > .sppb-addon-wrapper:nth-child(n+5) {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* Fjern standardavstand i tekstblokker */

.contact-details .sppb-addon-content p {
    margin: 0 !important;
}


/* E-POST OG KONTAKTPERSON – ETIKETTER */

.contact-details-label,
.contact-details-label p,
.contact-details-label span {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    color: var(--charcoal) !important;
}


/* E-POSTADRESSE */

.contact-email,
.contact-email p,
.contact-email a {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: var(--charcoal) !important;
    text-decoration: none !important;
}

.contact-email a:hover {
    color: var(--burgundy) !important;
    text-decoration: underline !important;
}


/* KONTAKTPERSON */

.contact-person,
.contact-person p {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: var(--charcoal) !important;
}


/* =========================================
   6. SOSIALE MEDIER
   ========================================= */

#contact-main .contact-details .sppb-addon-button a,
#contact-main .contact-details .sppb-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;
    min-height: 54px !important;
    padding: 14px 22px !important;

    background: transparent !important;
    color: var(--charcoal) !important;

    border: 1px solid var(--charcoal) !important;
    border-radius: 0 !important;

    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;

    box-shadow: none !important;
    white-space: nowrap !important;

    transition: background 0.25s ease,
                color 0.25s ease;
}

/* Ikonene */

#contact-main .contact-details .sppb-addon-button a i,
#contact-main .contact-details .sppb-btn i {
    color: inherit !important;
    font-size: 18px !important;
}

/* Hover */

#contact-main .contact-details .sppb-addon-button a:hover,
#contact-main .contact-details .sppb-btn:hover {
    background: var(--burgundy) !important;
    border-color: var(--burgundy) !important;
    color: var(--white) !important;
}


/* =========================================
   7. HØYRE KOLONNE – KONTAKTBOKS
   ========================================= */

/* Lys bakgrunn og innvendig luft */

#contact-main .contact-message-panel .sppb-column,
#contact-main .contact-message-panel.sppb-column {
    background: var(--white) !important;
    padding: 55px 55px 60px !important;
    box-sizing: border-box;
}

/* Fjern ekstra standardavstander */

.contact-message-panel .sppb-addon-content p {
    margin-top: 0 !important;
}


/* TA KONTAKT */

.contact-message-eyebrow,
.contact-message-eyebrow p,
.contact-message-eyebrow span {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    color: var(--charcoal) !important;
}

.contact-message-eyebrow {
    margin-bottom: 28px !important;
}


/* VI VIL GJERNE HØRE FRA DEG */

.contact-message-title,
.contact-message-title h2,
.contact-message-title h3,
.contact-message-title p {
    font-family: "Libre Caslon Display", Georgia, serif !important;
    font-size: clamp(38px, 2.8vw, 52px) !important;
    font-weight: 400 !important;
    letter-spacing: -0.04em !important;
    line-height: 1.1 !important;
    color: var(--charcoal) !important;
}

.contact-message-title {
    margin-bottom: 30px !important;
}


/* BESKRIVELSE */

.contact-message-description {
    max-width: 620px;
    margin-bottom: 38px !important;
}

.contact-message-description,
.contact-message-description p {
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    color: var(--charcoal) !important;
}


/* =========================================
   8. SEND E-POST-KNAPP
   ========================================= */

#contact-main .contact-message-panel .sppb-addon-button a,
#contact-main .contact-message-panel .sppb-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    min-height: 62px !important;
    padding: 18px 26px !important;

    background: var(--burgundy) !important;
    color: var(--white) !important;

    border: 1px solid var(--burgundy) !important;
    border-radius: 0 !important;

    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;

    box-shadow: none !important;
    white-space: nowrap !important;

    transition: background 0.25s ease,
                border-color 0.25s ease;
}

/* Pil på knappen */

#contact-main .contact-message-panel .sppb-addon-button a::after,
#contact-main .contact-message-panel .sppb-btn::after {
    content: "→";
    display: inline-block;
    margin-left: 32px;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
}

/* Hover */

#contact-main .contact-message-panel .sppb-addon-button a:hover,
#contact-main .contact-message-panel .sppb-btn:hover {
    background: var(--burgundy-dark) !important;
    border-color: var(--burgundy-dark) !important;
    color: var(--white) !important;
}


/* =========================================
   9. NETTBRETT
   ========================================= */

@media (max-width: 991px) {

    #contact-hero {
        padding: 75px 0 110px !important;
    }

    #contact-main {
        padding: 75px 0 100px !important;
    }

    #contact-main .contact-message-panel .sppb-column,
    #contact-main .contact-message-panel.sppb-column {
        padding: 40px !important;
    }

    .contact-message-title,
    .contact-message-title h2,
    .contact-message-title h3,
    .contact-message-title p {
        font-size: clamp(46px, 5vw, 64px) !important;
    }
}


/* =========================================
   10. MOBIL
   ========================================= */

@media (max-width: 767px) {

    #contact-hero .sppb-row-container,
    #contact-main .sppb-row-container {
        width: calc(100% - 32px) !important;
    }

    /* Introduksjon */

    #contact-hero {
        padding: 50px 0 36px !important;
    }

    .contact-hero-title,
    .contact-hero-title h1,
    .contact-hero-title h2,
    .contact-hero-title p {
        font-size: clamp(54px, 12vw, 76px) !important;
    }

    .contact-hero-intro,
    .contact-hero-intro p {
        font-size: 17px !important;
        line-height: 1.6 !important;
    }

    /* Kontaktseksjon */

    #contact-main {
        padding: 36px 0 64px !important;
    }

    .contact-details {
        margin-bottom: 48px !important;
    }

    #contact-main .contact-details
    .sppb-column-addons > .sppb-addon-wrapper:nth-child(2),
    #contact-main .contact-details
    .sppb-column-addons > .sppb-addon-wrapper:nth-child(4) {
        margin-bottom: 40px !important;
    }

    .contact-email,
    .contact-email p,
    .contact-person,
    .contact-person p {
        font-size: 17px !important;
    }

    /* Sosiale knapper */

    #contact-main .contact-details
    .sppb-column-addons {
        column-gap: 10px !important;
        row-gap: 10px !important;
    }

    #contact-main .contact-details
    .sppb-addon-button a {
        padding: 12px 16px !important;
        min-height: 50px !important;
    }

    /* Kontaktboks */

    #contact-main .contact-message-panel .sppb-column,
    #contact-main .contact-message-panel.sppb-column {
        padding: 35px 28px 40px !important;
    }

    .contact-message-title,
    .contact-message-title h2,
    .contact-message-title h3,
    .contact-message-title p {
        font-size: clamp(43px, 9vw, 58px) !important;
    }

    .contact-message-description,
    .contact-message-description p {
        font-size: 16px !important;
    }

    #contact-main .contact-message-panel .sppb-btn {
        min-height: 56px !important;
        padding: 16px 20px !important;
    }
}
