/*!
Theme Name: ico_online
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ico_online
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 with others.

ico_online is based on Underscores https://underscores.me/, (C) 2012-2017 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:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Farben

ICO Corporate
#b5d9b3

ICO Jade
#9dbeb0

ICO Petrol
#006e6e

ICO Blau leuchtend
#3194c0

ICO Blau dunkel
#00527e

ICO Corporate Grau
#797979

ICO-Hellgrau Linien
#f2f2f2

ICO-Hellgrau-BG
#f5f5f5

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


/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | 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.4444444; /* 1 */
	font-size:18px;
}

html {
  scroll-behavior: smooth;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * 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; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 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; /* 1 */
	font-size: 1em; /* 2 */
}

/* 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; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;	
	
    font-style: normal;
    font-weight: normal;
	
	font-family: 'TajawalBold';
}

/**
 * 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; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * 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; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
	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; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * 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; /* 1 */
	padding: 0; /* 2 */
}

/**
 * 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; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * 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; /* 1 */
	font: inherit; /* 2 */
}


input:focus::-webkit-input-placeholder { color:transparent !important; }
input:focus:-moz-placeholder { color:transparent !important; } /* Firefox 18- */
input:focus::-moz-placeholder { color:transparent !important; } /* Firefox 19+ */
input:focus:-ms-input-placeholder { color:transparent !important; } /* oldIE ;) */

textarea::-webkit-input-placeholder { color:transparent; }
textarea:focus:-moz-placeholder { color:transparent; } /* Firefox 18- */
textarea:focus::-moz-placeholder { color:transparent; } /* Firefox 19+ */
textarea:focus:-ms-input-placeholder { color:transparent; } /* oldIE ;) */


.wpcf7-checkbox span.wpcf7-list-item {
    display: inline;
    margin: 0 0.5rem 0 0;
}

.wpcf7-checkbox #data_accept {
	width:20px;
	height:20px;
}

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

/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/


