/* montserrat-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/montserrat-v31-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/montserrat-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/montserrat-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 800;
	src: url('../fonts/montserrat-v31-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}




:root {
  --schwarz: #00102E;
  --weiss: #FFFFFF;
	--grau: #666666;
	--bgcolor: #E9EBEC;
	--linecolor: #CCCCCC;
  
  --maincolor: #00102E;
  --actioncolor: #E83F4C;
	--actioncolor2: #3ABFF0;
  
	--basefont: 'Montserrat', Arial, Helvetica;
  --extrabold: 800;
	--bold: 700;
	--medium: 500;
	--regular: 400;
  --fontsize: 110%;
	--lineheight: 135%;
	
	--abstand1: 1vh;
	--abstand2: 2vh;
	--abstand3: 3vh;
	--abstand5: 5vh;
	--abstand7: 7vh;
	--abstand10: 10vh;
	
	--headerheight: 90px;
	--headerheightbig: 130px;
	--logowidth: 200px;
	--seitenrand: 5vw;
	--socialmediaicons: 30px;
	--commerce-header-icon: 30px;
	--adminspace: 73px;
	--text-l: 120%;
	--klickmenuwidth: 110px;
	
	--maxwidthcontent: 1440px;
	--maxwidthcontentsmall: 880px;
}


/* !COLORS */

.actioncolor.withbg {
	background: var(--actioncolor);
	color: var(--weiss);
}

.actioncolor2.withbg {
	background: var(--actioncolor2);
	color: var(--weiss);
}
.maincolor.withbg {
	background: var(--maincolor);
	color: var(--weiss);
}

.bgcolor.withbg {
	background: var(--bgcolor);
}


/* !ADMIN */

ul.tabs {
	border-bottom: solid 0px #CCCCCC;
	padding-top: 50px !important;
	margin: 0px !important;
}

ul.tabs a,
ul.tabs a:visited {
	color: var(--schwarz);
	background: var(--actioncolor2);
	color: var(--weiss);
	padding: 10px 20px;
	box-sizing: border-box;
	text-transform: uppercase;
	font-weight: var(--bold);
	font-size: 90%;
	line-height: var(--lineheight);
}

ul.tabs a:hover,
ul.tabs a:active {
	color: var(--weiss);
	background: var(--actioncolor);
}

ul.tabs li.is-active a {
	background: var(--actioncolor);
}



.path-frontpage ul.tabs a,
.path-frontpage ul.tabs a:visited {
	color: var(--weiss);
}




label.js-form-required:after {
	content: "*";
}

.views-field-edit-node a:link,
.views-field-edit-node a:visited {
	color: red;
	padding: 3px 10px;
	border: solid 1px red;
	background-color: var(--weiss);
}

.views-field-edit-node a:hover,
.views-field-edit-node a:active {
	color: var(--weiss) !important;
	background: red;
	padding: 3px 10px;
	border: solid 1px red;
}


div.tabs {
  margin: 1em 0;
}
ul.tabs {
  list-style: none;
  margin: 0 0 0.5em;
  padding: 0;
}
.tabs > li {
  display: inline-block;
  margin-right: 0.3em; /* LTR */
}
[dir="rtl"] .tabs > li {
  margin-left: 0.3em;
  margin-right: 0;
}
.tabs a {
  display: block;
  padding: 0.2em 1em;
  text-decoration: none;
}
.tabs a.is-active {
  background-color: #eee;
}
.tabs a:focus,
.tabs a:hover {
  background-color: #f5f5f5;
}





/* !COLORBOX */

#cboxPrevious,
#cboxPrevious:hover {
	background-image:url('../images/galprev.png') !important;
	width:33px !important;
	height:33px !important;
	background-position: left top !important;
	background-size: 100% 100% !important;
	margin-top: 0px !important;
	-webkit-transform: translateY(-50%) !important;
	-moz-transform: translateY(-50%) !important;
	transform: translateY(-50%) !important;
}

#cboxNext,
#cboxNext:hover {
	background-image:url('../images/galnext.png') !important;
	width:33px !important;
	height:33px !important;
	background-position: left top !important;
	background-size: 100% 100% !important;
	margin-top: 0px !important;
	-webkit-transform: translateY(-50%) !important;
	-moz-transform: translateY(-50%) !important;
	transform: translateY(-50%) !important;
}

#cboxClose,
#cboxClose:hover {
	background-image:url('../images/galclose.png') !important;
	background-size: 100% 100% !important;
	background-position: left top !important;
	width:33px !important;
	height:33px !important;
	top:-7px !important;
	right:-7px !important;
}
#cboxOverlay {
	background:var(--weiss) !important;
}

#cboxContent {
	background:var(--weiss) !important;
	overflow: visible !important;
}

#cboxLoadedContent {
	border: 12px solid var(--weiss) !important;
	background: var(--weiss) !important;
}

#cboxWrapper {
	background:transparent !important;
	padding-top:0px !important;
	overflow: visible !important;
}

#cboxTitle {
	left:12px !important;
	top:-18px !important;
	color: var(--schwarz) !important;
	display: none !important;
}

#cboxCurrent {
	right:12px !important;
	top:-18px !important;
	color:var(--schwarz) !important;
	display: none !important;
}


#cboxLoadedContent {
	border: 0px !important;
	overflow: visible !important;
}

#colorbox, #cboxOverlay, #cboxWrapper {
	overflow: visible !important;
}


/* !Login und Pass-Form */

.user-login-form {

}

.user-login-form .form-type-email, 
.user-login-form .form-type-password {
	margin-bottom: var(--abstand3);
}


.user-login-form .form-type-email label, 
.user-login-form .form-type-password label,
.user-pass .form-type-email label,
.user-register-form .form-type-email label {
	display: block;
	font-weight: var(--medium);
	text-transform: uppercase;
	margin-bottom: 5px;
}

.user-pass > p {
	font-size: 80%;
	line-height: var(--lineheight);
	margin-top: 5px;
}

form.user-pass-reset p {
	margin: 0px !important;
}

form.user-pass-reset .form-actions {
	margin-top: var(--abstand3);
}


/* !ALLGEMEIN */

body {
	font-size: var(--fontsize);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: var(--lineheight);
	
	padding: 0px;
	margin: 0px;
	background: var(--weiss);
	color: var(--schwarz);
}


html,
button,
input,
select,
textarea {
	font-family: var(--basefont);
	font-style: normal;
	font-weight: var(--regular);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;  
}

.node--type-error-page .field--name-body {
	font-size: 500%;
	line-height: 100%;
}


a,
a:visited {
	text-decoration: none;
}

a:hover,
a:active {
	text-decoration: none;
}


main a,
.region-after-content a,
main a:visited,
.region-after-content a:visited {
	color: var(--actioncolor);
}

main a,
.region-after-content a:hover,
main a:active,
.region-after-content a:hover {
	color: var(--maincolor);
}



h1,
.likeh1 {
	font-style: normal;
	font-size: 320%;
	line-height: 115%;
	margin: 0px 0px var(--abstand2) 0px;
	padding: 0px;
	font-weight: var(--bold);
}

h1.page-title {
	font-weight: var(--bold);
	margin: 0px 0px 0px 0px;
}

h1.page-title-html {
	font-weight: var(--medium);
	font-size: 260%;
	line-height: 115%;
	margin: 0px;
	padding: 0px;
}

h1.page-title-html strong {
	font-weight: var(--extrabold);
}


h2,
h3.produkt-untertitel {
	font-size: 220%;
	line-height: 115%;
}

h2.page-untertitel {
	text-transform: uppercase;
	font-size: 140%;
	line-height: 115%;
	font-weight: var(--bold);
	margin: 10px 0px 0px 0px;
	padding: 0px;
}

