/*
Theme Name: 	Landfrauen
Theme URI: 		http://xeit.ch
Version: 		1.02
Author: 		Xeit GmbH
Author URI: 	http://xeit.ch
*/



/*** Sensible Defaults ***/

@import "css/reset.css";
@import "css/flickity.css";
@import "editor.css?v=9";
@import "js/lightbox/css/lightbox.min.css";

* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
}

html, body {
    font-family: 'Helvetica', 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 155%;
}

@media (min-width: 600px) {
    html, body {
        font-size: 15px;
        line-height: 155%;
    }
}


@media (min-width: 1000px) {
    html, body {
        font-size: 16px;
        line-height: 155%;
    }
}


@media (min-width: 1400px) {
    html, body {
        font-size: 18px;
        line-height: 155%;
    }
}

@media (min-width: 1600px) {
    html, body {
        font-size: 20px;
        line-height: 155%;
    }
}

@media (min-width: 1900px) {
    html, body {
        font-size: 25px;
        line-height: 155%;
    }
}

.wrap {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 1rem;
}

    @media (min-width: 600px) {
        .wrap {
            padding: 0 2rem;
        }
    }

    @media (min-width: 1900px) {
        .wrap {
            max-width: 1800px;
        }
    }

.no-hero {
    height: 7rem;
}

