/*  Author:   Martin Stettler (https://dieweberei.ch/)
    Version:  21/09/2021 // based on BS v5.0.2
*/

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-size: 19px;
    font-weight: 300;
    line-height: 1.5;
    color: #000;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: 0.031rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
ul,
ol,
.accordion {
    margin-bottom: 30px;
}

.my-30 {
    margin-top: 30px;
    margin-bottom: 30px;
}

h1,
body.layout-home h2,
h3,
h4 {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 1px;
}

h1,
h4,
h5 {
    color: #888;
    font-weight: 500;
}

h4 {
    font-weight: 400;
}

h5 {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.5;
}

blockquote {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-style: italic;
    color: #888;
    font-size: 19px;
    margin-bottom: 10px;
    line-height: 1.5;
}

.fullsize-image h2,
.fullsize-image h4 {
    color: #FFF;
}

.project-details h2 {
    font-size: 72px;
    font-size: calc(54px + (72 - 54) * (100vw - 320px)/(1440 - 320));
    letter-spacing: -1.3px;
    margin-bottom: 28px;
    font-weight: 700;
    line-height: 1.11;
}

.project-details h4 {
    font-weight: 400;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.6;
    color: #888;
}

.project-factbox h5 {
    font-size: 19px;
    font-weight: 600;
    color: #000;
    margin-bottom: 0;
}

.lead h3 {
    font-size: 72px;
    font-size: calc(54px + (72 - 54) * (100vw - 320px)/(1440 - 320));
    letter-spacing: -1.3px;
    margin-bottom: 50px;
    font-weight: 700;
    line-height: 1.11;
}

body.layout-content h2 {
    font-size: 48px;
    font-size: calc(36px + (48 - 36) * (100vw - 320px)/(1440 - 320));
    font-weight: 600;
    letter-spacing: 1px;
}

body.layout-content .timeline h2 {
    font-size: 36px;
    font-size: calc(25px + (36 - 25) * (100vw - 320px)/(1440 - 320));
}

strong {
    font-weight: 400;
}

.small {
    color: #888;
}

label {
    text-align: left;
}

.anchor {
    display: block;
    visibility: hidden;
}

p+ul,
p+ol {
    margin-top: -30px;
}

i.icon+a {
    margin-left: 8px;
}

li.list-item {
    list-style: none;
    padding-left: 20px;
}

li.list-item:before {
    position: relative;
    display: block;
    top: 0;
    left: -20px;
    height: 0;
    content: "–";
}

.list-group {
    margin-left: 20px;
}

.list-group-item {
    display: list-item;
    border: none;
    padding: 0 0 0 0;
}

b,
strong {
    font-weight: 500;
}

br {
    line-height: 1.5;
}

/* to avoid layout shift */
img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: attr(width) / attr(height); 
}

/* lazy load */
img[data-sizes="auto"]

.img-center img {
    object-position: 50% 50%;
}

.border {
    border: 1px solid #000 !important;
}

a:focus,
button:focus {
    outline: none;
}

a {
    text-decoration: none;
    color: #000;
}

a:hover {
    text-decoration: none;
    color: #000;
}

/* Text links */
a.text-link,
a.unmarked-link {
    position: relative;
    word-wrap: normal;
    overflow-wrap: normal;
    hyphens: none;
    white-space: nowrap;
}

a.text-link:hover,
a.unmarked-link:hover {
    color: #000;
}

/*a.text-link:after,*/
a.unmarked-link:after {
    position: absolute;
    background: none repeat scroll 0 0 transparent;
    bottom: -2px;
    right: 0;
    content: "";
    display: block;
    height: 1px;
    background: #000;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 100%;
}

a.unmarked-link:after {
    left: 0;
    background: #000;
    width: 0;
}

a.unmarked-link:hover:after {
    width: 100%;
    right: 0;
}

a.text-link {
    border-bottom: 1px solid #000;
}

a.text-link:hover {
    color: #FFF;
}

a.text-link:after {
    position: absolute;
    bottom: -2px;
    left: 0;
    content: "";
    display: block;
    height: 27px;
    background: #000;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0%;
    z-index: -1;
}