h3.artikel-untertitel,
h2.produkt-title {
	font-size: 120%;
	line-height: var(--lineheight);
	font-weight: var(--bold);
	margin: 10px 0px 0px 0px;
	padding: 0px;
}

h3 {
	font-size: 160%;
	line-height: 115%;
	margin: 30px 0px 10px 0px;
}

h3.blocktitel {
	font-size: 120%;
	line-height: 115%;
	text-transform: uppercase;
	font-weight: var(--bold);
	text-transform: uppercase;
	margin: 0px 0px 10px 0px;
	padding: 0px;
}

h4 {
	font-size: 140%;
	line-height: 115%;
	margin: 30px 0px 10px 0px;
	
}

h5 {
	margin: 0px;
	padding: 0px;
	font-size: 105%;
	line-height: 115%;
}

p {
	margin: 0px 0px 20px 0px;
}

.text-s {
	font-size: 80%;
	line-height: var(--lineheight);
}

.text-m {
	font-size: 90%;
	line-height: var(--lineheight);
}

.text-xl {
	font-size: 120%;
	line-height: var(--lineheight);
}



main ul,
.region-after-content ul {
	list-style: none;
	padding-left: 0;
}

main ul li,
.region-after-content ul li {
	padding-left: 22px;
	box-sizing: border-box;
}

main ul li::before,
.region-after-content ul li::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url("../images/liststyle.svg");
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: -22px;
	margin-right: 8px;
}

/* !LAYOUT */

.layout-container {
	background: var(--weiss);
	padding-top: var(--headerheightbig);
	margin: 0px  !important;
}

.internal .layout-container {
	padding-top: calc(var(--headerheightbig) - 10px);
}

.region-highlighted {
	background: var(--bgcolor);
}

.path-frontpage .region-highlighted {
	background: var(--maincolor);
	color: var(--weiss);
}


.region-breadcrumb {
	background: var(--bgcolor);
}

.maxwidth {
	margin-left: var(--seitenrand);
	margin-right: var(--seitenrand);
}


.maxwidthcontent,
.user-login-form,
.user-pass,
.profile {
	max-width: var(--maxwidthcontent);
	margin-left: auto;
	margin-right: auto;
}

.maxwidthsmall {
	max-width: var(--maxwidthcontentsmall);
	margin-left: auto;
	margin-right: auto;
}


.layout-content {
	padding: var(--abstand5) 0px;
	box-sizing: border-box;
}
.path-frontpage main {
	background: var(--maincolor);
	color: var(--weiss);
}
.page-node-type-page main,
.path-product main,
.page-node-type-contact main,
.page-node-type-versendet main {
	background: var(--bgcolor);
}

.path-product .layout-content {
	padding-bottom: 0px;
}


/*  !HEADER */ 

