/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/


/*********************************************************************************************************************************

	
	[Table of contents]
	
	01. Variablen
	02. Basics
	03. Helper classes
	04. Grid
	05. Navigation
	06. Elements
	07. Formular
	08. Responsive
	
	
	[Colors]
	
	# main color 		--> # = rgb()
	# black				--> #000000
	# white				-->	#ffffff
	
	
	[Typography]
	
	# content   		--> 
	# titles 			--> 
	

/*******************************************************************************************************************************/
/*****Variablen*****************************************************************************************************************/
/*******************************************************************************************************************************/

:root {
	--black: #000000;
	--white: #ffffff
	--green: #c3dbbc;
	--blue: #333F48;
}

/*******************************************************************************************************************************/
/*****Basics********************************************************************************************************************/
/*******************************************************************************************************************************/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	position: relative;
	overflow-x: hidden;
}

h4 {
	padding-bottom: 0 !important;
}

/*******************************************************************************************************************************/
/*****General*******************************************************************************************************************/
/*******************************************************************************************************************************/

::selection {
	background: #333F48;
	color: #ffffff;
}

.colored-section *::selection {
	background: #ffffff;
	color: #333F48;
}

/*******************************************************************************************************************************/
/*****Helper classes************************************************************************************************************/
/*******************************************************************************************************************************/

.transition, .teaser *, .teaser:before {
	transition: all 250ms ease-in-out;	
	-moz-transition: all 250ms ease-in-out;	
	-webkit-transition: all 250ms ease-in-out;	
	-ms-transition: all 250ms ease-in-out;	
	-o-transition: all 250ms ease-in-out;	
}

/*******************************************************************************************************************************/
/*****Grid**********************************************************************************************************************/
/*******************************************************************************************************************************/

.row {
	clear: both;
	overflow: hidden;
}

.span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12 {
    float: left;
}

.col {
	margin-right: 1.5%;
}

.span1 {
	width: 6.9583333333333%;
}

.span2 {
	width: 15.416666666667%;
}

.span3 {
	width: 23.875%;
}

.span4 {
	width: 32.333333333333%;
}

.span5 {
	width: 40.791666666667%;
}

.span6 {
	width: 49.25%;
}

.span7 {
	width: 57.708333333333%;
}

.span8 {
	width: 66.166666666667%;
}

.span9 {
	width: 74.625%;
}

.span10 {
	width: 83.083333333333%;
}

.span11 {
	width: 91.541666666667%;
}

.span12 {
	width: 100%;
}

/*******************************************************************************************************************************/
/*****Navigation****************************************************************************************************************/
/*******************************************************************************************************************************/

#hauptnavigation ul li {
	cursor: pointer !important;
}

#hauptnavigation ul li ul.sub-menu {
	width: 280px !important; /* default: 240px */
}

#hauptnavigation ul li ul.sub-menu li a {
	width: 240px !important; /* default: 200px */
}

/*******************************************************************************************************************************/
/*****WooCommerce***************************************************************************************************************/
/*******************************************************************************************************************************/

.woocommerce ul.products {
	margin-bottom: 0 !important;
}

.woocoomerce-regular-price bdi {
	font-size: 18px;
	color: #888888;
	font-style: italic;
	font-weight: 300;
	text-decoration: line-through;
}

del {
  text-decoration: none;
}

.et_pb_wc_add_to_cart .quantity input.qty {
	max-width: 5.5em;
}

