/*!
Theme Name: Schwingen TG Wordpress Theme
Theme URI: https://schwingen-tg.ch/
Author: Lapala web solutions
Author URI: https://www.lapala.ch/
Description: Custom Wordpress Theme, Design by Annina Hahn
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: schwingentg
Tags:

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

schwingentg 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/
*/

/*--------------------------------------------------------------
>>> 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

--------------------------------------------------------------*/
/* merriweather-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300;
  src: url('webfonts/merriweather-v33-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300;
  src: url('webfonts/merriweather-v33-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  src: url('webfonts/merriweather-v33-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 400;
  src: url('webfonts/merriweather-v33-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* merriweather-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 900;
  src: url('webfonts/merriweather-v33-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #1E6E0A #f1f1f1;
}

/* Chrome, Edge, Safari */

/* Gesamte Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

/* Hintergrund */
::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Scrollbalken */
::-webkit-scrollbar-thumb {
  background-color: #1E6E0A;
  border-radius: 6px;
  border: 2px solid #f1f1f1;
}

/* Hover-Effekt */
::-webkit-scrollbar-thumb:hover {
  background-color: #155508;
}

/* 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: 900;
}

/**
 * 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,
button,
input,
select,
optgroup,
textarea {
	color: #000;
	font-family: Merriweather;
	font-size: 20px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: 0.03em;
	hyphens: auto;
	hyphenate-limit-chars: auto 5;
	hyphenate-limit-lines: 2;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin-top: 0;
}

h1 {
	font-size: 40px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.2;
    text-shadow: none;
    margin-bottom: 10px;
	margin-top: 0;
}

.startrow h1 {
	text-shadow: 0 0 20px #000;
	margin-bottom: 90px;
	font-style: normal;
	font-weight: 900;
}

h2 {
	font-size: 60px;
	font-weight: 900;
	line-height: 86.667%;
	margin-top: 36px;
	margin-bottom: 64px;
}

h3 {
	font-size: 40px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.3;
}

h4 {
	font-size: 34px;
	font-weight: 900;
	line-height: normal;
}

p + h4 {
	margin-top: 70px;
}

h5 {
	font-size: 22px;
	font-weight: 900;
	line-height: 1.36;
    letter-spacing: 0.3em;
	text-transform: uppercase;
    margin-bottom: 0;
}

.textbutton_col h5 {
    letter-spacing: 0;
    text-transform: none;
    margin-bottom: 20px;
}

#vorstand h5 {
    margin-top: -80px;
    margin-bottom: 30px;
}

h6 {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
    letter-spacing: 0.17em;
	text-transform: uppercase;
	margin-bottom: 45px;
}



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

p + ul {
    margin-top: -0.5em;
}

#hinweise iframe {
	margin-bottom: 30px;
}

.lead {
	font-size: 24px;
	font-style: italic;
	line-height: 1.41;
}

.small {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.42;
}


/* Inhalt */
.inhalt p,
.akkordeon__content p {
	margin-bottom: 0.5em;
}

.inhalt h6 {
    margin-bottom: 8px;
	margin-top: 0;
}

.akkordeon__content h6 {
    margin-bottom: 20px !important;
    margin-top: 40px;
}

.inhalt p + h6 {
    margin-top: 44px;
}

.inhalt h6 + h5 {
	margin-bottom: 0;
}

#training h5 {
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.45;
    margin-bottom: 10px;
}

.inhalt h3 + h6 {
    text-transform: none;
    margin-top: -30px;
	margin-bottom: 30px;
    letter-spacing: 0;
}


.inhalt img.size-large {
    margin-top: 80px;
    margin-bottom: 140px;
}




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

.site-main ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0px;
}

.site-main ul li:not(.card) {
    position: relative;
    padding-left: 20px;
}

.site-main ul li::before {
    content: "–";
    position: absolute;
    left: 0;
}

.site-main ul.event_beitraege li::before {
  content: "";
}


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

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

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

figure {
	margin: 1em 0;
}

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

/* Links
--------------------------------------------- */
a {
	color: #1E6E0A;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: 6%;
	text-underline-offset: 17.5%;
	text-underline-position: from-font;
}

.inhalt a {
	font-style: italic;
}

a:visited {
	color: #1E6E0A;
}

a:hover,
a:focus,
a:active {
	color: #000;
	text-decoration: none;
}

a:focus {
	outline: thin dotted;
}

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

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	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: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

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: 1px solid #ccc;
}

textarea {
	width: 100%;
}





/* Gravity Form */

.gform-theme--foundation h5 {
	margin-top: 40px;
}

.site .gform-theme--api, 
.site .gform-theme--foundation {
    --gf-form-gap-x: 26px;
    --gf-form-gap-y: 20px;
}

#primary .gfield_description {
    font-size: 20px;
    color: #000;
}

#primary .gfield_description.validation_message.gfield_validation_message {
    font-size: 13px;
    color: red;
}

#primary .gform-theme--framework .gfield--type-choice .gchoice, 
#primary .gform-theme--framework .gfield--type-choice .ginput_container_consent {
    cursor: pointer;
  	align-items: center;
}

#primary .gfield--type-select .gform-field-label {
    color: #000;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 1.4px;
	text-transform: uppercase;
    margin-top: 10px;
    margin-bottom: 0;
    gap: 0;
}

#primary .gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), #primary .gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    width: 25px;
    height: 25px;
    border: 2px solid #1E6E0A;
    background: #fff;
    border-radius: 0;
	outline: none;
}

#primary .gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before, 
#primary .gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before {
    opacity: 0;
}

#primary .gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked, 
#primary .gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked {
    background: #1E6E0A;
}

#primary .gchoice:has(input:checked) label {
    color: #000;
}


.gform-theme--framework h4 {
    margin-top: 20px;
    margin-bottom: 25px;
	
}

.gform-theme--framework h5 + .small,
.reqiured_message {
	font-style: italic;
	margin-top: 10px;
}

p.gform_required_legend {
    display: none !important;
}

/* =========================
   Gravity Forms – Textfelder
   ========================= */

#primary .gform-theme--framework input[type="text"],
#primary .gform-theme--framework input[type="email"],
#primary .gform-theme--framework input[type="tel"],
#primary .gform-theme--framework input[type="url"],
#primary .gform-theme--framework input[type="number"],
#primary .gform-theme--framework input[type="password"],
#primary .gform-theme--framework input[type="search"],
#primary .gform-theme--framework input[type="date"],
#primary .gform-theme--framework textarea,
#primary .gform-theme--framework select {
	background: #fff;
	color: #000;
	padding: 12px 0;
	border: none;
	border-bottom: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
	border-radius: 0;
	box-shadow: none;
	outline: none;

	font-size: 20px;
	font-style: normal;
	line-height: normal;
    min-height: 46px;
}

/* Fokus */
#primary .gform-theme--framework input[type="text"]:focus,
#primary .gform-theme--framework input[type="email"]:focus,
#primary .gform-theme--framework input[type="tel"]:focus,
#primary .gform-theme--framework input[type="url"]:focus,
#primary .gform-theme--framework input[type="number"]:focus,
#primary .gform-theme--framework input[type="password"]:focus,
#primary .gform-theme--framework input[type="search"]:focus,
#primary .gform-theme--framework input[type="date"]:focus,
#primary .gform-theme--framework textarea:focus,
#primary .gform-theme--framework select:focus {
	border: none;
	border-bottom: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
	box-shadow: none;
	outline: none;
}