a.text-link:hover:after {
    width: 100%;
    right: 0;
    height: 27px;
}
/*
a.text-link:before {
    position: absolute;
    background: none repeat scroll 0 0 transparent;
    bottom: -2px;
    right: 0;
    content: "";
    display: block;
    height: 1px;
    background: #000;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 100%;
    transition-delay: 0.1s;
}

a.text-link:hover:before {
    color: #000;
    width: 0;
}
*/
/* Phone */
a[href^="tel"]:hover {
    cursor: pointer !important;
}

/* Buttons */
.cta {
    position: relative;
    margin-bottom: 0;
    width: 100%;
    z-index: 2;
    font-weight: 300;
    line-height: 1.5;
    display: flex;
    align-items: center;
    border: 1px solid #000;
    padding: 15px;
    background: #000;
    z-index: 1;
    overflow: hidden;
    transition: 0.3s;
}

@media (min-width: 480px) {
    .cta {
        padding: 15px 30px;
    }
}

.cta:after {
    position: absolute;
    content: '';
    background: #FFF;
    top: 0;
    left: 0;
    width: 500%;
    height: 1000%;
    z-index: -1;
    transform-origin: 0% 0%;
    transform: translateX(-20%) translateY(-10%);
    transition: transform .3s;
}

.cta:hover {
    cursor: pointer;
    color: #FFF;
}

.cta:hover:after {
    transform: translateY(-10%) translateX(20%);
}

.cta .text {
    flex: 1 0 auto;
    padding-right: 20px;
}

.cta .arrow {
    content: '';
    display: block;
    width: 100%;
    transform: translateY(-50%);
    border-top: 1px solid #000;
    padding-right: 12px;
}

.cta .arrow::before {
    position: absolute;
    content: '';
    width: 12px;
    height: 26px;
    background-size: cover;
    background-image: url("../img/arrow-head.svg");
    right: -1px;
    top: 50%;
    transform: translateY(-53%) rotate(180deg);
}

.cta:hover .arrow {
    border-top: 1px solid #FFF;
}

.cta:hover .arrow::before {
    background-image: url("../img/arrow-head-white.svg");
}

.cta-short,
.cta-short-rwd {
    position: relative;
}

.cta-short a {
    border-bottom: 1px solid transparent !important;
    padding-right: 46px;
}

.cta-short a:after {
    content: '';
    width: 31px;
    height: 25px;
    background-size: cover;
    background-image: url("../img/arrow-short.svg");
    position: absolute;
    margin-left: 15px;
}

.cta-short a:hover:after {
    margin-left: 20px;
}

.cta-short-rwd a {
    border-bottom: 1px solid transparent !important;
    padding-left: 46px;
}

.cta-short-rwd a:before {
    display: inline-block;
    content: url("../img/arrow-short-rwd.svg");
    width: 31px;
    height: 25px;
    position: absolute;
    margin-left: -46px;
}

.cta-short-rwd a:hover:before {
    transform: translateX(-5px);
}

.page-nav li {
    position: relative;
    margin: 0 20px;
    width: 31px;
    height: 25px;
    text-indent: -9999px;
}

.prev:after,
.next:after {
    position: absolute;
    top: 0;
    display: block;
    content: '';
    width: 31px;
    height: 25px;
    background-image: url("../img/arrow-short.svg");
}

.prev:after {
    transform: rotate(180deg);
}

.prev:hover {
    transform: translateX(-5px);
}

.next:hover {
    transform: translateX(5px);
}

.timeline-content p+p.cta-short {
    margin-top: -30px;
}

.arrow-down .arrow {
    content: '';
    display: block;
    margin: 0 auto;
    width: 1px;
    height: 120px;
    transform: translateX(-50%);
    border-left: 1px solid #000;
    padding-right: 4px;
}

.arrow-down .arrow::before {
    content: '';
    width: 12px;
    height: 26px;
    background-size: cover;
    background-image: url("../img/arrow-head.svg");
    position: absolute;
    right: -1px;
    bottom: 0;
    transform: translateY(30%) rotate(-90deg);
}

img.image-border {
    border: 1px solid #bebebe;
}

