/*
Theme Name: Beaver Builder Child Theme - Demo 1
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.4
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Child theme custom styles */


/* ---- Defined in Plugin "central color palette"
:root {
--primary-color:# ;
--secondary-color: #;
--secondary-light-color: #;
--dark-neutral: #; 
--light-neutral: #; 
}
*/


/* import fonts */
@import url("fonts.css");


/* just for testing */
/*.fl-module-content { background-color: aliceblue; }*/


*  { overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; word-break: break-word; -ms-hyphens: auto !important; -moz-hyphens: auto !important; -webkit-hyphens: auto !important; hyphens: auto !important; }



/* custom styles by Günter Kissinger,email@derinformant.de) */ 


body {
font-size: 20px;
font-weight: 300;
font-family: Inter,system-ui, -apple-system, BlinkMacSystemFont,'Segoe UI', Roboto, Oxygen, Ubuntu,'Helvetica Neue', sans-serif;
hyphens: auto;
font-display: swap;
color: var(--darker-neutral);
}

/*
.d-flex {display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}

.mx-auto{margin-right:auto!important}
.ml-auto,.mx-auto{margin-left:auto!important}

.align-self-center {
-ms-flex-item-align:center!important;
align-self:center!important
}
*/

p { 
	font-size: 1em;
}

.large-paragraph { 
	font-size: 22px !important
}


.centered {
	text-align: center;
}


#top-bar a:hover {
	text-decoration: none ;
	font-weight: 600 ;
	color: var(--darker-neutral);

}

.overline h2 .fl-heading-text, h2 .fl-callout-title-text, .overline h1 .fl-heading-text, h1 .fl-callout-title-text  {
	color: var(--primary-color) !important;
  letter-spacing: 2.4px !important;
	text-transform: uppercase !important;
	font-size: 24px !important;
	padding-bottom: 8px !important;
	border-bottom: 2px solid var(--primary-color) !important;
	font-weight: 400;
}

.overline.overline-white h2 .fl-heading-text {
	color: var(--white) !important;
	border-bottom: 2px solid var(--white) !important;
}

.overline.overline-black h2 .fl-heading-text {
	color: var(--darker-neutral) !important;
	border-bottom: 2px solid var(--darker-neutral) !important;
}


.fl-callout-text h3.h2 {

	margin-top: 20px;
	font-size: 50px
}

ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a:hover,
.sub-menu > li > a:hover,
.fl-menu .menu > li > a:hover,
.fl-menu a:hover, .fl-menu a:active {
	color: var(--darker-neutral) !important;
}

strong, b {
	font-weight: 600;
	font-family: Inter,system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Helvetica Neue', sans-serif;

}

h1, h2, h3, h4, h5, h6 { 
font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 'Helvetica Neue', sans-serif;
font-weight: 600 !important;
	color: var(--dark-neutral);
}

h1 {
	font-size: 90px;
}

h3 {
	font-size: 30px !important;
	font-weight: 600;
	letter-spacing: 0;
}

.h2 h3 .fl-heading-text {

	font-size: 50px !important;
}

.large-paragraph, .large-paragraph p {
	font-size: 22px !important;
}

.vertical-center {
	align-items:center
}

footer h3 {
font-weight: 400;
color: var(--darker-neutral);

}

footer p {
font-weight: 300;
color: var(--darker-neutral);

}

.footer-logo {
	margin-top: 30px;
	margin-left: -25px;

}

.brand-bar .brand-img .fl-photo-content {
	padding: 8px !important;

}


.brand-bar .brand-col .fl-col-content {

		background-color: #f4f4f4;
		margin-right: 8px;
}

