@charset "UTF-8";
/*!
Theme Name: Quartierverein Oberstrass
Theme URI: http://underscores.me/
Author: macREC GmbH
Author URI: http://www.macrec.ch
Description: Quartierverein Oberstrass
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: qvo
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Quartierverein Oberstrass is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
test
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments 
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/* green, if used on backgrounds */
/* green, if used on text */
/* only in large */
/* MD Sans loaded in 500 an 700 */
/* original grid template columns */
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: 700;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body {
  color: #062533;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 1.33333;
}

@media (min-width: 880px) {
  body {
    font-size: 18px;
    line-height: 1.38889;
  }
}

body {
  /* medium */
  font-weight: 500;
  letter-spacing: .015em;
}

/* home: narrow content in columns */
@media (min-width: 880px) {
  .home main,
  .home aside {
    hyphens: auto;
  }
  .home main h1,
  .home main h2,
  .home aside h1,
  .home aside h2 {
    hyphens: none;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

.site-main h1,
body.search .site-main h1,
.widget-area h2 {
  font-weight: 500;
  display: inline;
  position: relative;
  font-size: 24px;
  line-height: 1.2;
  text-transform: uppercase;
  /* h1 padding-bottom */
  padding-bottom: .42em;
  letter-spacing: .014em;
}

@media (min-width: 880px) {
  .home .widget-area h2 {
    font-size: 30px;
    padding-bottom: .22em;
  }
}

.site-main h1:after,
body.search .site-main h1:after,
.widget-area h2:after {
  content: '';
  border-bottom: 3px solid;
  padding-bottom: .42em;
  left: 1px;
  right: 2px;
  bottom: 0;
  position: absolute;
}

/* Firefox: line underneath does not work (inline),
make it full width border
skip «NEWS» as this is short enough */
@-moz-document url-prefix() {
  .site-main h1,
  body.search .site-main h1 {
    display: block;
    border-bottom: 3px solid;
  }
  .site-main h1 {
    margin-top: 0;
    /* display block */
  }
  .site-main h1:after,
  body.search .site-main h1:after {
    display: none;
  }
}

/* «Datenschutzerklärung» too long */
@media (max-width: 22em) {
  body.privacy-policy .site-main h1 {
    font-size: 20px;
  }
}

@media (min-width: 880px) {
  .site-main h1 {
    font-size: 40px;
    line-height: 1.125;
  }
}

/* pesky long h1 on home («Quartier Oberstrass») */
@media (min-width: 880px) and (max-width: 1063px) {
  .home main h1 {
    font-size: 3.7vw;
  }
}

.widget-area h2 {
  line-height: 1.1;
  /* «NEWS» */
  margin-top: -.2em;
}

.entry-content h2 {
  font-size: 18px;
  line-height: 1.22222;
  letter-spacing: .015em;
}

@media (min-width: 880px) {
  .entry-content h2 {
    font-size: 25px;
    /* lin-height on 1 in .psd-file, not changed for two-liners */
  }
}

/* de-bold falsely boldened h2s */
h2.entry-title,
.entry-content h2,
.entry-content h2 > b,
.entry-content h2 > strong,
.entry-content h3,
.entry-content h3 > strong {
  font-weight: 500;
}

.entry-title > a:hover,
.entry-title > a:focus {
  color: #a9d446;
}

.entry-content h3 {
  margin-bottom: -.5em;
}

.site-footer h2 {
  font-weight: 700;
  margin-block-start: 0em;
  font-size: 1em;
  /* inherits from 17px */
}

.entry-meta > i {
  font-style: normal;
}

.entry-meta.hide_day > i {
  display: none;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

.site-main article ul,
.site-main article ol {
  margin: 0;
  padding-inline-start: 0px;
}

.site-main article ul {
  list-style: none;
}

.site-main article ul > li {
  text-indent: 0px;
}

.site-main article ul > li:before {
  content: '–';
  padding-right: .2em;
}

.event_list ol {
  counter-reset: my-awesome-counter;
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.event_list li {
  counter-increment: my-awesome-counter;
  /* a has fake border */
  position: relative;
  padding: 0 39px;
}

.event_list li:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid #9ac444;
}

@media (min-width: 880px) {
  .event_list li:after {
    right: 102px;
  }
}

.event_list li:nth-child(10) {
  margin-top: 2.8em;
}

@media (min-width: 880px) {
  .event_list li {
    padding: 0;
  }
  .event_list li:nth-child(10) {
    margin-top: 2.6em;
  }
}

.event_list a {
  font-size: 18px;
  --number_size: 26px;
  display: block;
  padding: .61em 0 .61em 40px;
  color: #062533;
  text-decoration: none;
  line-height: 1.1;
  /* 18 */
  transition: color .1s;
  position: relative;
}

@media (min-width: 880px) {
  /* fake border */
  .event_list a {
    padding: .7em 70px .7em 43px;
  }
}

.event_list a:visited {
  color: inherit;
}

.event_list a:before {
  content: counter(my-awesome-counter);
  color: currentcolor;
  /* hover states */
  font-weight: 700;
  line-height: calc(var(--number_size) * .95);
  width: var(--number_size);
  height: var(--number_size);
  margin-bottom: -10px;
  /* leeway for --number-size */
  border: 2px solid currentcolor;
  border-radius: 100%;
  text-align: center;
  display: inline-block;
  position: absolute;
  top: .41em;
  left: 0;
  font-size: .9em;
  /* lighter text */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media all and (-ms-high-contrast: none) {
  /* IE10 */
  .event_list a:before {
    width: 26px;
    height: 26px;
    line-height: 24px;
  }
}

@media (min-width: 880px) {
  .event_list a:before {
    top: .7em;
  }
}

.event_list a:hover,
.event_list a:focus {
  color: #fff;
  transition: none;
}

.event_list a:after {
  /* fake border */
  position: absolute;
  bottom: 0;
  left: 0;
}

.event_list svg {
  height: 41px;
  position: absolute;
  right: 5px;
  display: none;
  top: 3px;
}

@media (min-width: 880px) {
  .event_list svg {
    display: block;
    right: 29px;
    top: 4px;
  }
}

/* colour svgs on hover digits smaller */
.event_list a:hover + svg *[fill],
.event_list a:hover + svg *[style*="fill"],
.event_list a:hover + svg .c {
  fill: #fff !important;
}

.event_list a:hover + svg *[fill="#99CC33"] {
  fill: #99CC33 !important;
}

.event_list a + svg {
  transition: all .218s;
  /* make list items hoverable  including over icon */
  pointer-events: none;
}

.event_list a:hover + svg,
.event_list a:focus + svg {
  transform: scale(1.05);
}

/* double digits smaller */
.event_list ol li:nth-child(10) a:before,
.event_list ol li:nth-child(10) ~ li a:before {
  font-size: 15px;
}

ul.category-posts-internal {
  margin-top: 3.5em !important;
}

ul.category-posts-internal li {
  padding-top: 1em !important;
  border-top: 1px solid #dfe3e5;
}

@media (min-width: 880px) {
  .home ul.category-posts-internal {
    margin-top: 4.1em !important;
  }
}

/* title coloer to text (cpwp-excerpt-text ) */
.cat-post-title + br {
  display: none;
}

/* bring .more-link closer to text */
.category-posts-internal div:empty,
.category-posts-internal div:empty + div {
  margin: 0 !important;
  /* overwrite inline styles */
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

/* center single image (not in column) */
.entry-content > .wp-block-image {
  /* figure */
  display: table;
  margin-right: auto;
  margin-left: auto;
  max-width: 623px;
}

.entry-content > p + .wp-block-image {
  margin-top: 2em;
}

@media (min-width: 880px) {
  .entry-content > p + .wp-block-image {
    margin-top: 4em;
  }
}

/* single image is not centered in layout,
but lets only do this wehen it's not aas visible */
@media (min-width: 1080px) {
  .entry-content > .wp-block-image {
    transform: translateX(-13px);
  }
}

.wp-block-image figcaption {
  font-size: 15px;
  padding: 0 13px 10px;
  line-height: 1.33333;
  letter-spacing: normal;
  border-bottom: 1px solid #d5dadd;
}

@media (min-width: 880px) {
  .wp-block-image figcaption {
    padding: 0 19px 16px;
  }
}

.wp-block-image figcaption:first-line {
  font-weight: 700;
}

/* Two images in separate wp-block */
.wp-block-column:first-child:nth-last-child(2) > .wp-block-image,
.wp-block-column:last-child:nth-child(2) > .wp-block-image {
  margin-top: 20px;
}

/* align figcaption lines at unequal line count */
.wp-block-column:first-child:nth-last-child(2) > .wp-block-image figcaption,
.wp-block-column:last-child:nth-child(2) > .wp-block-image figcaption {
  min-height: 3.2em;
}

@media (min-width: 880px) {
  .wp-block-column:first-child:nth-last-child(2) > .wp-block-image,
  .wp-block-column:last-child:nth-child(2) > .wp-block-image {
    margin-top: 38px;
  }
  .wp-block-column:first-child:nth-last-child(2) > .wp-block-image figcaption,
  .wp-block-column:last-child:nth-child(2) > .wp-block-image figcaption {
    padding-left: 32px;
    padding-right: 32px;
    padding-bottom: 7px;
  }
}

/* force 3/2 aspect ratio */
.wp-block-column:first-child:nth-last-child(2) > .wp-block-image > img,
.wp-block-column:last-child:nth-child(2) > .wp-block-image > img {
  aspect-ratio: 1.5;
  object-fit: cover;
}

/* break grid in large view */
@media (min-width: 880px) {
  .wp-block-column:first-child > .wp-block-image {
    margin-left: -40px;
    /* grid fix on 40px */
    padding-right: 2%;
  }
  .wp-block-column:first-child + .wp-block-column:last-child > .wp-block-image {
    margin-right: -40px;
    /* grid fix on 40px */
    padding-left: 2%;
  }
}

/* niceties */
figure + h2 {
  margin-top: 1.3em;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #85b615;
}

a:visited {
  color: #85b615;
}

a:hover, a:focus, a:active {
  color: #062533;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

.menu-main-menu-container {
  padding: 20px 25px 25px;
}

.menu-main-menu-container a,
.menu-sub-menu-container a,
.menu-footer-menu-container a,
.site-footer a {
  color: #062533;
}

.site-footer a:hover,
.site-footer a:focus,
.site-footer .current-menu-item > a {
  color: #a9d446;
}

.main-navigation a:hover,
.main-navigation a:focus,
.current-menu-item a {
  color: #fff;
}

@media (max-width: 879px) {
  #category-posts-2-internal .cat-post-item {
    margin-right: -15px !important;
    margin-left: -15px !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
}

@media (min-width: 880px) {
  .menu a {
    line-height: 1.1;
    padding: .2em 0;
    font-size: 16px;
    letter-spacing: .03em;
  }
}

.cat-post-item .cat-post-date {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  /* help aldjust padding to <.cat-post-title */
}

@media (min-width: 880px) {
  .cat-post-item .cat-post-date {
    font-size: 14px;
  }
}

a.cat-post-title {
  letter-spacing: normal;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.22222;
  text-transform: uppercase;
  font-weight: 700;
  /* 	inline style padding-bottom: 0 !important +
		p { display inline} inline (!!)}  makes placement difficult
		thus resorting to border for vertical placement of following p
		*/
  border-bottom: .6em solid transparent;
}

ul.category-posts-internal li:last-of-type {
  padding-bottom: 1em !important;
  border-bottom: 1px solid #dfe3e5;
}

ul.category-posts-internal li:first-of-type {
  padding-top: .3em !important;
}

.breadcrumb {
  font-size: 10px;
  font-weight: 700;
  padding: 10px 0;
  /* make less bold */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* hack breadcrumbs to not show «Karte» */
.breadcrumb a[href$="karte/"],
.breadcrumb a[href$="karte/"] + span {
  display: none;
}

@media (min-width: 880px) {
  .breadcrumb {
    font-size: 14px;
    padding: 16px 0;
  }
}

.breadcrumb > a {
  text-decoration: none;
  color: #062533;
}

.breadcrumb > a:hover,
.breadcrumb > a:focus {
  color: #a9d446;
}

/* Buttons */
/* a inside block-button */
p + .wp-block-buttons {
  margin-top: -0.5em;
}

.wp-block-buttons + h2 {
  margin-top: 2.1em;
}

.wp-block-button__link.wp-block-button__link {
  font-size: 18px;
  /* double class tridck because of color being overwritten */
  color: #062533;
  /* uneven padding to account for less visual weight of :before element */
  padding: 0.37em 1.6em 0.37em 1.1em;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus {
  background: #9fcf31 !important;
  /* hack inline styles */
}

.wp-block-button__link:active {
  background: #85b615 !important;
  /* hack inline styles */
}

.wp-block-button__link:before {
  content: '> ';
  padding-right: 0.2em;
  display: inline-block;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 0px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 0px;
  background: #062533;
  color: white;
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 0px solid #ccc;
  border-radius: 0px;
  padding: 3px 20px;
  width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 0px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.site {
  margin-top: 59px;
}

@media (min-width: 880px) {
  .site {
    margin-top: 104px;
    min-height: 50vh;
    min-height: calc(100vh - 104px);
    align-content: start;
  }
}

@media (min-width: 880px) {
  .site,
  .site-header,
  .site-map,
  .breadcrumb-wrapper,
  .footer-widgets-outer-wrapper {
    display: grid;
    grid-template-columns: 1fr [start-wide] minmax(0.2vw, 40px) [start-slim] minmax(370px, 563px) [home-main-end] minmax(0.2vw, 40px) [home-aside-start] minmax(180px, 300px) [end-slim] minmax(0.2vw, 40px) [end-wide] minmax(195px, 1.4fr);
    justify-content: stretch;
  }
}

@media all and (-ms-high-contrast: none) {
  /* IE11 */
  *::-ms-backdrop,
  .site-branding,
  .breadcrumb-wrapper,
  .site-main,
  .footer-widgets-wrapper {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* fixing grid */
.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 5;
  /* be above .main-navigation */
  height: 59px;
  background: #9ccef3;
}

@media (min-width: 880px) {
  .site-header {
    height: 104px;
  }
}

/* shadow trickery */
.shadow {
  height: 1px;
  left: 0;
  right: 0;
  margin-top: -1px;
  top: 59px;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
  grid-column: -1 / 1;
  z-index: 2;
}

@media (min-width: 880px) {
  .shadow {
    top: 104px;
  }
}

.shadow--header {
  position: fixed;
}

.shadow-mask {
  z-index: 3;
  box-shadow: none;
  position: relative;
  background: #fff;
  margin-top: -4px;
  padding-bottom: 4px;
}

@media (min-width: 880px) {
  .shadow-mask {
    margin-top: -2px;
  }
}

.shadow-mask--header {
  top: 59px;
  background: #9ccef3;
  position: absolute;
}

@media (min-width: 880px) {
  .shadow-mask--header {
    top: 104px;
  }
}

.home .shadow-mask--header {
  background: #fff;
}

.breadcrumb-wrapper + .shadow-mask {
  grid-row: 4;
  top: 0;
}

.home .site-header {
  background: #fff;
}

@media (min-width: 880px) {
  .site-header {
    grid-row: 1;
    grid-column: 1 / -1;
    align-items: center;
  }
}

.site-branding {
  grid-row: 2;
  position: relative;
  grid-column: start-slim / end-slim;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  margin-top: 5px;
  /* large */
  display: inline-block;
  background: url(/wp-content/themes/qvo/assets/images/logo.png) no-repeat;
  background-image: url(/wp-content/themes/qvo/assets/images/logo.svg);
  background-size: contain;
  /* mobile psd with 40px, make expandable for small screens using % : … */
  width: 55px;
  margin: 9px 0 0 18px;
  /* no bottom margin to have header min-height do this */
}

@media (min-width: 880px) {
  .custom-logo-link {
    width: 100px;
    margin: 9px 0 0 2px;
  }
}

img.custom-logo {
  width: 100% !important;
  opacity: 0;
}

.site-search {
  position: absolute;
  right: 70px;
  top: 0;
  text-align: right;
  /* toggle placement */
  grid-row: 1;
  grid-column: -3 / 5;
  grid-column: 1 / 2;
}

@media (min-width: 880px) {
  .site-search {
    top: 26px;
    right: -86px;
  }
}

.nav-wrapper {
  text-align: center;
}

@media (min-width: 880px) {
  .nav-wrapper {
    text-align: right;
    /* align main-navigation at very right */
    padding-top: 0;
    grid-row: 5;
    grid-column: -2 / -1;
  }
}

.site-map {
  display: grid;
  background-color: #a9d446;
  grid-column: 1 / -1;
}

.event_list {
  grid-row: 2;
  grid-column: 1 / 2;
  padding: 2em 0;
}

@media (min-width: 880px) {
  .event_list {
    padding: 3.8em 0 4em;
    grid-row: 1 / -1;
    grid-column-start: start-slim;
    grid-column-end: home-main-end;
    /* variant: left-align stretch */
  }
}

div.event_map {
  grid-row: 1;
  grid-column: 1 / 2;
  text-align: center;
  background-color: #83c2f0;
}

@media all and (-ms-high-contrast: none) {
  .event_list {
    display: inline-block;
    width: 40%;
    margin-left: 40px;
  }
  .event_list svg {
    width: 40px;
  }
  div.site-map {
    position: relative;
  }
  div.event_map {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 55%;
    height: inherit;
  }
}

@media (min-width: 880px) {
  div.event_map {
    grid-row: 1 / -1;
    grid-column-start: home-aside-start;
    grid-column-end: -1;
  }
}

@media (min-width: 1001px) {
  .event_list {
    margin-right: 100px;
  }
  div.event_map {
    margin-left: -100px;
  }
}

@media (min-width: 1314px) {
  div.event_map {
    margin-left: -136px;
  }
}

@media all and (-ms-high-contrast: none) {
  /* IE10 */
  body.home main,
  body.search main {
    display: inline-block;
    width: 60%;
    vertical-align: top;
    margin-right: 3%;
    padding: 0 3em;
  }
  body.home main + aside,
  body.search main + aside {
    /* there's other <aside>s */
    display: inline-block;
    width: 30%;
  }
}

::selection {
  color: #000;
  background: #a9d446;
}

/* highlight search results */
.bsearch_highlight {
  color: rgba(0, 0, 0, 0.5);
  text-shadow: 1px 0 1px rgba(0, 0, 0, 0.3);
  border-radius: 1em 0 1em 0;
  background-image: linear-gradient(-100deg, rgba(255, 224, 0, 0.3), rgba(255, 224, 0, 0.7) 95%, rgba(255, 224, 0, 0.1));
  padding: 0.1em 0.8em 0 0.4em;
  margin: -0.1em -0.8em 0 -0.4em;
}

/* Links inside map */
.event_map a:focus {
  outline: 0;
}

.event_map a > path,
.event_map a > text {
  transition: all .3s;
}

.event_map a:hover > path,
.event_map a:focus > path,
.event_map a:hover > text,
.event_map a:focus > text {
  transition-duration: .1s;
}

.event_map a .cls-17 {
  /* enable animation */
  fill: transparent;
}

.event_map a > path.hover {
  /* == .cls-17
    this .hover indicates hover in list on the left
    */
  fill: #fff;
}

.event_map a:hover > path,
.event_map a:focus > path {
  stroke: #fff;
}

.event_map a:hover > path.hover {
  /* upon return to map (back-button), path inside clicked number stays on .hover */
  fill: transparent;
}

.event_map a > text {
  height: 0;
}

.event_map a:hover > text,
.event_map a:focus > text {
  fill: #fff;
}

.event_map {
  position: relative;
}

.event_map {
  height: 50vh;
  min-height: 400px;
}

@media (min-width: 880px) {
  .event_map {
    height: inherit;
    min-height: inherit;
  }
}

.event_map > svg {
  max-height: calc(100% - 4em) !important;
  max-width: 79%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 10%;
  margin: 2em auto;
  object-position: center;
  object-fit: contain;
  height: 100%;
  width: 100%;
}

@media (min-width: 880px) {
  .event_map > svg {
    left: 0;
  }
}

#page .post-thumbnail {
  grid-column: -1;
  grid-row: 2;
  height: 28.75vw;
}

@media (min-height: 600px) {
  #page .post-thumbnail {
    height: 42.5vw;
  }
}

/* height of post thumbnail scales with viewport (from original design) */
/* later changed to be “about one third” less than current design */
@media (min-width: 880px) {
  #page .post-thumbnail {
    grid-column: 1 / -1;
    height: 27.5vw;
    overflow: hidden;
  }
}

@media (min-width: 880px) and (min-height: 900px) {
  #page .post-thumbnail {
    height: 41.35417vw;
  }
}

#page .post-thumbnail img {
  height: inherit;
  width: 100%;
  object-fit: cover;
  object-position: 50%;
}

.breadcrumb-wrapper {
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 880px) {
  .breadcrumb-wrapper {
    padding-right: 0;
    padding-left: 0;
    grid-row: 3;
    grid-column: 1 / -1;
  }
}

.breadcrumb-wrapper {
  z-index: 2;
  position: sticky;
  top: 59px;
  background: #fff;
}

@media (min-width: 880px) {
  .breadcrumb-wrapper {
    top: 104px;
  }
}

@media (min-width: 880px) {
  .breadcrumb,
  .site-main {
    grid-column: start-slim / end-slim;
  }
}

.site-main {
  position: relative;
  padding-top: 37px;
  padding-top: 25px;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 880px) {
  .site-main {
    grid-row: 5;
    grid-column: start-slim  / end-slim;
    padding-right: 0;
    padding-left: 0;
    padding-top: 42px;
  }
  .home .site-main {
    padding-top: 80px;
    grid-column-end: home-main-end;
  }
  /* Resolves issue with <pre> elements forcing full width. */
}

@media (min-width: 880px) {
  body.search .site-main {
    /*
        includes search-results, search-no-results
        */
    margin-top: 39px;
    grid-column: start-slim  / home-main-end;
  }
}

aside.widget-area {
  /* footer is also <aside> */
  grid-row: 7;
  grid-column: 2 / 3;
  padding: 60px 15px 0;
}

@media (min-width: 880px) {
  aside.widget-area {
    padding: 85px 0 0;
    grid-row: 5;
    grid-column: home-aside-start / end-wide;
  }
  body.search .site-main {
    padding-top: 85px;
    margin-top: 0;
  }
}

.site-footer {
  margin-top: 3em;
  padding: 28px 0;
  grid-row: 6;
  grid-column: 1 / -1;
  background-color: #e6f3fc;
  font-size: 17px;
  line-height: 1.11765;
}

@media (max-width: 879px) {
  .site-footer {
    grid-row: 8;
    grid-template-columns: 1fr;
    grid-column: 2 / 3;
  }
}

@media (min-width: 880px) {
  .site-footer {
    align-self: end;
  }
}

.footer-widgets-wrapper .footer-widgets {
  padding: 0 15px;
}

@media (min-width: 880px) {
  .footer-widgets-wrapper .footer-widgets {
    padding: 0;
  }
  .footer-widgets-wrapper {
    display: flex;
    /* make last item go to the very right */
    grid-column: 3 / 7;
  }
  .footer-widgets-wrapper .footer-widgets {
    vertical-align: top;
    display: inline-block;
    width: 14em;
    /* at least .column-one */
  }
  .footer-widgets-wrapper .column-one {
    margin-right: 3em;
  }
  .footer-widgets-wrapper .column-three {
    width: 235px;
    margin-left: auto;
    margin-right: 5vw;
    /* temp, because n'importe quoi placement */
  }
}

@media (max-width: 879px) {
  .wpcf7-form {
    max-width: 34em;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .wpcf7-form > p {
    display: inline-block;
    width: 48%;
  }
  .wpcf7-form > p:last-child {
    display: block;
    width: 100%;
  }
}

.site-footer form p {
  margin-top: .25em;
  margin-bottom: .25em;
}

.site-footer form [type="text"],
.site-footer form [type="email"] {
  padding-right: 0.3em;
  padding-left: 0.3em;
}

.site-footer input {
  font-size: 17px;
}

.site-footer input::placeholder {
  color: #cccfd0;
}

.site-footer input[type="submit"] {
  width: 100%;
}

.site-footer input[type="submit"]:active {
  background: #85b615;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.menu-main-menu-container,
.menu-sub-menu-container {
  background-color: #a9d446;
}

@media (max-width: 879px) {
  .menu-main-menu-container,
  .menu-sub-menu-container {
    background-color: initial;
    display: none;
  }
}

#site-navigation .menu-footer-menu-container {
  display: none;
}

@media (max-width: 879px) {
  #site-navigation .menu-footer-menu-container {
    display: block;
  }
}

.menu-sub-menu-container,
.menu-main-menu-container,
.menu-footer-menu-container {
  font-size: 1.3rem;
}

.main-navigation.toggled .menu-sub-menu-container,
.main-navigation.toggled .menu-main-menu-container,
.main-navigation.toggled .menu-footer-menu-container {
  display: block;
}

@media all and (-ms-high-contrast: none) {
  .ie11-menutoggle:checked ~ .menu-sub-menu-container,
  .ie11-menutoggle:checked ~ .menu-main-menu-container,
  .ie11-menutoggle:checked ~ .menu-footer-menu-container {
    display: block;
  }
}

#primary-menu,
#secondary-menu {
  flex-direction: column;
}

@media (max-width: 879px) {
  .main-navigation.toggled ul#menu-social {
    display: flex !important;
    justify-content: center;
    padding-top: 25px !important;
  }
}

@media (max-width: 879px) and (-ms-high-contrast: none) {
  .ie11-menutoggle:checked ~ .menu-social-container ul#menu-social {
    display: flex !important;
    justify-content: center;
    padding-top: 25px !important;
  }
}

ul#menu-social {
  display: none !important;
  margin: 0;
  padding: 0;
}

ul#menu-social li {
  list-style: none;
  margin: 0;
  padding-left: 0;
  padding-right: 5px;
}