/* Webfont: Tajawal-Regular */@font-face {
    font-family: 'TajawalRegular';
    src: url('fonts/Tajawal/Tajawal-Regular.otf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: Tajawal-Medium */@font-face {
    font-family: 'TajawalMedium';
    src: url('fonts/Tajawal/Tajawal-Medium.otf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: Tajawal-Light */@font-face {
    font-family: 'TajawalLight';
    src: url('fonts/Tajawal/Tajawal-Light.otf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: Tajawal-Bold */@font-face {
    font-family: 'TajawalBold';
    src: url('fonts/Tajawal/Tajawal-Bold.otf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: Tajawal-Black */@font-face {
    font-family: 'TajawalBlack';
    src: url('fonts/Tajawal/Tajawal-Black.otf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: Tajawal-ExtraLight */@font-face {
    font-family: 'TajawalExtraLight';
    src: url('fonts/Tajawal/Tajawal-ExtraLight.otf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: Tajawal-ExtraBold */@font-face {
    font-family: 'TajawalExtraBold';
    src: url('fonts/Tajawal/Tajawal-ExtraBold.otf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* ============= */


/* Webfont: SourceSansPro-Regular */@font-face {
    font-family: 'SourceSansProRegular';
    src: url('fonts/SourceSansPro/SourceSansPro-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-Italic */@font-face {
    font-family: 'SourceSansProItalic';
    src: url('fonts/SourceSansPro/SourceSansPro-Italic.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-Light */@font-face {
    font-family: 'SourceSansProLight';
    src: url('fonts/SourceSansPro/SourceSansPro-Light.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-LightItalic */@font-face {
    font-family: 'SourceSansProLightItalic';
    src: url('fonts/SourceSansPro/SourceSansPro-LightItalic.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-ExtraLight */@font-face {
    font-family: 'SourceSansProExtraLight';
    src: url('fonts/SourceSansPro/SourceSansPro-ExtraLight.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-ExtraLightItalic */@font-face {
    font-family: 'SourceSansProExtraLightItalic';
    src: url('fonts/SourceSansPro/SourceSansPro-ExtraLightItalic.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-Bold */@font-face {
    font-family: 'SourceSansProBold';
    src: url('fonts/SourceSansPro/SourceSansPro-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-BoldItalic */@font-face {
    font-family: 'SourceSansProBoldItalic';
    src: url('fonts/SourceSansPro/SourceSansPro-BoldItalic.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-SemiBold */@font-face {
    font-family: 'SourceSansProSemiBold';
    src: url('fonts/SourceSansPro/SourceSansPro-SemiBold.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-SemiBoldItalic */@font-face {
    font-family: 'SourceSansProSemiBoldItalic';
    src: url('fonts/SourceSansPro/SourceSansPro-SemiBoldItalic.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-Black */@font-face {
    font-family: 'SourceSansProBlack';
    src: url('fonts/SourceSansPro/SourceSansPro-Black.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

/* Webfont: SourceSansPro-BlackItalic */@font-face {
    font-family: 'SourceSansProBlackItalic';
    src: url('fonts/SourceSansPro/SourceSansPro-BlackItalic.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}



/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: 'TajawalRegular', sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	margin:2rem 0 1rem 0;
	font-weight:normal;
}

p {
	margin: 1rem 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;
	font-size: 15px;
	font-size: 0.9375rem;
	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;
	font-size: 15px;
	font-size: 0.9375rem;
}

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

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

big {
	font-size: 125%;
}

/* hyphenate */

.hyphenate,
h1, h2, h3, h4,
.slick-slider .content .title {
  word-wrap: break-word;
  overflow-wrap: break-word;

-webkit-hyphens: auto;
   -moz-hyphens: auto;
        hyphens: auto;
}


/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff;
	/* Fallback for when there is no custom background color defined. */
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin: 0.75rem 0 1.75em 0;
}

ul, ol {
	margin: 0 0 1.5rem 0;
	padding:0 0 0 1.75rem;
}

ul {
	list-style: none;
}

.entry-content ul li,
.tabcontent ul li {
	text-indent: -1.5rem;
}

.entry-content ul li.responsive-tabs__list__item {
	text-indent: 0;
}

/*
.entry-content ul li:before,
.tabcontent ul li:before {
	font-family: 'iconmonstr-iconic-font';
	content: "\e009";
	font-size:0.9222rem;
	float: left;
	width: 1rem;
	margin:0 0.5rem 0 0;
	color:#9dbeb0;
}
*/

.entry-content ul li::before,
.tabcontent ul li:before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(157,190,176,1.00)"><path d="M24 12l-9-8v6h-15v4h15v6z"/></svg>');
	content: '';
  display: inline-flex;
  width: 1rem;
  height: 1rem;
	float: none;
  flex-shrink: 0;
  margin: 0.2rem 0.5rem 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}



.entry-content ul li.responsive-tabs__list__item:before {
	content: "";
	margin:0 0 0 0;
	width: 0;
}


ol {
	list-style: decimal;
}

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

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
	display:block;
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

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

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: none;
	border-color: #ccc #ccc #bbb;
	border-radius: 0;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .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: none;
	border-radius: 0;
	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: none;
    background-color: #C8E4F0; /* hellblau */
    background-color: #FFF;
    margin-bottom: 1rem;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: royalblue;
	color: #000;
	text-decoration:none;
    transition: all 0.15s ease;
}

a:visited {
	color: purple;
	color: #000;
    transition: all 0.15s ease;
}

a:hover, a:focus, a:active {
	color: midnightblue;
	color: #000;
    transition: all 0.15s ease;
}

a:focus {
	outline: thin dotted;
}

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

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

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

.main-navigation ul ul {
	box-shadow: none;
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
	padding:0.75rem 0 0.5rem 0;
	margin-top:0rem;
}

.arrow_up {
	
  width: 0; 
  height: 0; 
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  
  border-bottom: 5px solid black;
}

.main-navigation .sub-menu:before{
	content:"";
	height:0;
	width:0;
	border-left: 16px solid transparent;
	border-right: 16px solid transparent;
	border-bottom: 16px solid #9dbeb0;
	position:absolute;
	left:1rem;
	top: 0rem;
	margin:0 0 0 -3px;
	z-index:100;	
}

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

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

.main-navigation ul ul a {
	width: 240px;
	display:block;
}

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

.main-navigation li {
	float: left;
	position: relative;
}

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

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}



/* toggle buttn */
button.menu-toggle {
	background:transparent !important;
}

.menu-toggle {
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
	width: 48px;
	height: 48px;
	font-size: 0;
	text-indent: -9999px;
	appearance: none;
	box-shadow: none;
	border-radius: none;
	border: none;
	cursor: pointer;
	transition: background 0.1s;
}

.menu-toggle:focus {
	border:none;
	outline:none;
}

.menu-toggle span {
  display: block;
  position: absolute;
  top: 22px;
  left: 9px;
  right: 9px;
  height: 4px;
  background-color:#000000;
}

.menu-toggle span::before,
.menu-toggle span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #000000;
  content: "";
}

.menu-toggle span::before {
  top: -10px;
}

.menu-toggle span::after {
  bottom: -10px;
}

/* toggled X */
.menu-toggle span {
  transition: background 0s 0.1s;
}

.menu-toggle span::before,
.menu-toggle span::after {
  transition-duration: 0.1s, 0.1s;
  transition-delay: 0.1s, 0s;
}

.menu-toggle span::before {
  transition-property: top, transform;
}

.menu-toggle span::after {
  transition-property: bottom, transform;
}

/* active state, i.e. menu open */
.toggled .menu-toggle {
  background-color: #cb0032;
}

.toggled .menu-toggle span {
  background: none;
}

.toggled .menu-toggle span::before {
  top: 0;
  transform: rotate(45deg);
}

.toggled .menu-toggle span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

.toggled .menu-toggle span::before,
.toggled .menu-toggle span::after {
  transition-delay: 0s, 0.1s;
}

/* -- -- -- */

@media screen and (min-width: 681px) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}


/* -- -- -- */

.site-main .comment-navigation, 
.site-main .posts-navigation, 
.site-main .post-navigation {
	margin: 4rem 0 2rem 0em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}



/*--------------------------------------------------------------
# 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; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.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: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

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

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

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

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

@media screen and (max-width: 680px) {

	.entry-title br {
		display:none;
	}

}

/*--------------------------------------------------------------
# Contact-Header
--------------------------------------------------------------*/

.entry-header.contact-header .entry-title {
/*	width:60%; */
}

.entry-header .header_container {
	display:flex;
}

.entry-header .header_container .content {
	flex: 0 0 60%;
}

.entry-header .header_container .contact {
	flex: 0 0 40%;
	padding: 0 0 0 4rem;
}

.contact_box .contact_container {
	display:flex;
	margin:1rem 0 0 0;
}

.contact_box.mobile {
	display: none;
	margin:2rem 0 0 0;
}

.contact_box .image {
	flex: 0 0 110px;
}

.contact_box .content {
	flex: 1 1 auto;
	margin:0 0 0 1rem;
	padding:0 0 0 1rem;
	border-left:#b5d9b3 4px solid;
}


.entry-header .header_container .contact .title,
.single-product .contact_box .title,
.ico-overview-bottom .contact_box .title {
	font-family:TajawalBold, Verdana, Geneva, sans-serif;
    background: transparent;
	border: none;
	color:#006e6e;
	border-radius:0;
	text-transform: uppercase;
	font-size:0.9444rem;
	letter-spacing:0.0555rem;
	margin:-0.1111rem 0 0.4rem 0;
}

.entry-header .contact_container .intro_text,
.single-product .contact_container .intro_text,
.ico-overview-bottom .contact_container .intro_text {
	margin:0 0 0.48rem 0;
}

.entry-header .contact_container .phone,
.entry-header .contact_container .email {
}

.entry-header .contact_container .im_icon.im {
}

.register {
	margin: 2rem 0 0 132px;
}

@media screen and (max-width: 960px) {

	.entry-header .header_container {
		display: block;
	}
	
	.entry-header .header_container .contact {
		flex: 0 0 40%;
		padding: 2rem 0 2rem 0;
	}
	
	.entry-header .header_container .contact.mobile {
		padding: 3rem 0 0 0;
	}
	
	.entry-header.contact-header .entry-title {
		width: 100%;
	}
	
	.page-template-page_seminare .entry-header .contact_box,
	.ico-archive .entry-header .contact_box,
	.single-seminar .entry-header .contact_box,
	.single-ausbildung .entry-header .contact_box,
	.single-product .product-gallery-wrapper .contact_box {
		display: none;
	}
	
	.contact_box.mobile {
		display: block;
	}

}

@media screen and (max-width: 440px) {

	.entry-header .contact_container {
		display: block;
		margin: 1rem 0 0 0;
	}
	
	
	.entry-header .contact_container .image {
		max-width:120px;
	}
	
	.entry-header .contact_container .content {
		flex: 1 1 auto;
		margin: 1rem 0 0 0;
		padding: 1rem 0 0 0;
		border-top: #b5d9b3 4px solid;
		border-left: none;
	}
	


}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/

.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

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


/*--------------------------------------------------------------
# Glossary
--------------------------------------------------------------*/

.page-template-page_glossar h2.title a,
.page-template-page_glossar h2.title a:visited {
    color: #3194c0;
}

.page-template-page_glossar h2.title a:hover {
    color: #00527e;
}

.page-template-page_glossar .cloud {
    font-size: 0;
}

.page-template-page_glossar .cloud a {
    font-family: 'TajawalMedium';
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: inline-block;
    margin: 0 0.5rem 0.5rem 0;
    color: #ffffff;
    background-color: #00527e;
    padding: 0.3rem 0.5rem 0 0.5rem;
    border-radius: 0;
}

.page-template-page_glossar .cloud a:hover {
    background-color: #3194c0;
}

.page-template-page_glossar .anchor_block .content a,
.page-template-page_glossar .anchor_block .content a:visited,
.single-glossary .entry-content a,
.single-glossary .entry-content a:visited {
    color: #3194c0;
}

.page-template-page_glossar .anchor_block .content a:hover,
.single-glossary .entry-content a:hover {
    color: #00527e;
}

.page-template-page_glossar .anchor_block .content a::before,
.single-glossary .entry-content a::before {
    font-family: 'iconmonstr-iconic-font';
	content: '\e001';
    margin: 0 0.1rem 0 0;
    font-size: 0.4rem;
    line-height: inherit;
    vertical-align: middle;
}

/* .page-template-page_glossar ul li::before {
  color: #BBBBBB;
} */

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/


.single .content-area,
.page-template-default .content-area {
	display:flex;
}


.single .site-main,
.page-template-default .site-main {
	flex: 0 0 66.666%;
}


.single .sidebar,
.page-template-default .sidebar {
	flex: 0 0 33.333%;
	padding:0 0 0 3.2rem; 
}

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


@media screen and (max-width: 840px) {

.single .content-area,
.page-template-default .content-area {
	display:block;
}

}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

/* Buttons */


a.button,
a.button:visited,
.more-button,
a.more-button,
a.more-button:visited,
.tab_sidebar a .button,
.online-formular [type="submit"]  {
	font-family:'TajawalBold', Verdana, Geneva, sans-serif;
	padding:0.65rem 1rem 0.25rem 1rem;
	color:#FFF;
	margin:0 0 1rem 0;
	text-transform:uppercase;
	background-color:#006e6e;
	display:inline-block;
	text-decoration:none;
	font-size:0.94444rem;
	letter-spacing:0.05em;
	width:auto;
}

a.button:hover,
.more-button:hover,
a.more-button:hover,
a.more-button:visited:hover,
.tab_sidebar a:hover .button,
.online-formular [type="submit"]:hover {
	background-color:#3194C0;
	cursor:pointer;
}

/* Icons / Pictorams */

.im_icon.im {
	display:inline-block;
	position:relative;
	top: 2px;
	font-size:1rem;
	margin:0 0.555rem 0 0;
	color:#006e6e;
}

.im_icon.im-location {
	margin:0 0.255rem 0 0;
}

.bullet {
	display:inline-block;
	position:relative;
	top: 14px;
	font-size:4.8rem;
	margin:0 0.125rem -0.5rem -0.25rem;
	line-height:1rem;
}

/* icons */

a.icon-file {
}

a.icon-file::before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,110,110,1.00)"><path d="M14.568.075c2.202 1.174 5.938 4.883 7.432 6.881-1.286-.9-4.044-1.657-6.091-1.179.222-1.468-.185-4.534-1.341-5.702zm-.824 7.925s1.522-8-3.335-8h-8.409v24h20v-13c0-3.419-5.247-3.745-8.256-3z"/></svg>');
	content: '';
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin: 0.2rem 0.5rem 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}

div.icon-location::before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,110,110,1.00)"><path d="M12 0c-4.198 0-8 3.403-8 7.602 0 4.198 3.469 9.21 8 16.398 4.531-7.188 8-12.2 8-16.398 0-4.199-3.801-7.602-8-7.602zm0 11c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3z"/></svg>');
	content: '';
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin: 0.2rem 0.5rem 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}


div.icon-calendar::before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,110,110,1.00)"><path d="M20 20h-4v-4h4v4zm-6-10h-4v4h4v-4zm6 0h-4v4h4v-4zm-12 6h-4v4h4v-4zm6 0h-4v4h4v-4zm-6-6h-4v4h4v-4zm16-8v22h-24v-22h3v1c0 1.103.897 2 2 2s2-.897 2-2v-1h10v1c0 1.103.897 2 2 2s2-.897 2-2v-1h3zm-2 6h-20v14h20v-14zm-2-7c0-.552-.447-1-1-1s-1 .448-1 1v2c0 .552.447 1 1 1s1-.448 1-1v-2zm-14 2c0 .552-.447 1-1 1s-1-.448-1-1v-2c0-.552.447-1 1-1s1 .448 1 1v2z"/></svg>');
	content: '';
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin: 0.2rem 0.5rem 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}


div.icon-phone::before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,110,110,1.00)"><path d="M20 22.621l-3.521-6.795c-.008.004-1.974.97-2.064 1.011-2.24 1.086-6.799-7.82-4.609-8.994l2.083-1.026-3.493-6.817-2.106 1.039c-7.202 3.755 4.233 25.982 11.6 22.615.121-.055 2.102-1.029 2.11-1.033z"/></svg>');
	content: '';
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin: 0.2rem 0.5rem 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}


div.icon-contact::before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" fill="rgba(0,110,110,1.00)"><path d="M24 23h-24v-13.275l2-1.455v-7.27h20v7.272l2 1.453v13.275zm-20-10.472v-9.528h16v9.527l-8 5.473-8-5.472zm14-.528h-12v-1h12v1zm0-3v1h-12v-1h12zm-7-1h-5v-3h5v3zm7 0h-6v-1h6v1zm0-2h-6v-1h6v1z"/></svg>');
	content: '';
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin: 0.2rem 0.5rem 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}


div.anchor_link > a::before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,110,110,1.00)"><path d="M12 21l-12-18h24z"/></svg>');
	content: '';
  display: inline-flex;
  width: 0.8rem;
  height: 0.8rem;
  flex-shrink: 0;
  margin: 0.2rem 0 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}

a.up .back_up::before {
  background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,110,110,1.00)"><path d="M12 3l12 18h-24z"/></svg>');
	content: '';
  display: inline-flex;
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
  margin: 0.2rem 0 0 0;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	top: 0.15rem;
}





/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.site-header {
	max-width: 1180px;
	margin:5.3125rem auto 4.0rem auto;
	padding:0 20px;
}

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

.site-branding {
	max-width:395px;
}

.main-navigation {
	display: inline-block;
	margin:0 0 0 auto;
	width:auto;
}

.main-navigation ul {
/*	 */
}

.main-navigation ul li {
	margin:0 0 0 1rem;
	text-transform:uppercase;
	font-size:0.944444rem;
	letter-spacing:0.0625rem;
	font-family:'TajawalRegular', Verdana, Geneva, sans-serif;
}

.main-navigation ul li li {
}
	
.main-navigation ul li a,
.main-navigation ul li a:visited {
	color:#797979;
}

.main-navigation ul li a:hover,
.main-navigation ul li a:active {
	color:#006E6E;
}
.main-navigation ul li li {
	font-size:1rem;
	text-transform:none;
	margin: 0;
	background-color:#9dbeb0;
	line-height:1.25;
}

.main-navigation ul li li:first-of-type {
	padding:0.75rem 0 0 0;
}

.main-navigation ul li li:last-of-type {
	padding:0 0 0.75rem 0;
}

.main-navigation ul li li a::before {
	content: '\00BB ';
	color:#b5d9b3;
	margin-right: 0.5rem;
	font-size: 1.1111rem;
}

.main-navigation ul li li a:hover::before {
	color:#FFFFFF;
}

.main-navigation ul li li a,
.main-navigation ul li li a:visited {
	font-size:1rem;
	font-family:'TajawalLight', Verdana, Geneva, sans-serif;
	color:#000;
	padding: 0.4rem 1rem 0.20rem 1rem;
}

.main-navigation ul li li a:hover {
	color:#000;
	background-color:#b5d9b3;
}

.main-navigation ul li li.current_page_item > a,
.main-navigation ul li li.current_page_item > a:visited {
	color:#006e6e;
}

.main-navigation ul.menu > li > a,
.main-navigation ul.menu > li > a:visited {
	border-bottom:#FFF 2px solid;	
}


.main-navigation ul.menu > li.current_page_item > a,
.main-navigation ul.menu > li.current_page_item > a:visited,
.main-navigation ul.menu > li.current-page-parent > a,
.main-navigation ul.menu > li.current-page-parent > a:visited,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-parent > a.mega-menu-link {
	color:#006e6e !important;
	border-bottom:#CCC 2px solid !important;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
  line-height: 3rem;
}

@media screen and (max-width: 1080px) {

	.site-header {
		display:block;
	}
	
	.main-navigation {
		float: none;
		margin:2rem 0 0 0;
	}
	
	.site-header {
		max-width: 1180px;
		margin: 3.2rem auto 2rem auto;
	}
	
	.main-navigation ul li {
    	margin: 0 1rem 0 0;
	}

}

@media screen and (max-width: 768px) {

	
	.site-header {
		margin: 3.2rem auto 1rem auto;
	}
	
}

/* header-image 

b5d9b3 : Corporate
9dbeb0 : ICO Jade
006e6e : ICO Petrol
3194c0 : ICO Blau leuchtend
00527e : ICO Blau dunkel
797979 : ICO Corporate Grau
f5f5f5 : ICO-Hellgrau-BG

*/

.header_img_container {
	margin:0 0 0 0;
}

.header_img_bg {
	margin:0 0 0 0;
}

.header_img_bg.corporate,
.header_img_bg.bg_b5d9b3 {
	background-color:#b5d9b3;
}

.header_img_bg.jade,
.header_img_bg.bg_9dbeb0 {
	background-color:#9dbeb0;
}

.header_img_bg.petrol,
.header_img_bg.bg_006e6e {
	background-color:#006e6e;
}

.header_img_bg.lightblue,
.header_img_bg.bg_3194c0 {
	background-color:#3194c0;
}

.header_img_bg.darkblue,
.header_img_bg.bg_00527e {
	background-color:#00527e;
}

.header_img_bg.corporate_gray,
.header_img_bg.bg_3797979 {
	background-color:#797979;
}

.header_img_bg.lightgray,
.header_img_bg.bg_f5f5f5 {
	background-color:#f5f5f5;
}

.header-image {
	margin:0 auto 0 auto;
	max-width: 1180px;
	padding: 0 20px;
}

.home .header-image {
	margin:0 auto 0 auto;
	max-width: 2360px;
	padding: 0 0;
}

.header-image img {
	display:block;
}

.header_pic_container {
	margin:-75px auto 0 auto;
	max-width: 1180px;
	padding: 0 20px;
}

.header_pic {
	width:9.375rem;
	height:9.375rem;
	border-radius:50%;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	margin:0 0 0 2rem;
	overflow:hidden;
}

@media screen and (max-width: 768px) {

.header_pic {
	width:7.5rem;
	height:7.5rem;
	border-radius:50%;
}
	

	
}


@media screen and (max-width: 960px) {
	
	.header_img_bg .header_banner {
		height: 96px;
		overflow: hidden;
		position: relative;
	}
	
	.header_img_bg .header-image {
		padding:0;	
	}
	
	.header_img_bg .header_banner img {
		position:absolute;
		top: -100%;
		right: -100%;
		bottom: -100%;
		left: -100%;
		height: 96px;
		width: 910px;
		max-width:910px;
    	margin: auto;
	}
	
}


/* -- -- -- */

.menu-toggle-img {
	display:none;
}

@media screen and (max-width: 680px) {

	.site-header {
		display:flex;
		justify-content: space-between;
	}
	
	.site-header .site-branding {
		margin:0 auto 0 0;
		flex: 0 0 360px;
	}
	
	.main-navigation {
		position:relative;
	}
	
	.menu-main-navigation-container {
		position:absolute;
		top: 80px;
		right: 20px;
		z-index:9999;
		background-color:rgba(255,255,255,0.8);
	}
	
	.menu-toggle-img {
		display:block;
	}

}


@media screen and (max-width: 480px) {
	
	.site-header {

		margin: 2.4rem auto 1.6rem auto;
	
	}

	.site-header .site-branding {
		flex: 0 0 240px;
	}
	
}

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

.site-footer {
	margin:4rem 0 0 0;
}
	
.site-footer .container {
	max-width: 1180px;
	margin:0 auto;
	padding:3rem 20px 0 20px;;
}

.site-footer .partners_sm_container {
	max-width: 1180px;
	margin:1.2rem auto 0 auto;
	padding:3.2rem 20px 0.6rem 20px;
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.site-footer .partners_sm_container > div {
	margin-bottom:2.0rem;
}

.site-footer .partners_sm_container .title {
	text-transform:uppercase;
	font-size:0.85rem;
	color: #00527e;
}

.site-footer .partner_list,
.site-footer .list {
	display:flex;
	flex-wrap: wrap;
}

.site-footer .partner_list .entry,
.site-footer .list .entry {
	margin:0.75rem 1.5rem 0.75rem 0;	
}

.site-footer .partner_list .image img {
	height:4rem;
	width:auto;
}

@media screen and (max-width: 640px) {
	/*
	.site-footer .partner_list .image img {
		height:3rem;
		width:auto;
	}
	*/
	
}



.site-footer .social_media_list {
	margin:0.5rem 0 0 0;
}

.site-footer .social_media_list .image img {
	height:3rem;
	width:auto;
}

.site-footer .container .half {
	width:50%;
	display:flex;
}

.site-footer .container .column {
	width:50%;
}


.site-footer .container .column.column_0 {
	width:12%;
	padding:0 1.75rem 0 0;
	margin:0 1.75rem 1.5rem 0;
	border-right:#b5d9b3 4px solid;
}


.site-footer .container .navi_container {
	width:88%;
	display:flex;
}

.site-footer .partners {
	background-color:#f5f5f5;
}

.site-footer .footer_navigation {
	background-color: #b5d9b3; /* Corporate */
	background-color: #9dbeb0; /* Jade */
}


.site-footer .footer_navigation ul li {
	text-indent:-1.0rem;
}

.site-footer .footer_navigation ul li:before {
   content: '\00BB ';
   color:#b5d9b3;
   margin-right:0.5rem;
   font-size:1.1111rem;
}

/* correction of the "recent blog widget whitespace problem" */
.site-footer .footer_navigation .widget_recent_entries ul li::before {
	margin-right: 0.2rem;
}


.site-footer .footer_navigation .container {
	display:flex;
}

.site-footer .footer_navigation h2.widget-title,
.site-footer .footer_navigation h2.widget-title a {
	font-size:1rem;
	color:#FFF;
	text-transform:uppercase;
	margin:0 0 0.5rem 0;

}

.site-footer .footer_navigation ul {
	margin:0 0 1rem 0;
	padding:0 0 0 1.1rem;
}

.site-footer .footer_navigation a:link,
.site-footer .footer_navigation a:visited {
	color:#000;
	text-decoration:none;
}

@media screen and (max-width: 1200px) {

	
	.site-footer .navi_container {
		flex-wrap: wrap;
	}
	
	.site-footer .navi_container .column {
		padding:0 1rem 0 0;
	}
	
	.site-footer .container .half.first_half .column {
		width:50%;
	}
	
	.site-footer .container .half.first_half {
		width:66.666%;
	}
	
	.site-footer .container .half.second_half {
		width:33.333%;
		display:block;
	}
	
	.site-footer .container .half.second_half .column {
		width:100%;
	}
	
}

@media screen and (max-width: 960px) {

	.site-footer .container .half.first_half,
	.site-footer .container .half.second_half {
		width:50%;
		display:block;
	}
	
	.site-footer .container .half.first_half .column,
	.site-footer .container .half.second_half .column {
		width:100%;
	}
	
	.site-footer .container .column.column_0 {
		width:16%;
		padding:0 1.5rem 0 0;
		margin:0 1.5rem 1.5rem 0;
	}
	
	.site-footer .container .navi_container {
		width:84%;
	}
	
}

@media screen and (max-width: 640px) {

	
	.site-footer .container {
		display:block;
	}
	
	.site-footer .container .half.first_half,
	.site-footer .container .half.second_half {
		width:100%;
	}
	
	.site-footer .container .column.column_0 {
		width:20%;
		padding:0 1.25rem 0 0;
		margin:0 1.25rem 1.5rem 0;
	}
	
	.site-footer .container .navi_container {
		width:80%;
	}
	
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Seminare Übersicht
--------------------------------------------------------------*/

.single-ausbildung h1.entry-title {
	font-size:2.6666rem;
}

.seminare .teaser_list .entry {
	display:flex;
	margin:0 2rem 4rem 2rem;
}

.seminare .teaser_list .entry h3 {
	font-family:'TajawalLight', Verdana, Geneva, sans-serif;
	margin:0 0 1rem 0;
	font-size: 2.2222rem;
	line-height:2.6666rem;
	color:#006e6e;
}

.seminare .teaser_list .text {
	margin:0 0 1.222rem 0rem;
}

.seminare .teaser_list .entry .image {
	width:160px;
	height:160px;
	border-radius:75px;
	overflow:hidden;
	flex: 0 0 160px;
	margin:0 2rem 0 0;
}

.seminare .teaser_list .entry .image img {
	width:100%;
	height:auto;
}

.seminare .teaser_list .entry .content {
	width:auto;
}

/*
.seminare .button {
	text-transform:uppercase;
	padding:0.75rem 1rem 0.5rem 1rem;
	background-color:#666;
	color:#FFF;
	display:inline-block;
	margin:0.75rem 0 0 0;
	line-height:1;
}
*/

@media screen and (max-width: 560px) {

	.seminare .teaser_list .entry .image {
		width: 110px;
		height: 110px;
		border-radius: 55px;
		overflow: hidden;
		flex: 0 0 110px;
		margin: 0 0 1rem 0;
	}
	
	.seminare .teaser_list .entry {
		display: block;
		margin: 0 1.25rem 4rem 1.25rem;
	}	


}

/*--------------------------------------------------------------
## Ausbildung / Seminare
--------------------------------------------------------------*/


.next_trainings .list,
.dates .list .modules {
	display:table;
}

.termine .next_trainings {
	margin: 2rem 0 4rem 0;
}

.next_trainings h3.title {
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
	font-size: 1.1111rem;
	letter-spacing: 0.0555rem;
	color: #3194c0;	
}

.single .ausbildung .content-area {
	display:block;
}

.single .ausbildung .site-main {
	flex: 0 0 100%;
}

.next_trainings .entry,
.dates .list .modules .entry {
	display:table-row;
/*	display:flex;
	flex-wrap: wrap; */
}

.next_trainings .entry div,
.dates .list .modules .entry div {
/*	width:25%; */
	display:table-cell;
	padding:0 2.4rem 0 0;
}  


.dates_list .entry div.location,
.dates_list .entry div.availability{
	white-space: nowrap;
}


@media (max-width: 840px) {
    
    .next_trainings {
        margin-top: 3rem;
    }
    
    .next_trainings .list,
    .dates .list .modules {
        display: block;
    }
    
    .next_trainings .entry,
    .dates .list .modules .entry {
        display: block;
        margin-bottom: 2rem;
    }

    .next_trainings .entry div,
    .dates .list .modules .entry div {
        display: block;
    }

    div.availability {
        margin-top: -0.25rem;
    }
}

.next_trainings .entry div:last-of-type {
	padding:0;
}

.availability.available {
	color:#96cd29;
}
.availability.half_full {
	color:#ffa800;
}
.availability.fully_booked {
	color:#e20039;
}

.download a,
.download a:visited {
	color: #006e6e;
}

/* termine / dates */

.dates .list .date_entry {
	margin:0 0 3rem 0;
}

.dates .list .modules {
	margin:1rem 0 1rem 0;
}

/* inhalte module accordion */

.ausbildung .module,
.ausbildung .accordion {
	background-color:#FFF;
	margin:0 0 0 0;
}

.ausbildung .module {
	margin:0 0 0.75rem 0;
}

.ausbildung .accordion {
	padding: 1rem 1rem 0.75rem 1rem;
}

.ausbildung .module:last-of-type {
	margin:0 0 0 0;
}

.ausbildung .module .box {
	/*padding: 1.5rem 0 0 0;*/
}

.ausbildung .module .panel.active {
	max-height:none;	
}

.ausbildung .module .box p:first-of-type {
	margin: 0.5rem 0 1rem 0;
}

.ausbildung .module .meta_headline {
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	text-transform:uppercase;
	font-size:1.1111rem;
	line-height:1;
	color: #00527e;
	padding:0.45rem 0 0 0;
}


.ausbildung .module .headline {
	font-family:TajawalRegular, Verdana, Geneva, sans-serif;
	font-size: 1.1111rem;
	color:#3194c0;
}

/* trainer */

.trainer_list {
	display:flex;
	flex-wrap: wrap;
}

.trainer_list .entry {
	width:32%;
	margin:0 2% 2% 0;
	background-color:#FFF;
	padding:0.75rem 0.75rem 0.75rem 0.75rem;
}

.trainer_list .entry:nth-of-type(3n) {
	margin:0 0 2% 0;
}

@media screen and (max-width: 960px) {
		
	.trainer_list .entry {
		width:49%;
	}
	
	.trainer_list .entry:nth-of-type(3n) {
		margin:0 2% 2% 0;
	}
	
	.trainer_list .entry:nth-of-type(2n) {
		margin:0 0 2% 0;
	}

}


@media screen and (max-width: 660px) {
		
	.trainer_list .entry {
		width:100%;
	}
	
	.trainer_list .entry,
	.trainer_list .entry:nth-of-type(3n),
	.trainer_list .entry:nth-of-type(2n) {
		margin:0 0 0.75rem 0;
	}
	
	.trainer_list .entry:last-of-type {
		margin:0 0 0 0;
	}

}

.trainer_list .entry .image img {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.trainer_list .entry .focus {
	margin:1rem 0 0 0;
}

.trainer_list .entry .focus .label {
	font-family:TajawalBold, Verdana, Geneva, sans-serif;
	color:#006e6e;
	text-transform: uppercase;
	letter-spacing:0.0555rem;
}

.trainer_list .entry:nth-of-item(3) {
	margin:0 0 0 0;
}

.ausbildung .responsive-tabs .responsive-tabs__panel {
	display: flex;
	background-color:#efefef !important;
	border:none !important;	
	padding: 2rem 2rem 2rem 2rem;
}



.trainer_list .name {
	color:#3194c0;
	display:flex;
	justify-content: space-between;
}

.trainer_list .name .content {
	text-align:left;
	flex: 1 0 0;
}

.trainer_list .name .arrow {
	text-align:right;
	flex: 0 1 20px;
}

/* tabs */

.responsive-tabs {
	/* border-top: #CCC 2px solid;	*/
	margin: 1.5rem 0 0 0;
    padding-top: 0.75rem;
}

.responsive-tabs h3 {
	font-family:TajawalBold, Verdana, Geneva, sans-serif;
	font-size: 1.1111rem;
	letter-spacing:0.0555rem;
	color: #3194c0;
}

.responsive-tabs h3.tab_title {
	font-family:TajawalRegular, Verdana, Geneva, sans-serif;
	font-size: 2.1111rem;
	color: #00527e;
    line-height: 1.15;
}

.ausbildung .responsive-tabs ul.responsive-tabs__list {
    margin: 0 0 0 0 !important;
}

.ausbildung .responsive-tabs .responsive-tabs__list__item {
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
    background: transparent;
	border: none;
	color:#006e6e;
	border-radius:0;
	text-transform: uppercase;
	font-size:0.9444rem;
    margin: 0 0.75rem 0.75rem 0;
    padding:0.35rem 0.5rem 0.15rem 0.5rem;
    white-space: nowrap;
    float: left;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
	letter-spacing:0.0555rem
}

.ausbildung .responsive-tabs .responsive-tabs__list__item--active,
.ausbildung .responsive-tabs .responsive-tabs__list__item:hover,
.ausbildung .responsive-tabs .responsive-tabs__list__item--active:hover {
    background: #3194c0;
	border: none;
	color: #FFF;
    position: relative;
    top: 0;
    padding:0.35rem 0.5rem 0.25rem 0.5rem;
	text-transform: uppercase;
	font-size:0.9444rem;
	letter-spacing:0.0555rem
}  

@media (max-width: 767px) {
    
    .responsive-tabs-wrapper {
        border-top: none!important;
    }
    
    .responsive-tabs .responsive-tabs__heading {
        font-family: TajawalBold, Verdana, Geneva, sans-serif;
        background: transparent!important;
        border: none!important;
        border-bottom: solid 2px #efefef!important; 
        color:#006e6e!important;
        text-transform: uppercase!important;
        font-size:0.9444rem;
        padding:0.55rem 0.5rem 0.25rem 1rem!important;
	    letter-spacing:0.0555rem
    }
    
    .responsive-tabs .responsive-tabs__heading--active, 
    .responsive-tabs .responsive-tabs__heading--active:hover {
        background: #3194c0!important;
        color: #FFF!important;
    }
    
    .responsive-tabs .responsive-tabs__heading::after {
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid #3194c0!important;
        content: "";
        display: block;
        position: absolute;
        right: 20px;
        top: 22px!important;
        height: 0;
        width: 0;
    }
    
    .responsive-tabs .responsive-tabs__heading--active::after, 
    .responsive-tabs .responsive-tabs__heading--active:hover::after {
        top: 16px!important;
    }

}

.tab_container {
	display:flex;
	width: 100%;
}

#tablist1-panel4 .tab_content {
	flex: 0 0 100%;
}

.tab_content {
	flex: 0 0 60%;
}

.tab_sidebar {
	flex: 0 0 40%;
	padding:4.8rem 0 0 4.8rem;
	position:relative;
}

.tab_sidebar .info_file {
	position:absolute;
	bottom:2px;
}

.tab_sidebar .image {
	max-width:240px;
	border-radius: 120px;
	overflow:hidden;
	margin:0 0 2rem 0;	
	box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	border:#FFF solid 4px;
}

.tab_sidebar.quality_badge .image {
	border-radius: 12px;
	padding: 1rem 0.8rem;
	background-color: #fff;
}


.tab_sidebar.quality_badge .text,
.home .bild_text {
	text-align: left;
	font-size: 0.8rem;
	color: #777;
}

.tab_sidebar .text {
	font-family:TajawalRegular, Verdana, Geneva, sans-serif;
    color: #3194c0;
}

.tab_sidebar .image img {
	width:100%;
	height:auto;
}

.tab_sidebar .im-file {
	font-size:2rem;
}

.tab_sidebar .im_icon.im {
	top: 12px;
}

/* Termine & Ort */

.tab_content .availability {
	margin: -0.75rem 0 -0.25rem 0;
}

.tab_content .download {
	margin: 0.5rem 0 0 0;
}


@media screen and (max-width: 1200px) {

	.tab_sidebar {
		padding: 4.5rem 0 0 3.6rem;
	}
	
	.ausbildung .responsive-tabs .responsive-tabs__panel {
		padding: 1.5rem 1.5rem 1.5rem 1.5rem;
	}

}


@media screen and (max-width: 960px) {

	.tab_sidebar {
		padding: 4.5rem 0 0 3.0rem;
	}
	
	.ausbildung .responsive-tabs .responsive-tabs__panel {
		padding: 1.25rem 1.25rem 1.25rem 1.25rem;
	}

	a.button, a.button:visited, 
	.more-button, a.more-button, 
	a.more-button:visited, 
	.tab_sidebar a .button, 
	.online-formular [type="submit"] {
		font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
		padding: 0.5rem 0.75rem 0.2rem 0.75rem;
		font-size: 0.85rem;
	}
	
	.tab_sidebar .im-file {
		font-size: 1.75rem;
	}

}

@media screen and (max-width: 840px) {
	
	.tab_container {
		display: block;
	}
	
	.tab_sidebar {
		padding: 1.5rem 0 0 0;
		display: flex;
		justify-content: space-between;
	}
	
	.tab_sidebar .info_file {
		position: relative;
		bottom: 0;
	}
	
	.tab_sidebar .badge {
		max-width: 220px;
		order: 2;
	}
	
	.tab_sidebar .image {
		margin:0 auto 1.5rem;
	}
	
	.tab_sidebar .text {
		margin: 0 0 2rem 0;
		font-size: 0.9444rem;
		text-align: center;
	}

}

@media screen and (max-width: 640px) {
	
	.tab_sidebar {
		display: block;
	}
	
	.tab_sidebar .badge {
        margin: 0 auto;
	}

}

/*--------------------------------------------------------------
## Personen Übersicht
--------------------------------------------------------------*/


.page-template-page_personen_list .entry-content.personen_list {
}

.personen_list .image {
	background-color:#efefef;
}

.trainer_list .image img,
.personen_list .image img {
	width:100%;
	line-height:auto;
}

.personen_list .container {
	background-color: #efefef !important;
	border: none !important;
	padding: 2rem 2rem 2rem 2rem;
	margin:3rem 0 0 0 !important;
}

@media screen and (max-width: 1080px) {

	.personen_list .container {
		padding: 1.25rem 1.25rem 1.25rem 1.25rem;
	}

}

/*--------------------------------------------------------------
## Online-Anmeldung / # Formular
--------------------------------------------------------------*/

.entry-content.online-formular {
	margin:4rem 0 0 0;	
}

.formular-title {
	border-top: 4px solid rgba(0,0,0,0.075);
	margin: 0 0 0.5rem 0;
	padding: 0.8rem 0 0 0;
	
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
	color:#006e6e;
	text-transform: uppercase;
    letter-spacing: 0.04em;
	font-size: 0.9444rem;
}

.online-formular .container {
	padding: 2rem;
	background-color: rgba(0,0,0,0.075);
}

.online-formular .body_text h2 {
	color:#006e6e;
}

.online-formular label {
	color:#404040;
}

.online-formular label,
.online-formular label.top {
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
	color:#006e6e;
	text-transform: uppercase;
    letter-spacing: 0.04em;
	font-size: 0.9444rem;
	margin: 0.75rem 1rem 0.75rem 0;
	padding: 0.55rem 0.5rem 0.15rem 0.05rem;
}

.online-formular .wpcf7-radio label {
	font-family: TajawalRegular, Verdana, Geneva, sans-serif;
	text-transform: none;
	color:#404040;
}

.tab_content_form .name.flexbox,
.tab_content_form .subject.flexbox {
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
	color:#006e6e;
	text-transform: uppercase;
    letter-spacing: 0.04em;
	font-size: 0.9444rem;
}

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

@media screen and (max-width: 1080px) {

	.tab_content_form .wpcf7-list-item {
        margin: 1.5rem 0!important;
        display: block;
    }
    
    .tab_content_form .wpcf7-list-item #data_accept {
        margin-right: 0.5rem;
    }

    .tab_content_form .wpcf7-list-item.last {
        margin: 0 0 3rem 0!important;
    }

}

.tab_content_form label {
    margin-bottom: -2rem!important;
    display: block;
}

.online-formular .data_accept label {
    font-family: TajawalRegular, Verdana, Geneva, sans-serif;
	color:#404040;
	text-transform: none;
    letter-spacing: 0;
}

.online-formular label a,
.online-formular label a:visited {
	color:#006e6e;
}

.data_accept.wpcf7-checkbox {
    line-height: 1.2;
}

.online-formular .data_accept .acceptance-793,
.tab_content_form .data_accept .acceptance-793 {
	display:inline;
}

.online-formular .data_accept label,
.tab_content_form .data_accept label {
	display:inline;
}

.online-formular input[type=email],
.online-formular input[type=text],
.online-formular select,
.online-formular textarea {
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
	font-size: 1.1111rem;
	letter-spacing: 0.0555rem;
	color: #3194c0;
	padding: 0.4rem 0.5rem 0 0.5rem;
	width:100%;
}

.tab_content_form {
	width: 100%;
}

.online-formular .flex {
	display: flex;
	width: 100%;
}

.online-formular .last-flex {
	margin: 0 0 1.5rem 0;
}

.online-formular .flex p {
	flex: 0 0 50%;
	margin: 0 0 0.5rem 0;
}

.online-formular .flex p {
	position: relative;
	padding-right: 0.5rem;
}

.online-formular .flex p:nth-of-type(2n) {
	padding-right: 0;
}

.online-formular .tab_container .tab_content .flexbox {
	display:flex;
	margin: 0 0 0.5rem 0;
}

.online-formular .tab_container .tab_content .name.flexbox {
	margin: -1rem 0 0.5rem 0;
}

.online-formular .flexbox span:nth-of-type(1) {
	padding: 0 0.25rem 0 0;
}

.online-formular .flexbox span:nth-of-type(2) {
	padding: 0 0 0 0.25rem;
}

.online-formular .flexbox.street span:nth-of-type(1) {
	flex: 1 1 auto;
}

.online-formular .flexbox.street span:nth-of-type(2) {
	flex: 0 0 110px;
}

.online-formular .flexbox.city span:nth-of-type(1) {
	flex: 0 0 110px;
}

.online-formular .flexbox.city span:nth-of-type(2) {
	flex: 1 1 auto;
}

@media screen and (max-width: 680px) {
    
    .online-formular .container {
        padding: 1rem;
        padding-top: 2rem;
    }

    .online-formular .flex {
        display: block;
        width: 100%;
    }
    
    .online-formular .flex p,
    .online-formular .tab_container .tab_content .flexbox,
    .online-formular .flexbox span,
    .online-formular .tab_container .tab_content .name.flexbox,
    .online-formular .tab_container .tab_content .street.flexbox,
    .online-formular .tab_container .tab_content .city.flexbox,
    .online-formular .tab_container .tab_content .phone.flexbox {
        flex: none;
        display: inline-block;
        width: 100%;
        margin: 0;
        margin-bottom: 0.5rem;
    }
    
    .online-formular .flex p {
        padding-right: 0;
    }
    
    .online-formular .tab_container .tab_content .name.flexbox {
        margin-top: -1rem;
    }
    
    .online-formular .flexbox span:nth-of-type(1) {
        padding: 0;
    }

    .online-formular .flexbox span:nth-of-type(2) {
        padding: 0;
    }

}

/* checkbox-style */

.wpforms-container input[type=radio], .wpforms-container input[type=checkbox] {
    display:none; 
    margin:10px;
}

.wpforms-container input[type=radio] + label, .wpforms-container input[type=checkbox] + label {
    display: inline-block;
    padding: 5px !important;
    background-color: #e7e7e7 !important;
    border-color: #ddd !important;
    transition: all 0.3s ease-in-out !important;
}
 
.wpforms-container input[type=radio]:checked + label, .wpforms-container input[type=checkbox]:checked + label, .wpforms-container input[type=radio]:checked + label, .wpforms-container input[type=radio] + label:hover, .wpforms-container input[type=checkbox] + label:hover {
    background-image: none !important;
    background-color: #d0d0d0 !important;
    cursor: pointer !important;
}
 
.wpforms-container ul li {
    display: inline-block;
    margin: 5px !important;
    border-radius: 3px !important;
    line-height: 1.4em !important;
}

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

h1 {	
	font-size: 2.2222rem;
	line-height:2.6666rem;
	margin: 0 0 1.67rem 0;
	color:#006e6e;
	font-family:'TajawalLight', Verdana, Geneva, sans-serif;
}

.post,
.page {
	margin: 0 0 1.5em;
}

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

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

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

.entry-header  {
	width:100%;
}

.header-image {
	width:100%;
	height:auto;
}

.entry-header,
.entry-footer,
.entry-content,
.comments-area,
.post-thumbnail {
	max-width:1180px;
	margin:0 auto;
}

.entry-content {
/*	width: 100%; */
}

.entry-content .container {
	max-width:1180px;
	margin:0 auto;
}

.entry-content h3 {
	color:#3194c0;
	font-family:'TajawalMedium';
	margin:0.75rem 0 1rem 0;	
}


.entry-content h2 {
font-size: 1.86rem;
line-height: 2.2222rem;
margin: 0 0 1.55rem 0;
color: #006e6e;
font-family: 'TajawalLight', Verdana, Geneva, sans-serif;
}


/*--------------------------------------------------------------
## Blog
--------------------------------------------------------------*/

.content-area,
.page-template-page_top .entry-header {
	max-width:1180px;
	margin:3.2rem auto 0 auto;
	padding:0 20px;
}

.home .content-area,
.home .entry-content,
.page-template-page_top .content-area,
.page-template-page_top .entry-content {
	max-width:100%;
	width:100%;
	margin:0 auto;
	padding:0 0;
}

.home .content-area .container {
	max-width:1180px;
	margin:0 auto;
	padding:0 20px 0 10px;
}

.blog .post {
	margin:3.2rem 0 4rem 0;
}

.blog .content-area {
	display:flex;
}

.blog .site-main,
.single-post .site-main {
	max-width:60%;
}

.blog .sidebar {
	max-width:40%;
	padding:4rem 0 0 6rem;
}

@media screen and (max-width: 840px) {


	.blog .content-area,
	.single-post {
		display:block;
	}
	
	.blog .site-main,
	.single-post .site-main,
	.single .site-main {
		max-width:100%;
		width:100%;
		flex: 0 0 100%;
	}
	
	.blog .sidebar,
	.single-post .sidebar,
	.sidebar {
		display:none;
	}

}
.blog .sidebar .back.button { 
	margin:0 0 3.2rem 0;
}

.blog .sidebar .widget {
	border-left: #b5d9b3 4px solid;;
}

.blog .sidebar .widget ul {
	margin: 0 0 1.5rem 0.2rem;
	padding: 0 0 0 1.111rem;
}

.blog .sidebar .widget h2.widget-title {
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
	font-size: 1.0625rem;
	color:#006e6e;
	padding: 0 0 0 1.111rem;
	text-transform: uppercase;
}

.blog .sidebar .widget ul a,
.blog .sidebar .widget ul a:visited,
.post_navigation a,
.post_navigation a:visited {
	font-family: TajawalBold, Verdana, Geneva, sans-serif;
	font-size: 1.1111rem;
	letter-spacing: 0.0555rem;
	color:#3194c0;
}

.blog h2.entry-title,
.blog h2.entry-title a:link,
.blog h2.entry-title a:visited,
.single-post h2.entry-title {
	font-family:TajawalRegular, Verdana, Geneva, sans-serif;
	color: #3194c0;
	font-size:2.375rem;
	line-height:3rem;
	text-decoration:none;
	margin:1rem 0 0rem 0 ;
}

.blog .entry-meta,
.blog .entry-meta a,
.blog .entry-meta a:visited,
.single-post .entry-meta {
	font-family:TajawalBold, Verdana, Geneva, sans-serif;
	font-size:1.0625rem;
	color:#006e6e;
	text-transform:uppercase;
}

.blog .entry-meta .pipe {
	color:#CCC;
	font-size:0.9222rem;
	display:inline-block;
	margin:0 0.5rem;
}

.blog .post_navigation {
	display:flex;
	margin:1rem 0 0 0;
}

.blog .post_navigation .prev {
	text-align:left;
	flex: 1 1 50%;
}

.blog .post_navigation .next {
	text-align:right;
	flex: 1 1 50%;
}

.blog-index .post .content {
	display:flex;
}

.blog-index .post .content .image {
    width: 160px;
    height: 160px;
    border-radius: 75px;
    overflow: hidden;
    flex: 0 0 160px;
    margin: 1rem 2rem 0 0;
}

.blog-index .post .content .image img {
    width: 100%;
    height: auto;
}

.blog-index .post {
}

.blog-index .post .button-container {
	text-align:right;
}

.blog-index .post .more-button {
	margin: 0 0 1rem auto;
}

@media screen and (max-width: 440px) {

	.blog-index .post .content {
		display:block;
	}

}

/*--------------------------------------------------------------
## Beratung ## Anchors ## Sprungmarken
--------------------------------------------------------------*/

.anchor_block {
	margin:3.2rem 0 0 0;
}

.anchor_link {
	display:inline-block;
	margin:0 1rem 0 0;
	text-transform:uppercase;
	font-size:0.9111rem;
}

.anchor_link a:link,
.anchor_link a:visited {
	color: #006e6e;
}

.anchor_link_label {
	color: #3194c0;
}

.anchor_link .im {
	font-size:0.8rem;
	display:inline-block;
	position:relative;
	top: 2px;
	margin:0 0.4rem 0 0;
	color: #3194c0;
}

.anchor_block .anchor_header {
	border-bottom: 4px solid rgba(0,0,0,0.075);
	margin-bottom: 0.75rem;
	display: flex;
	justify-content: space-between;
}

.anchor_block h2.title {
	font-family:TajawalRegular, Verdana, Geneva, sans-serif;
	font-size:1.8rem;
	color:#3194c0;
	margin:0 0 0 0;
	flex: 0 0 auto;
}

.anchor_block .im.back_up {
	font-size:1.2rem;
	flex: 0 0 2rem;
	margin:0.45rem 0 0 0;
	color:#3194c0;
    transition: all 0.15s ease;
}

.anchor_block .im.back_up:hover {
	color:#00527e;
    transition: all 0.15s ease;
}

.anchor_block .anchor,
#top {	
	position:absolute;
	top: -2.5rem;
}

.anchor_block .content {
	background-color: rgba(0,0,0,0.075);
	padding: 2rem 2rem 1.6rem 2rem;
}

.anchor_block .content.sidebar {
	display: flex;
}

.anchor_block .content.sidebar .box {
	padding: 0 0 0 10px;
	
}

.anchor_block .content.sidebar .text {
	flex: 1 1 70%;
}

.anchor.image {
	margin: 1rem 0 0 0;
}

.anchor_block .content.sidebar > .sidebar {
	flex: 0 0 30%;
	padding: 1rem 0 0 0;
}

.anchor_block .content.sidebar .sidebar .image {
  max-width: 240px;
  border-radius: 120px;
	aspect-ratio:1/1;
  overflow: hidden;
  margin: 0 0 2rem 3rem;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
  border: #FFF solid 4px;
}

.anchor_block .content.sidebar .sidebar .image img {
	object-fit: cover;
	width: 100%;
}

@media screen and (max-width: 640px) {

	.anchor_block .anchor_header {
	    display: block;
    }

    .anchor_block h2.title {
        max-width: 95%;
        line-height: 1;
        margin-bottom: 0.1rem;
    }

    .anchor_block .im.back_up {
        float: right;
        margin-top: -1.7rem;
    }

    .anchor_block .content {
        padding: 1rem 1rem 0.8rem 1rem;
    }
    
}

.anchor_block p {
	margin:0 0 1rem 0;
}

.anchor_block h3 {
	color:#3194c0;
	margin:1rem 0 0.25rem 0;
}

.anchor_block .content h3 {
  color: #404040;
  margin: 0 0 0.25rem 0;
	font-weight: normal;
}

.anchor_block h4 {
	margin:1rem 0 0.25rem 0;
	
	text-transform:uppercase;
	font-size:0.9111rem;
	color: #006e6e;
}

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

.anchor_block .column {
	flex: 0 0 30%;
}

@media screen and (max-width: 840px) {

	.anchor_block .columns {
		display:block;
	}

}


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

.bypostauthor {
	display: block;
}


/*--------------------------------------------------------------
# Start
--------------------------------------------------------------*/

.start .entry-header {
	margin:2rem auto 0 auto;
	display:flex;
	/* 71.25 rem */
}


.start .branding {
/*	width:5rem; */
	flex-basis: 5rem;
	flex-basis: 80px;
	float:left;
	margin:0 1rem 0 0;
    flex-grow: 0;
    flex-shrink: 0;
}

.start .headline {
/*	width:38.25rem; */
	flex-basis: 35rem;
	flex-basis: auto;
}

.start .img_sidebar {
/*	width:36rem; */
	flex-basis:31.25rem;
	flex-basis: 440px;	
    flex-grow: 0;
    flex-shrink: 0;
	text-align:right;
}

.start .img_sidebar .container {
	max-width: 20rem;
	
}

.start .image img {
	margin:0 0 0 auto;
}

.start .img_sidebar.image img {
	margin:0 auto 2rem 0;
}


.start .entry-header {
	margin:6rem auto 1.2rem auto;
	padding:0 20px;	
	max-width: 1180px;
	clear:both;
}

.start .entry-header h1 {
	border-left: #b5d9b3 0.25rem solid;
	padding:0 0 0 1rem;
	margin: 0 0 0 0;
}

.start .entry-header .content {
	padding:1rem 0 0 1.25rem;
}

.start .entry-header .button a,
.start .entry-header .button a:visited {
	display:inline-block;
    padding: 0.5rem 1rem 0.3rem 1rem;
    background-color: #666;
	text-transform: uppercase;
	color: #FFF;
    text-decoration: none;
	margin:1rem 0 1rem 0;
}

.start .block .blog h3.title,
.start .courses .entry .title a,
.start .courses .entry .title a:visited {
	font-family:'TajawalBold', Verdana, Geneva, sans-serif;
	font-size:1.11111rem;
	line-height:1.5;
	letter-spacing:0.05rem;
	margin:0 0 1rem 0;
	font-weight:regular;
}

.start .blog .entry,
.start .courses .entry {
	margin:0 0 2rem 0;	
}

.start .courses .entry .content {
	display:flex;
}

.start .blog .entry .title,
.start .blog .entry .title a:link,
.start .blog .entry .title a:visited,
.start .courses .entry .title,
.start .courses .entry .title a:link,
.start .courses .entry .title a:visited {
	color:#3194c0;
}

.start .courses .entry .content {
	border-top:2px solid #ccc;
	margin:0.75rem 0 0 0;
	padding:1rem 0 0 0;
}

.start .courses .entry .content .date {
	flex: 0 0 35%;
}

.start .courses .entry .content .location {
	flex: 0 0 40%;
}

.start .courses .entry .content .button {
	flex: 0 0 25%;
	text-transform:uppercase;
}

.start .courses .entry .content .button a,
.start .courses .entry .content .button a:visited {
	color:#006e6e;
	font-size:0.9444rem;
}

@media screen and (max-width: 960px) {

	.start .entry-header .image {
	/*	width:36rem; */
	/*	flex-basis:31.25rem; */
	flex-basis: 240px;
	margin: 0 0 0 1.5rem;

	}

}

@media screen and (max-width: 880px) {
	
	.start .entry-header {
		flex-wrap: wrap;
	}
	
	.start .entry-header .text {
		flex: 1 1 80%;
	}
	
	.start .entry-header .image {
		/*	width:36rem; */
		/*	flex-basis:31.25rem; */
		flex: 1 1 80%;
	}
	
	.start .entry-header .image img {
		margin: 1rem auto 0 96px;
	}
	

	.start .entry-header .img_sidebar.image img {
		margin:2rem auto 2rem auto;
	}


}

@media screen and (max-width: 720px) {

	.start .entry-header .image {
	/*	width:36rem; */
	/*	flex-basis:31.25rem; */
	flex-basis: 240px;
	margin: 0 0 0 1.5rem;

	}

}

@media screen and (max-width: 540px) {

	.start .entry-header {
		margin:2rem auto 0 auto;
		display:block;
		/* 71.25 rem */
	}
	
	.start .entry-header .branding {
		float:none;
		width: 100%;
		border-bottom: #b5d9b3 0.25rem solid;
		padding: 0 0 1rem 0;
		margin: 2rem 0 1.0rem 0;
	}
	
	.start .entry-header .branding img {
		width: 80px;
		height: auto;
	}
	
	.start .entry-header h1 {
		border-left: none;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
	}
	
	.start .entry-header .content {
		padding: 1rem 0 0 0;
	}
	
	.start .entry-header .image img {
		margin: 1rem auto 0 0;
	}
	
	.start .entry-header .image {
		width: 100%;
		max-width: 360px;
		margin: 0 0 0 0;
	}

}

/* Header Slider */

.header-image img {
	width:100%;
	height:auto;
}

.header-image.slider .container {
	position:relative;
}

	
.header-image.slider .content_outer {
	position:absolute;
	left: 0;
	bottom:0;
	/*background-color: rgba(255, 0, 0, 0.4);*/
	width:100%;
}

.header-image.slider .content_container {
	color:#FFF;
	max-width: 1180px;
    margin: 5.3125rem auto 0 auto;
    padding: 0 20px;
}

.header-image.slider .content {
	padding:2rem 2rem 2rem 2rem;
	width:60%;
	background-color: rgba(255,255,255,0.6);
}

.header-image.slider .content .title {
	font-family:'TajawalLight', Verdana, Geneva, sans-serif;
	font-size:2.2222rem;
	line-height: 2.6666rem;
	color: #00527e;
}

.header-image.slider .content .text {
	color:#000000;
}

.header-image.slider .content .more-button {
	margin:1rem 0 0 0;
}

.header-image .content .button a,
.header-image .content .button a:visited {
	color:#FFF;
}

.header-image .slick-prev,
.header-image .slick-next,
.quote_block .slick-prev,
.quote_block .slick-next {
	display:none !important;
}

/* -=- */


.meta_title {
	font-family:TajawalBold, Verdana, Geneva, sans-serif;
	color:#006e6e;
	text-transform: uppercase;
	font-size:0.9444rem;
    margin: 0 0 0.75rem 0;
    padding:0;
	letter-spacing:0.0555rem
}



/* -=- */

ul.slick-dots {
	list-style:none;
	float:right;
	margin:1rem 2rem 0 0;
	padding:0 2rem 0 0;
}

.entry-content ul.slick-dots li::before {
    font-family: 'iconmonstr-iconic-font';
    content: "";
    font-size: 0.9222rem;
    float: left;
    width: 0;
    margin: 0 0 0 0;
}

 
ul.slick-dots li {
	display: inline-block;
	width:20px;
	height:20px;
	border-radius:10px;
	background-color:#9dbeb0;
	margin:5px;
	cursor:pointer;
	border:4px solid #FFF;
}

ul.slick-dots li.slick-active {
	background-color:#006e6e;
	border:none;
	border:2px solid #FFF;
}

ul.slick-dots li button {
	display:none;
}

@media screen and (max-width: 1200px) {
	
	
	.home .block.quote_block .slider_box {
		width: 90%;
	}

}

/* */

@media screen and (max-width: 960px) {

	.slick-slider .slick-slide .image {
		height: 400px;
		overflow: hidden;
		position: relative;
	}
	
	.slick-slider .slick-slide .image img {
		position:absolute;
		top: -100%;
		right: -100%;
		bottom: -100%;
		left: -100%;
		height: 400px;
		width: 950px;
		max-width:950px;
    	margin: auto;
	}
	
	.slick-slider .slick-slide .content {
		padding: 1.6rem 1.6rem 1.6rem 1.6rem;
		width: 62%;
		background-color: rgba(255,255,255,0.6);
	}
	
	.slick-slider .slick-slide .content .title {
		font-size: 2.0rem;
		line-height: 2.5rem;
	}

}

@media screen and (max-width: 640px) {
	
	.slick-slider .slick-slide .content .title {
		font-size: 1.8rem;
		line-height: 2.2rem;
	}
	
	.slick-slider .slick-slide .content .more-button {
		margin: 0.75rem 0 0 0;
	}
	
	
	.slick-slider .slick-slide .content {
		padding: 1.2rem 1.2rem 1.2rem 1.2rem;
		width: 64%;
	}
	
	.slick-slider .slick-slide .meta_title {
		margin:0 0 0.5rem 0; 
	}

}


@media screen and (max-width: 480px) {
	
	
	.slick-slider .slick-slide .content {
		width: 100%;
	}
	

}


/*--------------------------------------------------------------
# BLOCKS
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Teaser Block
--------------------------------------------------------------*/

.block {
	margin:4.8rem 0 0 0;	
}

.teaser_block{
	background-color: rgba(0,0,0,0.075);
	padding:2rem 0;
}

.block h2.title {
	font-family: 'TajawalLight', Verdana, Geneva, sans-serif;
	font-size:2.2222rem;
	letter-spacing:0.05rem;
	color:#006e6e;
	margin:0 0 0.6666rem 0;
	
}

.blog_course_block .container {
	display:flex;
}

.blog_course_block .container .blog {
	flex: 0 0 33.33%;
	margin:0 4rem 0 0;
}

.blog_course_block .container .courses {
	flex: 1 1 66.66%;
	margin:0 0 0 0;
}

.blog_course_block .container .courses {
}

.block.teaser_list {
}

.block .teaser_list .block_title {
	margin:-2.6rem auto 2rem auto;
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	text-transform:uppercase;
	color:#00527e;
	text-align:center;
	font-size:0.94444rem;
	letter-spacing:0.1rem;
}

.block .teaser_list .block_title span {
	background-color: rgba(0,0,0,0.075);
	padding:0.75rem 1.25rem 0.25rem 1.25rem
}

.block.start .teaser_list .teaser_box {
	display:flex;
	align-items: flex-start;
	flex-wrap: wrap;
	justify-content:center;
	padding-bottom:2.5rem;
}

.block.start .teaser_list .teaser_box h4.teaser_title {
	font-family: 'TajawalLight', Verdana, Geneva, sans-serif;
	font-size: 1.5rem;
	line-height:1.2;
	margin: 1rem 0 0.5rem 0;
	padding: 0 0.5rem;
	color:#006e6e;
	
	word-wrap: normal;
	overflow-wrap: normal;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	hyphens: none;

}

.block.start .teaser_list .teaser_box .teaser_text {
	font-family: 'TajawalRegular', Verdana, Geneva, sans-serif;
	font-size:0.94444rem;
	color:#00527E;
	line-height:1.2222;
	padding: 0 0.5rem;
/*	text-transform: uppercase; */
}

.block.start .teaser_list .entry {
	display:inline-block;
	max-width:351px;
	margin:2rem 0 1rem 0;
	padding:0 1rem 0 1rem;
	text-align:center;
}

.block.start .teaser_list .teaser_link:hover {
	filter: brightness(110%);
}

.block.start .teaser_list .entry:last-of-type {
}

.block.start .teaser_list .entry .image {
	max-width:180px;
	margin:0 auto;
	border-radius: 50%;
	overflow: hidden;
	background-color: #ffffff;
	
}

/* quote block */


.block.quote_block {
	padding:1rem 1rem 0 0;
	max-width:708px; /* 60% von 1180px */
	margin-left:0;
	margin-right:0;
}

.home .block.quote_block {
	padding:2rem 4rem 2rem 0;
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
}

.slider_box {
	width:100%;
}

.block.quote_block .container {
	width:100%;
}

.block.quote_block .quote_box,
.anchor_block .quote_block .quote_box {	
	display:flex;
}

.block.quote_block .text,
.anchor_block .quote_block .text {
	font-family:'SourceSansProItalic', Verdana, Geneva, sans-serif;
	font-size:1.3333rem;
	padding:0 0 0.2rem 1.222rem;
	margin:0 0 1rem 0;
	line-height:1.5555rem;
	color:#3194c0;
/*	max-width:720px; */
	border-left: 0.2222rem #3194c0 solid;
}

.block.quote_block .quote_sign,
.anchor_block .quote_block .quote_sign {
	font-size:6rem;
	line-height:1;
	color:#3194c0;
	flex: 0 0 40px;
	text-align:right;
	padding:0 0 0 0;
}

.block.quote_block .quote_sign,
.anchor_block .quote_block .quote_sign {
	flex: 0 0 80px;
}

.block.quote_block .source,
.anchor_block .quote_block .source {
	font-size:0.9444rem;
	text-transform:uppercase;
	margin:0 0 0 1.4444rem;
	color:#00527e;
/*	max-width:720px; */
}



@media screen and (max-width: 1180px) {

	.block.quote_block {
		max-width:576px; /* 60% von 960px */
	}
	
	.home .block.quote_block {
		max-width:960px;
	}
}


@media screen and (max-width: 960px) {

	.block.quote_block {
		max-width:576px; /* 60% von 960px */
	}
	
	.home .block.quote_block {
		max-width:800px;
	}
}


@media screen and (max-width: 800px) {

	.block.quote_block {
		max-width:520px; /* 60% von 960px */
	}
	
	.home .block.quote_block {
		max-width:600px;
	}
		
	.block.quote_block .text {
		font-size: 1.15rem;
		padding: 0 0 0.2rem 0.75rem;
	}
	
	.block.quote_block .quote_sign {
    	font-size: 4rem;
		padding: 0.2rem 0.4rem 0 0;
	}
}



@media screen and (max-width: 640px) {

	.block.quote_block {
		max-width:380px; /* 60% von 960px */
	}
	
	.home .block.quote_block {
		max-width:480px;
	}
}



/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# 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 embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

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

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}


/* --- */



#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item a.mega-menu-link::before {

  margin: -0.3rem 6px 0 -0.95rem;
		padding: 0 0 0 0.75rem;

}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
	text-indent: -0.35rem;
	  padding: 0.35rem 0.75rem 0.15rem 1.75rem;
	line-height: 1.5;
	display: block;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-flyout ul.mega-sub-menu {
  padding: 0.5rem 0px 0.5rem 0px;
	  margin: 0.75rem 0 0 0;
}

ul.mega-sub-menu::before {
	content: "";
  height: 0;
  width: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-bottom: 16px solid #9dbeb0;
  position: absolute;
  left: 1rem;
  top: 0;
  margin: -0.75rem 0 0 -3px;
  z-index: 100;
	display: block !important;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator::after {
	margin: 0;
	display: none;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
	padding: 0;
	margin: 0 0.5rem;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
}


li.mega-menu-item.mobile {
	display: none !important;
}

@media screen and (max-width: 768px) {

	
li.mega-menu-item.mobile {
	display: block !important;
}
	
.site-header {
  display: flex;
  align-items: flex-start;
}
	
.site-branding {
position: absolute;
	  max-width: 17.5rem;
}
	
.main-navigation {
    float: none;
    margin: 3.6rem 0 0 auto;
/*	width: 100%;*/ 
}
	
.main-navigation.toggled {
width: 100%;
}
	
.mega-toggle-block {
	margin-top: -4.8rem;
}
	
#mega-menu-wrap-menu-1 .mega-menu-toggle {
	background-color: transparent;
}
	
ul.mega-sub-menu::before {
	display: none !important;
}
	
.mega-menu-toggle.mega-menu-open {
	height: 1rem;
	}
	
}

@media screen and (max-width: 440px) {

.site-branding {
  max-width: 12rem;
}
	
	
.main-navigation {
    float: none;
    margin: 2.6rem 0 0 auto;
/*	width: 100%;*/ 
}
	
	
}



/*******************************************************************/
/****************** WOOCOMMERCE STYLING ****************************/
/*******************************************************************/

/* --- ICO Product Seminar Clean Styles --- */

/* Same space below the header pictogram as .content-area gives the live seminar/ausbildung pages */
.header_img_container + .product-seminar-clean {
    margin-block-start: 3.2rem;
}

/* Hero Section */
.product-hero-section {
    display: flex;
    gap: 40px;
    margin-bottom: 50px;
    flex-wrap: wrap;
    align-items: flex-start;
}
.product-gallery-wrapper { 
	flex: 1; min-width: 300px; 
}

.product-gallery-wrapper img { 
	width: 100%; 
	height: auto; 
	display: block; 
}

.product-summary-wrapper img.showcase-img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	margin-block: 1.5rem;
}

