

.margin-bottom-m {
    margin-bottom: 30px
}

.margin-bottom-s {
    margin-bottom: 15px
}

.padding-reset {
    padding: 0
}

.margin-bottom-xs {
    margin-bottom: 10px
}

.text-bold {
    font-weight: 700;
}

.border-light-grey {
    border: 1px solid lightgrey;
}

.border-black {
    border: 1px solid black;
}

.lineHeight {
    line-height: 1.4;
}

.margin-top-xxs {
    margin-top: 5px
}
.margin-left-xxs {
    margin-left: 5px
}
.margin-left-xs {
    margin-top: 10px
}

.margin-top-s {
    margin-top: 15px
}

.margin-top-xs {
    margin-top: 10px
}

.margin-top-s {
    margin-top: 15px
}

.margin-top-m {
    margin-top: 20px
}

.margin-top-l {
    margin-top: 25px
}

.margin-top-xl {
    margin-top: 30px
}

.padding-right-xs {
    padding-right: 10px
}

.margin-right-xxs {
    margin-right: 5px
}

.padding-top-s {
    padding-right: 15px
}

.padding-top-xs {
    padding-top: 10px
}

.padding-bottom-s {
    padding-bottom: 15px
}

.padding-bottom-m {
    padding-bottom: 20px
}

.padding-bottom-xs {
    padding-bottom: 10px
}

.padding-left-m {
    padding-top: 20px
}

.padding-left-s {
    padding-left: 15px
}

* {
    outline: 0;
    font-size: 14px;
}

html {
    height: 100%;
    min-height: 1000px
}

#homepage {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 5px
}

#kopf {
    display: block;
    padding: 20px 20px 0
}

h1 {
    font-size: 1.1rem;
    margin-bottom: 35px;
    width: 90%
}

#content {
    display: block;
    padding: 0 20px 20px
}

#content1 {
    display: table-cell;
    min-height: 380px
}

#content1 h1 {
    font-weight: 600;
    margin-bottom: 20px;
    padding: 0 15px 0 0;
    font-size: 18px !important;
    color: #3d3d3d !important;
}

.h2 {
    font-size: 16px !important;
    border-radius: 0 !important;
    margin-bottom: 15px;
    background-color: white !important;
    padding: 5px 15px 5px 0 !important;
    margin-top: 10px !important;
    color: #3d3d3d !important;
    font-weight: bold;
    border-bottom: 1px solid #000 !important;
    color: #3d3d3d !important;
}

#content1 h3 {
    font-size: .8rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-decoration: underline;
    padding: 5px 0;
    color: #3d3d3d !important;
}

#content1 .subtitle {
    font-size: 1em;
    margin-bottom: 15px;
    line-height: 1.9em;
    padding: 0;
    background-color: #fff;
    color: #3d3d3d !important;
}

#content1 .produktBeschreibung li {
    font-size: .8rem;
    margin-bottom: 10px;
    line-height: 19px
}

#content1 p {
    font-size: .9rem;
    line-height: 1.6em;
}

#kontaktAufnahme {
    color: #5b4948;
    display: block;
    font-weight: 700;
    height: 30px;
    margin-top: 40px;
    padding-bottom: 10px;
    text-align: left;
    text-decoration: none
}

#kontaktAufnahme:hover {
    text-decoration: underline
}

#footer {
    clear: left;
    width: 770px;
    display: block
}

#footer a {
    color: #3d3d3d !important;
    display: block;
    font-size: 12px;
    font-weight: 700;
    height: 20px;
    margin-left: 585px;
    margin-top: 10px;
    padding-top: 5px;
    text-align: right;
    text-decoration: none;
    width: 60px
}

#footer a:hover {
    text-decoration: underline
}

#navigation {
    display: table-cell;
    margin-top: 7px;
    padding-right: 45px
}

#navigation a {
    text-decoration: none;
    color: #3d3d3d;
    font-size: 13px
}

.title {
    width: 100%
}

#navigation a:active {
    font-weight:700 !important;
}

#navigation ul {
    margin-left: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
}

#navigation li:before {
    content: "- "
}

#navigation li {
    color: #3d3d3d;
    list-style: none outside none;
    margin: 0;
    padding: 0 0 5px
}

#navigation a:hover {
    font-weight: 600
}

#navigation .headlineNavigation {
    font-size: .8rem;
    padding: 5px !important
}

.panel {
    background-color: #fff;
    border: 0;
    padding: 10px
}

.panel .produktBeschreibung {
    font-size: .8rem !important;
    padding-right: 15px
}

.headlineNavigation {
    background-color: #ccc !important;
    border-radius: 0 10px 10px 0 !important;
    font-weight: 600 !important;
    margin-left: -17px !important;
    margin-top: 10px !important;
    padding-left: 5px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    margin-bottom: 10px !important;
    line-height: normal !important
}

.paddingMarginReset {
    padding: 0;
    margin: 0;
}

.normalTextBox {
    padding: 0 !important;
}

