@import url(../assets/bootstrap-icons-1.4/font/bootstrap-icons.css);
@import url(../assets/animate.min.css);
/* Standards */
* {
    padding:0;
    margin:0;
    box-sizing:border-box;
} 
html {
    overflow-y:scroll;
}
body {
    font-family:Arial, Helvetica, sans-serif;
    color:#000;
    font-size:14px;
    min-height:100vh;
}
h1 {
    font-weight:bold;
    font-size:32px;
}
h2 {
    font-weight:normal;
    font-size:28px;
    margin-bottom:40px;
}
h3 {
    font-weight: normal;
    font-size: 20px;
    margin-bottom: 20px;
}
p {
    font-size: 14px;
    margin-bottom:30px;
    margin-top:30px;
}
input, select, textarea {
    font-size:16px;
    margin-bottom:30px;
    font-family:Arial, Helvetica, sans-serif;
}
.fl-form input.fl-input, .fl-form select.fl-select, .fl-form textarea.fl-textarea {
    margin-bottom:10px;
}
legend {
    font-weight:bold;
    margin-bottom:30px;
}

img {
    max-width:100%;
    height:auto;
}
.clear {
    clear:both;
}

input[type=text] {
    -moz-appearance: none; 
	-webkit-appearance: none; 
	appearance: none;
}
.fixed.wrap {
    position:fixed;
    left:0;
    right:0;
    background-color:#fff;
    padding:0 100px;
    z-index:10000;
}

.sup {
    font-size: 0.8em;
    line-height: 0em;
    vertical-align: 0.3em;
    white-space:nowrap;
}
.sub {
    font-size: 0.8em;
    line-height: 0em;
    vertical-align: -0.3em;
    white-space:nowrap;
}



/* Struktur-Elemente */

#wrapper {
    padding-bottom:120px;
    position:relative;
    min-height:100vh;
    min-width:320px;
}
.inner-wrap {
    padding:20px 50px;
    margin:0 auto;
    margin:0 50px;
    position:relative;
}

#header .inner-wrap {
    border-bottom:2px solid #000;
    padding:25px 50px;
}

#header h1 {
    max-width:calc(100% - 150px);
}

#header-right {
    top:50px;
    right:50px;
    position:absolute;
}

#header-right .header-right-menu {
    float:right;
    padding-top:3px;
}


#banner img {
    width:100%;
}

#footer {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
}

#footer .inner-wrap {
    background-color:#000;
    padding:20px 50px;
}

#footer p {
    color:#fff;
    text-align:center;
    margin-bottom:0;
    margin-top:0;
}

div.error {
    padding:20px;
    color:#f00;
    border:1px solid #f00;
    padding:20px;
    border-radius:4px;
    margin-bottom:30px;
}

div.error p {
    margin:0;
    display:block;
}

div.success {
    padding:20px;
    color:#106b01;
    border:1px solid #106b01;
    padding:20px;
    border-radius:4px;
    margin-bottom:30px;
}

div.success p {
    margin:0;
    display:block;
}

/* Formulare */
form {
    position:relative;
}
/* body.login .fieldset {
    width: 100%;
} */
.fieldset {
    width:60%;
    float:left;
    padding-right:15px;
}

.field-group {
    border-bottom:1px dashed #555;
    padding-top:0;
    padding-bottom:0;
    margin-bottom:30px;
}
.form-field {
    margin-bottom:20px;
}
.form-field input[type=text]:read-only, .form-field textarea:read-only, 
.form-field input:disabled, .form-field select:disabled {
    background-color: #eee !important;
    color:#666;
} 
input:read-only::placeholder, textarea:read-only::placeholder, 
.form-field input:disabled::placeholder {
    color:#666 !important;
}
.form-field.radio, .form-field.radio label {
    font-size:16px;
    color:#000 !important;
}
.form-field.radio label span {
   float:left;
   margin-right:22px;
   display:block;
   margin-top:2px;
}
.form-field.radio input[type=radio] {
    width: 22px !important;
    height:22px !important;
    margin-bottom:12px;
    margin-right:12px;
    float:left;
    padding:0;
    border-radius:100%;
}
.form-field.radio p {
    margin-bottom:10px;
}
/*body.login .form-field select, body.login .form-field input[type=text], body.login .form-field input[type=password]{
    max-width:750px;
    width:100% !important;
}*/
.form-field input, .form-field select, .form-field textarea  {
    width:75% !important;
    padding:10px;
    margin:0;
    border:1px solid #555 !important;
    border-radius:4px;
}
.info-box {
    width:100%;
}
.form-field .info-box, .field-error {
    width:75% !important; 
    margin-top:0;
}