header {
	background: var(--maincolor);
	color: var(--weiss);
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: var(--headerheight);
	z-index: 99;
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.region-header {
	position: relative;
	margin-left: var(--seitenrand);
	margin-right: var(--seitenrand);
	height: var(--headerheight);
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}


header.header-open,
header.header-open .region-header {
	height: var(--headerheightbig);
}


body.internal header {
	top: var(--adminspace);
}



.block-system-branding-block {
	width: var(--logowidth);
	position: absolute;
	left: 0px;
	top: 50%;
	
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.block-system-branding-block img {
	width: 100%;
	height: auto;
}

.sprachwechsler {
	position: absolute;
	right: 0px;
	z-index: 70;
	top: 10%;
	text-transform: uppercase;
	font-weight: var(--medium);
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.sprachwechsler.hide {
	display: none;
}

.sprachwechsler ul.links {
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-direction: row;
	list-style: none;
	justify-content: flex-end;
}

.sprachwechsler ul.links > li:not(:last-child) {
	margin-right: 10px;
}

.sprachwechsler ul.links li a,
.sprachwechsler ul.links li a:visited {
	color: var(--weiss);
	font-weight: var(--bold);
}

.sprachwechsler ul.links li a:hover,
.sprachwechsler ul.links li a:active{
	color: var(--weiss);
	opacity: 0.6;
}
.sprachwechsler ul.links li a.is-active {
	color: var(--actioncolor);
}


.region-header .button.download {
	margin-left: 50px;
}

header .usermenu ul.menu {
	list-style: none;
	padding: 0px;
	margin: 0px 0px 0px 20px;
	display: flex;
	flex-direction: row;
}

header .usermenu ul.menu > li:not(:last-child) {
	margin-right: 20px;
}

header .usermenu ul.menu > li {
	display: block;
	width: var(--commerce-header-icon);
	height: var(--commerce-header-icon);
	overflow: hidden;
	white-space: nowrap;
	position: relative;
}

header .usermenu a {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	text-indent: var(--commerce-header-icon);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

header .usermenu a[data-drupal-link-system-path="dplogin/login"],
header .usermenu a[data-drupal-link-system-path="dplogin"] {
	background-image: url('../images/icon-account.svg')
}

header .usermenu a[data-drupal-link-system-path="dplogin/login"]:hover,
header .usermenu a[data-drupal-link-system-path="dplogin"]:hover {
	background-image: url('../images/icon-account-hover.svg')
}

header .usermenu a[data-drupal-link-system-path="dplogin/logout"] {
	background-image: url('../images/icon-logout.svg')
}

header .usermenu a[data-drupal-link-system-path="dplogin/logout"]:hover {
	background-image: url('../images/icon-logout-hover.svg')
}

header .cart--cart-block {
	position: relative;
}

header .cart--cart-block a,
header .cart--cart-block a:visited {
	color: var(--weiss);
}

header .cart--cart-block a:hover,
header .cart--cart-block a:active {
	color: var(--actioncolor);
}

header .commerce-header-icon {
	width: var(--commerce-header-icon);
	height: auto;
	margin-left: -5px;
}

header .cart-block--summary__count {
	position: absolute;
	left: 0px;
	top: -3px;
	width: 100%;
	text-align: center;
	line-height: 100%;
	display: block;
	font-size: 90%;
	font-weight: var(--bold);
	color: var(--actioncolor);
}


/* !MENU */

.topmenu {
	position: absolute;
	left: calc(var(--logowidth) + 10vw);
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}
.topmenu ul.level1 {
	margin: 0px;
	padding: 0px;
	list-style: none;
	display: flex;
	flex-direction: row;
	text-transform: uppercase;
	font-weight: var(--bold);
}

.topmenu ul.level1 > li.mlevel1:not(:last-child) {
	margin-right: 20px;
}

.topmenu ul.level1 > li.mlevel1 a,
.topmenu ul.level1 > li.mlevel1 a:visited {
	color: var(--weiss);
}

.topmenu ul.level1 > li.mlevel1 a:hover,
.topmenu ul.level1 > li.mlevel1 a:active,
.topmenu ul.level1 > li.mlevel1 a.is-active,
.topmenu ul.level1 > li.mlevel1.menu-item--active-trail a {
	color: var(--actioncolor);
}


.menuclick {
	position: relative;
	z-index: 60;
	height: var(--headerheight);
	width: var(--klickmenuwidth);
	display: none;
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.topmenutrigger {
	border: none;
	width: var(--klickmenuwidth);
	height: var(--headerheight);
	text-indent: -900em;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	top: 50%;
	right: 0px;
	z-index: 94;
	position: absolute;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

	 
.topmenutrigger span {
	box-sizing: border-box;
	background: var(--weiss);
	border: none;
	height: 2px;
	border-radius: 0px;
	width:60%;
	position: absolute;
	top: 54%;
	right: 0px;
	cursor: pointer;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	display: block;
}

.topmenutrigger.active span {
	background: var(--weiss);
}
	
.topmenutrigger span:nth-of-type(1) {
	-webkit-transform: translateY(-11px);
	-moz-transform: translateY(-11px);
	transform: translateY(-11px);
}
	
.topmenutrigger span:nth-of-type(2) {
	width: 50%;
}
.topmenutrigger span:nth-of-type(3) {
	width: 70%;
	-webkit-transform: translateY(11px);
	-moz-transform: translateY(11px);
	transform: translateY(11px);
}
	
	
.topmenutrigger.active {
	
}
	
.topmenutrigger.active span {
		top: 50%;
}
	
	
.topmenutrigger.active .top {
	-moz-transform: translateY(0px) translateX(0%) rotate(45deg);
	-webkit-transform: translateY(0px) translateX(0%) rotate(45deg);
	transform: translateY(0px) translateX(0%) rotate(45deg);
	
	background: var(--weiss);
	width:50px;
	right: 10px;
	height: 2px;
}
.topmenutrigger.active .middle {
	display: none;
	background: var(--weiss);
	width:40px;
}
.topmenutrigger.active .bottom {
	-moz-transform: translateY(0px) translateX(0%) rotate(-45deg);
	-webkit-transform: translateY(0px) translateX(0%) rotate(-45deg);
	transform: translateY(0px) translateX(0%) rotate(-45deg);
	width:50px;
	background: var(--weiss);
	right: 10px;
	height: 2px;
}


/* !BUTTONS */

.buttonflex {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.node__content .buttonflex {
	margin-top: var(--abstand3);
}

.buttonflex > .button:not(:last-child) {
	margin-right: 20px;
}

.text-center .buttonflex {
	justify-content: center;
}

.button {
	display: table;
	text-align: center;
	text-transform: uppercase;
	margin-top: 10px;
}

.button svg {
	font-size: 110%;
	line-height: var(--lineheight);
}

.button.buybutton svg {
	margin-right: 5px;
}

.button.actionbutton svg,
.button.standard svg {
	margin-left: 5px;
}

.button a,
.button a:visited {
	display: block;
	border-radius: 8px;
	font-weight: var(--bold);
	font-size: 90%;
	line-height: var(--lineheight);

	padding: 16px 30px;
	box-sizing: border-box;
	
	-webkit-transition: all .35s ease;
	 transition: all .35s ease;
}

.button a:hover,
.button a:active {
	display: block;
	cursor: pointer;
	
	-webkit-transition: all .35s ease;
	 transition: all .35s ease;
}


.button.standard a,
.button.standard a:visited {
	border: solid 1px var(--actioncolor);
	color: var(--actioncolor);
	background: var(--weiss);
}

.button.standard a:hover,
.button.standard a:active {
	border: solid 1px var(--actioncolor);
	color: var(--weiss);
	background: var(--actioncolor);
}

.button.buybutton a,
.button.buybutton a:visited {
	color: var(--schwarz);
	background: var(--actioncolor2);
	border: solid 1px var(--actioncolor2);
}

.button.buybutton a:hover,
.button.buybutton a:active {
	border: solid 1px var(--weiss);
	color: var(--weiss);
	background: var(--maincolor);
}

.button.actionbutton a,
.button.actionbutton a:visited {
	border: solid 1px var(--actioncolor);
	color: var(--weiss);
	background: var(--actioncolor);
}

.button.actionbutton a:hover,
.button.actionbutton a:active {
	border: solid 1px var(--actioncolor);
	color: var(--actioncolor);
	background: var(--weiss);
}

.button.download a,
.button.download a:visited {
	background: var(--actioncolor);
	color: var(--weiss);
	padding: 12px 30px;
}

.button.download a:hover,
.button.download a:active {
	background: var(--actioncolor2);
}

.region-header .button.download {
	
}

.region-primary-menu .button.download {
	display: none;
}


/* !BREADCRUMB */

/**
 * @file
 * Styles for breadcrumbs.
 */

.breadcrumb {
	padding: 10px 0px;
	text-transform: uppercase;
}
.breadcrumb ol {
	margin: 0;
	padding: 0;
}
[dir="rtl"] .breadcrumb ol {
	/* This is required to win over specificity of [dir="rtl"] ol */
	margin-right: 0;
}
.breadcrumb li {
	display: inline;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
/* IE8 does not support :not() and :last-child. */
.breadcrumb li:before {
	content: ' \BB ';
}
.breadcrumb li:first-child:before {
	content: none;
}

.breadcrumb a,
.breadcrumb a:visited {
	color: var(--schwarz);
}

.breadcrumb a:hover,
.breadcrumb a:active {
	color: var(--actioncolor);
}

.breadcrumb a,
.breadcrumb a:visited {
	color: var(--schwarz);
}

.breadcrumb a:hover,
.breadcrumb a:active {
	color: var(--actioncolor);
}



/* !FOOTER */

footer {
	padding: 0px var(--seitenrand);
	box-sizing: border-box;
	
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
	border-top: solid 1px var(--maincolor);
	box-sizing: border-box;
}

footer > div {
	flex-basis: 33.333333%;
	padding: var(--abstand5) 3vw var(--abstand5) 0px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.region-regionbottom {
	background: var(--bgcolor);
	padding: var(--abstand2) var(--seitenrand) 100px var(--seitenrand);
	box-sizing: border-box;
}

.footermenu ul.menu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.footermenu ul.menu > li:not(:last-child):after {
	content: "-";
	margin: 0px 5px;
}

.footermenu ul.menu > li a,
.footermenu ul.menu > li a:visited {
	color: var(--schwarz);
}

.footermenu ul.menu > li a:hover,
.footermenu ul.menu > li a:active,
.footermenu ul.menu > li a.is-active {
	color: var(--actioncolor);
}

footer .footerblock-2 {
	font-size: 200%;
	line-height: var(--lineheight);
}

footer .footerblock-3 {
	border-left: solid 1px var(--linecolor);
	box-sizing: border-box;
}

footer .footerlogo {
	width: var(--logowidth);
	margin-bottom: 10px;
}

footer .footerlogo img {
	width: 100%;
	height: auto;
}

footer .adresse {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

footer .adresse > div:not(:last-child):after {
	content: "-";
	margin: 0px 5px;
}

footer .rechtliche-infos {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

footer .rechtliche-infos > div:not(:last-child):after {
	content: "-";
	margin: 0px 5px;
}

footer a,
footer a:visited {
	color: var(--schwarz);
}

footer a:hover,
footer a:active {
	color: var(--actioncolor);
}

.shopmenu ul.menu {
	list-style: none;
	margin: 0px;
	padding: 0px 0px 0px 3vw;
}

.shopmenu ul.menu > li {
	text-transform: uppercase;
	font-weight: var(--medium);
}

.shopmenu ul.menu > li a,
.shopmenu ul.menu > li a:visited {
	color: var(--maincolor);
}

.shopmenu ul.menu > li a:hover,
.shopmenu ul.menu > li a:active,
.shopmenu ul.menu > li a.is-active {
	color: var(--actioncolor);
}

.shopmenu ul.menu > li svg {
	color: var(--actioncolor);
	margin-right: 5px;
}

/* Suche im Content */

.region-content .search-form input.js-form-submit {
	margin-top: 1em;
	background-color: var(--actioncolor);
	color: var(--weiss);
	border-style: none;
	padding: 10px 25px;
}

.region-content .search-form input.js-form-submit:hover {
	background-color: var(--grau);
}

.region-content .search-form input.form-search {
	padding: 8px 25px;
	box-sizing: border-box;
}

.region-content .search-form label {
	clear: both;
	display: block;
}

.region-content .search-form .search-help-link {
	font-size: 80%;
}


/* !FORM-ELEMENTE */

*:focus {
	outline: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=password] {
	border: solid 1px var(--linecolor);
	padding: 10px 20px;
	box-sizing: border-box;
	height: 50px;
	width: 100%;
	color: var(--schwarz);
	border-radius: 0px;
} 

select {
	height: 50px;
	border: solid 1px var(--linecolor);
	width: 100%;
	background-color: var(--weiss);
	padding: 0px 15px;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: var(--schwarz);
	border-radius: 0px;
	
	background-image: url("../images/select-arrow.svg");
	background-position: calc(100% - 20px) center;
	background-repeat: no-repeat;
	background-size: 13px 13px;
}

textarea {
	border: solid 1px var(--linecolor);
	padding: 10px 20px;
	box-sizing: border-box;
	color: var(--schwarz);
	border-radius: 0px;
	width: 100%;
}


input[type="checkbox"] {
	appearance: none;
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: currentColor;
	width: 1.15em;
	height: 1.15em;
	border: 1px solid var(--schwarz);
	border-radius: 0.15em;
	transform: translateY(-0.075em);
	
	display: grid;
	float: left;
	margin-right: 7px;
	margin-top: 3px;
	place-content: center;
}

input[type="checkbox"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--maincolor);
	
	/* Windows High Contrast Mode */
	background-color: CanvasText;
	
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

input[type="checkbox"]:checked::before {
	transform: scale(1);
}

input[type="checkbox"]:focus {
	outline: max(2px, 0.15em) solid currentColor;
	outline-offset: max(2px, 0.15em);
}


.form-type-radio {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}

input[type="radio"] {
	/* Add if not using autoprefixer */
	-webkit-appearance: none;
	appearance: none;
	/* For iOS < 15 to remove gradient background */
	background-color: #fff;
	/* Not removed via appearance */
	margin: 0;
	font: inherit;
	color: var(--actioncolor);
	width: 20px;
	height: 20px;
	border: 1px solid var(--linecolor);
	border-radius: 50%;
	transform: translateY(-0.075em);
	display: grid;
	place-content: center;
	margin-right: 7px;
	top: 2px;
	position: relative
}

input[type="radio"]::before {
	content: "";
	width: 0.75em;
	height: 0.75em;
	border-radius: 50%;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--actioncolor);
}

input[type="radio"]:checked::before {
	transform: scale(1);
}


input.js-form-submit {
	display: table;
	margin-top: 3vh;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 20px;
	border: solid 0px var(--linecolor);
	background-color: var(--maincolor);
	color: var(--weiss);
	border-radius: 6px;
	padding: 17px 30px 18px 30px;
	box-sizing: border-box;
	white-space: nowrap;
	font-weight: var(--medium);
	font-weight: var(--bold);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

input.js-form-submit:hover {
	background-color: var(--actioncolor);
	color: var(--weiss);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}


.view-commerce-cart-form .form-actions {
	
}

.view-commerce-cart-form .form-actions > input:nth-child(1) {
	padding: 8px 15px 8px 15px; 
	border-radius: 6px;
	background: var(--linecolor);
	color: var(--weiss);
	border: 0px;
	font-size: 80%;
	line-height: var(--lineheight);
	font-weight: var(--bold);
}

.view-commerce-cart-form .form-actions > input:nth-child(1):hover {
	background: var(--actioncolor2);
}

.view-commerce-cart-form .form-actions > input:nth-child(2) {
	background: var(--actioncolor);
	color: var(--weiss);
	border: 0px;
	font-weight: var(--bold);
	min-width: 400px;
}

.view-commerce-cart-form .form-actions > input:nth-child(2):hover {
	background: var(--actioncolor2);
}


::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: var(--linecolor);
}
::-moz-placeholder { /* Firefox 19+ */
	color: var(--linecolor);
}
:-ms-input-placeholder { /* IE 10+ */
	color: var(--linecolor);
}
:-moz-placeholder { /* Firefox 18- */
	color: var(--linecolor);
}




/* !WEBFORM */

.webformflex {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}

.webformflex > div {
	flex-basis: calc(50% - 20px);
}

.webform label {
	margin-bottom: 5px;
	display: table;
}


.webform .js-form-wrapper {
	margin: 0px 0px 0px 0px;
}

.webform .form-item {
	margin: 20px 0px 20px 0px;
}

.webform .wfleft {
	width: 50%;
	float: left;
}

.webform .wfleft input {
	width: calc(100% - 10px);
	float: left;
}

.webform .wfright {
	width: 50%;
	float: right;
}

.webform .form-item-datenschutz {
	margin-top: var(--abstand5);
	margin-bottom: var(--abstand5);
}


.webform .form-item-datenschutz a,
.webform .form-item-datenschutz a:visited {
	color: var(--grau);
}

.webform .form-item-datenschutz a:hover,
.webform .form-item-datenschutz a:active {
	color: var(--actioncolor);
}



.webform .messages--error {
	margin-bottom: 20px;
}
.webform .wfcont {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}


.webform .wfcont > div {
	flex-basis: 45%;
}

.webform .webform-actions input {

}
.webform-confirmation {
	background: red;
	padding: 20px;
	box-sizing: border-box;
}


/* UNPUBLISHED */
.node--unpublished {
	background-color: rgba(255, 0, 0, 0.2);
	padding: 60px 20px 20px 20px;
	position: relative;
}
.node--unpublished:before {
	content: "unpublished";
	display: block;
	position: absolute;
	left: 10px;
	top: 10px;
	font-size: 200%;
	color: rgba(255, 0, 0, 0.7);
	line-height: 100%;
}


/* !GMAP */

.wh-gmap iframe {
	border: 0px;
	width: 100%;
	height: 10vh;
	min-height: 400px;
}


/* !SOCIAL MEDIA LINKS */

.socialmedialinks {
	margin-left: var(--seitenrand);
	margin-right: vaer(--seitenrand);
}

.socialmedialinks .view-content {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}


.socialmedialinks .views-row {
	align-self: center;
}

.socialmedialinks .views-row:not(:last-child) {
	margin-right: 20px;
}

.socialmedialinks a,
.socialmedialinks a:visited {
	display: flex;
	width: var(--socialmediaicons);
	height: var(--socialmediaicons);
	justify-content: center;
	align-items: center;
	align-content: center;
	color: var(--actioncolor);
	font-size:var(--socialmediaicons);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.socialmedialinks a:hover,
.socialmedialinks a:active {
	color: var(--maincolor);
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}


/* !CONTENT */

#block-whtheme-page-title {
	margin-bottom: var(--abstand5);
}

.titelblock {
	margin-bottom: var(--abstand3);
}

.node__content.withimage {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.node__content.withimage > .content-text-block {
	flex-basis: calc(70% - 5vw);
	padding-top: var(--abstand3)
}

.node__content.withimage > .content-image-block {
	flex-basis: calc(30% - 5vw);
}

.node__content.withimage > .content-image-block img {
	width: 100%;
	height: auto;
}

.infoblock-wrapper {
	position: relative;
}

.path-frontpage .infoblock-wrapper {
	background: var(--bgcolor);
}
.path-frontpage .infoblock-wrapper:after {
	content:  " ";
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 40%;
	background: var(--maincolor);
	z-index: 1;
}

.infoblock-container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
	position: relative;
	z-index: 20;
}

.infoblock-container > div {
	background: var(--actioncolor);
	color: var(--weiss);
	padding: var(--abstand3) 30px calc(var(--abstand3) - 20px) 30px;
	box-sizing: border-box;
	flex-basis: 100%;
}

	
.paragraph--type--statischer-block 	.infoblock-container > div {
	background: var(--bgcolor);
	color: var(--schwarz);
}

.infoblock-container > div:not(:last-child) {
	margin-right: 20px;
}

.weighttable {
	border: solid 1px var(--linecolor);
	padding: 20px;
	box-sizing: border-box;
}

.weighttable .tabledrag-toggle-weight-wrapper {
	display: none !important;
}

.weighttable table {
	width: 100%;
}

.weighttable tbody tr:nth-child(odd) {
	background: var(--bgcolor);
}

.weighttable tbody td {
	padding: 10px 10px;
	box-sizing: border-box;
}


/* !PARAGRAPHS */

.bausteinecontainer {
	
}



.bausteinecontainer > .paragraph:not(.paragraph--type--buttons) {
	margin-top: var(--abstand7);
}

.path-frontpage .bausteinecontainer > .paragraph:nth-child(1).withbg,
.bausteinecontainer > .paragraph.withbg + .paragraph.withbg,
.bausteinecontainer > .paragraph.paragraph--type--artikel + .paragraph.withbg {
	margin-top: 0px;
}

.path-frontpage .bausteinecontainer > .paragraph:nth-child(1).withbg {
	padding-top: var(--abstand10);
}

.bausteinecontainer > .paragraph.withbg:not(.artikel-standard) {
	padding: var(--abstand7) 0px;
}

.bausteinecontainer > .paragraph.withbg + .paragraph.withbg.p-buttons,
.bausteinecontainer > .paragraph.withbg.bgcolor + .paragraph.withbg.bgcolor {
	padding-top: 0px !important;
}

.bausteinecontainer > .paragraph:nth-last-child(1):not(.withbg) {
	margin-bottom: var(--abstand7);
}

.p-titel-text {
	
}

.p-titel-text .text-left,
.node-without-image,
.produkt-content {
	width: 80%;
}

.text-center {
	text-align: center;
}

.bildvergleich-container {
		position: relative;
		overflow: hidden;
		border-radius: 0px;
		line-height: 0px;
}

.bildvergleich-container .titel-bild-links {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 50%;
	z-index: 8;
	line-height: var(--lineheight);
}

.bildvergleich-container .titel-bild-links-content {
	display: table;
	background: var(--weiss);
	margin-left: auto;
	margin-right: auto;
	padding: 10px 30px;
	box-sizing: border-box;
	color: var(--actioncolor);
	font-weight: var(--bold);
}

.bildvergleich-container .titel-bild-rechts {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 50%;
	z-index: 1;
	line-height: var(--lineheight);
	z-index: 1;
}

.bildvergleich-container .titel-bild-rechts-content {
	display: table;
	background: var(--actioncolor);
	margin-left: auto;
	margin-right: auto;
	padding: 10px 30px;
	box-sizing: border-box;
	color: var(--weiss);
	font-weight: var(--bold);
}


.bildvergleich-img-rechts {
		position: relative;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		user-select: none; /* verhindert Markieren */
		pointer-events: none; /* verhindern, dass Bilder Events blockieren */
}

.bildvergleich-img-rechts img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.bildvergleich-img-links {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		user-select: none; /* verhindert Markieren */
		pointer-events: none; /* verhindern, dass Bilder Events blockieren */
}

.bildvergleich-img-links img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: left top;
}

.bildvergleich-img-links {
		width: 50%; /* Startposition */
		overflow: hidden;
}

.bildvergleich-handle {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 30px;
		height: 100%;
		background: rgba(0,0,0,0.5);
		cursor: ew-resize;
		touch-action: none; /* wichtig für mobile Geräte */
		z-index: 10;
		border-radius: 0px;
		transition: background 0.2s;
}


.bildvergleich-handle::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 4px;
		height: 60px;
		background: #fff;
		border-radius: 2px;
}

.bildvergleich-handle:hover {
		background: rgba(0,0,0,0.7);
}


.artikel-inline-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.artikel-inline-wrapper > div {
	flex-basis: 100%;
}

.artikel-inline-wrapper > div:not(:last-child) {
	margin-right: 30px;
}

.artikel-inline .artikel-bild {
	margin-bottom: var(--abstand5);
}
.artikel-inline .artikel-bild img {
	width: 100%;
	height: auto;
}

.artikel .artikel-titelblock {
	margin-bottom: var(--abstand3);
}

.artikel .artikel-titelblock h2 {
	margin: 0px;
	padding: 0px;
}

.artikel .artikel-titelblock h3 {
	margin: 10px 0px 0px 0px;
	padding: 0px;
}

.artikel-inline .button {
	margin-top: var(--abstand3);
}


.artikel-standard {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.artikel-standard.image-left {
	flex-direction: row;
}

.artikel-standard.image-right {
	flex-direction: row-reverse;
}

.artikel-standard > div {
	flex-basis: 50%;
}

.artikel-standard .artikel-bild {
	line-height: 0px;
	position: relative;
	background: var(--grau);
}

.artikel-standard .artikel-bild img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
	position: relative;
}

.artikel-standard .artikel-textblock {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	box-sizing: border-box;
}

.artikel-standard.image-left .artikel-textblock {
	padding: var(--abstand5) calc((100vw - var(--maxwidthcontent)) / 2) var(--abstand5) 5vw;
}

.artikel-standard.image-right .artikel-textblock {
	padding: var(--abstand5) 5vw var(--abstand5) calc((100vw - var(--maxwidthcontent)) / 2);
}

.p-text > div {
	width: 80%;
}

.kontaktblock-content {
	margin-top: var(--abstand2);
}

.kontaktblock-content .views-field-field-name-unternehmen {
	font-weight: var(--bold);
}

.kontaktblock-content .telmail {
	margin-top: 20px;
}

.kontaktblock-content .steuerdaten {
	margin-top: 20px;
}


/* !PRODUKTE */

.merkmale-wrapper {
	position: relative;
	margin-top: var(--abstand7);
}

.merkmale-container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: stretch;
	position: relative;
	z-index: 20;
}

.merkmale-container > div {
	background: var(--weiss);
	border: solid 1px var(--linecolor);
	padding: var(--abstand3) 30px calc(var(--abstand3) - 20px) 30px;
	box-sizing: border-box;
	flex-basis: 100%;
}

.merkmale-container > div:not(:last-child) {
	margin-right: 20px;
}

.merkmale-wrapper:after {
	content:  " ";
	display: block;
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 60%;
	background: var(--weiss);
	z-index: 1;
}

.merkmale-container > div .field__label {
	text-transform: uppercase;
	font-weight: var(--bold);
	font-size: var(--text-l);
	margin-bottom: 20px;
	
	/* These are technically the same, but use both */
	overflow-wrap: break-word;
	word-wrap: break-word;
	
	-ms-word-break: break-all;
	/* This is the dangerous one in WebKit, as it breaks things wherever */
	word-break: break-all;
	/* Instead use this non-standard one: */
	word-break: break-word;
	
	/* Adds a hyphen where the word breaks, if supported (No Blink) */
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.merkmale-container > div .field__item strong {
	font-weight: var(--medium);
	color: var(--actioncolor);
}

.variation-block-wrapper {
	background: var(--weiss);
	padding: var(--abstand10) 0px;
	box-sizing: border-box;
}

.variation-block-content {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	box-sizing: border-box;
	align-items: center;
	position: relative;
	margin-bottom: 100px;
}

.attribute-widgets > fieldset {
	margin: 0px;
	padding: 0px;
	border: 0px;
	
}

.variation-block-content input.button--add-to-cart {
	position: absolute;
	left: 50%;
	bottom: 0px;
	margin: 0px;
	z-index: 80;
	
	-webkit-transform: translateX(-50%) translateY(200%) scale(1);
	-moz-transform: translateX(-50%) translateY(200%) scale(1);
	transform: translateX(-50%) translateY(200%) scale(1);
	
	border: 0px;
	background-color: var(--actioncolor2);
	background-image: url("../images/icon-cart-button.svg");
	background-repeat: no-repeat;
	background-position: 30px center;
	background-size: 25px auto;
	color: var(--schwarz);
	font-weight: bold;
	text-transform: uppercase;
	transition: 420ms transform ease-in-out;
	padding: 20px 30px 20px 65px;
}


.variation-block-content input.button--add-to-cart:hover {
	cursor: pointer;
	background-color: var(--maincolor);
	color: var(--weiss);
	-webkit-transform: translateX(-50%) translateY(200%) scale(1.05);
	-moz-transform: translateX(-50%) translateY(200%) scale(1.05);
	transform: translateX(-50%) translateY(200%) scale(1.05);
	transition: 420ms transform ease-in-out;
	background-image: url("../images/icon-cart-button-hover.svg");
}


.attribute-widgets > fieldset > legend {
	display: none !important;
}

.attribute-widgets .form-item {
	margin: 5px 0px;
}

.variation-block-wrapper .price-container {
	text-align: right;
}

.variation-block-wrapper .field--name-list-price {
	font-weight: var(--bold);
	font-size: 160%;
	line-height: 100%;
	text-decoration: line-through;
}
.variation-block-wrapper .wh-price {
	font-weight: var(--bold);
	color: var(--actioncolor);
	font-size: 400%;
	line-height: 100%;
}


.produkt-liste,
.produkt-merkmale {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
	margin-bottom: var(--abstand5);
}

.produkt-liste > article,
.produkt-merkmale > article {
	flex-basis: calc(50% - 15px);
	align-self: stretch;
	border: solid 1px var(--linecolor);
	box-sizing: border-box;
	padding: 30px;
	box-sizing: border-box;
	position: relative;
}

.produkt-liste > article {
	padding-bottom: 120px;
	margin-bottom: var(--abstand7);
}

.produkt-merkmale > article {
	margin-bottom: var(--abstand3);
}

.produkt-liste > article h2,
.produkt-merkmale > article h2 {
	margin: 0px;
	padding: 0px;
}

.produkt-liste > article h3,
.produkt-merkmale > article h3 {
	margin: 0px;
	padding: 0px;
}

.produkt-liste .price-container {
	text-align: right;
}

.produkt-liste .field--name-list-price {
	font-weight: var(--bold);
	font-size: 130%;
	line-height: 100%;
	text-decoration: line-through;
}
.produkt-liste .wh-price {
	font-weight: var(--bold);
	color: var(--actioncolor);
	font-size: 300%;
	line-height: 100%;
}

.produkt-liste .modular-block {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.produkt-liste .modular-block > div {
	flex-basis: 100%;
}

.produkt-liste .modular-block > div:nth-child(1) {
	order: 2;
}
.produkt-liste .modular-block > div:nth-child(2) {
	order: 1;
}



.produkt-liste form .form-actions input {
	width: 280px;
	margin: 0px;
}

.produkt-liste .link-to-produkt {
	position: absolute;
	left: 30px;
	bottom: 30px;
	margin-top: 0px;
	width: 250px;
}

.produkt-liste input.button--add-to-cart {
	position: absolute;
	left: 300px;
	bottom: 30px;
	
	border: 0px;
	background-color: var(--actioncolor2);
	background-image: url("../images/icon-cart-button.svg");
	background-repeat: no-repeat;
	background-position: 30px center;
	background-size: 25px auto;
	padding-left: 60px !important;
	color: var(--schwarz);
	text-transform: uppercase;
	transition: 220ms transform ease-in-out;
}

.produkt-liste input.button--add-to-cart:hover {
	cursor: pointer;
	background-color: var(--maincolor);
	color: var(--weiss);
	background-image: url("../images/icon-cart-button-hover.svg");
}


.produkt-merkmale .allgemeine-merkmale {
	margin-top: var(--abstand2);
}



/* !CHECKOUT */

.wh-cart-form table {
	width: 100%;
	border-spacing: 0px;
	border-bottom: solid 1px var(--linecolor);
	margin-bottom: 20px;
}

.wh-cart-form table th {
	background: var(--bgcolor);
	text-align: left;
	border-right: solid 1px var(--weiss);
	box-sizing: border-box;
}


.wh-table-container {
	overflow: auto;
}


.wh-cart-form table th.views-field-total-price__number,
.wh-cart-form table td.views-field-total-price__number {
	text-align: right;
}

.wh-cart-form table td {
	border-top: solid 1px var(--linecolor);
	box-sizing: border-box;
	text-align: left;
}

.wh-cart-form table th,
.wh-cart-form table td {
	padding: 3px 10px;
	box-sizing: border-box;
}


.wh-cart-form table input.form-number {
	padding: 10px 10px;
	box-sizing: border-box;
	border-right: 0px;
	border: solid 1px var(--linecolor);
}


.wh-cart-form .delete-order-item {
	font-size: 80%;
	line-height: 100%;
	padding: 8px 10px;
	box-sizing: border-box;
	border: solid 1px var(--linecolor);
	
}

.path-checkout .region-content fieldset {
	border: solid 1px var(--linecolor);
	padding-top: var(--abstand2);
	margin-bottom: var(--abstand5);
}

.path-checkout .region-content fieldset > legend {
	background: var(--actioncolor2);
	color: var(--weiss);
	font-weight: var(--bold);
	text-transform: uppercase;
	padding: 6px 20px;
	box-sizing: border-box;
	border-radius: 0px;
}

.path-checkout .region-content fieldset .form-item {
	margin: 0px 0px 15px 0px;
}
.path-checkout .region-content fieldset input.button {
	margin-bottom: 20px;
}

.path-checkout #edit-order-fieldscheckout {
	margin-top: var(--abstand5);
}

.path-checkout #edit-order-fieldscheckout .form-item  {
	margin-bottom: 10px;
}

.path-checkout .layout-region-checkout-main fieldset#edit-review-order-fieldscheckout,
.path-checkout .layout-region-checkout-main fieldset#edit-completion-message-order-fieldscheckout {
	display: none;
}

.path-checkout .profile {
	margin-top: var(--abstand3);
}

.path-checkout .profile .field--label-above {
	margin-bottom: var(--abstand2);
}

.path-checkout #edit-order-fieldscheckout a,
.path-checkout #edit-order-fieldscheckout a:visited {
	color: var(--actioncolor);
}

.path-checkout #edit-order-fieldscheckout a:hover,
.path-checkout #edit-order-fieldscheckout a:active {
	color: var(--actioncolor2);
}

#edit-login-returning-customer-forgot-password {
	display: block;
}


#edit-login-returning-customer-forgot-password {
	font-size: 85%;
	line-height: var(--lineheight);
	font-weight: var(--medium);
	text-transform: uppercase;
}

#edit-login-returning-customer-forgot-password:before {
	font-family: "Font Awesome 6 Free"; 
	font-weight: 900;
	content: "\f178";
	display: none;
}
#edit-login-returning-customer-forgot-password svg {
	margin-right: 5px;
	color: var(--actioncolor2);
}