.product-summary-wrapper { 
	flex: 1.2; 
	min-width: 300px; 
}
.product-summary-wrapper .product_title { 
	margin-top: 0; 
}

.product-main-description { 
	margin: 20px 0; 
	line-height: 1.6; 
}

.price-info-box { 
	margin-bottom: 20px; 
	font-size: 1.5rem; 
	font-weight: bold; 
}

.section-divider { 
	margin: 50px 0; 
	border: 0; 
	border-top: 1px solid #eee; 
}

/* Tabs */
#tablist1-tab6 {
	display: none !important
}

/* Booking List */
.product-booking-list .list { 
	background: #f9fafa; 
	padding: 20px; 
	border-radius: 5px; 
	border: 1px solid #e1e8ed !important;
	border-radius: 0px !important;
}

.variation-row { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    padding: 15px 0; 
    border-bottom: 0px solid #ddd; 
}
.variation-row:last-child { 
	border-bottom: none; 
}

.var-date { 
	flex: 2; 
	font-weight: bold; 
}

.var-status { 
	flex: 1; 
}

.var-price { 
	flex: 1; 
	font-weight: bold; 
}

.var-action { 
	flex: 2.5; 
	text-align: right; 
}

.booking-form { 
	display: flex; 
	gap: 8px; 
	justify-content: flex-end; 
	align-items: center; 
}

