/*!
Theme Name: WP Theme Skischule
Theme URI: https://skischulelenzerheide.ch/
Author: Lapala web solutions
Author URI: https://www.lapala.ch/
Description: Cusotm Wordpress Theme, Design by Blackbird
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: skischul_theme
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.

skischul_theme 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

--------------------------------------------------------------*/

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

/* inter-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: 'Inter';
	font-style: normal;
	font-weight: 400;
	src: url('webfonts/inter-v20-latin-regular.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-500 - 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: 'Inter';
	font-style: normal;
	font-weight: 500;
	src: url('webfonts/inter-v20-latin-500.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600 - 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: 'Inter';
	font-style: normal;
	font-weight: 600;
	src: url('webfonts/inter-v20-latin-600.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-700 - 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: 'Inter';
	font-style: normal;
	font-weight: 700;
	src: url('webfonts/inter-v20-latin-700.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/* montserrat-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: 'Montserrat';
	font-style: italic;
	font-weight: 400;
	src: url('webfonts/montserrat-v31-latin-italic.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-500italic - 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: 'Montserrat';
	font-style: italic;
	font-weight: 500;
	src: url('webfonts/montserrat-v31-latin-500italic.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-800 - 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: 'Montserrat';
	font-style: normal;
	font-weight: 800;
	src: url('webfonts/montserrat-v31-latin-800.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-800italic - 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: 'Montserrat';
	font-style: italic;
	font-weight: 800;
	src: url('webfonts/montserrat-v31-latin-800italic.woff2') format('woff2');
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}












/* Firefox */
* {
	scrollbar-width: thin;
	scrollbar-color: #CC1719 #F2F3F7;
}

/* Chrome, Edge, Safari */

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

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

/* Scrollbalken */
::-webkit-scrollbar-thumb {
	background-color: #CC1719;
	border-radius: 0px;
	border: 0px;
}

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


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

/**
 * 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: #565656;
	font-family: 'Inter';
	font-size: 16px;
	line-height: 1.62;
	font-style: normal;
	font-weight: 400;
}

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

.redbg,
.rot {
	background-color: #981C21;
	color: #FFF;
}

.redbgmultiply {
	position: relative;
	color: #FFF;
}

.redbgmultiply:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	background: #981C21;
	mix-blend-mode: hard-light;
	color: #FFF;
	z-index: 2;
}

.redbgmultiply:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	background: rgba(152, 28, 33, 0.60);
	z-index: 1;
}

.greybg,
.grau {
	background-color: #F2F3F7;
}

.darkbg,
.schwarz {
	background-color: #26272B;
	color: #F2F3F7;
}

.darkbg a,
.darkbg a.menuWithIcon {
	color: #F2F3F7;
}

.redbg h1,
.redbg h2,
.redbg h3,
.redbg h4,
.redbg h1 strong,
.redbg h2 strong,
.rot h1,
.rot h2,
.rot h3,
.rot h4,
.inhalt-zwei-spalten.rot h2,
.rot .inhalt_spalten_titel,
.redbg a,
.darkbg h1,
.darkbg h2,
.darkbg h3,
.darkbg h4,
.schwarz h1,
.schwarz h2,
.schwarz h3,
.schwarz h4,
.inhalt-zwei-spalten.schwarz h2,
.schwarz .inhalt_spalten_titel {
	color: #fff;
}

.hero__image h1 {
	color: #FFF;
	font-family: 'Montserrat';
	font-size: 108px;
	font-style: italic;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	margin: 0;

}

h1,
h2,
.inhalt-zwei-spalten h2,
.standort-card__subtitle,
.inhalt_spalten_titel {
	color: #26272B;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.64px;
	text-transform: uppercase;
	margin-bottom: 31px;
}

.inhalt-zwei-spalten h2,
.inhalt-zwei-spalten__rechts h2,
.inhalt_spalten_titel {
	font-weight: 800;
}



.intro h2 {
	margin: 0;
}

.darkbg h1 strong,
.darkbg h2 strong,
.imagebg h2 strong,
.naechstekurse_row h2 strong {
	color: #CC1719;
}

h3 {
	color: #26272B;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 16px;
}

.kontakt-standort__title {
	color: #fff;
}

h4 {
	color: #26272B;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 8px;
}

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

h5 {
	color: #26272B;
	font-family: 'Montserrat';
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.28px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

p {
	margin-top: 0;
	margin-bottom: 1.5em;
}

h1 p,
h2 p {
	margin: 0;
}


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 {
	border: 0;
	height: 1px;
	margin-bottom: 32px;
	margin-top: 32px;
	opacity: 0.3;
	background: #8C8C8C;
}

ul,
ol {
	margin: 0 0 1.5em 0;
	padding-left: 20px;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 0;
	list-style: circle;
}

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

table td {
	vertical-align: top;
}

table tr td:first-child {
	font-weight: bold;
}

/* Links
--------------------------------------------- */
a {
	color: #CC1719;
	text-decoration: none;
	font-weight: 600;
}

.rot a,
.rot a:visited {
	color: #26272B;
}

.rot a:hover,
.schwarz a:hover {
	color: #fff;
}

a:visited {
	color: #CC1719;
}

a:hover,
a:focus,
a:active {
	color: #26272B;
}

a:focus {
	outline: thin dotted;
}

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

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	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%;
}

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

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
.menu-overlay {
	position: fixed;
	inset: 0;
	background: #000;
	opacity: 0.4;
	z-index: 9;
	display: none;
}

.menuopen .menu-overlay {
	display: block;
}

/* Navigation
--------------------------------------------- */
.main-navigation .toggle-nav {
	position: absolute;
	right: 0;
	top: 0;
}

.main-navigation .site-branding {
	padding: 0;
	margin-bottom: 40px;
	flex-shrink: 0;
}

.main-navigation .site-branding img.logo {
	width: 60px;
	height: 60px;
	margin-bottom: 0;
}

.main-navigation {
	position: fixed;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 360px;
	background: #fff;
	right: 0px;
	top: 0;
	z-index: 10;
	padding: 30px;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
	transform: translateX(360px);
	transition: all ease-in 300ms;
}

.menuopen .main-navigation {
	transform: translateX(0px);
}

.main-navigation .scroll_wrapper {
	flex: 1 1 0%;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.main-navigation .menu-container {
	position: relative;
	width: 100%;
	min-height: 100%;
	padding-bottom: 40px;
	transition: transform 300ms ease;
}

/* Submenü: Scrollport auf die sichtbare Fläche beschränken, Panel intern scrollen */
.main-navigation.submenu-active .scroll_wrapper {
	overflow: hidden;
}

.main-navigation.submenu-active .menu-container {
	transform: translateX(-360px);
	height: 100%;
	min-height: 100%;
	padding-bottom: 0;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
}

.main-navigation .menu,
.main-navigation .sub-menu {
	position: absolute;
	inset: 0;
	width: 100%;
	background: #fff;
	transition: transform 300ms ease;
}

.main-navigation .menu {
	transform: translateX(0);
}

.main-navigation .sub-menu {
	transform: translateX(60px);
	z-index: 2;
}

/* Hauptnavigation bleibt normal im Container */
.main-navigation #primary-menu {
	position: relative;
	width: 100%;
}

