:root{
    --bg: #0f0b0b;
    --fg: #efefef;
    --farge1: #c62c2c;
    --farge2: #4e4135;
    --farge3: #a48d67;
    font-size: 18px;
    font-family: 'sarabun', sans-serif;
    /* line-height: 24px; */
}

/* @font-face {
    font-family: 'sarabun';
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/sarabun-regular-webfont.woff2') format('woff2'),
         url('/fonts/sarabun-regular-webfont.woff') format('woff');
} */

/* @font-face {
    font-family: 'baskervville';
    font-weight: 700;
    src: url('static/fonts/baskervville-variablefont_wght-webfont.woff2') format('woff2'),
         url('static/fonts/baskervville-variablefont_wght-webfont.woff') format('woff');
} */

* {
    margin: 0;
    box-sizing: border-box;
}

.skip {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: -2000px;
    color: var(--bg);
}

.skip:focus {
    top: 1em;
    left: 1em;
    height: 1.5em;
    width: 6em;
    width: auto;
    color: var(--fg);
    background-color: var(--bg);
    border: solid .1em var(--farge2);
    border-radius: .2em;
    z-index: 100;
}

a {
    transition: color 150ms ease;
}

button {
    cursor: pointer;
    background-color: var(--bg);
    border: .1em solid var(--farge3);
    border-radius: .3em;
    padding: .5em;
    font-size: 1em;
    color: var(--fg);
    transition: all 150ms ease;
}

button:hover,
button:focus-within {
    background-color: var(--farge3);
    color: var(--bg);
    transition: all 150ms ease;
}

body {
    background-color: var(--bg);
    color: var(--fg);

    hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}

.container {
    max-width: 67em;
    padding: 0 1em;
    margin: auto;
    min-height: 62vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* NAVBAR START */
nav {
    background-color: var(--bg);
    position: sticky;
    top: 0;
    z-index: 99;
}

.navbar {
    margin: auto;
    margin-bottom: 1em;
    max-width: 67em;
    padding: 0 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 3.2em;
}

.navbar a {
    font-size: 1.4em;
    color: inherit;
    text-decoration: none;
    transition: color 150ms ease;
}

.lenker-nav {
    display: flex;
    align-items: center;
    gap: 2em;
}

.logo-nav {
    font-family: 'baskerville', serif;
    font-weight: 700;
    font-size: 1.3em;
}

.nav-meny {
    display: none;
}

.mobil-meny {
    display: none;
}

.lukk-meny {
    width: 2.5em;
    height: 2.5em;
    aspect-ratio: 1 / 1;
}

/* NAVBAR SLUTT */

/* SINGEL START */
.single {
    max-width: 45em;
    margin: auto;
}

.topp {
    margin-bottom: 1em;
}

.tittel {
    font-family: 'baskerville', serif;
    font-weight: 700;
    font-size: 56px;
    margin: 0;
}

.tittel-bilde {
    width: 100%;
    margin-top: .5em;
    /* margin-bottom: -1em; */
    /* aspect-ratio: 3 / 2; */
    object-fit: cover;
    border-radius: .5em;
}

h1 {
    font-family: 'baskerville', serif;
    /* letter-spacing: 0.02em; */
    font-weight: 700;
    font-size: 42px;
    margin-bottom: .3em;
}

h2 {
    font-family: 'baskerville', serif;
    font-weight: 700;
    font-size: 32px;
    margin-bottom: .3em;
}

h3 {
    font-family: 'sarabun', sans-serif;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: .3em;
}

p {
    margin-bottom: 1.2em;
    line-height: 1.5em;
}

.single a {
    color: var(--fg);
}

ol {
    font-size: inherit;
    padding-bottom: 1.2em;
}

.single ul {
    padding-bottom: 1.2em;
    font-size: inherit;
    padding-left: 1em;
}

.single hr {
    border-color: #efefef60;
}

blockquote {
    background: #232323;
    border-left: .6em solid var(--farge3);
    margin: 1.5em 0;
    padding: 0.6em .6em;
    padding-right: 1.2em;
    quotes: "\201C""\201D""\2018""\2019";
    width: fit-content;
    border-radius: .15em;
}

blockquote:before {
    color: var(--fg);
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    margin-right: 0.1em;
    vertical-align: -0.4em;
}

blockquote p {
    display: inline;
}

.bildeboks {
    display: flex;
    /* aspect-ratio: 3 / 2; */
    /* padding-top: .5em; */
    padding-bottom: 1.5em;
    flex-direction: column;
}

.bildeboks img {
    max-width: 100%;
    border-radius: .5em;
}

.topp .bildeboks {
    padding-bottom: 0;
}

.bildetekst {
    margin-top: .4em;
}

.nesteforrige {
    display: flex;
    justify-content: space-between;
    /* max-width: 45em; Fjernet pga. listeside er bredere */
    margin-top: 3em;
}

.nesteforrige a {
    cursor: pointer;
    background-color: var(--bg);
    border: .1em solid var(--farge3);
    border-radius: .3em;
    padding: .5em;
    font-size: 1em;
    color: var(--fg);
    transition: all 150ms ease;
    text-decoration: none;
}

.nesteforrige a:hover,
.nesteforrige a:focus {
    background-color: var(--farge3);
    color: var(--bg);
    transition: all 150ms ease;
}

.test {
    padding-inline: 1em;
}

table {
    border-collapse: collapse;
    width: clamp(10em, 30em, 100%);
    margin-bottom: 1.5em;
    margin-top: 1em;

    -webkit-box-shadow:0px 0px 12px 5px rgba(28,27,27,.6);
    -moz-box-shadow: 0px 0px 12px 5px rgba(28,27,27,.6);
    box-shadow: 0px 0px 12px 5px rgba(28, 27, 27, .6);
}

table td, table th {
    padding: .5em;
}

table tr:nth-child(even) {
    background-color: #1c1b1b;
}

table tr:hover {
    /* outline: solid .1em var(--fg); */
    background-color: #2c2c2c;
}

table th {
    padding-top: .5em;
    padding-bottom: .5em;
    text-align: left;
    background-color: var(--farge3);
    color: var(--bg);
}

input,
textarea {
    font-size: 1em;
    margin-top: .1em;
    margin-bottom: 1em;
    border: solid .1em var(--farge2);
    border-radius: .3em;
    padding-left: .3em;
}

input {
    width: 100%;
    height: 1.8em;
}

textarea {
    min-width: 100%;
    min-height: 5em;
    resize: vertical;
}

#gdpr-samtykker {
    width: .8em;
    height: .8em;
    align-items: center !important;
}