/**** HAUPTMENU ****/
#menu-hauptmenue-nicht-verlinkt li {
	padding-bottom: 10px;
}
#menu-hauptmenue-nicht-verlinkt li a::before {
	content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 3px;
    background-color: var(--primary-color);
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}
#menu-hauptmenue-nicht-verlinkt li a:hover::before{
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
}
#menu-hauptmenue-nicht-verlinkt li .sub-menu {
	margin-top: 10px;
}
#menu-hauptmenue-nicht-verlinkt ul li ul li a {
	padding: 5px 14px 5px 30px !Important;
	transition: all 0.2s ease-in-out;
}
#menu-hauptmenue-nicht-verlinkt ul li ul li a:hover {
	padding: 5px 14px 5px 35px!Important;
	transition: all 0.2s ease-in-out;
}
#menu-hauptmenue-nicht-verlinkt ul li ul li a::before {
	content: "›";
    transition: opacity 0.2s ease-in-out;
	opacity: 1;
	background-color: transparent;
	width: 10px;
    position: absolute;
    left: 20px;
    top: 4px;
	color: var(--primary-color);
}
#menu-hauptmenue-nicht-verlinkt .mega-menu .sub-menu {
	
}




/**** LINK & MENUES ****/

a, a:visited { color: var(--darker-neutral)}
a:hover, a:active,
li.current-menu-item a { text-decoration: none; }

li.current-menu-item a { font-weight: 600; }

.fl-node-615af70b0d2c0 .fl-menu .fl-toggle-arrows .fl-has-submenu-container:hover > .fl-menu-toggle::before, 
.fl-node-615af70b0d2c0 .fl-menu .fl-toggle-arrows .fl-has-submenu-container.focus > .fl-menu-toggle::before, 
.fl-node-615af70b0d2c0 .fl-menu .fl-toggle-arrows li.current-menu-item > .fl-has-submenu-container > .fl-menu-toggle::before, 
.fl-node-615af70b0d2c0 fl-menu .fl-toggle-none .fl-has-submenu-container:hover > .fl-menu-toggle::before, 
.fl-node-615af70b0d2c0 .fl-menu .fl-toggle-none .fl-has-submenu-container.focus > .fl-menu-toggle::before, 
.fl-node-615af70b0d2c0 .fl-menu .fl-toggle-none li.current-menu-item > .fl-has-submenu-container > .fl-menu-toggle::before { 
	border-color: var(--secondary-light-color) !important; 
}
ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li.sub-menu-heading, 
ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a  {
	font-weight: 300;
	font-size: 16px !important;
}
.sub-menu-heading .fl-has-submenu-container a{
	text-transform: uppercase;
	font-size 16px;
	font-weight: 600 !Important;
}
ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li.sub-menu-heading::before, 
ul.fl-menu-horizontal li.mega-menu > ul.sub-menu > li > .fl-has-submenu-container a::before {
	background-color: transparent !Important;
}
.fl-has-submenu-container:hover > a { 
	color: var(--darker-neutral) !important}

.menu .fl-has-submenu .sub-menu {
	top:  109px !important;
	background: #fff;
}
 /* CONTAINER */
.col-flex .fl-col-content {
	display: flex;
    justify-content: center !Important;
	flex-direction: column;
}

/*
.fl-slide {display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}
*/

.fl-icon-wrap a {
	text-decoration: none;
}


.fl-builder-content .fl-node-613f161e7e2d3 *:not(input):not(p):not(textarea):not(select):not(a):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fl-menu-mobile-toggle) {
	margin: 0 !important;
}

.fl-slide-foreground {

	max-width: 100% !important;
}

.fl-slide-1 .fl-slide-content {


}


.fl-slide-0 .fl-slide-photo {
	margin-left: 0 !important;
}

.fl-slide-0 .fl-slide-photo img {
	height: 100%;
}


.fl-slide-content-wrap {
	margin-top: auto!important;
	margin-bottom: auto!important;
	margin-left: auto!important;
  margin-right: auto!important;
  vertical-align: middle!important;

}


.fl-slide-title, .fl-slide-text {
	margin-left: 20px;
	margin-right: 20px;
}


/*  STEPS */


#steps h2.fl-heading {
	text-align: center !important;
}

.steps-heading h3 {

	font-size: 30px;
	color: var(--primary-color);
	font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Oxygen, Ubuntu, \'Helvetica Neue\', sans-serif;

}

