/* ============================================
   FONTER
   ============================================ */

@font-face {
    font-family: 'UntitledSerif';
    font-weight: normal;
    font-style: normal;
    src: url('https://files.cargocollective.com/c3420323/UntitledSerif-Regular.otf') format('opentype');
}

@font-face {
    font-family: 'UntitledSerif';
    font-weight: normal;
    font-style: italic;
    src: url('https://files.cargocollective.com/c3420323/UntitledSerif-RegularItalic.otf') format('opentype');
}

@font-face {
    font-family: 'SpaceMono';
    font-weight: normal;
    font-style: normal;
    src: url('https://files.cargocollective.com/c3420323/SpaceMono-Regular.ttf') format('truetype');
}


/* ============================================
   GLOBALE TEKSTSTILER
   ============================================ */

body {
    font-family: 'UntitledSerif', Icons, serif;
    color: #000;
}

i, em {
    font-style: italic;
}

b, strong {
    font-weight: bolder;
}



/* ============================================
   LENKER
   ============================================ */

a:active {
    opacity: 0.7;
}

.page a.active {
    font-family: 'UntitledSerif', Icons, serif;
    font-style: italic;
}

.page h1 a.active {
    font-style: normal;
}

a {
    color: rgba(0, 0, 0, 0.85);
    text-decoration: none;
}

a:hover {
    color: rgba(109, 22, 7, 0.85) !important;
}

/* Cargo-piler og ikonlenker på arrangementer/feed-sider */
bodycopy cargo-link a,
.page bodycopy a {
    font-family: 'UntitledSerif', Icons, serif;
}

/* ============================================
   OVERSKRIFTER (H1, H2)
   ============================================ */

[data-predefined-style="true"] h1 {
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    font-weight: normal;
    padding: 0;
    margin: 0;
    font-size: 4.0rem;
    line-height: 1.1;
    color: rgba(0, 0, 0, 0.85);
}

[data-predefined-style="true"] h1 a {
    color: rgba(0, 0, 0, 0.85);
}

[data-predefined-style="true"] h2 {
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    padding: 0;
    margin: 0;
    color: rgba(0, 0, 0, 0.85);
    font-size: 2.0rem;
    line-height: 1.3;
}

[data-predefined-style="true"] h2 a {
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    color: rgba(0, 0, 0, 0.85);
    border-bottom: 0;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
/*    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    */
}

/* Fikser small og b-lenker i innholdskolonnen */
[data-predefined-style="true"] small a,
[data-predefined-style="true"] b a {
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
}

/* ============================================
   BRØDTEKST (BODYCOPY)
   ============================================ */

[data-predefined-style="true"] bodycopy {
    font-size: 1.3rem !important;
    font-weight: normal !important;
    color: rgba(0, 0, 0, 0.85) !important;
    font-family: 'UntitledSerif', serif !important;
    font-style: normal !important;
    line-height: 1.3 !important;
}

/* Kursiv i brødtekst */
.untitled em,
.untitled i {
    font-family: 'UntitledSerif', serif;
    font-style: italic;
}

/* Lenker i innhold – SpaceMono */
[local-style="37994633"] bodycopy a {
	color: rgba(0, 0, 0, 0.85);
	border-bottom: 0;
	text-decoration: none;
    font-family: 'SpaceMono', monospace;
    font-size: 1.3rem;
}

/* Lenker i venstremenyen – Helvetica Neue med piler */
[local-style="38234673"] bodycopy a {
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;

}

/* NO/EN språkvelger øverst til høyre */
[local-style="38234676"] a {
    color: rgba(0, 0, 0, 0.85);
    text-decoration: none;
}

[local-style="38234676"] a:hover {
    font-style: italic;
}

[local-style="38234680"] bodycopy a:hover {
    font-style: italic;
}

[local-style="17025732"] a {
    font-size: 2rem;
    line-height: 1.1;
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    text-decoration: none;
    color: rgba(0, 0, 0, 0.85);
}

[local-style="17025732"] bodycopy a {
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
}

/* Bildelenker i brødtekst – ingen understrek */
bodycopy a.image-link,
bodycopy a.icon-link,
bodycopy a.image-link:hover,
bodycopy a.icon-link:hover {
    border-bottom: 0;
    padding-bottom: 0;
}