#gdpr-samtykker:hover {
    cursor: pointer !important;
}

/* .fb-card {
    background-color: var(--farge3);
    color: var(--bg);
    padding: 1em;
    border-radius: .3em;
    margin-bottom: 2em;
}

.fb-card a {
    color: var(--bg);
    text-decoration: none;
}

.fb-card button {
    color: var(--fg);
    background-color: var(--bg);
    border: none;
    border-radius: .3em;
}

.fb-card button:hover {
    background-color: var(--farge2);
} */

/* .kart-bm #map {
    width: 60em;
    height: 35em;
} */

.kart-bm .plassering-kart {
    width: 100%;
    height: 25em;
}

.spacer {
    height: 1em;
}
/* SINGEL SLUTT */

/* FOOTER START */
.footer {
    width: 100%;
    background-color: var(--farge1);
    height:fit-content;
    padding: 3em 1em;
    margin-top: auto;
    margin-top: 4em;
}

.footer-w {
    display: flex;
    justify-content: space-between;
    margin: auto;
    max-width: 65em;
    line-height: 1.5em;
}

.footer a, ul {
    font-size: 1.2em;
    color: inherit;
    text-decoration: none;
    list-style: none;
    padding: 0;
}

.footer ul li {
    margin-bottom: .6em;
    transition: all 150ms ease;
}

.footer ul li:hover,
.footer ul li:focus-within {
    transform: translateX(.5em);
}

.footer a:hover,
.footer a:focus-within {
    text-decoration: underline;
    color: var(--fg) !important;
}

.ikon {
    padding-left: .1em;
    vertical-align: middle;
    margin-bottom: .2em;
}

/* FOOTER SLUTT */

/* HJEM START */
.hero {
    display: flex;
    justify-content: space-around;
    margin-top: 2em;
}