.steps-heading .fl-heading-text strong {
	font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Oxygen, Ubuntu, \'Helvetica Neue\', sans-serif;
	font-weight: 600;
	font-size: 59px;
	text-align: center;
	vertical-align: top;
	color: var(--white);
	background-image: url('/wp-content/uploads/kreis_nummerierung_blau.svg');
	background-repeat: no-repeat;
	background-position: right top;
	display: block;
	width: 64px;
	height: 64px;
	padding: 20px;
}

.steps-heading .fl-heading-text strong {
	font-family: Poppins, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Oxygen, Ubuntu, \'Helvetica Neue\', sans-serif;
	font-weight: 600;
	font-size: 26px;
	text-align: center;
	color: var(--white);
	background-image: url('/wp-content/uploads/kreis_nummerierung_blau.svg');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 64px 64px;
	display: block;
	padding: 0;
	display: flex;
	align-items: center;
    justify-content: center;

}

h1.fl-slide-title {
	text-align: center;
	line-height: 1em;
}

.fl-slide-text p {
	font-size: 24px;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 30px !important;
}
.fl-slide-content {
	display: flex;
	flex-direction: column;
    justify-content: center;
}

.testimonials-slider .fl-slide-text, .testimonials-slider .fl-slide-text p, .testimonials-slider .fl-slide-text strong {
	color: var(--darker-neutral) !important;
	font-size: 22px;
	text-transform: none;

}

.testimonials-slider .bx-wrapper .bx-pager.bx-default-pager a.active {
	color: var(--white) !important;
	background-color: var(--white) !important

}


.quotation-mark {
	font-family: serif;
	font-weight: 700;
	font-size: 36px;
	color: var(--darker-neutral) !important;
}

.mark-left {
	text-align:  left !important;
}

.mark-right {
	text-align:  right !important;
}


/*
.fl-slide-foreground {

	min-width: 1600px;
}

*/


/* UI */

/* OPTIM BUTTONS 

.btn-[outline-xxx] > .fl-module-content > .fl-button-wrap > a.fl-button > span.fl-button-text

*/
/* BUTTON HEADER WHITE */
#header-button .fl-page .btn-outline a.fl-button, 
#header-button .fl-page a.fl-button:visited, 
#header-button a.fl-button, a.fl-button:visited, 
#header-button .btn-outline a.fl-button, 
#header-button a.fl-button:visited,
#header-button .fl-page a.fl-button, 
#header-button .fl-page a.fl-button:visited, 
#header-button a.fl-button, 
#header-button a.fl-button:visited {border: 2px solid var(--white) !important; background-color: transparent !important; color:var(--white) !important}
#header-button .fl-button-text { color: var(--white) !important}
#header-button:hover .fl-button-text { color: var(--primary-color) !important}
#header-button .fl-button-text:hover, .fl-button-text:focus { color: var(--primary-color) !important}
#header-button .fl-builder-content a.fl-button:hover, a.fl-button:focus {color: var(--primary-color) !important}
#header-button a.fl-button:hover {background-color: var(--white) !important; color:var(--primary-color) !important}
#header-button .fl-builder-content a.fl-button:hover .fl-button-text, a.fl-button:focus .fl-button-text {color:var(--primary-color) !important}

/* DEFAULT BUTTON ORANGE TEXT + BORDER */
.fl-page .btn-outline a.fl-button, 
.fl-page a.fl-button:visited, 
a.fl-button, a.fl-button:visited, 
.btn-outline a.fl-button, 
a.fl-button:visited,
.fl-page a.fl-button, 
.fl-page a.fl-button:visited, 
a.fl-button, 
a.fl-button:visited {
	border: 2px solid var(--secondary-color) !important; 
	background-color: var(--secondary-color) !important; 
	color:var(--white) !important;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
}
.fl-button-text { color: var(--white) !important}
.fl-button-text:hover, .fl-button-text:focus { 
	color: var(--secondary-color) !important;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
	background-color: transparent !important; 
}
.fl-builder-content a.fl-button:hover, a.fl-button:focus {color: var(--white) !important}
a.fl-button:hover {background-color: var(--secondary-color) !important; color:var(--white) !important}
.fl-builder-content a.fl-button:hover .fl-button-text, a.fl-button:focus .fl-button-text {color:var(--white) !important}