/* =========================
   Placeholder
   ========================= */


#primary .gform-theme--framework input::placeholder,
#primary .gform-theme--framework textarea::placeholder {
	color: #1E6E0A;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	opacity: 1;
}

/* Browser-Präfixe falls nötig */
#primary .gform-theme--framework input::-webkit-input-placeholder,
#primary .gform-theme--framework textarea::-webkit-input-placeholder {
	color: #1E6E0A;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}

#primary .gform-theme--framework input::-moz-placeholder,
#primary .gform-theme--framework textarea::-moz-placeholder {
	color: #1E6E0A;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	opacity: 1;
}



/* =========================
   Select
   ========================= */

#primary .gform-theme--framework select {
	font-size: 14px;
	line-height: 1.35;
	color: #1E6E0A !important;
    padding: 0;
    display: flex;
    align-items: center;
}

#primary .gform-theme--framework select:valid {
	font-size: 20px;
	color: #000;
	letter-spacing: 0;
}

/* Standard Select-Pfeil entfernen */
#primary .ginput_container_select select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  /* Dein SVG als Hintergrund */
  background-image: url('images/Select-gruen.svg');
  background-repeat: no-repeat;

  /* Position: 3px von rechts, 10px von unten */
  background-position: right 3px bottom 10px;

  /* Optional: Größe des SVG */
  background-size: 16px;
  
  /* Platz schaffen, damit Text nicht überlappt */
  padding-right: 30px;
}

/* =========================
   Submit Button wie .button
   ========================= */

#primary .gform-theme--framework .gform_footer,
#primary .gform-theme--framework .gform_page_footer {
	display: flex;
	justify-content: center;
	margin: 60px 0;
}

#primary .gform-theme--framework input[type="submit"],
#primary .gform-theme--framework button[type="submit"],
#primary .gform-theme--framework .gform_button {
	padding: 16px 26px 14px 26px;
    height: 70px !important;
	background: #fff;
	color: #1E6E0A;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: 1.76px;
	text-transform: uppercase;
	cursor: pointer;
	border: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
	transition: all 0.3s ease;
}

#primary .gform-theme--framework input[type="submit"]:hover,
#primary .gform-theme--framework button[type="submit"]:hover,
#primary .gform-theme--framework .gform_button:hover {
	background: #1E6E0A;
	color: #fff;
}




#primary .gform-theme--framework .gform-field-label>.gfield_required:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), 
#primary .gform-theme--framework.gform_editor legend.gform-field-label>span>.gfield_required:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    color: #000;
}




.gform_confirmation_message {
    margin-bottom: 30px;
}




.gfield .linie {
	border: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
    margin-top: 60px;
    margin-bottom: 20px;
}

.gfield .abstand60 {
	height: 60px;
}



/*--------------------------------------------------------------
# Inserate Custom Layout
--------------------------------------------------------------*/

