/*
Theme Name: px-lehrbauhof-theme
Text Domain: px-lehrbauhof-theme
Version: 2.1.4
Requires at least: 5.4
Requires PHP: 7.0.0
Description: Basis-Template zur Webseitenerstellung
Tags: Template
Author URI: https://www.pronomix.de
Theme URI: https://www.pronomix.de
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

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.
*/

:root{
	--lbh1: var(--e-global-color-primary, #22307EFF);
}

/* Allow Elementor flip boxes to animate - overrides the global transition reset above */
.elementor-widget-flip-box .elementor-flip-box__layer,
.elementor-widget-flip-box .elementor-flip-box__layer__overlay,
.elementor-widget-flip-box .elementor-flip-box__layer__inner {
	transition: all .6s ease-in-out !important;
	backface-visibility: hidden;
	transform-style: preserve-3d;
}

lbh-veranstaltung{
	box-shadow: 0 0 0 2px var(--e-global-color-primary);
}
@font-face {
	font-family: 'Lato';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/lato-v23-latin-regular.eot');
	src: local(''),
		url('fonts/lato-v23-latin-regular.eot?#iefix') format('embedded-opentype'),
		url('fonts/lato-v23-latin-regular.woff2') format('woff2'),
		url('fonts/lato-v23-latin-regular.woff') format('woff'),
		url('fonts/lato-v23-latin-regular.ttf') format('truetype'),
		url('fonts/lato-v23-latin-regular.svg#Lato') format('svg');
	font-display:swap;
}
@font-face {
	font-family: 'Lato';
	font-style: normal;
	font-weight: 700;
	src: url('fonts/lato-v23-latin-700.eot');
	src: local(''),
		url('fonts/lato-v23-latin-700.eot?#iefix') format('embedded-opentype'),
		url('fonts/lato-v23-latin-700.woff2') format('woff2'),
		url('fonts/lato-v23-latin-700.woff') format('woff'),
		url('fonts/lato-v23-latin-700.ttf') format('truetype'),
		url('fonts/lato-v23-latin-700.svg#Lato') format('svg');
	font-display:swap;
}
@font-face {
	font-family: 'Lato';
	font-style: normal;
	font-weight: 900;
	src: url('fonts/lato-v23-latin-900.eot');
	src: local(''),
		url('fonts/lato-v23-latin-900.eot?#iefix') format('embedded-opentype'),
		url('fonts/lato-v23-latin-900.woff2') format('woff2'),
		url('fonts/lato-v23-latin-900.woff') format('woff'),
		url('fonts/lato-v23-latin-900.ttf') format('truetype'),
		url('fonts/lato-v23-latin-900.svg#Lato') format('svg');
	font-display:swap;
}
*{font-family:Lato, sans-serif}
body{margin:0;padding:0}
.elementor-button-wrapper > a{width:100%!important}
.elementor-button-wrapper i{width:18px!important;height:100%;display:flex;justify-content:center;align-items:center}
.lbh_verweis .elementor-button-wrapper i{width:100%!important;height:100%;display:flex;justify-content:center;align-items:center;font-size:30px;margin-bottom:15px}
.lbh_verweis .elementor-button-content-wrapper{display:block}
.elementor-align-left span.elementor-button-text{text-align:left}
.elementor-align-right span.elementor-button-text{text-align:right}

@media (max-width: 767px) {
	.e-n-tabs-heading {
		gap: 0;
	}

	.e-n-tabs-heading .e-n-tab-title {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
.elementor-widget,
.elementor-widget-container{
	max-width:100%;
	box-sizing:border-box;
}
.elementor-widget img,
.elementor-widget iframe,
.elementor-widget video,
.elementor-widget embed,
.elementor-widget object{
	max-width:100%;
	height:auto;
}

.lbh_bl a span, .lbh_br a span{
	z-index:1;
}
button, a, button-main{
transition: none !important;
cursor:pointer;
}

lbh-suche button,
lbh-veranstaltung a,
.lbh_bl a,
.lbh_br a,
#lbh_login button,
#lbh_login a {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding:0;
	margin:0 60px 0 -60px;
	text-align:center;
	width:260px!important;
	height:60px;
	line-height:60px;
	background: var( --e-global-color-primary);
	color: #FFF;
	font-size:18px!important;
	font-weight:700;
	letter-spacing:1px;
	text-transform:uppercase;
	transition: none !important;
	overflow: visible;
	z-index: 1;
}
#lbh_login,
#lbh_register{
	background:#eef !important;
	color:var(--e-global-color-primary);
}
#lbh_login .elementor-login,
#lbh_login .elementor-form,
#lbh_login .woocommerce-form-login,
#lbh_login .woocommerce-form-register,
#lbh_register .elementor-login,
#lbh_register .elementor-form,
#lbh_register .woocommerce-form-login,
#lbh_register .woocommerce-form-register{
	background:#eef !important;
}
#lbh_login input,
#lbh_login textarea,
#lbh_login select,
#lbh_login label,
#lbh_login .elementor-field-label,
#lbh_login .elementor-login__logged-in-message,
#lbh_register input,
#lbh_register textarea,
#lbh_register select,
#lbh_register label,
#lbh_register .elementor-field-label,
#lbh_register .elementor-login__logged-in-message{
	color:var(--e-global-color-primary);
}
#lbh_login ::placeholder,
#lbh_register ::placeholder{
	color:var(--e-global-color-primary);
}
#lbh_login input:focus,
#lbh_login textarea:focus,
#lbh_login select:focus,
#lbh_login input:focus:invalid,
#lbh_login textarea:focus:invalid,
#lbh_login select:focus:invalid,
#lbh_register input:focus,
#lbh_register textarea:focus,
#lbh_register select:focus,
#lbh_register input:focus:invalid,
#lbh_register textarea:focus:invalid,
#lbh_register select:focus:invalid{
	background-color:#fff !important;
}
#lbh_login input[type="submit"],
#lbh_register input[type="submit"]{
	font-size:18px!important;
}
lbh-suche button{
	color: #FFF !important;
}
lbh-suche button:hover{
	color: var(--e-global-color-primary)!important;
}
lbh-veranstaltung a::before,
.lbh_bl a::before,
.lbh_br a::before,
#lbh_login button::before,
#lbh_login a::before,
lbh-buttons a::before,
.lbh-buttons a::before{
	content:'';
	position:absolute;
	transform:skewX(45deg) !important;
	right:-30px;
	left:auto;
	width:60px;
	z-index: -1;
	top:0;
	height:60px;
	background: var( --e-global-color-primary);
	color: #FFF;
	transition: none !important;
}