.booking-form input[type="number"] { 
	width: 50px;
    padding: 8px 10px 3px 10px;
    border: 1px solid #ccc;
	margin-bottom: 6px;
}

.booking-form .button { 
	padding: 20px 30px 17px 30px;
	font-size: 13px; 
}




/* Tab Sidebar & Badges */
.tab_sidebar { 
	flex: 0 0 250px; 
	padding-left: 30px; 
}

.quality_sidebar .badge-img img { 
	max-width: 100%;
    height: auto;
    margin-bottom: 15px;
    border-radius: 10px;
    padding: 1rem;
    background: #fff;
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.15);
}

.quality_sidebar .badge-text { 
	font-size: 0.9em; 
	line-height: 1.4; 
	color: #666; 
	margin-bottom: 20px; 
}

.tab-price-row { 
	margin-top: 20px; 
	padding-top: 15px; 
	border-top: 1px solid #eee; 
}

/* Accordion */
.accordion { 
	background-color: #eee; 
	color: #444; 
	padding: 18px; 
	width: 100%; 
	border: none; 
	text-align: left; 
	outline: none; 
	font-size: 15px; 
	transition: 0.4s; 
}

.panel { 
	padding: 0 18px; 
	background-color: white; 
	max-height: 0; 
	overflow: hidden; 
	transition: max-height 0.2s ease-out; 
}

.panel.active { 
	max-height: none; 
}

/* Hide default WooCommerce form in summary since we have the list below */
.product-summary-wrapper .cart {
	display: none !important; 
}

/* Termin Buchen Button */
.single-product .list .button.alt {
	background-color: #006e6e !important;
	border-radius: 0px !important;
	padding: 20px 30px;
	margin-bottom: 6px;
}

.single-product .list .button.alt:hover {
	background-color: #3194C0 !important;
}


/* Termine Tabelle */
.single-product .next_trainings .list {
    display: table;
    width: 100%;
}

/* Standard Preisauszeichnung */
.single-product .price-info-box {
	display: none !important;
}