fieldset.checkout-pane-contact-information,
fieldset.form-wrapper__guest-checkout,
fieldset#edit-review-contact-information {
	margin-bottom: var(--abstand5);
}

.layout-checkout-form .form-item > label,
form.user-form .form-item > label {
	text-transform: uppercase;
	font-weight: var(--medium);
	font-size: 90%;
	line-height: var(--lineheight);
	display: block;
	margin-bottom: 5px;
}


.wh-cart-form.view-commerce-checkout-order-summary td,
.wh-cart-form.view-commerce-checkout-order-summary th {
	vertical-align: top;
}

.password-confirm-message,
.password-strength__title,
.password-suggestions {
	font-size: 80%;
	line-height: var(--lineheight);
}

.confirm-parent, .password-parent {
	max-width: 100% !important;
}

fieldset.form-wrapper__guest-checkout .form-item-login-register-name {
	display: none;
}

.form-item-payment-information-billing-information-field-codice-fiscal-0-value {
	display: none;
}

.form-item-payment-information-billing-information-field-codice-fiscal-0-value input {
	text-transform: uppercase;
}

form.user-form {
	
}

form.user-form > details > summary {
	display: none;
}

form.user-form .form-item {
	margin-bottom: var(--abstand3);
}


form.user-form #edit-pass {
	background: var(--bgcolor);
	padding: 20px;
	box-sizing: border-box;
}

