:root {
--bv-blue: #b5cff0;
--vb-black: #161616;
--vb-red: #fe0000;
--white: white;
--transparent: transparent;
--grey: grey;
--lightgrey: lightgrey;
--lightgrey1: #efefef;
--lightgrey2: #e6e6e6;
--lightgrey3: #696969;
--lightergrey: #dedede;
--darkgrey: #585858;
--whitesmoke: whitesmoke;
--black: #383838;
--lightergrey: #dedede;
--light-darkgrey: #d8d8d8;
--grey1: #bbbbbb;
--grey-green: #effff1;
--grey2: #ebebeb;
--default-white: white;
--default-darkwhite: #f3f3f3;
--sw-info-color: #3490dc;
--layout-row-shaddow-color-light: rgba(0,0,0,0.1);
--layout-row-shaddow-color-dark: rgba(0,0,0,0.2);
--calendar-selection-background-color: white;
--theme-heading-color: black;
--theme-heading1-color: black;
--theme-heading2-color: black;
--theme-heading3-color: black;
--theme-body-font-color: #424242;
--theme-color-lighten-10: hsl(var(--theme-color),40%);
--theme-color-lighten-20: hsl(var(--theme-color),30%);
--theme-color-darken-10: hsl(var(--theme-color),60%);
--theme-color-darken-20: hsl(var(--theme-color),70%);
--donate-wizard-button-next-color: #585858;
--theme-font-color: #331919;
--theme-color-contrast: #f3f3f3;
--theme-color: var(--vb-black);
--theme-nav-backgroundcolor: var(--vb-black);
--theme-nav-color: var(--white);
--default-black: var(--black);
--default-grey: var(--grey);
--navbar-background-color: var(--theme-nav-backgroundcolor);
--navbar-collapsed-background-color: var(--whitesmoke);
--navbar-font-color: var(--theme-nav-color);
--navbar-collapsed-font-color: var(--default-black);
--page-title-border-color: var(--theme-color);
--footer-background-color: var(--theme-color);
--footer-font-color: var(--theme-color-contrast);
--cta-events-date-border-color: var(--theme-color);
}

a:has(.fa-twitter){
display: none;
}


.meet .list-2-col__item:nth-child(-n+2) {
    border-top: none;
}


.navbar {
    height: 80px;
}

.navbar__logo {
    max-height: 60px;
}

.page-title {
display: none;
}


.overskrift_forside {
    letter-spacing: 1.1px;
    font-size: max(4vw, 30px);
    text-align: center;
    font-weight: 600;
    color: white;
       text-shadow: black 2px 4px 2px;
   background-color: #0000004a;
   
}



.home .forsidetekst {
z-index: 3;
position: absolute !important;
top: 100px;
width: 100%;
-webkit-animation: text-focus-in 1s ease-in-out 0.2s both;
	        animation: text-focus-in 1s ease-in-out 0.2s both;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-9-11 12:57:53
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation text-focus-in
 * ----------------------------------------
 */
@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}


.overskrift {
    letter-spacing: 1.1px;
    font-size: 2.3rem;
    text-align: center;
    font-weight: 600;
    color: #161616;
}

.sideoverskrift {
    letter-spacing: 1.1px;
    font-size: 2.5rem;
    text-align: center;
    font-weight: 600;
    color: #161616;
}
.overskrift-white {
    letter-spacing: 1.1px;
    font-size: 2rem;
    text-align: center;
    font-weight: 600;
    color: white;
}
.nearest-first{
    display: flex;
    flex-direction: column-reverse;
}

/* #############  FORSIDE #############   */

.home .panel-hero-image__img-cover {
    width: 100%;
    filter: brightness(1.3) grayscale(0.3);
}

.panel-hero-image__img-button {
    padding: 12px 25px;
   font-size: 2rem;
}