/* Small-tekst */
[data-predefined-style="true"] small {
    display: inline-block;
    font-size: 1.3rem;
    line-height: 1.3;
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    font-weight: normal;
    color: rgba(0, 0, 0, 0.85);
}

[data-predefined-style="true"] small a {
    color: rgba(0, 0, 0, 0.85);
    border-bottom-width: 0;
    font-size: 1.3rem;
    line-height: 1.2;
}

.ingress {
    font-size: 1.6rem;
    line-height: 1.4;
    font-family: "Helvetica Neue", Helvetica, sans-serif;

}

@media only screen and (max-width: 750px) {
    .ingress {
        font-size: 1.6rem;
    }
}

/* ============================================
   LOKALE STØRRELSESOVERSTYRELSER (FORSIDE)
   Disse overstyrer lokale størrelser satt i Cargo-editoren
   38234673 = venstremenyen
   38234680 = hovedinnholdet
   ============================================ */


/* Linker i venstre meny */
[local-style="38234673"] a {
    font-size: 2rem;
    line-height: 1.1;
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    text-decoration: none;
    color: rgba(0, 0, 0, 0.85);
}


/* ============================================
   MENY (VENSTRE KOLONNE)
   local-style 38234673
   ============================================ */

[local-style="38234673"] bodycopy {
    border-right: 0px solid black;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 100vh;
}

/* Linker */

[local-style="38234680"] bodycopy a:hover {
    font-style: italic;
}
/* Skjul border på mobil */
@media only screen and (max-width: 750px) {
    [local-style="38234673"] bodycopy {
        border-right: 0;
    }
}

.meny-level1 {
    background-color: #FBF77E; /* bytt til ønsket farge */
    width: 22vw;
    bottom: 2rem;
    left: -1rem;
    padding: 1rem 2rem;
    z-index: 200;
    transform: rotate(2deg);
    transform-origin: bottom left;
}


.meny-level2 {
    background-color: #839461; /* bytt til ønsket farge */
    width: 23vw;
    bottom: 2rem;
    left: -1rem;
    padding: 1rem 2rem;
    z-index: 200;
    transform: rotate(-2deg);
    transform-origin: bottom left;
}

.meny-level3 {
    background-color: #D1D1D1; /* bytt til ønsket farge */
    width: 21vw;
    bottom: 2rem;
    left: -1rem;
    padding: 1rem 2rem;
    z-index: 200;
    transform: rotate(5deg);
    transform-origin: bottom left;
}

.abonner-fixed {
    background-color: #FBF77E;
    position: fixed;
    width: 25vw;
    bottom: 0rem;
    left: 0rem;
    padding: 1rem 2rem;
    z-index: 200;
    transform: rotate(1deg);
    transform-origin: bottom left;
}


@media only screen and (max-width: 750px) {
    .meny-level1,
    .meny-level2,
    .meny-level3,
    .abonner-fixed {
        width: 90vw;
        position: relative;
        bottom: auto;
        left: auto;
        box-sizing: border-box;
    }

    .abonner-fixed {
        position: fixed;
        width: 90vw;
        left: auto;   
        bottom: 5rem;   /* juster denne */
    }
}

@media only screen and (max-width: 750px) {
    .meny-level2 h2,
    .meny-level2 a {
        font-size: 2.5rem;
        line-height: 1.4;
    }
}


@media only screen and (max-width: 750px) {

    /* Større tekst i hamburger-menyen på mobil */
    #site_menu .page-link a,
    #site_menu .set-link > a {
        font-size: 2.5rem;
        line-height: 1.4;
    }

    /* Større tekst i venstrekolonnen hvis den vises på mobil */
    [local-style="38234673"] bodycopy,
    [local-style="38234673"] a {
        font-size: 2.5rem;
        line-height: 1.4;
    }
}

@media only screen and (max-width: 750px) {

    /* Større tekst i hamburger-overlay-menyen */
    #site_menu {
        font-size: 3rem;
    }

    #site_menu .page-link a,
    #site_menu .set-link > a {
        font-size: 3rem;
        line-height: 1.6;
    }

    /* Utgaver-seksjonen og innrykket */
    #site_menu .indent {
        font-size: 3rem;
    }
}

@media only screen and (max-width: 750px) {
    .meny-level3 small,
    .meny-level3 small a {
        font-size: 2.0rem;
        line-height: 1.4;
    }
}