.fl-button-text, .fl-page a.fl-button, .fl-page a.fl-button:visited {
	font-size: 20px;
	font-weight: 300 !important;
}

/* DEFAULT BUTTON BLUE TEXT + BLUE BORDER ---- + fl-callout-button   */ 
.fl-callout-button a.fl-button, .fl-callout-button a.fl-button:visited, .btn-outline a.fl-button, a.fl-button:visited {border-color: var(--primary-color) !important; color: var(--primary-color) !important}
.fl-callout-button a.fl-button:hover, .btn-outline a.fl-button:hover {
	background-color: var(--primary-color) !important;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
}
.fl-callout-button .fl-button-text, .btn-outline .fl-button-text {color: var(--primary-color) !important}

.fl-page .btn-outline a.fl-button, .fl-page .btn-outline a.fl-button:visited, .btn-outline a.fl-button, .btn-outline a.fl-button:visited,
.btn-outline a.fl-button, a.fl-button:visited {border-color: var(--primary-color) !important; color: var(--primary-color) !important}
.btn-outline a.fl-button:hover {
	background-color: var(--primary-color) !important; color: var(--white) !important;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
}
.btn-outline .fl-button-text {color: var(--primary-color) !important}
.btn-outline a.fl-button:hover .fl-button-text, a.fl-button:focus .fl-button-text {color:var(--white) !important}



/* INVERSE BUTTON BLUE */
.btn-outline-primary a.fl-button, .btn-outline-primary a.fl-button:visited {border-color: var(--white) !important}
.btn-outline-primary .fl-button-text {color: var(--white) !important}
.btn-outline-primary a.fl-button:hover {
	border-color: var(--white) !important;background-color: var(--white) !important; color: var(--primary-color) !important;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
}
.btn-outline-primary .fl-button-text:hover, 
.fl-builder-content  .btn-outline-primary a.fl-button:hover .fl-button-text, a.fl-button:focus .fl-button-text {color:var(--primary-color) !important}

/* INVERSE BUTTON ORANGE */
.btn-outline-secondary a.fl-button, .btn-outline-secondary a.fl-button:visited {border-color: var(--white) !important}
.btn-outline-secondary .fl-button-text {color: var(--white) !important}
.btn-outline-secondary a.fl-button:hover {
	border-color: var(--white) !important;background-color: var(--white) !important; color: var(--secondary-color) !important;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
}
.fl-builder-content  .btn-outline-secondary a.fl-button:hover .fl-button-text, a.fl-button:focus .fl-button-text {color:var(--primary-color) !important}


/* carouselslider */
.pp-image-carousel.pp-carousel-navigation-outside .pp-swiper-button {
    top: calc(50% - 0px / 2);
}
.pp-image-carousel-wrapper .pp-swiper-button-prev {
    left: -14px;
}
.pp-image-carousel-wrapper .pp-swiper-button-next {
    right: -14px;
}
/*

.fl-slide-text .btn-outline a.fl-button { border: 2px solid var(--white) !important}
.fl-slide-text .btn-outline a.fl-button:hover { border-color: var(--secondary-color) !important}
.fl-slide-text .btn-outline a.fl-button .fl-button-text { color: var(--white) !important}

.fl-slide-text .btn-outline-secondary a.fl-button { border: 2px solid var(--secondary-color) !important; background-color: transparent !important; }
.fl-slide-text .btn-outline-secondary a.fl-button:hover { border-color: var(--secondary-color) !important}
.fl-slide-text .btn-outline-secondary a.fl-button .fl-button-text { color: var(--secondary-color) !important}


.fl-callout-button a.fl-button { border: 2px solid var(--primary-color) !important; background-color: transparent !important; }
.fl-callout-button a.fl-button .fl-button-text { color: var(--primary-color) !important; }
.fl-callout-button a.fl-button:hover { background-color: var(--primary-color) !important }
.fl-callout-button a.fl-button:hover .fl-button-text { color: var(--white) !important; font-weight: 300; }


*/