header {
    height: 6rem;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    transition: transform 0.2s ease-in-out;
    background: #fff;
}

    @media (min-width: 600px) {
        header {
            height: 7rem;
        }
    }

    header .wrap {
        max-width: 100%;
    }

    header nav.primary {
        position: relative;
        height: 3.25rem;
        background: #B00835;
        border-radius: 0;
        left: 8rem;
        width: calc(100% - 8rem);
    }

        @media (min-width: 600px) {
            header nav.primary {
                border-radius: 10px 0 0 0;
                left: 14rem;
                width: calc(100% - 14rem);
            }
        }

        /* header nav.primary::before {
            content: "";
            display: block;
            background: #B00835;
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 12rem;
            z-index: 0;
        } */

        header nav.primary .overview-page {
            font-size: 1.2em;
            line-height: 120%;
            border-bottom: 2px solid #fff;
        }

        header nav.primary .wrap {
            padding: 0 3rem;
            height: 100%;
            position: relative;
        }

        header nav.primary .nav-toggle {
            cursor: pointer;
            width: 2rem;
            height: 2rem;
            position: absolute;
            right: 1rem;
            top: 50%;
            transform: translateY(-50%);
            padding-top: 1px;
        }

            header nav.primary .nav-toggle span {
                display: block;
                width: 80%;
                height: 2px;
                margin: 6px auto;
                background: #fff;
            }

        @media (min-width: 950px) {
            header nav.primary .nav-toggle {
                display: none;
            }
        }

        header nav.primary ul {
            display: none;
            font-size: 0.8rem;
            line-height: 1.33rem;
            font-weight: bold;
            font-family: 'Helvetica', 'Open Sans', sans-serif;
            justify-content: space-between;
        }

        @media (max-width: 949px) {
            .nav-open header nav.primary ul {
                display: block !important;
            }

            header nav.primary ul {
                display: none;
                background: #B00835;
                position: absolute;
                top: 3.25rem;
                left: -8rem;
                width: calc(100% + 8rem);
                padding: 1rem;
                font-size: 1.84rem;
                line-height: 120%;
                height: calc(100vh - 6rem);
            }


                header nav.primary ul li a {
                    padding-right: 2rem !important;
                }

                header nav.primary ul li {
                    position: static;
                }

            header nav.primary ul .wrap {
                height: auto !important;
            }

            header nav.primary ul ul {
                position: fixed;
                font-size: 1.5rem;
                line-height: 120%;
                font-weight: 600;
                top: 6rem;
                padding: 2rem 1rem;
                transition: all 0.3s ease-in-out;
                transform: translateX(100%);
                width: 100vw;
                background: #B00835;
                opacity: 0;
                left: 0;
                z-index: 999;
                overflow-y: scroll;
                padding-bottom: 8rem !important;
            }

                header nav.primary ul ul ul {
                    padding-bottom: 0 !important
                }

                header nav.primary ul .is-open ul {
                    transform: translateX(0);
                    opacity: 1;
                }

                header nav.primary ul ul li {
                    margin-bottom: 1rem;
                }

                header nav.primary ul ul li a {
                    padding: 0.25rem 0 !important;
                    border-bottom: 1px solid #fff;
                    padding-bottom: 1rem !important;
                }

                header nav.primary ul ul ul {
                    position: static;
                    height: auto;
                    width: auto;
                    padding: 0;
                    font-size: 1rem;
                    line-height: 120%;
                    font-weight: 400;
                    margin: 1rem 0 2rem 0;
                }

                header nav.primary ul ul ul li {
                    margin-bottom: 0;
                    padding-bottom: 0;
                }

                header nav.primary ul ul ul li a {
                    border-bottom: 0;
                    padding-bottom: 0.25rem !important;
                }

                header nav.primary .break {
                    display: none;
                }

            .nav-open header nav.primary ul li:before {
                display: none;
            }

            header nav.primary ul a {
                height: auto !important;
                padding: 0.75rem 0 !important;
            }


            header nav.primary .wrap {
                padding: 0;
                column-count: 1 !important;
            }
        }

        @media (min-width: 950px) {
            header nav.primary ul {
                display: flex;
                flex-flow: row wrap;
            }

            header nav.primary ul li {
                position: static !important;
            }

            header nav.primary > .wrap > ul > li > ul {
                display: block;
                opacity: 0;
                pointer-events: none;
                transform: translateY(-100%);
                z-index: -1;
                transform-origin: top;
                position: absolute;
                background: #fff;
                padding: 0;
                color: #B00835;
                font-size: 0.8rem;
                line-height: 120%;

                padding: 0;
                left: 0;
                width: 100%;
                font-weight: bold;
                padding: 1rem 0 2rem 0;
                box-shadow: 0 0.2rem 0.2rem rgba(0,0,0,0.2);

                transition: transform 0.3s ease-in-out, opacity 0.1s ease-in-out;
            }

                header nav.primary ul ul .flex {
                    column-count: 2;
                    column-gap: 2rem;
                }

            header nav.primary .break {
                break-after: column;
                opacity: 0;
                height: 0;
                width: 0;
                font-size: 0;
                line-height: 0;
            }

            header nav.primary ul > li:hover > ul{
                display: block;
                opacity: 1;
                pointer-events: all;
                transform: translateY(0);
            }

            header nav.primary > .wrap > ul > li > a {
                position: relative;
            }

            header nav.primary > .wrap > ul > li.menu-item-has-children:hover > a::before {
                content: "";
                display: block;
                position: absolute;
                bottom: 0;
                left: 50%;
                transform: translateX(-50%);
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 0 0.4rem 0.8rem 0.4rem;
                border-color: transparent transparent #fff transparent;
            }

            header nav.primary ul > li ul .wrap li {

            }

            header nav.primary ul ul .wrap > li > a {
                border-bottom: 1px solid #707070;
                padding: 1em 0;
                display: block;
                height: auto;
            }

            header nav.primary ul ul .wrap > li.menu-item-has-children > a {
                border-bottom: 0 !important
            }

            header nav.primary ul ul .wrap > li.menu-item-has-children > ul.sub-menu {
                margin-top: -1rem;
                border-bottom: 1px solid #707070;
                padding-bottom: 0.5rem;
            }


            header nav.primary ul ul ul {
                position: relative;
                display: block !important;
            }

                header nav.primary ul ul .wrap > li ul li a {
                    height: auto;
                    font-weight: normal;
                }

            header nav.primary ul ul li a {
                color: #B00835;
                display: block;
            }



        }

        header nav.primary ul li {
            position: relative;
        }

            header nav.primary ul li::before {
                content: "";
                display: none;
                width: 0%;
                background: #E49A34;
                height: 0.25rem;
                position: absolute;
                top: 0;
                left: 0;
                transition: width 0.2s ease-in-out;
            }

                header nav.primary ul li:hover::before,
                header nav.primary ul li.current-menu-item::before,
                header nav.primary ul li.current-page-ancestor::before {
                    width: 100%;
                    display: none;
                }

        header nav.primary ul li a {
            text-decoration: none;
            color: #fff;
            display: block;
            padding-top: 1rem;
            height: 3.25rem;
        }

        header nav.primary ul li.external {
            font-size: 0.833rem;
            line-height: 1.33rem;
            display: none;
        }

            @media (min-width: 800px) {
                header nav.primary ul li.external {
                    display: block;
                }
            }

        header nav.primary ul li.external a {
            padding-right: 1.2em;
            position: relative;
        }

        header nav.primary ul li.external a::before {
            content: "";
            display: block;
            width: 1em;
            height: 1em;
            position: absolute;
            background: url(css/img/arrow-external.svg) no-repeat center;
            background-size: contain;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            transition: all 0.2s ease-in-out;
        }

        header nav.primary ul li.external a:hover::before {
            transform: translateX(30%) translateY(-50%);
        }

    header nav.meta {
        background: #fff;
        height: 2.75rem;
    }

    @media (min-width: 600px) {
        header nav.meta {
            height: 3.75rem;
        }
    }

    header nav.meta .wrap {
        padding-left: 8rem;
        position: relative;
    }

    @media (min-width: 600px) {
        header nav.meta .wrap {
            padding-left: 14rem;
        }
    }

    @media (min-width: 1200px) {
        header nav.meta .wrap {
            padding-left: 14rem;
        }
    }

    /* .is-scrolling header {
        transform: translateY(-3.75rem);
    }

    .is-scrolling.is-scrolling-up header {
        transform: translateY(0);
    } */


    header nav.meta a.logo {
        width: 6rem;
        display: block;
        background: #fff url(css/img/logo.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        top: 2rem;
        transition: all 0.2s ease-in-out;
        left: 1rem;
        z-index: 9999;
    }

        @media (min-width: 600px) {
            header nav.meta a.logo {
                left: 2rem;
                width: 10rem;
                top: 1.5rem;
            }
        }

        header nav.meta a.logo span {
            display: none;
            position: absolute;
        }

        header nav.meta a.logo::before {
            content: "";
            display: block;
            padding-bottom: 42%;
        }

        /* .is-scrolling.is-scrolling-down header nav.meta a.logo {
            top: 4.45rem;
            width: 5rem;
            box-shadow: 0 0 1rem rgba(0,0,0,0.2);
        } */



    header nav.meta .wrap {
        position: relative;
        height: 100%;
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        font-size: 0.8rem;
        line-height: 120%;
    }

        header nav.meta form {
            width: 50%;
            position: relative;
            margin-left: auto;
        }

            @media (min-width: 600px) {
                header nav.meta form {
                    width: 35%;
                }
            }

            @media (min-width: 800px) {
                header nav.meta form {
                    margin-left: 15%;
                }
            }

            header nav.meta form input[type='text'] {
                font: inherit;
                font-family: 'Helvetica', 'Open Sans', sans-serif;
                font-weight: 300;
                font-size: 0.75rem;
                line-height: 120%;
                background: #F0F0F0;
                border: 2px solid #fff;
                border-radius: 4px;
                padding: 0.5rem 2.5rem 0.5rem 1rem;
                outline: none;
                appearance: none;
                -webkit-appearance: none;
                width: 100%;
                transition: all 0.12s ease-in-out;
            }

            header nav.meta form input[type='text']:focus {
                padding: 0.75rem 1rem;
                box-shadow: 0 0 0.5rem rgba(0,0,0,0.2);
            }

            header nav.meta form input[type='submit'] {
                font: inherit;
                font-size: 0;
                background: url(css/img/search.svg) no-repeat center;
                background-size: 70% auto;
                cursor: pointer;
                border: 0;
                outline: none;
                appearance: none;
                -webkit-appearance: none;
                width: 1rem;
                height: 1rem;
                transition: all 0.12s ease-in-out;
                position: absolute;
                right: 0.5rem;
                top: 50%;
                transform: translateY(-50%);
            }

    header nav.meta .contact {
        margin-left: auto;
        text-indent: -1000px;
        overflow: hidden;
        display: block;
        width: 1.6rem;
        height: 1.6rem;
        background: url(css/img/mail.svg) no-repeat center;
        background-size: contain;
    }

    header nav.meta .contact:hover {
        -webkit-animation: wobble-horizontal 0.8s both;
        animation: wobble-horizontal 0.8s both;
    }

    header nav.meta .social-links {
        margin: 0 auto;
    }

        @media (max-width: 600px) {
            header nav.meta .social-links,
            header nav.meta .meta-links {
                display: none;
            }
        }


    header nav.meta .social-links a {
        margin: 0 0.4rem;
        color: #000000;
        text-decoration: none;
        display: inline-block;
        width: 1.2em;
        height: 1.2em;
        background: url(css/img/facebook-red.svg) no-repeat center;
        background-size: contain;
    }

        header nav.meta .social-links a.instagram {
            background-image: url(css/img/instagram-red.svg)
        }

    header nav.meta .meta-links {
        margin: 0 auto;
    }

    header nav.meta .meta-links a {
        margin: 0 1rem;
        color: #000000;
        text-decoration: none;
    }

    header nav.meta .lang-switcher {
        margin-left: 1rem;
        display: block;
    }

        @media (min-width: 600px) {
            header nav.meta .lang-switcher {
                display: block;
                margin-left: auto;
            }
        }

        header nav.meta .lang-switcher .lang-item,
        header nav.meta .lang-switcher .lang-switch {
            color: inherit;
            padding: 0rem 0.3rem;
            text-decoration: none;
            font-size: 0.85rem;
            line-height: 90%;
            font-family: "Helvetica", sans-serif;
            border-right: 1px solid #999;
            transition: all 0.1s ease-in-out;
            position: relative;
            text-transform: uppercase;
        }

        header nav.meta .lang-switcher .lang-item span,
        header nav.meta .lang-switcher .lang-switch span {
            z-index: 9;
            position: relative;
        }

        header nav.meta .lang-switcher .lang-item {
            font-weight: bold;
            color: #000000;
        }

        header nav.meta .lang-switcher .lang-switch:hover {
            color: #fff;
        }

        header nav.meta .lang-switcher .lang-switch::before {
            content: "";
            display: block;
            width: 2rem;
            height: 2rem;
            background: #E49A34;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%) scale(0);
            opacity: 0;
            border-radius: 100%;
            z-index: 0;
            transition: all 0.2s ease-in-out;
            pointer-events: none;
        }

        header nav.meta .lang-switcher .lang-switch:hover::before {
            transform: translateX(-50%) translateY(-50%) scale(1);
            opacity: 1;
        }

        header nav.meta .lang-switcher .lang-item:last-child,
        header nav.meta .lang-switcher .lang-switch:last-child {
            border-right: 0;
        }