/* Tool tip (https://codepen.io/Mobius1/pen/adaBwK) */
.tool-tip {
    position: relative;
    cursor: help;
    border-bottom: 1px dashed #000;
    hyphens: none;
}

.tool-tip::after {
    background-color: #000;
    color: #fff;
    content: attr(data-tooltip-title) " ";
    min-width: 180px;
    width: 100%;
    padding: 5px;
    font-size: 16px;
    text-align: center;
    font-weight: 300;
}

.tool-tip::before {
    width: 0;
    height: 0;
    content: "";
}

.tool-tip::before,
.tool-tip::after {
    position: absolute;
    transition: opacity 250ms ease 0ms, transform 250ms ease 0ms;
    transform-style: preserve-3d;
    opacity: 0;
    z-index: -1;
}

.tool-tip[data-tooltip-position="bottom"]::after {
    left: 50%;
    transform: translate3d(-50%, -10px, 0);
    top: calc(100% + 10px);
}

.tool-tip[data-tooltip-position="bottom"]::before {
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    left: 50%;
    transform: translate3d(-50%, -10px, 0);
    border-bottom: 7px solid #000;
    top: calc(100% + 3px);
}

.tool-tip:hover::before,
.tool-tip:hover::after {
    opacity: 1;
    z-index: 100;
}

.tool-tip[data-tooltip-position="bottom"]:hover::before .tool-tip[data-tooltip-position="bottom"]:hover::after {
    transform: translate3d(-50%, 0px, 0);
}

/* Smooth animations */
a,
a:hover,
.overlay,
.overlay.open,
.card-header,
.card-header:hover,
.main p a,
.main p a:hover,
.cta-short a:hover,
.cta-short a:hover:after,
.cta-short-rwd a:hover,
.cta-short-rwd a:hover:before,
.prev,
.next,
.prev:hover,
.next:hover,
.logo span,
.logo span.shrink,
.logo i,
.logo i.shrink {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}

/* AOS animations */
[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}
[data-aos][data-aos][data-aos-easing=ease],
body[data-aos-easing=ease] [data-aos] {
    transition-timing-function: ease;
}

[data-aos][data-aos][data-aos-duration="250"],
body[data-aos-duration="250"] [data-aos] {
    transition-duration: 0.25s;
}

[data-aos][data-aos][data-aos-duration="500"],
body[data-aos-duration="500"] [data-aos] {
    transition-duration: 0.25s;
}

/* Tables */
table {
    width: 100%;
}

table {
    table-layout: fixed;
}

table:last-child {
    margin-bottom: 0;
}

table>thead>tr,
table>tbody>tr {
    padding: 10px 0;
}

table>thead>tr>th,
table>tbody>tr>td {
    width: auto;
    font-size: 19px;
    font-size: calc(16px + (19 - 16) * (100vw - 320px)/(1440 - 320));
    vertical-align: top;
    border-top: 0;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

table>thead>tr>th {
    font-weight: 700;
}

table tr th,
table tr td {
    padding-left: 0;
    padding-right: 10px;
    padding: 5px 0;
}

table>tbody>tr>td:first-child {
    width: 70%;
    padding-right: 10px;
}

table>tbody>tr>td:last-child {
    text-align: right;
}

table>tbody>tr>td {
    width: auto;
}

@media (max-width: 767px) {

    /* Force table to not be like tables anymore */
    table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    thead>tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    table>thead>tr,
    table>tbody>tr {
        padding: 10px;
    }

    table>tbody>tr:last-child {
        border-bottom: 0;
    }

    table>tbody>tr>td,
    table>tbody>tr>td:first-child {
        width: 100%;
    }

}

/* ==========================================================================
   HEADER
   ========================================================================== */

.fullsize-image {
    position: relative;
    margin-bottom: 4vw;
}

.fullsize-image img {
    width: 100%;
    height: auto;
}

.zoom-image {
    overflow: hidden;
}

.zoom-image img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 0;
    mix-blend-mode: multiply;
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
    -webkit-animation-duration: 12s;
    animation-duration: 12s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-transform: scale(1.075);
    transform: scale(1.075);
}

@keyframes zoomIn {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.075);
        transform: scale(1.075);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.project-title {
    margin-top: 6vw;
    padding-left: 3vw;
    padding-right: 3vw;
}

