/*
Author:		Rico Floß, floss@51nullacht.de
Author URI: https://www.51nullacht.de/
Project:	schwarzmeier.com
Date:		2023-09
*/

/* Icons */
a.has-icon::before
/* .tns-nav button, */
/* [class*="schwarzmeiericons-"], */
/* .lg-prev::after,
.lg-next::before,
a:not(.has-icon)[href$=".pdf"]::before */
{
	font-family: 'schwarzmeiericons' !important; speak: never; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
	vertical-align: -.05rem;
}
/* .tns-nav button:not(.tns-nav-active)::before { content: "\e90f"; }
.tns-nav button.tns-nav-active::before { content: "\e90e"; } */
/* .lg-prev::after { content: "\e908"; }
.lg-next::before { content: "\e905"; }  */
.toggle-navigation button:not(.collapsed) span::before { content: "\e904"; }
[data-toggle]:not(.collapsed) > span.schwarzmeiericons-chevron-down::before { content: "\e90a";}
/* [data-toggle]:not(.collapsed) > span.schwarzmeiericons-keyboard_arrow_down::before,
.main-navigation > li > [data-toggle]:not(.collapsed) > span::before { content: "\e906";} */

	/* sizes */
.icon-medium { font-size: 1.5rem; }
.icon-large { font-size: 3rem; }
.icon-xlarge { font-size: 4rem; }

	/* fixed width */
.icon-fw { width: 2rem; display: inline-block; }
.icon-fw.icon-medium { font-size: 2rem; }
.icon-fw.icon-large { font-size: 4rem; }
.icon-fw.icon-xlarge { font-size: 5rem; }

	/* icons */
a.has-icon[href^="mailto:"]::before { content: "\e901"; padding-right: .5rem; display: inline-block; }
a.has-icon[href^="tel:"]::before { content: "\e902"; padding-right: .5rem; display: inline-block; }
/* a:not(.has-icon)[target="_blank"]::before { content: "\e916"; } */
/* a:not(.has-icon)[href$=".pdf"]::before { content: "\e900"; margin-right: .5rem; }
a:not(.has-icon)[href$=".zip"]::before { content: "\e915"; } */

/* ========= basic */
audio,canvas,datagrid,datalist,details,dialog,iframe,menu,video{ display: block; }

/* images / figures */
iframe { max-width: 100%; }
img { max-width: 100%; height: auto; }
img[src$=".svg"][width="1"]:not(.width-absolute) { width: auto; }
figure { margin-bottom: 0; max-width: 100%; }
figure img { display: inline-block; }
figure figcaption { }

/* figure.rounded-image { display: inline-block; overflow: hidden; }
.rounded-image:where(figure, img) { border: 5px solid; border-radius: 50%;  }
.siteorigin-widget-tinymce .rounded-image { transform: translateY(-50%); margin-bottom: -85px; max-width: 170px; }
:hover > .linked-image:where(figure, img) { border-color: var(--secondary); } */

	/* figcaption */
figcaption { }

/* btn / links */
.btn { text-transform: uppercase; }

/* lists */
.page-document ol,
.page-document ul:not(.list-group):not(.sub-menu) { display: inline-block; }
.page-document .sitemap-navigation ul .children { display: block; }

/* paragraphs */
p:last-child { margin-bottom: 0; }
p:empty { display: none; }

/* lines */
.page-document span[id^="more-"] { clear: both; display: block; }
.page-document hr { clear: both; }

/* em { font-style: normal; } */
/* blockquote { font-size: 1.333rem; font-style: italic; } */
blockquote { padding-left: 1rem; padding-right: 1rem; text-transform: uppercase; font-size: 1.5rem; margin-bottom: 0; font-weight: 300; }

/* grid */
.container-fluid { max-width: 1600px; /* padding-left: 20px; padding-right: 20px; */ }

/* headlines */
h1, .h1,
h2, .h2 { text-transform: uppercase; }
h3, .h3 {  }
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {  }

h1 a, .h1 a, h1 a:hover, .h1 a:hover,
h2 a, .h2 a, h2 a:hover, .h2 a:hover,
h3 a, .h3 a, h3 a:hover, .h3 a:hover,
h4 a, .h4 a, h4 a:hover, .h4 a:hover,
h5 a, .h5 a, h5 a:hover, .h5 a:hover,
h6 a, .h6 a, h6 a:hover, .h6 a:hover { color: inherit; text-decoration: none; }
h1:not(:only-child),
h2:not(:only-child),
h3:not(:only-child),
h4:not(:only-child),
h5:not(:only-child),
h6:not(:only-child) { padding-top: 1rem; }
h1:only-child,
h2:only-child,
h3:only-child,
h4:only-child,
h5:only-child,
h6:only-child { margin-bottom: 0; }