@media only screen and (max-width: 750px) {
    body.homepage .image-gallery {
        display: flex !important;
        flex-direction: column !important;
        width: 95vw !important;
        margin-left: -1rem !important;
    }

    body.homepage .gallery_card {
        width: 100% !important;
    }

    body.homepage .gallery_card_image {
        width: 95vw !important;
        height: 60vw !important;
        padding-bottom: 0 !important;
    }

    body.homepage .gallery_card_image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    body.homepage .gallery_image_caption {
        width: 100vw !important;
        margin-left: -1rem !important;
        padding-left: 1rem !important;
        box-sizing: border-box !important;
    }

    
    
@media only screen and (max-width: 750px) {
    [data-predefined-style="true"] bodycopy {
        font-size: 1.8rem !important;
        line-height: 1.5 !important;
    }
}

}

/* ============================================
   LAYOUT OG BREDDE
   ============================================ */

[data-css-preset] body {
    background-color: #fefaf4;
}

[data-css-preset] .page {
    background-color: initial;
}

.mobile .page,
[data-css-preset].mobile .page {
    position: relative;
    min-height: 10px;
    max-width: 100%;
    width: 100%;
    background-color: transparent;
}

[data-css-preset] .container {
    margin-left: auto;
    margin-right: 0;
    text-align: left;
}

[data-css-preset] .container_width {
    width: 75%;
}

[data-css-preset] .content_padding {
    padding: 1rem;
}

[data-css-preset] text-limit {
    display: inline-block;
    max-width: 66rem;
}


/* ============================================
   SKJULTE / TOMME ELEMENTER
   ============================================ */

/* Skjul mobilmeny-container på desktop */
[local-style="38234678"] .container {
    display: none;
    left: 9px;
    top: 9px;
    align-items: flex-start;
    -webkit-align-items: flex-start;
}

@media only screen and (max-width: 750px) {
    [local-style="38234678"] .container {
        display: initial;
    }
}

@media only screen and (max-width: 750px) {
    [local-style="38234682"] .container {
        display: none;
    }
}

@media only screen and (max-width: 750px) {
    .homelink {
        display: none;
    }
}



/* Skjul tomme/standard thumbnailbilder */
.thumb_image.default_image > svg,
.thumb_image.default_image {
    display: none !important;
}

/* Skjul værwidget */
.weatherWidget-io {
    display: none;
}


/* ============================================
   LOGO
   ============================================ */
.logostatic {
    max-width: 240px;
    display: block;
    padding: 1rem;
    margin-top: 2rem;    /* juster etter smak */
}



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

img {
    border: 0;
    padding: 0;
}

.content img {
    float: none;
    margin-bottom: 0;
}

/* Bildetekster under galleri */
.gallery_image_caption {
    margin-top: 0.6rem;
    margin-bottom: 0;
    font-size: 0.9rem;
    font-weight: 400;
    color: rgba(0, 0, 0, 1);
    font-family: 'SpaceMono', monospace;
    font-style: normal;
    line-height: 1.3;
}


/* ============================================
   HOVER-BILDE (vises når man hovrer over tittel)
   ============================================ */

.hover-title {
    display: inline;
    pointer-events: auto;
    cursor: pointer;
}

.hover-image {
    visibility: hidden;
    display: flex;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -50%);
    z-index: 2;
    pointer-events: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40vw;
    height: 90vh;
}

body:not(.mobile) .hover-title:hover + .hover-image {
    visibility: visible;
}

.hover-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    margin-bottom: 0;
}


/* ============================================
   DIVERSE TEKSTELEMENTER
   ============================================ */

sub, sup {
    position: relative;
    vertical-align: baseline;
}

sub { top: 0.3em; }
sup { top: -0.4em; }

s {
    text-decoration: line-through;
}

ul, ol {
    margin: 0;
    padding: 0 0 0 2.5em;
}

blockquote {
    margin: 0;
    padding: 0 0 0 2em;
}

hr {
    background: rgba(0, 0, 0, 1);
    border: 0;
    height: 1px;
    display: block;
}


/* ============================================
   THUMBNAIL-LISTE (f.eks. Arrangementer-siden)
   ============================================ */

div[thumbnails] {
    justify-content: flex-start;
}

[data-css-preset] .thumbnails {
    background-color: transparent;
}

[data-css-preset] .thumbnails_width {
    width: 75%;
}

[data-css-preset] [thumbnails-pad] {
    padding: 1rem;
    margin-left: 1rem;
}

