/* Gutenberg statt WPBakery (Rocks, Ticket 151486)
   Grundregeln fuer die uebernommenen WPBakery-Klassen. Die Gestaltung selbst steht weiter in style.css. */

/* --- Spalten: Gutenberg-Flexlayout aus, Float-Raster wie bisher --- */
.wp-block-columns.vc_row { display: block; gap: 0 !important; flex-wrap: nowrap !important; }
/* Abstaende nur neutralisieren, ohne Theme-Regeln wie .menu-note zu ueberstimmen */
:where(.wp-block-columns.vc_row) { margin-top: 0; margin-bottom: 0; padding: 0; }
.wp-block-columns.vc_row > .wp-block-column { flex-basis: auto !important; flex-grow: 0; min-width: 0; word-break: normal; overflow-wrap: normal; }
/* Theme-Regeln, die gegen die Spaltenregel oben verlieren wuerden */
@media only screen and (min-width: 768px) {
	header .wp-block-columns.seminar-box { display: none; }
	header .icon-leistungen .wpb_wrapper .wp-block-columns.vc_row .vc_col-sm-2 { flex: 1 1 0% !important; }
}
.icon-leistungen .wpb_single_image img { width: auto; }
.wp-block-group.vc_column-inner, .wp-block-group.wpb_text_column { box-sizing: border-box; }

.vc_row::before, .vc_row::after { content: " "; display: table; }
.vc_row::after { clear: both; }
.vc_row { margin-left: -15px; margin-right: -15px; }
.vc_column_container { width: 100%; position: relative; min-height: 1px; box-sizing: border-box; padding-left: 0; padding-right: 0; }
.vc_column_container > .vc_column-inner { box-sizing: border-box; padding-left: 15px; padding-right: 15px; width: 100%; }
.vc_column-inner::before, .vc_column-inner::after { content: " "; display: table; }
.vc_column-inner::after { clear: both; }

.vc_col-xs-6 { float: left; width: 50%; }
@media (max-width: 767px) { .vc_hidden-xs { display: none !important; } }
@media (min-width: 768px) {
	.vc_col-sm-2, .vc_col-sm-3, .vc_col-sm-4, .vc_col-sm-6, .vc_col-sm-8, .vc_col-sm-9, .vc_col-sm-12 { float: left; }
	.vc_col-sm-12 { width: 100%; }
	.vc_col-sm-9 { width: 75%; }
	.vc_col-sm-8 { width: 66.66666667%; }
	.vc_col-sm-6 { width: 50%; }
	.vc_col-sm-4 { width: 33.33333333%; }
	.vc_col-sm-3 { width: 25%; }
	.vc_col-sm-2 { width: 16.66666667%; }
}
@media (min-width: 992px) {
	.vc_col-md-3 { float: left; width: 25%; }
}

.vc_row.vc_column-gap-10 { margin-left: -20px; margin-right: -20px; }
.vc_row.vc_column-gap-10 > .vc_column_container { padding: 5px; }
.vc_row.vc_column-gap-25 { margin-left: -27.5px; margin-right: -27.5px; }
.vc_row.vc_column-gap-25 > .vc_column_container { padding: 12.5px; }
.vc_row.vc_row-no-padding .vc_column-inner { padding-left: 0; padding-right: 0; }
.vc_row-no-padding .vc_inner { margin-left: 0; margin-right: 0; }

.vc_row.vc_row-flex { box-sizing: border-box; display: flex !important; flex-wrap: wrap !important; }
.vc_row.vc_row-flex > .vc_column_container { display: flex; }
.vc_row.vc_row-flex > .vc_column_container > .vc_column-inner { flex-grow: 1; display: flex; flex-direction: column; z-index: 1; }
.vc_row.vc_row-flex::before, .vc_row.vc_row-flex::after { display: none; }
.vc_row.vc_row-o-equal-height > .vc_column_container { align-items: stretch; }

/* --- Abschnitte (bisher vc_section mit voller Breite) --- */
.vc_section { padding-left: 15px; padding-right: 15px; margin-left: -15px; margin-right: -15px; }
.vc_section:is(.vc-fw, [data-vc-full-width]) { overflow: hidden; }
.vc_section:is(.vc-fw, [data-vc-stretch-content]) { padding-left: 0; padding-right: 0; }
.vc_section:is(.vc-fw, [data-vc-full-width]) > .vc_row { margin-left: 0; margin-right: 0; }
/* WPBakery setzte hinter jede breite Zeile ein leeres div.vc_row-full-width; dadurch fielen die
   Aussenabstaende zweier Zeilen nicht zusammen (25 + 25 px) */
main section.vc_section > div.vc_row.vc-fw + div.vc_row, .footer section.vc_section > div.vc_row.vc-fw + div.vc_row { margin-top: 50px; }
/* WPBakery hat per JavaScript max-width direkt ans Element geschrieben und damit die 1280er-Regel
   in style.css ausgehebelt: Abschnitte und breite Zeilen sind so breit wie body */
section.vc_section:is(.vc-fw, [data-vc-full-width]), section.vc_section:is(.vc-fw, [data-vc-full-width]) > div.vc_row:is(.vc-fw, [data-vc-full-width]) { max-width: none; }

/* --- Inhaltselemente --- */
.wpb_content_element { margin-bottom: 35px; }
.wpb_text_column :last-child, .wpb_text_column p:last-child { margin-bottom: 0; }
/* der Weiterlesen-Block hinterlaesst ein leeres <span id="more-…">; das Element davor gilt wie bisher als letztes */
.wpb_text_column > :has(+ span[id^="more-"]:last-child) { margin-bottom: 0; }