.claim {
    position: absolute;
    bottom: 2vw;
    right: 6vw;
    width: 33vw;
}

.logo {
    position: fixed;
    top: 2vw;
    left: 2vw;
    z-index: 1000;
}

.logo span {
    display: inline-block;
    width: 65px;
    height: 65px;
    text-indent: -9999px;
    background: url(../img/animation/logo-dieweberei.ch.gif);
    background-size: 100% 100%;
}

.logo i {
    display: inline-block;
    width: 200px;
    height: 20px;
    margin-left: 15px;
    background: url(../img/dieweberei-text.svg);
}

@media (max-width: 479px) {

    .logo {
        top: 15px;
        left: 20px;
    }

    .layout-home .logo {
        top: 70px;
    }

    .logo i {
        margin-left: 15px;
    }
}

.logo span.shrink,
.logo i.shrink {
    transform: translateY(-140px);
}

.logo span.globe {
    position: fixed;
    display: block;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    background: url(../img/dieweberei-globe.png);
    background-size: 100% 100%;
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */

/* https://codepen.io/RRoberts/pen/ZBYaJr  */
.hamburger .line {
    width: 60px;
    height: 3px;
    background-color: #000;
    display: block;
    margin: 8px auto;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.hamburger:hover {
    cursor: pointer;
}

#hamburger {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}

@media (min-width: 480px) {
    #hamburger {
        position: relative;
        top: auto;
        right: auto;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
    }
}

#hamburger.is-active {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    margin-right: 10px;
}

#hamburger.is-active .line:nth-child(2) {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

#hamburger .line:nth-child(2) {
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

#hamburger.is-active .line:nth-child(2) {
    opacity: 0;
}

#hamburger.is-active .line:nth-child(1),
#hamburger.is-active .line:nth-child(3) {
    width: 40px;
    -webkit-transform-origin: right;
    -moz-transform-origin: right;
    -ms-transform-origin: right;
    -o-transform-origin: right;
    transform-origin: right;
}

#hamburger.is-active .line:nth-child(1) {
    -webkit-transform: translateY(15px) rotate(45deg);
    -ms-transform: translateY(15px) rotate(45deg);
    -o-transform: translateY(15px) rotate(45deg);
    transform: translateY(12px) rotate(45deg);
}

#hamburger.is-active .line:nth-child(3) {
    -webkit-transform: translateY(-15px) rotate(-45deg);
    -ms-transform: translateY(-15px) rotate(-45deg);
    -o-transform: translateY(-15px) rotate(-45deg);
    transform: translateY(-12px) rotate(-45deg);
}

.navigation-bar {
    position: fixed;
    top: 20px;
    right: 26px;
    height: auto;
    width: 60px;
    text-align: center;
    background: transparent;
    transition: left 0.4s ease;
    z-index: 1090;
    transition: all 0.6s cubic-bezier(0.05, 0.8, 0.5, 1);
}