.path-dplogin .region-content table {
	width: 100%;
	border-spacing: 0px;
}
.path-dplogin .region-content table th {
	border-bottom: solid 1px var(--schwarz);
}

.path-dplogin .region-content table tbody tr:nth-child(odd) {
	background: var(--bgcolor);
}

.path-dplogin .region-content table td,
.path-dplogin .region-content table th {
	text-align: left;
	padding: 5px 5px;
	box-sizing: border-box;
}

.path-checkout .layout-region-checkout-secondary > h3 {
	margin-top: 0px;
	padding-top: 0px;
}


.checkout-complete {
	background: var(--bgcolor);
	padding: 20px;
	box-sizing: border-box;
	font-weight: var(--medium);
	margin-bottom: var(--abstand10);
}

.layout-region-checkout-main fieldset#edit-completion-message-payment-information {
	margin-top: var(--abstand5);
}


/* !ORDER */


.commerce-user-order {

}

.commerce-user-order .view-commerce-order-item-table {
	margin-bottom: 10px;
}

.commerce-user-order .views-align-right {
	text-align: right !important;
}

.commerce-user-order .field--label-inline {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.commerce-user-order .field--label-inline > .field__label,
.path-checkout .profile .field--label-above .field__label {
	margin-right: 10px;
	text-transform: uppercase;
	font-weight: var(--medium);
}

.commerce-user-order .field--label-inline > .field__label:after {
	content: ":"
}

.commerce-user-order .customer-billing {

}

.commerce-user-order .customer-billing .field__label {
	font-weight: var(--bold);
	margin: 20px 0px 3px 0px;
}

.commerce-user-order .order-information {
	margin-top: var(--abstand3);
}

.commerce-user-order .order-information .field--name-order-items {
	margin-top: var(--abstand3);
}

/*
	
	
	
	
*/


@media all and (max-width: 1600px) { 	
	/* !MAXWIDTH */
	:root {
		--maxwidthcontent: auto;
	}
	
	.maxwidthcontent {
		margin-left: var(--seitenrand);
		margin-right: var(--seitenrand);
	}
	
	.artikel-standard.image-left .artikel-textblock {
		padding: var(--abstand5) 5vw;
	}
	
	.artikel-standard.image-right .artikel-textblock {
		padding: var(--abstand5) 5vw;
	}
	
}



@media all and (max-width: 1600px) { 	
	/* !MOBILEMENU */
	
	body.navactive {
		overflow: hidden;
	}
	
	.menuclick {
		display: block;
	}
	
	header,
	.region-header {
		height: var(--headerheight) !important;
		z-index: 99;
	}
	
	.layout-container {
		padding-top: var(--headerheight) !important;
	}
	
	.region-primary-menu {
		position: fixed;
		top: var(--headerheight);
		width: 100%;
		height: 100vh;
		z-index: 90;
		background: rgb(0, 16, 46, 0.95);
		overflow: auto;
		display: none;
		
		box-sizing: border-box;
	}
	
	.primary-menu-content {
		margin-bottom: 200px;
	}
	
	body.navactive .region-primary-menu {
		display: block;
	}
	
		
	.sprachwechsler {
		display: none;
		
	}
	
	body.navactive .sprachwechsler {
		display: block !important;
		top: calc(var(--headerheight) + var(--abstand10));
		right: 20px;
	}
	
	.topmenu {
		position: relative;
		left: 0;
		margin-left: calc(var(--seitenrand) + 10vw);
		margin-top: var(--abstand10);
		top: 0px;
		-webkit-transform: translateY(0%);
		-moz-transform: translateY(0%);
		transform: translateY(0%);
		overflow: auto;
	}
	
	.topmenu ul.level1 {
		display: block;
		font-size: 370%;
		line-height: var(--lineheight);
		font-weight: var(--regular);
		text-transform: initial;
	}
	
	.topmenu ul.level1 > li.mlevel1 {
		margin: 0px 0px 15px 0px;
	}
	
	.topmenu ul.level1 > li.mlevel1 a,
	.topmenu ul.level1 > li.mlevel1 a:visited {
		-o-transition:.3s;
		-ms-transition:.3s;
		-moz-transition:.3s;
		-webkit-transition:.3s;
		transition:.3s;
	}
	
	.topmenu ul.level1 > li.mlevel1 a:hover,
	.topmenu ul.level1 > li.mlevel1 a:active {
		margin-left: 10px;
		-o-transition:.3s;
		-ms-transition:.3s;
		-moz-transition:.3s;
		-webkit-transition:.3s;
		transition:.3s;
	}
	
	.topmenu ul.level1 > li.mlevel1 a:hover,
	.topmenu ul.level1 > li.mlevel1 a:active,
	.topmenu ul.level1 > li.mlevel1 a.is-active,
	.topmenu ul.level1 > li.mlevel1.menu-item--active-trail a {
	}
	
	.topmenu ul.level1 > li.mlevel1 a.is-active,
	.topmenu ul.level1 > li.mlevel1.menu-item--active-trail a {
		font-weight: var(--bold);
	}
	
	body.navactive .sprachwechsler.hide {
		display: block !important;
	}
}



@media all and (max-width: 1440px) {
	
	:root {
		--fontsize: 100%;
		--lineheight: 135%;
	}
	
	h1,
	.likeh1 {
		font-size: 300%;
		line-height: 115%;
	}
	
	h1.page-title-html {
		font-size: 240%;
		line-height: 115%;
	}	
	
	/*
	h2,
	h3.produkt-untertitel {
		font-size: 200%;
		line-height: 115%;
	}
	
	
	h2.page-untertitel {
		font-size: 140%;
		line-height: 115%;
	}
	
	h3.artikel-untertitel,
	h2.produkt-title {
		font-size: 120%;
		line-height: var(--lineheight);
	}
	
	h3 {
		font-size: 160%;
	}
	
	h3.blocktitel {
		font-size: 120%;
		line-height: 115%;
	}
	
	h4 {
		font-size: 140%;
		line-height: 115%;
	}
	*/

}


@media all and (max-width: 1360px) {
	
	.produkt-liste .link-to-produkt {
		bottom: 90px;
	}
	
	.produkt-liste input.button--add-to-cart {
		left: 30px;
	}
	
	.produkt-liste > article {
		padding-bottom: 160px;
	}
	
}


@media all and (max-width: 1280px) {
	
	footer {
		flex-wrap: wrap;
		align-items: flex-end;
	}
	
	footer .footerblock-1 {
		flex-basis: calc(50% - 20px);
	}
	footer .footerblock-2 {
		flex-basis: calc(50% - 20px);
		font-size: 150%;
		line-height: var(--lineheight);
	}
	
	footer .footerblock-3 {
		padding: var(--abstand3) 0px;
		flex-basis: 100%;
	}

}

	
@media all and (max-width: 1024px) {
	
	:root {
		--headerheight: 80px;
	}

	h1,
	.likeh1 {
		font-size: 280%;
		line-height: 115%;
	}
	
	.topmenu {
		margin-left: var(--seitenrand);
	}
	
	.topmenu ul.level1 {
		font-size: 340%;
		line-height: var(--lineheight);
	}
	
	/*
	h1.page-title-html {
		font-size: 240%;
		line-height: 115%;
	}	
	
	h2,
	h3.produkt-untertitel {
		font-size: 200%;
		line-height: 115%;
	}
	*/
	
}

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

	.maxwidthsmall {
		max-width: auto;
		margin-left: var(--seitenrand);
		margin-right: var(--seitenrand);
	}
	.merkmale-container > div {
		padding: var(--abstand3) 20px calc(var(--abstand3) - 20px) 20px;
	}
	
	.node__content.withimage > .content-image-block {
		display: none;
	}
	
	.node__content.withimage > .content-text-block {
		flex-basis: 100%;
	}

}



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

	.infoblock-container {
		flex-wrap: wrap;
	}
	
	.infoblock-container > div {
		flex-basis: 100%;
		margin-right: 0px !important;
		background: var(--weiss);
		box-sizing: border-box;
		color: var(--schwarz);
	}

	
	.infoblock-container > div:not(:last-child) {
		margin-bottom: 15px;
	}
	
	.path-frontpage .infoblock-wrapper:after {
		height: 50%;
	}
	
	.artikel-inline-wrapper {
		flex-wrap: wrap;
	}
	
	.artikel-inline-wrapper > div {
		flex-basis: 100%;
		margin-right: 0px !important;
	}
	
	.artikel-inline-wrapper > div:not(:last-child) {
		margin-bottom: var(--abstand10);
	}
	
	
	.node-without-image,
	.produkt-content {
		width: 100%;
	}
	
	.p-titel-text .text-left {
		width: calc(100% - var(--seitenrand) - var(--seitenrand));
	}
	
	.artikel-standard {
		flex-wrap: wrap;
	}
	
	.artikel-standard > div {
		flex-basis: 100%;
	}

	
	.artikel-standard.image-left .artikel-textblock {
		padding: var(--abstand5) 5vw;
	}
	
	.artikel-standard.image-right .artikel-textblock {
		padding: var(--abstand5) 5vw;
	}
	
	.merkmale-container {
		flex-wrap: wrap;
	}

	.merkmale-container > div:not(:last-child) {
		margin-right: 0px;
		margin-bottom: 15px;
	}
	
	.merkmale-wrapper:after {
		height: 50%;
	}

	
}