/* ========= header */
/* .page-header a,
.page-header button,
.page-header button:hover,
.page-header button:focus { color: inherit; } */
.page-header .main-navigation a,
.page-header .main-navigation a:hover,
.page-header .main-navigation a:focus { text-decoration: none; }

/* logo */
.logo-container .logo { width: 225px; }

/* ========= navigation */

/* toggle */
/* .toggle-navigation .btn, */
.toggle-navigation .btn:hover,
.toggle-navigation .btn:focus { text-decoration: none; outline: none; box-shadow: none; /* color: inherit; */ }

/* main */
	/* default */
.main-navigation a { display: block; color: inherit; transition: all .25s ease; }
.main-navigation span.menu-icon { vertical-align: bottom; }
.main-navigation li[class*="current"] > a,
.main-navigation li.hover > a,
.main-navigation li:hover > a { }

	/* lvl 1 */
.main-navigation > li { }
/* .main-navigation > li > a { border-bottom: 5px solid transparent; } */
.main-navigation > li > a:focus,
.main-navigation > li.hover > a,
.main-navigation > li:hover > a,
/* .main-navigation > li:hover > a { background-color: rgba(255,255,255, .25); } */
/* .main-navigation > li[class*="current"] > a { border-bottom-color: var(--purple); } */
/* .main-navigation > li[class*="current"] > a { background-color: var(--primary); } */
.main-navigation > li[class*="current"] > a { background-color: rgba(255,255,255, .25); }
/* .main-navigation > li > button:focus span, */
 /*
.main-navigation > li[class*="current"] > button span,
.main-navigation > li.hover > button span,
.main-navigation > li:hover > button span {  } */

	/* children */
/* .main-navigation .children { list-style: none; padding-left: 0; display: none; } */

/* lvl 2 */
.main-navigation > li { position: relative; }

.main-navigation > li > [data-toggle] { top: 0; left: 0; right: 0; box-shadow: none !important; }
/* .main-navigation > li[class*="current"] > [data-toggle] {  } */
.main-navigation > li[class*="current"] > .children { }
.main-navigation > li > .children.collapsing,
.main-navigation > li > .children.show { }

/* .main-navigation > li > .children > li.current > a, */
/* .main-navigation > li > .children > li[class*="current"] > a, */
.main-navigation .children { position: relative; background-color: var(--purple); }
.main-navigation .children > li { }
.main-navigation .children > li > a {  }
.main-navigation .children li.current-menu-parent > a,
.main-navigation .children li.current_page_item > a,
.main-navigation .children a:hover { text-decoration: underline; }
/* .main-navigation > li > .children > li.current-page-ancestor a, */
/* .main-navigation li.current-menu-parent > a, */
.main-navigation .children li.current_page_item > a { font-weight: 700; }

		/* lvl 3 */
/* .main-navigation > li > .children > li li > a { font-weight: 400 !important; } */

/* sitemap-navigation */
/* .sitemap-navigation ul li { margin-bottom: 1rem; } */
/* .sitemap-navigation ul li.has-icon a { font-weight: 600; }
.sitemap-navigation ul li.has-icon a::before { display: none; } */

/* header meta */
/* .page-header .meta-navigation li { margin-bottom: .5rem; margin-right: 1rem; }
.page-header .meta-navigation a {  }
.page-header .meta-navigation a:hover,
.page-header .meta-navigation a:focus,
.page-header .meta-navigation li[class*="current"] > a { text-decoration: underline; color: var(--success); } */

/* ========= do the scroll thing */
.page-header { top: 0; z-index: 99; }
body.toggle-main-navigation { overflow: hidden; }
body.toggle-main-navigation .page-header { max-height: 100vh; overflow: auto; }
body.scrolled-outside-firstview .logo-container { margin-top: -7.5rem; }
body.scrolled-outside-firstview .respo-navigation { margin-top: -10rem; }
/* body.toggle-main-navigation .page-header { position: relative; top: auto; left: auto; right: auto; max-height: none; } */
/* .topAnchor { right: .6rem; bottom: .175rem; opacity: 0; z-index: +1; } */
/* body.scrolled-outside-firstview .topAnchor { opacity: 1; } */