.wpb_single_image { margin: 0 0 35px; }
.wpb_single_image figure { margin: 0; display: inline-block; vertical-align: top; max-width: 100%; }
.wpb_single_image img { height: auto; max-width: 100%; vertical-align: top; }
.wpb_single_image.vc_align_center { text-align: center; }
.wpb_single_image.vc_align_left { text-align: left; }
.wpb_single_image.vc_align_right { text-align: right; }
.wp-block-image.wpb_single_image .aligncenter { display: inline-block; margin: 0; }

/* Trennlinie mit Text */
h4.vc_text_separator { display: flex; align-items: center; text-align: center; margin: 0 0 35px; line-height: 1em; }
h4.vc_text_separator::before, h4.vc_text_separator::after { content: ""; flex: 1 1 auto; border-top: 1px solid #ebebeb; height: 0; }
h4.vc_text_separator::before { margin-right: .8em; }
h4.vc_text_separator::after { margin-left: .8em; }

/* --- Seminarkacheln (bisher WPBakery-Masonry-Raster) --- */
.rocks-raster { margin-bottom: 0; }
.rocks-raster::after { content: ""; display: table; clear: both; }
.rocks-raster .rocks-kacheln { list-style: none; margin: 0 -30px -30px 0; padding: 0; position: relative; max-width: none; }
.rocks-raster .rocks-kacheln::after { content: ""; display: table; clear: both; }
.rocks-raster .rocks-kacheln > li { box-sizing: border-box; padding: 0 30px 30px 0; margin: 0; width: 100%; }
@media (min-width: 768px) {
	.rocks-raster .rocks-kacheln > li { float: left; width: 33.33333333%; }
	.rocks-raster .rocks-kacheln.rocks-masonry > li { float: none; position: absolute; }
}
.rocks-kachel { background-color: rgba(200, 175, 138, 0.5); border-radius: 5px; padding: 10px; }
.rocks-kachel:hover { background-color: rgba(200, 175, 138, 0.8); }
.rocks-kachel .wp-block-post-title { font-size: inherit; text-align: left; }
.rocks-kachel .wp-block-post-excerpt { margin: 0; }
.rocks-kachel .wp-block-post-excerpt__excerpt { font-size: 14px; margin: 0 0 15px; }
.rocks-kachel .wp-block-post-excerpt__more-text { margin: 0 0 21.73913043px; }
.rocks-kachel .wp-block-post-excerpt__more-link,
.rocks-raster .wp-block-query-pagination a {
	/* wie die Schlagwort-Links (Kategorien) */
	display: inline-block; font-size: 14px; line-height: normal; color: #c8af8a; background: #442a19; padding: 10px;
	margin: 0 2px 2px 0; border: 0; border-radius: 5px; opacity: .8; text-decoration: none; list-style: none; transition: .2s linear .2s;
}
.rocks-kachel .wp-block-post-excerpt__more-link:hover, .rocks-raster .wp-block-query-pagination a:hover { opacity: 1; color: #c8af8a; background: #442a19; }
.rocks-raster .tag-ausgebucht { display: none; }
/* Seitenweise weiter (bisher "Mehr laden" im WPBakery-Raster) */
.rocks-raster .wp-block-query-pagination { display: flex; justify-content: center; gap: 10px; margin: 54px 0 -8.26086957px; }
/* Hinweis fuer leere Raster: wie bisher nur zeigen, wenn das Raster davor nichts enthaelt */
.rocks-raster + .no-booking { display: none !important; }

/* --- Reiter auf der Kontaktseite (Optik wie WPBakery-Tabs "modern", grau) --- */
.vc_tta-container.wp-block-tabs { margin: 0 0 21.73913043px; }
.vc_tta-container .wp-block-tab-list { display: flex; flex-wrap: wrap; gap: 0; margin: -1px 5px -1px -1px; padding: 0; border: 0; position: relative; z-index: 1; }
.vc_tta-container .wp-block-tab-list button {
	display: block; margin: 1px 0 0 1px; padding: 14px 20px; font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 700;
	color: #666; background: #ebebeb linear-gradient(to bottom, rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .01) 100%);
	border: 1px solid #e3e3e3; border-radius: 5px 5px 0 0; box-shadow: none; cursor: pointer; opacity: 1; text-decoration: none;
}
.vc_tta-container .wp-block-tab-list button[aria-selected="true"] { background-color: #f8f8f8; border-color: #f0f0f0; border-bottom-color: transparent; color: #666; }
@media (max-width: 479px) {
	.vc_tta-container .wp-block-tab-list { flex-wrap: nowrap; }
	.vc_tta-container .wp-block-tab-list button { padding: 10px 10px; font-size: 14px; }
}
.vc_tta-container .wp-block-tab-panels { border: 1px solid #442a19; border-radius: 0 5px 5px 5px; padding: 10px; margin: 0; background: none; }
.vc_tta-container .wp-block-tab-panel {
	margin: 0; padding: 14px 20px; border: 1px solid #f0f0f0; border-radius: 0 5px 5px;
	background: #f8f8f8 linear-gradient(to bottom, rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .01) 100%);
}

/* --- Einzelabstaende aus dem WPBakery-Editor (Fachartikel) --- */
.vc_custom_1708371193024{margin-top: 75px !important;}
.vc_custom_1708371202021{margin-top: 75px !important;}
.vc_custom_1708370878656{margin-left: 5% !important;}