.left-small {
    border: 0
}

.ul.off-canvas-list li a {
    font-size: .8rem
}

.small {
    font-size: .9rem !important;
    background-color: #9bcd00;
    border-radius: 10px;
    padding: .7rem !important
}

.title {
    font-size: 1rem !important;
    font-weight: 400 !important
}

.side-nav {
    background-color: #e3e3e3 !important;
    border: 1px dotted #999;
    padding: 10px;
    border-radius: 5px;
    margin-top: 15px
}

.side-nav li a {
    padding: .5rem .7rem !important;
    font-size: .8rem;
    color: #3d3d3d !important;
    border-radius: 5px;
    margin: 0 0 10px !important
}

.side-nav li a:hover {
    background-color: #3d3d3d !important;
    color: #3d3d3d !important
}

.side-nav li {
    border-top: 1px solid #999;
    padding-top: 10px;
    margin: -1px 0 0;
    border-collapse: collapse !important
}

.side-nav h2 {
    font-size: .9rem !important;
    margin-left: 5px !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
    color: #3d3d3d !important;
    background-color: none;
}

ul.off-canvas-list li label {
    padding: .1rem .9375rem;
    font-size: .05rem;
    color: transparent
}

.bottonBottom {
    position: relative;
    bottom: -20px
}

.normalTextBoxShoadowDesktop {
    height: 230px;
    margin-right: 2%;
    margin-bottom: 2%;
    float: left;
    padding: 10px 10px 0;
    border-radius: 5px;
    width: 47%;
    border: 1px solid #DBDBDB
}

.normalTextBoxShoadowMobil {
    margin-bottom: 2%;
    float: left;
    padding: 10px 10px 0;
    border-radius: 5px;
    border: 1px solid #DBDBDB
}

.shadow {
    -webkit-box-shadow: 1px 2px 5px 1px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 1px 2px 5px 1px rgba(0, 0, 0, 0.15);
    box-shadow: 1px 2px 5px 1px rgba(0, 0, 0, 0.15)
}

.normalTextBoxShoadowDesktop-width-One-Quarter {
    margin-right: 5px;
    margin-bottom: 2%;
    float: left;
    padding: 10px 10px 0;
    border-radius: 5px;
    border: 1px solid #DBDBDB;
    width: 32%
}

.normalTextBoxShoadowMobil-full {
    margin-bottom: 2%;
    padding: 10px 10px 0;
    border-radius: 5px;
    border: 1px solid #DBDBDB
}

.headline-bold-underline {
    margin-bottom: 5px !important;
    text-decoration: none !important;
    border-bottom: 1px solid #999 !important;
    font-size: 12px !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    color: #3d3d3d !important;
    padding-left: 0 !important;
    padding-top: 0 !important;
    font-weight: 700 !important
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%; /* ratio 16x9 */
    height: 0;
    overflow: hidden;
    width: 100%;
    height: auto;
}

.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ratio 4x3 */
.embed-container.ratio4x3 {
    padding-bottom: 75%;
}

[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
    border-radius: 0 0 10px 10px !important;
    font-style: normal !important;
}

.headlineWeitereThemen {
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

#shop-breadcrumbs ul {
    margin:0;
}

#shop-breadcrumbs {
    margin-bottom: 90px;
    margin-top: 7px;
}

#shop-breadcrumbs ul li {
    list-style:none;
}

#shop-breadcrumbs ul li a {
    display: block;
    float: left;
    height: 60px;
    background: darkolivegreen;
    text-align: center;
    padding: 10px 10px 30px 10px;
    position: relative;
    font-size: 13px;
    width:33%;
    text-decoration: none;
    color: #fff;
    border-right: 3px solid white
}

/* Hide the Before Pseudo Element */
#shop-breadcrumbs ul li:first-child a {
    border-top-left-radius: 7px; border-bottom-left-radius: 7px;border-bottom-right-radius: 1px; border-bottom-right-radius: 1px;
}

/* Add Border Radius */
#shop-breadcrumbs ul li:last-child a {
    border-top-left-radius: 1px; border-bottom-left-radius: 1px;border-bottom-right-radius: 7px; border-top-right-radius: 7px;
}

#shop-breadcrumbs .active {
    background-color: darkolivegreen;
    color:white;
}

#shop-breadcrumbs ul li a.active:hover{
    background: darkolivegreen;
}

#shop-breadcrumbs .inactive {
    background-color: lightgray;
    color:black;
}

.productVariante {
    padding: 10px;
    color: black;
    margin-right: 12px;
    margin-bottom: 12px;
    border: 1px solid #999;
    border-radius: 10px;
    text-align: center;
    background-color: lightblue;
    font-size: 13px;
}

.productVariante:hover {
    background-color: #b63a5e;
    color:white;
}

.artikelRowOrderSummary {
    border-bottom: 1px dotted #999;
    padding-bottom: 20px
}

.artikelRowOrderSummary p {
    margin-top:5px;
    margin-bottom:5px;
}