.lbh-buttons .lbh-contact a::before{
	content:none!important;
	display:none!important;
}

/* Accordion Widget buttons use ::before instead - override with higher specificity */
.lbh-accordion .lbh-buttons > a::after,
.lbh-accordion .lbh-buttons > .toggle-button::after,
.px-lbh-accordion .lbh-buttons > a::after,
.px-lbh-accordion .lbh-buttons > .toggle-button::after {
	display: none !important;
}

/* lbh-buttons in lbh-details: Spitzen nach rechts wie bei Accordion */
lbh-details lbh-buttons a::after,
lbh-details .lbh-buttons a::after {
	display: none !important;
}

lbh-details lbh-buttons a::before,
lbh-details .lbh-buttons a::before {
	content: '';
	position: absolute;
	right: -30px;
	top: 0;
	width: 60px;
	height: 60px;
	background: var(--e-global-color-primary);
	transform: skewX(45deg);
	z-index: -1;
}

lbh-details lbh-buttons a:hover::before,
lbh-details .lbh-buttons a:hover::before {
	background: var(--e-global-color-secondary);
}
lbh-suche button::before{
	content:'';
	position:absolute;
	transform:skewX(-45deg);
	right: -30px;
	top:0;
	width:60px;
	height:60px;
	background:var(--e-global-color-primary);
	z-index:-1;
	transition: none !important;
}
lbh-suche button.lbh-filter-reset::before{
	background:var(--e-global-color-secondary);
}
.lbh_bl.vo a::before{
	transform:skewX(-45deg)!important;
}
.lbh_bl.vo a::before,
.lbh_br.vo a::before{
	right:-30px;
	left:auto;
	top:0;
	transform:skewX(45deg);
}
lbh-suche button.bl::before{
	right:-30px;
	left:auto;
	transform:skewX(45deg);
}
lbh-suche button.bl::before,
lbh-veranstaltung a.bl::before,
.lbh_bl a::before,
screen-main button.bl::before,
button-main.bl::before,
button.bl::before,
a.bl::before{
	transition: none !important;
}
lbh-veranstaltung a.bl::before,
.lbh_bl a::before,
#lbh_login a::before{
	color:#FFF !important;
	left:-30px !important;
	left:auto;
	transform:skewX(45deg)!important;
}
lbh-suche button.bl:hover{
	color: #FFF !important;
}
screen-main button.bl::before, button-main.bl::before,
screen-main button.br::before, button-main.br::before{
	content:'';
	position:absolute;
	transform:skewX(45deg);
	right:-30px;
	top:0;
	width:60px;
	height:60px;
	background:var(--e-global-color-primary);
	z-index:-1;
}
screen-main button.bl::before, button-main.bl::before{
	transform:skewX(-45deg);
	left:-30px;
	right:auto;
}
lbh-suche button:hover, lbh-suche button:hover::before,
lbh-veranstaltung a:hover, lbh-veranstaltung a:hover::before,
lbh-buttons a:hover, .lbh-buttons a:hover, lbh-buttons a:hover::before, .lbh-buttons a:hover::before,
screen-main button.br:hover::before, button-main.br:hover::before,
screen-main button.bl:hover::before, button-main.bl:hover::before,
screen-main button.br:active::before, button-main.br:active::before,
screen-main button.bl:active::before, button-main.bl:active::before,
screen-main button.br:focus::before, button-main.br:focus::before,
screen-main button.bl:focus::before, button-main.bl:focus::before,
.lbh_bl a:hover, .lbh_br a:hover, .lbh_bl a:hover::before, .lbh_br a:hover::before, #lbh_login button:hover, #lbh_login a:hover, #lbh_login button:hover::before, #lbh_login a:hover::before{
	background:var( --e-global-color-secondary );
}
#lbh_login button:hover,
#lbh_login button:hover::before,
#lbh_login a:hover,
#lbh_login a:hover::before,
#lbh_login input[type="submit"]:hover,
#lbh_register button:hover,
#lbh_register button:hover::before,
#lbh_register a:hover,
#lbh_register a:hover::before,
#lbh_register input[type="submit"]:hover{
	background:#f28c00;
}
screen-main button.br:hover,
button-main.br:hover,
button.br:hover,
a.br:hover,
.lbh_br a:hover{
	color: var(--e-global-color-primary);
}