/* ========= page-footer */
/* .page-footer { background: currentColor  url(../img/background-footer.svg) center bottom / 100% auto no-repeat; } */
/* .page-footer a.text-decoration-none:hover span { color: var(--secondary); border-color: currentColor !important; } */
.footer-navigation li { padding-bottom: .75rem; }
.footer-navigation > li[class*="current"] > a,
.footer-navigation > li.hover > a,
.footer-navigation > li:hover > a { text-decoration: none; }

/* ========= custom types / cpt / special formats */
/* single image */
/* .panel-grid-cell .widget_media_image { max-height: 50vh; overflow: hidden; }
.panel-grid-cell .widget_media_image > img.attachment-full { object-fit: cover; object-position: center; width: 100% !important; height: 100% !important; } */
.panel-grid-cell .widget_media_image > img.attachment-full { object-fit: cover; object-position: center; width: 100% !important; height: 100% !important; max-height: 50vh; }

/* referenzen */
.referenz-list-container .item-image { height: 30vh; }
.referenz-list-container .item-image img { object-fit: cover; width: 100%; height: 100%; }

/* lieferanten */
	/* slider */
.lieferant-list-container .swiper-wrapper { align-items: center; }

.page-list-container .item-image.h-100 img { object-fit: cover; height: 100%; width: 100%; }

/* ========= Wordpress specific */

/* align */
.aligncenter,
.alignright,
.alignleft { display: block; }
.alignleft { float: left; margin-right: 1rem; }
.alignright { float: right; margin-left: 1rem; }
.aligncenter { margin-left: auto; margin-right: auto; }