@media all and (max-width: 768px) {
	
	.user-login-form .form-item-name,
	.user-login-form .form-item-pass {
		width: 100%;
		float: none;
	}
	
	.node--type-legal .node__content {
		overflow-x: hidden;
	}
	
	.page-node-type-legal .node__content a {
	
		/* These are technically the same, but use both */
		overflow-wrap: break-word;
		word-wrap: break-word;
	
		-ms-word-break: break-all;
		/* This is the dangerous one in WebKit, as it breaks things wherever */
		word-break: break-all;
		/* Instead use this non-standard one: */
		word-break: break-word;
	
		/* Adds a hyphen where the word breaks, if supported (No Blink) */
		-ms-hyphens: auto;
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	
	}
	
	.topmenu ul.level1 {
		font-size: 320%;
		line-height: var(--lineheight);
	}
	
	.produkt-liste > article, 
	.produkt-merkmale > article {
		flex-basis: 100%;
	}
	
	.p-text > div {
		width: 100%;
	}

	
	.region-header .button.download {
		display: none;
	}
	
	.region-primary-menu .button.download {
		display: table;
		position: relative;
		margin-left: var(--seitenrand);
	}
	
		
	.topmenu {
		padding-bottom: 40px;
	}
	
	.button.download a, 
	.button.download a:visited {
		padding: 16px 30px;
	}


	
}




