/* ==========================================================================
   finstadjorgensen.no — stilark gjenoppbygd fra eSite-originalen (#27778).
   Rekkefølgen speiler originalens <link>-rekkefølge, fordi kaskaden avgjør
   hvem som vinner når samme id styles i flere filer. Layout-filene var egne
   pr sidetype i eSite; her er de scopet med body-klasse:
     pt-forside   = layout 48365 + Style_set 48594/46527
     pt-underside = layout 31336 (alle undersider)
     pt-prosjekt  = layout 45847 + Style_set 46207 (prosjektsidene, i tillegg til pt-underside)
     ss-kort      = Style_set 44552/46527/50274 (identiske: prosjekt-/PDF-kortene)
   ========================================================================== */

/* ---- Font Awesome: som originalen lastes FA 5 Pro fra pro.fontawesome.com (samme URL og integrity,
   se master.hash) og deretter FA 4.0.3 (selvhostet kopi av netdna-filen, som vant for .fa). ---- */

/* ---- animate.css 3.5.2 (MIT) — kun fadeInUp, som Om oss og Åpenhetsloven bruker ---- */
.animated { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
@-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0); } to { opacity: 1; -webkit-transform: none; transform: none; } }
@keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0); } to { opacity: 1; -webkit-transform: none; transform: none; } }
.fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; }
@media (prefers-reduced-motion: reduce) { .animated { -webkit-animation: none; animation: none; } }

