/*  Author:   Martin Stettler (http://dieweberei.ch/)
    Version:  26/07/2018 // BS V4.2.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
   ==========================================================================  
.main,
.col-sm-12,
.col-sm-4 {
    border: 1px dashed #f227f9 !important; }*/

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

@font-face {
    font-family: "Museo Sans W01_500";
    src: url("../fonts/d9896899-f08c-4750-a874-a9e10d83c2cb.woff2") format("woff2"),
    url("../fonts/d42dd843-62b0-4623-8855-d5882512c3c9.woff") format("woff") }

@font-face {
    font-family: "Museo Sans W01_700";
    src: url("../fonts/e2d37f34-6bca-473c-b64d-93811f4dc046.woff2") format("woff2"),
    url("../fonts/eadbb595-a394-48fc-834f-8bf5da15cddf.woff") format("woff") }

/*
This CSS resource incorporates links to font software which is the valuable copyrighted
property of Monotype Imaging and/or its suppliers. You may not attempt to copy, install,
redistribute, convert, modify or reverse engineer this font software. Please contact Monotype
Imaging with any questions regarding Web Fonts:  http://www.fonts.com
*/

/* Bootstrap CSS Overrides */
body {
    margin: 0;
    font-family: 'Museo Sans W01_500', sans-serif;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.4;
    color: #000;
    text-align: left;
    background-color: #FFF; }

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 8px;
    /*-ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -webkit-hyphens: auto;
       -moz-hyphens: auto;
            hyphens: auto;

    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: normal;
    word-break: break-word;*/
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto; }

h1,
.chapter-title h2 {
    font-size: 44px;
    font-size: calc( 28px + (44 - 28) * (100vw - 320px)/(1280 - 320));
}
/*
.chapter-title h2 {
    font-size: 56px;
    font-size: calc( 40px + (56 - 40) * (100vw - 320px)/(1280 - 320));
}
*/
.lead-block p,
.quote em {
    font-size: 32px;
    font-size: calc( 24px + (32 - 24) * (100vw - 320px)/(1280 - 320));
    font-weight: normal;
    line-height: 1.4; }

.quote p {
    font-size: 18px; }

.teaser-large h2, .lead-block h1, .chapter-title h2, .team-title h3, .news-box h2{
    position: relative;
    display: inline-block;
    padding-bottom: 10px; }

.teaser-large h2, .news-box h2{
    margin-bottom: 16px;
}
.lead-block h1{
    padding-bottom: 24px;
    margin-bottom: 28px;
}

.chapter-title h2{
    padding: 20px 0;
}

.teaser-large h2:before, .lead-block h1:before, .chapter-title h2:before, .chapter-title h2:after, .team-title h3:before, .news-box h2:before {
    content: "";
    position: absolute;
    width: 45px;
    height: 1px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-bottom: 3px solid #000;
    }

.team-title h3:before { /* title team */
    margin-left: 0;
}

.team-title h3{
    margin-bottom: 12px;
}

.chapter-title h2:before, .chapter-title h2:after {
    width: 54px;
    right: 0;
    margin-right: auto;
    border-bottom: 5px solid #000; }

.chapter-title h2:before {
    top: 0; }

.teaser-large-text,
.teaser-large-text h2 {
    display: block;
    text-align: center; }

h3.news  {
    overflow: hidden;
    text-align: left; }

h3.news:after {
    position: relative;
    background-color: #edf3eb;
    content: "";
    display: inline-block;
    height: 5px;
    vertical-align: middle;
    width: 100%; }

h3.news:after {
    left: 15px;
    margin-right: -50%; }

p,
ul {
    margin-top: 0;
    margin-bottom: 28px; }

p + ul { margin-top: -28px; }

img + .caption { margin-top: -28px; }

b,
strong {
    font-family: "Museo Sans W01_700", sans-serif; 
    font-weight: normal; }

p.link-element a {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }

p.link-element a:before {
    content: '>';
    padding-right: 5px; }

a:before p.link-element {
    content: '>';
    padding-right: 5px; }

.main a, 
.footer a:hover {
    color: #000;
    text-decoration: underline; }

.teaser-large-text a:hover,
.teaser-large-text .link-element a:hover,
.link-element a:hover,
p.link-element a:hover    {
    color: rgba(0, 0, 0, 0.65); }

.footer a, 
.link-element a,  
.main a:hover {
    color: #000;
    text-decoration: none; }

.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; }