@media (min-width: 480px) {
    .navigation-bar {
        top: 0px;
        right: 0px;   
        height: 100%;
        background: #a1a89b;
        border-left: 1px solid black;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

.navigation-bar.click {
    right: 260px;
    transition: all 0.6s cubic-bezier(0.05, 0.8, 0.5, 1);
}

nav {
    position: relative;
}

.sidebar {
    position: fixed;
    top: 0;
    width: 260px;
    height: 100%;
    right: -260px;
    background: #b2b8ad;
    border-left: 1px solid black;
    transition: left 0.4s ease;
    z-index: 1080;
    transition: all 0.6s cubic-bezier(0.05, 0.8, 0.5, 1);
}

.sidebar.show {
    right: 0px;
}

.Navigation_overlay {
    position: fixed;
    top: 0;
    right: 0;
    width: 0;
    height: 100vh;
    background-color: #FFF;
    opacity: .8;
    z-index: 1079;
    transition: opacity .35s, visibility .35s, width .35s;
}

.Navigation_overlay.show {
    width: 100vw;
    transition: opacity .35s, visibility .35s, width .35s;
}

nav .services {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    z-index: 1091;
}

nav .services li {
    display: inline-block;
    padding-right: 10px;
}

nav .icon {
    color: #000;
}

nav .services.show {
    opacity: 1;
    transition-delay: 1s;
    transition-duration: 1s;
}

nav ul.main-nav {
    position: relative;
    list-style: none;
    margin: 30px auto 0 auto;
    display: inline-block;
}

@media (min-width: 480px) {
    nav ul.main-nav {
        margin: 50px auto 0 auto;
    }
}

nav ul.main-nav li {
    display: block;
    position: relative;
    opacity: 0;
}

nav ul.main-nav li a {
    display: inline-block;
    position: relative;
    font-size: 20px;
    font-size: calc(19px + (20 - 19) * (100vw - 320px)/(1440 - 320));
    letter-spacing: 0px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
}

nav ul.main-nav li a:after {
    background: none repeat scroll 0 0 transparent;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    background: #000;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
}

nav ul.main-nav li a:hover:after,
nav ul.main-nav li a:focus:after,
nav ul.main-nav li a:active:after,
nav ul.main-nav li.active a:after {
    color: #000;
    width: 100%;
    left: 0;
}

.sidebar.show li {
    animation: fadeInRight .5s ease forwards;
    animation-delay: .35s;
}

.sidebar.show li:nth-of-type(2) {
    animation-delay: .4s;
}

.sidebar.show li:nth-of-type(3) {
    animation-delay: .45s;
}

.sidebar.show li:nth-of-type(4) {
    animation-delay: .50s;
}

.sidebar.show li:nth-of-type(5) {
    animation-delay: .55s;
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%;
    }

    100% {
        opacity: 1;
        left: 0;
    }
}

/* ==========================================================================
   MAIN CONTENT
   ========================================================================== */

body.layout-home {
    padding-top: 140px;
}

@media (min-width: 480px) {
    body.layout-home {
        padding-top: 100px;
    }
}

.pt-body {
    padding-top: 90px;
}

body .main {
    padding-left: 7vw;
    padding-right: 7vw;
}

@media (max-width: 479px) {
    body .main {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (min-width: 480px) {
    body .main {
        padding-right: calc(7vw + 65px);
    }
}

body .main-off-right {
    padding-left: 7vw;
    padding-right: 0;
}

body.projects {
    padding: 0;
}

body.projects .main {
    padding-left: 5vw;
    padding-right: calc(5vw + 60px);
}

body.project-details {
    padding: 0;
    padding-left: 5vw;
}

.unit {
    margin-top: 30px;
    margin-bottom: 30px;
    padding-left: 3vw;
    padding-right: 3vw;
}

.unit *:last-child {
    margin-bottom: 0;
}

.part {
    padding-left: 3vw;
    padding-right: 3vw;
}

.part.project-description {
    padding-left: 15px;
    padding-right: 3vw;
}

.part.project-factbox {
    padding-left: 15px;
}

.pb-5 {
    padding-bottom: 3rem !important;
    padding-left: 3vw;
    padding-right: 3vw;
}

.call-to-action {
    display: inline-block;
    border: 1px solid #000;
    padding: 10px 20px;
}

/* Teaser references home */
.p-1 {
    padding: 0.5px !important;
}

.hovereffect {
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-align: left;
    cursor: default;
    background: rgba(0, 0, 0, 0.1);
}

.hovereffect .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    padding: 0 20px;
    display: flex;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    z-index: 1079;
}

.hovereffect img {
    display: block;
    position: relative;
    max-width: none;
    width: calc(100% + 20px);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    margin-bottom: 0;
    opacity: 0.25;
    filter: alpha(opacity=0.25);
}


.hovereffect .overlay h2 {
    position: relative;
    text-transform: uppercase;
    color: #000;
    align-self: flex-start;
    font-size: 14px;
    font-size: calc(12px + (14 - 12) * (100vw - 320px)/(1440 - 320));
    padding-bottom: 5px;
    overflow: hidden;
    background-color: transparent;
    text-align: left;
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}

.hovereffect h2:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #000;
    content: '';
    -webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.hovereffect:hover h2:after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.hovereffect p {
    color: #000;
    font-size: 17x;
    font-size: calc(14px + (17 - 14) * (100vw - 320px)/(1440 - 320));
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    text-align: left;
    padding-bottom: 20px;
    margin: 0;
}

/* Styles for hover-able devices (https://css-irl.info/detecting-hover-capable-devices) */
@media (hover: hover) {

    .hovereffect img {
        opacity: 1;
        filter: alpha(opacity=1);
    }

    .hovereffect:hover img {
        opacity: 0.15;
        filter: alpha(opacity=15);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .hovereffect .overlay h2,
    .hovereffect p {
        opacity: 0;
        filter: alpha(opacity=0);
    }

    .hovereffect:hover h2,
    .hovereffect:hover p {
        opacity: 1;
        filter: alpha(opacity=100);
    }
}

/* Adding this to our media query successfully detects touch input on Android devices: */
@media (hover: hover) and (pointer: fine) {
    .hovereffect img {
        opacity: 1;
        filter: alpha(opacity=1);
    }

    .hovereffect:hover img {
        opacity: 0.15;
        filter: alpha(opacity=15);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .hovereffect .overlay h2,
    .hovereffect p {
        opacity: 0;
        filter: alpha(opacity=0);
    }

    .hovereffect:hover h2,
    .hovereffect:hover p {
        opacity: 1;
        filter: alpha(opacity=100);
    }
}

/* Owl Carousel Default theme - owl.theme.default.css */
.owl-carousel .owl-stage {
    display: flex;
    align-items: center;
    /* vertically centered items not of same height */
}

.owl-item .item {
    margin-left: 2px !important;
    /* to prevent line from next slide */
}

.carousel-border,
.carousel-border .owl-stage-outer {
    border: 1px solid #bebebe;
}

.owl-theme .owl-nav {
    margin-top: 10px;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
}

.owl-theme .owl-nav [class*='owl-'] {
    color: #FFF;
    font-size: 14px;
    margin: 5px;
    padding: 4px 7px;
    background: #D6D6D6;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px;
}

.owl-theme .owl-nav [class*='owl-']:hover {
    background: #869791;
    color: #FFF;
    text-decoration: none;
}

.owl-theme .owl-nav .disabled {
    opacity: 0.5;
    cursor: default;
}

.owl-theme .owl-dots {
    position: relative;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
}

.owl-theme.dots-horiztonal .owl-dots {
    margin-top: 30px;
}

.owl-theme .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    background: #FFF;
    border: 1px solid #000;
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity 200ms ease;
    border-radius: 30px;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background: #000;
}

/* Projects */
img.box-shadow {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

/* Video */
.video-wrapper {
    overflow: hidden;
}

.video-wrapper video {
    position: relative;
    left: -1px;
    /* to avoid left and right border */
}

video,
video[poster] {
    width: 101% !important;
    height: auto !important;
    border-right-width: 2px;
    margin-left: -2px;
    /* to avoid left and right border */
}

video[poster] {
    object-fit: contain;
    border: none;
}

.outer {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-bottom: 66%;
    border: 1px solid #888;
}

.video {
    position: relative;
    left: 0;
    top: 0;
    opacity: 1;
}

/* Timeline: https://codepen.io/itbruno/pen/KwarLp */
#timeline .timeline-item:after,
#timeline .timeline-item:before {
    content: "";
    display: block;
    width: 100%;
    clear: both;
}

*,
*:before,
*:after {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

#timeline {
    width: 100%;
    margin: 30px auto;
    position: relative;
    padding: 0 10px;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

#timeline:before {
    content: "";
    width: 3px;
    height: 100%;
    background: #000;
    left: 50%;
    top: 0;
    position: absolute;
}

#timeline:after {
    content: "";
    clear: both;
    display: table;
    width: 100%;
}

#timeline .timeline-item {
    margin-bottom: 50px;
    position: relative;
}

#timeline .timeline-item .timeline-icon {
    border: 3px solid #000;
    background: #FFF;
    width: 50px;
    height: 50px;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 50%;
    overflow: hidden;
    margin-left: -23px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

#timeline .timeline-item .timeline-content {
    width: 45%;
    background: #f7f7f7;
    padding: 20px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#timeline .timeline-item .timeline-content h2 {
    padding: 15px;
    color: #000;
    background: #fff;
    margin: -20px -20px 20px -20px;
    border: 1px solid #000;
}

