﻿article, div.text.large{
  font-size: 18px!important; line-height: 1.555555!important;
}

section h2.h1-alt,
article h2.h1-alt{ font-size: 35px; line-height: 1.2; }

.research .section-title { font-family: 'DIN Next W01 Bold', sans-serif; font-size: 25px; line-height: 30px; text-transform: uppercase; color: var(--semiblack); }

.research div.row{ --bs-gutter-x: 13px; }

div.wrapper div.text { width: 775px; max-width: 100%; }

article.research div.text div.icon,
article.research div.image,
article.research div.video-frame{ margin-bottom: 1rem; }
article.research div.text div.icon img{ width: 40px; height: auto; }
article.research div.wrapper div.text.mini-teaser { padding: 17px 0; border-top: 1px solid #D1D3D4; border-bottom: 1px solid #D1D3D4; }
article.research div.wrapper div.text.mini-teaser a.row{ --bs-gutter-x: 13px; }
article.research div.wrapper div.text.mini-teaser label { font-family: 'DIN Next W01 Bold', sans-serif; display: block; font-size: 15px; line-height: 18px; text-transform: uppercase; }
section.research.areas div.item{ margin: 15px 0; height: calc(100% - 30px); background-color: #f6f6f6; }
section.research.areas div.item div.flex { background-color: #F6F6F6; min-height: 60px; align-items: center; padding: 0 15px; }
section.research.areas div.item div.flex div.h4 { padding: 10px 5px; }

section.projects .item{ display: block; background-color: rgba(246, 246, 246, 1); height: calc(100% - 30px); padding-bottom: 120px; position: relative; margin: 15px 0; }
section.projects .item div.image{ padding-top: 48.13829787234%; }
section.projects .item div.image a,
section.projects .item div.image img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
section.projects .item div.text{ padding: 20px; font-size: 14px; line-height: 1.28571; }
section.projects .item div.text .h2 { font-family: 'DIN Next W01 Bold', sans-serif; font-size: 20px; line-height: 26px; }

section.projects div.bottom{ padding: 0 20px 20px 20px; position: absolute; bottom: 0; width: 100%; }
section.projects div.duration{ border-top: 1px solid rgba(209, 211, 212, 1); border-bottom: 1px solid rgba(209, 211, 212, 1); margin: 0 -10px 20px -10px; padding: 13px 10px 12px 34px; max-width: 100%;
background: url(svg/icon-date.svg) no-repeat; background-position: 10px 14px; font-size: 16px;
}

section.projects div.text > label { font-family: 'DIN Next W01 Bold', sans-serif; line-height: 18px; text-transform: uppercase;  display: block; margin-bottom: 10px; }
section.projects .item div.text div.line-clamp > .h2 + * { margin-top: 8px; }

section.projects a.button{ line-height: 40px; padding: 0 20px; border-radius: 20px; background-color: var(--sikring); }
section.projects div.splash { position: absolute; top: -10px; left: 20px; z-index: 2;  }

section.projects div.splash{ width: 74px; height: 74px; background-color: var(--brand); color: #fff; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-family: 'DIN Next W01 Medium', sans-serif; font-size: 15px; }
section.projects div.splash  + h1{ margin-top: 10px; }

section.projects div.row{ --bs-gutter-x: 13px; }


article.faq div[itemprop=mainEntity] { position: relative; border-top: 1px solid #D1D3D4; padding-top: 17px; padding-bottom: 14px; }
article.faq div[itemprop=name] { padding-right: 50px; cursor: pointer; font-weight: 700; }
article.faq div[itemprop=name]::after { content: ""; display: block; width: 15px; height: 15px; background: url(svg/chevron-down-brand.svg) center center no-repeat; position: absolute; top: 22px; right: 0; transition: .25s }
article.faq div[itemprop=mainEntity].open div[itemprop=name]::after { transform: rotate(-180deg); }
article.faq div[itemprop=acceptedAnswer] { text-wrap: pretty; display: grid; grid-template-rows: 0fr; transition: grid-template-rows 250ms; }
article.faq div[itemprop=acceptedAnswer] > div { overflow: hidden; }
article.faq div[itemprop=mainEntity].open div[itemprop=acceptedAnswer] { grid-template-rows: 1fr; margin-top: 1rem; }
article.faq.v2 div.text p + div[itemprop=mainEntity] { margin-top: 30px; }


article.project.image-text div.row{ margin: 0; }
article.project.image-text div.row > div{ padding: 0; }

article.project.image-text div.image{ padding-top: 66.439522%; position: relative; height: 100%; }
article.project.image-text div.image * { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

article.project.image-text div.text{ font-size: 16px; line-height: 1.625; padding: 40px 60px; }
article.project.image-text div.text a{ color: var(--brand); font-family: 'DIN Next W01 Medium', sans-serif; }
article.project.image-text div.image * { position: absolute; inset: 0; width: 100%; height: 100%;  object-fit: cover; }

article.intro-area{ margin-top: 0; }
article.intro-area div.image img{ max-width: unset; width: 100%; }
article.intro-area div.text{ padding: 30px 0; }



form.search-projects{  max-width: 576px; position: relative; margin-top: 40px; }
form.search-projects input[type=text]{ background-color: #fff; font-family: 'DIN Next W01 Medium', sans-serif; font-size: 18px; height: 60px; border-radius: 30px;  }
form.search-projects input[type=text] + svg{ position: absolute; top: 4px; right: 4px; width: 52px; height: 52px; cursor: pointer; }



form.filter{ margin-top: 30px; margin-bottom: 15px; }
form.filter input[type=text]{ background-color: #E9F1F9; font-family: 'DIN Next W01 Medium', sans-serif; font-size: 16px; }
form.filter input[type=text] + svg{ position: absolute; top: 0; right: 0; cursor: pointer; }
form.filter div.dropdowns{ margin: 0 -5px; }
form.filter div.dropdowns > div{ padding: 0 5px; }
form.filter span.clear-filter{ font-size: 14px; font-family: 'DIN Next W01 Medium', sans-serif; display: inline-block; position: relative; cursor: pointer;  line-height: 38px; padding-top: 2px; padding-left: 13px; padding-right: 13px; }
form.filter span.clear-filter svg{ margin-left: 7px; }
form.filter div.dd.sort{ display: inline-block; margin-left: 10px; }
form.filter div.dd.sort > label{ width: 160px; }
form.filter .dd > label { background-color: var(--brand3); padding: 0 20px; }
form.filter div.dd > label::after { background: url(svg/circle-down-gray.svg)!important; }


form.filter div.relative,
form.filter div.dd{ margin-bottom: 20px; }

div#loadmore{ font-size: 14px; margin: 20px 0 10px 0; }
button#prepend { margin: 20px 0; }

article.project div.elements { max-width: 674px; }
article.project div.elements div.text a:not(.button) { border-bottom: 1px solid var(--brand); line-height: 0.6; transition: .2s; display: inline!important;  }

article.project div.avatar{ width: 140px; height: 140px; position: relative; }

article.project div.avatar a,
article.project div.avatar img { display: block; width: 100%; height: 100%; inset: 0; position: absolute; object-fit: cover; border-radius: 50%; } 
article.project div.avatar img{ background-color: #fff; }

article.project div.text h2 { font-size: 24px; line-height: 1.333333; text-transform: none; }
article.project div.text h2 + p{ margin-top: 0; }
article.project div.elements > div.video-frame,
article.project div.elements > div.image{ margin-top: 40px; }
article.project div.elements div.mini-teaser{ border-top: 1px solid #D1D3D4; border-bottom: 1px solid #D1D3D4; padding: 17px 0; }
article.project div.elements div.mini-teaser div.image{ width: 120px; }

article.project div.kontakter{ font-size: 16px; }
article.project div.kontakter div.row label{ display: block; font-family: 'DIN Next W01 Bold', sans-serif; font-size: 18px; line-height: 1.222222; margin-bottom: 18px; }
article.project div.kontakter div.row{ margin: 0; background-color: #F6F6F6; padding: 20px 10px; }
article.project div.kontakter div.row > div{ padding: 0 10px; }

article.project div.kontakter strong{ display: block; }
article.project div.kontakter div.info a{ color: var(--brand); font-family: 'DIN Next W01 Medium', sans-serif; }

article.project div.project-infos { max-width: 374px; }
article.project div.project-infos > div{ margin-bottom: 30px; }
article.project div.project-info div.h3 + div.result{ margin-top: 20px; }
article.project div.project-info div.result + div.result{ margin-top: 10px; }
article.project div.project-info div.result{ padding: 20px; background-color: var(--karriere3); font-size: 16px; line-height: 1.1375; transition: .2s; }
article.project div.project-info div.result div.flex{ display: flex; gap: 10px; flex-wrap: nowrap; align-items: start; }
article.project div.project-info div.result div.flex > div:last-child{ align-self: center; }
article.project div.project-info div.result div.flex + a.showmore{ margin-top: 10px; }

article.project div.project-info{ font-size: 16px; }
article.project div.project-info div.h3{ border-bottom: 3px solid #707070; padding-bottom: 2px; }
article.project div.project-info div.info{ padding-left: 24px; border-bottom: 1px solid #D1D3D4; padding-top: 12px; padding-bottom: 12px; background-position: 0 13px!important; }
article.project div.project-info div.info b{ display: block; font-family: 'DIN Next W01 Bold', sans-serif; }
article.project div.project-info div.info.date{ background: url(svg/icon-date.svg) no-repeat;  }
article.project div.project-info div.info.status{ background: url(svg/icon-udbytte.svg) no-repeat; }
article.project div.project-info div.result div.flex + a.showmore{ margin-top: 10px; }
article.project div.project-info div.result a.showmore{ background-color: var(--sikring); margin-left: 50px; }
article.project div.project-info div.result a.showmore::after { background: url(svg/chevron-white-right.svg) no-repeat; background-size: contain; }

div.splash{ width: 74px; height: 74px; background-color: var(--brand); color: #fff; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-family: 'DIN Next W01 Medium', sans-serif; font-size: 15px; }
div.splash  + h1{ margin-top: 10px; }

article.project div.text > ol {
  list-style: none; 
  counter-reset: my-awesome-counter;
  padding: 0;
  margin-top: 1rem;
  margin-left: 0;
}
article.project div.text > ol > li {
  counter-increment: my-awesome-counter;
  padding-left: 57px;
  position: relative;
}

article.project div.text ol li + li{ margin-top: 26px; }

article.project div.text > ol > li::before {
  content: counter(my-awesome-counter);
  background-color: var(--brand);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-block;
  line-height: 40px;
  color: white;
  text-align: center;
  position: absolute;
  left: 0;
  margin-top: -10px;
}

section.project.logos div.bg-brand{ padding: 40px 0; }
section.project.logos div.text{ max-width: 720px; padding: 0 40px; margin: 0; font-size: 18px; line-height: 1.222222; }
section.project.logos div.text h2 + p{ margin-top: 8px; }
section.project.logos div.row{ --bs-gutter-x: 13px; }
section.project.logos div.logo img{ max-width: 228px; max-height: 88px; width: auto; height: auto; margin: 20px 40px; }

section.advantages{ padding-bottom: var(--defaultpadding); }
section.advantages h2.h1{ font-family: 'DIN Next W01 Regular', sans-serif; margin-bottom: 40px; }
section.advantages ul{ display: flex; flex-wrap:wrap; justify-content: space-between; font-size: 16px; gap: 2rem; }
section.advantages ul > li{ width: 280px; padding: 0; }
section.advantages ul > li > h2{ font-family: 'DIN Next W01 Regular', sans-serif; font-size: 24px; margin-bottom: 10px; display: flex; align-items: center; height: 60px; padding-left: 75px; line-height: 1.333333; }
section.advantages ul > li > h2::before{
  content: attr(data-label); width: 60px; height: 60px; background-color: var(--brand); border-radius: 50%; position: absolute; top: -3px; left: 0; justify-content: center; display: flex; align-items: center; color: #fff; font-family: 'DIN Next W01 Bold', sans-serif; font-size: 35px;
  line-height: 1; padding-top: 5px;
}

article.project.result div.text p + h1 {
    margin-top: 10px;
}
.bg-projekt div.text .button { background-color: var(--sikring); }
.bg-projekt div.text h1 strong { color: var(--karriere); }



article#TOC{ position: sticky; top: 0px; z-index: 2; padding: 0; margin: 0; }
article#TOC div.wrapper{ width: 276px; padding: 20px; position: absolute; top: 40px; background-color: var(--gray10); }
article#TOC ul{ color: var(--brand); font-size: 16px; line-height: 1.35; }
article#TOC ul li{ margin-top: 20px; padding-left: 15px; }
article#TOC ul li:before { content: ""; width: 6px; height: 10px; background: url(svg/chevron-brand-right.svg) no-repeat; background-size: contain; top: 5px; }

main.project-result{ padding-bottom: 60px; }
main.project-result div.wrapper{  width: 775px; max-width: 100%; margin: 0 0 0 auto;  }
main.project-result article.research { background-color: unset !important; }
main.project-result article.research div.text.padded { padding: 20px; }

main.project-result > article{ padding: 0; margin-top: 40px; }
main.project-result > article.presentation{ margin-top: 60px; }

article.overflow-text div.text{ max-width: 774px; }

article.overflow-text div.text div.wrapper{ position: relative; height: 300px; overflow: hidden; }
article.overflow-text div.text div.wrapper::after{ content: ""; display: block; width: 100%; height: 180px; position: absolute; bottom: 0;
  background: #ffffff;
  background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%);
}

article.overflow-text div.readmore{ margin-top: -15px; position: absolute; }
article.overflow-text div.readmore span{ color: var(--brand); font-family:'DIN Next W01 Medium', sans-serif; position: relative; cursor: pointer; }
article.overflow-text div.readmore span:nth-child(2){ display: none; }
article.overflow-text div.readmore i{ display: block; width: 15px; height: 10px; background: url(svg/chevron-down-brand.svg) no-repeat; background-size: contain; position: absolute; right: -25px; top: 8px; }

div.text.open div.readmore{ margin-top: 1rem; }
article.overflow-text div.open div.readmore i{ transform: rotate(-180deg);}
article.overflow-text div.open div.readmore span:nth-child(1){ display: none; }
article.overflow-text div.open div.readmore span:nth-child(2){ display: inline-block; }
article.overflow-text div.open div.wrapper{ height: unset; }
article.overflow-text div.open div.wrapper::after{ display: none; }
article.overflow-text div.open div.readmore { position: relative; display: inline-block; }


section.activities h2 { margin-bottom: 20px; }

section.activities ul { max-width: 774px; }
section.activities ul > li{ display: flex; padding: 15px 5px; background-color: var(--gray10); }
section.activities ul > li > div{ padding: 0 13px; }
section.activities ul > li + li{ margin-top: 5px; }

section.activities ul li > div:nth-child(2){ font-family:'DIN Next W01 Bold', sans-serif; font-size: 16px; }
section.activities ul li a { display: block; position: relative; }
section.activities ul li a::after{ content: ""; display: block; width: 15px; height: 10px; background: url(svg/chevron-down-brand.svg) no-repeat; background-size: contain; position: absolute; right: 0; top: 5px; transform: rotate(-90deg); }

section.activities ul li:nth-child(n+4){ display: none; }
section.activities div.open ul li:nth-child(n+4){ display: flex; }

section.activities div.readmore{ position: relative; display: inline-block; margin-top: 10px; }
section.activities div.readmore span{ color: var(--brand); font-family:'DIN Next W01 Medium', sans-serif; position: relative; cursor: pointer; }
section.activities div.readmore span:nth-child(2){ display: none; }
section.activities div.readmore i{ display: block; width: 15px; height: 10px; background: url(svg/chevron-down-brand.svg) no-repeat; background-size: contain; position: absolute; right: -25px; top: 8px; }
section.activities div.open div.readmore i{ transform: rotate(-180deg);}
section.activities div.open div.readmore span:nth-child(1){ display: none; }
section.activities div.open div.readmore span:nth-child(2){ display: inline-block; }
section.activities div.open div.wrapper{ height: unset; }
section.activities div.open div.wrapper::after{ display: none; }

button > em{ font-style: normal; }

button#prepend::after { transform: rotate(-90deg); }
button#append::after { transform: rotate(90deg); }

form.filter div.menu div.menu-item{
    font-family: 'DIN Next W01 Regular', sans-serif;
    font-size: 16px;
    cursor: pointer;
    display: inline-block;
    line-height: 49px;
    border-radius: 25px;
    padding: 1px 20px 0 20px;
    transition: .2s;
    background-color: var(--brand3);
}

form.filter div.menu div.menu-item em{ font-style: normal; }
form.filter div.menu div.menu-item.active{ font-family: 'DIN Next W01 Medium', sans-serif; background-color: var(--blue); color: #fff; }

/*

form.filter ul.areas{ display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
form.filter ul.areas li{ padding: 0; }
form.filter ul.areas li input{ position: absolute; opacity: 0; pointer-events: none; }
form.filter ul.areas li input + label {
    font-family: 'DIN Next W01 Regular', sans-serif;
    font-size: 16px;
    cursor: pointer;
    display: inline-block;
    line-height: 49px;
    border-radius: 25px;
    padding: 1px 20px 0 20px;
    transition: .2s;
    background-color: var(--brand3);
}

form.filter ul.areas li input + label em{ font-style: normal; }
form.filter ul.areas li input:checked + label{ font-family: 'DIN Next W01 Medium', sans-serif; background-color: var(--blue); color: #fff; }
*/

div.filter{ display: none; }

form.filter ul.slick-slider.areas div.slick-track{ gap: 10px; }

aside.sorting,
aside.settings { display: none; }

div.no-results{ font-size: 24px; }


section.projects .menu-wrapper {
    overflow-x: auto;
    white-space: nowrap;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    /* Skjul scrollbar */
    scrollbar-width: none; /* Firefox */
}

.menu-wrapper::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
}

.menu-wrapper .menu {
    display: inline-flex;
    gap: 10px;
}

.menu-wrapper .menu-item {
    transition: background 0.2s;
}

div.text p > a:not(.button) {
    border-bottom: 1px solid var(--brand); line-height: 0.6; transition: .2s; display: inline!important; 
}

@media (min-width: 768px) {
    
  aside.sorting,
  aside.settings { display: none!important; }

}

@media (min-width: 992px) {
    article.text-text div.two-column { column-count: 2; column-gap: 40px; }
}

@media (max-width: 1199px){
  
    article#TOC div.wrapper { position: static; margin: 40px 0 0 0; width: 360px; max-width: 100%; background-color: #F6F6F6; padding: 10px 15px 6px 20px; border-radius: 22px; }

    article#TOC div.wrapper label{ font-family: 'DIN Next W01 Bold', sans-serif; display: block; position: relative; }
    article#TOC div.wrapper label::before{ content: attr(data-label); }

    article#TOC div.wrapper label::after{ content: ""; display: block; position: absolute; top: 0; right: 0; width: 26px; height: 26px; background: url(svg/icon-dropdown-mobil.svg) no-repeat; background-size: contain; transition: .2s; }

    article#TOC div.wrapper.open label::after{ transform: rotate(-180deg); }
    article#TOC div.wrapper.open ul{ display: block; }

    article#TOC div.wrapper strong,
    article#TOC div.wrapper ul{ display: none; }

    article.presentation div.wrapper{ margin: 0; }
  
}

@media (max-width: 991px) {

  main.project-result div.text h1{ font-size: 34px!important; }
  main.project-result div.text a.button{ display: inline-block!important; width: auto!important; }

}

@media (max-width: 767px) {

   div.dropdowns{ display: none; }

    div.filter{
        background-color: var(--brand3);
        padding: 0 20px;
        font-family: 'DIN Next W01 Medium', sans-serif;
        cursor: pointer;
        line-height: 38px;
        padding-top: 2px !important;
        display: block;
        color: inherit;
        position: relative;
        border-radius: 20px;
        font-size: 14px;
        position: relative;
        margin-bottom: 20px;
    }

    div.filter::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 15px;
        margin-top: -7px;
        width: 18px;
        height: 14px;
        background: url(svg/icon-filter.svg);
        background-size: contain;
        transition: all .2s ease;
    }    

    div.filter.sort::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 15px;
        margin-top: -6px;
        width: 18px;
        height: 12px;
        background: url(svg/icon-sort.svg);
        background-size: contain;
        transition: all .2s ease;
    }       
    
    aside.sorting,
    aside.settings {
        position: fixed;
        width: 100%;
        height: 100dvh;
        top: 0;
        right: 0;
        background-color: #fff;
        z-index: 10;
        margin: 0;
        padding: 15px;
        max-width: 420px;
    }

    aside div.content{ max-height: calc(100vh - 155px); overflow-y: auto; scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;    
    }

    aside.settings::before{ content: ""; display: block; width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; z-index: -1; }

    aside label.filter{ display: block; text-align: center; font-family: 'DIN Next W01 Bold', sans-serif; font-size: 22px; line-height: 1.272727; }
    aside label.filter::before{ content: ""; display: block; width: 40px; height: 3px; background-color: #000; border-radius: 2px; margin: 0 auto; margin-bottom: 19px; }
    aside div.close-filter{ position: absolute; width: 40px; top: 22px; right: 15px; font-size: 10px; text-align: center; }

    aside div.toggler { line-height: 60px; font-size: 18px; border-top: 1px solid #D1D3D4; position: relative; }
    aside div.toggler::after{
      content: ""; display: block; width: 13px; height: 7px; background: url(svg/chevron-up.svg) no-repeat; background-size: contain; position: absolute; top: calc(50% - 3px); right: 0;
      transition: .3s ease-in;
    }

    aside div.toggler.open::after{ transform: rotate(-180deg); }


    aside div.content{ padding: 45px 30px 0 0; }

    aside div.content .checkbox{ padding: 11px 0; }
    aside div.content input + label{ line-height: 24px; font-size: 16px; padding-left: 33px; }
    aside div.content .checkbox input:checked + label:before { background-color: var(--brand); border: unset; }
    aside div.content .checkbox input + label:before { background-color: unset; border: 1px solid #000; top: -2px; }

    aside div.content .radio input + label:before { background-color: #F6F6F6; border: 1px solid #000; }
    aside div.content .radio input:checked + label:before { border: 1px solid var(--brand); }

    aside div.content input:checked + label{ color: var(--brand); }


    aside div.content div.wrapper{ padding-bottom: 40px; }

    aside div.footer{ width: 100%; position: absolute; bottom: 0; left: 0; background-color: #F6F6F6; font-size: 16px; padding: 20px 15px; margin: 0; }
    aside div.footer > div{ padding: 0; }
    aside div.footer b{ font-family: 'DIN Next W01 Medium', sans-serif; display: inline-block; padding: 0 20px; cursor: pointer; }
    aside div.footer button{ line-height: 50px; background-color: #316F90; padding: 0 30px; font-size: 16px; border-radius: 25px; }

}


@media (max-width: 575px) {

  section.project.logos div.text{ padding: 0 20px; }
  section.project.logos > div.container{ padding: 0; }
  section.project.logos > div.container div.row { margin: 0; --bs-gutter-x: 20px; }
  section.project.logos div.logo img{ width: 100%; height: auto; max-height: 80px; margin: 0 auto; margin-top: 20px; }

  article#TOC div.wrapper{ width: 100%; }

  section.activities ul > li{ flex-direction: column; }
  section.activities ul > li div.col-auto{ margin-bottom: 10px; }

  section.areas > div.container > div.row{ --bs-gutter-x: 7px; }
  section.research.areas div.item div.flex { padding: 10px; }
  section.research.areas div.item div.flex div.h4 { padding: 0; }

  section.projects .menu-wrapper { margin: 0 -20px; padding: 0 20px; }

}


