
.block {
    margin: 2rem 0;
}

@media (max-width: 499px) {
    .block .wrap {
        padding: 0rem;
    }
}

.block-hero {
    width: 100%;
    margin-top: 0;
}

    .hero {
        position: relative;
        color: #fff;
        min-height: calc(100vh - 3.9rem);
        background-color: #ddd;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .single .hero {
        min-height: 40vw;
    }

    @media (min-width: 700px) { .hero { min-height: 36vw; } }

    @media (min-width: 1000px) { .hero { min-height: 33vw; } }

    @media (min-width: 1200px) { .hero { min-height: 30vw; } }

    @media (min-width: 1600px) { .hero { min-height: 26vw; } }

    .hero.has-text::before {
        content: "";
        display: block;
        background: rgba(130, 191, 36, 0.9);
        height: 100%;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 0;
    }

        @media (min-width: 700px) {
            .hero.has-text::before {
                width: 75%;
            }

            .hero.text-align-right.has-text::before {
                left: 25%;
            }
        }

    .hero .wrap {
        z-index: 1;
        height: 100%;
    }

        .hero .hero-text {
            padding: 2rem;
            width: 100%;
            display: flex;
            flex-flow: row wrap;
            align-items: center;
            min-height: calc(100vh - 3.9rem);
        }

        @media (min-width: 700px) { .hero .hero-text { min-height: 36vw; } }

        @media (min-width: 1000px) { .hero .hero-text { min-height: 33vw; } }

        @media (min-width: 1200px) { .hero .hero-text { min-height: 30vw; } }

        @media (min-width: 1600px) { .hero .hero-text { min-height: 26vw; } }

        .hero-text-inner {
            width: 100%;
            align-self: center;
        }

        @media (min-width: 500px) {

            .hero .hero-text {
                padding: 2rem;
                width: 75%;
            }

            .hero.text-align-right .hero-text {
                margin-left: auto;
            }

        }

        .hero.hero-empty {
            height: 20vw;
            max-height: 100px;
            min-height: 0;
            background: #90C53E url(css/img/hero-empty.png) no-repeat center;
            background-size: cover;
        }

.block-image-text {

}