.woocommerce-message {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.woocommerce-message:after {
	display: none !important;
}

.woocommerce span.onsale {
	border-radius: 0 !important;
	padding: 15px 18px !important;
}

.related.products > h2 {
	display: none;
}

.woocommerce-result-count {
	display: none !important;
}

.woocommerce-ordering {
	float: left !important;
}

.woocommerce-placeholder {
	border: none !important;
}

.woocommerce-page .quantity input {
	padding: 20px !important;
}

.woocommerce-page .upsells.products > h2 {
	display: none;
  }
  
.woocommerce-page .upsells.products .price {
	display: none !important;
}

.woocommerce-page .woonp {
	margin-bottom: 20px;
	flex-direction: column;
	align-items: flex-start;
}

.woocommerce-page .woonp label {
	font-weight: 500;
	text-align: left;
	margin-bottom: 10px;
}

.woocommerce-page .woonp input {
	border: none;
	border-left: 4px solid var(--blue);
	width: 100% !important;
	padding: 20px 5px 20px 20px;
}


/* Produktseite */

.alg-product-input-fields-table {
	margin-bottom: 20px;
}

.woocommerce-product-additional-info {
	background: #f6f6f6;
	border: 0;
	border-left: 4px solid #333f48;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 150px;
  	height: 150px;
	padding: 20px;
}



/* Sidebar */

.et_pb_widget.widget_block {
	background: #f6f6f6;
	padding: 40px 40px;
	margin-bottom: 30px !important;	
}

.et_pb_widget.widget_block h4.widgettitle {
	font-size: 26px !important;
	text-transform: uppercase;
	font-weight: 500 !important;
	margin-bottom: 20px !important;	
}

.wp-block-woocommerce-filter-wrapper {
	padding-top: 1px !important;
}

.wc-block-components-price-slider__range-input-wrapper {
	margin-top: 9px !important;
}

.wc-block-components-price-slider__range-text {
	margin: 0 0 10px 0 !important;
}

.wc-block-components-filter-reset-button {
	display: none !important;
}

.wc-block-components-price-slider__actions {
	justify-content: flex-start !important;
}

.wp-block-woocommerce-product-categories {
	margin-bottom: 0 !important;
}

.wp-block-woocommerce-product-categories a {
	color: #272727 !important;
}

.wp-block-woocommerce-product-categories a:hover {
	color: #333f48 !important;
}

.wc-block-product-categories-list-item:last-child {
	margin-bottom: 0 !important;
}

.wc-block-filter-submit-button {
	font-family: "Poppins", Helvetica, Arial, Lucida, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	padding: 20px 50px !important;
	border-radius: 0 !important;
}

.wp-block-search__button:hover, 
.wc-block-filter-submit-button:hover {
	background-color: #c3dbbc;
  	color: #000000;
}


/* Warenkorb */

table.shop_table {
	margin: 0 !important;
}

.woocommerce-cart .et_pb_wc_cart_notice {
	margin-bottom: 0 !important;
}

.woocommerce-cart .et_pb_wc_cart_notice .woocommerce-message {
	display: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding-bottom: 0 !important;
}

.woocommerce-cart table.shop_table_responsive tr:nth-child(2n) td {
	background: transparent !important;
}

.woocommerce-cart table.shop_table_responsive td.product-name {
	border-top: none;
}

.woocommerce-cart table.shop_table_responsive tr.cart_item {
	padding: 0 0.287em !important;
}

.woocommerce-cart .coupon .input-text {
	width: 200px !important;
}


/* Kasse */

.woocommerce-checkout .form-row.form-row-first,
.woocommerce-checkout .form-row.form-row-last {
	width: 49%;
}

.woocommerce-checkout span[role="textbox"] {
	padding: 0 !important;
	line-height: 1.7 !important;
}

.woocommerce-checkout .et_pb_wc_checkout_shipping {
	margin-bottom: 0 !important;
}

.woocommerce-checkout #order_comments_field {
	padding: 0 !important;
}

.woocommerce-checkout #payment #place_order {
	float: none;
	margin-bottom: 0;
}

.woocommerce-checkout .et_pb_wc_checkout_payment_info .form-row {
  	margin: 12px 0;
}

.woocommerce-checkout .et_pb_wc_checkout_payment_info #customer_details {
	display: none;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text, .woocommerce-checkout .form-row label {
	font-size: 18px !important;
	line-height: 1.8 !important;
}

.woocommerce-checkout .place-order {
	margin-bottom: 0 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 20px;
}

.woocommerce-checkout .et_pb_wc_cart_notice {
	margin-bottom: 20px !important;
}

.woocommerce-checkout .woocommerce-error {
	background: #f6f6f6 !important;
	padding: 30px !important;
}

.woocommerce-checkout form.checkout_coupon {
	text-align: center;
	font-size: 18px !important;
	line-height: 1.8 !important;
}

