html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	scroll-behavior: smooth;
	font-size: 100%;
	height: 100%;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
body {
	line-height: 1.5;
	color: var(--txt);
	background: var(--white);
	height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}
body,textarea,input,select,option,button {
	font-family: "Roboto",sans-serif;
	font-size: 0.875rem;
	font-weight: 300;
}
textarea,input,select,option {
	border-radius: 0;
}
.clearfix:after {
	content: ".";
	clear: both;
	display: block;
	visibility: hidden;
	height: 0;
}
img,svg {
	border: none;
	vertical-align: middle;
}
.txtnorm {
	font-weight: 300;
}
.txtmid {
	font-weight: 400;
}
.txtsemibold {
	font-weight: 500;
}
b,strong,.txtbold {
	font-weight: 500;
}
a {
	color: var(--links);
	text-decoration: none;
	transition: all 0.3s ease;
}
a:hover {
	color: var(--lhmdbrown);
	text-decoration: underline;
}
a:active {
	color: var(--activ);
	background: transparent;
}
a.agrey,a.agrey:hover,a.agrey:active {
	color: var(--txt);
	text-decoration: none;
}
a,a:focus,input:focus,input:focus-within,textarea:focus,textarea:focus-within {
	outline: none !important;
	box-shadow: 0 0 0;
}
h1 {
	font-size: 1.3125rem;
}
h1,h2,h3,h4,h5 {
	font-weight: 300;
}
.txtc {
	text-align: center;
}
.txtr {
	text-align: right;
}
.txtnowrap {
	white-space: nowrap;
}
.txt11 {
	font-size: 0.6875rem;
}
.txt12 {
	font-size: 0.75rem;
}
.txt13 {
	font-size: 0.75rem;
}
.txt14 {
	font-size: 0.875rem;
}
.txt16 {
	font-size: 1rem;
}
.posabs {
	position: absolute;
}
.posrel {
	position: relative;
}
.brc100,.br3-1,.br3-2,.brc50,.brl50 {
	width: 100%;
}
.brl50 {
	margin: 0 auto;
}
.brc25,.brc33,.brc75,.br50 {
	width: 50%;
}
.brc40 {
	width: 40%;
}
.brc60 {
	width: 60%;
}
.br30 {
	width: 30%;
}
.br70 {
	width: 70%;
}
.wmax360 {
	max-width: 360px;
}
.wmax400 {
	max-width: 400px;
}
.wmax440 {
	max-width: 440px;
}
.hfull {
	height: 100%;
}
.flexdisplay {
	display: -webkit-flex;
	display: flex;
	display: -ms-flex;
	display: -ms-flexbox;
}
.flexjuspa {
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-pack: justify;
}
.flexjustr {
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-ms-flex-pack: start;
}
.flexjuend {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-ms-flex-pack: end;
}
.flexjucent {
	-webkit-justify-content: center;
	justify-content: center;
	-ms-flex-pack: center;
}
.flexalstr {
	-webkit-align-items: stretch;
	align-items: stretch;
	-ms-flex-align: stretch;
}
.flexalcent {
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-align: center;
}
.flexwarp,.flexwrap {
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexcol {
	-webkit-flex-direction: column;
	flex-direction: column;
}
.flexselfend {
	-webkit-align-self: flex-end;
	align-self: flex-end;
}
.orderfirst {
	order: -1;
}
.order1 {
	order: 1;
}
.order2,.formorder form {
	order: 2;
}
.order3 {
	order: 3;
}
.order4 {
	order: 4;
}
.flussl {
	float: left;
}
.fitimgcover {
	object-fit: cover;
	object-position: center center;
}
.mtxsh {
	margin-top: 0.25rem;
}
.mtsh {
	margin-top: 0.5rem;
}
.mtmh {
	margin-top: 1rem;
}
.mtml {
	margin-top: 1.25rem;
}
.mtlh {
	margin-top: 2rem;
}
.mtxlh,.mtxxl {
	margin-top: 3rem;
}
.mtxxlh {
	margin-top: 4rem;
}
.mtauto {
	margin-top: auto;
}
.mbxsh {
	margin-bottom: 0.25rem;
}
.mbsh {
	margin-bottom: 0.5rem;
}
.mbmh {
	margin-bottom: 1rem;
}
.mblh {
	margin-bottom: 2rem;
}
.mbxlh {
	margin-bottom: 3rem;
}
.mbxxlh {
	margin-bottom: 4rem;
}
.mls {
	margin-left: 0.5rem;
}
.mrs {
	margin-right: 0.5rem;
}
.mrm {
	margin-right: 1rem;
}
.mrxm {
	margin-right: 1.5rem;
}
.plxsh {
	padding: 0.25rem 0 0 0;
}
.plsh {
	padding: 0.5rem 0 0 0;
}
.plmh {
	padding: 1rem 0 0 0;
}
.pllh {
	padding: 2rem 0 0 0;
}
.plxlh {
	padding: 3rem 0 0 0;
}
.plxxlh {
	padding: 4rem 0 0 0;
}
.pssnh,.plistnh {
	padding: 0 0.625rem 0 0.625rem;
}
.pssxsh {
	padding: 0.25rem 0.625rem 0 0.625rem;
}
.psssh {
	padding: 0.5rem 0.625rem 0 0.625rem;
}
.pssmh {
	padding: 1rem 0.625rem 0 0.625rem;
}
.psslh,.psslhxl {
	padding: 2rem 0.625rem 0 0.625rem;
}
.pssxlh {
	padding: 3rem 0.625rem 0 0.625rem;
}
.pssxxlh {
	padding: 4rem 0.625rem 0 0.625rem;
}
.pls {
	padding-left: 0.5rem;
}
.plm {
	padding-left: 1rem;
}
.prs {
	padding-right: 0.5rem;
}
.prm {
	padding-right: 1rem;
}
.prxm {
	padding-right: 1.5rem;
}
.errorall {
	padding: 0.625rem;
	color: var(--txtwhite);
	background: var(--error);
}
.okall {
	padding: 0.625rem;
	color: var(--txtwhite);
	background: var(--ok);
}
.txtgreen {
	color: var(--ok);
}
.txtgreenlhmd {
	color: var(--btnsubactiv);
}
.txtred {
	color: var(--error);
}
.boxsizecontent {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
.hyphensnone {
	-ms-hyphens: none;
	-webkit-hyphens: none;
	hyphens: none;
}
.txtellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.btnformfull,
.btnlink,
.btnsubform,
.btnsublink {
	display: block;
	padding: 0.375rem 1.25rem 0.375rem 1.25rem;
	line-height: 2rem;
	font-size: 0.875rem;
	font-weight: 400;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	border: none;
	border-radius: 0.1875rem;
	transition: all 0.2s ease;
}
.btnformfull,
.btnsubform {
	appearance: none;
	border-radius: 0.1875rem;
}
.btnformfull,
.btnlink {
	min-width: 8rem;
	background-color: var(--btn);
	color: var(--txtwhite);
	transition: all 0.25s ease;
	white-space: nowrap;
}
.btnsubform,
.btnsublink {
	background-color: var(--btnsub);
	color: var(--txt);
	transition: all 0.25s ease;
	white-space: nowrap;
}
.trackbox .btnsublink {
	background-color: var(--trackboxbtnbg);
}
.btnsubadr {
	font-weight: normal;
	line-height: 1.6rem;
	margin: 0 0.625rem 0 0;
	min-width: 8.5rem;
}
.btninfo {
	width: 30%;
	min-width: 8.5rem;
	padding: 0.125rem 1.25rem 0.125rem 1.25rem;
	margin: 1.25rem auto 0 auto;
	font-weight: 300;
	line-height: 1.6rem;
	font-size: 0.875rem;
}
.btnformfull:hover,.btnlink:hover {
	background-color: var(--btnover);
	color: var(--txtwhite);
	text-decoration: none;
}
.btnformfull:active,.btnlink:active {
	background-color: var(--btnactiv);
	color: var(--txtwhite);
	text-decoration: none;
}
.btnsubform:hover,.btnsublink:hover {
	background-color: var(--btnsubover);
	color: var(--txt);
	text-decoration: none;
}
.btnsubform:active,.btnsublink:active {
	background-color: var(--btnsubactiv);
	color: var(--txtwhite);
	text-decoration: none;
}
/*button::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner {
	cursor: pointer;
	border-width: 0;
}*/
.ipfull,.txtfull,.selfull,.dvarianten select {
	appearance: none;
	width: 100%;
	padding: 0.8125rem 0.1875rem 0.6875rem 0.625rem;
	line-height: 1.125rem;
	color: var(--txtinput);
	background-color: var(--txtwhite);
	border: 0.0625rem solid var(--borderinput);
	-webkit-border-radius: 0.1875rem;
	border-radius: 0.1875rem;
}
.txtfull {
	padding: 0.25rem 0.1875rem 0.25rem 0.625rem;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type=number] {
	appearance: textfield;
}
.selfull,.dvarianten select {
	background-image: url('arrowdown.svg');
	background-position: center right 0.5rem;
	background-repeat: no-repeat;
}
.txtfull {
	height: 10rem;
}
.ipfull:invalid,.txtfull:invalid,.selfull:invalid {
	border: 0.0625rem solid var(--error);
	box-shadow: 0 0 0 var(--white);
}
.ipfull:valid,.txtfull:valid,.selfull:valid {
	border: 0.0625rem solid var(--borderinput);
}
.ipfull:focus,.selfull:focus,.txtfull:focus {
	border: 1px solid var(--txt);
	background-color: var(--white);
}
.ipfull[readonly]:focus {
	background-color: var(--txtwhite);
	border: 1px solid var(--borderinput);
}
.iplstfilter {
	width: calc(100% - 3.3125rem);
}
.boxlstfilter::after {
	content: url('filter.svg');
	background-color: var(--btn);
	position: absolute;
	bottom: 0;
	left: calc(100% - 5.5rem);
	width: auto;
	height: 1.25rem;
	padding: 0.8125rem 1rem 0.6875rem 1rem;
	border-top-right-radius: 0.1875rem;
	border-bottom-right-radius: 0.1875rem;
	cursor: pointer;
}
.boxlstfilter:hover::after {
	background-color: var(--btnover);
}
.filterreset {
	width: 2.8125rem;
	cursor: pointer;
}
.filterreset svg {
	width: auto;
	height: 1.25rem;
}
.filterreset:hover svg path {
	fill: var(--rot);
}
.filterreset:active svg path {
	fill: var(--btnactive);
}
#bestellsuchbox .filterreset {
	right: 0.5rem;
}
.btnformnormlink {
	appearance: none;
	border-radius: 0;
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--black);
	font-size: 0.875rem;
	transition: all 0.3s ease;
}
.btnformnormlink:hover {
	color: var(--high);
	background: transparent;
	text-decoration: underline;
}
.btnformnormlink:active {
	color: var(--activ);
	background: transparent;
	text-decoration: underline;
}
.btnw80 {
	width: 80%;
	min-width: auto;
	margin: 2rem 10% 0 10%;
}
.btnwm {
	width: 100%;
	min-width: auto;
	max-width: 25rem;
	margin: 2rem auto 0 auto;
}
.btnwl {
	width: 100%;
	max-width: 11rem;
}
.btnnxticon {
	padding: 0.375rem 1.75rem 0.375rem 1.25rem;
	background-image: url('arrownext-wht.svg');
	background-position: center right 0.5rem;
	background-repeat: no-repeat;
}
.btnnxticon:hover {
	padding: 0.375rem 1.75rem 0.375rem 1.25rem;
	background-image: url('arrownext-wht.svg');
	background-position: center right 0.5rem;
	background-repeat: no-repeat;
}
.btnnxticon:active {
	padding: 0.375rem 1.75rem 0.375rem 1.25rem;
	background-image: url('arrownext-wht.svg');
	background-position: center right 0.5rem;
	background-repeat: no-repeat;
}
.btnbackicon {
	padding: 0.375rem 1.25rem 0.375rem 1.75rem;
	background-image: url('arrowprev.svg');
	background-position: center left 0.5rem;
	background-repeat: no-repeat;
}
.btnbackicon:hover {
	padding: 0.375rem 1.25rem 0.375rem 1.75rem;
	background-image: url('arrowprev.svg');
	background-position: center left 0.5rem;
	background-repeat: no-repeat;
}
.btnbackicon:active {
	padding: 0.375rem 1.25rem 0.375rem 1.75rem;
	background-image: url('arrowprev-wht.svg');
	background-position: center left 0.5rem;
	background-repeat: no-repeat;
}
.btnbackiconblk {
	padding: 0.375rem 1.25rem 0.375rem 1.75rem;
	background-image: url('arrowprev-wht.svg');
	background-position: center left 0.5rem;
	background-repeat: no-repeat;
}
.btnbackiconblk:hover {
	padding: 0.375rem 1.25rem 0.375rem 1.75rem;
	background-image: url('arrowprev-wht.svg');
	background-position: center left 0.5rem;
	background-repeat: no-repeat;
}
.dsbox {
	position: relative;
}
.dsformbez {
	padding: 0 0 0 1.5rem;
	margin: -1.5rem 0 0 0;
	cursor: pointer;
	display: block;
}
.dsradio:checked,.dsradio:not(:checked) {
	background: transparent;
	position: relative;
	opacity: 0;
	margin: 0;
	padding: 0;
	width: 1rem;
	height: 1rem;
}
.dsradio:checked + .dsformbez::before, .dsradio:not(:checked) + .dsformbez::before {
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	content: url('checkbox-unchecked.svg');
}
.dsradio:checked + .dsformbez::before {
	content: url('checkbox-checked-active.svg');
}
.dsradio:not(:checked):hover + .dsformbez::before,
.dsradio:not(:checked):focus + .dsformbez::before {
	content: url('checkbox-unchecked-active.svg');
}
.dsradio:not(:checked) + .dsreq::before {
	content: url('checkbox-unchecked-red.svg');
}
.topline {
	border-top: 0.0625rem solid var(--bordernorm);
}
.botline {
	border-bottom: 0.0625rem solid var(--bordernorm);
}
.toplinegrey {
	border-top: 0.0625rem solid var(--borderhead);
}
.botlinegrey {
	border-bottom: 0.0625rem solid var(--borderhead);
}
.refresh {
	height: 1.5rem;
	width: 18.75rem;
	background-color: var(--white);
	outline: 0.0625rem solid var(--greydarkmid);
}
.refresh::after {
	display: block;
	content: "";
	height: 100%;
	width: 0.0625rem;
	background-color: var(--activ);
	transform-origin: left;
	-webkit-animation: refreshwidth 10s;
	animation: refreshwidth 10s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}
@keyframes refreshwidth {
	0% {
	-webkit-transform: scale3d(1,1,1);
	transform: scale3d(1,1,1);
}
	100% {
	-webkit-transform: scale3d(300,1,1);
	transform: scale3d(300,1,1);
}
}
.boxradius {
	border-radius: 0.1875rem;
}
.spacenorm {
	white-space: normal;
}
.boxmax {
	max-width: 50rem;
	margin-left: auto;
	margin-right: auto;
}
.nodisplay,.spankiller > span {
	display: none;
}
.indisplay {
	display: inline;
}
.inbldisplay {
	display: inline-block;
}
.bldisplay {
	display: block;
}
.mhno,.flexdm,.flexds,.flexdxs {
	display: none;
}
.mhyes{
	display: inline;
}
.mobilview {
	display: block;
}