#footer-navigation {
    background-color:lightgrey;padding:15px;margin-top:50px; padding-top:30px; border-radius:10px;
}

#footer-navigation a {
    display: block; color: black; width:100%;text-align: center; padding:5px;
    font-size: 12px !important;
}

#footer-navigation a:hover {
    font-weight: 700;
}

#footer-navigation p {
    text-align: center;padding-top: 20px;margin-bottom:20px
}

.orbit-slide-number {
    text-align: center !important;
    position: relative !important;
    width: 100% !important;
    padding-bottom: 23px !important;
    margin-left: -1em !important;
    color: black !important;
}

.shop-button {
    background-color: black !important;
    border-radius: 5px !important;
    padding: 12px 10px 12px 10px !important;
}

.side-banner-medium-up {
    margin-top: -22px;margin-left:20px; margin-right:20px;
}

.side-banner-medium-up p {
    padding: 20px 10px 10px;
    text-align:center;
    font-size: 13px;
    color: rgb(255, 255, 255);
    background-color: #b63a5e;
}

.side-banner-small-only {
    margin-top: -22px;
}

.side-banner-small-only p {
    padding: 10px;
    text-align:center;
    font-size: 13px;
    color: rgb(255, 255, 255);
    background-color: #b63a5e;
}

.go2CartBox {
    border-radius: 8px;
    background-color: darkolivegreen;
    padding: 22px;
    margin-bottom:20px;
}

.go2CartBox p {
    color: white;
    margin:0;
}

.shop-label {
    margin: 5px 5px 11px 0;
    color: white;
    font-weight: bold;
    font-size: 15px !important;
    background-color: red;
    padding: 7px;
    width: 51px;
    border-radius: 5px;
}

.shop-label-small {
    margin: 5px 5px 11px 0;
    color: white;
    font-weight: bold;
    font-size: 11px !important;
    background-color: red;
    padding: 4px;
    width: 51px;
    border-radius: 5px;
}

.back-to-top {
    background: darkgray;
    position: fixed;
    border-radius: 50px;
    bottom: 83px;
    right: 11px;
    padding: 1em;
    color: black !important;
    z-index: 1000;
    width: 45px;
    height: 45px;
    text-align: center;
    padding-bottom: 35px;
    opacity: 0.75;
}

.back-to-top:hover a {
    color:white !important;
}

.back-to-top:hover a:active {
    color:white !important;
}

.checkbox_component {
    padding-top:20px; text-align: center;
}
.checkbox_component .checksymbol {
    margin: 0 auto; font-weight:bold; background-color: green; height:100px; color: white; font-size:60px;border-radius:500px;width: 100px
}

.component__productOverviewBySpecification .productspezification {
    font-weight: 600;
}

.component__appointmentbox .date {
    font-size: 18px;
    margin-top:25px;
    padding-left: 0;
}

.component__appointmentbox .date:first-child {
    margin-top:0;
}

.component__appointmentbox .slotbox {
    text-align: center;
    border: 1px solid #999;
    padding:5px;
}

.component__appointmentbox .headline {
    font-size: 14px;
    margin-top:10px;
    font-weight: bold;
}

.component__appointmentbox .bookingButton {
    margin:0;
}

.orbit-previous {
    background-color: transparent !important;
    color: #3d3d3d !important;
}

.orbit-next {
    background-color: transparent !important;
    color: #3d3d3d !important;
}

.orbit-container .orbit-next>span {
    border-left-color: #3d3d3d !important;
}

.orbit-container .orbit-prev>span {
    border-right-color: #3d3d3d !important;
}

.menu a {
    color: #3d3d3d !important;
}

.breadcrumbs li:not(:last-child)::after {
    margin: 0 .35rem !important;
    font-size: 12px !important;
}

.breadcrumbs a {
    font-size: 12px !important;
}

.breadcrumbs li {
    font-size: 12px !important;
}

.text-color-white {
    color: #fff !important;
}

.text-color-black {
    color: #3d3d3d !important;
}

.text-center {
    text-align: center !important;
}

[id^="anker_"] {
    scroll-margin-top: 150px; /* Höhe deiner sticky Navigation */
}

/* Grundzustand: unten versteckt */
#sticky-atc{
    position: fixed;
    left: 0; right: 0; bottom: 0;
    transform: translateY(110%);
    transition: transform .25s ease;
    z-index: 999;
    padding-bottom: env(safe-area-inset-bottom); /* iPhone Safe Area */
    background-color: white !important;
    padding: 10px;
}

#sticky-atc a {
    width: 100%;
    margin:0;
    padding: 10px !important;
    line-height: inherit;
}

/* Sichtbar, wenn JS die Klasse setzt */
#sticky-atc.is-visible{
    transform: translateY(0);
}

/* Nur mobil anzeigen (Schwelle ggf. anpassen) */
@media (min-width: 981px){
    #sticky-atc{ display: none !important; }
}

.cartProductBeschreibung p {
    margin-bottom: 3px !important;
}