.woocommerce-checkout form.checkout_coupon button {
	width: 100%;
}

.woocommerce-checkout .woocommerce-link-terms-and-conditions {
	font-style: italic;
}

.woocommerce-checkout .woocommerce-additional-fields input#datum {
	background: #f6f6f6 !important;
	height: initial !important;
	min-height: initial !important;
	border-left: 4px solid #333F48 !important;
	color: #272727 !important;
	padding: 20px !important;
}

.woocommerce-checkout .woocommerce-additional-fields input#datum::placeholder {
	color: #333F48 !important;
}

.woocommerce-checkout .woocommerce-additional-fields #datum_field {
	padding: 0 !important;
}

.woocommerce-order-received .rechnung-lieferung,
.woocommerce-order-received .bestelluebersicht {
	display: none !important;
}


/* Side-Cart */

.xoo-wsc-header .xoo-wsch-top span {
	font-family: 'Baskervville',Georgia,"Times New Roman",serif;
	font-size: 36px;
	font-weight: 400;
	line-height: 1.2em;
	text-transform: uppercase;
	text-align: left;
}

.xoo-wsc-empty-cart {
	align-items: flex-start;
}

.xoo-wsc-img-col img {
	vertical-align: bottom;
}

.xoo-wsc-pprice bdi {
	margin-left: 4px;
}

a.xoo-wsc-btn {
	font-family: "Poppins", Helvetica, Arial, Lucida, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	padding: 20px 50px !important;
}

.xoo-wsc-sm-left {
	line-height: 1.4 !important;
}

.xoo-wsc-ft-amt-subtotal {
	margin-left: 0;
	margin-right: 0;
}



/*******************************************************************************************************************************/
/*****Elements******************************************************************************************************************/
/*******************************************************************************************************************************/

.teaser {
	position: relative;
}

.teaser:before {
	content: "";
	transition: all 300ms ease-in-out;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	background: rgb(51,63,72);
	opacity: 0.75;
}

.teaser:hover * {
	opacity: 0;
}

.teaser:hover:before {
	opacity: 0;
}

.teaser p {
	
}

.teaser h4 {
	padding-bottom: 0;
}


/* Google Maps */

.gm-fullscreen-control, .gm-svpc, .gm-style-cc, img[alt="Google"] {
	display: none;
}

.gm-bundled-control {
	top: initial !important;
	left: initial !important;
	right: 50px !important;
	bottom: 91px !important;
	margin: 0 !important;
}


/* Blog */

#et_pb_blog article.et_pb_post {
	padding: 0 !important;
}

#et_pb_blog article.et_pb_post div.et_pb_image_container {
	margin: 0;
}

#et_pb_blog article.et_pb_post a.entry-featured-image-url {
	margin-bottom: 30px;
}

#et_pb_blog article.et_pb_post img {
	aspect-ratio: 4/3;
	object-fit: cover;
	object-position: top center;
}


/* Öffnungszeiten */

.business-hours {
	width: 100%;
	max-width: 100% !important;
}

.business-hours .openingHours-day {
	justify-content: flex-start !important;
}

.business-hours .openingHours-day > div:first-child:after {
	content: ":" !important;
	padding-right: 5px;
}

.business-hours .openingHours-day:nth-child(8) {
	display: none !important;
}

.openingHours-time br {
	display: none;
}


/* Google reCaptcha */

.grecaptcha-badge {
	display: none !important;
}


/* Cookie-Banner */

.cc-window.cc-floating.cc-theme-block {
	left: 1vw;
	bottom: 1vw;
}

@media only screen and (max-width: 980px) {
	.cc-window.cc-floating.cc-theme-block {
		left: 2vw;
		bottom: 2vw;
	}
}
	
@media only screen and (max-width: 767px) {
	.cc-window.cc-floating.cc-theme-block {
		left: 0;
		bottom: 0;
	}
}


/* Aufzählungslisten */

.custom-list {
	list-style: url("/wp-content/uploads/bullet-point.png");
	list-style-position: inside;
}


/*******************************************************************************************************************************/
/*****Formular******************************************************************************************************************/
/*******************************************************************************************************************************/

fieldset {
	margin-bottom: 1.5%;
}