/* Accordion Widget buttons use ::before for hover - exclude from ::after hover */
.lbh-accordion .lbh-buttons > a:hover::after,
.lbh-accordion .lbh-buttons > .toggle-button:hover::after,
.px-lbh-accordion .lbh-buttons > a:hover::after,
.px-lbh-accordion .lbh-buttons > .toggle-button:hover::after {
	background: transparent !important;
}

/* lbh-details lbh-buttons hover - exclude from ::after hover */
lbh-details lbh-buttons a:hover::after,
lbh-details .lbh-buttons a:hover::after {
	background: transparent !important;
}
.lbh_bl a, #lbh_login a{
	margin:0 0 0 60px;
}
#lbh_login .elementor-field-group.elementor-column.elementor-field-type-submit{position:absolute;height:0;bottom:0;right:0}
#lbh_login .elementor-field-group.elementor-column.elementor-field-type-submit + .elementor-field-group.elementor-column{position:absolute;height:0;bottom:0;left:0}
#lbh_login button, #lbh_login a{width:290px!important;position:absolute;bottom:-90px;top:auto}
#lbh_login button{right:-120px;cursor:pointer; transition: none!important;}
#lbh_login a{left:-120px}
#lbh_login button::before{right:-30px}
#lbh_login a::before{left:-30px}
#lbh_login .elementor-login__logged-in-message a{left:50%;margin:0 0 0 -145px;bottom:-60px}
#lbh_login .elementor-login__logged-in-message a::before{content:none}
#lbh_login .elementor-login__logged-in-message{text-align:center}