/* Trenger ny plassering VVVV */
/* .hero-illustrasjon {
    background-image: url("../images/EksempelBilde.jpeg");
    width: 300px;
    height: 500px;
    position: fixed;
    z-index: -1;
} */

.hero-tekst {
    width: 50%;
    hyphens: none;
}

.hero-tekst h1 {
    font-size: clamp(2em, 1em + 8vw, 5em);
    /* font-size: 5em; */
    line-height: 1.05em;
}

.aktuelt-header {
    display: flex;
    justify-content: center;
    margin: 2.5em 0;
}

.aktuelt-header a {
    text-decoration: none;
    color: inherit;
}

.aktuelt-liste a {
    text-decoration: none;
    color: var(--bg);
}

.aktuelt-liste a:hover {
    color: var(--bg);

}

.al-bilde {
    max-width: 20em;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: .5em;
    margin-right: 1.5em;
}


.al-tekst a {
    color: var(--bg);
    text-decoration: underline;
}

.al-dato {
    color: var(--fg);
    background-color: var(--bg);
    border-radius: .3em;
    padding: .6em .7em;
    /* border: .15em solid var(--farge2); */
}

.al-detaljer {
    display: flex;
    gap: 1em;
    justify-content: space-between;
    margin-top: 1em;
}

.al-enhet {
    background-color: var(--farge3);
    border-radius: .5em;
    padding: 1em;
    /* outline: solid red; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: auto;
    margin-bottom: 2em;
    max-width: 900px;
    overflow: hidden;
    cursor: pointer;
    color: var(--bg);

    -webkit-box-shadow:0px 0px 12px 5px rgba(164,141,103,0.20);
    -moz-box-shadow: 0px 0px 12px 5px rgba(164,141,103,0.20);
    box-shadow: 0px 0px 12px 5px rgba(164,141,103,0.20);
}

.al-enhet:hover {
    outline: solid .2em var(--farge2);
    outline-offset: -.2em;
}

.al-trim {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.al-lenke {
    text-decoration: none !important;
    color: var(--bg) !important;
}

.al-lenke:focus {
    text-decoration: underline !important;
}

.aktuelt-gradient {
    translate: 0 -16em;
    min-width: 100%;
    height: 15em;
    margin: 0 -1em -10em -1em;
    background-image: linear-gradient(rgba(15,11,11,0), rgba(15,11,11,60)70%, rgba(15,11,11,100));
    pointer-events: none;
}

.ekstra-kort {
    max-width: 65em;
    /* margin: 0 auto; */
    margin-top: 4em;
    margin-bottom: 6em;
    /* padding-inline: clamp (1em, 100vh, 5em); */
}

.ekstra-kort a {
    text-decoration: none;
    color: var(--fg);
}

.godt-vite {
    margin: auto;
    margin-top: -2em;
    display: flex;
    justify-content: center;
}

.ek-w {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-inline: clamp(1em, 5em + 3vw, 7em);
    align-content: center;
    transition: all 150ms ease;
}

/* Tidligere ek-w :hover og :focus-within */
.reise:hover, 
.reise:focus-within,
.våpensøknad:hover, 
.våpensøknad:focus-within {
    background-color: var(--farge2);
    color: inherit;
    transition: all 150ms ease;
}

.reise,
.våpensøknad {
    /* width: 25em; */
    border: solid .2em var(--farge2);
    /* background-color: var(--bg); */
    border-radius: .5em;
    padding: 2em;
    transition: all 150ms ease;
}

.plassering-seksjon {
  display: flex;
  flex-direction: row;
  margin: 0 auto;
  background-color: var(--farge2);
  border-radius: .5em;
  padding: 1em;
  max-width: 65em;
  height: 100%;
}

.plassering-tekst {
  width: clamp(23em, 21vw, 40em);
  margin-right: 1.8em;
  padding: 1em;
  transition: width 0.3s ease;
}

.plassering-kart {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  width: clamp(15em, 5em + 50vw, 50em);
}

#map {
  flex: 1;
  width: 100%;
  min-height: 20em;
  border-radius: .5em;
  background-color: gray;
  z-index: 10;
}

#kart-knapp {
  width: 100%;
  margin-top: 1em;
  background-color: var(--bg);
  color: var(--fg);
  border: 0.15em solid var(--farge3);
  font-size: 1em;
  border-radius: .4em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}