.image-text {
    display: flex;
    flex-flow: row wrap;
    background: #fff;
}

    .image-text.background-green {
        background: #90C53E;
        color: #fff;
    }

        .image-text.background-green h1,
        .image-text.background-green h2,
        .image-text.background-green h3,
        .image-text.background-green h4,
        .image-text.background-green h5,
        .image-text.background-green h6 {
            color: #fff !important;
        }

    .image-text.align-textright {
        flex-flow: row-reverse wrap;
    }

    .image-text .image {
        width: 100%;
        background-color: #ddd;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

        @media (min-width: 600px) {
            .image-text .image {
                width: 40%;
            }
        }

        @media (min-width: 1000px) {

            .image-text .image {
                width: 50%;
            }

            .image-text.proportion-bigger-text .image {
                width: 45%;
            }


            .image-text.proportion-bigger-image .image {
                width: 60%;
            }
        }

    .image-text .text {
        width: 100%;
        padding: 2rem;
        padding-top: 3rem;
        display: flex;
        align-items: center;
    }

        @media (min-width: 600px) {
            .image-text .text {
                flex: 1;
                padding: 2rem;
                padding-top: 3rem;
            }
        }

        @media (min-width: 1000px) {
            .image-text .text {
                flex: 1;
                padding: 3rem;
            }
        }

        @media (min-width: 1400px) {
            .image-text .text {
                flex: 1;
                padding: 4rem;
            }
        }

        @media (min-width: 1600px) {
            .image-text .text {
                flex: 1;
                padding: 6rem 4rem;
            }
        }

        .image-text .text .inner-text {
            margin: 0 auto;
            width: 100%;
            max-width: 630px;
        }

        .image-text .text .post-categories {
            position: absolute;
            text-align: right;
            right: 1rem;
            top: 1rem;
        }

            .image-text .text .post-categories a {
                margin-left: 1rem;
                font-weight: normal;
            }

    .image-text .image::before {
        content: "";
        display: block;
        padding-bottom: 65%;
    }




.block-headline {
    z-index: 9;
    position: relative;
}


.block-marketarea {
    width: 100%;
}

    .marketarea-info-box {
        position: absolute;
        z-index: 999;
        display: none;
        background: #fff;
		padding: 1rem;
        font-size: 0.85rem;
        line-height: 120%;
		transform: translateX(-50%);
		box-shadow: 0 0 1rem rgba(0,0,0,0.2);
		width: 300px;
		border-radius: 3px;

		opacity: 0;
		pointer-events: none;
		transition: all 0.2s ease-in-out;
        z-index: 99;
        margin-top: 30px;
	}

		.marketarea-info-box::before {
			content: "";
			display: block;
			width: 0;
			height: 0;
			border-left: 0.5rem solid transparent;
			border-right: 0.5rem solid transparent;
			border-bottom: 0.5rem solid #fff;
			position: absolute;
			left: 50%;
			top: 0;
			transform: translateX(-50%) translateY(-100%);
			pointer-events: none;
		}


        .marketarea-info-box.is-visible {
            display: block;
            z-index: 99;
            opacity: 1;
            pointer-events: all;
        }

        .marketarea-info-box a {
            color: #90C53E !important;
        }

    @media (max-width: 499px) {
        .block-marketarea {
            height: 100vw;
        }
    }

    @media (min-width: 500px) {
        .block-marketarea {
            height: 70vw;
        }
    }

    @media (min-width: 800px) {
        .block-marketarea {
            height: 60vw;
        }
    }

    @media (min-width: 1000px) {
        .block-marketarea {
            height: 50vw;
        }
    }

    @media (min-width: 1400px) {
        .block-marketarea {
            height: 40vw;
        }
    }

    .block-marketarea svg {
        margin: 0 auto;
        display: block;
        height: 100%;
        width: auto;
    }

    .block-marketarea svg path {
        pointer-events: none;
    }

    .block-marketarea svg path.clickarea {
        fill: #bce082;
        pointer-events: all;
        cursor: pointer;
    }

        body.has-loaded .block-marketarea svg path.clickarea {
            transition: all 0.2s ease-in-out;
        }

    .block-marketarea svg path.clickarea:hover {
        fill: #90C53E;
    }


.block-boxes {

}

    @media (max-width: 999px) {
        .block-boxes .wrap.narrowest {
            width: 100%;
        }
    }

    .boxes-holder {
        margin-left: -0.75rem;
        width: calc(100% + 1.5rem);
        display: flex;
        flex-flow: row wrap;
    }

    .content-box {
        background: #fff;
        width: calc(100% - 1.5rem);
        margin: 0.75rem;
    }

        @media (min-width: 700px) {
            .content-box {
                width: calc(50% - 1.5rem);
            }
        }

    .content-box .text {
        padding: 2rem;
    }

    .content-box .image {
        background-color: #ddd;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        width: 100%;
    }

        .content-box .image::before {
            content: "";
            display: block;
            padding-bottom: 75%;
        }

        .image-format-4-3 .content-box .image::before { padding-bottom: 75%; }
        .image-format-3-2 .content-box .image::before { padding-bottom: 66%; }
        .image-format-2-1 .content-box .image::before { padding-bottom: 50%; }
        .image-format-1-2 .content-box .image::before { padding-bottom: 25%; }
        .image-format-1-1 .content-box .image::before { padding-bottom: 100%; }

.block-imageslider {

}

    .imageslider-holder {
        background: #fff;
        padding: 1rem;
        padding-bottom: 2.5rem;
    }


        .wp-admin .imageslider-holder {
            padding: 1rem;
        }

        @media (min-width: 900px) {
            .imageslider-holder {
                padding: 2rem;
                padding-bottom: 2.5rem;
            }
        }

        @media (min-width: 1400px) {
            .imageslider-holder {
                padding: 4rem;
            }
        }

        .image-slider .flickity-prev-next-button  {
            display: none;
        }

            @media (min-width: 800px) {
                .image-slider .flickity-prev-next-button  {
                    display: block;
                }

                .image-slider .flickity-prev-next-button.previous {
                    left: 0.5;
                    transform: translateX(-100%) translateY(-50%);
                }

                .image-slider .flickity-prev-next-button.next {
                    right: 0.5;
                    transform: translateX(100%) translateY(-50%);
                }
            }

    .image-slider .image-slide {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        background-color: #eee;
        width: 100%;
        border: 0.5rem solid #fff;
    }

        .image-slider .image-slide::before {
            content: "";
            display: block;
            padding-bottom: 50%;
        }

        .wp-admin .image-slider .image-slide { display: none; }
        .wp-admin .image-slider .image-slide:nth-child(1) {
            display: block;
        }

    .image-slider-nav .image-slide {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        background-color: #eee;
        width: 25%;
        opacity: 0.5;
        border: 0.5rem solid #fff;
        transition: opacity 0.3s ease-in-out;
    }

        .wp-admin .image-slider-nav { display: flex; flex-flow: row wrap; }
        .wp-admin .image-slider-nav .image-slide { display: none; }
        .wp-admin .image-slider-nav .image-slide:nth-child(1),
        .wp-admin .image-slider-nav .image-slide:nth-child(2),
        .wp-admin .image-slider-nav .image-slide:nth-child(3),
        .wp-admin .image-slider-nav .image-slide:nth-child(4) {
            display: block;
        }

        .wp-admin .image-slider-nav .image-slide:nth-child(1) {
            opacity: 1;
        }

        .image-slider-nav .image-slide::before {
            content: "";
            display: block;
            padding-bottom: 60%;
        }

    .image-slider-nav .image-slide.is-nav-selected {
    	opacity: 1;
    }



@media (max-width: 499px) {
    .block.block-faq .wrap {
        padding: 0rem 1rem;
    }
}

.faq-holder {
    display: flex;
    flex-flow: row wrap;
    width: calc(100% + 2rem);
    margin-left: -1rem;
    align-items: flex-start;
}

    .faq-box {
        position: relative;
        width: 100%;
        width: calc(100% - 2rem);
        margin: 0.5rem 1rem;
        background: #fff;
        border-top: 1rem solid #90C53E;
    }

        .faq-box::before {
            content: "";
            display: block;
            height: 1rem;
            background: #90C53E url(css/img/border-bg.png) repeat-x left;
            background-size: auto 100%;
            width: 100%;
            left: 0;
            top: -1rem;
            position: absolute;
        }

        @media (min-width: 550px) {
            .faq-box {
                width: 50%;
                width: calc(50% - 2rem);
                margin: 1rem;
            }
        }

        @media (min-width: 1200px) {
            .faq-box {
                width: 33.33%;
                width: calc(33.33% - 2rem);
            }
        }

    .faq-box .question {
        padding: 2rem 4rem 2rem 2rem;
        cursor: pointer;
        position: relative;
    }

        .faq-box .question::before {
            content: "";
            display: block;
            width: 1.2rem;
            height: 1.2rem;
            background: url(css/img/faq-arrow.svg) no-repeat center;
            background-size: contain;
            position: absolute;
            right: 2rem;
            top: 50%;
            transition: all 0.2s ease-in-out;
            transform: translateY(-50%) rotate(180deg);
        }

        .faq-box.is-active .question::before {
            transform: translateY(-50%) rotate(0);
        }


    .faq-box .answer {
        padding: 0 2rem 2rem 2rem;
        display: none;
    }


.flickity-page-dots {

}

    .flickity-page-dots li.dot {
        border: 2px solid #90C53E;
        background: none;
        opacity: 1;
        width: 0.5rem;
        height: 0.5rem;
        transition: all 0.2s ease-in-out;
    }

        @media (min-width: 1000px) {
            .flickity-page-dots li.dot {
                border: 2px solid #90C53E;
                width: 0.66rem;
                height: 0.66rem;
            }
        }

    .flickity-page-dots li.dot.is-selected {
        background: #90C53E;
        transform: scale(1.5);
    }


.block-cta-buttons {

}

    .cta-buttons {
        background: #fff;
        padding: 1rem;
        border-top: 1rem solid #90C53E;
        position: relative;
    }

        .cta-buttons::before {
            content: "";
            display: block;
            height: 1rem;
            background: #90C53E url(css/img/border-bg.png) repeat-x left;
            background-size: auto 100%;
            width: 100%;
            left: 0;
            top: -1rem;
            position: absolute;
        }


        .cta-buttons h3 {
            color: #65686E;
        }

    .ctas-holder {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        text-align: center;
    }

    .ctas-holder a.buttonlink {
        display: block;
        margin: 0.5rem;
    }


.block-fahrplan {
    border-bottom: 1rem solid #90C53E;
}

    .block-fahrplan::before {
        content: "";
        display: block;
        height: 1rem;
        background: #90C53E url(css/img/border-bg.png) repeat-x left;
        background-size: auto 100%;
        width: 100%;
        left: 0;
        bottom: -1rem;
        position: absolute;
    }

.block-biglist {

}

    .block-biglist .list-holder {
        background: #fff;
        padding: 2rem;
    }

        @media (min-width: 1000px) {
            .block-biglist .list-holder {
                padding: 3rem;
            }
        }

        @media (min-width: 1400px) {
            .block-biglist .list-holder {
                padding: 4rem;
            }
        }


        .block-biglist .list-holder ul {
            margin: 0 auto;
            display: block;
            padding: 0;
        }

        .block-biglist .list-holder ul li {
            padding-left: 1.5em;
            margin: 0;
            list-style-type: none;
            margin-bottom: 0.25em;
        }

            .block-biglist .list-holder ul li::before {
                content: "";
                display: block;
                width: 1em;
                height: 1em;
                background: url(css/img/icon-checkmark.svg) no-repeat center;
                background-size: contain;
                position: absolute;
                left: 0;
                transform: translateY(8%);
            }

.block-news {

}

.news-holder {
    display: flex;
    flex-flow: row wrap;
}

    .news-holder .news {
        width: 100%;
        background: #fff;
        padding: 2rem;
    }

    .news-holder .shortnews {
        width: 100%;
        background: #90C53E;
        color: #fff;
        padding: 2rem;
        text-align: center;
    }

        @media (min-width: 800px) {
            .news-holder .news {
                width: 65%;
            }
            .news-holder .shortnews {
                width: 35%;
            }
        }

        @media (min-width: 800px) {
            .news-holder .news {
                padding: 2rem 4rem;
            }

            .news-holder .shortnews {
                padding: 1.5rem 3rem;
            }
        }

        @media (min-width: 1000px) {
            .news-holder .news {
                padding: 3rem 5rem;
            }

            .news-holder .shortnews {
                padding: 2rem 4rem;
            }
        }

        .news-holder .news .news-item {
            width: 100%;
            padding: 1rem;
        }

        .wp-admin .news-holder .news .news-item { display: none; }
        .wp-admin .news-holder .news .news-item:nth-child(1) { display: block; }


    .news-holder .flickity-prev-next-button  {
        display: none;
    }

        @media (min-width: 800px) {
            .news-holder .flickity-prev-next-button  {
                display: block;
            }

            .news-holder .flickity-prev-next-button.previous {
                left: 0;
                transform: translateX(-120%) translateY(-50%);
            }

            .news-holder .flickity-prev-next-button.next {
                right: 0;
                transform: translateX(120%) translateY(-50%);
            }
        }

    .shortnews-item {
        text-decoration: none;
        display: block;
        margin-bottom: 1rem;
        text-align: left;
    }

        .shortnews-item .title,
        .shortnews-item .duration {
            display: block;
        }

        .shortnews-item .title {
            color: #567525;
            font-weight: bold;
        }

            .shortnews-item .title .line {
                color: #000000;
                margin-right: 0.5em;
            }

    .shortnews .buttonlink {
        margin:  1rem auto 0 auto;
        display: inline-block;
    }


.block-newsletter-social {

}

    .newsletter-social-holder {
        background: #fff;
        padding: 2rem;
    }

    @media (min-width: 600px) {
        .newsletter-social-holder {
            padding: 2rem;
        }
    }

    @media (min-width: 1000px) {
        .newsletter-social-holder {
            padding: 3rem;
        }
    }

    @media (min-width: 1400px) {
        .newsletter-social-holder {
            padding: 4rem;
        }
    }

    @media (min-width: 1600px) {
        .newsletter-social-holder {
            padding: 6rem 4rem;
        }
    }


    .newsletter-social-holder .headline,
    .newsletter-social-holder .newsletter,
    .newsletter-social-holder .social {
        width: 100%;
    }

    .newsletter-social-holder .social {
        margin-top: 2rem;
    }

    @media (min-width: 650px) {
        .newsletter-social-holder .newsletter,
        .newsletter-social-holder .social {
            width: 50%;
            margin-top: 0;
        }
    }

    .newsletter-social-holder .headline h2 {
        margin-bottom: 1.5em;
    }


    .newsletter-social-holder .inner {
        max-width: 800px;
        margin: 0 auto;
        display: flex;
        flex-flow: row wrap;
    }

    .newsletter-social-holder .social {
        text-align: center;
    }

    .newsletter-social-holder .social .social-icons {
        margin-top: 1.5rem;
        justify-content: center;
    }

    .newsletter-social-holder .social .social-icons a {
        width: 3rem;
        height: 3rem;
        margin: 0.2rem;
        /* background-color: #fff;
        background-size: 80% auto;
        box-shadow: 0 0.2rem 0.4rem rgba(0,0,0,0.4); */
    }


    .newsletter-social-holder .mailchimp-form-holder {
        margin-top: 1rem;
    }


.mailchimp-form-holder {

}

    .mailchimp-form-holder .indicates-required {
        display: none;
    }

    .mc-field-group {
        margin-bottom: 0.5rem;
    }

    .mc-field-group ul {
        display: flex;
        flex-flow: row wrap;
        padding: 0;
        margin: 0;
    }

        .mc-field-group ul li {
            margin-right: 1rem;
            list-style-type: none
        }

    .mc-field-group input[type='text'],
    .mc-field-group input[type='email'] {
        font: inherit;
        border: 0;
		border-bottom: 1px solid #90C53E;
		outline: none;
		-webkit-appearance: none;
		appearance: none;
		padding: 0.5rem 0;
		border-radius: 0;
		width: 100%;
        color: #000000;
    }

    .mc-field-group input[type='text']::placeholder,
    .mc-field-group input[type='email']::placeholder {
        color: #000000;
    }

    .mailchimp-form-holder input[type='submit'] {
        font: inherit;
        border: 1px solid #90C53E;
        border-radius: 0.25rem;
        padding: 1rem 1.5rem;
        color: #90C53E;
        background: #fff;
        outline: none;
		-webkit-appearance: none;
		appearance: none;
        margin: 2rem auto 0 auto;
        display: block;
        transition: all 0.2s ease-in-out;
    }

    .mailchimp-form-holder input[type='submit']:hover {
        transform: scale(1.1);
    }


.schmal {
    max-width: 600px;
    margin: 0 auto;
}

.wpcf7 {
    max-width: 600px;
    margin: 2rem auto;
}

.wpcf7 .row {
    margin-bottom: 0.5rem;
}


.wpcf7 input[type='text'],
.wpcf7 input[type='email'],
.wpcf7 textarea,
.emaillist input {
    background: transparent;
    font: inherit;
    border: 0;
    border-bottom: 1px solid #90C53E;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 0.5rem 0;
    border-radius: 0;
    width: 100%;
    color: #000000;
}

.wpcf7 textarea,
.emaillist input {
    font: inherit;
    border: 2px solid #d0d0d0;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 0.5rem 0.75rem;
    border-radius: 0;
    width: 100%;
    height: 6rem;
    background: #fff;
}

.emaillist input {
    height: auto;
}

.wpcf7 input[type='text']::placeholder,
.wpcf7 input[type='email']::placeholder,
.wpcf7 textarea::placeholder,
.emaillist input::placeholder {
    color: #000000;
}



.wpcf7 input[type='submit'],
.emaillist input[type='submit'] {
    font: inherit;
    border: 1px solid #90C53E;
    border-radius: 0.25rem;
    padding: 1rem 1.5rem;
    color: #fff;
    background: #90C53E;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    margin: 2rem auto 0 auto;
    display: block;
    transition: all 0.2s ease-in-out;
}

.wpcf7 input[type='submit']:hover {
    transform: scale(1.1);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
    background: #ffe578;
    border: 0;
    padding: 1.5rem 2rem;
    border-radius: 0.25rem;
    color: rgb(182, 148, 2);
    font-weight: bold;
}

.wpcf7 form.sent .wpcf7-response-output {
    background: #bbdeb5;
    color: rgb(16, 153, 46);
}

/* Block positioning */