.inserat-optionen {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.inserat-block {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.inserat-visual {
	position: relative;
}


/* 1 Seite */
.visual-a4-ganz {
	height: 210px;
	width: 100%;
	background-image: url(images/Inserat_1seitig.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	
}

/* 1/2 Seite */
.visual-a4-halbe {
	height: 210px;
	width: 100%;
	background-image: url(images/Inserat_1_2seitig.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}


/* 1/3 Seite */
.visual-a4-drittel {
	height: 210px;
	width: 100%;
	background-image: url(images/Inserat_1_3seitig.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}


/* 1/4 Seite */
.visual-a4-viertel {
	height: 210px;
	width: 100%;
	background-image: url(images/Inserat_1_4hoch.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}

.inserat-content p {
	margin: 0;
}

.inserat-choice {
	display: flex;
	align-items: center;
	gap: 18px;
	cursor: pointer;
	margin-top: 8px;
}

.inserat-choice input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.choice-indicator {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 2px solid #1E6E0A;
	background: transparent;
	flex-shrink: 0;
}

.choice-indicator.filled {
	background: #1E6E0A;
}

.inserat-choice input[type="radio"]:checked + .choice-indicator {
	background: #1E6E0A;
}

.choice-text {
	display: inline-block;
}










/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

.site-header {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 999;
    background: transparent;
}

.site-header.small {
    background: rgba(255, 255, 255, 0.85);
}


.site-header .container {
	display: flex;
	align-items: flex-start;
}

.site-branding {
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
	transition: all ease-in 300ms;
    margin-left: 27px;
}

.parent-pageid-49 .site-branding {
    background: #fff;
}

.small .site-branding {
	padding-top: 0;
	padding-bottom: 0;
	box-shadow: none;
}

.site-branding a {
	display: block;
	width: 110px;
	height: 85px;
	background-image: url(images/Logo_TKSV.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: all ease-in 300ms;
}

.small .site-branding a {
	height: 56px;
}

.page-id-54 .site-branding a {
    background-image: url(images/Logo_BRH.svg);
}
.page-id-56 .site-branding a {
    background-image: url(images/Logo_UTG.svg);
}
.page-id-58 .site-branding a {
    background-image: url(images/Logo_HTG.svg);
}
.page-id-60 .site-branding a {
    background-image: url(images/Logo_OTG.svg);
}
.page-id-62 .site-branding a {
    background-image: url(images/Logo_OTT.svg);
}





/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
    margin-left: auto;
    margin-top: 40px;
	margin-bottom: 12px;
	transition: all ease-in 300ms;

}

.small .main-navigation {
    margin-top: 12px;
}

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

.main-navigation ul ul {
    display: block;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
    background: #fff;
    padding: 10px;
    margin-left: -10px;
    overflow-y: auto;
}

.main-navigation ul ul li.menu-item-has-children a {
    padding-left: 23px;
	position: relative;
}

.main-navigation ul ul li.menu-item-has-children > a:before {
	content: '';
	position: absolute;
	width: 14px;
	height: 7px;
	background-image: url(images/Dropdown-schwarz.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	left: 0;
    top: 13px;
}

.main-navigation ul ul li.menu-item-has-children:hover > a:before {
	background-image: url(images/Dropdown-gruen.svg);
}

.main-navigation ul ul li.menu-item-has-children.focus > a:before {
	transform: rotate(180deg);
}

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

.main-navigation ul ul li.focus > ul,
.main-navigation ul ul li.current_page_parent > ul {
	position: relative;
	display: block;
    left: 0;
}

.main-navigation ul ul li.focus > a,
.main-navigation ul ul li.current_page_parent > a {
	font-weight: bold;
}

.main-navigation ul ul a {
	text-transform: none;
	font-weight: 500;
	letter-spacing: 0.03em;
}

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

.main-navigation ul ul li:hover > ul {
	left: -999em;
}

.main-navigation li {
	position: relative;
	margin-right: 23px;
}

.main-navigation ul ul li {
	margin-left: 0px;
	margin-right: 0px;
}

.main-navigation a {
    display: block;
    text-decoration: none;
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
    line-height: 32px;
    letter-spacing: 1.12px;
    text-transform: uppercase;
    white-space: nowrap;
}


.main-navigation a:hover {
	color: #1E6E0A;
}

.main-navigation .current_page_item > a {
	font-weight: bold;
}

/* Small menu. */
.menu-toggle {
	display: block;
}

button.menu-toggle {
    color: #1E6E0A;
    font-family: Merriweather;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: 1.28px;
    text-transform: uppercase;
    background: transparent;
    border: 0;
    position: fixed;
    right: 39px;
    padding: 0;
    top: 24px;
    z-index: 99;
	transition: all ease-in 300ms;
}

.small button.menu-toggle {
    top: 20px;
}

.menu-open button.menu-toggle {
    top: 17px;
    font-size: 0;
    width: 16px;
    height: 16px;
    background-image: url(images/Close-weiss.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 0;
}





@media screen and (min-width: 981px) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
	
	.hidedesktop {
		display: none;
	}
}





















/* Container des neuen Anchor-Menüs */
.anchor-subnav-wrap {
	position: relative;
	z-index: 990;
	margin-top: 30px;
	margin-bottom: -6px;
}

.anchor-subnav-placeholder {
	display: none;
}

.anchor-subnav {
	position: relative;
	z-index: 995;
	background: #fff;
}

.anchor-subnav.is-fixed {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 9998;
}

.anchor-subnav-inner {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.site-main .anchor-subnav-list {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap 5px;
	flex-wrap: nowrap;
	list-style: none;
	margin: 0;
	padding: 0 15px;
	min-width: max-content;
}

.anchor-subnav-list li {
	flex: 0 0 auto;
}

.anchor-subnav-list a, .anchor-subnav-top {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 9px 14px 6px 14px;
	white-space: nowrap;
	text-decoration: none;
	background: #fff;
	color: #1E6E0A;
	font-family: Merriweather;
	font-size: 16px;
	font-style: normal;
	font-weight: 900;
	line-height: normal;
	letter-spacing: 1.28px;
	text-transform: uppercase;
}

.anchor-subnav-list a:hover {
	color: #000;
}


.anchor-subnav-top {
	display: none;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	border: 0;
	width: 11px;
	height: 23px;
}

.anchor-subnav.is-fixed .anchor-subnav-top {
	display: block;
}

.has-anchor-subnav [id] {
	scroll-margin-top: 140px;
}

@media (max-width: 767px) {
	.anchor-subnav-list a,
	.anchor-subnav-top {
		min-height: 48px;
		padding: 0 14px;
		font-size: 14px;
	}
}

.anchor-subnav a.mPS2id-highlight {
	background: #1E6E0A;
	color: #fff;
}

.anchor-subnav a.mPS2id-highlight-first {
	background: #1E6E0A;
	color: #fff;
}

.anchor-subnav-inner {
	scroll-behavior: smooth;
}

.anchor-subnav-list a {
	scroll-margin-inline: 16px;
}


.site-main .anchor-subnav ul li::before {
	content: "";
}

.site-main .anchor-subnav ul li {
    padding-left: 0;
}





















.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	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%;
}

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

.post,
.page {
	margin: 0;
}

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

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

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

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

.bypostauthor {
	display: block;
}

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

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

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

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* 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;
}

/*--------------------------------------------------------------
# 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;
}




/*--------------------------------------------------------------
# Allgemein
--------------------------------------------------------------*/
html, body {
  overflow-x: hidden;
}

.container {
	width: 100%;
	max-width: 868px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 18px;
}

.container .container {
    padding: 0;
}


.row {
    overflow: hidden;
}

.row-abstandunten {
	padding-bottom: 60px;
}

.row-mitabstand {
	padding-top: 100px;
	padding-bottom: 100px;
}

.row.linieoben,
.row.linieunten,
.row.liniekeine {
	padding-top: 140px;
	padding-bottom: 110px;
}

.row.linieoben {
	position: relative;
	
	border-top: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}
/*
.row.linieoben:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 6px;
	width: 100%;
	background: url(images/Vector-Linie.svg) repeat-x;
    background-size: contain;
}
*/

.linieunten {
	position: relative;
	
	border-bottom: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}
/*
.linieunten:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 6px;
	width: 100%;
	background: url(images/Vector-Linie.svg) repeat-x;
    background-size: contain;
}
*/

.full-right {
	width: calc(100vw - 20px);              /* 20px = container padding-left */
	margin-left: calc(50% - 434px + 20px);         /* 868/2 = 434 */
	margin-right: calc(50% - 50vw);         /* bis ganz rechts raus */
}




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

.bg-gruen {
    position: relative;
}

.bg-gruen:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #1E6E0A;
    top: 0;
    left: 0;
    z-index: -1;
}

.bg-gruen .container {
	max-width: 550px;
}

.bg-gruen h3 {
    font-size: 34px;
    font-style: normal;
    font-weight: 900;
    margin-bottom: 20px;
    margin-top: 30px;
}

.bg-gruen .button-wrap {
    margin-top: 50px;
}



.font-weiss,
.font-weiss a {
    color: #fff;
}

.font-weiss a:hover {
	color: #000;
}

.font-gruen,
.font-gruen a {
    color: #1E6E0A;
}

.font-gruen a:hover {
	color: #000;
}

.startbild {
    line-height: 1;
}

.dreieckuntenlinks {
    position: relative;
}


.dreieck_gross {
    position: absolute;
    inset: 0;
    z-index: 10;
    mix-blend-mode: multiply;
    background: url(images/Start_Hintergrund.svg) no-repeat;
    background-size: cover;
    background-position: bottom center;
    pointer-events: none;
    margin-left: -340px;
}

.home .dreieck_gross {
	margin-left: 0;
}



.dreieckuntenlinks .container.titel {
    z-index: 12;
    position: relative;
    margin-top: 0px;
    pointer-events: none;
}

.dreieckuntenlinks .container.titel h1 {
    position: absolute;
    left: 45px;
    bottom: 30px;
    margin: 0;
    max-width: calc(100% - 65px);
}

.startrow.dreieckuntenlinks .container.inhalt {
    margin-top: 95px;
	margin-bottom: 60px;
}

.dreieckuntenlinks .container.inhalt {
    z-index: 12;
    position: relative;
}


.dreieckuntenlinks .container.inhalt p {
    width: 58.33%;
}

.dreieckuntenlinks .container.inhalt .button-wrap {
    margin-right: 8.33%;
}




.two-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 80px;
}

.col-1:empty {
	display: none;
}

.two-cols > .col {
	min-width: 0;
}


.button-wrap {
  break-after: column; /* Nach dem Button in nächste Spalte */
}




/*--------------------------------------------------------------
# 3D Flipbook
--------------------------------------------------------------*/
.magazin_teaser ._3d-flip-book.fb3d-thumbnail-lightbox-mode {
    transform: rotate(-5deg);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.30);
	margin-left: 50px;
}

.magazin_teaser {
    display: flex;
    align-items: center;
    gap: 77px;
}

.magazin {
    flex-shrink: 0;
    width: 50%;
}




._3d-flip-book.fb3d-fullscreen-mode.full-size {
    margin-bottom: 60px;
}



/* Archiv grid */

.chranzblatt-archiv-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px 10px;
}

.chranzblatt-archiv-item {
	
}

.chranzblatt-archiv-thumb img {
	display: block;
	margin: 0 auto;
    height: 200px;
}

.chranzblatt-archiv-title {
	color: #1E6E0A;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.44; 
	margin-top: 9px;
}


@media screen and (max-width: 767px) {
	.chranzblatt-archiv-grid {grid-template-columns: repeat(3, 1fr);}
	.chranzblatt-archiv-thumb img { height: 150px;}
	.chranzblatt-archiv-title {font-size: 9px;}
}


/*--------------------------------------------------------------
# Bild links Text rechts
--------------------------------------------------------------*/
.row.row-bildtext.linieoben {
    padding-top: 0px;
}

.two-columns {
    display: flex;
    gap: 8px;
}

.bildtext_col {
    width: calc(50% - 4px);
    flex-shrink: 0;
	position: relative;
}

.bildtext_col .bild {
    position: relative;
    padding: 0 18px 25px 20px;
}

.dreieck {
    position: absolute;
    bottom: 0;
    left: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	mix-blend-mode: multiply;

	background: url(images/Dreieck_Hintergrund.svg) no-repeat;
	background-size: contain;
	background-position: bottom left;
	pointer-events: none;
}

.bildtext {
    position: absolute;
    bottom: 40px;
    left: 40px;
    color: #fff;
}

.bildtitel_klein {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.bildtitel_gross {
    text-shadow: 0 0 20px #000;
    font-size: 44px;
    font-weight: 900;
    line-height: 1.18;
    margin-top: 10px;
}


.row.row-bildtext.linieoben .textbutton_col {
    padding-top: 80px;
}





/*--------------------------------------------------------------
# Google Map
--------------------------------------------------------------*/

.wpgmza_infowindow_title, .wpgmza_infowindow_address {
    display: none !important;
}

.wpgmza_infowindow_description {
    font-family: 'Merriweather';
}





/*--------------------------------------------------------------
# Counter
--------------------------------------------------------------*/
.row-counter {
	padding-top: 77px;
	padding-bottom: 77px;
    background-image: url(images/Schraffur.svg);
    background-size: cover;
}

.counter-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0 30px;
    margin-top: 30px;
	justify-content: center;
}

.counter-box {
	flex: 1 1 0;
	min-width: 200px;
	text-align: center;
	padding: 30px 20px;
	box-sizing: border-box;
    max-width: 260px;
}

.counter-number {
    font-size: 90px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 20px;
}

.counter-title {
    letter-spacing: 0;
    text-transform: none;
}



/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.row.footer-image {
    line-height: 0;
	position: relative;
	text-align: center;
    min-height: 6px;
}

.footer-image:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 6px;
	width: 100%;
	
	border-bottom: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}


.site-footer {
    padding-top: 50px;
    padding-bottom: 70px;
    background: #1E6E0A;
    font-size: 14px;
    line-height: 1.42;
}

.site-footer a {
	color: #fff;
}

.site-footer p:last-child {
	margin-bottom: 0;
}

.site-footer .container {
    display: flex;
    justify-content: space-between;
}

.footer_social {
    margin-left: auto;
    display: flex;
    flex-direction: column;
}

.social_icons_box {
	margin-top: auto;
	display: flex;
	gap: 10px;
}

a.social_icon {
    width: 30px;
    height: 30px;
    display: block;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

a.social_icon.facebook {
	background-image: url(images/FB_TKSV_weiss.svg);
}
a.social_icon.instagram {
	background-image: url(images/Insta_TKSV_weiss.svg);
}


.footer_credits {
    margin-left: auto;
    max-width: 148px;
    display: flex;
    flex-direction: column;
}

.footer_credits a {
    white-space: nowrap;
}

.foto_credits {
    margin-bottom: 30px;
}

.impressum {
    font-size: 9px;
    line-height: 1.44;
    margin-top: auto;
}

.impressum a {
	text-decoration: none;
}


/*--------------------------------------------------------------
# Sponsoren HomeScreen
--------------------------------------------------------------*/

.sponsoren_tab {
    position: fixed;
    right: 0;
    top: 0;
    width: 240px;
    height: 100vh;
    background-image: url(images/Hintergrund_Saegemehl.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 35px;
    padding-right: 15px;
    z-index: 4;
	
	will-change: transform;
	transform: translate3d(0,0,0);
}


.sponsoren_titel {
    color: #000;
    text-align: center;
    text-shadow: 0 0 20px #FFF;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.45;
}

.sponsoren_kategorie {
    text-align: center;
    padding-top: 31px;
    border-top: 2px solid #000;
    margin-top: 45px;
}

.sponsoren_kategorie.gold-sponsoren {
    border-bottom: 2px solid #000;
    padding-bottom: 31px;
}

.sponsoren_logos {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.sponsor_logo {
    line-height: 0;
}

.platin-sponsor .sponsor_logo img {
    width: 90%;
}

.sponsor_logo img {
	width: 80%;
}

.sponsor_logo:hover img {
	filter: none;
}

.unterverband .sponsoren_kategorie {
    padding-top: 0;
    border-top: 0;
}


.unterverband .sponsoren_tab {
	background: none;
	align-items: flex-start;
}

.unterverband .sponsoren_inner {
    padding-top: 90px;
}

.unterverband .sponsor_logo img {
	filter: grayscale(100%);
    max-width: 120px;
    max-height: 90px;
    height: auto;
    width: auto;
}

.unterverband .sponsor_logo:hover img {
	filter: none;
}

/*--------------------------------------------------------------
# Popup
--------------------------------------------------------------*/
.acf-popup-overlay{
	position: fixed;
	inset: 0;
	display: none; /* wird via JS geöffnet */
	align-items: center;
	justify-content: center;
	padding: 0 18px;
	z-index: 99999;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.acf-popup-overlay.is-open{
	display: flex;
}

/* Popup Box */
.acf-popup {
    position: relative;
    width: min(560px, 100%);
    color: #fff;
	background: rgba(30, 110, 10, 0.8) ;
	mix-blend-mode: multiply;
	box-shadow: 0 0 20px rgba(0,0,0,.75);

}


.acf-popup-inner {
    padding: 53px 10px 10px 30px;
}

.acf-popup-subtitle {
	font-size: 22px;
	font-style: normal;
	font-weight: 900;
	line-height: 1.36; 
	letter-spacing: 6.6px;
	text-transform: uppercase;
}

.acf-popup-title{
	margin: 0 44px 12px 0;
font-size: 44px;
font-weight: 900;
	line-height: 1.2;
	color: #fff;
}

.acf-popup-content{
    font-size: 20px;
    line-height: 1.6;
    color: #fff;
}

.acf-popup-content p:last-child{ margin-bottom: 0; }

.acf-popup-actions{
	margin-top: 16px;
}

.acf-popup-btn.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	border-radius: 0px;
	text-decoration: none;
	font-weight: 600;
	color: #fff;
	background: transparent;
    font-size: 22px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: 1.76px;
    text-transform: uppercase;
    text-align: center;
	transition: transform .08s ease, opacity .2s ease;
    padding: 15px;
	
	border: 6px solid transparent;
	border-image-source: url("images/Button_Line_weiss.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}
.acf-popup-btn.button:visited{ color: #fff; }
.acf-popup-btn.button:hover{ color: #1E6E0A; }

.acf-popup-btn.button::before {
    border-left: 42px solid #fff;
}

/* Close Button (großer Klickbereich, 16x16 Icon) */
.acf-popup-close{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 44px;   /* mobile-friendly hit area */
	height: 44px;
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	border-radius: 10px;
    outline: none;
}
.acf-popup-close:focus{
    outline: none;
}

.acf-popup-x{
	position: relative;
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(images/Close-weiss.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* Optional: bisschen Animation */
.acf-popup{
	transform: translateY(6px);
	opacity: 0;
	transition: transform .18s ease, opacity .18s ease;
}
.acf-popup-overlay.is-open .acf-popup{
	transform: translateY(0);
	opacity: 1;
}

.acf-popup-lottie{
    z-index: -1;
	position: relative;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}
.acf-popup-lottie svg{
	width: 100% !important;
	height: 100% !important;
	display: block;
}




/*--------------------------------------------------------------
# Cards Bilder Startseite
--------------------------------------------------------------*/

.cards {
  position: relative;
  list-style: none;
  padding: 0;
  margin: 180px auto 0;   
}

ul.bilder.cards {
    padding: 0;
}

.card {
  position: absolute;
  inset: 0;
  z-index: 2;

  background: transparent;
  border-radius: 0;
  padding: 0;

  transform: translateY(0) rotate(4deg) translateX(25px) scale(1);
  transform-origin: 0 0;

  transition:
    transform 0.6s cubic-bezier(.8,.2,.1,0.8) 0.1s,
    background 0.4s linear;

  cursor: pointer;
  user-select: none;
}

.card--next {
  z-index: 5;
  transform: translateY(-25px) rotate(4deg) translateX(25px) scale(1);
}

.card--out {
  animation: card-out 0.6s cubic-bezier(.8,.2,.1,0.8);
  transform: translateY(-50px) rotate(8deg) translateX(55px) scale(0.95);
  z-index: 1;
}

@keyframes card-out {
  0%   { z-index: 20; transform: translateY(0px) rotate(-4deg); }
  50%  { transform: translateY(-120%) rotate(-5deg) translateX(-40px); }
  80%  { z-index: 1; }
  100% { transform: translateY(-50px) rotate(8deg) translateX(55px) scale(0.95); }
}

.card--current {
  position: relative;
  z-index: 10;
  transform: rotate(-1deg) translateX(0%) scale(1);
  cursor: pointer;     /* wichtig: current bleibt klickbar */
  user-select: none;
}

/* Ganze Fläche klickbar */
.bild {
  display: block;
  width: 100%;
}

/* Bild-Reset + border-radius 0 */
.bild img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* verhindert Browser-Scroll/Zoom-Gesten auf dem Stapel */
.js-bildstapel {
  touch-action: pan-y; /* vertikal scrollen bleibt möglich, horizontal wird für swipe genutzt */
}

/* während Drag keine Transition, damit’s direkt folgt */
.js-bildstapel.is-dragging .card--current {
  transition: none !important;
}


/*--------------------------------------------------------------
# Button
--------------------------------------------------------------*/

.button-wrap,
#sb_instagram #sbi_load {
    display: flex;
    position: relative;
    overflow: hidden;
    margin: 55px 0 30px;
}

.button-wrap.align-right {
    justify-content: flex-end;
}
.button-wrap.align-left {
    justify-content: flex-start;
}
.button-wrap.align-center {
    justify-content: center;
}

.button,
#sb_instagram .sbi_load_btn {
	position: relative;
	padding: 12px 24px !important;
	background: #fff;
	color: #1E6E0A;
	text-decoration: none;
    max-width: 340px;
	
	font-size: 22px;
	font-style: normal !important;
	font-weight: 900;
	line-height: normal;
	letter-spacing: 1.76px;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	
	border: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
	
	overflow: clip; 
	overflow-clip-margin: 6px;
	
	transition: color 0.3s ease;
}



#sb_instagram .sbi_load_btn {
	background: #fff !important;
	color: #1E6E0A !important;
	
	border: 6px solid transparent !important;
	border-image-source: url("images/Button_Line.svg") !important;
	border-image-slice: 6 !important;
	border-image-repeat: repeat !important;
	   
	text-decoration: none;
    font-size: 22px !important;
}

.button:visited,
#sb_instagram .sbi_load_btn:visited {
	color: #1E6E0A;
}

.button::before,
#sb_instagram .sbi_load_btn:before {
	content: "";
	position: absolute;

	/* Dreieck-Grundform */
	width: 0;
	height: 0;
	border-top: 42px solid transparent;
	border-left: 42px solid #1E6E0A;

	/* über den Rand ziehen (6px Border) */
	bottom: -6px;
	left: -6px;

	transition: border-width 0.4s ease;
	z-index: 0;
}

/* Hover: Dreieck "flutet" */
.button:hover::before,
#sb_instagram .sbi_load_btn:hover::before {
    border-top-width: 450px !important;
    border-left-width: 450px !important;
}

.button:hover {
	color: #fff;
}

#sb_instagram .sbi_load_btn:hover {
	color: #fff !important;
}

.insta_feed #sb_instagram .sbi_load_btn {
    font-size: 16px !important;
    border: 0 !important;
    letter-spacing: 0.08em !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.insta_feed #sb_instagram .sbi_load_btn:hover {
	color: #000 !important;
}

.insta_feed #sb_instagram .sbi_load_btn:before {
	display: none !important;
}

.insta_follow {
    margin-bottom: 90px;
}


.button span,
.sbi_load_btn span {
	position: relative;
	z-index: 1;
}



.font-weiss .button {
	background: #1E6E0A;
	color: #fff;
	
	border: 6px solid transparent;
	border-image-source: url("images/Button_Line_weiss.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}

.font-weiss .button::before {
	border-top: 42px solid transparent;
	border-left: 42px solid #fff;
}

.font-weiss .button:hover {
	color: #1E6E0A;
}




/*--------------------------------------------------------------
# Termin Slider
--------------------------------------------------------------*/
.termin_slider {
    margin-bottom: 0px;
}

article.termin-entry {   
	position: relative;
    max-width: 269px;
    margin-right: 22px;
	text-align: center;
}

.termin-date {
    font-size: 60px;
    font-weight: 900;
    line-height: 1;
}

.termin-date span {
    margin-left: 2px;
    margin-right: 5px;
}

h3.termin-title {
    font-size: 30px;
    line-height: 1.33;
    font-weight: bold;
    font-style: normal;
    margin-top: 12px;
    margin-bottom: 5px;
}





/*--------------------------------------------------------------
# Alle Termine
--------------------------------------------------------------*/
.alle_termine {
    margin-top: 55px;
}

.alle_termine article.termin-entry {
    position: relative;
    max-width: 100%;
    margin-right: 0;
    text-align: left;
    margin-bottom: 35px;
}

.alle_termine .termin-date {
    font-size: 1em;
    font-weight: 400;
    line-height: 1.6;
}

.alle_termine h3.termin-title {
    font-size: 40px;
    margin-top: 0;
    margin-bottom: 0;
}





/*--------------------------------------------------------------
# Alle Beiträge
--------------------------------------------------------------*/
.alle_beitraege {
    margin-top: 90px;
}

.alle_beitraege article.news-entry {
    max-width: 100%;
    margin-right: 0;
    box-shadow: none;
    margin-bottom: 55px;
}

.alle_beitraege .news-entry .news-thumb {
    padding: 0 18px;
}

.alle_beitraege .news-dreieck {
    width: 200px;
    height: 200px;
}

.alle_beitraege .news-entry h4 {
    padding-left: 0;
    padding-right: 0;
    margin-top: 20px;
	margin-bottom: 0;
}




/* Pagination */
.news-pagination {
	margin-top: 2rem;
	display: flex;
	justify-content: center;
}

.news-pagination .page-numbers {
	list-style: none;
	display: flex;
	gap: 0.5rem;
	padding: 0;
	margin: 0;
}

.news-pagination .page-numbers li {
	display: inline-block;
}

.news-pagination .page-numbers a,
.news-pagination .page-numbers span {
	display: block;
	padding: 0.5rem 0.8rem;
	text-decoration: none;
	border: 1px solid #1E6E0A;
	font-size: 14px;
	color: #333;
	background: #fff;
	transition: all 0.2s ease;
}

/* Hover */
.news-pagination .page-numbers a:hover {
	background: #1E6E0A;
	color: #fff;
}

/* Aktive Seite */
.news-pagination .page-numbers .current {
	background: #1E6E0A;
	color: #fff;
	font-weight: bold;
}

/* Punkte (...) */
.news-pagination .page-numbers .dots {
	border: none;
	background: transparent;
	padding: 0.5rem 0.3rem;
	color: #1E6E0A;
}

/* "Weiter" Button optional hervorheben */
.news-pagination .page-numbers .next {
	font-weight: 500;
	color: #1E6E0A;
}



/*--------------------------------------------------------------
# News Slider
--------------------------------------------------------------*/
.row-slick {
  --container-max: 872px;
  --container-pad-l: 20px;

  /* nie negativ werden lassen, falls viewport kleiner als container-max */
  --gutter-left: max(var(--container-pad-l),
                     calc((100vw - var(--container-max)) / 2 + var(--container-pad-l)));
}

.slick-list{
  padding-left: var(--gutter-left);
}


.slick-track {
    margin-left: 0;
}

.post_slider {
    margin-bottom: 80px;
}

.post_slider .slick-track {
  display: flex !important;
}

/* Jede Slide gleich hoch */
.post_slider .slick-slide {
  height: auto;
  display: flex !important;
}

article.news-entry {   
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
    max-width: 280px;
    margin-right: 30px;
	padding-bottom: 36px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.30);
}

article.news-entry:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 6px;
    width: 100%;
	
	border-bottom: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}

.news-link {   
	display: flex;
	flex-direction: column;
	height: 100%;
}

.news-meta {
	position: relative;
    display: flex;
    font-size: 14px;
    line-height: 1.42;
	padding: 4px 10px 4px 0px;
}

.news-dreieck {
	position:absolute;
	bottom: 0;
	left: 0;
	width: 123px;
	height: 123px;
	mix-blend-mode: multiply;

	background: url(images/Dreieck_Hintergrund.svg) no-repeat;
	background-size: contain;
	background-position: bottom left;
	pointer-events: none;
}

time.news-date {
    color: #fff;
	padding-left: 10px;
    z-index: 1;
}

span.news-category {
    margin-left: auto;
    color: #1E6E0A;
}

.news-entry h4 {
	padding-left: 24px;
	padding-right: 19px;
	margin-top: 28px;
	
    color: #000;
}

.list_titel h4 {
	color: #000;
}

.news-entry a {
	text-decoration: none;
}


.news-readmore {
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 900;
	line-height: normal;
	letter-spacing: 1.28px;
	text-transform: uppercase;
  margin-top: auto;
	color: #1E6E0A;
}

.news-link:hover .news-readmore {
	color: #000;
}









/*--------------------------------------------------------------
# News Single
--------------------------------------------------------------*/
.single-termin .site-main {
    margin-top: 130px;
}

h1.entry-title {
    font-style: normal;
    font-weight: 900;
}


.single span.news-category {
    margin-left: 0;
    margin-bottom: 30px;
}

.single .news_intro {
    margin-bottom: 30px;
}

.single .entry-content {
    margin-top: 35px;
}




/* Slider */

.post_image_slider {
    margin-bottom: 40px;
}
.slider_caption {
    margin-top: 6px;
}

.slick-prev, .slick-next {
    width: 24px;
    height: 48px;
    right: 8px;
    bottom: 18px;
    top: auto;
    z-index: 2;
}

.slick-prev {
    left: 8px;
}

.slick-prev:before, .slick-next:before {
	content: '';
    display: block;
	opacity: 1;
	width: 100%;
	height: 100%;
	background-image: url(images/Slider-Pfeil-gruen.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.slick-prev:before {
	transform: rotate(180deg);
}




.slick-dots {
    bottom: 50px;
}

.slick-dots li {
    width: 12px;
    height: 12px;
    margin: 0px 6px;
}

.slick-dots li:before {
	display: none;
}

.slick-dots li button {
    width: 12px;
    height: 12px;
    padding: 0;
    background: #1E6E0A;
    border-radius: 0;
}

.slick-dots li.slick-active button {
	background: #fff;
}

.slick-dots li button:before {
	content: '';
	display: none;
}

/* Autoren */

.autoren-wrapper {
	display: flex;
	align-items: center;
	gap: 20px;
}

.autoren-bilder {
	display: flex;
}

.autoren-bilder img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 50%;
	margin-left: -20px; /* überlappen */
}

.autoren-bilder img:first-child {
	margin-left: 0;
	z-index: 1;
}

.autoren-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}









.single .site-main {
    margin-bottom: 80px;
}

.rl-gallery-container {
    margin-bottom: 30px;
}


/* Share Whatsapp */
.share_whatsapp {
    padding-bottom: 33px;
    margin-bottom: 100px;
}


.share_whatsapp a {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.share_whatsapp a span {
	margin-right: 17px;
}


/*--------------------------------------------------------------
# Termin Single
--------------------------------------------------------------*/
.single-termin .site-main {
    margin-top: 130px;
}

.event_datum {
    margin-bottom: 15px;
}

.event_ics_link {
    margin-top: 30px;
    margin-bottom: 50px;
}

.event_inhalt {
    margin-bottom: 50px;
}

a.kalender-link {
    color: #1E6E0A;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 1.28px;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: flex-end;
	gap: 18px;
}

a.kalender-link:hover {
    color: #000;
}

a.kalender-link:hover .kalender-icon svg path {
    stroke: #000;
}

span.kalender-icon {
    position: relative;
    width: 36px;
    height: 42px;
    display: inline-block;
}

span.kalender-tag {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 7px;
    margin-left: 1px;
}




ul.event_beitraege {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 100px;
}

ul.event_beitraege a {
    text-decoration: none;
}

.list_beitrag {
    display: flex;
    gap: 20px;
    padding-bottom: 30px;
    margin-bottom: 40px;
}

.list_bild {
	position: relative;
    width: 33%;
    min-width: 106px;
    aspect-ratio: 1;
    flex-shrink: 0;
	background: #1E6E0A;
}

.list_bild img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-position: center;
    object-fit: cover;
}

.list_titel {
    width: 100%;
}

.list_datumkat {
    display: flex;
	margin-bottom: 10px;
    color: #1E6E0A;
}

.list_kat {
    margin-left: auto;
}






/*--------------------------------------------------------------
# Unterverband Seite
--------------------------------------------------------------*/

.row.startrow {
    padding-bottom: 40px;
}



.insta_feed {
    margin-top: 30px;
}











/*--------------------------------------------------------------
# Dokumente
--------------------------------------------------------------*/
.dokumente-grid {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 37px;
    align-items: flex-start;
    padding-left: 8px;
}

.dokument-item {
    display: inline-grid;
    width: min-content;   /* entscheidend */
    text-decoration: none;
}

.dokument-bild {
    margin-bottom: 18px;
}

.dokument-bild img {
    display: block;
    height: 250px;
    width: auto;
    max-width: none;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.30);
}