#kart-knapp:hover,
#kart-knapp:focus {
  background-color: var(--farge3);
  color: var(--bg);
}

.fjern-bottom {
    margin-bottom: 0 !important;
}

@media (max-width: 70em) {

    .plassering-seksjon {
        margin: 0;
    }

    #map {
        width: 100%;
    }

    .plassering-tekst {
        min-width: 20em;
    }
}

@media (max-width: 65em) {
    .ek-w {
        justify-content: space-between;
        padding-inline: 4em;
    }
}

@media (max-width: 55em) {
    *:active {
        transition: all 0ms !important;
    }

    .hero-tekst {
        width: 70%;
    }

    .ek-w {
        flex-direction: column;
        padding-inline: 0em;
    }

    .ek-w h1 {
        font-size: clamp(36px, 5vw, 42px);
    }

    .reise {
        margin-bottom: 2em;
    }

    .plassering-seksjon {
        flex-direction: column;
        padding: 1em;
        border-radius: 0;
        margin: auto ;
        margin-inline: -1em;
        width: 100% + 1em;
    }

    #map {
        max-width: 100%;
    }

    .plassering-kart {
        width: 100%;
    }

    .plassering-tekst {
        padding-right: .5em !important;
        width: 100%;
        margin: 0;
        padding: 0;
        margin-top: .5em;
        margin-bottom: 2em;
    }

    .al-bilde {
        display: none;
    }

    .al-tekst {
        margin: 0;
    }

    .footer {
        margin-top: 2em;
        padding-top: 2em;
        padding-bottom: 1.2em;
        font-size: 26px;
    }

    .footer-w {
        flex-direction: column;
    }

    .logo-footer {
        margin-bottom: .6em;
    }

    .footer-liten {
        font-size: .8em;
        border-top: solid .1em var(--fg);
        padding-top: .6em;
    }

    .nav-meny {
        width: auto;
        display: block;
        border: none;
        margin-right: -.5em;
        margin-top: .5em;
    }

    button.nav-meny,
    button.nav-meny:focus,
    button.nav-meny:hover {
        background-color: transparent;
        border: none;
    }

    .lenker-nav {
        display: none;
    }

    #map {
        width: 65em;
    }

    .kart-bm #map {
        width: 100%;
        height: auto;
    }

    .kart-bm .plassering-kart {
        width: 100%;
        height: 25em;
    }

    .plassering-tekst .fjern-bottom {
        margin-bottom: 1.2em !important;
    }

    .mobil-meny {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background-color: var(--bg);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 1em;
        gap: 1.5em;
        transition: right 0.3s ease-in-out, opacity 0.3s ease-in-out;
        z-index: 1000;
        pointer-events: none;
        opacity: 0;
        font-size: 1.5em;
        text-align: right;
        align-items: flex-end;
    }

    .mobil-meny.active {
        right: 0;
        opacity: 1;
        pointer-events: auto;
    }

    .mobil-meny.closing {
        right: -100%;
        opacity: 0;
        pointer-events: none;
    }
    
}
/* HJEM SLUTT */

/* LISTE START */
.liste-aktuelt-tittel {
    margin: 0;
    margin-bottom: 1em;
    display: flex;
    justify-content: center;
}

.list {

    margin: auto;
}
/* LISTE SLUTT */

a:hover {
    color: var(--farge1);
    transition: color 150ms ease;
}

a:focus {
    /* text-decoration: underline; */
    color: var(--farge1);
}

.skjul-felt {
    display: none;
}

summary:focus-visible {
    outline: .1em solid red;
    border-radius: .2em;
}

summary {
    font-weight: bold;
    cursor: pointer;
    outline: none;
    list-style: none;
    display: flex;
    align-items: center;
    margin-bottom: 1.5em;
    margin-top: .6em;
}

summary::marker {
    display: none;
}

summary::before {
    content: "▶";
    display: inline-block;
    margin-right: .4em;
    transition: transform 0.3s ease;
}

details[open] summary::before {
    transform: rotate(90deg);
}

details[open] summary {
    margin-bottom: .5em;
}

.plassering-tekst:has(details[open]) {
    width: 30vw;
}