/* --- ICO WARENKORB STYLING --- */
.woocommerce-cart #main {
	min-width: 100%;
}

/* 1. Grundschriftart für den gesamten Warenkorb-Bereich */
.wc-block-cart, 
.wc-block-cart * {
    font-family: 'TajawalRegular', sans-serif !important;
}

/* 2. Hauptüberschrift "Cart" */
.page-id-6697 .entry-title {
    color: #006b7d;
    font-size: 2.5rem;
    font-weight: normal;
    margin-bottom: 40px;
}

/* 3. Tabellen-Header (Product / Total) */
.wc-block-cart-items__header {
    border-bottom: 2px solid #006b7d !important;
}

.wc-block-cart-items__header span {
    color: #333;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.9rem;
}

/* 4. Produktname & Preis-Details */
.wc-block-components-product-name {
    color: #006b7d !important;
    font-size: 1.2rem !important;
	line-height: 1.2em !important;
    font-weight: bold !important;
    text-decoration: none;
}

.wc-block-components-product-name:hover {
    text-decoration: underline;
}

.wc-block-components-product-metadata,
.wc-block-components-product-price {
    font-size: 1rem;
    color: #666;
}

/* 5. Mengenwähler (Quantity Selector) */
.wc-block-components-quantity-selector input {
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
}

/* 6. "Remove item" Link */
.wc-block-cart-item__remove-link {
    color: #ea1919 !important;
    font-size: 0.85rem !important;
    text-decoration: none;
}

.wc-block-cart-item__remove-link:hover {
    text-decoration: underline;
}

/* 7. Rechte Spalte: Cart Totals (Zusammenfassung) */
.wc-block-cart__totals-title {
    color: #006b7d !important;
    font-size: 1.4rem !important;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.wc-block-cart__totals-container {
    background-color: #f9f9f9;
    padding: 25px !important;
    border-radius: 5px;
    border: 1px solid #eee;
}

/* Gesamtsumme hervorheben */
.wc-block-components-totals-item__value {
    font-weight: bold;
    color: #006b7d;
}

/* 8. Checkout-Button (Der primäre Button) */
.wc-block-cart__submit-button,
.wc-block-components-checkout-button {
    background-color: #037666 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 20px !important;
	padding-top: 25px !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    text-transform: uppercase;
    transition: background 0.3s ease;
    border: none !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-button:hover {
    background-color: #3194C0 !important;
}

/* 9. Gutschein / Coupon Bereich */
.wc-block-components-totals-coupon-link {
    color: #006b7d !important;
}

/* 10. Empty Cart View */
.wc-block-cart__empty-cart__title {
    color: #006b7d;
}

.wc-block-cart__empty-cart__button {
    background-color: #037666 !important;
    border-radius: 0 !important;
}

/* Cart Termin */
.wc-block-components-product-details__termin {
	display: inline-block;
	background-color: #9DBEB0;
	padding: 10px 15px;
}

.wc-block-components-product-details__termin .wc-block-components-product-details__value {
	font-size: 1rem;
    font-weight: 700;
	color: #fff !important;
	line-height: 1;
    padding-top: 6px;
}

.wc-block-components-product-details__termin .wc-block-components-product-details__name {
	display: none !important;
}

.woocommerce-cart .wc-block-cart-items__row {
	background-color: #f9fafa;
	border: 1px solid #e1e8ed;
}

.woocommerce-cart .wc-block-components-formatted-money-amount {
	font-family: TajawalBold, Verdana, Geneva, sans-serif !important;
}


/* Item Quantity */
.woocommerce-cart .wc-block-components-quantity-selector,
.woocommerce-cart .wc-block-components-quantity-selector>.wc-block-components-quantity-selector__button--plus {
	border-radius: 0px !important;
}

.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	padding-top: 10px;
}





.single-product .entry-summary {
	margin: 0;
}

.single-product .product-main-description img.emoji {
	margin-right: 6px !important;
}

.ausbildung .tabcontent .tab-price-row {
	display: none !important;
}

.header_img_bg {
    background-color: #00527e;
    width: 100%;
    padding: 20px 0;
}

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




/* Navigation */
#mega-menu-item-6777 .mega-menu-link,
#mega-menu-item-6802 .mega-menu-link {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.nav-cart-icon,
.nav-acc-icon {
	display: block !important;
    width: 25px !important;
    height: 25px !important;
}

.nav-cart-icon svg,
.nav-acc-icon svg {
	fill: #222 !important;
}

@media (max-width: 768px) {
	#mega-menu-item-6777 .mega-menu-link,
	#mega-menu-item-6802 .mega-menu-link {
		justify-content: flex-start !important;
	}
}




/* Header */
.site-header {
    margin: 2rem auto !important;
}

.site-branding .logo {
	width: 350px;
}

/* Pre-Header (template-parts/pre-header.php) */
#ico-pre-header {
	background-color: #006e6e;
	color: #ffffff;
	padding-block: 6px;
	padding-inline: 15px;
	font-size: 14px;
	font-weight: 500;
}

#ico-pre-header .pre-header-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0 1.5rem;
	max-inline-size: 1180px;
	margin-inline: auto;
	padding-inline: 20px;
}

#ico-pre-header a {
	display: flex;
	gap: .3rem;
	align-items: center;
	padding-block: 4px;
	line-height: 1;
	color: #ffffff;
	text-decoration: none;
	font-weight: bold;
	transition: opacity 0.3s ease;
}

#ico-pre-header a:hover {
	opacity: 0.8;
}

#ico-pre-header svg {
	inline-size: 16px;
	block-size: 16px;
	display: block;
	margin-block-start: -4px;
	fill: #fff;
}

@media (max-width: 1180px) {
	#ico-pre-header .pre-header-content {
		padding-inline: 0;
	}
}

@media (max-width: 600px) {
	#ico-pre-header .pre-header-content {
		justify-content: center;
	}
}

/* Konto / Account 
****************************************/
/* Full Width */
.woocommerce-account #main {
	flex: 0 0 100% !important;
}

.woocommerce-MyAccount-content .woocommerce-info {
    margin: 0 !important;
	background-color: #f9fafa;
    border: 1px solid #e1e8ed;
}

.woocommerce-MyAccount-content .woocommerce-info::before {
	color: #006e6e !important;
}

.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-Address-title.title .edit {
	background-color: #037666 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 20px !important;
    padding-top: 25px !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    text-transform: uppercase;
    transition: background 0.3s ease;
    border: none !important;
    cursor: pointer;
}

.woocommerce-MyAccount-content .woocommerce-Address-title.title .edit {
	float: left;
    margin-bottom: 1rem;
}

.woocommerce-MyAccount-content .woocommerce-info .button:hover,
.woocommerce-MyAccount-content .woocommerce-Address-title.title .edit:hover {
	background-color: #3194C0 !important;
}

/* Account login/register */
.woocommerce-account .post-6701 .woocommerce-notices-wrapper .woocommerce-message {
	display: none !important;
}

.woocommerce-account .post-6701 .woocommerce-notices-wrapper .woocommerce-info {
	margin: 0 !important;
	background-color: #f9fafa !important;
    border: 1px solid #e1e8ed !important;
}

.woocommerce-account .post-6701 .woocommerce-notices-wrapper .woocommerce-info::before {
	color: #006e6e !important;
}

.woocommerce-account .post-6701 .woocommerce-notices-wrapper {
	margin-bottom: 2rem !important;
}

/* Buttons */
.woocommerce-account .post-6701 .woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit,
.woocommerce-account .post-6701 .woocommerce-button.button.woocommerce-form-login__submit {
	background-color: #037666 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 20px !important;
    padding-top: 25px !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    text-transform: uppercase;
    transition: background 0.3s ease;
    border: none !important;
    cursor: pointer;
}

.woocommerce-account .post-6701 .woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit:hover,
.woocommerce-account .post-6701 .woocommerce-button.button.woocommerce-form-login__submit:hover {
	background-color: #3194C0 !important;
}

/* Container */
/* Nur für Desktop- und Tablet-Ansichten (nebeneinander) */
@media screen and (min-width: 768px) {
    
    /* 1. Flexbox für den Haupt-Container aktivieren */
    /* 1. Flexbox für den Haupt-Container aktivieren */
    #customer_login {
        display: flex;
        gap: 40px; /* Abstand NUR zwischen den beiden Boxen */
        align-items: stretch;
        
        /* NEU: Überschreibt die alten WooCommerce-Abstände */
        margin: 0 !important; 
        padding: 0 !important;
        width: 100% !important;
    }

    /* 2. Standard-WooCommerce-Abstände und Floats überschreiben */
    #customer_login .u-column1,
    #customer_login .u-column2 {
        flex: 1; /* Beide Boxen nehmen exakt 50% der Breite ein */
        float: none !important;
        margin: 0 !important;
        width: auto !important;
        
        /* Optional: Damit man die gleiche Höhe auch optisch sieht,
           geben wir den Boxen einen leichten Hintergrund & Rahmen */
        background-color: #f9fafa;
        border: 1px solid #e1e8ed;
        padding: 30px;
        border-radius: 8px;
    }
	
	/* Versteckt den alten WooCommerce-Clearfix, damit Flexbox nicht gestört wird */
#customer_login::before,
#customer_login::after {
    display: none !important;
}
}

/* Cart 
****************************************/
/* Fügt das Schloss-Icon vor dem Text im Warenkorb und in der Kasse ein */
.wc-block-cart__submit-button .wc-block-components-button__text::before,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%23ffffff" viewBox="0 0 24 24"><path d="M18,8H17V7A5,5,0,0,0,7,7V8H6a2,2,0,0,0-2,2V20a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V10A2,2,0,0,0,18,8ZM9,7a3,3,0,0,1,6,0V8H9Zm6.71,6.71-4,4a1,1,0,0,1-1.42,0l-2-2a1,1,0,0,1,1.42-1.42L11,15.59l3.29-3.3a1,1,0,0,1,1.42,1.42Z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: relative;
    top: -3px; 
}

/* USP-Box */
.ico-cart-usps {
	display: flex;
	justify-content: space-between;
	background-color: #f9fafa;
	border: 1px solid #e1e8ed;
	padding: 20px;
	border-radius: 0px;
	margin-bottom: 30px;
	gap: 20px;
	width: 100%;
	box-sizing: border-box;
}

.ico-cart-usps .usp-item {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15px;
	font-weight: 500;
	padding: 0px 10px;
	color: #3C434A;
	line-height: 1.3;
}


.ico-cart-usps .usp-item span {
	margin-top: 4px !important;
}

.ico-cart-usps .usp-item svg {
	width: 24px;
	height: 24px;
	fill: #006e6e;
	flex-shrink: 0;
}

/* Gutschein-Code */
#wc-block-components-totals-coupon__input-coupon {
	border-radius: 0px !important;
    border-color: #e1e8ed;
}

/* Leeres Cart */
.wp-block-woocommerce-cart.alignwide .wp-block-buttons {
	margin-top: 2rem;
}

.empty-cart-btn.wp-block-button__link.wp-element-button {
	background-color: #037666 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 20px !important;
    padding-top: 25px !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    text-transform: uppercase;
    transition: background 0.3s ease;
    border: none !important;
	cursor: pointer;
}

.empty-cart-btn.wp-block-button__link.wp-element-button:hover {
	background-color: #3194C0 !important;
}


/* Mobile */
@media (max-width: 768px) {
	.ico-cart-usps {
		flex-direction: column;
		gap: 15px;
	}
}

/* Checkout 
****************************************/
.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background-color: #B5D9B3 !important;
}

/* Full width */
.woocommerce-checkout #main {
	flex: 0 0 100% !important;
}

/* Kleinere Font Sizes */
.woocommerce-checkout #main .wc-block-components-product-details__termin .wc-block-components-product-details__value {
    font-size: .75rem;
}

/* Gutschein ausblenden */
.woocommerce-checkout #main .wp-block-woocommerce-checkout-order-summary-coupon-form-block.wc-block-components-totals-wrapper {
	display: none !important;
}


/* Form Styling: */
.wc-block-components-form.wc-block-checkout__form * {
	border-radius: 0px !important;
}

.wc-block-components-text-input.wc-block-components-address-form__address_2,
.wc-block-components-address-form__address_2-toggle {
	display: none !important;
}


/* Zahlungsoptionen */
.wc-block-checkout__payment-method.wp-block-woocommerce-checkout-payment-block.wc-block-components-checkout-step,
.wc-block-checkout__order-notes.wp-block-woocommerce-checkout-order-note-block.wc-block-components-checkout-step,
.wc-block-checkout__terms.wc-block-checkout__terms--with-separator.wp-block-woocommerce-checkout-terms-block {
	background-color: #f9fafa !important;
}

.wc-block-checkout__payment-method.wp-block-woocommerce-checkout-payment-block.wc-block-components-checkout-step {
	padding: 20px 20px 0px 20px;
	margin: 0 !important;
	border-top: 1px solid #e1e8ed;
	border-left: 1px solid #e1e8ed;
	border-right: 1px solid #e1e8ed;
}

.wc-block-checkout__order-notes.wp-block-woocommerce-checkout-order-note-block.wc-block-components-checkout-step {
	padding: 20px;
	margin: 0 !important;
	border-left: 1px solid #e1e8ed;
	border-right: 1px solid #e1e8ed;
}

.wc-block-checkout__terms.wc-block-checkout__terms--with-separator.wp-block-woocommerce-checkout-terms-block {
	padding: 0px 20px 20px 20px;
	border-top: 0px solid #e1e8ed;
	border-bottom: 1px solid #e1e8ed;
	border-left: 1px solid #e1e8ed;
	border-right: 1px solid #e1e8ed;
}

.woocommerce-checkout #main .wc-block-components-product-name {
	font-size: 1rem !important;
}

.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background-color: #f00;
}

.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted label,
.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted #radio-control-wc-payment-method-options-cheque__content {
	background-color: #B5D9B3 !important;
	color: #fff;
}

.wc-block-components-payment-method-label {
	color: #000 !important;
    line-height: 1em !important;
	margin-bottom: -19px !important;
}

.wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked {
	padding-bottom: 30px !important;
}

/* Bestellung aufgeben Button */
.woocommerce-checkout #main .wc-block-components-checkout-place-order-button {
	background-color: #037666 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 20px !important;
    padding-top: 25px !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    text-transform: uppercase;
    transition: background 0.3s ease;
    border: none !important;
	cursor: pointer;
}

.woocommerce-checkout #main .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
	display: flex !important;
}

.woocommerce-checkout #main .wc-block-components-checkout-place-order-button:hover {
	background-color: #3194C0 !important;
}

.wc-block-components-checkout-return-to-cart-button {
	display: none !important;
}

.wc-gzd-checkout .is-large .wc-gzd-checkout-submit .wc-block-checkout__actions {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.wc-gzd-checkout .is-large .wc-gzd-checkout-submit .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
    margin-bottom: 0em !important;
}

/* Produktnamen hover entfernen */
.wc-block-components-product-name:hover {
	text-decoration: none !important;
}

/* Bestellübersicht */
.wp-block-woocommerce-checkout-order-summary-block {
	background-color: #f9fafa !important;
	border: 1px solid #e1e8ed !important;
    border-radius: 0px !important;
}

.woocommerce-checkout #main .wc-block-components-sidebar {
	padding-left: 0 !important;
}

.wc-gzd-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
    min-width: 80px !important;
}

.wc-block-components-product-details__termin {
    width: fit-content !important;
}

/* Simplify Header Footer 
****************************************/
body.woocommerce-cart #site-navigation {
	display: none !important;
}

body.woocommerce-cart footer .navi_container .first_half.half,
body.woocommerce-cart footer .navi_container .second_half.half .column.column_3,
body.woocommerce-cart footer .navi_container .second_half.half .column.column_4 #recent-posts-3,
body.woocommerce-cart footer .navi_container .second_half.half .column.column_4 #menu-kontakt-footer #menu-item-257,
body.woocommerce-cart footer .navi_container .second_half.half .column.column_4 #menu-kontakt-footer #menu-item-263,
body.woocommerce-cart footer .navi_container .second_half.half .column.column_4 #menu-kontakt-footer #menu-item-5675 {
	display: none !important;
}

body.woocommerce-checkout #site-navigation {
	display: none !important;
}

body.woocommerce-checkout footer .navi_container .first_half.half,
body.woocommerce-checkout footer .navi_container .second_half.half .column.column_3,
body.woocommerce-checkout footer .navi_container .second_half.half .column.column_4 #recent-posts-3,
body.woocommerce-checkout footer .navi_container .second_half.half .column.column_4 #menu-kontakt-footer #menu-item-257,
body.woocommerce-checkout footer .navi_container .second_half.half .column.column_4 #menu-kontakt-footer #menu-item-263,
body.woocommerce-checkout footer .navi_container .second_half.half .column.column_4 #menu-kontakt-footer #menu-item-5675 {
	display: none !important;
}




/* Availability Traffic Light */

.availability-wrapper {
	min-width: 20%;
	flex: 1;
}






/* Booking list: location, price per tariff, early bird, discount choice (TCK-0016).
   Greens/greys chosen for >= 4.5:1 contrast on white and on the badge tint. */
.var-location {
	display: flex;
	margin-block-start: 0.4rem;
	color: #555;
}

.ico-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
}

.ico-price--privat {
	display: none;
}

.variation-item-wrapper:has(.ico-discount input[value="privat"]:checked) .ico-price--privat {
	display: flex;
}

.variation-item-wrapper:has(.ico-discount input[value="privat"]:checked) .ico-price--firmen {
	display: none;
}

.ico-eb-badge {
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	background-color: #e3f1d4;
	color: #237a35;
	font-size: 0.7em;
	font-weight: bold;
	line-height: 1.3;
}

.ico-price-amount--eb {
	color: #237a35;
	font-size: 1.15em;
}

.ico-price-regular {
	color: #767676;
	font-size: 0.85em;
	font-weight: normal;
}

.ico-price-note {
	margin-block-start: 0.35rem;
	color: #666;
	font-size: 0.75em;
	font-weight: normal;
	line-height: 1.25;
}

.ico-discount summary {
	display: inline-block;
	color: #006e6e;
	font-size: 0.8em;
	cursor: pointer;
	list-style: none;
}

.ico-discount summary::-webkit-details-marker {
	display: none;
}

.ico-discount summary::after {
	content: " \203A";
}

.ico-discount[open] summary::after {
	content: " \2039";
}

.ico-discount-options {
	display: grid;
	gap: 0.35rem;
	margin: 0;
	padding: 0.5rem 0 0;
	border: 0;
	font-size: 0.8em;
	font-weight: normal;
}

.ico-discount-options label {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	cursor: pointer;
}




/* Warenkorb
**********************************************/
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-components-product-badge {
	display: none !important;
}