article.main-content {
    padding-top: 6rem;
}

    @media (min-width: 600px) {
        article.main-content {
            padding-top: 7rem;
        }
    }


/* .wp-block-group {
    opacity: 0;

}

    .wp-block-group.is-in-viewport {
        -webkit-animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    }

    .wp-block-group:nth-child(odd).is-in-viewport {
        -webkit-animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    } */

    @-webkit-keyframes slide-in-left {
      0% {
        -webkit-transform: translateX(-1000px);
                transform: translateX(-1000px);
        opacity: 0;
      }
      100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
      }
    }
    @keyframes slide-in-left {
      0% {
        -webkit-transform: translateX(-1000px);
                transform: translateX(-1000px);
        opacity: 0;
      }
      100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
      }
    }


    @-webkit-keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}



@-webkit-keyframes wobble-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
@keyframes wobble-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}

.area-search {
    padding: 4rem 0;
}

    .search-result {
        display: block;
        margin: 0 !important;
        padding: 1rem 0;
        color: inherit;
    }

.ups {
    background: #F0F0F0;
    padding: 5rem 0;
}

    .ups-list ul {
        display: flex;
        flex-flow: row wrap;
        width: 100%;
        padding: 0;
    }

    .ups-list ul li {
        width: 100%;
        padding: 0 2rem;
        text-align: center;
        margin-bottom: 2rem;
        list-style-type: none;
    }

        @media (min-width: 600px) {
            .ups-list ul li {
                width: 33.33%;
                margin-bottom: 0;
            }
        }

    .ups-list ul li .icon {
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 6rem;
        height: 6rem;
        margin: 0 auto 2rem auto;
        display: block;
    }

        .ups-list ul li .icon.farmer { background-image: url(css/img/farmer.svg); }
        .ups-list ul li .icon.farm { background-image: url(css/img/farm.svg); }
        .ups-list ul li .icon.learn { background-image: url(css/img/learn.svg); }