.form-field select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%2555'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
    background-size: 16px;
    background-position: calc(100% - 10px) 14px;
    background-repeat: no-repeat;
    background-color: transparent;
  }
.form-field select option {
    color:#000;
}
.form-field select option[value=''] {
    color:#555;
}
/*
.form-field select option:nth-child(1) {
    display: none;
}
*/
  .fl-form select.fl-select {
    color:#555;
  }

.formfield select:after, .fl-form .fl-wrap-select:after {
    display:none !important;
}

.form-field label {
    color:#555 !important;
}


.form-field.checkbox label span {
    width:calc(75% - 94px);
}

.form-field.checkbox input {
    margin-top:10px;
    width:22px !important;
    height:22px;
    float:left;
    margin-left:25px;
    margin-right:25px;
    padding:0;
    
}
.form-field.shorttext input {
    margin-top:10px;
    width:40px !important;;
    margin-right:20px;
    margin-left:10px;
    float:left;
}

.form-field.shorttext .numberfield {
    text-align:center;
}

.form-field.checkbox label, .form-field.shorttext label {
    display:block;
    clear:both;
    width:100% !important;
    line-height:32px;
    color:#000 !important;
}

.form-field.checkbox span {
    margin-top:4px;
    display:block;
    width:calc(100% - 82px);
    float:left;
}
.form-field.shorttext span {
    width:calc(100% - 82px);
    display:block;
    float:left;

    margin-top:4px;
}
.fl-form .combine .fl-wrap {
    width:100%
}
.fl-form .combine .fl-wrap input {
    width:calc(100% - 10px) !important;
}
.form-field.textbutton .combine, .form-field.texticons .combine  {
    display: flex;
    align-items: stretch;
    width: 75% !important;
}
.form-field.texticons .icon-info, .form-field.texticons .icon {
    outline:0;
    text-decoration:none;
}
.form-field.texticons .icon-info.active i {
    color:#555;
    text-decoration:none;
}

.form-field.texticons .info-box, .info-box, .form-field .info-box {
    display:none;
    background-color:#eee;
    padding:12px;
    margin-top:10px;
    margin-bottom:10px;
}

.info-box {
    margin-bottom:30px;
}

.info-box a {
    color:#000;
}

.form-field.texticons .info-box.active, .info-box.active {
    display:block;
}


.form-field.textbutton .combine input, .form-field.texticons .combine input {
    width:100%;
}
.form-field.texticons i {
    font-size:30px;
    color:#555;
    margin-left:12px;
}
.form-field.submit {
    margin-top:20px;
}

.form-field.submit input, .btn, .form-field.textbutton button {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance:none;
    background-color:#000;
    color:#fff;
    width:initial !important;
    border-color:#000;
    font-weight:bold;
    margin-bottom:30px;
    padding:10px;
    display:inline-block;
    border-radius:4px;
    text-decoration:none;
    cursor:pointer;
    margin-top:0;
    width:auto !important;
}

.btn {
	margin-bottom:10px;
}

.form-field.submit input {
    margin-right:20px;
}

.field-error {
    padding:0 0 0 12px;
    margin:0;
    color:#f00;
    font-size:14px;
	display:none;
}

.form-field.checkbox .field-error, .form-field.shorttext .field-error {
    padding-left:70px;
}

.form-field.required select option, .form-field.required select, .form-field.required input, .form-field.required textarea {
border-width:2px !important;

}

.required label.fl-label:before {
    height:2px !important;
}

input[type=checkbox], input[type=radio] {
    display: block;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-color:#fff;
    -webkit-appearance: none;
    appearance:none;
    outline: 0;
}
input[type=radio]:checked {
    background-image: url('../images/x.svg');
}
input[type=checkbox]:checked {
    background-image: url('../images/check.svg');
}
input[type=checkbox]:not(:checked) {
    background-image:none;
}
.form-field.checkbox a, .form-field.radio a {
    color:#000;
}

.posten {
    margin-bottom:15px;
    animation-duration:0.5s;
    display:block;
}

.posten .form-field span span {
    display:inline-block;
    float:none;
    clear:both;
    margin-top:0;
    width:100%;
}

.posten .form-field .field-error {
    margin-top:10px;
}
.posten.form .form-field:nth-child(odd) {
    background:none;
}


.expand-collapse {
    padding:10px;
    cursor:pointer;
    margin:30px 0 0 0;
    display:block;
    background:#eee;
    width:100%;
}

.expand-collapse.form {
    margin-top:0;
    margin-bottom:15px;
}