/* List */
.main ul {
    padding-left: 0; }

.main li {
    list-style: none;
    padding-left: 25px; }

.main li:before {
    position: relative;
    top: 0;
    left: -25px;
    height: 0;
    display: block;
    content: "–";
    color: #000; }

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

.articlee-wide table,
.article-slim table {
    table-layout: fixed; }

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

table > thead > tr,
table > tbody > tr {
        padding: 10px 0;
        border-bottom: 1px solid #000; }

table > thead > tr > th {
        font-family: "Museo Sans W01_700", sans-serif; }

table > thead > tr > th,
table > tbody > tr > td {
    width: auto;
    font-size: 12px;
    font-size: calc( 12px + (18 - 12) * (100vw - 320px)/(1280 - 320));
    font-weight: 400;
    vertical-align: top;
    border-top: 0;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word; /* Non standard for webkit */
    -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: 2px 0; }

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

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 {
        border: 1px solid #000; }

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

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

    table > tbody > tr > td {
        width: 100%; }
    
}
*/

/* Smooth animations */
a,
a:hover,
.icon span {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
        transition: all 0.5s; }

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

.main img {
    max-width: 100%;
    height: auto;
    margin-bottom: 16px; }

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

header {
    position: relative;
    overflow: hidden;
    width: 100% !important;
    max-height: 10000px !important;
    z-index: 1; }

.image-zoom img {
    display: block;
    width: 100%; }

.image-zoom img {
    -webkit-animation-name: zoomIn;
        animation-name: zoomIn;
    -webkit-animation-duration: 30s;
        animation-duration: 30s;
    -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
        animation-timing-function: linear;
    -webkit-transform: scale(1.2);
        transform: scale(1.2); }

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

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

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


.title-container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }

.logo {
    margin: 0 auto;
    width: 100%;
    width: 50vw;
    min-width: 250px;
    height: auto; }

.logo img {
    width: 100%;
    height: auto; }

.icon span {
    position: absolute;
    display: block;
    left: 15px;
    top: -125px;
    width: 50px;
    height: 43px;
    background: url(../img/icon.svg);
    background-size: 100% 100%; }

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

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

@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: #ecf2ea;
        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; }
}

/* 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: #FFF;
    /* border-radius: 4px; */
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }

.hamburger-inner.shrink, 
.hamburger-inner.shrink::before, 
.hamburger-inner.shrink::after {
    background-color: #000; }

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #000; }
  
.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; }

/* Main nav */

.navbar-expand-lg .navbar-nav .nav-link {
    display: block;
    font-size: 21px;
    padding: 0.5rem 1rem;
    text-align: left; }

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

.navbar-light .navbar-nav .nav-link:hover, 
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .active > .nav-link {
    color: rgba(0, 0, 0, 0.9);
    background-color: #FFF; }


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

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

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

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 200px;
    padding: 8px 0;
    margin: 0; /* 2px 0 0 */
    font-size: 18px;
    color: #000;
    text-align: left;
    list-style: none;
    background-color: #FFF;
    background-clip: padding-box;
    border: none;
    border-radius: 0; }

/* Animate caret */
.dropdown-toggle[aria-expanded="true"]:after {
    transform: rotate(180deg); }

.dropdown-toggle:after {
    transition: 0.25s; }
    
.dropdown-item {
    display: block;
    width: 100%;
    padding: 6px 15px;
    clear: both;
    color: #000;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: none;
    border-radius: 0 !important; }