@media all and (max-width: 667px) {
	
	:root {
		--logowidth: 150px;
		--headerheight: 70px;
		
		--abstand1: 10px;
		--abstand2: 20px;
		--abstand3: 30px;
		--abstand5: 40px;
		--abstand7: 50px;
		--abstand10: 70px;

	}
	
	.topmenutrigger span {
		top: 50%;
	}
	
	.topmenu ul.level1 {
		font-size: 240%;
		line-height: var(--lineheight);
	}
	
	h1,
	.likeh1 {
		font-size: 240%;
		line-height: 115%;
	}

	
	h1.page-title-html {
		font-size: 200%;
		line-height: 115%;
	}	
	
	h2.page-untertitel {
		font-size: 120%;
		line-height: 115%;
	}
	
	h2,
	h3.produkt-untertitel {
		font-size: 190%;
		line-height: 115%;
	}
	
	h3.artikel-untertitel,
	h2.produkt-title {
		font-size: 110%;
	}
	
	footer .footerblock-1 {
		padding: var(--abstand10) 0px var(--abstand3) 0px;
		flex-basis: 100%;
		
	}
	
	footer .footerblock-2 {
		flex-basis: 100%;
		padding: 0px 0px var(--abstand3)  0px;
	}
	
	footer .footerblock-3 {
		flex-basis: 100%;
		
	}
	
	
	.webform .wfleft {
		width: 100%;
		float: none;
		clear: both;
	}
	
	.webform .wfleft input {
		width: 100%;
		float: none;
		clear: both;
	}
	
	.webform .wfright {
		width: 100%;
		float: none;
		clear: both;
	
	}
	
	.webform .wfright input,
	.webform .wfright select {
		width: 100%;
		float: none;
		clear: both;
	}
	
	body.navactive .sprachwechsler {
		top: calc(var(--headerheight) + 20px);
	}
	

	
	
}