textarea {
	min-width: 100%;
	max-width: 100%;
	min-height: 150px;
	height: 150px;
}

.wpcf7-validation-errors {
    padding: 15px;
	margin: 0 0 30px 0;
}

.wpcf7-mail-sent-ok {
    padding: 15px;
	margin: 0 0 30px 0;
}

.wpcf7-spinner {
	display: none !important;
}


/*******************************************************************************************************************************/
/*****Responsive****************************************************************************************************************/
/*******************************************************************************************************************************/

@media all and (max-width: 1280px) {
	
}


/* Tablet */

@media all and (max-width: 980px) {
	
	.span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12 {
		width: 100%;
		float: none;
	}
	
	.col {
		margin-right: 0;
	}
	
	.custom_row {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.first-on-mobile {
		-webkit-order: 1;
		order: 1;
	}
	
	.second-on-mobile {
		-webkit-order: 2;
		order: 2;
	}
	
	.third-on-mobile {
		-webkit-order: 3;
		order: 3;
	}
	
	.fourth-on-mobile {
		-webkit-order: 4;
		order: 4;
	}
	
	#hauptnavigation .et_mobile_menu#mobile_menu2 {
		top: calc(100% + 30px);
	}
	
	#hauptnavigation .mobile_nav.opened .mobile_menu_bar:before {
		content: "\4d" !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 ul.hide {
		display: none !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 li {
		position: relative;
		font-weight: 500;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 > li:after {
		display: none;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 li a {
		background: transparent;
		padding: 10px 15px;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 li.menu-item-has-children > a {
		font-weight: 500;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 > li:last-child a {
		border-bottom: none !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 li li {
		padding-left: 0;
		padding-right: 0;
	}
	
	#hauptnavigation ul li ul li a:hover {
		padding-left: 15px !important; /* Default: 20px */
		padding-top: 10px !important;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 li a + span {
		position: absolute;
		display: block;
		right: 0;
		top: 0;
		left: 0;
		width: 100%;
		text-align: right;
		padding: 10px 15px;
		cursor: pointer;
		z-index: 3;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 li.menu-item-has-children > a + span.menu-closed:before {
		content: "\33";
		display: block;
		color: var(--blau);
		font-size: 32px;
		font-family: ETmodules;
	}
	
	#hauptnavigation ul.et_mobile_menu#mobile_menu2 li.menu-item-has-children > a + span.menu-closed.menu-open:before {
		content: "\32";
	}
	
	.woocommerce-message {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 15px;
	}
	
	.xoo-wsc-header .xoo-wsch-top span {
		font-size: 30px;
	}
	
	.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text, .woocommerce-checkout .form-row label {
		font-size: 17px !important;
		line-height: 1.7 !important;
	}

	#et_pb_blog article.et_pb_post a.entry-featured-image-url {
		margin-bottom: 25px;
	}

	.woocommerce-page .quantity input {
		padding: 19px !important;
	}

	.woocommerce-checkout form.checkout_coupon {
		text-align: left;
		font-size: 17px !important;
		line-height: 1.7 !important;
	}
	
}


/* Smartphone*/

@media all and (max-width: 767px) {
	.et-db #et-boc .et-l .et_pb_shop ul.products[class*=columns-] li.product,
	.related.products ul.products li.product {
		width: 100% !important;
		margin-right: 0 !important;
		margin-bottom: 30px;
	}

	.xoo-wsc-container {
		width: 100%;
		max-width: 100%;
		right: -100%;
	}

	.xoo-wsc-cart-active .xoo-wsc-basket {
		right: 100%;
	}
	
	.xoo-wsc-header .xoo-wsch-top span {
		font-size: 24px;
	}
	
	.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text, .woocommerce-checkout .form-row label {
		font-size: 16px !important;
		line-height: 1.6 !important;
	}

	#et_pb_blog article.et_pb_post a.entry-featured-image-url {
		margin-bottom: 20px;
	}

	.woocommerce-page .quantity input {
		padding: 18px !important;
	}

	.woocommerce-checkout form.checkout_coupon {
		font-size: 16px !important;
		line-height: 1.6 !important;
	}

}


@media all and (max-width: 480px) {
	
}