/* forms */

input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"], input[type="search"], input[type="url"], textarea{
	background-color: var(--light-neutral);
}

	
input[type="text"]::placeholder, input[type="password"]::placeholder, input[type="email"]::placeholder, input[type="tel"]::placeholder, input[type="date"]::placeholder, input[type="month"]::placeholder, input[type="week"]::placeholder, input[type="time"]::placeholder, input[type="number"]::placeholder, input[type="search"]::placeholder, input[type="url"]::placeholder, textarea::placeholder {
	color: #272727;
}

input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="number"], input[type="search"], input[type="url"], textarea {
padding: 24px 24px;
line-height: 1.428571429;
color: var(--dark-neutral);
vertical-align: middle;
background-color: var(--light-neutral);
background-image: none;
border: 1px solid #e6e6e6;
-moz-transition: all ease-in-out .15s;
-webkit-transition: all ease-in-out .15s;
transition: all ease-in-out .15s;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
-moz-border-radius: 0px !important;
-webkit-border-radius: 0px !important;
border-radius: 0px !important;	
}

.fl-contact-form label { 
font-weight: 300; 
font-size: 0.8em;
}


/* custom lang switcher */

.trp-language-switcher > div {
box-sizing: border-box;
padding: 3px 20px 3px 5px;
border: none !important;
border-radius: 0px !important;
background-image: linear-gradient(45deg,transparent 50%,gray 50%),linear-gradient(135deg,gray 50%,transparent 50%);
background-position: calc(100% - 8px) calc(1em + 0px),calc(100% - 3px) calc(1em + 0px);
background-size: 5px 5px,5px 5px;
background-repeat: no-repeat;
background-color: transparent !important;
}


.trp-language-switcher > div > a > img {
  display: inline;
  margin: 0 3px;
  width: 30px;
  height: 20px;
  border-radius: 0;
}

@media (min-width: 1291px) and (max-width: 1400px) {
	.fl-menu .menu, .fl-menu .menu > li {

		font-size: 16px !important;
	}
	h1 {
	font-size: 80px;
	}
}


@media (min-width: 993px) and (max-width: 1290px) {

	.menu a {
		padding-left: 5px !important;
    padding-right: 5px !important;
	}

	.phone-number .fl-icon-text, .fl-icon-text-link p {
		font-size: 14px !important;
	}

	.fl-icon {
		display: none !important;
	}

	.fl-menu .menu > li {
		font-size: 14px !important;
	}

	.fl-builder-content a.fl-button {
		padding-left: 2em !important;
		padding-right: 2em !important;

	}

	.fl-button-text, .fl-page a.fl-button, .fl-page a.fl-button:visited {
		font-size: 14px !important	
 }


}

@media (max-width: 992px) {
.overline h2 .fl-heading-text, h2 .fl-callout-title-text, .overline h1 .fl-heading-text, h1 .fl-callout-title-text  {

	letter-spacing: 1px !important;
	line-height: 1 !important;
	font-size: 18px !important;
}

.borlabs-cookie-bct .bc-text {
    top: 33% !important;
}


.footer-logo {

	margin-left: 0;
}

h1 {
	font-size: 70px;
	}
	.h2 h3 .fl-heading-text {

	font-size: 28px !important;
	}
	.fl-callout-text h3.h2, h2 {
		font-size: 36px !important
	}

}

@media (max-width: 768px) { 

	.pp-video-gallery .pp-video-gallery-item, .pp-review-item  {
		width: 100% !important;
	}

	.pp-video {
		min-height: 250px;
	}

	.fl-menu {
		margin-left: 25px;
		margin-right: 25px;
	}

	.large-paragraph p { 
	font-size: 18px !important
	}

}