/* alerts */
.wp-success:not(:empty),
.wp-error:not(:empty) { position: relative; padding: .75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; }
.wp-success:not(:empty) { color: #11694f; background-color: #d2f4ea; border-color: #c1f0e2; }
.wp-error:not(:empty) { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; }

/* gallery */
.gallery.gallery-columns-1 .gallery-icon { text-align: center; }
.gallery:not(.gallery-columns-1) { display: flex; flex-wrap: wrap; align-items: center; position: relative; }
.gallery figure img { margin-left: auto; margin-right: auto; }

figcaption:not(.figure-caption),
.wp-caption-text.gallery-caption { font-size: 90%; text-align: center; padding-top: .5rem; }

.gallery:not(.gallery-columns-1) .gallery-item { padding: .5rem; }
/* .so-widget-sow-editor .gallery-item { padding: 1rem; } */

.gallery.gallery-columns-1 .gallery-item { width: 100%; }
.gallery.gallery-columns-2 .gallery-item { width: 50%; }
.gallery.gallery-columns-3 .gallery-item { width: 33.333%; }
.gallery.gallery-columns-4 .gallery-item,
.gallery.gallery-columns-5 .gallery-item,
.gallery.gallery-columns-6 .gallery-item,
.gallery.gallery-columns-7 .gallery-item,
.gallery.gallery-columns-8 .gallery-item,
.gallery.gallery-columns-9 .gallery-item { width: 25%; }

/* toolset form */
.wpv-form label + br { display: none; }
.form-group div + label { margin-top: 1rem; }
.wpv-form .reset-pass { display: flex; flex-flow: column; }

/* ========= Plugins and Vendors */
/* forms */
	/* infos, warnings */
.wpt-form-error,
.wpcf7-form-control-wrap .wpcf7-not-valid-tip,
.wpcf7-not-valid-tip[role="alert"],
.wpcf7-validation-errors { color: var(--danger); font-weight: normal; }
.wpcf7-not-valid { border-color: var(--danger); }
.screen-reader-response { display: none; }
form.wpcf7-form.sent > *:not(.wpcf7-response-output) { display: none !important; }
form.wpcf7-form.invalid .wpcf7-response-output,
form.wpcf7-form.sent .wpcf7-response-output { background-color: #fff; padding: 1rem; margin-top: 1rem; margin-bottom: 1rem; }
form.wpcf7-form.invalid .wpcf7-response-output { color: var(--danger); }
form.wpcf7-form.sent .wpcf7-response-output { color: var(--primary); }

	/* elements */
.wpcf7-list-item { display: block; }
.wpcf7-form-control-wrap { padding-top: .5rem; display: block; }
.wpt-form-set.wpt-form-set-checkboxes,
.wpt-form-set.wpt-form-set-radios { list-style: none; padding-left: 0; }
.wpt-form-set-children { list-style: none; }

	/* fields */
		/* inputs and textarea */
input:not(.btn),
textarea { background-color: var(--transparentprimary) !important; }
		/* radios and checkboxes */
.wpt-form-item.wpt-form-item-radio,
.wpt-form-label.wpt-form-radio-label,
.wpt-form-label.wpt-form-checkbox-label,
.wpcf7-form-control.wpcf7-acceptance label,
.wpcf7-form-control.wpcf7-radio label,
.wpcf7-form-control.wpcf7-checkbox label { display: flex; align-items: center; }
input[type="radio"].wpt-form-radio,
input[type="checkbox"].wpt-form-checkbox { width: auto; }
input[type="radio"],
input[type="checkbox"] { margin: 0 1rem 0 .25rem; transform: scale(1.5); }
		/* selects */
.wpt-form-option.form-option:not([data-parent="-1"]) { padding-left: 1rem; }
.wpt-form-option.form-option:not([data-parent="-1"])::before { content: '- '; }

/* fancybox */
/* .fancybox-slide */
/* .fancybox-content { max-width: 80vh; max-height: 80vh; };
.fancybox-bg { background: #333; }
.fancybox-close-small { width: 4rem; height: 4rem; }
.fancybox-button.fancybox-button--play { display: none; } */

/* lightGallery */
.lg-backdrop.in { opacity: .75; }

/* bootstrap */
.form-check-input { position: relative; }
.list-unstyled { margin-bottom: 0; }
.list-inline > li { display: inline-block; }
.sr-only-focusable:focus { z-index: 99; position: relative; }
/* a:focus { outline: 1px dashed currentColor; }
a:hover,a:active { outline: none; } */
.btn-xl { font-size: 1.5rem; }
small .btn, .small .btn { font-size: inherit; }
small, .small { line-height: 1.25; }
table.table tbody { border-width: 0 0 1px 0; border-style: solid; /* border-color: #ECECEC; */ }
.form-control::placeholder { opacity: .75; }
.display-1, .display-2, .display-3, .display-4 { }
.nav-pills .nav-item { background-color: #fff; }
.nav-pills .nav-item a { color: inherit; }
.list-group-item:nth-child(even) { background-color: #fff; }

/* siteorigin */
/* .panel-grid.has-row_fancybox { display: none; } */

	/* row space */
.panel-grid.panel-no-style.row_background-background-corporate,
.panel-grid.panel-has-style.row_background-background-corporate > .panel-row-style,
.panel-grid.panel-no-style.row_background-background-corporate_pink,
.panel-grid.panel-has-style.row_background-background-corporate_pink > .panel-row-style,
.panel-grid.panel-no-style.row_background-background-pink,
.panel-grid.panel-has-style.row_background-background-pink > .panel-row-style,
.panel-grid.panel-no-style.row_background-background-blue,
.panel-grid.panel-has-style.row_background-background-blue > .panel-row-style { padding-top: 3rem; padding-bottom: 3rem; }
.panel-grid.panel-no-style.row_topspace-high,
.panel-grid.panel-has-style.row_topspace-high > .panel-row-style { padding-top: 5rem; }

	/* for stretched links */
.panel-grid-cell { position: relative; }

	/* stretch / outside */
/* .panel-grid.has-row-full-width { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
.panel-grid.has-row-full-width:not(.has-row-full-width-content) { padding-left: 10px; padding-right: 10px; } */

	/* slider */
/* .panel-grid.has-row_slider { margin-left: -.5rem; margin-right: -.5rem; }
.panel-grid.has-row_slider .panel-grid-cell { margin-left: .5rem; margin-right: .5rem; } */

	/* background (cells and rows) */
.so-panel.has-widget_background:not(.widget_background-widget-background-default) { padding: .75rem 1rem !important; /* margin-bottom: 0 !important; */ height: 100%; } /* padding = p-2 / p-3 */

		/* covered image not center but top */
.panel-grid.panel-has-style.background_image_attachment.background_display-cover .panel-row-style { background-position-y: top; }
		/* colored */
.bg-corporate,
.panel-grid.panel-no-style.row_background-background-corporate_pink,
.panel-grid.panel-has-style.row_background-background-corporate_pink > .panel-row-style,
.panel-grid.panel-no-style.row_background-background-corporate,
.panel-grid.panel-has-style.row_background-background-corporate > .panel-row-style { background-image: url(../img/corporate-bg.svg); background-position: top left; background-repeat: repeat; background-attachment: fixed; }
.panel-grid.panel-no-style.row_background-background-corporate_pink,
.panel-grid.panel-has-style.row_background-background-corporate_pink > .panel-row-style { background-color: var(--purple); }
.bg-corporate,
.panel-grid.panel-no-style.row_background-background-corporate,
.panel-grid.panel-has-style.row_background-background-corporate > .panel-row-style { background-color: var(--primary); }
.panel-grid.panel-no-style.row_background-background-pink,
.panel-grid.panel-has-style.row_background-background-pink > .panel-row-style { background-color: var(--purple); }
.panel-grid.panel-no-style.row_background-background-blue,
.panel-grid.panel-has-style.row_background-background-blue > .panel-row-style { background-color: var(--primary); }
.panel-grid.row_background-background-pink *:not(.btn),
.panel-grid.row_background-background-blue *:not(.btn),
.panel-grid.row_background-background-corporate *:not(.btn),
.panel-grid.row_background-background-corporate_pink *:not(.btn) { color: #fff; }
			/* btn */
.panel-grid.row_background-background-blue .btn-outline-primary,
.panel-grid.row_background-background-corporate .btn-outline-primary { color: inherit; border-color: var(--purple); }
.panel-grid.row_background-background-corporate_pink .btn-outline-primary { color: inherit; border-color: var(--primary); }
.panel-grid.row_background-background-blue .btn-primary,
.panel-grid.row_background-background-corporate .btn-primary { background-color: var(--purple); }
.panel-grid.row_background-background-corporate_pink .btn-primary { background-color: var(--primary); }

	/* stretched cells */
.siteorigin-panels-stretch .so-panel { height: 100%; }

/* slider */
:root {
	--swiper-theme-color: #993a6b;
}
	/* dots */
/* .tns-nav { text-align: center; margin-bottom: 2rem; }
.tns-nav button { border: none; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-size: .785rem; }
.tns-nav button:not(.tns-nav-active) { color: #9d9c9c; } */
/* .tns-nav button.tns-nav-active { color: #00a870; } */
	/* arrows */
/* .tns-controls {  }
.tns-controls button { border: none; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-size: 2rem; }
.tns-controls button[disabled] { opacity: .5; }
.tns-controls button:not(:hover) {  } */
/* .tns-controls button:hover { color: #00a870; } */
		/* position by cpt */
/* .tns-outer { position: relative; }
.tns-controls button { position: absolute; top: 45%; color: #fff; }
.tns-controls button:not([disabled]) { text-shadow: 0 0 .125rem #333; }
.tns-controls button[data-controls="prev"] { left: 0; }
.tns-controls button[data-controls="next"] { right: 0; } */

/* ========= Helper */
.text-large { font-size: 1.33rem; }
.text-strike { text-decoration: line-through; }

@media (hover: hover) {
	.outside { max-width: none; margin-left: calc(50% - 50vw + 8px); margin-right: calc(50% - 50vw + 8px); }
}
@media (hover: none) {
	.outside { max-width: none; margin-left: calc(50% - 50vw + 0px); margin-right: calc(50% - 50vw + 0px); }
}

.display-none { display: none; } /* without !important */

.text-normal { text-transform: none; }

.text-white a:not(.btn),
.bg-dark a:not(.btn),
.table-dark a:not(.btn) { color: inherit; }

.btn-none { text-transform: none; text-align: left; font-weight: normal; font-size: inherit; background-color: transparent; border: none; padding: 0; }
[data-toggle]:not(a):not(.btn) { cursor: pointer; }

.clear { clear: both; }

.h-0 { height: 0 !important; overflow: hidden; }

.transition { transition: all .25s ease; }

ul.icon-ul { list-style: none; padding-left: 0; }
ul.icon-ul > li { padding-left: 4.5rem; padding-bottom: 1.25rem; }
ul.icon-ul > li::before { margin: 0 0 0 -3rem; position: absolute; font-size: 1.5rem; }

.styled [type="checkbox"],.styled [type="radio"],
[type="checkbox"].styled,[type="radio"].styled{position:absolute;opacity:0;cursor:pointer;height:0;width:0}
.styled [type="checkbox"]+.wpcf7-list-item-label::before,.styled [type="radio"]+.wpcf7-list-item-label::before,
[type="checkbox"].styled+label::before,[type="radio"].styled+label::before{cursor:pointer;width:1rem;height:1rem;display:block;float:left;margin-right:.75rem;margin-bottom:.5rem;/*line-height:1;font-size:1rem*/}

.custom-html-widget { width: 100%; }

.bg-altprimary { background-color: var(--purple); }

:root {
	--transparentprimary: #00718d20;
}