/*  Author:   Martin Stettler (https://www.dieweberei.ch/)
    Version:  15/09/2019 // BS v4.3.1
*/

/* ==========================================================================
   Browse Happy prompt lte IE 9
   ========================================================================== */

.browsehappy {
    margin: 3px 0;
    background: #CC0033;
    color: #FFF;
    padding: 8px; }

.browsehappy a {
    color: #FFF;
    text-decoration: underline; }

.browsehappy a:hover {
    text-decoration: none; }

/* ==========================================================================
   DEV STYLES
   ========================================================================== */
/*.col-sm-6,
.col-sm-12,
.title-container,
.logo,
.navbar-brand {
    border: 1px solid #f227f9; }

.nav-container, .footer {
    border: 1px solid red; }

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

/* Bootstrap CSS Overrides */
body {
    margin: 0;
    font-family: 'Source Sans Pro', Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.3;
    color: #000;
    text-align: left;
    background-color: #FFF; }

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 8px;
    font-weight: 300; }

h1,
h2 {
    font-size: 60px;
    font-size: calc( 28px + (60 - 28) * (100vw - 320px)/(1280 - 320));
    color: #908070;
    margin-bottom: 0; }

h3 {
    font-size: 36px;
    font-size: calc( 24px + (36 - 24) * (100vw - 320px)/(1280 - 320));
    margin-bottom: 28px;
    color: #908070; }


p {
    margin-top: 0;
    margin-bottom: 25px; }

.article-full p:last-child,
.article-half p:last-child,
.article-third p:last-child{
    margin-bottom: 0;
}

ul {
    margin-top: 0;
    margin-bottom: 16px; }

b,
strong {
    font-weight: 600; }

a {
    color: #8cc63f;
    font-weight: 600; }

.main a[href ^= 'tel:'] {
    color: #8cc63f;
    cursor: pointer; }

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

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

/* Lists */
.article-full ul,
.article-half ul {
    padding-left: 20px; }
/*
.article-full li,
.article-half li {
    padding-left: 0;
    list-style: none; }
*/

.bg-dark h2, .bg-dark h3, .bg-dark p{
    color: #FFF;
}

.main a[href$=".pdf"]:before,
.main a[href$=".doc"]:before,
.main a[href$=".docx"]:before,
.main a[href$=".xls"]:before,
.main a[href$=".xlsx"]:before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 16px;
    background-image: url(../img/file-icon.svg);
    background-color: transparent;
    color: #000;
    position: relative;
    margin: 0 8px 0 0; }

.main a[href$=".pdf"]:hover:before,
.main a[href$=".doc"]:hover:before,
.main a[href$=".docx"]:hover:before,
.main a[href$=".xls"]:hover:before,
.main a[href$=".xlsx"]:hover:before {
    background-image: url(../img/file-icon2.svg); }

/* Smooth animations */
a,
a:hover,
.facebook span,
.facebook span:hover,
.navbar-brand img,
.navbar-brand.shrink img {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
        transition: all 0.5s; }

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

.navbar-brand {
    position: absolute;
    top: 5px; }

.navbar-brand.shrink {
    top: 5px; }

.navbar-brand img {
    width: 150px;
    height: auto; }

.navbar-brand.shrink img {
    width: 150px; }

.navbar.shrink {
    border-bottom: 1px solid #000; }

header {
    position: relative;
    width: 100% !important; }

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

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

/* Offcanvas menu
-------------------------------------------------- */
html,
body {
    overflow-x: hidden; } /* Prevent scroll on narrow devices */

body {
    padding-top: 60px; }

.navbar {
    border-top: 8px solid #8cc63f;
}

@media (max-width: 991.98px) {
    .offcanvas-collapse {
        position: fixed;
        top: 0;
        bottom: 0;
        right: 100%; /* left for collapse-left */
        right: -300px; /* left for collapse-left */
        width: 300px;
        padding-right: 0;
        padding-left: 0;
        overflow-y: auto;
        visibility: hidden;
        background-color: #FFF;
        transition-timing-function: ease-in-out;
        transition-duration: .3s;
        transition-property: right, visibility; } /* left for collapse-left */

    .offcanvas-collapse.open {
        right: 0; /* left for collapse-left */
        visibility: visible; }

    .navbar-nav {
        margin-top: 60px;
        padding-left: 15px;
        padding-right: 15px; }
}

/* Hamburger
-------------------------------------------------- */
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */

.hamburger {
    z-index: 1080;
    padding: 0; /* 15px 15px */
    display: inline-block;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible; }

.hamburger:hover {
    opacity: 0.7; }

.hamburger-box {
    width: 40px;
    height: 24px;
    display: inline-block;
    position: relative; }

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: 1px; } /* -2px */

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: #908070;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #908070; }
  
.hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }

.hamburger-inner::before {
    top: -10px; }

.hamburger-inner::after {
    bottom: -10px; }

/* Spin */
.hamburger--spin .hamburger-inner {
    transition-duration: 0.22s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }

.hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
    transform: rotate(225deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

.hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  
.hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* Bootstrap CSS Overrides */

.navbar-brand {
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-right: 16px;
    font-size: 20px;
    line-height: inherit;
    white-space: nowrap; }

.navbar-light .navbar-brand {
    color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
    color: rgba(0, 0, 0, 0.9); }

.nav-link {
  display: block;
  padding: 8px 16px;
  font-size: 25px;
  font-weight: 300;
  border-top: 2px solid #FFF;
  border-bottom: 2px solid #FFF; }

.navbar-light .navbar-nav .nav-link {
    color: #000; }

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: #908070;
    border-bottom: 2px solid #8cc63f; }

.navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, 0.3); }

.navbar-light .navbar-nav .active {
    color: #908070;
    border-bottom: 2px solid #8cc63f; }

.navbar-light .navbar-toggler {
    color: rgba(0, 0, 0, 0.5);
    border-color: rgba(0, 0, 0, 0.1); }

.bg-light {
    background-color: #FFF !important; }

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
    background-color: #dae0e5 !important; } 

.navbar-nav .nav-link {
    text-align: left;
    padding-right: 10px;
    padding-left: 10px; }

@media (min-width: 576px) {
    .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 8px;
        padding-left: 8px; }
}

.anchor {
    display: block;
    height: 112px; /* OPL adjust */
    margin-top: -112px; /* OPL adjust */
    visibility: hidden; }

/* ==========================================================================
   MAIN CONTENT
   ========================================================================== */
.bg-bright{
    background-color: #FFF;
    padding-top: 60px;
    padding-bottom: 30px;
    background-image: url(../img/wiese.png);
    background-repeat: no-repeat;
    background-position: center bottom;}

section:last-of-type {
    padding-bottom: 100px;
}

.bg-medium{
    background-color: #ded7cd;
    padding-top: 60px;}

.bg-dark{
    background-color: #908070 !important;
    padding-top: 60px;}


.article-full,
.article-half,
.article-third{
    margin-bottom: 60px; }



.article-full:last-child,
.article-half:last-child,
.article-third:last-child{
    margin-bottom: 60px; }


.article-full img,
.article-half img,
.article-third img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 60px; }

.article-full img:last-child,
.article-half img:last-child,
.article-third img:last-child {
    margin-bottom: 0; }

.article-full img {
    display: block;}

.no-margin img{
    margin-bottom: 12px;
}

/* Back to top */
#return-to-top {
    position: fixed;
    bottom: 22px;
    right: 15px;
    display: block;
    display: none;
    width: 40px;
    height: 40px;
    opacity: 1;
    background: url(../img/arrow-top.svg);
    background-repeat: no-repeat;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }

#return-to-top:hover {
    opacity: 0.8; }

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

footer {
   color: #FFF;
   font-size: 18px;
   padding-bottom: 25px; }

footer i{
    font-style: normal;
    white-space: nowrap;}

footer a {
    font-weight: 300;
    color: #FFF;}

footer a:hover {
    color: #8cc63f;}

.footer {
    position: relative;
    margin: 0 auto; }

.logo-footer{
    position: absolute;
    top: -135px;
    left: 15px;
    width: 150px;
    height: auto;
}
.facebook span{
    position: relative;
    display: block;
    text-indent: -9999px;
    margin-bottom: 20px;
    width: 40px;
    height: 40px;
    background-image: url(../img/facebook.svg);
    background-size: 100% 100%;}

.facebook span:hover {
    opacity: 0.8; }

.vcard {
    padding-bottom: 30px;
    line-height: 1.3;
}

.imprint {
    margin: 0 auto;
    padding-top: 50px; }

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

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

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

img::selection {
    background: 0 0; }

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

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

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