/* Füllt den sichtbaren Scrollbereich — sonst ist height:100% nur ~Menühöhe */
.main-navigation.submenu-active #primary-menu {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* nur erstes Submenu als Slide-Panel */
.main-navigation #primary-menu>li>.sub-menu {
	position: absolute;
	top: 0;
	right: auto;
	bottom: 0;
	left: 100%;
	width: 100%;
	height: auto;
	min-height: 100%;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	padding-bottom: 24px;
	background: #fff;
	display: none;
}

/* aktives erstes Submenu anzeigen */
.main-navigation #primary-menu>li.submenu-open>.sub-menu {
	display: block;
}

/* zweite Ebene normal darunter anzeigen */
.main-navigation #primary-menu>li>.sub-menu .sub-menu {
	position: static;
	display: block;
	width: 100%;
	min-height: 0;
	background: transparent;
	box-shadow: none;
	transform: none;

	padding: 10px 20px 20px 20px;
}



.main-navigation #primary-menu>li>.sub-menu>li>a.submenu-card {
	display: flex;
	align-items: flex-end;

	width: 100%;
	height: 140px;
	padding: 20px;

	background-size: cover;
	background-position: center;

	position: relative;
	overflow: hidden;

	color: #fff;
	text-decoration: none;
}

.main-navigation #primary-menu>li>.sub-menu>li>a.submenu-card::before {
	content: '';
	position: absolute;
	inset: 0;

	background: linear-gradient(3deg, rgba(0, 0, 0, 0.50) -1.69%, rgba(102, 102, 102, 0.00) 97.88%);
}

.main-navigation .submenu-card-title {
	position: relative;
	z-index: 1;

	font-family: 'Montserrat';
	font-size: 26px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.8px;
	text-transform: uppercase;
}




/* alte Dropdown-Styles überschreiben */
.main-navigation ul ul,
.main-navigation ul ul ul {
	float: none;
	box-shadow: none;
	left: auto;
	top: auto;
	z-index: auto;
}

.main-navigation li {
	width: 100%;
}

.main-navigation .sub-menu li {
	background: #F2F3F7;
	margin-bottom: 20px;
}

.main-navigation .sub-menu .sub-menu li {
	margin-bottom: 0px;
}

.main-navigation .menu a {
	position: relative;
	display: block;
	text-decoration: none;
	padding: 12px 10px 8px;
	color: #26272B;

	font-family: 'Montserrat';
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.28px;
	text-transform: uppercase;
}

.main-navigation .sub-menu .sub-menu a {
	padding: 0;
	line-height: 2.1;
}







/* Pfeil nur bei Hauptmenüpunkten */
.main-navigation #primary-menu>.menu-item-has-children>a::after {
	content: '';

	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);

	width: 6px;
	height: 10px;

	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;

	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M1.42857 10L4.08538e-07 8.4375L3.14286 5L1.08022e-07 1.5625L1.42857 0L6 5L1.42857 10Z' fill='%23B2B5BE'/%3E%3C/svg%3E");
}


/* Back-Zeile */
.main-navigation .submenu-back-item {
	list-style: none;
	background: transparent !important;
}

.main-navigation .submenu-back {
	appearance: none;
	border: 0;
	background: none;

	padding: 10px 10px 8px 26px;

	position: relative;

	font-family: 'Montserrat';
	font-size: 14px;
	line-height: 1.4;
	font-weight: 800;
	text-transform: uppercase;
	color: #26272B;

	cursor: pointer;
}

.main-navigation .submenu-back::before {
	content: '';

	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);

	width: 6px;
	height: 10px;

	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;

	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M4.57143 10L6 8.4375L2.85714 5L6 1.5625L4.57143 0L2.18557e-07 5L4.57143 10Z' fill='%23B2B5BE'/%3E%3C/svg%3E");
}





.line {
	width: 100%;
	height: 1px;
	background: #8C8C8C;
	margin-top: 20px;
	margin-bottom: 20px;
	opacity: 0.3;
}


a.menuWithIcon {
	display: flex;
	align-items: center;
	gap: 10px;
	align-self: stretch;

	color: #26272B;

	font-family: 'Inter';
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;

	padding: 0 10px;
}

a.menuWithIcon.nav_switch {
	padding: 12px 10px;
	margin-top: -16px;
	margin-bottom: -16px;
}

a.menuWithIcon+a.menuWithIcon {
	margin-top: 8px;
}

.menuWithIcon span {
	display: flex;
	width: 20px;
	justify-content: center;
	align-items: center;
	background-size: contain;
	background-position: center;
}

span.webcam_icon {
	width: 15px;
	height: 19px;
	flex-shrink: 0;
	aspect-ratio: 15 / 19;
	background: url(images/webcam_icon.svg) no-repeat;
}

span.shop_icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	aspect-ratio: 1/1;
	background: url(images/shop_icon.svg) no-repeat;
}

span.kundenportal_icon {
	width: 17px;
	height: 18px;
	flex-shrink: 0;
	aspect-ratio: 17/18;
	background: url(images/kundenportal_icon.svg) no-repeat;
}

span.preisliste_icon {
	width: 16px;
	height: 18px;
	flex-shrink: 0;
	aspect-ratio: 8/9;
	background: url(images/preisliste_icon.svg) no-repeat;
}

span.mail_icon {
	width: 18px;
	height: 13px;
	flex-shrink: 0;
	aspect-ratio: 18/13;
	background: url(images/mail_icon.svg) no-repeat;
}

span.uhr_icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background: url(images/uhr_icon.svg) no-repeat;
}







.social_icons {
	display: flex;
	gap: 16px;
	padding: 0 10px;
}

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


.social_icons a.instagram_icon {
	background-image: url(images/instagram_icon.svg);
}

.social_icons a.facebook_icon {
	background-image: url(images/facebook_icon.svg);
}

.social_icons a.tiktok_icon {
	background-image: url(images/tiktok_icon.svg);
}

.social_icons a.linkedin_icon {
	background-image: url(images/linkedin_icon.svg);
}




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





/*--------------------------------------------------------------
# Custom CSS
--------------------------------------------------------------*/

.container {
	width: 100%;
	max-width: 1164px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
}

.site-main {
	margin-top: 60px;
}