#timeline .timeline-item .timeline-content p {
    color: #000;
}

#timeline .timeline-item .timeline-content:before {
    content: "";
    position: absolute;
    left: 45%;
    top: 20px;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid #000;
}

#timeline .timeline-item .timeline-content.right {
    float: right;
}

#timeline .timeline-item .timeline-content.right:before {
    content: "";
    right: 45%;
    left: inherit;
    border-left: 0;
    border-right: 7px solid #000;
}

@media screen and (max-width: 768px) {
    #timeline {
        margin: 30px;
        padding: 0px;
        width: 90%;
    }

    #timeline:before {
        left: 0;
    }

    #timeline .timeline-item .timeline-content {
        width: 85%;
        float: right;
    }

    #timeline .timeline-item .timeline-content:before,
    #timeline .timeline-item .timeline-content.right:before {
        left: 15%;
        margin-left: -6px;
        border-left: 0;
        border-right: 7px solid #000;
    }

    #timeline .timeline-item .timeline-icon {
        left: 0;
    }
}

/* Fancybox */
.fancybox-caption__body {
    font-family: 'Montserrat', sans-serif;
    font-size: 19px;
}

.fb-image-container {
    position: relative;
    margin-bottom: 20px;
}

.fb-image-container div {
    overflow: hidden;
}