.home .firmdepartmentnavheader>div>div {
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.home .firmdepartmentnavheader {
   background-color: #b5cff0;
}

.home a.firmdepartmentnavheader__link {
     font-size: 1.9rem;
     background-color: #b5cff0;
     color: var(--vb-black);
     font-weight: 500;
}

.home .layout__row--background-light {
    background-color: #b5cff0;
    padding-block: 30px;
}


/*
.home .cta-events__event-description {
    display: none;
}


.home .cal {
background-color: #161616;
box-shadow: 2px 0px 5px 0px rgb(0 0 0 / 51%);
}


.home .cta-events__grid {
        display: grid;
       grid-gap: 40px;
        grid-template-columns: auto;
}
*/

.home .cta-events {
    background-color: #fff;
    width: fit-content;
    min-width: 50vw;
    margin: 15px auto 15px auto;
    border: 1px solid;
    border-color: #dbdada;
    box-shadow: rgb(0 0 0 / 27%) 0px 5px 15px;
}

.home .cta-events__event {
    color: #585858;
}

.home h3.cta-events__location-heading {
      color: #585858;
 }


.article__main-image {
    max-height: 300px;
}



.article__main-image {
    display: none;
}

.article-card-small {
    background-color: #ffffff;
    border: 1px solid #1616161f;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
    padding-top: 15px;
}


.home .orginfo section {
  margin-top: 0;
}

.home .layout__row--background-light:has(.orginfo) {
  background-color: #161616;
}

.home .f-icon .icon-wrapper {
        position: absolute;
        z-index: 1;
        bottom: -101px;  
        right: 10vw;
    }

    .home .f-icon .media_icon {
        width: 40px;
        background-color: #b5cff0;
    }

   .home .f-icon .fab, .fa-brands {
        font-size: 55px !important;
        text-align: center;
    }

   .home .f-icon .icon-wrapper a {
        text-decoration: none;
        margin: 5px;
        color: #b5cff0;
    }


/* #############  BUTTONS  #############   */
   .vfb-btn-container {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        gap: 10px;
        margin-bottom: 15px;
        padding-block: 15px;
    }

.home .vfb-btn-container {
   justify-content: center;
}
.pris .vfb-btn-container {
   justify-content: flex-start;
}
    
    .vfb-btn-primary {
        background: var(--vb-black);
        color: var(--white);
        padding: 16px 40px;
        border: 1px solid;
        border-radius: 5px;
        font-size: 22px;
        text-align: center;
        transition: 0.3s;
        max-width: 300px;
        cursor: pointer;
    }
    .pris .vfb-btn-primary {
    background: #16161600;
    color: #cd0100;
    padding: 11px 40px;
    border: 2px solid #cd0100;
}

  


    .vfb-btn-primary:hover {
        background: white;
        border: 1px solid var(--vb-black);
        color: var(--vb-black);
        transform: none;
    }


  .pris .vfb-btn-primary:hover {
    background: white;
    border: 2px solid #cd0100;
    color: #cd0100;
    transform: none;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}


    .vfb-btn-primary a {
        text-decoration: none;
        color: inherit;
        font-weight: 500;
        letter-spacing: 0.1rem;
    }

.vfb-btn-primary a:hover {
       text-decoration: none;
}


.btn2 .vfb-btn-primary {
    padding: 12px 30px;
    font-size: 18px;
}



.vfb-btn {
   background: #dbe9f9;
    color: #161616;
    padding: 15px 25px;
    border: 2px solid #161616;
    border-radius: 5px;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    transition: 0.3s;
    max-width: 300px;
    cursor: pointer;
    }

    .vfb-btn:hover {
        background: white;
        border: 2px solid #161616;
        transform: none;
    }

    .vfb-btn a {
        text-decoration: none;
        color: inherit;
        font-weight: 500;
        letter-spacing: 0.1rem;
    }

.vfb-btn2 {
   background: #161616;
    color: white;
    padding: 15px 25px;
    border: 2px solid #161616;
    border-radius: 5px;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    transition: 0.3s;
    max-width: 300px;
    cursor: pointer;
    }

    .vfb-btn2:hover {
        background: white;
        border: 2px solid #161616;
        transform: none;
        color: #161616;
    }

    .vfb-btn2 a {
        text-decoration: none;
        color: inherit;
        font-weight: 500;
        letter-spacing: 0.1rem;
    }


/* #############  OM OSS #############   */

.about .grid__sm--3 {
        grid-template-columns: 1fr;
}

.about .layout__row--background-light {
    background-color: #161616;
    padding: 36px;
}

.about .panel-box {
    margin-bottom: 20px;
    border-color: #b9b9b9;
    border-radius: 5px;
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 51%);
}