header#masthead {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	font-size: 13px;
	font-style: normal;
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1.46;
	display: flex;
	width: 100%;
	height: 60px;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
	z-index: 9;
}

header#masthead a {
	color: #26272B;
}

.header-left {
	display: flex;
	padding-left: 30px;
	gap: 25px;
	margin-right: auto;
}

.header-right {
	margin-left: auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0px;
}

.site-branding {
	display: flex;
	gap: 11px;
	padding-top: 19px;
}

.site-branding a {
	flex-shrink: 0;
	line-height: 0;
}

.site-branding img.logo {
	width: 79px;
	height: 79px;
	border-radius: 50%;
	margin-bottom: -38px;
}


.telefon a {
	height: 60px;
	align-items: center;
	gap: 8px;
	display: flex;
}

span.telefon_icon {
	width: 18px;
	height: 18px;
	aspect-ratio: 1 / 1;
	background: url(images/telefon_icon.svg) no-repeat;
}

a.switch_button {
	display: flex;
	padding: 12px 20px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	height: 60px;
    border-right: 1px solid rgba(178, 181, 190, 1);
}

span.switch_icon {
	width: 22px;
	height: 22px;
	aspect-ratio: 1 / 1;
	background: url(images/Sommer.svg) no-repeat;
	display: block;
	flex-shrink: 0;
}

span.switch_icon.Winter {
	background: url(images/Winter.svg) no-repeat;
}


a.shoplink {
	display: flex;
	height: 60px;
	padding: 12px 20px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	background: #26272B;
	color: #fff !important;
}

span.buchen_icon {
	width: 18px;
	height: 18px;
	aspect-ratio: 1 / 1;
	background: url(images/Buchen_Icon.svg) no-repeat;
	display: block;
	flex-shrink: 0;
}






.toggle-nav {
	border: 0;
	border-radius: 0;
	padding: 0;
	display: flex;
	width: 60px;
	justify-content: center;
	align-items: center;
	background: #CC1719;
	aspect-ratio: 1;
	cursor: pointer;
}

span.lines {
	position: relative;
	width: 26px;
	height: 17px;
	flex-shrink: 0;
}

span.lines:before,
span.lines:after {
	content: '';
	width: 26px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 4px;
	background: #fff;
}

span.lines:after {
	top: auto;
	bottom: 4px;
}

.toggle-nav.active {
	background: #F2F3F7;
}


.toggle-nav span.lines,
.toggle-nav span.lines:before,
.toggle-nav span.lines:after {
	transition: all 500ms ease-in-out;
}

.toggle-nav.active span.lines:before,
.toggle-nav.active span.lines:after {
	top: 8px;
	background: #26272B;
}

.toggle-nav.active span.lines {
	background: transparent;
}

.toggle-nav.active span.lines:before {
	transform: rotate(45deg);
}

.toggle-nav.active span.lines:after {
	transform: rotate(-45deg);
}






/*--------------------------------------------------------------
# Allgemein
--------------------------------------------------------------*/


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

.row.rechte_spalte_grau {
	padding-top: 0;
	padding-bottom: 0;
}

.row.rechte_spalte_grau {
	padding-top: 0;
	padding-bottom: 0;
}

.row.rechte_spalte_grau .inhalt-zwei-spalten__links,
.row.rechte_spalte_grau .inhalt-zwei-spalten__rechts {
	padding-top: 100px;
	padding-bottom: 100px;
}

.row.rechte_spalte_grau .inhalt-zwei-spalten__rechts {
	position: relative;
	z-index: 1;
	border: 0;
}

.row.rechte_spalte_grau .inhalt-zwei-spalten__rechts::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	background: #F2F3F7;
	z-index: -1;
}

.row.imagebg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 585px;
}

.hero__image {
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
}

.nobottompadding {
	padding-bottom: 0 !important;
}


.twocolumns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.twocolumns.grid5to7 {
	grid-template-columns: 5fr 7fr;
}

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

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


.title_row {
	display: flex;
	justify-content: space-between;
}



/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
.button {
	display: inline-flex;
	height: 40px;
	padding: 15px 20px 13px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	background: #FFF;
	border-radius: 60px;
	color: #26272B !important;
	border: 1px solid #26272B;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.2;
	margin: 30px 0;

	transition: ease-out 300ms;
}

.button-wrap:last-child .button {
	margin-bottom: 0;
}

.inhalt-zwei-spalten .button,
.jobs-liste .button,
.accordion__content .button {
	background: #CC1719;
	color: #fff !important;
	border: 0;
}

.button:hover,
.inhalt-zwei-spalten .button:hover,
.jobs-liste .button:hover,
.accordion__content .button:hover {
	background: #26272B !important;
	color: #fff !important;
}

.button.button_hell {
	border: 1px solid #565656;
	background: transparent;
}

.button.button_schmal {
	padding-top: 4px;
	padding-bottom: 2px;
}

.button.noborder,
.newsletter .button {
	border: 0;
}




/*--------------------------------------------------------------
# Front page
--------------------------------------------------------------*/
.row.startrow {
	position: relative;
	padding: 0;
}


.frontpage-video {
	width: 100%;
	aspect-ratio: 291/136;
	overflow: hidden;
	position: relative;
}

.frontpage-video:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(186deg, rgba(25, 26, 29, 0.11) 53.02%, rgba(5, 33, 65, 0.72) 133.94%);
}

.frontpage-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.slogan {
	position: absolute;
	top: 50%;
	left: 50px;
	color: #FFF;
	font-family: 'Montserrat';
	font-size: 96px;
	font-style: italic;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	z-index: 1;
}

.slogan p {
	margin: 0;
}

.slogan em {
	font-size: 32px;
	position: relative;
	z-index: 1;
}

.slogan em:after,
.bikebanner_titel:after {
	content: '';
	position: absolute;
	left: 3px;
	bottom: 3px;
	height: 18px;
	background: #981C21;
	width: 100%;
	transform: skewX(-10deg);
	z-index: -1;
}




.bikeschule_linkelement {
	position: absolute;
	bottom: -1px;
	right: 0;
	background: url(images/Bergkontur.svg) no-repeat;
	background-size: contain;
	background-position: bottom right;
	height: 190px;
	width: 880px;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	padding-right: 5%;
}

.home .bikeschule_linkelement {
	height: 360px;
}



.bikebanner {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	justify-content: right;
	padding-right: 80px;
	padding-bottom: 18px;
	aspect-ratio: 392 / 164;
	width: 360px;

	/* Schräge Form */
	clip-path: polygon(6% 0%,
			100% 0%,
			92% 100%,
			0% 100%);
}

.bikebanner img {
	width: 100%;
	height: 100%;
	object-fit: cover;

	position: absolute;
	top: 0;
	left: 0;

	transform-origin: right top;
	transition: all ease 600ms;
}