/* Toast-Popup "Warenkorb hinzugefügt"
**********************************************/
/* Die hässlichen WooCommerce Block-Notices im Warenkorb global verstecken */
body.woocommerce-cart .wc-block-components-notices,
body.woocommerce-checkout .wc-block-components-notices {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Das Toast-Container-Design */
.ico-toast-box {
    position: fixed;
    bottom: 30px;
    right: -400px; /* Startposition außerhalb des Bildschirms */
    width: 320px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    z-index: 999999;
    transition: right 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Klasse, die per JS hinzugefügt wird, um das Popup reinzufahren */
.ico-toast-box.show {
    right: 30px;
}

/* Für Handys anpassen */
@media screen and (max-width: 768px) {
    .ico-toast-box { width: 90%; right: -100%; bottom: 20px; }
    .ico-toast-box.show { right: 5%; }
}

.ico-toast-content {
    padding: 20px;
}

.ico-toast-title {
    color: #333;
    font-size: 1.1em;
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.ico-toast-message {
    color: #666;
    font-size: 0.9em;
}

.ico-toast-btn {
    color: #fff !important;
    padding: 10px;
    display: block;
    text-align: center;
    text-decoration: none;
    margin-top: 10px;
    font-weight: bold;
    transition: opacity 0.3s;
}

.ico-toast-btn:hover {
    opacity: 0.8;
}

.ico-toast-progress {
    height: 4px;
    width: 100%;
    animation: ico-toast-bar 6s linear forwards;
}

@keyframes ico-toast-bar {
    0% { width: 100%; }
    100% { width: 0%; }
}










/* ==========================================================================
   ICO SHOP ÜBERSICHT - MODERNE SEMINAR-KARTEN
   ========================================================================== */

/* 1. Grund-Layout der Karten (Flexbox für gleiche Höhen) */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding-bottom: 20px !important; 
    overflow: hidden;
    border: 1px solid #f0f0f0;
}

/* 2. Hover-Effekt: Karte hebt sich beim Daraufzeigen leicht an */
.woocommerce ul.products li.product:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* 3. Bilder nahtlos an den oberen Rand anpassen */
.woocommerce ul.products li.product a img {
    margin: 0 0 20px 0 !important;
    width: 100%;
    border-radius: 8px 8px 0 0;
    object-fit: cover;
}

/* 4. Den klickbaren Bereich (Titel & Preis) flexibel machen */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Nimmt den ganzen Platz ein und drückt den Button runter */
    padding: 0 20px;
    text-decoration: none;
}

/* 5. Titel-Design */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.15em !important;
    line-height: 1.4 !important;
    color: #00527e !important;
    margin-bottom: 15px !important;
    padding: 0 !important;
    font-weight: bold;
}

/* 6. Preis-Design */
.woocommerce ul.products li.product .price {
    color: #333 !important;
    font-size: 1.1em !important;
    font-weight: bold;
    margin-bottom: 5px;
}

/* 7. Germanized-Zusatzinfos (MwSt. / Versand) dezent stylen */
.woocommerce ul.products li.product .wc-gzd-additional-info {
    font-size: 0.8em !important;
    color: #888 !important;
    margin: 0 20px 5px 20px !important;
    padding: 0 !important;
}

/* 8. Der Button: Immer ganz unten fixiert & im ICO-Design */
.woocommerce ul.products li.product .button {
    margin: auto 20px 0 20px !important; /* 'auto' pusht den Button immer exakt an den unteren Rand! */
    background-color: #006e6e !important;
    color: #ffffff !important;
    border-radius: 4px;
    text-align: center;
    font-weight: bold;
    padding: 12px 15px !important;
    transition: background 0.3s ease;
    display: block;
}

.woocommerce ul.products li.product .button:hover {
    background-color: #00527e !important;
}


/* ==========================================================================
PRODUKTSEITEN
========================================================================== */

.variation-item-wrapper .var-action {
	flex: 1 1 150px;
    text-align: right;
    display: flex;
    flex-direction: row;
	justify-content: flex-end;
    gap: 8px;
}

.variation-item-wrapper .var-action .button.infopaket {
	/* Secondary action: blue is the client's highlight colour, and solid petrol
	   would compete with "Termin buchen" next to it. */
	background-color: #fff;
	border: 2px solid #006e6e;
    border-radius: 0px;
    color: #006e6e;
	font-family: 'TajawalBold', sans-serif;
    text-align: center;
	text-transform: inherit;
    font-size: 100%;
    padding: 6px 20px 0px 20px;
    line-height: 1em;
    display: flex;
    align-items: center;
    max-height: 58px;
}

.variation-item-wrapper .var-action .button.infopaket:hover {
	background-color: #006e6e;
	color: #fff;
}

/* ==========================================================================
Header-Background
========================================================================== */
.header_img_bg.bg_00527e {
	background-color: #00527e;
    width: 100%;
    padding: 0px;
    margin-bottom: 5rem;
    text-align: center;
}

/* The spacing above is meant for the bare banner on product pages. Inside a
   pictogram header it pushed the round pictogram below the banner instead of
   half over it; restore the original zero spacing there. */
.header_img_container > .header_img_bg {
    margin-block-end: 0;
    padding: 0;
}


/* ==========================================================================
ICO AKADEMIE LAYOUT - CSS
========================================================================== */

.ico-akademie-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px 60px 20px;
}

/* 1. HERO BEREICH */






/* 2. SEKTIONS-KÖPFE */
.ico-section-header {
	margin-bottom: 40px;
	border-bottom: 2px solid #006e6e;
	padding-bottom: 15px;
}

.ico-section-header h2 {
	font-size: 2.2em;
	color: #00527e;
	margin: 0 0 10px 0;
}

.ico-section-header p {
	color: #666;
	font-size: 1.1em;
	margin: 0;
}

/* 3. PRODUKT-GRID & KARTEN */
.ico-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 30px;
	margin-bottom: 80px;
}

.ico-product-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border: 1px solid #e1e8ed;
	overflow: hidden;
}

.ico-product-card:hover {
	transform: translateY(-6px);
}

.ico-card-image {
	width: 100%;
	height: 220px !important;
	object-fit: cover;
	border-bottom: 1px solid #f0f0f0;
}

.ico-card-content {
	padding: 25px 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.ico-card-labels {
	display: flex;
	gap: .5rem;
}

.ico-card-category {
	display: inline-block;
    font-size: 0.6em;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    background-color: #9dbeb0;
	border: 1px solid #9dbeb0;
    font-weight: bold;
    margin-bottom: 10px;
    width: fit-content;
    padding: 10px 10px 4px 10px;
}

/* The topic on a tile links to its category page (TCK-0021). */
a.ico-card-category {
	text-decoration: none;
}

a.ico-card-category:hover,
a.ico-card-category:focus-visible {
	text-decoration: underline;
}

.ico-price-suffix {
	font-size: 0.75em;
	font-weight: normal;
	color: #666; /* #888 had 3.5:1 on white, below the 4.5:1 for small text */
}

.ico-discount-tag {
	/* display: inline-block; */
	display: none !important;
    font-size: 0.6em;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #9dbeb0;
    background-color: #fff;
    border: 1px solid #9dbeb0;
    font-weight: bold;
    margin-bottom: 10px;
    width: fit-content;
    padding: 10px 10px 4px 10px;
}

.ico-card-title {
	font-size: 1.2em;
	line-height: 1.4;
	color: #00527e;
	margin: 0 0 15px 0;
	font-weight: bold;
	text-decoration: none;
}

.ico-card-title:hover { 
	color: #006e6e; 
}

.ico-card-desc {
	font-size: 0.95em;
	color: #555;
	line-height: 1.5;
	margin-bottom: 20px;
	flex-grow: 1;
}

.ico-card-footer {
	border-top: 1px solid #eee;
	padding-top: 20px;
	margin-top: auto;
}

.ico-card-price {
	font-size: 1.1em;
	color: #333;
	font-weight: bold;
	margin-bottom: 15px;
	display: block;
}

.ico-card-price .woocommerce-price-suffix {
	font-size: 0.75em;
	color: #888;
	font-weight: normal;
}

.ico-card-btn {
	display: block;
	background: #006e6e !important;
	color: #fff !important;
	text-align: center;
	padding: 16px 24px 12px 24px !important;
	text-decoration: none;
	font-weight: bold;
	transition: background 0.3s;
}

.ico-card-btn:hover { 
	background: #3194C0 !important; 
	color: #fff; 
}

/* 4. CONVERSION BLOCK (Infogespräch) */
.ico-conversion-block {
	background-image: url(/wp-content/uploads/2020/03/ICO-Fotoband-02-1598x400.jpg);
	color: #fff;
	padding: 50px;
	text-align: center;
	margin-top: 20px;
}

.ico-conversion-inner {
	background: rgba(255,255,255,0.75);
    padding: 60px 40px;
    text-align: center;
    border: 1px solid #e1e8ed;
}

.ico-conversion-block h3 { 
	color: #000; 
	font-size: 2em; 
	margin-bottom: 15px; 
}

.ico-conversion-block p { 
	color: #000;
	font-size: 1.1em; 
	margin-bottom: 30px; 
	opacity: 0.9; 
}

.ico-conversion-btn {
	background: #006e6e !important;
	color: #fff !important;
	padding: 20px 30px 15px 30px;
	font-size: 1.1em;
	font-weight: bold;
	text-decoration: none;
	display: inline-block;
	transition: transform 0.3s, box-shadow 0.3s;
}
.ico-conversion-btn:hover {
	background: #3194C0 !important;
}

/* Filter */






/* ==========================================================================
   ICO WARENKORB ZÄHLER
   ========================================================================== */

/* Den Container relativ setzen, damit sich die Bubble daran "festhalten" kann */
.nav-cart-icon {
    position: relative;
    display: inline-block;
}

/* Die Zähler-Bubble */
.ico-cart-bubble {
    position: absolute;
    top: -5px;
    right: -8px;
    background-color: #006e6e;
    color: #ffffff !important;
    font-size: 11px;
    font-weight: bold;
    line-height: 1;
    padding: 5px 4px 1px 5px;
    min-width: 18px;
    text-align: center;
    border-radius: 50%;
    transition: transform 0.2s ease-in-out;
}




/* =========================================================================
   ICO KONTAKTFORMULAR (CF7) STYLING
   ========================================================================= */

/* Äußerer Rahmen für das Formular */
.ico-contact-form {
    max-width: 800px;
    margin: 0 auto;
    padding: 0px 40px 40px 40px;
    background-color: #f9fafa;
    border: 1px solid #e1e8ed;
    border-radius: 6px;
}

/* Standard Eingabefelder (Text, E-Mail, Dropdown) */
.ico-contact-form .ico-input,
.ico-contact-form .ico-select,
.ico-contact-form .ico-textarea {
    width: 100%;
    padding: 14px 15px;
    border: 1px solid #caced1;
    border-radius: 4px;
    background-color: #ffffff;
    font-family: inherit;
    font-size: 16px;
    color: #333;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Hover & Focus (Klick) Effekte in ICO-Petrol */
.ico-contact-form .ico-input:focus,
.ico-contact-form .ico-select:focus,
.ico-contact-form .ico-textarea:focus {
    border-color: #006e6e;
    box-shadow: 0 0 0 3px rgba(0, 110, 110, 0.15);
    outline: none;
}

/* Platzhalter-Text etwas blasser machen */
.ico-contact-form ::placeholder {
    color: #a0aab2;
    opacity: 1;
}

/* Textbereich spezifisch anpassen */
.ico-contact-form .ico-textarea {
    min-height: 140px;
    resize: vertical; /* Lässt den Nutzer die Box nur nach unten aufziehen */
}

/* Checkbox & Datenschutz-Text bündig machen */
.ico-contact-form .wpcf7-list-item {
    margin-left: 0;
    display: inline-flex;
    align-items: baseline;
}
.ico-contact-form input[type="checkbox"] {
    transform: scale(1.2);
    margin-right: 12px;
    margin-top: 4px;
    cursor: pointer;
}

/* Senden Button aufwerten */
.ico-contact-form .ico-submit-btn {
    width: 100%;
    max-width: 300px;
    padding: 16px 20px;
    font-size: 1.1em;
    font-weight: bold;
    cursor: pointer;
}

/* Abstände */
.ico-contact-form .ico-form-row label {
    margin-bottom: -20px !important;
}

.ico-contact-form .ico-form-row {
	padding-top: 10px !important;
	margin-bottom: 0px !important;
}

/* Mobile Anpassungen */
@media (max-width: 600px) {
    .ico-contact-form {
        padding: 25px 15px;
    }
    /* Button nimmt auf dem Handy die volle Breite ein */
    .ico-contact-form .ico-submit-btn {
        max-width: 100%;
    }
}

/* CF7 General Styling */
.wpcf7 form .wpcf7-response-output {
    padding: 0.5em 1em 0.2em 1em !important;
}





/* =========================================================================
   ICO KONTAKTSEITE - ABSOLUTE SIDEBAR IM LILA BEREICH (MIT STICKY)
   ========================================================================= */

/* Der Haupt-Container wird zum Anker für die absolute Positionierung */
.ico-contact-layout {
    position: relative;
    display: block; /* Flexbox aus, wir arbeiten jetzt absolut */
}

/* Linke Spalte (Text & Formular) darf sich jetzt im blauen Bereich voll ausbreiten */
.ico-contact-main {
    width: 100%;
}

/* Die Sidebar schieben wir komplett aus dem blauen in den lila Bereich.
   Der Clou: Durch bottom: 0; geht der unsichtbare Schacht bis ganz nach unten,
   sodass die Box darin sticky scrollen kann! */
.ico-contact-sidebar {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(100% + 40px); /* 40px Abstand neben dem blauen Bereich */
    width: 320px; /* Breite der Kontaktbox */
}

/* Die sichtbare Box selbst (Hintergrund, Rahmen) + Sticky Effekt */
.ico-sidebar-box {
    position: sticky;
    top: 60px; /* Stoppt 60px unter dem oberen Bildschirmrand beim Scrollen */
    background-color: #f9fafa;
    border: 1px solid #e1e8ed;
    border-radius: 6px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.ico-sidebar-box h3 {
    color: #00527e;
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 1.4em;
    border-bottom: 2px solid #006e6e;
    padding-bottom: 10px;
    display: inline-block;
}

.ico-sidebar-item {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    line-height: 1.5;
    color: #333;
}

.ico-sidebar-item:last-child {
    margin-bottom: 0;
}

.ico-sidebar-item .icon {
    color: #006e6e;
    flex-shrink: 0;
    margin-top: 2px;
}

.ico-sidebar-item a {
    color: #006e6e;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.2s ease;
}

.ico-sidebar-item a:hover {
    color: #00527e;
    text-decoration: underline;
}

.ico-sidebar-item small {
    color: #888;
    font-size: 0.85em;
    display: block;
    margin-top: 2px;
}

/* =========================================================================
   MOBILE & TABLET: Box rutscht automatisch unter das Formular
   ========================================================================= */
@media (max-width: 1100px) {
    .ico-contact-sidebar {
        position: static; /* Absolute Positionierung aufheben */
        width: 100%; /* Nimmt jetzt wieder die volle Breite unter dem Formular ein */
        margin-top: 50px; /* Schöner Abstand zum Formular */
    }
    .ico-sidebar-box {
        position: static; /* Sticky auf dem Handy deaktivieren */
    }
}



/* =========================================================================
   Search Bar
   ========================================================================= */
.dgwt-wcas-search-wrapp {
    max-width: 1000px !important;
}

/* Der Listeneintrag muss statisch sein, damit das Overlay 100% der Menü-Breite einnehmen kann */
li.ico-interactive-search-li {
    position: static !important;
    display: flex;
    align-items: center;
}
.ico-search-trigger {
    display: flex !important;
    align-items: center;
    color: #00527e; /* Deine ICO Blau dunkel */
}
/* Das Overlay, das sich über die Navigation legt */
.ico-search-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
    display: flex;
    align-items: center;
    padding: 0 15px;
    box-sizing: border-box;
}
/* Klasse, wenn das Overlay aktiv ist */
.ico-search-overlay.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.ico-search-overlay-inner {
    display: flex;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    align-items: center;
}
.ico-search-overlay-inner .dgwt-wcas-search-wrapp {
    flex-grow: 1;
    margin: 0 !important;
}
.ico-search-close {
    color: #d9534f;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    line-height: 0;
}

#dgwt-wcas-search-input-1 {
    border: 1px solid transparent;
    background-color: #ECECEC;
}

.ico-search-trigger.mega-menu-link svg {
    margin-bottom: -3px;
}

.dgwt-wcas-search-submit {
    margin-top: -2px;
}










/* ==========================================================================
   ICO RESPONSIVE OPTIMIERUNG – SHOP + PRODUKT + WARENKORB + KASSE + DANKE
   --------------------------------------------------------------------------
   Breakpoints: Tablet ≤ 1024px | Mobile ≤ 768px
   Einfügen: ans Ende der style.css (theme: ico_online)

   Abgedeckt:
   - Shop-Übersicht (Hero, Trust-Badges, Section-Header, Produkt-Cards, Conversion-Block)
   - Produktseite/Buchung (Hero, Kontakt-Box, Tabs, Buchungs-Items, Trainer-Liste)
   - Warenkorb (Page-Titel, USPs, Totals, Submit-Buttons)
   - Kasse (Step-Überschriften, Step-Container-Padding, Place-Order-Button)
   - Danke-Seite (komplettes Restyling: Notice, Order-Overview, Tabelle, Adresse)
   - Einheitliches Seiten-Padding über alle Content-Bereiche (15px Mobile / 25px Tablet)

   Bewusst NICHT angefasst:
   - Header / MegaMenu (Rollback)
   - Pre-Header
   - Footer (eigene Breakpoints im Theme)
   - Responsive-Tabs Plugin (schaltet selbst bei 767px auf Accordion)
   - Checkout-Steps (eigene Inline-Styles mit Mobile-Optimierung bei 600px)
   - WooCommerce-Cart-/Checkout-Layout-Switch (WC schaltet selbst auf "small layout")
   ========================================================================== */


/* ==========================================================================
   GLOBAL: Button-Texte zentrieren
   --------------------------------------------------------------------------
   Erzwingt zentrierten Text auf allen Buchungs-, Conversion-, Shop-Card- und
   Infopaket-Buttons. Greift auf allen Viewport-Größen, damit auch
   width:100%-Buttons nicht linksbündig wirken.

   text-align: center      → wirkt auf Block-/Inline-Block-Buttons
   justify-content: center → wirkt zusätzlich für Buttons mit display: flex
                             (z. B. .button.infopaket, hat display:flex + align-items)
   ========================================================================== */
.ico-card-btn,
.ico-conversion-btn,
.button.infopaket,
.var-action .button,
.var-action a.button,
.var-action button.button,
.next_trainings .button,
.next_trainings a.button {
    text-align: center;
    justify-content: center;
}

/* ==========================================================================
   GLOBAL: .var-action Buttons immer gleich hoch
   --------------------------------------------------------------------------
   .button.infopaket (Link) hat im Theme display:flex + max-height:58px,
   der native <button> (Ausgebucht/Buchen) berechnet seine Höhe aus dem
   Padding und wird dadurch unterschiedlich. Diese Regel vereinheitlicht:
   - alle .var-action Buttons werden flex-zentriert
   - min-height:58px stellt sicher, dass alle gleich hoch sind
   ========================================================================== */
.var-action .button,
.var-action a.button,
.var-action button.button {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* ==========================================================================
   FIX: Ausgebucht-Button nicht voll-breit auf Desktop
   --------------------------------------------------------------------------
   Der "Termin buchen"-Button steckt in einem <form>, das seine Breite
   begrenzt → wirkt natürlich.
   Der "Ausgebucht"-Button (native <button> direkt im .var-action) hat per
   Inline-Style width:100% und zieht damit auf die volle Restbreite.
   Hier wieder auf auto setzen, damit min-width:180px greift.
   Auf Mobile (<=768px) wird das durch unseren Mobile-Block sowieso wieder
   auf width:100% zurückgesetzt.
   ========================================================================== */
@media screen and (min-width: 769px) {
    .var-action > button.button {
        width: auto !important;
    }
}

/* ==========================================================================
   GLOBAL: Checkout-Sidebar Padding (Bestellübersicht-Titel + Subtotal / MwSt / Gesamtsumme)
   --------------------------------------------------------------------------
   Die Bestellübersicht-Items in der Mitte haben Padding (WooCommerce-Default),
   aber Titel oben (Bestellübersicht + Preis) und Totals unten (Zwischensumme,
   MwSt., Gesamtsumme) reichen sonst bis zum Rand. Hier konsistent ziehen.
   ========================================================================== */
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* ==========================================================================
   DANKE-SEITE (Order Received) — Generelles Styling im ICO-Look
   --------------------------------------------------------------------------
   WooCommerce liefert die Bestellbestätigung im Default-Look (graue Tabellen,
   <ul> mit Punkten, schmucklose Notice). Dieser Block macht sie zum sauberen,
   ICO-konformen Abschluss-Screen.

   Selektor-Anker: body.woocommerce-order-received
   (damit greifen wir nur auf der Danke-Seite, nicht im My-Account)
   ========================================================================== */

/* --- Erfolgs-Notice "Vielen Dank. Ihre Bestellung ist eingegangen." --- */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    background: #006e6e;
    color: #fff;
    padding: 18px 22px 14px 22px;
    margin: 0 0 30px 0;
    font-size: 1.15rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 12px;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="white"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
}

/* --- Order-Overview: Bestellnummer / Datum / E-Mail / Gesamt / Zahlungsart
   als 3+2-Grid (3 Items in Reihe 1, 2 Items in Reihe 2, volle Breite) --- */
body.woocommerce-order-received .woocommerce-order-overview {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    background: #f9fafa;
    border: 1px solid #e1e8ed;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}
body.woocommerce-order-received .woocommerce-order-overview li {
    grid-column: span 2;                /* 3 pro Reihe bei 6 Spalten */
    padding: 14px 22px;
    margin: 0;
    color: #666;
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.35;
    border-right: 1px solid #e1e8ed;
    border-bottom: 1px solid #e1e8ed;
    text-indent: 0;
}
/* Reihe 2: Items 4 und 5 nehmen je 3 Spalten = 2 Items in voller Breite */
body.woocommerce-order-received .woocommerce-order-overview li:nth-child(4),
body.woocommerce-order-received .woocommerce-order-overview li:nth-child(5) {
    grid-column: span 3;
}
/* Bullets/Default-Indents entfernen */
body.woocommerce-order-received .woocommerce-order-overview li::before {
    display: none;
}
/* Border-Right entfernen am Ende jeder Reihe */
body.woocommerce-order-received .woocommerce-order-overview li:nth-child(3),
body.woocommerce-order-received .woocommerce-order-overview li:nth-child(5) {
    border-right: none;
}

body.woocommerce-order-received .woocommerce-order-overview li:nth-child(4) {
	grid-column: span 2;
}
/* Border-Bottom entfernen für letzte Reihe (letzten 2 Items) */
body.woocommerce-order-received .woocommerce-order-overview li:nth-last-child(-n+2) {
    border-bottom: none;
}
/* Wert (in <strong>) — Label oben klein, Wert darunter größer */
body.woocommerce-order-received .woocommerce-order-overview li strong {
    display: block;
    color: #00527e;
    font-size: 1.2em;
    font-weight: bold;
    text-transform: none;
    letter-spacing: 0;
    margin-top: 5px;
}

/* --- Custom-Hinweis-Paragraph "Vielen Dank für Ihre Buchung..." --- */
body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
    background: #f9fafa;
    border: 1px solid #e1e8ed;
    padding: 16px 22px;
    margin: 0 0 35px 0;
    color: #333;
    line-height: 1.55;
}

/* --- Section-Titel (Bestelldetails, Rechnungsadresse) --- */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    color: #00527e;
    font-size: 1.5rem;
    margin: 35px 0 18px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #006e6e;
    font-weight: bold;
}