.fb-image-container img {
    max-width: 100%;
    height: auto;
    transform: scale(1);
}

.fb-image-container:hover img {
    transform: scale(1);
}

.fb-image-container img,
.fb-image-container:hover img {
    -webkit-transition: all 0.3s cubic-bezier(0.05, 0.8, 0.5, 1);
    transition: all 0.3s cubic-bezier(0.05, 0.8, 0.5, 1);
}

.fb-zoom-indicator {
    position: absolute;
    z-index: 2;
    right: 10px;
    bottom: 10px;
    width: 24px;
    height: 24px;
    border-radius: 30px;
    background-color: rgba(0, 0, 0, 0.5);
    background-size: 12px 12px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-image: url(../img/fb-zoom-white.svg);
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.3s cubic-bezier(0.05, 0.8, 0.5, 1);
    transition: all 0.3s cubic-bezier(0.05, 0.8, 0.5, 1);
}

.fb-image-container:hover .fb-zoom-indicator {
    opacity: 1;
    transform: scale(1);
}

/* 360 Panorama */
iframe.panorama {
    height: 450px;
    width: 100%;
    border: none !important;
}

/* Accordion (only changes here) */
.accordion-button {
    padding: 15px 1.25rem;
    color: #000;
    font-size: 19px;
    font-weight: 300;
    line-height: 1.5;
    background-color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.accordion-button:not(.collapsed) {
    color: #000;
    background-color: #e6e6e6 !important;
    box-shadow: 0 !important;
    outline: none !important;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:focus {
    border-color: transparent;
    box-shadow: 0;
    outline: none;
}

/* Remove outline */
.accordion-button.collapsed,
.accordion-button:not(.collapsed) {
    box-shadow: none;
}

.accordion-button:hover {
    background-color: #e6e6e6 !important;
}

.accordion-item,
.accordion-button {
    border-radius: 0 !important;
}

.accordion-item {
    background-color: #f7f7f7;
    border: 1px solid #000;
}

.accordion-body {
    border-top: 1px solid #000;
}

/* Team Cards */
.team-card {
    position: relative;
}

.team-card__overlay {
    padding: 1.618rem;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 0;
    transition: 0.25s linear opacity;
}

.team-card:hover .team-card__overlay {
    opacity: 1;
}

.team-card__title {
    font-size: 18px;
    color: #000;
    font-weight: 600;
    margin-bottom: 0;
    line-height: 1.25;
}

.team-card__subtitle {
    font-size: 18px;
    font-weight: 300;
    color: #000;
}

.client-logo {
    padding: 20px;
}

.client-logo img {
    width: 75%;
    height: auto;
}

.client-logo.smaller img {
    padding: 25px;
}

@media (max-width: 991px) {

    .teaser-browser-view,
    .team-card {
        margin-bottom: 60px;
    }
}

.teaser-browser-view-title img.client-logo {
    max-height: 100px;
    max-width: 45%;
    padding: 0;
}

#map {
    width: 100%;
    padding-top: 65vh;
}

/* ==========================================================================
   FORM
   ========================================================================== */

.help-block {
    margin: 0;
}

#contact-form .form-group {
    margin-bottom: 10px;
}