.bikebanner:hover img {
	transform: scale(1.1);
}

/* Dunkler Verlauf darüber */
.bikebanner .overlay {
	position: absolute;
	inset: 0;

	background:
		linear-gradient(150deg,
			rgba(3, 21, 39, 0.03) 33.92%,
			rgba(1, 10, 26, 0.50) 99.7%);

}

.bikebanner .union {
	position: absolute;
	top: 20%;
	right: 35px;
	width: 95.653px;
	height: 49.102px;
}

.bikebanner .union svg {
	width: 100%;
	height: 100%;
}

.bikebanner_titel {
	color: #FFF;

	font-family: 'Montserrat';
	font-size: 32px;
	font-style: italic;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	position: relative;
	z-index: 1;
}


.bikebanner:hover .union {
	animation: slideLoop 600ms ease;
}

@keyframes slideLoop {

	0% {
		transform: translateX(0);
		opacity: 1;
	}

	45% {
		transform: translateX(120%);
		opacity: 1;
	}

	46% {
		transform: translateX(-180%);
		opacity: 1;
	}

	100% {
		transform: translateX(0);
		opacity: 1;
	}
}


.row.introrow {
	position: relative;
	padding-bottom: 150px;
}

.home .row.introrow {
	padding-bottom: 260px;
}

.introrow.redbg .container {
	z-index: 2;
	position: relative;
}

.row.introrow.redbg:before {
	content: '';
	background: url(images/Berg-Hintergrund.png) center no-repeat;
	background-size: cover;
	opacity: 0.2;
	mix-blend-mode: color-burn;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.site-1 .row.introrow.redbg:before {
	background-image: url(images/Berg-Hintergrund.png);
}

.site-2 .row.introrow.redbg:before {
	background-image: url(images/Berg-Hintergrund-Sommer.png);
}

/* Kacheln */
.kachel-section {
	position: relative;
	z-index: 5;
	margin-top: -160px;
	padding-bottom: 80px;
}

.kachel-wrapper {
	width: 100%;
	margin: 0 auto;

	display: grid;
	grid-template-columns: repeat(2, 1fr);

}

.kachel-item {
	position: relative;
	display: block;
	height: 320px;
	overflow: hidden;
	text-decoration: none;
}


.kachel-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 400ms ease;
}

.kachel-item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 31, 62, 0.00) 50%, rgba(3, 25, 47, 0.40) 100%);
	z-index: 1;
}

.kachel-title {
	position: absolute;
	left: 30px;
	bottom: 30px;
	z-index: 2;
	color: #fff;

	font-family: 'Montserrat';
	font-size: 40px;
	font-style: italic;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.8px;
	text-transform: uppercase;

}

.kachel-item:hover img {
	transform: scale(1.08);
}



/* Event List */

.kurse_wrap {
	display: flex;
	gap: 24px;
}

.kurse_titel {
	max-width: 360px;
	width: 100%;
}

.kurse_liste {
	flex: 1;
	height: 267px;
	overflow-y: auto;
}

.event {
	min-height: 60px;
	padding: 10px 0;
	display: flex;
	gap: 10px;
	align-items: center;
	border-bottom: 1px solid rgba(140, 140, 140, 0.3);
}

.event:last-child {
	border-bottom: 0;
}

.event-datum {
	width: 150px;
	color: #26272B;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 20px;
}

.event-titel {
	flex: 1 0 0;
	line-height: 1.25;
}

.event-link {
	margin-left: auto;
	text-align: center;
}

.event-link a {
	display: inline-block;
	width: 97px;
	padding: 10px 0;
	border-radius: 60px;
	background: #F2F3F7;
	color: #565656;
	text-align: center;
	transition: ease-out 300ms;
}

.event-link a:hover {
	background: #26272B;
	color: #fff;
}