/* --- Bestelldetails-Tabelle: Spaltenbreiten + Basis --- */
body.woocommerce-order-received .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 40px 0;
    background: #fff;
    border: 1px solid #e1e8ed;
    table-layout: auto;
}
body.woocommerce-order-received ul.order_details::before {
	display: none !important;
}

/* Letzte Spalte (Preise / Werte) so schmal wie der Inhalt – damit die
   Labels in tfoot direkt neben den Werten stehen statt mit großer Lücke */
body.woocommerce-order-received .woocommerce-table--order-details th:last-child,
body.woocommerce-order-received .woocommerce-table--order-details td:last-child {
    /* width: 1%; */
    white-space: nowrap;
}

/* thead */
body.woocommerce-order-received .woocommerce-table--order-details thead th {
    background: #f9fafa;
    text-align: left;
    padding: 12px 18px;
    border-bottom: 2px solid #006e6e;
    color: #00527e;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.85em;
    letter-spacing: 0.05em;
}
body.woocommerce-order-received .woocommerce-table--order-details thead th.product-total {
    text-align: right;
}

/* tbody */
body.woocommerce-order-received .woocommerce-table--order-details tbody td {
    padding: 16px 18px;
    border-bottom: 1px solid #e1e8ed;
    vertical-align: top;
    color: #444;
}

/* Produkt-Spalte: Titel + Anzahl + Tarif-Meta */
body.woocommerce-order-received .woocommerce-table--order-details .product-name a {
    color: #006e6e;
    font-weight: bold;
    text-decoration: none;
    font-size: 1rem;
    line-height: 1.35;
}
body.woocommerce-order-received .woocommerce-table--order-details .product-name a:hover {
    text-decoration: underline;
}
body.woocommerce-order-received .woocommerce-table--order-details .product-quantity {
    color: #666;
    font-weight: normal;
    margin-left: 6px;
    font-size: 0.95em;
}

/* wc-item-meta (Tarif: ...) sauber inline ohne flex-Verklebung */
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta {
    list-style: none;
    padding: 0;
    margin: 8px 0 0 0;
    font-size: 0.9em;
    color: #666;
}
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta li {
    margin: 3px 0;
    padding: 0;
    display: block;
    text-indent: 0;
}
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta li::before {
    display: none;
}
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta-label {
    display: inline;
    font-weight: normal;
    color: #555;
    margin-right: 5px;
}
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta p {
    display: inline;
    margin: 0;
    padding: 0;
}

/* Preis-Spalte */
body.woocommerce-order-received .woocommerce-table--order-details .product-total {
    text-align: right;
    font-weight: bold;
    color: #00527e;
    white-space: nowrap;
    font-family: TajawalBold, Verdana, Geneva, sans-serif;
}

/* tfoot: Zwischensumme / MwSt / Gesamt / Zahlungsart / Aktionen
   Labels ganz links, Werte ganz rechts (volle Zeilenbreite) */
body.woocommerce-order-received .woocommerce-table--order-details tfoot th,
body.woocommerce-order-received .woocommerce-table--order-details tfoot td {
    padding: 20px 18px;
    border-bottom: 0;
    background: transparent;
}
body.woocommerce-order-received .woocommerce-table--order-details tfoot th {
    text-align: left;
    color: #555;
    font-weight: normal;
    font-size: 0.95em;
    text-transform: none;
    letter-spacing: 0;
}
body.woocommerce-order-received .woocommerce-table--order-details tfoot td {
    text-align: right;
    color: #00527e;
    font-weight: bold;
    font-family: TajawalBold, Verdana, Geneva, sans-serif;
}

/* Gesamt-Zeile (3. tfoot-Row) hervorheben */
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-child(3) th,
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-child(3) td {
    font-size: 1.2em !important;
    color: #006e6e !important;
    padding-top: 14px;
    padding-bottom: 14px;
    border-top: 2px solid #006e6e !important;
}
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-child(3) th {
    font-weight: bold;
}

/* Action-Buttons in tfoot (z. B. "Rechnung 1") */
body.woocommerce-order-received .woocommerce-table--order-details tfoot .button,
body.woocommerce-order-received .woocommerce-table--order-details tfoot a.button {
    display: inline-block;
    background: #006e6e !important;
    color: #fff !important;
    padding: 8px 16px 6px 16px !important;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none;
    border-radius: 0;
    border: none;
    font-weight: bold;
    font-family: TajawalBold, Verdana, Geneva, sans-serif;
    transition: background 0.2s ease;
}
body.woocommerce-order-received .woocommerce-table--order-details tfoot .button:hover,
body.woocommerce-order-received .woocommerce-table--order-details tfoot a.button:hover {
    background: #3194c0 !important;
}

/* --- Rechnungsadresse-Section --- */
body.woocommerce-order-received .woocommerce-customer-details address {
    background: #f9fafa;
    border: 1px solid #e1e8ed;
    padding: 20px 25px;
    font-style: normal;
    line-height: 1.7;
    color: #444;
    border-radius: 0;
    margin: 0;
}
body.woocommerce-order-received .woocommerce-customer-details--email {
    margin: 12px 0 0 0;
    color: #006e6e;
    font-weight: bold;
}


@media screen and (max-width: 1024px) {

    /* --- Einheitliches Seiten-Padding für ALLE Content-Bereiche
       Greift auf jeder Seite, da entry-content + ico-akademie-wrapper +
       woocommerce-breadcrumb die drei gängigen Top-Level-Container sind. --- */
    .entry-content,
    .ico-akademie-wrapper,
    .woocommerce-breadcrumb {
        padding-left: 25px;
        padding-right: 25px;
        box-sizing: border-box;
    }
    .ico-akademie-wrapper {
        padding-bottom: 50px;
    }



    /* --- Sektions-Kopf (h2 + Filter) --- */
    .ico-section-header {
        margin-bottom: 30px;
    }
    .ico-section-header h2 {
        font-size: 1.8em;
    }
    .ico-section-header p {
        font-size: 1em;
    }

    /* --- Produkt-Grid (Cards bleiben 2-spaltig dank minmax 320px) --- */
    .ico-product-grid {
        gap: 25px;
        margin-bottom: 60px;
    }
    .ico-card-image {
        height: 200px !important;
    }
    .ico-card-content {
        padding: 22px 18px;
    }
    .ico-card-title {
        font-size: 1.15em;
    }
    .ico-card-desc {
        font-size: 0.92em;
    }

    /* --- Conversion-Block --- */
    .ico-conversion-block {
        padding: 35px 25px;
    }
    .ico-conversion-inner {
        padding: 45px 30px;
    }
    .ico-conversion-block h3 {
        font-size: 1.8em;
    }
    .ico-conversion-block p {
        font-size: 1.05em;
    }


    /* ----------------------------------------------------------------------
       PRODUKTSEITE (Seminar / Ausbildung Detail)
       ---------------------------------------------------------------------- */

    /* Hero: Galerie + Summary nebeneinander, etwas kompakter */
    .product-hero-section {
        gap: 30px;
        margin-bottom: 40px;
    }
    .product-summary-wrapper .product_title {
        font-size: 1.9em;
        line-height: 1.25;
    }
    .product-main-description {
        line-height: 1.55;
    }

    /* Tab-Sidebar Padding reduzieren (Default 4.8rem ist auf Tablet zu viel) */
    .tab_sidebar {
        padding: 2.4rem 0 0 2.4rem;
    }

    /* Buchungs-Items: Action-Buttons etwas kompakter */
    .variation-row .var-action .button {
        padding: 18px 24px 15px 24px !important;
        min-width: 160px !important;
    }


    /* ----------------------------------------------------------------------
       WARENKORB / KASSE
       ---------------------------------------------------------------------- */

    /* Page-Titel kompakter ("Warenkorb" / "Kasse") */
    body.woocommerce-cart .entry-title,
    body.woocommerce-checkout .entry-title {
        font-size: 2rem !important;
        margin-bottom: 25px !important;
    }

    /* USP-Items: Schrift leicht kleiner, Gap kompakter */
    .ico-cart-usps {
        padding: 15px;
        gap: 12px;
    }
    .ico-cart-usps .usp-item {
        font-size: 14px;
        padding: 0;
    }

    /* Totals-Container: weniger Innenabstand */
    .wc-block-cart__totals-container {
        padding: 18px !important;
    }

    /* Checkout: Step-Überschriften (Kontakt / Rechnung / Zahlung) kompakter */
    .wc-block-components-checkout-step__title {
        font-size: 1.3rem !important;
    }
}


/* ==========================================================================
   MOBILE  (max-width: 768px)
   ========================================================================== */
@media screen and (max-width: 768px) {

    /* --- Einheitliches Seiten-Padding für ALLE Content-Bereiche
       Greift auf jeder Seite. --- */
    .entry-content,
    .ico-akademie-wrapper,
    .woocommerce-breadcrumb {
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }
    .ico-akademie-wrapper {
        padding-bottom: 40px;
    }

    /* --- Breadcrumb --- */
    .woocommerce-breadcrumb {
        font-size: 0.85em;
        margin-bottom: 1rem;
    }



    /* --- Sektions-Kopf: Filter unter den Titel --- */
    .ico-section-header {
        margin-bottom: 25px;
        padding-bottom: 12px;
    }
    .ico-section-header h2 {
        font-size: 1.5em;
        margin: 0 0 6px 0;
    }
    .ico-section-header p {
        font-size: 0.95em;
    }

    /* --- Produkt-Grid: 1 Spalte --- */
    .ico-product-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }
    .ico-card-image {
        height: 190px !important;
    }
    .ico-card-content {
        padding: 20px 18px;
    }
    .ico-card-title {
        font-size: 1.1em;
        line-height: 1.35;
    }
    .ico-card-desc {
        font-size: 0.9em;
        line-height: 1.5;
    }
    .ico-card-price {
        font-size: 1.05em;
    }
    .ico-card-btn {
        padding: 14px 20px 10px 20px !important;
        font-size: 0.95em;
    }

    /* --- Conversion-Block --- */
    .ico-conversion-block {
        padding: 20px 15px;
        background-size: cover;
        background-position: center;
        margin-top: 10px;
    }
    .ico-conversion-inner {
        padding: 30px 20px;
    }
    .ico-conversion-block h3 {
        font-size: 1.4em;
        margin-bottom: 12px;
    }
    .ico-conversion-block p {
        font-size: 0.95em;
        margin-bottom: 22px;
        line-height: 1.5;
    }
    .ico-conversion-btn {
        padding: 16px 22px 12px 22px;
        font-size: 1em;
        display: block;
        max-width: 320px;
        margin: 0 auto;
    }


    /* ----------------------------------------------------------------------
       PRODUKTSEITE (Seminar / Ausbildung Detail)
       ---------------------------------------------------------------------- */

    /* Hero: stacked in source order so the title (H1) comes first */
    .product-hero-section {
        flex-direction: column;
        gap: 25px;
        margin-bottom: 30px;
    }
    .product-gallery-wrapper,
    .product-summary-wrapper {
        min-inline-size: 0;
        inline-size: 100%;
    }
    .product-summary-wrapper .product_title {
        font-size: 1.5em;
        line-height: 1.25;
    }
    .product-main-description {
        line-height: 1.55;
        font-size: 0.95em;
    }
    .product-main-description h3 {
        font-size: 1.1em;
    }

    /* Tab-Container und Sidebar: vom Accordion-Mode ist .tab_container
       weiterhin display:flex — auf Mobile auf column stellen */
    .tab_container {
        flex-direction: column;
    }
    .tab_content,
    .tab_sidebar {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .tab_sidebar {
        padding: 1.5rem 0 0 0;
    }

    /* Buchungs-Item: Date / Status / Preis / Action sauber stapeln */
    .variation-item-wrapper {
        padding: 15px 0 !important;
    }
    .variation-row {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .variation-row .var-date,
    .variation-row .availability-wrapper,
    .variation-row .var-price,
    .variation-row .var-action {
        flex: 1 1 100% !important;
        width: 100%;
        text-align: left;
    }
    .variation-row .var-date strong {
        font-size: 1em !important;
    }

    /* Action-Bereich: beide Buttons full-width untereinander */
    .variation-row .var-action {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .variation-row .var-action .button,
    .variation-row .var-action button.button {
        width: 100% !important;
        min-width: 0 !important;
        padding: 16px 20px 13px 20px !important;
        text-align: center;
    }
    /* Booking-Form (Menge + Buchen-Button) auf Mobile: Stack */
    .booking-form {
        flex-wrap: wrap;
        justify-content: stretch;
        gap: 8px;
    }
    .booking-form input[type="number"] {
        width: 80px;
    }
    .booking-form .button {
        flex: 1 1 auto;
    }

    /* Trainer-Liste — Theme stellt bei 660px auf 1-spaltig.
       Vorher (768→660) bleibt 2-spaltig, was bei langen Namen eng wird.
       Direkt ab 768 auf 1 Spalte ziehen: */
    .trainer_list .entry,
    .trainer_list .entry:nth-of-type(3n),
    .trainer_list .entry:nth-of-type(2n) {
        width: 100%;
        margin: 0 0 0.75rem 0;
    }


    /* ----------------------------------------------------------------------
       WARENKORB / KASSE
       ---------------------------------------------------------------------- */

    /* Page-Titel deutlich kompakter */
    body.woocommerce-cart .entry-title,
    body.woocommerce-checkout .entry-title {
        font-size: 1.6rem !important;
        margin-bottom: 20px !important;
        line-height: 1.25;
    }

    /* Produktname in Cart-Items etwas kleiner */
    .wc-block-components-product-name {
        font-size: 1.05rem !important;
        line-height: 1.3em !important;
    }

    /* Totals-Container kompakt */
    .wc-block-cart__totals-container {
        padding: 15px !important;
    }

    /* "Weiter zur Kasse" und "Zu den Ausbildungen"-Button kompakter */
    .wc-block-cart__submit-button,
    .wc-block-components-checkout-button,
    .empty-cart-btn.wp-block-button__link.wp-element-button {
        padding: 16px 20px !important;
        padding-top: 20px !important;
        font-size: 1rem !important;
    }

    /* USP-Items: Padding reduzieren (Theme stackt schon bei 768px) */
    .ico-cart-usps {
        padding: 15px;
    }
    .ico-cart-usps .usp-item {
        font-size: 14px;
        padding: 0;
    }

    /* Checkout: Step-Überschriften (Kontakt / Rechnung / Zahlung) kompakter */
    .wc-block-components-checkout-step__title {
        font-size: 1.1rem !important;
    }

    /* Checkout: Step-Container kompakter (Theme hat 20px Padding hartkodiert) */
    .wc-block-checkout__payment-method.wp-block-woocommerce-checkout-payment-block.wc-block-components-checkout-step,
    .wc-block-checkout__order-notes.wp-block-woocommerce-checkout-order-note-block.wc-block-components-checkout-step,
    .wc-block-checkout__terms.wc-block-checkout__terms--with-separator.wp-block-woocommerce-checkout-terms-block {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* "Jetzt kaufen"-Button kompakter (Theme hat padding-top: 25px) */
    .woocommerce-checkout #main .wc-block-components-checkout-place-order-button {
        padding: 16px 20px !important;
        padding-top: 20px !important;
        font-size: 1rem !important;
        width: 100% !important;
    }

    /* "Jetzt kaufen"-Button: Text + Icon horizontal zentrieren
       (Theme setzt display:flex aber ohne justify-content) */
    .woocommerce-checkout #main .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
        justify-content: center;
        align-items: center;
    }

    /* Button-Wrapper kein margin/padding-bottom mehr,
       damit die SSL-Notiz dichter rückt */
    .wc-block-checkout__actions {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    /* SSL-Notiz: deutlich näher an den Button (Inline-Style war margin-top:15px) */
    .ico-ssl-notice {
        margin-top: 8px !important;
        margin-bottom: 20px !important;
    }


    /* ----------------------------------------------------------------------
       DANKE-SEITE (Order Received) – Mobile-Anpassungen
       ---------------------------------------------------------------------- */

    /* Success-Notice kompakter */
    body.woocommerce-order-received .woocommerce-thankyou-order-received {
        font-size: 1.05rem;
        padding: 18px 18px 14px 18px;
        margin-bottom: 25px;
    }
    body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
        width: 24px;
        height: 24px;
    }

    /* Order-Overview: 1 Spalte, Border zwischen Items */
    body.woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: 1fr;
    }
    body.woocommerce-order-received .woocommerce-order-overview li,
    body.woocommerce-order-received .woocommerce-order-overview li:nth-child(4),
    body.woocommerce-order-received .woocommerce-order-overview li:nth-child(5) {
        grid-column: auto;
        border-right: none;
        border-bottom: 1px solid #e1e8ed;
    }
    body.woocommerce-order-received .woocommerce-order-overview li:last-child {
        border-bottom: none;
    }

    /* Section-Titel kompakter */
    body.woocommerce-order-received .woocommerce-order-details__title,
    body.woocommerce-order-received .woocommerce-column__title {
        font-size: 1.25rem;
        margin-top: 25px;
    }

    /* Tabelle: jedes Item als Karte (Header ausblenden) */
    body.woocommerce-order-received .woocommerce-table--order-details thead {
        display: none;
    }
    body.woocommerce-order-received .woocommerce-table--order-details {
        border: none;
        background: transparent;
    }
    body.woocommerce-order-received .woocommerce-table--order-details tbody tr {
        display: block;
        background: #f9fafa;
        border: 1px solid #e1e8ed;
        margin-bottom: 12px;
        padding: 12px 15px;
    }
    body.woocommerce-order-received .woocommerce-table--order-details tbody td {
        display: block;
        padding: 6px 0;
        border-bottom: none;
    }
    body.woocommerce-order-received .woocommerce-table--order-details .product-total {
        text-align: left;
        padding-top: 10px;
        margin-top: 8px;
        border-top: 1px solid #e1e8ed;
        font-size: 1.05em;
    }

    /* tfoot: Zwischensumme/MwSt/Gesamt als Liste statt Tabelle */
    body.woocommerce-order-received .woocommerce-table--order-details tfoot {
        display: block;
        background: #f9fafa;
        border: 1px solid #e1e8ed;
        padding: 8px 15px;
    }
    body.woocommerce-order-received .woocommerce-table--order-details tfoot tr {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    body.woocommerce-order-received .woocommerce-table--order-details tfoot tr th,
    body.woocommerce-order-received .woocommerce-table--order-details tfoot tr td {
        padding: 6px 0;
        text-align: left;
        border-top: 0 !important;
    }
    body.woocommerce-order-received .woocommerce-table--order-details tfoot tr td {
        text-align: right;
    }
    body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-child(3) {
        padding-top: 10px;
        margin-top: 6px;
        border-top: 2px solid #e1e8ed;
    }

    /* Rechnungsadresse: Padding kompakter */
    body.woocommerce-order-received .woocommerce-customer-details address {
        padding: 16px 18px;
    }
}


/* ==========================================================================
   MOBILE-MENU  (max-width: 1080px)
   ========================================================================== */
@media screen and (max-width: 1150px) and (min-width: 1081px) {
	#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {
        margin-top: 2rem !important;
    }
	
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item {
		display: inline-flex !important;
        margin: 0 0.75rem !important;
    }
}