.expand-collapse.form.expanded {
    margin-bottom:0;
}

.expand-collapse i {
    float:right;
}

.expand-collapse i::after {
    font-size:16px;
    margin-left:15px;
    content: "\f229";
    display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 14px;
    vertical-align: text-bottom;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.expanded.expand-collapse i::after, .expand-collapse i.expanded:after {
    content: "\f235";
}

legend.expand-collapse .form-field {
    margin-bottom: 0;
}

legend.expand-collapse .form-field input {
    margin-left: 0;
    margin-right: 14px;
    margin-top: 6px;
}

legend.expand-collapse i {
    position: absolute;
    right: 10px;
    top: 50%;
    bottom: 0;
    margin-top: -8px;
}

legend.expand-collapse {
    position: relative;
}

legend.expand-collapse .form-field.checkbox span {
    margin-top: 1px;
    cursor:pointer;
}

legend.expand-collapse + div.posten {
    padding-top: 20px;
    padding-left: 10px;
}


/* Schritt-Anzeige */

.steps-mobile {
    display:none;
}
.steps-desktop {
    padding-bottom:10px;
    padding-top:10px;
    margin-bottom:10px;
    background-color:#fff;
    z-index:5;
}

.steps-desktop.dummy {
    visibility:hidden;
}

.step {
    float:left;
    margin-right:20px;
    margin-bottom:10px;
    color: #555;
}

.step a {
    color: #555;  
}

.step .number {
    color:#000;
    border:1px solid #000;
    border-radius:100%;
    background-color:#fff;
    width:30px;
    height:30px;
    padding-top:6px;
    margin-right:10px;
    text-align:center;
    display:inline-block;

    font-size:14px;
}

.step.active, .step.active a {
    color:#000;
}

.step.active .number {
    color:#fff;
    background-color:#000;
}

.step.done .number {
    color:#000;
    background-color:#aaa;
}

.step::after {
    content: "\f26e";
    color: #555;
    display: block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: text-bottom;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 30px;
    float: right;
    padding-top:0;
    margin-top:-1px;
    visibility:hidden;
}

.step.done::after {
    visibility:visible;
}

.step .text {
    padding-top:6px;
    display:inline-block;
    font-size:14px;
    max-width:calc(100% - 40px)
}

/* Warenkorb */

#warenkorb, #warenkorb-pseudo {
    width:40%;
    float:right;
    background-color:#aaa;
    color:#fff;
}

#warenkorb .position-error {
    margin:0;
    padding:0;
    color:#f00;
    font-size:14px;
}

#warenkorb .position-success {
    margin:0;
    padding:0;
    color:#106b01;
    font-size:14px;
}

#warenkorb.fixed {

    position:fixed;
    right:0;
}

#warenkorb .header {
    margin:20px 10px 0 10px;
    background:#fff;
    color:#000;
    padding:10px;
}

#warenkorb .body {
    padding:0 20px 20px 20px;
    position:relative;
}

#warenkorb .body .position {
    border-bottom:1px #fff dashed;
    padding:20px 0 10px 0;
    position:relative;
    background-color:#aaa;
}

#warenkorb .body .position.gesamt {
    border-bottom:0;
}

#warenkorb .body .position p {
    margin-bottom:10px;
    margin-top:0;
    width:calc(100% - 90px);
}

#warenkorb .body .position.gesamt p {
    width:100%;
}

#warenkorb .body .id {
    font-weight:bold;
    display:inline-block;
    margin-right:10px;
}

#warenkorb .header .headline {
    font-weight:bold;
    margin-right:15px;
    display:inline-block;
}

#warenkorb .header .close-mobile {
    display:none;
    float:right;
    font-weight:bold;
    cursor:pointer;
}

#warenkorb .btn.delete {
    position:absolute;
    right:0;
    top:15px;
    margin-bottom:0;
    margin-right:0;
}


i#toggle-warenkorb {
    float:right;
    height:30px;
    background:url(../images/warenkorb-leer.svg) no-repeat;
    background-size:20px;
    background-position:5px center;
    display:none;
    margin-left:10px;
    margin-top:-5px;
    padding:8px 5px 5px 28px;
    background-color:#fff;
    border-radius:5px;
    font-style:normal;
    font-weight:bold;
    text-align:right;
}

i#toggle-warenkorb.active {
    background-image:url(../images/warenkorb-voll.svg);
    cursor:pointer;
}
/*
.fl-form input.fl-input, .fl-form select.fl-select, .fl-form textarea.fl-textarea {
    margin-bottom:12px;
}
*/
.totalprice {
font-weight:bold;
}