.dokument-titel {
    line-height: 1.3;
    white-space: normal;
}




/*--------------------------------------------------------------
# Vorstand
--------------------------------------------------------------*/

.person-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 55px 20px;
    word-wrap: break-word;
}

.person-grid > * {
    min-width: 0;
}

.person__media {
    line-height: 0;
    margin-bottom: 30px;
}

.person h6 {
    margin-bottom: 8px !important;
	margin-top: 0 !important;
}

.person h4 {
	font-size: 22px;
	line-height: 1.45;
	margin: 0;
}

.person p {
	margin-bottom: 0;
}

.person__email,
.person__telefon,
.person__zusatztext {
    font-size: 14px;
}

.person a {
    font-style: italic;
}




/* Funktionäre */

.funktionaere, .personen {
    margin-top: 20px;
    column-count: 2;
}

@media screen and (max-width: 767px) {
	.funktionaere, .personen { column-count: 1;}
}

.funktionaere .person,
.personen .person {
    break-inside: avoid;
	margin-bottom: 30px;
}






/* Präsidenten auf Kontakt */
.vorstand-liste {
    margin-top: 80px;
}

.vorstand-eintrag {
    margin-bottom: 90px;
}

.vorstand-eintrag:last-child {
    margin-bottom: 0px;
}