@media screen and (max-width: 1080px) and (min-width: 769px) {
    .main-navigation {
        float: right !important;
        margin: -2.5rem 0 0 0 !important;
    }

	#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {
        margin-top: 2rem !important;
    }
	
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item {
		display: inline-flex !important;
		margin: 0 0.8rem !important;
    }
}

/* ==========================================================================
   MOBILE-MENU  (max-width: 768px)
   ========================================================================== */
@media screen and (max-width: 768px) {
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
		margin: 0.25rem 1rem !important;
	}
	
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link:last-child {
		margin-bottom: 1rem !important;
	}
	
	#masthead {
		display: flex !important;
		align-items: center !important;
	}
	
	#mega-menu-wrap-menu-1 {
		margin-bottom: -30px !important;
	}
	
	.site-branding .logo {
		width: 250px !important;
	}
}







/* ==========================================================================
   CLS-FIX: Header-Logo Aspect-Ratio garantieren
   --------------------------------------------------------------------------
   Das Logo hat width/height als HTML-Attribute, aber der Flex-Container
   reserviert beim ersten Render keinen Platz, weil das CSS keine Höhe oder
   Aspect-Ratio kennt. Browser zeichnet erst, dann expandiert → 0,99 Shift.
   ========================================================================== */
.site-branding .logo {
    aspect-ratio: 350 / 63;
    width: 100%;
    max-width: 350px;
}
.site-branding .logo a,
.site-branding .logo img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 350 / 63;
    object-fit: contain;
}


/* ==========================================================================
   CLS-FIX: Start-Logo (Frontpage) Aspect-Ratio garantieren
   --------------------------------------------------------------------------
   Das ICO-Logo-Start.png hat HTML-width/height (80x27), aber durch
   LazyLoad + fehlende CSS-Höhe shiftet der Container beim Render.
   ========================================================================== */
.entry-header .branding {
    aspect-ratio: 80 / 27;
    max-width: 80px;
}
.entry-header .branding img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 80 / 27;
    object-fit: contain;
}


/* CF7 Wiederrufsformular */
.ico-cf7-form {
  max-width: 760px;
  margin: 40px 0;
  font-family: inherit;
  color: #222;
  font-size: 17px;
  line-height: 1.65;
}

.ico-form-intro {
  border-left: 6px solid #b8d8bd;
  padding: 4px 0 4px 22px;
  margin: 0 0 34px;
  color: #444;
  font-size: 19px;
}

.ico-form-row {
  margin-bottom: 24px;
}

.ico-form-row label {
  display: block;
  font-weight: 700;
  color: #111;
}

.ico-form-row input,
.ico-form-row textarea,
.ico-form-row select {
  width: 100%;
  margin-top: 8px;
  padding: 14px 16px;
  border: 1px solid #d8d8d8;
  border-radius: 0;
  background: #fff;
  color: #222;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
}

.ico-form-row textarea {
  min-height: 120px;
  resize: vertical;
}

.ico-form-row input:focus,
.ico-form-row textarea:focus,
.ico-form-row select:focus {
  outline: none;
  border-color: #9bc9a4;
  box-shadow: 0 0 0 3px rgba(184, 216, 189, 0.35);
}

.ico-form-consent {
  margin: 30px 0;
  padding: 22px 24px;
  background: #f5f8f3;
  border-left: 6px solid #b8d8bd;
}

.ico-form-consent .wpcf7-list-item {
  margin: 0;
}

.ico-form-submit input[type="submit"] {
  display: inline-block;
  background: #111;
  color: #fff;
  border: 0;
  padding: 14px 28px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.ico-form-submit input[type="submit"]:hover {
  background: #6fa878;
  transform: translateY(-1px);
}

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

.wpcf7-response-output {
  margin: 28px 0 0 !important;
  padding: 18px 22px !important;
  border: 1px solid #b8d8bd !important;
}






/* Widerruf-Button */
.widerruf-btn {
	 margin-top: -16px;
}

.widerruf-btn span {
	color: #fff;
    background: #037666;
    padding: 14px 15px 10px 15px;
}




/* ==========================================================================
   SHOP BUTTONS — corporate design (TCK-0005)
   --------------------------------------------------------------------------
   Tajawal ships as one family per weight, each declared font-weight:normal,
   so "font-weight: bold" only fake-bolds TajawalRegular. Use the Bold family
   at normal weight. Sentence case and the live site's padding, per client.
   !important is required: the cart/checkout rules above and WooCommerce's
   ".wc-block-cart *" font rule are themselves !important.
   ========================================================================== */
.ico-card-btn,
.ico-conversion-btn,
.var-action .button,
.var-action a.button,
.var-action button.button,
.next_trainings .button,
.empty-cart-btn.wp-block-button__link.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-button,
.woocommerce-checkout #main .wc-block-components-checkout-place-order-button,
.wc-block-components-button .wc-block-components-button__text {
    font-family: 'TajawalBold', Verdana, Geneva, sans-serif !important;
    font-weight: normal !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.ico-card-btn,
.ico-conversion-btn,
.var-action .button,
.var-action a.button,
.var-action button.button,
.next_trainings .button,
.empty-cart-btn.wp-block-button__link.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-button,
.woocommerce-checkout #main .wc-block-components-checkout-place-order-button {
    padding: 0.65rem 1rem 0.25rem !important;
}

/* #037666 is not in the palette; the solid shop buttons use Petrol like live. */
.empty-cart-btn.wp-block-button__link.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-button,
.woocommerce-checkout #main .wc-block-components-checkout-place-order-button {
    background-color: #006e6e !important;
}

/* ==========================================================================
Seminar overview: filters, topic sections, badges, inhouse box (TCK-0020)
========================================================================== */
.ico-card-labels {
	flex-wrap: wrap;
}

.ico-card-badge {
	display: inline-block;
	margin-block-end: 10px;
	padding: 10px 10px 4px;
	border: 1px solid #9dbeb0;
	color: #00527e;
	font-size: 0.6em;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.ico-seminar-group {
	margin-block-end: 3rem;
}

.ico-seminar-group .ico-section-header p a {
	color: #006e6e;
	font-weight: bold;
}

/* "Unsere Themenfelder" on /seminare/ (client draft of 2026-10-06, TCK-0024).
   The grey band runs full width without causing horizontal scroll. */
.ico-topics {
	padding-block: 3rem;
	background-color: #f3f5f6;
	box-shadow: 0 0 0 100vmax #f3f5f6;
	clip-path: inset(0 -100vmax);
	scroll-margin-block-start: 2rem;
}

.ico-topics .ico-topics-title {
	margin: 0 0 0.5rem;
	color: #00527e;
}

.ico-topics-lead {
	margin-block-end: 2rem;
}

.ico-topics-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.ico-topics-box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.75rem;
	border: 1px solid #e1e6e8;
	background-color: #fff;
}

.ico-topics-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-block-end: 1rem;
}

.ico-topics-icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	border-radius: 50%;
	background-color: #e6f0f0;
	color: #006e6e;
}

.ico-topics-icon svg {
	inline-size: 1.3rem;
	block-size: 1.3rem;
}

.ico-topics-head h3 {
	margin: 0;
	hyphens: manual;
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	font-size: 1.3rem;
	line-height: 1.25;
}

.ico-topics-head h3 a {
	color: #00527e;
	text-decoration: none;
}

.ico-topics-head h3 a:hover,
.ico-topics-head h3 a:focus-visible {
	text-decoration: underline;
}

.ico-topics-teaser {
	margin-block: 0 1.25rem;
	color: #5b6770;
}

/* Arrows and hanging indent come from the theme's list style (.entry-content ul li). */
.ico-topics-list {
	margin: 0;
	padding-inline-start: 1.5rem;
}

.ico-topics-list li {
	margin-block-end: 0.6rem;
	line-height: 1.4;
}

.ico-topics-list a {
	color: inherit;
	text-decoration: none;
}

.ico-topics-list a:hover,
.ico-topics-list a:focus-visible {
	color: #006e6e;
	text-decoration: underline;
}

.ico-archive .ico-topics-box a.button {
	margin: 1rem 0 0;
	padding: 0.65rem 1rem 0.25rem;
	border-radius: 0;
	background-color: #006e6e;
	color: #fff;
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	font-size: 0.94444rem;
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: inherit;
	text-transform: none;
}

.ico-archive .ico-topics-box a.button:hover {
	background-color: #3194c0;
	color: #fff;
}

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

@media screen and (max-width: 640px) {
	.ico-topics-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ico-inhouse-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-block: 3rem;
	padding: 2.5rem 3rem;
	background-color: #006e6e;
	color: #fff;
}

/* .entry-content h2 would recolour the title to the box colour. */
.ico-inhouse-box .ico-inhouse-title {
	margin: 0 0 1rem;
	color: #fff;
	font-size: 1.6em;
}

.ico-inhouse-box p {
	margin: 0;
	max-inline-size: 48rem;
}

/* The block checkout only marks optional fields; required ones get an
   asterisk as the client asked (TCK-0041). */
.wc-block-checkout .wc-block-components-text-input input:required + label::after {
	content: " *";
}

/* "Auf Anfrage" mail link on seminar pages, sized like "Termin buchen" (TCK-0033). */
.ico-request-btn {
	display: block;
	inline-size: 100%;
	min-inline-size: 180px;
	text-align: center;
}

.ico-no-dates {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 20px;
}

.ico-no-dates p {
	margin: 0;
}

.ico-no-dates .ico-request-btn {
	inline-size: auto;
}

/* HdWM certification box on seminar pages (TCK-0026). */
.ico-cert-box {
	margin-block: 3rem;
	padding: 2rem;
	border: 1px solid #e1e6e8;
}

.ico-cert-box .ico-cert-title {
	margin: 0 0 1.25rem;
	color: #00527e;
	font-size: 1.4rem;
	line-height: 1.3;
}

.ico-cert-body {
	display: grid;
	grid-template-columns: 12rem minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.ico-cert-body p {
	margin: 0;
}

.ico-cert-logo {
	inline-size: 100%;
	block-size: auto;
}

@media screen and (max-width: 600px) {
	.ico-cert-body {
		grid-template-columns: minmax(0, 1fr);
	}

	.ico-cert-logo {
		max-inline-size: 12rem;
	}
}

/* Lower area of /seminare/: inhouse box next to the contact person (TCK-0025). */
.ico-overview-bottom {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin-block: 3rem;
}

.ico-overview-bottom .ico-inhouse-box {
	margin-block: 0;
}

@media screen and (max-width: 960px) {
	.ico-overview-bottom {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* The column is narrower than the usual mobile contact box; "ANSPRECHPARTNERIN"
   cannot wrap next to the photo, so the photo goes on top. */
@media screen and (max-width: 600px) {
	.ico-overview-bottom .contact_container {
		flex-wrap: wrap;
	}

	.ico-overview-bottom .contact_box .content {
		flex-basis: 100%;
		margin: 1rem 0 0;
	}
}

.ico-inhouse-btn {
	display: inline-block;
	padding: 1rem 2rem;
	background-color: #fff;
	color: #006e6e;
	font-weight: bold;
	text-decoration: none;
}

.ico-inhouse-btn:hover,
.ico-inhouse-btn:focus-visible {
	background-color: #e6f0f0;
	color: #00524f;
}

@media (max-width: 600px) {
	.ico-inhouse-box {
		padding: 1.5rem;
	}
}

/* Archive head (TCK-0020): WooCommerce's own a.button rule wins on shop
   pages and turns the theme button grey; restore the theme's button. */
.ico-archive .contact_box a.button {
	padding: 0.65rem 1rem 0.25rem;
	border-radius: 0;
	background-color: #006e6e;
	color: #fff;
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	font-size: 0.94444rem;
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: inherit;
	text-transform: uppercase;
}

.ico-archive .contact_box a.button:hover {
	background-color: #3194c0;
	color: #fff;
}

/* /seminare/ head after the client draft of 2026-10-06 (TCK-0023). Buttons
   like the other shop buttons: TajawalBold, no capitals (TCK-0005). */
.ico-overview-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	margin-block-start: 1.5rem;
}

.ico-archive .ico-overview-links a.button,
.ico-archive .ico-interest-box a.button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0.65rem 1rem 0.25rem;
	border-radius: 0;
	background-color: #006e6e;
	color: #fff;
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	font-size: 0.94444rem;
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: inherit;
	text-transform: none;
}

.ico-archive .ico-overview-links a.button:hover,
.ico-archive .ico-interest-box a.button:hover {
	background-color: #3194c0;
	color: #fff;
}

.ico-overview-dates svg {
	inline-size: 1em;
	block-size: 1em;
	margin-block-start: -0.3rem;
	fill: currentColor;
}

.ico-overview-jump {
	color: #006e6e;
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	text-decoration: none;
}

.ico-overview-jump:hover,
.ico-overview-jump:focus-visible {
	text-decoration: underline;
}

.ico-interest-box {
	max-inline-size: 22rem;
	padding: 1.5rem;
	border: 1px solid #c9dede;
	background-color: #e6f0f0;
}

.ico-interest-box .ico-interest-title {
	margin: 0 0 1rem;
	color: #00527e;
	font-family: 'TajawalBold', Verdana, Geneva, sans-serif;
	font-size: 1.15rem;
	line-height: 1.3;
}

/* Stacked under the intro: align with the text column (15px inset). */
@media screen and (max-width: 960px) {
	.ico-interest-box {
		margin-inline: 15px;
	}
}

.ico-archive-products {
	margin-block-start: 3rem;
}

/* Long SEO text below the tiles on shop and category pages (TCK-0020). */
.ico-seo-text {
	max-inline-size: 860px;
	margin-block: 3rem 1rem;
}

.ico-seo-text h2 {
	margin-block: 2.5rem 1rem;
	color: #00527e;
	font-size: 1.6rem;
}

.ico-seo-text h3 {
	margin-block: 1.75rem 0.75rem;
	color: #006e6e;
	font-size: 1.2rem;
}

.ico-seo-text a {
	color: #006e6e;
	text-decoration: underline;
}