lbh-block{
	border:2px solid var(--e-global-color-primary);
	box-sizing:border-box;
}
azubi-list{
	border:2px solid var(--e-global-color-primary);
	box-sizing:border-box;
}
lbh-tab,
lbh-tab-mobile{
	background:var(--lbh1);
	color:#fff;
}
lbh-sub-tab{
	background:var(--lbh1);
	color:#fff;
}
lbh-tab:hover,
lbh-tab-mobile:hover{
	background:#EEF;
	color:var(--lbh1);
}
lbh-tab.on,
lbh-tab-mobile.on{
	background:var(--lbh2);
	color:#fff;
}
lbh-tab-box{
	border:2px solid var(--e-global-color-primary);
	box-sizing:border-box;
}
lbh-sub-tab:hover{
	background:#EEF;
	color:var(--lbh1);
}
lbh-sub-tab.on{
	background:var(--lbh2);
	color:#fff;
}

#lbh_desktop_nav nav{
    position: fixed;
    top: 0;
    right: 0;
    width: 365px;
    height: 100vh;
    padding-top:20vh;
    margin:0;
    box-shadow:0 0 5px rgba(0,0,0,0.2);
	overflow-y:auto;
	background:#FFF;
}
#lbh_mobile_nav a,
#lbh_desktop_nav nav a{
    font-size:24px;
    font-weight:700;
    line-height: 30px;
    padding:0 0 0 40px;
    display:block;
    cursor:pointer;
    color:var(--e-global-color-primary);
    position:relative;
}
#lbh_mobile_nav a{
    font-size:22px;
    line-height:30px;
    padding:0 0 0 20px;
}
#lbh_desktop_nav nav a:hover{
    color:var(--e-global-color-secondary);
}
#lbh_desktop_nav nav .current-page-ancestor a::before,
#lbh_desktop_nav nav a.elementor-item-active::before{
    content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><polygon fill="%23f28c00" points="100 50 0 100 0 0 100 50"/></svg>');
    height:20px;
    width:20px;
    position:absolute;
    left:10px;
    top:0;
}
#lbh_mobile_nav nav a.elementor-item-active{
	color:var(--e-global-color-secondary);
}
#lbh_mobile_nav nav ul,
#lbh_desktop_nav nav ul{
	margin:0;
	padding:0;
}
#lbh_mobile_nav nav li,
#lbh_desktop_nav nav li{
	list-style:none;
	margin:10px 0 0 0;
}
#lbh_mobile_nav nav .menu-item-spacer,
#lbh_desktop_nav nav .menu-item-spacer{
	margin:0;
}
#lbh_mobile_nav nav .menu-item-spacer + li,
#lbh_desktop_nav nav .menu-item-spacer + li{
	margin-top:0;
}
.menu-item-spacer{
	flex:0 0 var(--menu-spacer-size, 24px);
	width:var(--menu-spacer-size, 24px);
	height:var(--menu-spacer-size, 24px);
	margin:0;
	padding:0;
	pointer-events:none;
}
.menu-item-spacer > .menu-spacer{
	display:block;
	width:100%;
	height:100%;
}
li +li{margin-top:5px}
.menu-item-spacer + li{margin-top:0}
#anmeldestatus{display:none;margin-bottom:50px}
lbh-text{background:#FFF;color:var(--lbh1);padding:30px;display:block;margin:0 0 20px 0}
.php-error #adminmenuback, .php-error #adminmenuwrap{margin-top:0!important}
input[type="checkbox"],input[type="radio"]{display:none}
input[type="checkbox"]+span,input[type="radio"]+span{border-radius:50%;background:#FFF;width:30px;min-width:30px;height:30px;border:none;top:0;float:left;margin:5px 10px 0 0;cursor:pointer;text-align:center;color:var(--lbh1)}
input[type="checkbox"]+span svg path,input[type="radio"]+span svg path{fill:var(--lbh1)}
input[type="checkbox"]+span{border-radius:5px}
input[type="checkbox"]:checked+span,input[type="radio"]:checked+span{color:#FFF;background:#22307EFF url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 19.39"><path fill="%23FFF" d="M8.83,19.01l-8.45-8.45c-0.51-0.51-0.51-1.33,0-1.84l1.84-1.84c0.51-0.51,1.33-0.51,1.84,0l5.69,5.69L21.94,0.38 c0.51-0.51,1.33-0.51,1.84,0l1.84,1.84c0.51,0.51,0.51,1.33,0,1.84L10.67,19.01C10.16,19.52,9.34,19.52,8.83,19.01L8.83,19.01z"/></svg>') no-repeat center!important;background-size:70%!important}
input[type="radio"]:checked+span{background-size:60%!important}
input[type="checkbox"]:checked+span svg path,input[type="radio"]:checked+span svg path{fill:#FFF}
label div label{float:left;width:auto;display:flex!important;align-items:center;margin:0!important}
label div label + label{margin-left:30px!important}
label div{width:calc(100% - 140px);float:right}
#px_logout{cursor:pointer;padding:0;width:40px;height:40px;border:none;outline:none;appearance:none;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23F28C00" d="M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z"/></svg>') center no-repeat;background-size:30px}
#px_logout:hover{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23FFF" d="M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z"/></svg>')}

#lbh_nav_btn *, #lbh_nav_btn_mobile *, #lbh_menu_hide *{
	pointer-events:none;
}
#lbh_mobile_nav{
	transform:translateX(100%);
}
#lbh_mobile_nav.on{
	transform:translateX(0);
}
#lbh_mobile_nav{
	max-width:300px!important;
}
#lbh_desktop_nav nav{
	transform:translateY(-100%);
}
#lbh_desktop_nav nav.on{
	transform:translateY(0);
}
select{cursor:pointer;background:#FFF url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1.5 2.5"><polygon fill="%2322307E" points="0.75,0 1.5,1 0,1"/><polygon fill="%2322307E" points="0.75,2.5 1.5,1.5 0,1.5"/></svg>') 100% 50% / 25px 65% no-repeat!important;padding-right:25px!important}

/*a i[aria-hidden="true"]:empty{*/
/*	display: none;*/
/*}*/

@media only screen and (max-width:475px){
	lbh-veranstaltung a::before, .lbh_bl a::before, .lbh_br a::before, #lbh_login button::before, #lbh_login a::before,
	lbh-suche button::before, lbh-buttons a::before, button.br::before, button.bl::before{
		content:none!important;
	}
	lbh-suche button,
	lbh-veranstaltung a,
	.lbh_bl a,
	.lbh_br a,
	#lbh_login button,
	#lbh_login a{
		margin:10px 0 0 0!important;
		width:100%!important;
		max-width:100%;
	}
	#lbh_login button{
		position:static!important;
		margin:10px 0 0 0;
	}
	#lbh_login button,
	#lbh_login a{
		left:auto;
		right:auto;
	}
	#lbh_login .elementor-login__logged-in-message a{
		left:auto;
		margin:0;
		bottom:0;
	}
	lbh-veranstaltung{
		margin:40px 0 0 0;
	}
	lbh-details.on{
		max-height:350vh;
	}
	lbh-bild{
		position:relative;
		top:auto;
		left:auto;
		box-shadow:none;
		width:100%;
		box-shadow: 3px 3px 8px rgba(200, 200, 200, 0.2);
	}
	lbh-bild lbh-flag{
		top:0;
	}
	lbh-titel, lbh-thema, lbh-kategorie{
		margin:20px 0 0 0;
	}
	lbh-buttons,
	.lbh-buttons{
		width:100%;
		margin:10px 0 0 0;
		gap:10px;
		flex-direction:row;
		flex-wrap:wrap;
	}
	lbh-buttons a,
	.lbh-buttons a{
		width:calc(50% - 5px)!important;
		height:40px;
		line-height:40px;
		margin:0!important;
		font-size:14px!important;
	}
	lbh-tabzeile{
		flex-direction:column;
	}
	lbh-block{
		padding:10px;
	}
	lbh-block:not(.lbh-beruf) > label{
		flex-direction:column;
		align-items:flex-start;
		justify-content:flex-start;
		gap:10px;
	}
	lbh-block > label > p, lbh-block > label > select, lbh-block > label > input:not([type="checkbox"]){
		width:100%!important;
		text-align:left!important;
		margin:0;
	}
	lbh-block.lbh-beruf h3,
	.lbh-profession-heading{
		outline:10px solid #CCC;
	}
	lbh-tab-box button{
		width:100%!important;
	}
}