/* TL Liste */
.tl-eintrag {
    margin-bottom: 30px;
}


/*--------------------------------------------------------------
# Aktivschwinger Karten Slider
--------------------------------------------------------------*/
.aktivschwinger-grid .slick-list {
	padding-top: 30px;
	padding-bottom: 30px;
}

.aktivschwinger-card-wrap {
	--rot: 0deg;
	transform: rotate(var(--rot));
}

/* 6er-Muster */
.aktivschwinger-card-wrap:nth-child(6n + 1) { --rot:  2.2deg; }
.aktivschwinger-card-wrap:nth-child(6n + 2) { --rot: -3.1deg; }
.aktivschwinger-card-wrap:nth-child(6n + 3) { --rot:  1.5deg; }
.aktivschwinger-card-wrap:nth-child(6n + 4) { --rot: -3.8deg; }
.aktivschwinger-card-wrap:nth-child(6n + 5) { --rot:  1.3deg; }
.aktivschwinger-card-wrap:nth-child(6n + 6) { --rot: -1.9deg; }



.aktivschwinger-card-wrap {
	--rot: 0deg;
	perspective: 1200px;
	transform: rotate(var(--rot));
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
}
.aktivschwinger-card {
	position: relative;
	width: 100%;
	min-height: 640px;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
	transition: transform 0.7s ease;
	cursor: pointer;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.30);
}