/* ---- simplelightbox 2.1.4 (MIT) — det lysboksen i site.js trenger ---- */
body.hidden-scroll { overflow: hidden; }
.sl-overlay { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: #000; opacity: .7; display: none; z-index: 1035; }
.sl-wrapper { display: none; z-index: 1040; }
.sl-wrapper * { box-sizing: border-box; }
.sl-overlay.is-open, .sl-wrapper.is-open { display: block; }
.sl-wrapper button { border: 0 none; background: #ba0011; color: #fff; font-size: 28px; padding: 0; cursor: pointer; }
.sl-wrapper button:hover { opacity: 0.7; }
.sl-wrapper .sl-close { position: fixed; right: 30px; top: 30px; z-index: 10060; margin-top: -14px; margin-right: -14px; height: 44px; width: 44px; line-height: 44px; font-family: Arial, Baskerville, monospace; font-size: 3rem; }
.sl-wrapper .sl-counter { position: fixed; top: 30px; left: 30px; z-index: 1060; color: #fff; font-size: 1rem; }
.sl-wrapper .sl-navigation button { position: fixed; top: 50%; margin-top: -22px; height: 44px; width: 22px; line-height: 44px; text-align: center; display: block; z-index: 10060; font-family: Arial, Baskerville, monospace; }
.sl-wrapper .sl-navigation button.sl-next { right: 5px; font-size: 2rem; }
.sl-wrapper .sl-navigation button.sl-prev { left: 5px; font-size: 2rem; }
.sl-wrapper .sl-image { position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; }
.sl-wrapper .sl-image img { max-width: 80vw; max-height: 90vh; opacity: 0; transition: opacity .35s; }
.sl-wrapper .sl-image img.sl-loaded { opacity: 1; }
@media (min-width: 35.5em) {
  .sl-wrapper .sl-navigation button { width: 44px; }
  .sl-wrapper .sl-navigation button.sl-next { right: 10px; font-size: 3rem; }
  .sl-wrapper .sl-navigation button.sl-prev { left: 10px; font-size: 3rem; }
}

/* ---- css_styles 15166 (felles for alle sider) — det siden bruker, i original rekkefølge ---- */
a { color: #BA0011; }
a:hover { color: #BA0011; text-decoration: underline; }
body { color: #444444; font-family: 'Raleway', sans-serif; font-size: 16px; }
.nounderline { text-decoration: none !important; }
.projectintro { max-width: 900px; margin-bottom: 16px; margin-top: 20px; text-align: center; margin-left: auto; margin-right: auto; font-size: 150% !important; }
.zoom { background-size: 200%; background-repeat: no-repeat; background-position: center center; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.zoom1 { background-size: 50%; background-repeat: no-repeat; background-position: center center; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.greyfade { background-color: rgba(0,0,0,0.2); -webkit-transition: all 0.4s ease-in-out; transition: all 0.3s ease-in-out; padding: 15px; }
.greyfade:hover { background-color: rgba(0,0,0,0.5); }
.greyfade1 { background-color: rgba(0,0,0,0.5); -webkit-transition: all 0.4s ease-in-out; transition: all 0.3s ease-in-out; padding: 15px; }
.greyfade1:hover { background-color: rgba(0,0,0,0.7); }
.ring-btn-pos { font-family: 'Arial'; font-weight: 400; font-size: 1.em; text-transform: uppercase; color: #ffffff; background-color: #ba0011; position: relative; margin-top: 10px; margin-bottom: 10px; display: inline-block; padding: 10px 30px; border: 1px solid #ba0011; transition: transform .2s; }
.ring-btn-pos:hover { color: #ffffff !important; transform: scale(1.08); text-decoration: none !important; }
.ansattimage { margin-left: auto; margin-right: auto; text-align: center; transition: all .3s ease; }
.ansattimage:hover { transform: scale(1.08,1.08); }
.IntroText { font-size: 1.0em; font-weight: 600; }
.mappeintroduction { font-size: 1.0em; line-height: 1.5em; font-weight: 600; }
.ESiteTextBox { color: #000000 !important; font-size: 1em; background: none !important; padding: 10px 0px 10px 10px !important; font-style: normal !important; text-shadow: none !important; border: #000000 1px solid; border-radius: 5px !important; width: 100% !important; clear: both; }
h2 { font-family: 'Arial'; color: #ba0011; margin-top: 55px; font-size: 2.3em; }
h2 a { color: #ba0011; text-decoration: none; }
h2 a:hover { color: #ba0011; text-decoration: none; }
.forsideboks { text-align: center; position: relative; z-index: 2147483647; background-color: #eaeaea !important; display: block; max-width: 900px; padding-top: 0px; margin-top: 0px; margin-left: auto; margin-right: auto; }
.forsidetekst { color: #444; font-family: 'Arial'; font-size: 1.3em; line-height: 1.2em; max-width: 700px; text-align: center; margin-left: auto; margin-right: auto; }
.loop-container { position: relative; width: 100%; overflow: hidden; background-size: cover; background-position: center; }
a.sociallinks { color: #ba0011; text-decoration: none; font-size: 2.35em; transition: all .1s ease; }
a.sociallinks:hover { color: #ba0011; text-decoration: none; font-size: 2.85em; }
.linkhand { cursor: pointer; }
.prevtekstholder { margin-left: auto; margin-right: auto; float: none; }
.fargestrek { width: 100px; height: 1px; background: #000; }
.graastrek { width: 20px; height: 1px; background: #666; }
.flexbox-container { padding: 15px 15px 15px 25px; display: flex; align-items: center; }
.ingress { font-size: 1.3em; line-height: 1.5em; font-weight: 300; }
a.stor-btn { font-family: 'Arial'; font-weight: 400; font-size: 1.35em; color: #ba0011; position: relative; margin-top: 10px; display: inline-block; padding: 10px 30px; border: 1px solid #ba0011; transition: all .3s ease; }
a.stor-btn:hover { color: #fff; text-decoration: none; background-color: #ba0011; border: 1px solid #ba0011; }
.menyknappsub { font-family: 'Arial'; min-width: 150px; font-weight: 400; font-size: 1.0em; color: #ba0011; position: relative; margin-left: 5px; margin-right: 5px; margin-top: 10px; display: inline-block; padding: 10px; text-transform: uppercase; border: 1px solid #ba0011; transition: transform .2s; }
.menyknappsub:hover { text-decoration: none; transform: scale(1.05); z-index: 9999999; }
a.stor-btn-pos { font-family: 'Arial'; font-weight: 400; font-size: 1.15em; text-transform: uppercase; color: #ffffff; background-color: #ba0011; position: relative; margin-top: 10px; display: inline-block; padding: 10px 30px; border: 1px solid #ba0011; transition: transform .2s; }
a.stor-btn-pos:hover { color: #fff; text-decoration: none; background-color: #ba0011; border: 1px solid #ffffff; transform: scale(1.10); }
.CustomFormSendButton { font-family: 'Arial'; font-weight: 400; font-size: 1.15em; text-transform: uppercase; color: #ffffff; background-color: #ba0011; position: relative; margin-top: 10px; display: inline-block; padding: 10px 30px; border: 1px solid #ba0011; transition: transform .2s; }
.CustomFormSendButton:hover { color: #fff; text-decoration: none; background-color: #ba0011; border: 1px solid #ffffff; transform: scale(1.10); }
a.tilbake-btn { font-weight: 400; font-size: 1em; color: #ba0011; position: relative; margin-top: 10px; display: inline-block; padding: 10px 15px; border: 1px solid #ba0011; text-decoration: none; transition: all .3s ease; }
a.tilbake-btn:hover { color: #fff; text-decoration: none; background-color: #ba0011; }
#FooterHolder { padding: 20px 15px 30px 15px; }
.artikkelpreheading { font-family: 'Arial'; font-size: 1.3em; line-height: 1.2em; color: #fff; }
h1 { color: #1C1C1C; font-family: 'Arial'; font-size: 3.0em; text-decoration: none; line-height: 1em; }
h4 { color: #1C1C1C; font-family: 'Arial'; font-size: 2.8em; text-decoration: none; line-height: 1em; }
.boxshadowtop { box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.1); }
#HeaderHoldersub { position: relative; top: 0px; z-index: 99; background-color: rgba(255,255,255,0.92); }
#DisplayUnderside { padding: 0px 15px 0px 15px; }
@media (min-width: 768px) {
  h2 { font-family: 'Arial'; color: #ba0011; margin-top: 55px; font-size: 2.7em; }
  .forsideboks { padding-top: 40px; margin-top: -180px; }
  #DisplayUnderside { padding: 0px 35px 0px 35px; }
  #HeaderHoldersub { position: fixed; top: 0px; z-index: 99; background-color: rgba(255,255,255,0.92); }
  h1 { font-size: 4em; line-height: 1em; }
  .artikkelpreheading { font-size: 1.75em; line-height: 1.2em; }
  #FooterHolder { padding: 20px 45px 50px 45px; }
}

/* ---- body (eSite skrev dette som inline <style> pr sidetype) ---- */
body.pt-forside { min-height: 100%; background-color: #EAEAEA; padding: 0; margin: 0; }
body.pt-underside { background-color: #F6F6F6; background-repeat: no-repeat; background-size: cover; padding: 0; margin: 0; }

/* ---- admin.css + sidens egen <style> (kun det skjemaet på /Varsling bruker) ---- */
.CustomFormSendButtonDiv { text-align: center; }
/* eSite satte height:100px inline på skjemaets tekstfelt via JS — nå i stilarket */
textarea.ESiteTextBox { height: 100px; }
.EditorLabelSpace { display: block; clear: left; height: 16px; }
.FirstLabelSpace { display: none; }

/* ---- Layout 48365 — forsiden ---- */
.pt-forside #HeaderHoldersub { clear: both; width: 100%; padding-top: 10px; margin-top: 0; margin-bottom: 0; }
.pt-forside #Header { clear: both; max-width: 1500px; padding-left: 15px; padding-right: 15px; padding-bottom: 16px; margin: 0 auto; }
.pt-forside #LogoDiv { width: 300px; max-width: 250px; padding-top: 5px; padding-right: 10px; }
.pt-forside #Menyholder { text-align: right; }
.pt-forside #forside, .pt-forside #prosjekter, .pt-forside #om-oss, .pt-forside #kontakt { text-align: center; }
.pt-forside #DropBtnRight { float: right; clear: none; margin-top: 12px; }
.pt-forside #DivHeaderClear { clear: both; }
.pt-forside #Xs-menu-holder { clear: both; width: 100%; position: absolute; z-index: 999; background-color: #BA0011; padding-right: 15px; }
.pt-forside #Xs-menu { display: none; padding-top: 30px; padding-bottom: 30px; margin-bottom: 0; }
.pt-forside #DropMenu { clear: both; margin-left: -15px; }
.pt-forside #sliderholder { position: relative; z-index: -10; }
.pt-forside #bildeslider { z-index: -100; max-height: 900px; overflow: hidden; }
.pt-forside #PageForside { clear: both; position: relative; z-index: 10; background-color: #EAEAEA; padding-top: 50px; margin-left: auto; margin-right: auto; }
.pt-forside #Div3Space { clear: both; }
.pt-forside #InnholdForside { clear: both; padding: 0; }
.pt-forside #ForsidetekstHolder { text-align: center; padding-bottom: 60px; margin-bottom: 5px; }
.pt-forside #Mer { float: none; clear: both; margin-left: auto; margin-right: auto; }
.pt-forside #Div2 { clear: both; }
.pt-forside #Preview-prosjekt { text-align: center; padding-bottom: 60px; margin-bottom: 5px; }
.pt-forside #prev-3-up-project { max-width: 1200px; padding-top: 0; margin: 0 auto; }
.pt-forside #prosjektBTN-holder2 { clear: both; padding-left: 15px; padding-right: 15px; }
.pt-forside #prosjekter-BTN2 { float: none; clear: both; margin: 35px auto 50px auto; }
.pt-forside #Div22 { clear: both; }
.pt-forside #bg-img-prosjekter { width: 100%; height: 400px; text-align: center; background-image: url("img/bg-prosjekter.jpg"); background-repeat: no-repeat; background-position: center center; background-attachment: fixed; background-size: cover; }
.pt-forside #prosjekter-holder { text-align: center; padding-top: 115px; }
.pt-forside #prosjektBTN-holder { clear: both; padding-left: 15px; padding-right: 15px; }
.pt-forside #prosjekter-BTN { float: none; clear: both; margin: 35px auto 50px auto; }
.pt-forside #Div52 { clear: both; }
.pt-forside #Kartholder { text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 0; }
.pt-forside #DivSlutt { clear: both; }
.pt-forside #FooterHolder { background-color: #CECECE; color: #333333; }
.pt-forside #LogoFooter { width: 90%; max-width: 250px; padding-top: 15px; padding-right: 10px; }
.pt-forside #FooterContent { color: #000000; }
.pt-forside #SocialIcons { padding-top: 25px; }
.pt-forside #InstagramLink { margin-left: 15px; }
.pt-forside #FooterClear { clear: both; height: 25px; }
.pt-forside #FooterKontaktInfo { clear: both; padding-top: 10px; }
.pt-forside #FooterKontaktInfo-left { text-align: left; padding-top: 30px; }
.pt-forside #Div9 { clear: both; }
.pt-forside #Div822 { float: right; width: 24px; height: 20px; }
.pt-forside #Byline { clear: left; text-align: center; background-color: #EAEAEA; padding: 24px 20px; margin: 5px 0 0 0; color: #333333; font-size: 0.9em; }

/* ---- Layout 31336 — undersider (layout 45847 på prosjektsidene er lik, unntatt Div822) ---- */
.pt-underside #HeaderHoldersub { clear: both; width: 100%; padding-top: 10px; margin-top: 0; margin-bottom: 0; }
.pt-underside #Header { clear: both; max-width: 1500px; padding-left: 15px; padding-right: 15px; padding-bottom: 16px; margin: 0 auto; }
.pt-underside #Div8 { float: left; width: 30px; height: 20px; display: none; }
.pt-underside #LogoDiv { width: 300px; max-width: 250px; padding-top: 5px; padding-right: 10px; }
.pt-underside #Menyholder { text-align: right; }
.pt-underside #forside, .pt-underside #prosjekter, .pt-underside #om-oss, .pt-underside #kontakt { text-align: center; }
.pt-underside #DropBtnRight { float: right; clear: none; margin-top: 12px; }
.pt-underside #DivHeaderClear { clear: both; }
.pt-underside #Xs-menu-holder { clear: both; width: 100%; position: absolute; z-index: 999; background-color: #ba0011; padding-right: 15px; }
.pt-underside #Xs-menu { display: none; padding-top: 30px; padding-bottom: 30px; margin-bottom: 0; }
.pt-underside #DropMenu { clear: both; margin-left: -15px; }
.pt-underside #PageUnderside { clear: both; position: relative; z-index: 10; padding-top: 10px; margin-left: auto; margin-right: auto; }
.pt-underside #DivUndersideSpace { clear: both; width: 100%; height: 100px; }
.pt-underside #InnholdUnderside { float: none; clear: both; width: 100%; max-width: 1500px; background-color: #FFFFFF; opacity: 0.92; padding: 0; margin: 15px auto 0 auto; }
.pt-underside #UndersidetekstHolder { background-color: #FFFFFF; padding: 20px 0 80px 0; margin-bottom: 30px; }
.pt-underside #DisplayUnderside { clear: both; background-color: #FFFFFF; margin-left: auto; margin-right: auto; }
.pt-underside #Div1, .pt-underside #Div2, .pt-underside #DivSlutt { clear: both; }
.pt-underside #FooterHolderUnderside { clear: both; margin-top: 0; margin-bottom: 0; color: #FFFFFF; }
.pt-underside #FooterUnderside { clear: both; margin-top: 0; margin-bottom: 0; }
.pt-underside #FooterHolder { background-color: #CECECE; color: #333333; }
.pt-underside #LogoFooter { width: 90%; max-width: 250px; padding-top: 15px; padding-right: 10px; }
.pt-underside #FooterContent { color: #000000; }
.pt-underside #SocialIcons { padding-top: 25px; }
.pt-underside #InstagramLink { margin-left: 15px; }
.pt-underside #FooterClear { clear: both; height: 25px; }
.pt-underside #FooterKontaktInfo { clear: both; padding-top: 10px; }
.pt-underside #FooterKontaktInfo-left { text-align: left; padding-top: 30px; }
.pt-underside #Div9 { clear: both; }
/* To #Div822-regler i layouten: den siste (høyde 0) vant. Begge Div822-ene i markupen fikk den. */
.pt-underside #Div822, .pt-underside #Div822b { float: right; width: 24px; height: 0; margin-top: 0; margin-bottom: 0; }
.pt-prosjekt #Div822, .pt-prosjekt #Div822b { height: 20px; }
/* To #Byline-regler i layouten, og #Byline lå nøstet i #Byline (duplikat-id) — begge fikk begge reglene.
   Den indre er nå klassen byline-inner med de samme reglene. */
.pt-underside #Byline, .pt-underside .byline-inner { clear: left; text-align: center; background-color: #EAEAEA; padding: 24px 20px; margin: -10px 0 0 0; color: #333333; font-size: 0.9em; }

/* ---- Style_set 15778 — hamburger og nedtrekksmeny (alle sider) ---- */
.icon-bar { display: block; width: 35px; height: 3px; margin-bottom: 7px; background-color: #ba0011; border-radius: 1px; transition: all .2s ease; }
.DropBtn.active .icon-bar:first-child { transform: rotate(45deg); transform-origin: center center; margin-top: 8px; opacity: 1; }
.DropBtn.active .icon-bar:last-child { transform: rotate(-45deg); transform-origin: center center; margin-top: -20px; opacity: 1; margin-bottom: 19px; }
.DropBtn.active .icon-bar { opacity: 0; }
.droppmeny li { text-align: center; padding: 0; }
.droppmeny li a { font-size: 1.15em; text-transform: uppercase; padding: 12px 0 12px 20px; color: #fff; text-decoration: none !important; display: block; margin-left: -25px; }
.droppmeny li:last-child { margin-bottom: -12px; }
.droppmeny li a:hover { background-color: #D10007; color: #fff; }
ul.droppmeny { padding-left: 0; }
ul.droppmeny, .droppmeny li { display: block; padding: 0; text-decoration: none; }

/* ---- Style_set 48594 — forsidens lysbildeserie (responsiveSlides) ---- */
.rslides { position: relative; list-style: none; overflow: hidden; width: 100%; padding: 0; margin: 0; }
/* Tilstandene responsiveSlides satte med inline stil: synlig = flyt + relativ, skjult = absolutt + usynlig */
.rslides li { -webkit-backface-visibility: hidden; position: absolute; display: list-item; float: none; width: 100%; left: 0; top: 0; opacity: 0; z-index: 1; transition: opacity 500ms ease-in-out; }
.rslides li.rslides-on { position: relative; float: left; opacity: 1; z-index: 2; }
.rslides img { display: block; height: auto; float: left; width: 100%; border: 0; }

/* ---- Style_set 44552 / 46527 / 50274 (identiske) — sider med prosjekt-/PDF-kort ---- */
.ss-kort .IntroText { font-size: 1.2em; font-weight: 600; }
.ss-kort .sekstito { text-align: center; z-index: 999; border: 0 solid #000000; height: 25vh; min-height: 250px; max-height: 300px; }
.ss-kort a:hover { text-decoration: none !important; }
.ss-kort .thumbnail-grid { -webkit-user-select: none; user-select: none; }

/* ---- Style_set 46207 — prosjektsidene ---- */
.pt-prosjekt h1 { text-shadow: 2px 2px #000000; color: #FFFFFF !important; position: relative; margin-left: auto; margin-right: auto; text-align: center; margin-top: -300px; margin-bottom: 300px; }
.pt-prosjekt h1:hover, .pt-prosjekt h1 a { text-decoration: none !important; }
.pt-prosjekt .prosjektfirkant { background: #ba0011 !important; color: #ffffff; padding: 20px; min-width: 100px; }
@media (min-width: 568px) { .pt-prosjekt h1 { margin-top: -350px; margin-bottom: 350px; } }
@media (min-width: 768px) { .pt-prosjekt h1 { margin-top: -400px; margin-bottom: 400px; } }
@media (min-width: 1400px) { .pt-prosjekt h1 { margin-top: -500px; margin-bottom: 500px; } }

/* ---- Klasser som erstatter eSite-originalens style="..." (CSP: style-src uten unsafe-inline) ---- */
.cb { clear: both; }
.p0 { padding: 0; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.h30 { height: 30px; }
.h120 { height: 120px; }
.mbm120 { margin-bottom: -120px; }
.fs125 { font-size: 125%; }
.mlr-auto { margin-left: auto; margin-right: auto; }
.minh160 { min-height: 160px; }
.no-underline { text-decoration: none; }
.velkommen-h2 { text-align: center; margin-top: 10px; }
/* Kortbildet: originalen brukte background-image i style="" (CSP-brudd). Samme geometri med <img>:
   bredde = background-size i %, sentrert i begge retninger. */
.bakgrunnspreview { position: relative; overflow: hidden; padding: 0; }
.bakgrunnspreview > img { position: absolute; left: 50%; top: 50%; width: 200%; height: auto; max-width: none; transform: translate(-50%,-50%); transition: width 0.3s ease-in-out; }
.bakgrunnspreview.zoom:hover > img { width: 230%; }
.bakgrunnspreview.zoom1 > img { width: 50%; }
.bakgrunnspreview.zoom1:hover > img { width: 65%; }
.bakgrunnspreview > .greyfade, .bakgrunnspreview > .greyfade1 { position: relative; }
/* Mappesider (Prosjekter, Om oss) */
.mappe-topp { text-align: center; }
.fargestrek-m25 { margin: 25px auto; }
.mappe-intro { margin: 0 auto 10px auto; float: none; }
.mappe-skille { margin: 25px auto 45px auto; clear: both; }
.ansattkort { height: 365px; overflow: hidden; margin-bottom: 20px; }
.ansatt-navn { font-size: 145%; margin-top: -5px; }
/* Prosjektsiden */
.heroimg { position: relative; width: 100%; }
.prosjekt-midt { margin-left: auto; margin-right: auto; text-align: center; margin-top: 30px; }
.graastrek-a { margin: 20px auto 0 auto; }
.graastrek-b { margin: 20px auto 30px auto; }
.fakta { margin-bottom: 35px; max-width: 680px; margin-left: auto; margin-right: auto; text-align: center; }
.prosjekt-tekst { margin-top: 20px; margin-bottom: 35px; font-size: 120%; }
.galleri { clear: both; overflow: hidden; margin-bottom: 30px; }
.galleri-ramme, .galleri-bilde { min-height: 200px; max-height: 200px; min-width: 250px; height: auto; width: auto; overflow: hidden; }
/* Galleribildet var background-size:cover sentrert — object-fit gir det samme med <img> */
.galleri-bilde img { display: block; width: 100%; height: 200px; object-fit: cover; object-position: center; }
.kontakt-btn-wrap { margin-top: 60px; clear: both; margin-left: auto; margin-right: auto; text-align: center; }
.tilbake-wrap { margin-top: 30px; clear: both; margin-left: auto; margin-right: auto; text-align: center; }
/* Kontakt */
.kontakt-kartkol { padding: 15px 0; margin-bottom: 15px; }
.kart-wrap { width: 100%; overflow: hidden; }
.kart-wrap-xs { clear: both; margin-top: 40px !important; }
.kontakt-tekstkol { padding: 0; margin-left: auto; margin-right: auto; float: none; }
.kontakt-tittel { margin-bottom: 10px; margin-top: -10px; }
.graastrek-k1 { margin: 20px 0; }
.graastrek-k2 { margin: 20px 0 30px 0; }
.ingress-wrap { margin-bottom: 16px; margin-top: 20px; }
/* Google Maps-iframen hadde style="border:0;" */
.b0 { border: 0; }

/* ---- Tilstander satt av site.js (erstatter jQuery slideToggle) ---- */
#Xs-menu.is-open { display: block; }
#Xs-menu.is-sliding { overflow: hidden; }
.DropBtn:focus { outline: none; }
.DropBtn:focus-visible { outline: 2px solid #ba0011; outline-offset: 2px; }
/* Turnstile tar plass først når widgeten faktisk rendres (nøkkel på plass) */
.cf-turnstile { margin-top: 16px; }
.cf-turnstile:empty { margin-top: 0; }

/* Moderne, rolige overganger. Museklikk uten sorte rammer; tastaturfokus i profilfargen. */
a:focus { outline: none; }
a:focus-visible { outline: 2px solid #ba0011; outline-offset: 5px; border-radius: 2px; }
a, button { -webkit-tap-highlight-color: transparent; }
.menyknappsub { transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.menyknappsub:hover { color: #fff; background-color: #ba0011; transform: translateY(-2px); }

/* Hvert kort kommer til syne når det nærmer seg skjermen, uten å flytte layouten. */
.scroll-reveal { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .8s ease, transform .8s cubic-bezier(.22, 1, .36, 1); }
.scroll-reveal.reveal-step-1 { transition-delay: .08s; }
.scroll-reveal.reveal-step-2 { transition-delay: .16s; }
.scroll-reveal.is-revealed { opacity: 1; transform: none; }
@keyframes page-arrival { from { opacity: 0; } to { opacity: 1; } }
#InnholdUnderside, #sliderholder { animation: page-arrival .85s ease both; }

/* Kontakt: ekstra luft under toppmenyen, også på mobil. */
.pt-kontakt #UndersidetekstHolder { padding-top: 64px; }
@media (max-width: 767px) {
  .pt-kontakt #UndersidetekstHolder { padding-top: 40px; }
}

/* Forsiden: avdempet, varm overlay og langsom Ken Burns-bevegelse. */
.pt-forside #sliderholder { z-index: 0; }
.pt-forside #bildeslider { position: relative; z-index: 0; isolation: isolate; }
.pt-forside #bildeslider::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(180deg, rgba(21, 25, 26, .08) 0%, rgba(30, 24, 20, .05) 35%, rgba(20, 24, 25, .36) 100%), linear-gradient(90deg, rgba(32, 27, 23, .13), transparent 65%); }
.pt-forside .rslides li { overflow: hidden; transition: opacity 1.4s ease-in-out; }
.pt-forside .rslides img { transform: scale(1.04); transform-origin: center; }
.pt-forside .rslides-on img { animation: hero-zoom 8.4s linear both; }
.pt-forside .rslides-on:nth-child(even) img { animation-name: hero-pan; }
@keyframes hero-zoom { from { transform: scale(1.025); } to { transform: scale(1.11) translate3d(-.7%, 0, 0); } }
@keyframes hero-pan { from { transform: scale(1.09) translate3d(-1.8%, 0, 0); } to { transform: scale(1.09) translate3d(1.8%, 0, 0); } }

/* Respekter besøkendes ønske om redusert bevegelse. */
@media (prefers-reduced-motion: reduce) {
  .scroll-reveal, .scroll-reveal.is-revealed { opacity: 1; transform: none; transition: none; }
  #InnholdUnderside, #sliderholder, .pt-forside .rslides-on img { animation: none; }
  .pt-forside .rslides li { transition: none; }
  .menyknappsub, .ansattimage, .bakgrunnspreview > img { transition: none; }
  .menyknappsub:hover, .ansattimage:hover { transform: none; }
}

/* Rolig knappespråk: myk fylling, lett skygge og kun to piksler løft. */
a.menyknappsub, a.stor-btn, a.stor-btn-pos, a.tilbake-btn, a.ring-btn-pos, .CustomFormSendButton {
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, background-color .4s ease, background-size .45s ease, border-color .4s ease, color .3s ease;
  box-shadow: 0 0 0 rgba(100,0,10,0);
}
a.menyknappsub, a.stor-btn, a.tilbake-btn {
  background-image: linear-gradient(#ba0011, #ba0011);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
}
a.menyknappsub:hover, a.stor-btn:hover, a.tilbake-btn:hover {
  background-color: transparent;
  color: #fff;
  background-size: 100% 100%;
  border-color: #ba0011;
  transform: none;
}
a.stor-btn-pos:hover, a.ring-btn-pos:hover, .CustomFormSendButton:hover {
  background-color: #a4000f;
  border-color: #a4000f;
  transform: none;
}
@media (hover: hover) and (pointer: fine) {
  a.menyknappsub:hover, a.stor-btn:hover, a.stor-btn-pos:hover, a.tilbake-btn:hover, a.ring-btn-pos:hover, .CustomFormSendButton:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(120,0,12,.14);
  }
}
a.menyknappsub:active, a.stor-btn:active, a.stor-btn-pos:active, a.tilbake-btn:active, a.ring-btn-pos:active, .CustomFormSendButton:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(120,0,12,.1);
}
a.menyknappsub:focus-visible, a.stor-btn:focus-visible, a.stor-btn-pos:focus-visible, a.tilbake-btn:focus-visible, a.ring-btn-pos:focus-visible, .CustomFormSendButton:focus-visible {
  outline: 2px solid #ba0011;
  outline-offset: 5px;
}
@media (prefers-reduced-motion: reduce) {
  a.menyknappsub, a.stor-btn, a.stor-btn-pos, a.tilbake-btn, a.ring-btn-pos, .CustomFormSendButton { transition: none; }
  a.menyknappsub:hover, a.stor-btn:hover, a.stor-btn-pos:hover, a.tilbake-btn:hover, a.ring-btn-pos:hover, .CustomFormSendButton:hover { transform: none; }
}

/* Prosjektvisning: filmatisk header, kortstabel og galleri. */
.pt-prosjekt #InnholdUnderside { opacity: 1; }
.project-hero { position: relative; overflow: hidden; border-radius: 4px; background: #292626; }
.project-hero-link { display: block; position: relative; overflow: hidden; color: #fff; }
.pt-prosjekt .project-hero .heroimg { width: 100%; height: clamp(360px, 65vw, 780px); object-fit: cover; animation: project-hero-image 2.2s cubic-bezier(.22,1,.36,1) both; }
.project-hero-link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.04) 25%, rgba(15,14,13,.72)); pointer-events: none; }
.project-hero-copy { position: absolute; left: 7%; right: 7%; bottom: 10%; z-index: 1; color: #fff; animation: project-title-in 1.1s .15s both; }
.project-eyebrow { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .24em; }
.pt-prosjekt .project-hero h1 { position: static; text-align: left; margin: 18px 0 24px; font-size: clamp(34px, 5vw, 72px); line-height: 1.07; text-shadow: 0 2px 20px rgba(0,0,0,.2); max-width: 1000px; }
.project-hero-hint { display: inline-flex; align-items: center; gap: 18px; font-size: 13px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.5); }
.project-hero-hint span { transition: transform .4s; }
.project-hero-link:hover .project-hero-hint span { transform: translate(4px,-4px); }
.pt-prosjekt h1.project-title-plain { color: #252525 !important; margin: 30px 0; text-shadow: none; }
@keyframes project-hero-image { from { transform: scale(1.12); filter: brightness(.75); } to { transform: scale(1); filter: brightness(1); } }
@keyframes project-title-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.pt-prosjekt .prosjekt-midt { margin-top: 52px; }
.pt-prosjekt .fakta { max-width: 850px; margin-bottom: 56px; }
.pt-prosjekt .fakta > div { line-height: 1.6; }
.pt-prosjekt .prosjektfirkant { display: inline-flex; align-items: center; justify-content: center; width: 88px; min-width: 88px; height: 88px; padding: 16px; margin-bottom: 14px; border-radius: 20px 20px 20px 5px; box-shadow: 0 10px 24px rgba(186,0,17,.15); transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s; }
.pt-prosjekt .fakta > div:hover .prosjektfirkant { transform: translateY(-7px) rotate(-5deg); box-shadow: 0 16px 30px rgba(186,0,17,.25); }
.project-gallery-heading { clear: both; padding: 30px 0 32px; text-align: center; }
.project-gallery-heading .project-eyebrow { color: #ba0011; }
.project-gallery-heading h2 { margin: 14px 0; font-size: clamp(28px, 3vw, 42px); color: #242424; }
.project-gallery-heading p { color: #777; font-size: 14px; }
.pt-prosjekt .project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; overflow: visible; padding: 8px 4px 24px; }
.project-tile { min-width: 0; position: relative; }
.project-tile > a { display: block; position: relative; isolation: isolate; border-radius: 10px; background: #eee; box-shadow: 0 6px 20px rgba(0,0,0,.07); transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s; }
.project-tile > a::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: #e7e3e0; transform: translate(3px,4px) rotate(1deg); transition: transform .5s; }
.project-tile:nth-child(even) > a::before { transform: translate(-3px,4px) rotate(-1deg); }
.pt-prosjekt .project-grid .galleri-ramme, .pt-prosjekt .project-grid .galleri-bilde { width: 100%; min-width: 0; min-height: 0; max-height: none; height: auto; border-radius: 10px; }
.pt-prosjekt .project-grid .galleri-bilde { aspect-ratio: 4 / 3; }
.pt-prosjekt .project-grid .galleri-bilde img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.22,1,.36,1), filter .5s; }
.project-tile-number { position: absolute; bottom: 15px; left: 16px; color: #fff; font-size: 12px; letter-spacing: .12em; text-shadow: 0 1px 6px #000; pointer-events: none; }
.project-tile-open { position: absolute; bottom: 12px; right: 12px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: rgba(20,20,20,.4); backdrop-filter: blur(8px); transition: transform .4s, background .4s; }
@media (hover: hover) {
  .project-tile > a:hover { transform: translateY(-6px); box-shadow: 0 18px 38px rgba(0,0,0,.16); }
  .project-tile > a:hover::before { transform: translate(4px,7px) rotate(2deg); }
  .project-tile > a:hover img { transform: scale(1.07); filter: brightness(.88); }
  .project-tile > a:hover .project-tile-open { background: #ba0011; transform: rotate(45deg); }
}
.project-reveal { opacity: 0; transform: translateY(34px) scale(.97); transition: opacity .85s ease, transform .85s cubic-bezier(.22,1,.36,1); }
.project-tile.project-reveal:nth-child(odd) { transform: translateY(40px) rotate(-2deg) scale(.96); }
.project-tile.project-reveal:nth-child(even) { transform: translateY(40px) rotate(2deg) scale(.96); }
.project-delay-1 { transition-delay: .07s; }
.project-delay-2 { transition-delay: .14s; }
.project-delay-3 { transition-delay: .21s; }
.project-reveal.project-visible, .project-tile.project-reveal.project-visible { opacity: 1; transform: none; }

/* Native dialog: mørk fullskjerm, tydelige kontroller og lagdelte bildeoverganger. */
.pg-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: #111214; color: #fff; overflow: hidden; }
.pg-dialog::backdrop { background: rgba(10,10,12,.96); }
.pg-dialog[open] { display: grid; grid-template-rows: auto 1fr auto; animation: pg-open .35s ease both; }
.pg-toolbar { display: flex; align-items: center; justify-content: space-between; padding: max(16px, env(safe-area-inset-top)) 24px 10px; z-index: 3; }
.pg-count { font: 13px/1.5 Arial, sans-serif; letter-spacing: .18em; color: #ccc; }
.pg-dialog button { border: 1px solid rgba(255,255,255,.2); color: #fff; background: rgba(255,255,255,.07); border-radius: 50%; width: 48px; height: 48px; cursor: pointer; font: 32px/1 Arial, sans-serif; transition: background .25s, transform .25s; }
.pg-dialog button:hover { background: #ba0011; transform: scale(1.08); }
.pg-dialog button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.pg-dialog button[hidden] { display: none; }
.pg-stage { min-height: 0; position: relative; display: grid; place-items: center; margin: 6px 82px; touch-action: pan-y pinch-zoom; }
.pg-photo { position: absolute; inset: 0; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; min-height: 0; min-width: 0; border-radius: 5px; user-select: none; }
.pg-prev, .pg-next { position: absolute; top: 50%; z-index: 3; }
.pg-prev { left: 20px; }
.pg-next { right: 20px; }
.pg-footer { padding: 14px 24px max(20px, env(safe-area-inset-bottom)); text-align: center; }
.pg-caption { font-size: 13px; color: #eee; }
.pg-hint { margin-top: 5px; color: #888; font-size: 11px; letter-spacing: .04em; }
.pg-progress { display: block; width: 130px; height: 2px; margin: 14px auto 0; border: 0; appearance: none; background: #343434; color: #ba0011; }
.pg-progress::-webkit-progress-bar { background: #343434; }
.pg-progress::-webkit-progress-value { background: #ba0011; transition: width .4s; }
.pg-progress::-moz-progress-bar { background: #ba0011; }
.pg-message { position: absolute; top: 50%; left: 15%; right: 15%; pointer-events: none; text-align: center; font-size: 14px; text-shadow: 0 2px 8px #000; }
@keyframes pg-open { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
  .pt-prosjekt .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .project-hero-copy { left: 7%; bottom: 9%; }
  .pt-prosjekt .fakta { margin-bottom: 24px; }
  .pt-prosjekt .prosjektfirkant { width: 74px; height: 74px; min-width: 74px; font-size: 34px; }
  .pg-toolbar { padding-left: 16px; padding-right: 16px; }
  .pg-stage { margin: 4px 12px 48px; }
  .pg-prev, .pg-next { top: auto; bottom: 90px; width: 44px !important; height: 44px !important; }
  .pg-prev { left: 16px; } .pg-next { right: 16px; }
  .pg-footer { padding-left: 55px; padding-right: 55px; }
}
@media (prefers-reduced-motion: reduce) {
  .pt-prosjekt .project-hero .heroimg, .project-hero-copy, .pg-dialog[open] { animation: none; }
  .project-reveal, .project-tile.project-reveal:nth-child(n), .project-reveal.project-visible { opacity: 1; transform: none; transition: none; }
  .pt-prosjekt .prosjektfirkant, .project-tile > a, .project-tile > a::before, .pt-prosjekt .project-grid .galleri-bilde img, .project-tile-open, .pg-dialog button { transition: none; }
  .pt-prosjekt .fakta > div:hover .prosjektfirkant, .project-tile > a:hover, .project-tile > a:hover img { transform: none; }
}