[data-css-preset] [thumbnails-gutter] {
    margin: -2rem;
    padding-right: 30%;
}

[data-css-preset] [responsive-layout] [thumbnails-pad] {
    padding: 0.5rem;
}

[data-css-preset] [responsive-layout] [thumbnails-gutter] {
    margin: -1rem;
}

/* Thumbnail-bilde: skjult, vises ved hover */
.thumbnails .thumb_image {
    visibility: hidden;
    position: fixed !important;
    z-index: 100;
    right: 0;
    top: 10%;
    max-width: 30%;
}

.thumbnails .thumbnail:hover .thumb_image {
    visibility: visible;
    right: 1%;
}

.thumbnails .thumbnail:nth-child(3n+1) .thumb_image { transform: rotate(-3deg); }
.thumbnails .thumbnail:nth-child(3n+2) .thumb_image { transform: rotate(5deg); }
.thumbnails .thumbnail:nth-child(3n+3) .thumb_image { transform: rotate(-1deg); }

@media only screen and (max-width: 600px) {
    .thumbnails .thumbnail:hover .thumb_image {
        visibility: hidden;
    }
}

/* Thumbnail-tittel */
.thumbnails .title {
    margin-top: 0.8rem;
    margin-bottom: 1.5rem;
    font-size: 3.0rem;
    font-weight: normal;
    color: rgba(0, 0, 0, 0.99);
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    line-height: 1.2;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.thumbnails .thumbnail:hover .title {
    -webkit-transform: translateX(25px);
    transform: translateX(25px);
}

/* Thumbnail-tagger (inkl. datoer) */
.thumbnails .tags {
    pointer-events: none;
    margin-top: 1rem;
    margin-bottom: 1.0rem;
    font-size: 1.5rem;
    font-weight: normal;
    color: rgba(0, 0, 0, 1);
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    line-height: 1.3;
}

.thumbnails .tags a {
    pointer-events: none;
    border-bottom: 0;
    color: rgba(0, 0, 0, 1);
    text-decoration: none;
}

.thumbnails .has_title .tags {
    margin-bottom: 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid black;
}


/* ============================================
   HAMBURGER-MENY (mørk overlay-meny)
   ============================================ */

[data-css-preset] #site_menu_button {
    color: rgba(0, 0, 0, 0.75);
    font-size: 28px;
    padding: 6px;
    line-height: 1;
    background: transparent;
    position: fixed;
    top: 1rem;
    left: 1rem;
}

body.mobile #site_menu_button {
    margin: -6px;
    font-size: 34px;
}

#site_menu_button.custom_icon {
    width: 40px;
    height: auto;
}

#site_menu_button.active {
    display: none;
}

#site_menu {
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    background: rgba(20, 20, 20, 0.95);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    padding: 20px 30px 90px 30px;
    max-width: 400px;
    min-width: 300px;
    text-align: left;
    display: flex;
    justify-content: flex-start;
}

body.mobile #site_menu {
    width: 100%;
}

body.mobile {
    padding-top: 5em;
}

#site_menu .page-link a {
    color: rgba(255, 255, 255, 0.75);
}

#site_menu .set-link > a {
    color: rgba(255, 255, 255, 0.75);
    font-weight: bold;
}

#site_menu a:active { opacity: 0.7; }
#site_menu a.active { opacity: 0.4; }

#site_menu .close {
    display: none;
    color: rgba(255, 255, 255, 0.4);
    line-height: 0.85em;
    font-size: 45px;
}

body.mobile #site_menu .close {
    display: block;
    font-size: 50px;
    line-height: 1em;
}

#site_menu .break { height: 28px; }
#site_menu .indent { margin-left: 28px; }


/* ============================================
   ROTERENDE ELEMENT (f.eks. logo-animasjon)
   ============================================ */
/*
.rotate {
    display: inline-block;
    -webkit-animation: rotate 25s linear infinite;
    animation: rotate 25s linear infinite;
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
*/

/* ============================================
   INNLASTINGSINDIKATOR
   ============================================ */

.loading[data-loading] {
    position: fixed;
    bottom: 8px;
    left: 8px;
}


/* ============================================
   QUICK VIEW (lysbildevisning)
   ============================================ */

[data-css-preset] .quick-view {
    padding: 0;
    height: 100%;
    width: 100%;
}

body.mobile .quick-view {
    width: 100%;
    height: 100%;
    margin: 0;
}