#contact-form .form-group input,
#contact-form .form-group textarea {
    width: 100%;
    font-size: 19px;
    padding: 15px 1.25rem;
    height: auto;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 0;
    font-weight: 300;
    color: #000;
}

.form-control:focus {
    outline: 0;
    box-shadow: none;
}

label {
    padding-top: 5px;
    padding-left: 0px;
}

.form-check-input {
    margin-top: 7px;
}

.honeypot {
    display: none;
}

#contact-form .list-unstyled li {
    /* check default list-style on line 164 */
    padding-left: 0;
    background-color: transparent !important;
}

#contact-form .list-unstyled li:before {
    content: '';
}

#success {
    font-weight: normal;
    color: #000;
    border: 0;
    border-radius: 0;
}

.alert-success,
.alert-danger {
    border-radius: 0;
}

.has-error input,
.has-error textarea {
    border: 1px solid #a40000 !important;
    margin-bottom: 10px;
}

.has-error .help-block {
    color: #a40000;
    font-size: 14px !important;
}

#contact-form ul.list-unstyled {
    /* error message without padding-left */
    padding: 0 !important;
}

.col-btn {
    width: 100%;
    padding: 0;
    margin-top: 16px;
}

.btn {
    display: inline-block;
    border-color: transparent;
    font-size: 16px;
    padding: 15px;
    color: #000;
    border-radius: 0;
    border: 1px solid #000;
    opacity: 1 !important;
    -webkit-transition: background linear 300ms;
}

.btn:hover,
.btn:focus,
.btn.active {
    background-color: #eee;
    color: #000;
    -webkit-transition: background linear 300ms;
}

.messages {
    background: #FFF;
    color: #000;
    margin-top: 15px;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

footer {
    margin-top: 6vw;
    background: #000;
    color: #FFF;
    font-size: 17px;
    z-index: 1070;
}

.footer {
    padding: 45px 15px;
    line-height: 1.7;
}

@media (min-width: 480px) {
    .footer {
        padding: 30px 120px 30px 60px;
    }
}

.footer a {
    position: relative;
    color: #FFF;
    display: inline;
    overflow: hidden;
}

.footer a::after {
    content: "";
    position: absolute;
    right: 0;
    width: 0;
    bottom: -2px;
    background: #FFF;
    height: 1px;
    transition-timing-function: ease-out;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
}

.footer a:hover::after {
    left: 0;
    right: auto;
    width: 100%;
}

.footer .imprint a:hover::after {
    background: #888;
}

.footer .instagram-link a:hover {
    color: #888;
}

.footer .instagram-link a:hover::after {
    width: 0;
}

.footer-nav li:after {
    margin-left: 12px;
}

.footer-nav li:after {
    content: '–';
}

.footer-nav li:last-child:after {
    content: '';
}

.vcard .icon {
    margin-right: 10px;
}

.fn {
    font-weight: 600;
}

.adr {
    white-space: nowrap;
}

.imprint,
.imprint a {
    color: #888;
}

.imprint a {
    margin: 0 10px;
    white-space: nowrap;
}

.imprint a::after {
    background-color: #888;
}

/* ==========================================================================
   SELECTION
   ========================================================================== */

::-moz-selection {
    text-shadow: none;
    background: #000;
    color: #FFF;
}

::selection {
    text-shadow: none;
    background: #000;
    color: #FFF;
}

img::selection {
    background: 0 0;
}

img::-moz-selection {
    background: 0 0;
}

body {
    webkit-tap-highlight-color: #000;
}

a[href^="tel"],
a[href^="sms"] {
    color: inherit;
    cursor: default;
    text-decoration: none;
}