.aktivschwinger-card.is-flipped {
	transform: rotateY(180deg);
}

.aktivschwinger-face {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	overflow: hidden;

	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;

	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;

	border-bottom: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}

.aktivschwinger-face.front {
	transform: rotateY(0deg);
}

.aktivschwinger-face.back {
	transform: rotateY(180deg);
	padding: 26px 26px 6px;
}

.aktivschwinger-total {
	font-size: 22px;
	font-weight: 900;
	line-height: 1.36;
	color: #fff;
	position: absolute;
	bottom: 30px;
	left: 20px;
	z-index: 1;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.aktivschwinger-image {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	padding-bottom: 18px;
}

.aktivschwinger-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.aktivschwinger-name {
	font-size: 44px;
	font-weight: 900;
	margin: 18px 0 14px;
	line-height: 1.18;
	white-space: pre-line;
}

.aktivschwinger-name span {
	display: block;
}

.aktivschwinger-face.back .aktivschwinger-name {
	margin: 0;
	padding: 0;
    margin-bottom: 20px;
}

.aktivschwinger-name,
.aktivschwinger-front-values {
	padding-left: 20px;
	padding-right: 20px;
}

.aktivschwinger-front-values .aktivschwinger-row {
	display: inline-block;
	font-weight: 700;
	white-space: nowrap;
}

.aktivschwinger-back-values {
	display: grid;
	gap: 8px;
}

.aktivschwinger-row {
	padding-bottom: 0px;
	line-height: 1.4;
}

.aktivschwinger-row span {
    display: inline-block;
    margin: 0 5px;
}



.aktivschwinger-hint {
	margin-top: auto;
	padding-top: 16px;
	font-size: 12px;
	text-align: center;
	color: #1E6E0A;
}





/*--------------------------------------------------------------
# Sponsoren
--------------------------------------------------------------*/
.sponsor_wrap h6 {
    color: #1E6E0A;
}
.sponsor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 25px;
    grid-auto-rows: 100px;
}