.screen-reader-response {
    display: none;
}

.flickity-button {
    color: #B00835;
}

.has-green-background-color .flickity-button {  color: #fff }
.has-red-background-color .flickity-button {  color: #fff }

.flickity-page-dots .dot {
    opacity: 1;
    background: #FFFFFF;
}

.has-white-background-color .flickity-page-dots .dot {
    background: #d6d6d6;
}

.flickity-page-dots .dot.is-selected {
    background: #B00835;
}


@media print {
    html, body {
        font-size: 9pt !important;
        line-height: 120% !important;
    }

    .wp-block-group {
        background: #fff;
        color: #000 !important
    }

    p,
    img {
        page-break-inside: avoid;
    }

    header,
    footer {
        display: none;
    }

    h2.is-style-underscore {
        border-bottom-color: #000
    }

}

body.home #crumbs {
    display: none;
}

.wpcf7-recaptcha {
    margin: 1rem 0 2rem 0;
    display: block;
}


.tag-similar-posts {
    text-align: center;
}

.tag-similar-posts > a {
    padding: 1rem;
    font-weight: bold;
    text-decoration: none;
}

.tag-similar-posts > a + a {
    border-left: 2px solid #fff;
}


.wp-block-table td, .wp-block-table th {
    border: 0 !important
}