.price {
line-height: 1.3;
}

table {
    width:70%;
    border:0;
    border-collapse: collapse;
}
table td {
    padding: 8px 8px;
    border:0;
    overflow-wrap: anywhere;
}

table tr td:nth-child(odd) {
    width:230px;
}

table tr:nth-child(odd) {
  background-color: #f2f2f2;
}

@media (max-width:1280px) {
    .fieldset {
        width:60%;
    }
    .form-field input, .form-field .info-box {
        width:100%;
    }
    .form-field.checkbox label span {
        width:calc(100% - 94px);
    }
    #warenkorb, #warenkorb-pseudo {
        width:40%;
    }
    table {
        width:100%;
    }

}
@media (max-width:767px) {


.inner-wrap {
    padding:20px;
    margin:0;
    width:initial;
    position:initial;
}
#header .inner-wrap {
    padding:40px 25px 10px 25px;
}
#header-right {
    right:20px;
}
#banner {
    display:none;
}
body.login #banner {
    display:block;
}
.fieldset {
    width:100%;
}
.fieldset legend h2 {
    display:none;
}
.form-field input, .form-field textarea, .form-field select, .form-field.textbutton .combine, .form-field.texticons .combine, .info-box, .form-field .info-box {
    width:100% !important;
}
.form-field.submit .btn {
    float:right;
}
.steps-desktop {
    display:none;
}
.steps-mobile {
    display:block;
    border-top:1px solid #555;
    padding-top:10px;
    padding-bottom:10px;
}
.steps-mobile .step {
    margin-bottom:0;
    color:#555;
    width:100%;
    display: flex;
    align-items: center;
    position:relative;
}
.steps-mobile .step.active {
    color:#000;
    font-weight:bold;
}
.steps-mobile .step .text, .steps-mobile .step .number {
    font-size:16px;
    padding-top:0;
}
.steps-mobile .step .text {
    position:relative;
    display:inline-block;
    max-width: calc(100% - 70px);
}
.steps-mobile .step .number {
    width:30px;
    height:30px;
    line-height:30px;
    border-radius:50%;
    text-align:center;
    padding:0;
}
.steps-mobile .step span.checkmark, .steps-mobile .step  span.open {
    display:none;
}
.steps-mobile .step.done .text {
    padding-right:50px;
}
.steps-mobile .step.done span.checkmark, .steps-mobile .step.done span.checkmark::before {
   display:block;
   width:16px;
   height:30px;
   line-height:35px;
    margin-left:5px;
    font-size:30px;
    position:absolute;
    bottom:0;
    right:30px;
}
.steps-mobile .step.done::after {
    display:none;
}
.steps-mobile .step.done span.open, .steps-mobile .step.done span.open::before {
    display:block;
   width:16px;
   height:30px;
   line-height:26px;
    margin-left:5px;
    font-size:20px;
    position:absolute;
    right:5px;
    top:0;
}
#main {
    position:relative;
}
#warenkorb {
    float:none;
    position:fixed;
    top:100px;
    left:5px;
    height:calc(100vh - 105px);
    right:5px;
    width:initial;
    overflow:hidden;
    padding-bottom:10px;
    display:none;
}
body.warenkorb-aktiv #warenkorb {
    display:block;
}
#warenkorb .body {
    position:relative;
    height:initial;
    max-height:100%;
    overflow-y:scroll;
    margin-top:10px;
    
}
#warenkorb .body .position.gesamt {
    padding-bottom:100px;
}
#warenkorb .header .close-mobile {
display:block;
}
body.warenkorb-aktiv {
    overflow:hidden;
    height:100vh;
}
i#toggle-warenkorb {
    display:block;
}

}



@media (max-width:550px) {
    table td {
        display:block;
        padding:10px 0;
    }
    table tr:nth-child(odd) {
        background-color:transparent;
      }
    table tr td:nth-child(even) {
      
        border-bottom:#f2f2f2 1px solid;
    }
}

@media (max-width:445px) {
#warenkorb {
    top:132px;
    height:calc(100vh - 142px);
}
}

@media print { 

#header, #banner, #footer {
    display: none !important;
}

table td {
    display:table-cell !important;
}

.steps-mobile, .steps-desktop {
    display:none !important;
}

table tr td:nth-child(even) {
    border-bottom:0 !important;
}

table tr:nth-child(odd) {
  background-color: #f2f2f2 !important;
}
.fieldset legend h2 {
  display:block !important;
}
}

#legende {
	margin-top:25px;
}

#legende p {
	margin-top:5px;
    margin-bottom:0px;
}