ul#menu-social-1 {
  display: flex;
  flex-direction: row;
  margin: 0 0 1em 0;
  padding: 0;
}

ul#menu-social-1 li {
  list-style: none;
  margin: 0;
  padding-left: 0;
  padding-right: 5px;
}

@media (min-width: 880px) {
  .main-navigation {
    width: 175px;
    text-align-last: left;
    display: inline-block;
    /* align to right with text-align right on parent */
    position: sticky;
    margin-top: 32px;
    margin-top: 46px;
    /* 2022-03-29 */
    top: 154px;
    z-index: 2;
  }
  .home .main-navigation {
    margin-top: 82px;
    top: 124px;
  }
}

@media all and (-ms-high-contrast: none) {
  /* IE11 */
  *::-ms-backdrop,
  .main-navigation {
    top: 120px;
    right: 0;
    position: absolute;
    margin-bottom: -100%;
  }
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul {
  display: none;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {
  color: white;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

li {
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

.menu-footer-menu-container ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Small menu. */
.main-navigation.toggled {
  /* max-width magkes sense here */
  z-index: 10;
}

@media (max-width: 879px) {
  .main-navigation.toggled {
    top: 0;
    position: fixed;
    overflow: scroll;
    width: 100vw;
    height: 100vh;
    line-height: 2;
    text-align: center;
    padding-bottom: 40px;
    /* make clickable lower content */
    background-color: #a9d446;
  }
}

.main-navigation.toggled ul,
.main-navigation.toggled .menu-main-menu-containe,
.main-navigation.toggled .menu-sub-menu-container,
.main-navigation.toggled .menu-main-menu-containe ul,
.main-navigation.toggled .menu-sub-menu-container ul {
  display: block;
  position: relative;
}

@media (max-width: 879px) {
  .main-navigation.toggled #primary-menu {
    margin-top: 4em;
  }
}

.menu-toggle {
  display: none;
}

@media (min-width: 880px) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: flex;
  }
}

.comment-navigation .site-main,
.posts-navigation .site-main,
.post-navigation .site-main {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

@media (max-width: 879px) {
  .menu-toggle-label,
  .ie11-menutoggle {
    position: fixed;
    top: 20px;
    right: 26px;
    height: 19px;
    width: 20px;
    z-index: 5;
  }
  .menu-toggle-label span,
  .ie11-menutoggle span {
    position: absolute;
    width: 100%;
    height: 3px;
    top: 50%;
    margin-top: -1px;
    left: 0;
    display: block;
    transition: .1s;
    background: #020304;
  }
  .menu-toggle-label span:first-child,
  .ie11-menutoggle span:first-child {
    top: 3px;
  }
  .menu-toggle-label span:last-child,
  .ie11-menutoggle span:last-child {
    top: 16px;
  }
  label:hover {
    cursor: pointer;
  }
  .main-navigation.toggled button + label span {
    opacity: 0;
    top: 50%;
  }
  .main-navigation.toggled button + label span:first-child {
    opacity: 1;
    transform: rotate(135deg);
  }
  .main-navigation.toggled button + label span:last-child {
    opacity: 1;
    transform: rotate(-135deg);
  }
}

.ie11-menutoggle {
  display: none;
  outline: 1px solid red;
  z-index: 7;
}

/* Search Form ------------------------------- */
:focus-visible {
  outline: -webkit-focus-ring-color auto 0px;
}

.search-toggle {
  background: url(/wp-content/themes/qvo/assets/images/search-icon.png) no-repeat;
  width: 18px;
  height: 18px;
  margin-right: -20px;
  border: 20px solid transparent !important;
  /* increase click area */
  cursor: pointer;
  /* wrong indication, but at least it indicates hover */
}

.toggle-icon > svg {
  display: none;
}

.toggle-text {
  display: none;
}

.site-search.toggled button {
  display: none;
}

.site-search .search-form .search-field {
  width: 100%;
}

.search-field:focus-visible {
  outline: 0;
}

.site-search .search-form .search-submit {
  flex-shrink: 0;
}

.site-search .search-form .search-submit:focus,
.site-search .search-form .search-submit:hover {
  text-decoration: none;
}

/* Modal Search Form ------------------------- */
.search-modal .search-field {
  border: 1px solid #dfe3e5;
  border-radius: 0;
  color: inherit;
  letter-spacing: -0.0277em;
  margin: 20px 0 0 -1rem;
  max-width: calc(100% + 2rem);
  padding: .2em .4em;
  width: calc(100% + 2rem);
}

.search-modal .search-submit {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  font-size: 0;
  transform: translateY(-50%);
}

.search-modal .search-submit:focus {
  right: 0;
}

.search-modal {
  display: none;
  opacity: 0;
  bottom: 0;
  left: -9999rem;
  top: 0;
  width: 100%;
  z-index: 999;
}

.site-search.toggled .search-modal {
  display: block;
  opacity: 1;
}

.admin-bar .search-modal.active {
  top: -32px;
}

@media (max-width: 782px) {
  .admin-bar .search-modal.active {
    top: 46px;
  }
}

.search-modal-inner {
  transform: translateY(-100%);
}

.search-modal-inner .section-inner {
  display: flex;
  justify-content: space-between;
  max-width: 168rem;
}

.search-modal.active {
  left: 0;
  opacity: 1;
  transition: opacity 0.2s linear;
}

.search-modal.active .search-modal-inner {
  transform: translateY(0);
}

button.search-untoggle {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  margin-right: -2.5rem;
  padding: 0 0rem;
  background-color: transparent;
}

.search-modal button.search-untoggle {
  color: inherit;
}

.search-modal.active .search-untoggle {
  animation: popIn both 0.3s 0.2s;
}

.search-untoggle svg {
  height: 1.5rem;
  transition: transform 0.15s ease-in-out;
  width: 1.5rem;
}

.search-untoggle:focus svg,
.search-untoggle:hover svg {
  transform: scale(1.15);
}

/* Search field in search results content */
.page-content .search-form {
  display: flex;
  width: 24em;
  max-width: 100%;
}

.page-content .search-form > label {
  flex-grow: 1;
}

.page-content .search-field {
  border: 1px solid #333;
  padding: .3em .5em;
}

.page-content .search-submit {
  padding-right: 2em;
  padding-left: 2em;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-summary {
  margin: 1.5em 0 0;
}

/* article vertical margin */
.post,
article:first-of-type .entry-content,
article:first-of-type:last-of-type .entry-header ~ .entry-content.entry-content,
.entry-content p + h2 {
  /* was .entry-content */
  margin-top: 1.6em;
}

@media (min-width: 880px) {
  .post,
  article:first-of-type .entry-content,
  article:first-of-type:last-of-type .entry-header ~ .entry-content.entry-content,
  .entry-content p + h2 {
    margin-top: 3.7em;
  }
}

.post,
article:first-of-type .entry-content,
article:first-of-type:last-of-type .entry-header ~ .entry-content.entry-content {
  margin-bottom: 1.5em;
}

.entry-header ~ .entry-content.entry-content {
  margin-top: 0;
}

article.page {
  margin-top: 0;
  margin-bottom: 1.5em;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.entry-title a {
  text-decoration: none;
  color: #062533;
}

ul + .wp-block-image {
  margin-top: 2em;
}

@media (min-width: 880px) {
  ul + .wp-block-image {
    margin-top: 3.2em;
  }
}

/* make negative margin work for «> mehr» links */
.entry-content .more-link {
  display: block;
}

.entry-content p + .more-link {
  margin-top: -1.5em;
}

.more-link:before {
  content: '> ';
}

/* youtube embed */
iframe[src^="https://www.youtube.com"],
iframe[src^="https://www.vimeo.com"] {
  width: 100%;
  height: 100%;
  aspect-ratio: 1.77778;
}

@media all and (-ms-high-contrast: none) {
  /* IE10 */
  iframe[src^="https://www.youtube.com"],
  iframe[src^="https://www.vimeo.com"] {
    width: 558px;
    height: 402px;
    max-width: 100%;
    max-height: 100%;
  }
}

/* overwrite Album */
.ngg-album {
  border: 0;
}

.ngg-thumbnail img {
  border: 0;
  margin: 0;
  background: none !important;
  padding: 0;
}

.ngg-galleryoverview.default-view .ngg-gallery-thumbnail img:hover {
  transition: none !important;
}

.ngg-description p:empty,
.ngg-album-gallery-image-counter {
  display: none;
}

/* Events
--------------------------------------------- */
.event_calender_list.event_calender_list {
  margin-top: 4em;
}

.event_calender_list li {
  margin: -15px;
  padding: 1em 15px 2em;
  border-top: 1px solid #dfe3e5;
  overflow: hidden;
  /* .event_column_text > a */
  background: #fff;
  /* .event_column_text > a */
}

.event_calender_list h2 {
  font-weight: 700;
  margin-block-start: 0em;
  margin-block-end: 0em;
}

.event_column_image {
  /* hide post image (image not in design) */
  display: none;
}

.event_calender_list li:last-child {
  border-bottom: 1px solid #dfe3e5;
}

@media (min-width: 880px) {
  .event_calender_list li {
    margin-right: -40px;
    margin-left: -40px;
    padding-right: 40px;
    padding-left: 40px;
    gap: 40px;
  }
}

.event_calender_list li::before {
  display: none;
}

.event_calender_list .event_column_image {
  position: relative;
  z-index: 1;
  width: 30%;
  flex: 1;
  pointer-events: none;
}

.event_column_text {
  flex: 2;
}

.event_column_image:empty + .event_column_text {
  display: none;
}

/* time: separate line */
.event-categories-kalender p:first-child > i {
  font-size: .9em;
  font-style: normal;
  color: #666;
  white-space: nowrap;
  font-weight: normal;
}

/* Event Link spanning li */
.event_column_text > a {
  display: block;
  transition: background .2s, color .2s;
  border: solid transparent;
  border-width: 80em 80vw 40em 100px;
  margin: -80em -80vw -40em -100px;
}

.event_column_text > a:hover,
.event_column_text > a:focus {
  background: #a9d446;
  transition: none;
  color: #fff;
  text-decoration: none;
  /* lighter text */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.event_column_text > a:active {
  background: #85b615;
}

.event_column_text > a:before {
  content: '> ';
}

/* hide empty ps */
.event_column_text > p:empty {
  display: none;
}

/* Calender items
--------------------------------------------- */
/* integrated into _events.scss */
/* Gallery items
--------------------------------------------- */
ul.gallery_list img.event_image {
  width: 300px;
  height: auto;
}

/* overwritten by plugin, don't bother */
/*.ngg-galleryoverview.default-view {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 56px;
} */
.ngg-galleryoverview.default-view .ngg-gallery-thumbnail img {
  transition: opacity .1s;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Tables Tablepress
--------------------------------------------- */
.dataTables_wrapper {
  position: relative;
}

.dataTables_wrapper .column-filter-widgets {
  background-color: #f6faea;
}

@media (min-width: 880px) {
  .column-filter-widgets,
  .dataTables_filter {
    padding-right: 40px;
    padding-left: 40px;
    margin-left: -40px;
    margin-right: -40px;
  }
}

.dataTables_wrapper > .column-filter-widgets {
  text-align: center;
}

.dataTables_wrapper .column-filter-widget {
  display: inline-block;
  float: none !important;
}

.dataTables_filter {
  text-align: center;
  background-color: #f6faea;
}

.dataTables_filter .input {
  content: 'Suchen';
}

@media (min-width: 880px) {
  .dataTables_filter {
    position: absolute;
    top: 1em;
    left: 0;
    right: 0;
  }
}

.tablepress {
  width: 100%;
  font-size: 14px;
  line-height: 18px;
  /* px, because of different font-sizes that have to align */
}

.tablepress br + br {
  display: none;
}

@media (min-width: 70em) {
  .tablepress {
    font-size: 18px;
    line-height: 25px;
    /* px, because of different font-sizes that have to align */
  }
}

/* table filter */
@media (min-width: 880px) {
  .column-filter-widget {
    padding-bottom: 40px;
  }
}

/* table search */
.dataTables_filter.dataTables_filter {
  float: none;
}

.dataTables_wrapper .dataTables_filter.dataTables_filter input {
  margin: 0;
}

.dataTables_filter label {
  /* hide text */
  font-size: 0;
}

.dataTables_wrapper .dataTables_filter.dataTables_filter input::placeholder {
  color: #85b615;
}

@media (min-width: 880px) {
  .dataTables_wrapper .dataTables_filter.dataTables_filter input::placeholder {
    font-size: 22px;
  }
}

.dataTables_filter input {
  padding-left: 10px;
  padding-right: 10px;
  font-size: 14px;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAASCAYAAAC9+TVUAAAArklEQVR4AWLABVq3iQJqJaMaBkIgCtbCWcACFtCCBSxgAQtowQIWsNBum/0gk+UKSUsyP/eWgUfOvVnldxu9UIQhPCeqEHYECRst8omgCkkpFNnddUBrBKsmKgYO5FVI0XxThl2D9viy5moI0HX/8d3PJU0/9g1JNevAnm4EYZorDC9hUEQBZrx1SsQP1YWsfOqCuLpuxGkWY0d06Rs141ZO8IbofP1LVBEfi5LgXs7rKcGgp6cMAAAAAElFTkSuQmCC") no-repeat 90% 50%;
  border-bottom: 2px solid #85b615 !important;
  outline: 0 !important;
  transition: background-color .218s;
}

@media (max-width: 879px) {
  .dataTables_wrapper input {
    display: block !important;
    width: 100% !important;
  }
}

@media (min-width: 880px) {
  .dataTables_wrapper input[type="search"] {
    width: 24em;
  }
}

.dataTables_filter input:placeholder-shown {
  background-color: transparent;
}

.dataTables_filter input:focus {
  border: 0;
  background-color: #f6faea;
}

.column-filter-widgets {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

@media (min-width: 880px) {
  .column-filter-widgets {
    padding-top: 4em;
  }
}

.column-filter-widget {
  position: relative;
  vertical-align: top;
}

.column-filter-widget select {
  margin: 4px !important;
  transition: opacity .218s;
  box-shadow: none;
  outline: 0 !important;
  padding: .2em;
  background: #85b615;
  width: 41vw;
}

/* hide empty (non-functional) select options */
.column-filter-widget option[value=''] {
  display: none;
}

.column-filter-widget select[disabled] {
  opacity: .4;
}

@media (min-width: 880px) {
  .column-filter-widget select {
    font-size: 18px;
    width: 8.4em;
  }
}

.column-filter-widget option {
  border: 0;
}

.column-filter-widget > a.filter-term.filter-term.filter-term {
  text-align: left;
  font-size: 0;
  position: absolute;
  top: 2px;
  /* make filter-switches overlap but easily clickable */
  height: 30px;
  line-height: 24px;
  counter-increment: count_filters;
  text-decoration: none !important;
  top: 0;
  right: 2px;
}

@media (min-width: 880px) {
  .column-filter-widget > a.filter-term.filter-term.filter-term {
    top: 30px;
    left: 0;
    position: relative;
    margin-top: -30px;
  }
}

.column-filter-widget > a.filter-term:before {
  background-color: rgba(246, 250, 234, 0.7);
  content: "× Filter löschen (" counter(count_filters) ")";
  font-size: 12px;
  border-radius: 2px;
  padding: .2em;
}

/* title rows */
.tablepress thead th,
.tablepress tfoot th {
  background-color: #ffffff;
  color: #9ccef3;
  font-weight: 500;
}

.tablepress .sorting:hover,
.tablepress .sorting_asc,
.tablepress .sorting_desc {
  background-color: #ffffff;
}

/* disable sorting on «Informationen» */
th.sorting:last-child {
  pointer-events: none;
}

th.sorting:last-child:after {
  display: none;
}

.tablepress td.column-2 {
  font-weight: 700 !important;
}

.tablepress.tablepress tfoot th,
.tablepress.tablepress thead th {
  font-size: 14px;
  padding-top: 12px;
  padding-bottom: 12px;
  /* this has to overwrite default.css */
  font-weight: 500;
  color: #83c2f0;
  background: none !important;
}

/* rows */
.tablepress td:first-child {
  font-weight: 700;
}

@media (min-width: 880px) {
  .tablepress td:first-child {
    max-width: 19em;
  }
  .tablepress td:nth-child(2) {
    max-width: 18em;
  }
}

@media (min-width: 880px) {
  .tablepress td:first-child {
    font-size: 21px;
  }
}

@media (max-width: 879px) {
  thead > tr:first-child {
    /* no sense in filtering columns */
    display: none;
  }
  .tablepress td:first-child {
    padding-top: 0.7em !important;
    border-top: 1px solid #ddd !important;
  }
  .tablepress tr:first-child > td:first-child {
    border: 0 !important;
    margin-top: 1.4em;
  }
}

.tablepress td:last-child {
  hyphens: auto;
  padding-right: 1em;
}

.tablepress td:last-child > a {
  hyphens: none;
}

/* use b-tag to make nicer heading for table */
.tablepress td:first-child > b {
  display: block;
  white-space: nowrap;
  padding-top: .5em;
  margin-bottom: -1em;
  color: #83c2f0;
  font-weight: 500;
}

@media (min-width: 880px) {
  .tablepress td:first-child > b {
    font-size: 18px !important;
    margin-bottom: 0;
  }
  /* hover on tr */
}

.tablepress tr + tr > td:first-child > b {
  padding-top: 4em;
}

@media (min-width: 880px) {
  .dataTables_scroll {
    margin-left: -40px !important;
    margin-right: -40px !important;
  }
}

@media (min-width: 880px) {
  .tablepress th:first-child,
  .tablepress td:first-child {
    padding-left: 40px;
    margin-left: -40px;
  }
}

/* MObile view tables */
@media (max-width: 879px) {
  .tablepress tr,
  .tablepress td {
    display: block;
    border: 0 !important;
  }
  .tablepress tr {
    padding-top: 1.4em;
  }
  .tablepress td {
    padding: 0 !important;
  }
  .tablepress tr + tr > td:first-child {
    padding-top: 1.4em !important;
  }
}

/* Hack: translation */
/* TODO daniel: remove when done */
.dataTables_scrollHeadInner .tablepress th[aria-label^="Contact"] {
  font-size: 0;
}

.dataTables_scrollHeadInner .tablepress th[aria-label^="Contact"]:before {
  content: 'Kontakt';
  font-size: 14px;
  position: relative;
  top: 5px;
}

/* don't render links in addresses */
.tablepress a[href^="mailto:"],
.tablepress a[href^="http"] {
  padding-left: 4em;
  width: 0;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
  position: relative;
  vertical-align: bottom;
}

.tablepress a[href^="mailto:"]:before,
.tablepress a[href^="http"]:before {
  content: 'E-Mail';
  left: 0;
  position: absolute;
}

.tablepress a[href^="http"]:before {
  content: 'Link';
}

/* Forms
--------------------------------------------- */
.wpcf7 form .wpcf7-response-output {
  margin: 0;
  padding: 0;
  border: 0px solid #00a0d2;
  /* Blue */
}

.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450;
  /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: #dc3232;
  /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
  border-color: #f56e28;
  /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: #ffb900;
  /* Yellow */
}

.wpcf7-not-valid-tip {
  color: #a9d446;
  margin-top: 1em;
  font-size: 1em;
  font-weight: normal;
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

ul.category-posts-internal {
  list-style: none !important;
  margin: 0;
  padding-left: 0;
}

ul.category-posts-internal .cat-post-item {
  display: flex;
  flex-direction: column;
}

aside .cat-post-item {
  padding: .5em 0 !important;
  /* post-hack plugin inline styles */
}

@media (min-width: 880px) {
  aside .cat-post-item {
    padding-right: 40px !important;
    /* post-hack plugin inline styles */
  }
}

.menu-sub-menu-container {
  padding: 0 25px 25px 25px;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

li.ngg-album {
  border: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}

@media (min-width: 880px) {
  li.ngg-album {
    margin-left: -40px;
    margin-right: -40px;
  }
}

li.ngg-album::before {
  display: none;
}

.albumoverview {
  padding-top: 2em;
  padding-bottom: 2em;
}

.entry-content > ul.ngg-breadcrumbs {
  display: none;
}

/* TODO: full-width grid */
li.ngg-album > .gallery_link {
  text-decoration: none;
  color: #062533;
  display: block;
  padding: .4em 0;
  border: solid #dfe3e5;
  border-width: 1px 0;
  margin-top: -1px;
}

@media (min-width: 880px) {
  li.ngg-album > .gallery_link {
    font-size: 20px;
  }
}

li.ngg-album > .gallery_link:before {
  content: '>';
  display: inline-block;
  padding: 0 .4em;
}

@media (min-width: 880px) {
  li.ngg-album > .gallery_link:before {
    padding-left: 40px;
  }
}

li.ngg-album > .gallery_link:hover,
li.ngg-album > .gallery_link:focus {
  background: #a9d446;
  border-color: #a9d446;
}

li.ngg-album > .gallery_link:active {
  background: #85b615;
  border-color: #85b615;
}

/* Maps
--------------------------------------------- */
.blue {
  height: calc(350px - 1em);
  width: calc(100vw - 400px);
  overflow: hidden;
  background-color: #0373ba;
  position: relative;
  top: 0;
  left: 50%;
  margin-top: 1em;
}

@media (max-width: 850px) {
  .blue {
    width: calc(100vw);
  }
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

.sl-overlay {
  opacity: 1;
}

.column-filter-widgets {
  padding-bottom: 2em;
  margin-bottom: 2em;
}

.cls-2 {
  clip-path: initial !important;
}
/*# sourceMappingURL=style.css.map */