@media all and (max-width: 550px) {
	
	:root {
		--klickmenuwidth: 70px;
		--commerce-header-icon: 24px;
		--logowidth: 140px;
	}
	
	h1 {
		font-size: 200%;
		line-height: 115%;
	}
	
	.likeh1 {
		font-size: 180%;
		line-height: 115%;
	}
	
	
	h1.page-title-html {
		font-size: 220%;
		line-height: 115%;
	}	
	
	h2.page-untertitel {
		font-size: 110%;
		line-height: 115%;
	}
	
	.text-center {
		text-align: left;
	}


	header .usermenu ul.menu {
		margin: 0px 0px 0px 15px;
	}
	
	header .usermenu ul.menu > li:not(:last-child) {
		margin-right: 15px;
	}

	.buttonflex {
		display: block;
	}
	.buttonflex > .button {
		min-width: 280px;
		margin-right: 0px !important;
		margin-top: 0px;
	}
	
	.buttonflex > .button:not(:last-child) {
		margin-bottom: 10px;
	}
	
	.variation-block-wrapper .wh-price {
		font-size: 300%;
		line-height: 100%;
	}
	
	ul.tabs {
		display: block;
	}
	
	ul.tabs > li {
		display: block;
		margin-right: 0px !important;
		margin-bottom: 2px;
		text-align: center;
	}
	
	.topmenutrigger.active .top {
		width:50px;
		right: 0px;
	}

	.topmenutrigger.active .bottom {
		width:50px;
		right: 0px;
	}
	
	
	.view-commerce-cart-form .form-actions > input:nth-child(2) {
		min-width: auto;
		width: 100%;
	}


}



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

	.topmenu ul.level1 {
		font-size: 210%;
		line-height: var(--lineheight);
	}
	
	

	.produkt-merkmale > article {
		padding: 20px;
	}
	
	.produkt-liste > article {
		padding-left: 20px;
		padding-top: 20px;
		padding-right: 20px;	
	}
	
	.produkt-liste .link-to-produkt,
	.produkt-liste input.button--add-to-cart {
		left: 20px;
	}
	
}

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

	

}

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

	:root {
		--klickmenuwidth: 50px;
		--logowidth: 120px;
		--commerce-header-icon: 25px;
	}
	
	.likeh1 {
		font-size: 160%;
		line-height: 115%;
	}
	
	
	h1.page-title-html {
		font-size: 160%;
		line-height: 115%;
	}	
	
	h2,
	h3.produkt-untertitel {
		font-size: 170%;
		line-height: 115%;
	}
	
	.topmenu ul.level1 {
		font-size: 170%;
		line-height: var(--lineheight);
	}	
	
	.buttonflex > .button {
		min-width: auto;
		width: 100%;
	}
	
	header .usermenu ul.menu {
		margin: 0px 0px 0px 10px;
	}
	
	header .usermenu ul.menu > li:not(:last-child) {
		margin-right: 10px;
	}
		
}







@media only screen and (min-device-width: 768px) and (max-device-width: 1366px) and (orientation:landscape) {
	


	
  
	
}


@media only screen and (max-width: 736px) and (orientation:landscape)  {
	

	
}