.about .panel-box__header {
    color: #545454;
    background-color: white;
    border-color: #b9b9b9;
    border-radius: 5px;
}

.about .panel-box__heading {
    margin: 0;
    padding: 18px 10px;
}

.about h2.panel-box__heading {
    font-size: 1.8rem;
    color: #161616;
}

.about .image-list__button {
    margin-top: 20px;
   font-size: large;
}

.about .accordion {
    position: relative;
    top: -41px;
    border-color: #b9b9b9;
    border-radius: 0px 0px 5px 5px;
    box-shadow: 0px 3px 5px 0px rgb(0 0 0 / 51%);
}


.about .accordion__header {
   background-color: white;
   border-radius: 0px 0px 5px 5px;
   padding: 18px 10px;
}


.about h2.accordion__heading {
    font-size: 1.6rem;
    color: #161616;
}


.medlemseffekter .image-list__container {
      padding: 10px 5px;
}

.medlemseffekter .image-list__image {
    object-fit: contain;
    border-right: none;
    height: 160px;
}


.arkiv .article-card__content {
    background-color: #ffffff;
}

.arkiv .article-card {
 box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
}

.arkiv .article-card__image {
   padding: 10px;
}

.arkiv .article-list-category {
   background-color: #ffffff;
   border: 1px solid #f5f5f5;
}

/* #############  HAVNA  #############   */ 

.havna .layout__row--background-light  {
 background-color: #deeaf8;
}

.havna .layout__row--background-light:has(.webcam) {
   padding-bottom: 40px;
}



.havna .grid__sm--1 {
        display: flex ;
        flex-direction: row;
        align-content: center;
        justify-content: center;
}

.havna .cta-box {
     max-width: 300px;
}

.havna .datalist-card {
    background-color: transparent;
    border: none;
    display: flex;
    flex-direction: column;
    min-height: 210px;
    position: relative;
}

.havna .datalist-card__image {
    height: 100%;
    position: absolute;
    z-index: -1;
    filter: opacity(0.5);
    top: 0;
    left: 0;
    object-fit: cover;
    border-radius: 5px;
    filter: contrast(0.5) brightness(0.5);
    width: 100%;
    max-height: unset;
}



.havna .datalist-card__header {
   position: revert !important;
    padding: 0;
}
.havna .datalist-card__heading {
    color: white;
    font-weight: 500;
}

.havna .datalist-card__button {
    position: absolute;
    top: 0;
    width: 100%;
    opacity: 0;
    height: 100%;
   left: 0;
}

.havna .datalist-card:hover {
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}


.havna .datalist-card__content span {
    color: white;
    font-weight: 400;
}




.havna .grid__md--2 {
    grid-template-columns: 1fr 2fr;
    border-radius: 5px;
    background-color: #ffffff;
}

.havna .contact__form-container {
    padding: 10px;
    background-color: rgb(255 255 255);
}

.havna .contact {
    background-color: rgb(255 255 255);
}

.havna .contact__item-heading {
    background-color: rgb(255 255 255);
    color: #161616;
    font-size: 1.8rem;
 }

.havna .cam {
    background-color: #b5cff0;
    padding-bottom: 50px;
}
.havna label.user-input__label:has(+.user-input__textarea)::after {
    content: " (fyll inn ditt medlemsnummer)";
}


/* #############  WEBKAMERA#############   */