.dropdown-item:hover, 
.dropdown-item:focus,
.dropdown-item.active {
    color: rgba(0, 0, 0, 0.65);
    text-decoration: none;
    background-color: #ecf2ea; }

.dropdown-menu li.active .dropdown-item {
    color: rgba(0, 0, 0, 0.65); }

/* ==========================================================================
   MAIN CONTENT
   ========================================================================== */
.main {
    padding: 40px 0px; }

/* layout-index */
.teaser-container {
    padding: 0 30px; 
    margin-bottom: 38px;}

/* Article styles */
.teaser-large {
    background: rgba(156, 192, 143, 0.3); }

.teaser-large-image {
    order: 1;
    padding: 0; }

.teaser-large-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%; }

.teaser-large-text div{
    padding:24px 12%;
}

.news {
    padding-bottom: 36px;
}
/* End layout-index */

/* layout-1 */

.lead-block h1, .lead-block p{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.lead-block, .chapter-title{
    position: relative;
    padding-bottom: 40px; }

.lead-padding{
    padding-left: 30px;
    padding-right: 30px;
}

.chapter-title{
    padding-bottom: 74px;
 }

.lead-block:before, .chapter-title:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-bottom: 3px solid #edf3eb; 
    margin-bottom: 40px;
}

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

.full-article:last-child {
    margin-bottom: 0; }

.article-small img{
    margin-bottom: 40px;
}

.team-box img{
    margin-bottom: 20px;
}

.chapter-title{
    text-align: center;
}

/*  End layout-01 */

/* layout-2 Team */
.intro-row{
    margin-bottom: 12px;
}
.team-box img{
    width: 100%;
    max-width: 600px;
}
.team-box .chapter-title{
    text-align: left;
}
.team-box h3{
    font-size: 30px;
}
.team-box h4{
    font-size: 22px;
}
.team-box {
    margin-bottom: 28px;
}
/* layout-2 Team */

.anchor {
    display: block;
    height: 75px; /* same height as header */
    margin-top: -75px; /* same height as header */
    visibility: hidden;
}

/* Back to top */
#return-to-top {
    display: block;
    width: 40px;
    height: 40px;
    opacity: 1;
    background: url(../img/back-to-top.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat; }

#return-to-top:hover {
    background: url(../img/back-to-top2.svg); }

/* ==========================================================================
   FORM
   ========================================================================== */
#contact {
    position: relative;
    background: #FFF;
    color: #000; }

.help-block {
    margin: 0; }

#contact-form{
    margin-right: 15px;
    margin-left: 15px;
}

#form-group div{
    width: 100%;
}

#contact-form .form-group input,
#contact-form .form-group textarea {
    width: 100%;
    font-size: 18px;
    padding: 10px; 
    height: auto;
    background-color: #edf3eb;
    border: 0;
    border-radius: 0;
    font-weight: normal;
    color: #000;}

label {
    font-size: 16px;
    font-family: 'Arvo', sans-serif;
    font-weight: normal;
    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; }

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

.btn {
    display: inline-block;
    border-color: transparent;
    background-color: #edf3eb;
    font-family: 'Arvo', sans-serif;
    font-weight: normal;
    font-size: 16px;
    padding: 15px;
    color: #000;
    border-radius: 0;
    border: 0;
    -webkit-transition: background linear 300ms; }

.btn:hover,
.btn:focus,
.btn.active {
    border-color: transparent;
    background-color: #9cc08f;
    color: #FFF;
    -webkit-transition: background linear 300ms; }

.messages {
    background: #FFF;
    color: #000; }

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

.footer {
    background: #edf3eb; }

.footer-outer { 
    margin-top: 100px;
    padding-top: 80px;
    padding-bottom: 40px;
    font-size: 16px; }

.footer-outer:before {
    display: block;
    margin-top: -180px;
    content: '';
    width: 340px;
    height: 100px;
    background: url(../img/trees.svg);
    background-size: 100% 100%; }

.footer-inner {
    padding-top: 80px; }

.footer b{
    font-family: 'Arvo', sans-serif;
    font-weight: normal; }

.vcard {
    margin-top: 40px; }

.street-address,
.tel,
.email {
    display: block; }

.locality {
    clear: both; }

.list-unstyled {
    margin: 0; }

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

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

::selection {
    text-shadow: none;
    background: #333;
    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; }