.sponsor-grid + h6 {
    margin-top: 90px;
	margin-bottom: 0;
}

.sponsor-grid .sponsor_logo {
    height: 100px;
    line-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}

a.sponsor__link {
    width: 100%;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

.sponsor-grid .sponsor_logo img {
	max-width: 80%;
    max-height: 90%;
    height: auto;
    width: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.platin-sponsor .sponsor_logo {
    grid-column: span 2;    
	width: 100% !important;
}

.sponsor-grid.platin-sponsor .sponsor_logo img {
    max-width: 90%;
    max-height: 90%;
}



/*--------------------------------------------------------------
# Akkordeon
--------------------------------------------------------------*/
.akkordeon__item {
	border-bottom: 6px solid transparent;
	border-image-source: url("images/Button_Line.svg");
	border-image-slice: 6;
	border-image-repeat: repeat;
}

.akkordeon__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
    padding: 40px 0 10px;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
}

.akkordeon__titel {
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1E6E0A;
}


.akkordeon__titel:hover,
.akkordeon__trigger[aria-expanded="true"] .akkordeon__titel {
	color: #000;
}

.akkordeon__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
    height: 20px;
}

.akkordeon__icon-minus {
	display: none;
}

.akkordeon__trigger[aria-expanded="true"] .akkordeon__icon-plus {
	display: none;
}

.akkordeon__trigger[aria-expanded="true"] .akkordeon__icon-minus {
	display: inline-flex;
}

.akkordeon__content {
    padding: 15px 0 60px;
}

.akkordeon__content-inner > *:first-child {
	margin-top: 0;
}

.akkordeon__content-inner > *:last-child {
	margin-bottom: 0;
}




/*--------------------------------------------------------------
# Google Map
--------------------------------------------------------------*/
.gm-bundled-control, .gm-svpc {
  display: none !important;
}



.page-id-39 .wpgmza_map {
    margin-bottom: 65px;
}

.page-id-49 .wpgmza_map {
    margin-top: 60px;
    margin-bottom: 30px;
}


.quicklinks {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	padding-left: 22px;
	padding-right: 12px;
	background-color: transparent;
	background-image: url(images/Saegemehl_Navi.png);
	background-size: contain;
	background-repeat: repeat-x;
	justify-content: space-between;
	align-items: flex-end;
	z-index: 9999;
}

.quicklinks a {
    display: inline-flex;
}

.quicklinks a svg .st0 {
	fill: #FFFFFF;
}