[data-css-preset] .quick-view-background {
    background: transparent;
}

.quick-view-caption {
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    transition: 100ms opacity ease-in-out;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 3.5rem 0;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.2;
}

.quick-view-caption span {
    padding: 0.5rem 1rem;
    display: inline-block;
    background: rgba(0, 0, 0, 0.5);
    color: white;
}

/* Navigasjonspiler i quick view */
.quick-view-navigation .left-arrow { left: 10px; }
.quick-view-navigation .right-arrow { right: 10px; }

.quick-view-navigation .left-arrow,
.quick-view-navigation .right-arrow {
    height: 36px;
    width: 36px;
}

.quick-view-navigation .left-arrow .inner-color,
.quick-view-navigation .right-arrow .inner-color {
    stroke: rgba(0, 0, 0, 0.85);
    stroke-width: 1.5px;
}

.quick-view-navigation .left-arrow .outer-color,
.quick-view-navigation .right-arrow .outer-color {
    stroke: transparent;
    stroke-width: 2.5px;
}

.quick-view-navigation .close-button {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
}

.quick-view-navigation .close-button .inner-color {
    stroke: rgba(0, 0, 0, 0.85);
    stroke-width: 1.5px;
}

.quick-view-navigation .close-button .outer-color {
    stroke: transparent;
    stroke-width: 2.5px;
}


/* ============================================
   BILDEGALLERI-PILER
   ============================================ */

.image-gallery-navigation .left-arrow,
.image-gallery-navigation .right-arrow {
    height: 36px;
    width: 36px;
}

.image-gallery-navigation .left-arrow .inner-color,
.image-gallery-navigation .right-arrow .inner-color {
    stroke: #fff;
    stroke-width: 1.5px;
}

.image-gallery-navigation .left-arrow .outer-color,
.image-gallery-navigation .right-arrow .outer-color {
    stroke: rgba(0, 0, 0, 0.6);
    stroke-width: 2.5px;
}


/* ============================================
   BAKGRUNNSBILDE-PILER (wallpaper)
   ============================================ */

.wallpaper-navigation .left-arrow,
.wallpaper-navigation .right-arrow {
    width: 36px;
    height: 36px;
}

.wallpaper-navigation .left-arrow .inner-color,
.wallpaper-navigation .right-arrow .inner-color {
    stroke: #fff;
    stroke-width: 1.5px;
}

.wallpaper-navigation .left-arrow .outer-color,
.wallpaper-navigation .right-arrow .outer-color {
    stroke: rgba(0, 0, 0, 0.6);
    stroke-width: 2.5px;
}


/* ============================================
   FEED (blogg/nyhetsstrøm)
   ============================================ */

.feed .content_container .page {
    border-top: 0;
}

.feed .content_container .page_container:first-child .page {
    border-top: 0;
}


/* ============================================
   LYDSPILLER
   ============================================ */

.audio-player {
    max-width: 36rem;
    height: 3.3rem;
    outline: 1px solid rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.6);
    background: #fff;
    font-size: 1.2rem;
    line-height: 1.3;
    font-family: "Helvetica Neue", Helvetica, sans-serif, Icons;
    font-style: normal;
    font-weight: 400;
    text-align: left;
    margin: 1px 1px 1em 1px;
}

body.mobile .audio-player {
    max-width: 100%;
}

.audio-player .separator {
    width: 1px;
    background-color: rgba(0, 0, 0, 0.15);
}

.audio-player .button {
    background: transparent;
    cursor: pointer;
    fill: rgba(0, 0, 0, 0.85);
}

.audio-player .icon {
    fill: rgba(0, 0, 0, 0.85);
    padding: 30%;
    width: 100%;
    margin: auto;
}

.audio-player .buffer { background: rgba(0, 0, 0, 0.03); }
.audio-player .progress { background: rgba(0, 0, 0, 0.1); }

.audio-player .progress-indicator {
    border: 1px solid rgba(0, 0, 0, 0.7);
    width: 1px;
    height: 100%;
    right: 0;
    position: absolute;
    cursor: ew-resize;
}

.audio-player .note-icon {
    height: 100%;
    width: 3.8rem;
    padding: 1rem;
    fill: rgba(0, 0, 0, 0.5);
}

.audio-player .current-time { padding-left: 1rem; }
.audio-player .total-time { padding-right: 1rem; }