.webcams {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 30px;
row-gap: 16px;
    margin: 2rem 0;
    flex-wrap: wrap;
  }

  .webcams_row {
    display: flex;
column-gap: 30px;
row-gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

  .webcam-box {
    flex:1 1 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: min(300px, 80vw);
  }

  .webcam-box img {
    object-fit: contain;
    max-width: 100% !important;
  }



/* #############  RUFFEN #############   */

.ruffen .grid__md--2 {
        grid-template-columns: 1fr;
}

.ruffen .contact {
    display: none;
}
.ruffen .utleie {
background-color: #f1f7fd;
}

.layout__row--background-light:has(.utleie) {
    background-color: #f1f7fd;
}




/* #############  QA  #############   */

.qa .grid__sm--3 {
        grid-template-columns: 1fr;
}

.qa .accordion {
    border-color: rgb(0 0 0 / 14%);
    border: none;
    border-radius: 0px;
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 51%);
}

.qa .accordion__header {
   background-color: white;
   padding: 18px 10px;
}


.qa h2.accordion__heading {
    font-size: 1.8rem;
    color: #161616;
}

.qa .accordion__icon {
    color: #3568a8;
}

/* #############  KONTAKT #############   */

.kontaktinfo .grid__md--2 {
    grid-template-columns: 1fr 2fr;
    border: 1px solid #16161670;
    border-radius: 5px;
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 51%);
}


.kontaktinfo .contact__form-container {
    padding: 10px;
    background-color: rgb(255 255 255);
}

.kontaktinfo .contact {
    background-color: rgb(255 255 255);
}

.kontaktinfo .contact__item-heading {
    background-color: rgb(255 255 255);
    color: #161616;
    font-size: 1.8rem;
 }

/* #############  STYRET#############   */

.styret .board-member img {
display: none;
}

.styret .board-member__top {
     height: 110px;
     background-image: none;
 }

.styret .board-member__contact-info {
align-items: center;
}

.styret span.board-member__role {
font-size: 1.8rem;
}

.styret .grid__sm--3 {
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    }

.styret .board-member {
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 51%);
}


.article:has(.skjult) .article__header {
   border-bottom: none;
   text-align: center;
}




.article:has(.skjult) .article__heading {
    letter-spacing: 1.1px;
    font-size: 2.5rem;
    text-align: center;
    font-weight: 600;
    color: #161616;
}

.article:has(.skjult) .article__text-small  {
   display: none !important;
}

.body-container:has(.skjult) .article__list-summary {
display: none;
}

/* #############  MEDLEM ############# */


.medlem .cta-box__button {
    background-color: rgb(14 40 74 / 90%);
    color: aliceblue;
    font-size: 1.8rem;
}


.medlem img.cta-box__image {
    filter: grayscale(0.5) brightness(0.9);
}


.medlemseffekter .image-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
}


.medlemseffekter .image-list__container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.medlemseffekter .contact__item {
    display: none;
}

.medlemseffekter .contact__form-container {
    background-color: rgb(219 233 249);
}


.medlemseffekter .grid__md--2 {
        grid-template-columns: 1fr;
}

.medlemseffekter .shop { 
    background-color: #dbe9f9;
    padding-bottom: 30px;
    margin-bottom: -59px;
}

/* #############  LENKER ############# */

.layout__row--background-light:has(.spons) {
    background-color: #eef5fc;
    padding-block: 30px;
}

.lenker .grid__sm--3 {
grid-template-columns: 1fr 1fr;
    }

.lenker .panel-box {
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 51%);
}

.lenker .panel-box__header {
    background-color: #ffffff;
    border-radius: 5px;
}

.lenker h2.panel-box__heading {
    font-size: 18px;
}

.lenker .panel-box__heading {
    padding: 15px 15px;
}


/* #############MEDIA############# */

@media only screen and (max-width: 1190px) {

.home .firmdepartmentnavheader>div>div {
        flex-direction: column;
}
}



@media only screen and (max-width: 768px) {
    .lenker .grid__sm--3 {
        grid-template-columns: 1fr;
}

.havna .grid__md--2 {
    grid-template-columns: 1fr;
}
}
@media only screen and (max-width: 763px) {
.vfb-btn-container {
flex-direction: column;
}
}

@media only screen and (max-width: 763px) {
     .vfb-btn-primary {
            width: 300px;
}
}
@media only screen and (max-width: 460px) {
.medlemseffekter .image-list {
    grid-template-columns: 1fr;
}
}

.home .forsidetekst {