/* Standorte und Team Row */
.intro {
	display: flex;
	width: 50%;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.standort_row .inhalt {
	max-width: 371px;
}

.standort_row .line {
	width: 55px;
	height: 1px;
	margin: 10px 0;
	background: #8C8C8C;
}

.site_name {
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 20px;
}







/*--------------------------------------------------------------
# Standort Slider
--------------------------------------------------------------*/
.row.standort_row {
	position: relative;
	background:
		linear-gradient(255deg,
			rgba(38, 39, 43, 0) 42.12%,
			#26272B 100.38%),
		url('images/Standorte-Hintergrund.svg') 0 -200px / 100% 171.429% no-repeat;

	background-color: #26272B;
	background-blend-mode: normal, screen, normal;
}

.halfwidthright {
	position: absolute;
	width: 50%;
	right: 0;
	top: 49px;
}

@media (min-width: 1920px) {
	.standort-swiper {
		padding-right: 10px !important;
	}
}

.standort-card__header {
	padding: 26px 30px;
	background: #981C21;
}

h3.standort-card__title {
	color: #fff;
}

.standort-card__address {
	display: flex;
	gap: 8px;
}

span.standort-card__icon {
	width: 14px;
	height: 18px;
	aspect-ratio: 7 / 9;
	margin-top: 5px;
	background: url(images/standort_icon.svg) no-repeat;
}


.standort-card__body {
	padding: 30px 30px 20px;
	background: #fff;
	color: #26272B;
}

.standort-card__subtitle {
	font-size: 26px;
}

.standort-card__subtitle,
.inhalt_spalten_titel {
	margin-bottom: 24px;
}

.standort-card hr {
	margin-bottom: 24px;
	margin-top: 24px;
}

.standort-card__date {
	color: #CC1719;
	font-family: 'Montserrat';
	font-size: 20px;
	font-style: normal;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.standort-card__times {
	color: #26272B;
	font-style: normal;
	font-weight: 700;
	margin-bottom: 10px;
}







.standort-swiper__nav {
	background-color: rgba(38, 39, 43, 0.60);
	background-image: url(images/Swiper-Pfeil.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	width: 60px;
	height: 60px;
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateX(-50%);
	z-index: 4;
	cursor: pointer;
}

.standort-swiper__nav.swiper-button-disabled {
	display: none;
}


.standort-swiper__nav.standort-swiper__prev {
	transform: rotate(180deg);
	left: 0px;
	right: auto;
}



/*--------------------------------------------------------------
# News Slider
--------------------------------------------------------------*/

.news-slider .swiper-wrapper {
	align-items: stretch;
}

.news-slider .swiper-slide {
	height: auto;
	display: flex;
}


.swiper.news-slider {
	padding-bottom: 66px;
}

.news-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	background: #fff;
}

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

.news-content {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 0 30px 30px;
}

.news-date {
	color: #CC1719;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.3;
	margin: 20px 0;
}

.news-title {
	color: #26272B;

	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.3;
}

.news-excerpt {
	color: #26272B;
}

.news-button {
	margin-top: auto;
}


.swiper .swiper-pagination {
	display: flex;
	height: 26px;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

.swiper .swiper-pagination-bullet {
	width: 13px;
	height: 13px;
	background: rgba(38, 39, 43);
	opacity: 0.1;
	margin: 0 !important;
}

.swiper .swiper-pagination-bullet-active {
	background: #CC1719;
	opacity: 1;
}


/*--------------------------------------------------------------
# News Single
--------------------------------------------------------------*/

.single-post .featured-image {
	margin-bottom: 64px;
}





/*--------------------------------------------------------------
# Seitentitel und Introtext
--------------------------------------------------------------*/

.headerbild {
	position: relative;
	width: 100%;
	aspect-ratio: 32/11;
	overflow: hidden;
}

.headerbild::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(186deg, rgba(25, 26, 29, 0.11) 58.43%, rgba(5, 33, 65, 0.72) 113.33%);
	pointer-events: none;
}

.headerbild img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

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

	height: 100%;

	display: flex;
	align-items: flex-end;

	padding-bottom: 40px;
}

.headerbild h1 {
	color: #FFF;
	font-family: Montserrat;
	font-size: 100px;
	font-style: italic;
	font-weight: 820;
	line-height: 1;
	text-transform: uppercase;

	hyphens: auto;

	margin: 0;
	position: relative;
	z-index: 3;
}

.single-angebot .headerbild h1 {
	font-size: 68px;
}


.single h1,
.introrow h2 {
	font-weight: 800;
}







/*--------------------------------------------------------------
# Inhalt
--------------------------------------------------------------*/

.inhalt-zwei-spalten__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 84px;
}

.inhalt-zwei-spalten__links,
.inhalt-zwei-spalten__rechts {
	min-width: 0;
}

.inhalt+.info-tabelle {
	margin-top: 40px;
}

.info-tabelle__zeile {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 20px;
	padding: 14px 0;
	border-top: 1px solid rgba(140, 140, 140, 0.3);
}


/*Material Spezial START */
.material-liste__item {
	margin-bottom: 80px;
}

.material-liste .info-tabelle__zeile {
	padding: 8px 0;
}

/* Material ENDE */

.info-tabelle__titel {
	font-weight: 700;
	color: #26272B;
}

.rot .info-tabelle__titel,
.schwarz .info-tabelle__titel {
	color: #FFFFFF;
}

.info-tabelle__inhalt p:first-child,
.info-tabelle__inhalt ul:first-child {
	margin-top: 0;
}

.info-tabelle__inhalt p:last-child,
.info-tabelle__inhalt ul:last-child {
	margin-bottom: 0;
}

.info-tabelle__inhalt ul {
	margin: 0;
	padding-left: 1.1em;
}

.info-tabelle__inhalt li::marker {
	color: #CC1719;
}

.rot .info-tabelle__inhalt li::marker {
	color: #fff;
}

@media (max-width: 768px) {
	.info-tabelle__zeile {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 10px 0;
	}
}



.inhalt-zwei-spalten__rechts {
	border-left: 1px solid rgba(0, 0, 0, 0.12);
	padding-left: 84px;
}

.rot .inhalt-zwei-spalten__rechts,
.schwarz .inhalt-zwei-spalten__rechts {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.ohne-rechte-spalte .inhalt-zwei-spalten__rechts {
	border-left: none !important;
	padding-left: 0;
}

.rechte_spalte_grau h4 {
	font-family: 'Montserrat';
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: -0.4px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(140, 140, 140, 0.3);
	margin-bottom: 30px;
}

.bilder-slider {
	margin-top: 20px;
}

.bilder-slider__slide img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 768px) {
	.inhalt-zwei-spalten__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.inhalt-zwei-spalten__rechts {
		border-left: 0;
		padding-left: 0;
		padding-top: 40px;
		border-top: 1px solid rgba(140, 140, 140, 0.3);
	}
}





/*--------------------------------------------------------------
# Thementage Icons
--------------------------------------------------------------*/
.thementage {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 50px;
}

.one-fifth {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	flex: 1;
	white-space: nowrap;
}

/* Feste Fläche für alle Icons */
.thementag-icon {
	height: 80px;
	/* gleiche Höhe für alle Icons */
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

/* Alle SVGs gleich groß */
.thementag-icon svg {
	width: 90px;
	height: 90px;
	display: block;
}




/*--------------------------------------------------------------
# Bilder Slider
--------------------------------------------------------------*/


.bilder-slider {
	margin-top: 20px;
	width: 100%;
	overflow: hidden;
}

.bilder-slider .swiper-slide img {
	width: auto;
	max-width: 100%;
	max-height: 400px;
	display: block;
}

.bilder-slider .swiper-pagination {
	position: relative;
	margin-top: 14px;
	bottom: auto;
}

.bilder-slider .swiper-pagination-bullet {
	width: 13px;
	height: 13px;
	background: #F2F3F7;
	opacity: 1;
}

.grau .bilder-slider .swiper-pagination-bullet,
.rechte_spalte_grau .bilder-slider .swiper-pagination-bullet {
	background: #FFF;
}

.bilder-slider .swiper-pagination-bullet-active,
.rechte_spalte_grau .bilder-slider .swiper-pagination-bullet-active,
.grau .bilder-slider .swiper-pagination-bullet-active {
	background: #CC1719;
}

.bilder-slider-wrap {
	width: 100%;
}

.bilder-slider-wrap .swiper-pagination {
	position: relative;
	display: flex;
	height: 26px;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 14px;
	bottom: auto;
}

.bilder-slider-wrap .swiper-pagination-bullet {
	width: 13px;
	height: 13px;
	background: #F2F3F7;
	opacity: 1;
	margin: 0 !important;
}

.bilder-slider-wrap .swiper-pagination-bullet-active {
	background: #CC1719;
}

.bilder-slider--full {
	position: relative;
	margin-top: 0;
}

.bilder-slider--full .swiper-slide a {
	display: block;
}

.bilder-slider--full .swiper-slide img {
	width: 100%;
	max-width: none;
	max-height: none;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: contain;
}

.bilder-slider__nav {
	background-color: rgba(38, 39, 43, 0.60);
	background-image: url(images/Swiper-Pfeil.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	width: 60px;
	height: 60px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 4;
	cursor: pointer;
}

.bilder-slider__nav.swiper-button-disabled {
	opacity: 0.3;
	cursor: default;
}

.bilder-slider__prev {
	left: 0;
	right: auto;
	transform: translateY(-50%) rotate(180deg);
}



/*--------------------------------------------------------------
# Angebote Grid
--------------------------------------------------------------*/

.angebote-grid {
	display: grid;
	grid-gap: 30px;
}

.angebote-grid--drei {
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 64px 24px;
}

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

.angebot-kachel {
	display: flex;
	flex-direction: column;
}

.angebote-grid--drei .angebot-kachel {
	background: #F2F3F7;
}

.angebot-kachel__bild {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}


.angebote-grid--drei .angebot-kachel__bild {
	aspect-ratio: 3 / 2;
}

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

.angebot-kachel__content {
	padding-top: 20px;
}

.angebote-grid--drei .angebot-kachel__content {
	padding: 50px 30px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 30px;
	flex-grow: 1;
	justify-content: space-between;
}

.angebot-kachel__titel {
	color: #26272B;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 26px;
	margin-bottom: 8px;
}

.angebot-kachel .button {
	margin: 0;
}

.angebote-grid--drei .angebot-kachel .button {
	background-color: #F2F3F7;
}

@media (max-width: 1024px) {
	.angebote-grid--vier {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 550px) {
	.angebote-grid {
		grid-template-columns: 1fr;
	}
}












/*--------------------------------------------------------------
# Instagram
--------------------------------------------------------------*/


.insta_title {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #B2B5BE;
	font-family: 'Montserrat';
	font-size: 32px;
	font-style: italic;
	font-weight: 800;
	line-height: 38px;
	letter-spacing: -0.64px;
	margin-bottom: 40px;
}

.insta_title a {
	color: #B2B5BE !important;
}

.insta_title .insta_icon {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	aspect-ratio: 1/1;
	border-radius: 60px;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

#sb_instagram #sbi_images {
	padding: 0 !important;
}

.sbi_info_wrapper {
	display: none;
}




/*--------------------------------------------------------------
# Kontaktseite
--------------------------------------------------------------*/


.row.kontakt-hero {
	min-height: 813px;
	display: flex;
	flex-direction: column;
	justify-content: end;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

h1.kontakt-hero__title {
	font-size: 68px;
	font-style: italic;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 42px;
}

.kontakt-standorte__grid {
	z-index: 3;
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding-top: 67px;
	padding-bottom: 84px;
}




/* Öffnungszeiten */

.kontakt-oeffnungszeiten__date {
	color: var(--Red, #CC1719);
	font-family: Montserrat;
	font-size: 20px;
	font-style: normal;
	font-weight: 800;
	line-height: 20px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	margin-bottom: 32px;
}

.kontakt-oeffnungszeiten__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 30px;
	margin-bottom: 64px;
}


.buero_title {
	margin-bottom: 8px;
}


/* Akkordion */


.accordion__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
}

.accordion__item.is-open .accordion__content {
	max-height: 5000px;
}

.accordion .accordion__content__inner {
	padding-top: 60px;
	padding-bottom: 60px;
}


.accordion__trigger {
	width: 100%;
	border: 0;
	background: transparent;
	padding: 16px 0;
	cursor: pointer;

	display: flex;
	align-items: center;
	justify-content: space-between;

	border-bottom: 1px solid rgba(140, 140, 140, 0.3);
	border-radius: 0;

	color: #26272B;
	font-family: Montserrat;
	font-size: 32px;
	font-style: italic;
	font-weight: 400;
	line-height: 38px;
	letter-spacing: -0.64px;
	text-transform: uppercase;
}

.accordion__plus {
	width: 30px;
	height: 30px;

	background-image: url('images/accordion_plus.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;

	transition: transform 0.3s ease;

	flex-shrink: 0;

	font-size: 0;
	line-height: 0;
}

.is-open .accordion__plus {
	transform: rotate(45deg);
}


.aufklapp-elemente .accordion__trigger {
	font-weight: 800;
}



/*Sammelplätze*/
.kontakt-sammelplatze__grid {
	display: flex;
	gap: 20px;
}

.kontakt-sammelplatze__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 30px;
}

.kontakt-sammelplatz {
	width: calc(50% - 15px);
}

.kontakt-sammelplatz h4 span {
	font-weight: 400;
}

.kontakt-sammelplatze__image {
	max-width: 480px;
	line-height: 0;
	flex-shrink: 0;
	width: 50%;
}




/*--------------------------------------------------------------
# Team
--------------------------------------------------------------*/
.team-filter {
	margin-top: -35px;
}

nav.team-filter {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	align-items: center;

	background: #FFF;
	box-shadow: 0 4px 50px -20px rgba(3, 24, 55, 0.18);
}



button.team-filter__item:not(:last-child)::after {
	content: "";

	position: absolute;
	top: 0;
	right: 0;

	width: 1px;
	height: 100%;

	background: rgba(0, 0, 0, 0.20);
}





button.team-filter__item {
	position: relative;

	display: flex;
	min-width: 170px;
	height: 70px;
	padding: 0 15px;

	justify-content: center;
	align-items: center;
	gap: 10px;

	border: 0;
	background: #fff;
	cursor: pointer;

	flex: 1;

	color: #26272B;
	font-family: Montserrat;
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	line-height: 20px;
	letter-spacing: -0.28px;
	text-transform: uppercase;
}

button.team-filter__item:hover,
button.team-filter__item.is-active {
	background: #F2F3F7;
}

span.team-filter__icon {
	width: 20px;
	height: 23px;
	flex-shrink: 0;
	aspect-ratio: 20 / 23;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

span.team-filter__icon.team-filter__icon--leitung {
	background-image: url(images/leitung_icon.svg);
}

span.team-filter__icon.team-filter__icon--administration {
	background-image: url(images/admin_icon.svg);
}

span.team-filter__icon.team-filter__icon--ski {
	background-image: url(images/ski_icon.svg);
}

span.team-filter__icon.team-filter__icon--snowboard {
	background-image: url(images/snowboard_icon.svg);
}

span.team-filter__icon.team-filter__icon--langlauf {
	background-image: url(images/langlauf_icon.svg);
}

span.team-filter__icon.team-filter__icon--demoteam {
	background-image: url(images/demoteam_icon.svg);
}



.team-grid {
	margin-left: -12px;
	margin-right: -12px;
}

.team-card {
	width: 25%;
	padding-left: 12px;
	padding-right: 12px;
	margin-bottom: 32px;
	box-sizing: border-box;
}

.team-card__image {
	margin-bottom: 21px;
}

.team-card__image img {
	display: block;
	width: 100%;
	height: auto;
}

.team-card__name {
	font-weight: 600;
}

.team-card__function {
	margin: 0;
}

@media (max-width: 1100px) {
	.team-card {
		width: 33.3333%;
	}
}

@media (max-width: 768px) {
	.team-card {
		width: 50%;
	}
}

@media (max-width: 480px) {
	.team-card {
		width: 100%;
	}
}




/*--------------------------------------------------------------
# Jobs
--------------------------------------------------------------*/
.jobs-liste__items {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.jobs-liste__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid #ddd;
}

.jobs-liste__titel {
	margin: 0;
}

.jobs-liste .button {
	margin: 0;
}

@media (max-width: 768px) {
	.jobs-liste__item {
		flex-direction: column;
		align-items: flex-start;
	}
}



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

.sponsoren-grid {
	display: grid;
	gap: 80px;
}

.sponsoren-grid--2 {
	grid-template-columns: repeat(2, 1fr);
	gap: 120px;
}

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



.sponsor-card {
	display: block;
	text-decoration: none;
	position: relative;
	height: 170px;
}

.sponsor-card__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 32px;
	height: 164px;
}

.sponsoren-grid--2 .sponsor-card {
	height: 320px;
}

.sponsoren-grid--2 .sponsor-card__inner {
	padding-top: 64px;
	height: 310px;
}

.sponsor-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('images/Rahmen.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	z-index: 0;
}

.sponsor-card__inner img {
	position: relative;
	z-index: 1;
	max-width: 70%;
	max-height: 90%;
	width: auto;
	height: auto;
	object-fit: contain;
}

@media (max-width: 768px) {

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

@media (max-width: 480px) {

	.sponsoren-grid--2,
	.sponsoren-grid--3 {
		grid-template-columns: 1fr;
	}
}





/*--------------------------------------------------------------
# Contact Form 7
--------------------------------------------------------------*/
.wpcf7 form {
	display: flex;
	flex-wrap: wrap;
	gap: 0 32px;
}

.wpcf7 .vc_col-md-12,
.wpcf7 .vc_col-md-6 {
	box-sizing: border-box;
	margin-bottom: 34px;
}

.wpcf7 .vc_col-md-12 {
	width: 100%;
}

.wpcf7 .vc_col-md-6 {
	width: calc(50% - 16px);
}

.wpcf7 h3 {
	margin: 40px 0 22px;
	padding-top: 28px;
	border-top: 1px solid rgba(0, 0, 0, 0.14);
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
	color: #242832;
}

.wpcf7 p {
	margin: 0 0 12px;
	color: #5f6268;
	line-height: 1.6;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="file"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(0, 0, 0, 0.16);
	border-radius: 10px;
	background: #fff;
	padding: 15px 16px;
	font-size: 16px;
	color: #242832;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	outline: none;
	border-color: #d71920;
	box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.12);
}

.wpcf7-radio,
.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 12px 16px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 999px;
	background: #f7f8fa;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.wpcf7-list-item label:hover {
	background: #fff;
	border-color: #d71920;
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
	accent-color: #d71920;
}

.wpcf7 input[type="file"] {
	padding: 13px;
	background: #f7f8fa;
	cursor: pointer;
}

.wpcf7 input[type="submit"] {
	border: 0;
	border-radius: 999px;
	background: #d71920;
	color: #fff;
	padding: 16px 34px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.2s ease, background 0.2s ease;
}

.wpcf7 input[type="submit"]:hover {
	background: #b9151b;
	transform: translateY(-1px);
}

.wpcf7-not-valid-tip {
	margin-top: 8px;
	font-size: 14px;
	color: #d71920;
}

.wpcf7 form .wpcf7-response-output {
	border: 0;
	margin: 0;
	padding: 0;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	width: 100%;
	margin: 20px 0 0;
	padding: 16px 18px;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.14);
}

.wpcf7 form.sent .wpcf7-response-output {
	background: #eef8f0;
}

.wpcf7 form.invalid .wpcf7-response-output {
	background: #fff3f3;
}

@media (max-width: 768px) {
	.wpcf7 form {
		gap: 0;
	}

	.wpcf7 .vc_col-md-6 {
		width: 100%;
	}

	.wpcf7 h3 {
		font-size: 21px;
	}

	.wpcf7-radio,
	.wpcf7-checkbox {
		flex-direction: column;
		align-items: stretch;
	}
}




/* Zusätzliche Spaltenbreiten */
.wpcf7 .vc_col-md-2 {
	width: calc(16.666% - 27px);
}

.wpcf7 .vc_col-md-4 {
	width: calc(33.333% - 22px);
}

.wpcf7 .vc_col-md-5 {
	width: calc(41.666% - 19px);
}

.wpcf7 .vc_col-md-8 {
	width: calc(66.666% - 11px);
}

.wpcf7 .separator {
	width: 100%;
	height: 1px;
	margin: 8px 0 34px;
	background: rgba(0, 0, 0, 0.14);
}

/* Number / Date sauber wie Textfelder */
.wpcf7 input[type="number"],
.wpcf7 input[type="date"] {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(0, 0, 0, 0.16);
	border-radius: 10px;
	background: #fff;
	padding: 15px 16px;
	font-size: 16px;
	color: #242832;
}

/* Select moderner */
.wpcf7 select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #242832 50%),
		linear-gradient(135deg, #242832 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 44px;
}

/* Textarea */
.wpcf7 textarea {
	min-height: 180px;
	resize: vertical;
}

/* Conditional-Field-Gruppen etwas absetzen */
.wpcf7 [data-class="wpcf7cf_group"] {
	width: 100%;
	margin-top: 8px;
}

/* Gruppen innerhalb halber Spalten */
.wpcf7 .vc_col-md-6 [data-class="wpcf7cf_group"] {
	padding: 18px;
	border-radius: 14px;
	background: #f7f8fa;
}

/* Radios ohne label im zweiten Formular */
.wpcf7 .wpcf7-radio .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 12px 16px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 999px;
	background: #f7f8fa;
	cursor: pointer;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item:hover {
	background: #fff;
	border-color: #d71920;
}

/* Aber nicht doppelt stylen, wenn ein label vorhanden ist */
.wpcf7 .wpcf7-radio .wpcf7-list-item:has(label) {
	padding: 0;
	border: 0;
	background: transparent;
}

/* Mobile */
@media (max-width: 768px) {

	.wpcf7 .vc_col-md-2,
	.wpcf7 .vc_col-md-4,
	.wpcf7 .vc_col-md-5,
	.wpcf7 .vc_col-md-8 {
		width: 100%;
	}

	.wpcf7 .vc_col-md-6 [data-class="wpcf7cf_group"] {
		padding: 14px;
	}
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.site-footer {
	padding-top: 85px;
	background: #F2F3F7;
}

.footer_main .container {
	display: flex;
	flex-wrap: wrap;
	gap: 49px;
	justify-content: space-between;
}

.footer-box.footer-contact {
	max-width: 260px;
}

.newsletter {
	margin-bottom: 40px;
}

.site-footer a.menuWithIcon {
	padding: 0;
}


.footer-sitemap ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-sitemap ul li {
	margin-bottom: 30px;
}

.footer_main ul.menu>.menu-item-has-children>a {
	pointer-events: none;
}

.footer-sitemap ul li a {
	color: #26272B;
	font-family: 'Montserrat';
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.28px;
	text-transform: uppercase;
}

.footer-sitemap ul li ul li {
	margin-bottom: 0px;
}

.footer-sitemap ul ul li a {

	color: #565656;
	font-family: 'Inter';
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0;
	text-transform: none;
}

.footer-sitemap ul ul li a.submenu-card {
	background: none !important;
	font-weight: 600;
	color: #26272B;
}



.quicklinks a {
	display: block;
	color: #565656;
	font-size: 14px;
	line-height: 30px;
}


.footer-sponsors {
	display: flex;
	flex-direction: column;
	gap: 31px;
	margin-top: 20px;
	margin-bottom: 30px;
}

.footer-sponsor img {
	width: 120px;
	display: block;
}



.footer_switch a.switch_button {
	display: flex;
	padding: 10px 20px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 90px;
	background: #FFF;
	color: #26272B;
	margin-top: 60px;
	margin-bottom: 30px;
}

.footer_switch a.switch_button:hover {
	opacity: 0.7;
}

.lms_logo a {
	display: block;
	width: 150px;
	height: 27px;
	aspect-ratio: 50 / 9;
	background-image: url(images/LMS_Logo.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}









.footer_bottom {
	background: #EEEFF5;
	padding-top: 28px;
	padding-bottom: 32px;
	margin-top: 78px;
}

.footer_bottom .container {
	display: flex;
	align-items: center;
}

.footer_branding {
	display: flex;
	align-items: center;
	gap: 18px;
}

.branding_logo {
	display: flex;
	gap: 11px;
}

.branding_logo a {
	flex-shrink: 0;
	line-height: 0;
}

.branding_logo img.logo {
	width: 51px;
	height: 51px;
	border-radius: 50%;
}

.branding_text {
	color: #26272B;
	font-size: 10px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.6;
	text-transform: uppercase;
	width: min-content;
}

.impressum {
	margin-left: auto;
}

.impressum a {
	color: #565656;
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.6;
}

.impressum span {
	display: inline-block;
	margin: 0 6px;
}







#primary .grau:last-child {
	margin-bottom: 10px;
}



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

@media screen and (max-width: 1240px) {
	.slogan {
		font-size: 66px;
	}

	.headerbild h1 {
		font-size: 72px;
	}

}

@media screen and (max-width: 980px) {
	.hidetablet {
		display: none !important;
	}

	.frontpage-video {
		aspect-ratio: 3/2;
	}

	.slogan {
		font-size: 48px;
	}

	.slogan em {
		font-size: 22px;
	}


	.bikeschule_linkelement {
		width: 84%;
		justify-content: flex-end;
		padding-right: 30px;
	}

	.bikebanner {
		min-width: 343px;
	}

	h1,
	h2,
	.inhalt-zwei-spalten h2,
	.inhalt_spalten_titel,
	h1.kontakt-hero__title {
		font-size: 26px;
		margin-bottom: 30px;
		hyphens: auto;
		hyphenate-limit-chars: 10 4;
	}

	.standort-card__subtitle {
		font-size: 20px;
	}

	.kachel-title {
		font-size: 26px;
	}

	.insta_title {
		font-size: 26px;
	}

	.row.introrow {
		padding-bottom: 100px;
	}

	.row {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.kurse_wrap {
		flex-direction: column;
	}

	.standort-card__body {
		padding: 32px 20px 10px;
	}
}


@media screen and (max-width: 767px) {
	.hidemobile {
		display: none !important;
	}

	.bilder-slider__nav {
		width: 44px;
		height: 44px;
		background-size: 16px;
	}

	.bilder-slider--full .swiper-slide img {
		aspect-ratio: 4 / 3;
	}

	.header-left {
		padding-left: 20px;
	}

	.site-branding {
		gap: 4px;
	}

	.site-branding img.logo {
		width: 60px;
		height: 60px;
		margin-bottom: -30px;
	}
	
	a.switch_button { padding: 12px 15px;}

	.frontpage-video {
		aspect-ratio: 5/8;
	}

	.headerbild {
		aspect-ratio: 9/11;
	}

	.headerbild .container {
		padding-bottom: 110px;
	}

	.slogan {
		left: 21px;
	}

	.bikebanner {
		padding-right: 30px;
		padding-bottom: 6px;
	}

	.bikeschule_linkelement {
		width: 100%;
		padding-right: 15px;
		height: 180px !important;
	}

	.bikebanner {
		width: 200px;
		min-width: auto;
	}

	.bikebanner_titel {
		font-size: 18px;
	}

	.slogan em:after,
	.bikebanner_titel:after {
		height: 8px;
	}

	.bikebanner .union {
		top: 0px;
		right: 22px;
		width: 52px;
		height: 48px;
	}

	.home .row.introrow {
		padding-top: 120px;
	}

	.event {
		padding: 20px 0;
		gap: 20px 10px;
		flex-wrap: wrap;
	}

	.event-datum {
		width: 80px;
	}

	.event-link {
		width: 100%;
		text-align: right;
	}

	.insta_title {
		font-size: 20px;
	}


	.headerbild h1 {
		font-size: 48px;
	}
	.single-angebot .headerbild h1 {
		font-size: 44px;
	}


	.intro {
		width: 100%;
	}

	.halfwidthright {
		position: relative;
		width: 100%;
	}

	section.kachel-section.container {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0;
	}

	.kachel-wrapper {
		grid-template-columns: 1fr;
	}

	.kachel-item {
		height: 212px;
	}

	.angebot-kachel__excerpt {
		display: none;
	}
	.twocolumns {
		grid-template-columns: 1fr !important;
	}

	.accordion__trigger {
		font-size: 26px;
	}

	.kontakt-standorte__grid {
		grid-template-columns: 1fr;
		grid-gap: 40px;
	}

	.kontakt-oeffnungszeiten__grid {
		grid-template-columns: 1fr;
	}

	.kontakt-sammelplatze__grid {
		flex-direction: column;
	}

	.kontakt-sammelplatze__list {
		flex-direction: column;
	}

	.kontakt-sammelplatze__image {
		width: 100%;
	}
	
	.footer_main .container {display: block;}
	.footer-box.footer-contact { margin-bottom: 80px;}
	.footer-box.footer-links { margin-top: 60px;}
	
	.footer_switch { max-width: 200px;}

	.footer_bottom .container {
		align-items: flex-start;
		flex-direction: column;
		gap: 40px;
	}

	.impressum {
		margin-left: 0;  margin-top: 20px;
	}
}