.quicklinks a:hover svg .st0 {
	fill: #1E6E0A;
}


.page-id-2 .aktuelles-icon .st0 {
    fill: #1E6E0A;
}
.page-id-25 .chumzuues-icon .st0 {
    fill: #1E6E0A;
}
.page-id-49 .ueberuns-icon .st0 {
    fill: #1E6E0A;
}
.page-id-33 .huepfburg-icon .st0 {
    fill: #1E6E0A;
}





/*--------------------------------------------------------------
# Media Queries
--------------------------------------------------------------*/

@media screen and (max-width: 1260px) {
	.sponsoren_tab { bottom: 0; top: auto; width: 100%; height: auto; z-index: 22; background-image: url(images/Sponsoren_Saegemehl_Mobile.png);}
	.home .sponsoren_tab { padding: 32px 0 28px 0; margin-bottom: 54px;}
	.sponsoren_inner { display: flex; flex-direction: column-reverse;}
	.sponsoren_categories { display: flex; align-items: center; gap: 10px;padding-left: 20px; padding-right: 18px;}
	.sponsoren_tab .sponsoren_kategorie.platin-sponsor { width: 33.33%; flex-shrink: 0;        padding: 0;}
	.sponsoren_tab .sponsoren_kategorie, .sponsoren_tab .sponsoren_kategorie.gold-sponsoren { border: 0; margin-top: 0;}
	.sponsoren_logos { flex-direction: row; align-items: center; margin-bottom: 70px; flex-wrap: wrap;}
	.home .sponsoren_logos {gap: 20px;}
	.home .sponsoren_logos { margin-bottom: 7px;}
	.home .sponsoren_tab .sponsor_logo { width: calc(50% - 10px);}
	.sponsor_logo a {min-width: 90px; width: auto; display: block;}
}

@media screen and (max-width: 980px) {
	.hidemobile {display: none !important;}
	.hidedesktop {display: block;}
	
	.site-branding { margin-left: 12px;}
	
	.cards { margin: 113px auto 0;}
	
	
}








@media screen and (max-width: 767px) {
	
	body.menu-open {overflow: hidden !important;}
	
	.main-navigation {
		background: #1E6E0A;
		position: fixed;
		top: 0;
		left: 18px;
		width: calc(100% - 36px);
		padding: 0 15px 0 33px;
		margin: 0;
		height: 100vh;
        transform: translateY(-100vh);
		overflow-y: auto;
	}
	
	.menu-open .main-navigation {
        transform: none;
	}
	
	.main-navigation ul {
		display: block;
	}
	
	.menu-hauptmenu-container > ul {
		padding-top: 46px;
		padding-bottom: 140px;
	}
	
	.main-navigation li { margin-top: 30px; margin-right: 0;}
	
	.main-navigation a {
		white-space: wrap;
		font-size: 22px;
		letter-spacing: 6.6px;
		color: #fff;
	}
	
	.main-navigation a:hover,
	.main-navigation .current_page_item > a {
		color: #000;
	}
	
	.main-navigation ul ul {
		position: relative;
		left: 0;
		background: transparent;
		padding: 0px;
		margin-left: 0;
        overflow: visible;
	}
	
	.main-navigation ul ul li { margin-top: 16px;}
	
	.main-navigation ul ul li.menu-item-has-children a {padding-left: 0px; margin-left: 0px;}	
	.main-navigation ul ul li.menu-item-has-children > a:before {display: none;}
	
	.main-navigation ul ul a {
		font-size: 22px;
		font-style: normal;
		font-weight: 400;
		letter-spacing: 1.1px;
		text-transform: uppercase;
	}
	
	.main-navigation ul ul li.focus > a, .main-navigation ul ul li.current_page_parent > a { font-weight: normal; color: #000;}
	
	.main-navigation ul ul ul {
		display: none !important;
	}

	
	.container {
    	padding-left: 18px;
		padding-right: 16px;
	}
	
	.row.linieoben, .row.linieunten, .row.liniekeine { padding-top: 100px; padding-bottom: 70px;}
	
	h2 {font-size: 44px; margin-top: 28px; margin-bottom: 47px;}
	.termin-date { font-size: 44px;}
	h3.termin-title { font-size: 22px;}
	.list_titel h4 { font-size: 20px; margin: 0;}
	
	.list_beitrag { gap: 10px; padding-bottom: 22px;}
	.list_datumkat {font-size: 14px;}
	.slick-prev, .slick-next { bottom: 44px;}
	.slick-dots { display: none !important;}
	
	.row.startrow { padding-bottom: 19px;}
	.home .startrow .container.bilder {padding: 0;}
	.home .dreieckuntenlinks .container.titel h1 { position: relative; left: 0px; bottom: auto; margin-top: -148px; margin-bottom: 25px; max-width: calc(100% - 25px);}
	.startrow.dreieckuntenlinks .container.inhalt { margin-top: 0;}
	.home .dreieck_gross { background-image: url(images/Dreieck_Hintergrund.svg); background-size: cover; background-position: top 200px left;}
	.dreieckuntenlinks .container.inhalt .button-wrap {margin-right: 0; justify-content: center;}
	
	.two-cols {grid-template-columns: 1fr; gap: 60px;}
	.two-columns { flex-direction: column;}
	.row.row-bildtext .container {padding-left: 0; padding-right: 0;}
	.bildtext_col { width: 100%;}
	.row.row-bildtext.linieoben .textbutton_col { padding-top: 35px; padding-left: 20px; padding-right: 18px;}
	.person-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	
	.sponsoren_tab {
		position: relative;
		transform: none !important;
		top: auto;
		bottom: auto;
		padding-bottom: 40px;
        padding-left: 15px;
        padding-right: 15px;
	}
	.home .sponsoren_kategorie { padding-top: 0;}
	.home .sponsoren_titel {
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.unterverband .sponsoren_tab .sponsoren_logos {justify-content: center;}
	
	.dreieckuntenlinks .container.inhalt p { width: 100%;}
	
	.magazin_teaser {gap: 30px;flex-direction: column;}
	.magazin_teaser ._3d-flip-book.fb3d-thumbnail-lightbox-mode { margin-left: 0;}
	.magazin { width: 70%;}
	.button-wrap.align-left {justify-content: center;}
	
	.aktivschwinger-grid .slick-list { padding: 30px 60px;}
	.aktivschwinger-face.back { padding: 26px 10px 6px;}
	.aktivschwinger-card {min-height: 560px;}
	
	.quicklinks {display: flex;}
	
	.bg-gruen .text-center { text-align: left;}
	
	.sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr));}
	
	.person__email, .person__telefon, .person__zusatztext { font-size: 16px;}
	
	.acf-popup-title { margin: 0 0 12px 0;}
	.acf-popup .button-wrap {margin-top: 30px; margin-bottom: 10px;}
	
	.button, #sb_instagram .sbi_load_btn { padding: 12px 20px !important;}
	
	iframe {margin-top: 20px;}
	
	.alle_beitraege {margin-top: 55px;}
	
	.site-footer .container { flex-direction: column; gap: 40px;}
	.footer_social, .footer_credits { margin-left: 0; margin-right: auto;}
	.footer_credits { max-width: 100%; margin-bottom: 100px;margin-top: 20px;}
}


@media screen and (max-width: 390px) {
	.person-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
}



