              /*00000000 0000000000000000000     0000 00000000000    000000     00000000                  
               00    000 00   000   00  000       00   000     0000    000   0000     0000                
              0000     0 0    000    0  000       00   000       000   000  0000       0000               
               000000         000       000       00   000        000  000  000         0000              
                 0000000      000       000       00   000        000  000  000          000              
                    00000     000       000       00   000        000  000  000          000              
              00      000     000       000       00   000       000   000  0000        000               
              0000    000     000       0000    000    000     0000    000   00000    0000                
               000000000     000000       00000000    00000000000    000000    000000000                  
                                      
  0000000000     000000 000000000000  0000000000     00000000000    000000    000000000  000000   000000  
   000   000000    000   0000    000   000   000000    000  00000    000    00000   0000  000       000   
   000       000   000   0000      00  000       000   000    0000   000   000        00  000       000   
   000        000  000   0000    0     000        000  000    000    000  000          0  000       000   
   000        000  000   000000000     000        000  000000000     000  000             0000000000000   
   000        000  000   0000    0     000        000  000  0000     000  000             000       000   
   000       000   000   0000       0  000       000   000   0000    000  0000         0  000       000   
   000     0000    000   0000     000  000     0000    000    0000   000   0000000 00000  000       000   
  00000000000    000000 0000000000000 00000000000    000000    00000000000   000000000   000000   000000  
                                      www.studiodiedrich.com                                          */



/* ##############   PRESETS   ############## */
*,
*:after,
*:before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

:root {
    --sd_c-black: #141414;
    --sd_c-white: #fff;
    --sd_c-white-10: rgba(255, 255, 255, 0.1);
    --sd_c-blue: #0000ff;
    --sd_c-orange: #ECC3B2;
    --sd_c-darkblue: #0000BF;
    --sd_c-darkgrey: #A1A1A1;
    --sd_c-lightgrey: #F0F0F0;
    --sd_c-red: #BF0003;
    --sd_f-size-h1: 88px;
    --sd_f-size-h2: 48px;
    --sd_f-size-h3: 36px;
    --sd_f-size-h4: 24px;
    --sd_f-size-h5: 21px;
    --sd_f-size-p: 16px;
    --sd_f-size-p-s: 12px;
    --sd_f-size-p-l: 21px;
    --sd_f-size-p-xl: 36px;
    --sd_f-size-p-label: 16px;
    --sd_f-size-p-label-l: 17px;
    --sd_f-size-p-label-upc: 14px;
    --sd_f-size-p-label-s-upc: 12px;
    --sd_f-weight-h1: 300;
    --sd_f-weight-h2: 300;
    --sd_f-weight-h3: 300;
    --sd_f-weight-h4: 300;
    --sd_f-weight-h5: 300;
    --sd_f-weight-p: 400;
    --sd_f-weight-p-s: 400;
    --sd_f-weight-p-l: 400;
    --sd_f-weight-p-xl: 400;
    --sd_f-weight-p-label: 400;
    --sd_f-weight-p-label-l: 400;
    --sd_f-weight-p-label-upc: 400;
    --sd_f-weight-p-label-s-upc: 300;
    --sd_f-line-height: 1.4;
    --sd_f-line-height-h1: 1.1;
    --sd_f-line-height-h2: 1.2;
    --sd_f-line-height-h3: 1.2;
    --sd_f-line-height-h4: 1.2;
    --sd_f-line-height-h5: 1.2;
    --sd_f-line-height_label: 1.2;
    --sd_f-line-height-tight: 1;
    --sd_f-letter-spacing-h1: -0.1rem;
    --sd_f-letter-spacing-h2: -0.1rem;
    --sd_f-letter-spacing-h3: normal;
    --sd_f-letter-spacing-h4: normal;
    --sd_f-letter-spacing-h5: normal;
    --sd_f-letter-spacing-p: normal;
    --sd_f-letter-spacing-p-l: normal;
    --sd_f-letter-spacing-p-xl: normal;
    --sd_f-letter-spacing-p-s: normal;
    --sd_f-letter-spacing-p-label: normal;
    --sd_f-letter-spacing-p-label-l: 0.02rem;
    --sd_f-letter-spacing-p-label-upc: 0.05rem;
    --sd_f-letter-spacing-p-label-s-upc: 0.05rem;
    --sd_space-xxs: 4px;
    --sd_space-xs: 8px;
    --sd_space-s: 12px;
    --sd_space-m: 16px;
    --sd_space-l: 24px;
    --sd_space-xl: 32px;
    --sd_space-xxl: 48px;
    --sd_space-xxxl: 64px;
    --sd_space-xxxxl: 96px;
    --sd_space-xxxxxl: 128px;
    --sd_space-xxxxxxl: 160px;
    --sd_block-padding-xl: 120px;
    --sd_block-padding-l: 80px;
    --sd_block-padding-m: 60px;
    --sd_block-padding-s: 40px;
    --sd_app-height: 100vh;
    --sd_sdnav-height: 125px;
    --sd_sdnavm-height: 91px;
    --sd_sdnavm-qm-height: 117px;
    --sd_breadcrumb-height: 44px;
    --sd_max-width: none;
    --sd_transition-normal: all .3s ease;
    --sd_transition-medium: all .5s ease;
    --sd_transition-long: all .8s ease;
    --sd_transition-cubic: all .3s cubic-bezier(.86,.01,.15,.99);
    --sd_transition-image: opacity .3s ease;
    --sd_hover-img-opactiy: .8;
    --sd_border-dark: 0.5px solid #000;
    --sd_border-light: 0.5px solid #fff;
    --sd_border-lightgrey: 1px solid #f0f0f0;
    --sd_border-highlight: 2px solid #0000ff;
    --sd_border-btn-white: 1px solid #fff;
    --sd_border-btn-blue: 1px solid #0000ff;
    --sd_border-btn-darkblue: 1px solid #0000BF;
    --sd_border-btn-darkgrey: 1px solid #A1A1A1;
    --sd_border-btn-dark: 1px solid #141414;
    --sd_border-highlight_transparent: 2px solid transparent;
    --sd_darken: brightness(.6);
    --sd_lighten: brightness(1.1);
}

::selection {
    color: var(--sd_c-white);
    background: var(--sd_c-darkblue);
}

@font-face {
    font-family:'MessinaSansLight';
    src: url('../fonts/MessinaSansWeb-Light.woff2') format('woff2'),
         url('../fonts/MessinaSansWeb-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family:'MessinaSansBook';
    src: url('../fonts/MessinaSansWeb-Book.woff2') format('woff2'),
         url('../fonts/MessinaSansWeb-Book.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family:'MessinaSansSemiBold';
    src: url('../fonts/MessinaSansWeb-SemiBold.woff2') format('woff2'),
         url('../fonts/MessinaSansWeb-SemiBold.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}


html, body {
    min-height: 100%;
}

html {
    font-family: 'MessinaSansLight', Arial, sans-serif;
    background: var(--sd_c-white);
    overflow-x: hidden;
}

body {
    font-family: 'MessinaSansLight', Arial, sans-serif;
    font-weight: 300;
    font-style: normal;
    letter-spacing: var(--sd_f-letter-spacing-p);
    background: var(--sd_c-white);
    font-size: var(--sd_f-size-p);
    width: 100%;
    font-feature-settings:'kern';
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5 {
    font-family: 'MessinaSansLight', Arial, sans-serif;
    font-style: normal;
}

a, p, input, textarea,
.sd_summary-item li {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-weight: normal;
    line-height: var(--sd_f-line-height);
    letter-spacing: var(--sd_f-letter-spacing-p);
    color: var(--sd_c-black);
}

h1 {
    font-size: var(--sd_f-size-h1);
    letter-spacing: var(--sd_f-letter-spacing-h1);
    font-weight: var(--sd_f-weight-h1);
    line-height: var(--sd_f-line-height-h1);
}

h2 {
    font-size: var(--sd_f-size-h2);
    letter-spacing: var(--sd_f-letter-spacing-h2);
    font-weight: var(--sd_f-weight-h2);
    line-height: var(--sd_f-line-height-h2);
}

h3 {
    font-size: var(--sd_f-size-h3);
    letter-spacing: var(--sd_f-letter-spacing-h3);
    font-weight: var(--sd_f-weight-h3);
    line-height: var(--sd_f-line-height-h3);
}

h4 {
    font-size: var(--sd_f-size-h4);
    letter-spacing: var(--sd_f-letter-spacing-h4);
    font-weight: var(--sd_f-weight-h4);
    line-height: var(--sd_f-line-height-h4);
    text-decoration: underline;
}

h5 {
    font-size: var(--sd_f-size-h5);
    letter-spacing: var(--sd_f-letter-spacing-h5);
    font-weight: var(--sd_f-weight-h5);
    line-height: var(--sd_f-line-height-h5);
}

p,
input::placeholder {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-size: var(--sd_f-size-p);
    letter-spacing: var(--sd_f-letter-spacing-p);
    font-weight: var(--sd_f-weight-p);
}

p.p-s,
p.p-s a {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-size: var(--sd_f-size-p-s);
    letter-spacing: var(--sd_f-letter-spacing-p-s);
    font-weight: var(--sd_f-weight-p-s);
}

.p-l,
p.p-l,
p.p-l a,
.p-l p,
.p-l p a,
.sd_text p:not(.button p):not(.module-download p),
.sd_text p a,
.sd_bullets li {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-size: var(--sd_f-size-p-l);
    letter-spacing: var(--sd_f-letter-spacing-p-l);
    font-weight: var(--sd_f-weight-p-l);
}

.sd_text p a,
.sd_accordions p a {
    text-decoration: underline;
    word-break: break-all;
}

.p-xl,
.p-xl a {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-size: var(--sd_f-size-p-xl);
    letter-spacing: var(--sd_f-letter-spacing-p-xl);
    font-weight: var(--sd_f-weight-p-xl);
}

.label,
.label a {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-size: var(--sd_f-size-p-label);
    letter-spacing: var(--sd_f-letter-spacing-p-label);
    line-height: var(--sd_f-line-height_label);
    font-weight: var(--sd_f-weight-p-label);
}

.label-l,
.label-l a,
.button,
.button p,
.sdf-submit-message,
.sdf-submit-message p {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-size: var(--sd_f-size-p-label-l);
    letter-spacing: var(--sd_f-letter-spacing-p-label-l);
    line-height: var(--sd_f-line-height_label);
    font-weight: var(--sd_f-weight-p-label-l);
}

.label-upc,
.label-upc a {
    font-family: 'MessinaSansBook', Arial, sans-serif;
    font-size: var(--sd_f-size-p-label-upc);
    letter-spacing: var(--sd_f-letter-spacing-p-label-upc);
    line-height: var(--sd_f-line-height_label);
    font-weight: var(--sd_f-weight-p-label-upc);
    text-transform: uppercase;
}

.label-s-upc,
.label-s-upc a {
    font-family: 'MessinaSansLight', Arial, sans-serif;
    font-size: var(--sd_f-size-p-label-s-upc);
    letter-spacing: var(--sd_f-letter-spacing-p-label-s-upc);
    line-height: var(--sd_f-line-height_label);
    font-weight: var(--sd_f-weight-p-label-s-upc);
    text-transform: uppercase;
}

a {
    font-size: var(--sd_f-size-p);
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

a,
a p {
    transition: var(--sd_transition-normal);
}

.ta-left {
    text-align: left;
}

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

.ta-right {
    text-align: right;
}

.sd-break {
    hyphens: auto;
    -webkit-hyphens: auto; /* Für ältere Webkit-Browser */
    -ms-hyphens: auto;      /* Für IE */
    word-wrap: break-word;  /* Fallback */
    word-break: break-word; /* Für harte Trennung */
    overflow-wrap: break-word;
}

.text-link {
    display: flex;
    gap: var(--sd_space-s);
}

.text-link:not(.text-link.animate) {
    text-decoration: underline;
}

.text-link.animate p {
    background-color: transparent;
    border: none;
    position: relative;
}

.text-link .svg-wrapper {
    margin: 0;
}

.c-white,
.c-white p {
    color: var(--sd_c-white);
}

.c-black,
.c-black p {
    color: var(--sd_c-black);
}

.c-blue,
.c-blue p {
    color: var(--sd_c-blue);
}

.c-darkblue,
.c-darkblue p {
    color: var(--sd_c-darkblue);
}

.c-darkgrey,
.c-darkgrey p {
    color: var(--sd_c-darkgrey);
}

.c-lightgrey,
.c-lightgrey p {
    color: var(--sd_c-lightgrey);
}

.c-orange,
.c-orange p {
    color: var(--sd_c-orange);
}

.c-red,
.c-red p {
    color: var(--sd_c-red);
}

.hidden {
    display: none !important;
}

strong, b {
    font-family: 'MessinaSansSemiBold', Arial, sans-serif;
    font-weight: normal;
}

img,
.image-link {
    vertical-align: bottom;
    width: 100%;
}

li {
    list-style: none;
}

.sd-form-input,
.sd-form-select {
    width: 100%;
    padding: var(--sd_space-s) 10px;
    background-color: transparent;
    font-size: var(--sd_f-size-p);
    line-height: var(--sd_f-line-height);
    letter-spacing: var(--sd_f-letter-spacing-p);
}

.sd-form-input,
.sd-form-select,
.sd-upload-area.uploaded,
.sd-form-input:focus,
.sd-form-select:focus {
    border-left: var(--sd_border-dark);
    border-bottom: var(--sd_border-dark);
    border-top: none;
    border-right: none;
    outline: none;
}

.sd-form-select-wrapper {
    width: 100%;
    position: relative;
}

.sd-form-select {
    position: relative;
    cursor: pointer;
    padding: 0;
}

.sd-form-select-trigger {
    user-select: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--sd_space-s) 10px;
}

.sd-form-select-trigger svg {
    transition: var(--sd_transition-normal);
}

.sd-form-select.open .sd-form-select-trigger svg {
    transform: rotate(180deg);
}

.custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--sd_c-lightgrey);
    border-left: var(--sd_border-dark);
    border-bottom: var(--sd_border-dark);
    display: none;
    z-index: 5;
    transform: translateX(-.5px); /* fix position due to .5 border */
}

.custom-option {
    padding: var(--sd_space-s) 10px;
    border-top: var(--sd_border-dark);
    cursor: pointer;
}

.custom-option {
    transition: var(--sd_transition-normal);
}

.custom-option:last-child {
    border-bottom: none;
}

.custom-option:hover {
    background-color: var(--sd_c-black);
}

.custom-option:hover {
    color: var(--sd_c-white);
}

.sd-form-select.open .custom-options {
    display: block;
}

.sd-form-input.hidden {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    height: 0;
    width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.sdf-submit-message.success {
    background: #e8f5e9;
    padding: var(--sd_space-s) var(--sd_space-l);
    border: 1px solid #388e3c;
}

.sdf-submit-message.error {
    background: #ffebee;
    padding: var(--sd_space-s) var(--sd_space-l);
    border: 1px solid #d32f2f;
}

input,
textarea {
    border-radius: 0px !important;
}

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

input[type="checkbox"]:not(.mobile-checkbox) {
    appearance: none;
    width: 100%;
    max-width: 15px;
    height: 15px;
    border: var(--sd_border-btn-dark);
    display: inline-block;
    position: relative;
    cursor: pointer;
}

input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 17px;
    height: 17px;
    transform: translate(-50%, -50%);
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter"><path d="M18 6L6 18M6 6l12 12"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

input[type="checkbox"]:focus {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}

input[type="checkbox"]:focus-visible {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}

.sdf-checkbox-field label {
    display: flex;
    gap: var(--sd_space-m);
}

.sdf-checkbox-field input[type="checkbox"] {
    margin-top: 3px;
}

.sdf-checkbox-multi {
    width: 100%;
}

.sdf-checkbox-multi label {
    display: inline;
    margin-right: var(--sd_space-l);
}

.sdf-checkbox-multi input[type="checkbox"] {
    margin-right: var(--sd_space-m);
    margin-top: 0px;
    transform: translateY(2px);
}

.sd-upload-wrapper {
    width: 100%;
}

.sd-upload-input {
  opacity: 0;
  position: absolute;
  width: 0.1px;
  height: 0.1px;
  z-index: -1;
  pointer-events: none;
}

.sd-upload-area {
  border: 1px dashed var(--sd_c-darkgrey);
  background-color: var(--sd_c-white);
  padding: var(--sd_space-xxl);
  text-align: center;
  cursor: pointer;
  transition: var(--sd_transition-normal);
  position: relative;
}

.sd-upload-area.dragover {
  background-color: var(--sd_c-blue);
}

.sd-upload-area.dragover .upload-placeholder {
    color: var(--sd_c-white);
}

.sd-upload-area.uploaded {
    padding: var(--sd_space-s) 10px;
    background-color: transparent;
}

.upload-file-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.upload-file-info.hidden {
  display: none;
}

.upload-placeholder {
  transition: var(--sd_transition-normal);
  margin: 0;
}

.file-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 80%;
}

.upload-remove-btn {
  background: none;
  border: none;
  cursor: pointer;
  margin-left: var(--sd_space-l);
  padding: 0;
  display: flex;
  align-items: center;
}

.upload-remove-btn svg {
  width: var(--sd_space-l);
  height: var(--sd_space-l);
}

.button {
    font-family: 'MessinaSansLight', Arial, sans-serif;
    padding: var(--sd_space-s) var(--sd_space-l);
    border: var(--sd_border-btn-blue);
    transition: var(--sd_transition-normal);
    background-color: var(--sd_c-white-10);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.button.secondary,
.button.tertiary {
    padding: var(--sd_space-s) 0;
    border: none;
    transition: var(--sd_transition-normal);
    background-color: transparent;
}

.button p {
    color: var(--sd_c-blue);
    transition: var(--sd_transition-normal);
}

.button.disabled {
    border: var(--sd_border-btn-darkgrey);
    cursor: not-allowed;
    pointer-events: none;
}

.button.disabled p {
    color: var(--sd_c-darkgrey);
}

.svg-wrapper {
    display: flex;
    align-self: center;
}

.svg-wrapper,
.svg-wrapper svg {
    transition: var(--sd_transition-cubic);
}

a .svg-wrapper:not(.text-link .svg-wrapper),
.button .svg-wrapper:not(.text-link .svg-wrapper) {
    position: relative;
    margin-left: var(--sd_space-s);
    transform: translateX(0px);
}

a .svg-wrapper .sd-svg-highlight,
.button .svg-wrapper .sd-svg-white,
.button .svg-wrapper .sd-svg-darkgrey {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
}

.button.disabled .sd-svg-darkgrey {
    opacity: 1;
}

.is-dark .button:not(.disabled),
.button.light:not(.disabled) {
    border: var(--sd_border-btn-white);
}

.button.dark:not(.disabled):not(.secondary):not(.tertiary) {
    border: var(--sd_border-btn-dark);
}

.is-dark .button:not(.disabled) p,
.button.light:not(.disabled) p {
    color: var(--sd_c-white);
}

.button.dark:not(.disabled) p {
    color: var(--sd_c-black);
}

.button.secondary.light:not(.disabled) .sd-svg-white {
    opacity: 1;
}

.is-dark .button:not(.disabled) .svg-wrapper .sd-svg-white,
.button.light:not(.disabled) .svg-wrapper .sd-svg-white {
    opacity: 1;
}

.button.secondary.light,
.button.tertiary.light,
.sdfb_contact a,
a.text-link.light {
    color: var(--sd_c-white);
    background-color: transparent;
    border: none;
    position: relative;
}

.button.tertiary .svg-wrapper {
    display: none;
}

.button.tertiary p {
    position: relative;
}

.button.tertiary p::after,
.sdfb_contact a::after,
a.text-link.animate p::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: var(--sd_transition-cubic);
}

.filter-button {
    padding: var(--sd_space-s);
}

.filter-button p {
    text-transform: uppercase;
    font-size: var(--sd_f-size-p-label-upc);
}

.filter-button .svg-wrapper {
    display: none;
    margin-left: var(--sd_space-xs);
}

.filter-button.pressed {
    background-color: var(--sd_c-blue);
}

.filter-button.pressed p {
    color: var(--sd_c-white);
}

.filter-button.pressed .svg-wrapper {
    display: flex;
}

@media only screen and (min-width: 1100px) {

    a:hover:not(.sdfb_contact a):not(.button):not(.button.tertiary.light):not(a.text-link.animate):not(a.text-link.light),
    a:hover p:not(.button p):not(a.text-link.animate p):not(a.text-link.light p) {
        color: var(--sd_c-blue);
    }

    a.image-link:hover {
        opacity: var(--sd_hover-img-opactiy);
    }

    .button:hover:not(.disabled):not(.secondary):not(.tertiary) {
        background-color: var(--sd_c-blue);
    }

    .button:hover:not(.disabled):not(.secondary):not(.tertiary) p {
        color: var(--sd_c-white);
    }
    
    a:hover .svg-wrapper:not(.accordion-svg):not(.no-t):not(.text-link .svg-wrapper):not(.load-more-button .svg-wrapper),
    button.button:hover .svg-wrapper:not(.accordion-svg):not(.no-t):not(.text-link .svg-wrapper):not(.load-more-button .svg-wrapper):not(.filter-button .svg-wrapper) {
        transform: translateX(10px);
    }
    
    a:hover .svg-wrapper:not(.accordion-svg) .sd-svg-highlight,
    .button:hover:not(.disabled):not(.secondary) .svg-wrapper .sd-svg-white {
        opacity: 1;
    }

    .button:active:not(.disabled):not(.secondary):not(.tertiary) p,
    .button:focus:not(.disabled):not(.secondary):not(.tertiary) p {
        color: var(--sd_c-white);
    }

    .button:active:not(.disabled):not(.secondary):not(.tertiary) .svg-wrapper .sd-svg-white,
    .button:focus:not(.disabled):not(.secondary):not(.tertiary) .svg-wrapper .sd-svg-white {
        opacity: 1;
    }

    .is-dark .button:hover:not(.disabled):not(.secondary):not(.tertiary),
    .button.light:hover:not(.disabled):not(.secondary):not(.tertiary),
    .is-dark .button:active:not(.disabled):not(.secondary):not(.tertiary),
    .button.light:active:not(.disabled):not(.secondary):not(.tertiary),
    .is-dark .button:focus:not(.disabled):not(.secondary):not(.tertiary),
    .button.light:focus:not(.disabled):not(.secondary):not(.tertiary) {
        border: var(--sd_border-btn-white);
        background-color: var(--sd_c-white);
    }

    .button.dark:not(.disabled):hover:not(.disabled):not(.secondary):not(.tertiary) {
        background-color: var(--sd_c-black);
    }

    .is-dark .button:hover:not(.disabled):not(.secondary):not(.tertiary) p,
    .button.light:hover:not(.disabled):not(.secondary):not(.tertiary) p {
        color: var(--sd_c-blue);
    }

    .is-dark .button:active:not(.disabled):not(.secondary):not(.tertiary) p,
    .button.light:active:not(.disabled):not(.secondary):not(.tertiary) p,
    .is-dark .button:focus:not(.disabled):not(.secondary):not(.tertiary) p,
    .button.light:focus:not(.disabled):not(.secondary):not(.tertiary) p {
        color: var(--sd_c-darkblue);
    }

    .button.dark:not(.disabled):hover:not(.disabled):not(.secondary):not(.tertiary) p {
        color: var(--sd_c-white);
    }

    .is-dark .button:hover:not(.disabled):not(.secondary) .svg-wrapper .sd-svg-white,
    .button.light:hover:not(.disabled):not(.secondary) .svg-wrapper .sd-svg-white,
    .is-dark .button:active:not(.disabled):not(.secondary) .svg-wrapper .sd-svg-white,
    .button.light:active:not(.disabled):not(.secondary) .svg-wrapper .sd-svg-white,
    .is-dark .button:focus:not(.disabled):not(.secondary) .svg-wrapper .sd-svg-white,
    .button.light:focus:not(.disabled):not(.secondary) .svg-wrapper .sd-svg-white {
        opacity: 0;
    }

    .button.tertiary.light:hover:not(.disabled) p::after,
    .sdfb_contact a:hover::after,
    a.text-link.animate:hover p::after,
    a.text-link.light:hover p::after {
        transform: scaleX(1);
    }
}

.button:active:not(.disabled):not(.secondary):not(.tertiary),
.button:focus:not(.disabled):not(.secondary):not(.tertiary) {
    background-color: var(--sd_c-darkblue);
    border: var(--sd_border-btn-darkblue);
}

.button.secondary:active:not(.disabled):not(.light):not(.dark) p,
.button.secondary:focus:not(.disabled):not(.light):not(.dark) p,
.button.tertiary:active:not(.disabled):not(.light):not(.dark) p,
.button.tertiary:focus:not(.disabled):not(.light):not(.dark) p {
    color: var(--sd_c-darkblue);
}

.button.secondary.disabled,
.button.tertiary.disabled {
    border: none;
}

.button.tertiary:active:not(.disabled) p::after,
.button.tertiary:focus:not(.disabled) p::after {
    transform: scaleX(1);
}

.filter-darken {
    filter: var(--sd_darken);
    -webkit-filter: var(--sd_darken);
}

.filter-lighten {
    filter: var(--sd_lighten);
    -webkit-filter: var(--sd_lighten);
}

.mobile-only {
    display: none !important;
}

body.scroll-lock {
    overflow: hidden;
}

.hor-divider {
    border-top: var(--sd_border-dark);
    width: 100%;
}

.hor-divider:not(.sd-form .hor-divider) {
    margin: var(--sd_space-s) 0;
}

.no-padding {
    padding: 0 !important;
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
}

.mw_1-3 {
    width: 100%;
    max-width: 33%;
}

.mw_2-3 {
    width: 100%;
    max-width: 66%;
}

.mw_1-4 {
    width: 100%;
    max-width: 25%;
}

.mw_2-4 {
    width: 100%;
    max-width: 50%;
}

.mw_3-4 {
    width: 100%;
    max-width: 75%;
}

.mw_90 {
    width: 100%;
    max-width: 90%;
}

/* ##############   PRESETS   ############## */


/* ##############   MODULES   ############## */

.module-download {
    background-color: var(--sd_c-lightgrey);
    padding: var(--sd_space-l);
    display: flex;
}

.module-download.big {
    padding: 0;
    background-color: var(--sd_c-black);
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}

.module-download .md-left,
.module-download .md-right {
    width: 50%;
}

.md-left,
.md-right {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-m);
}

.module-download.big .md-left {
    width: 100%;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    max-width: 400px;
    padding: var(--sd_space-xl);
}

.module-download.big .md-right {
    width: 100%;
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    flex-direction: row-reverse;
    justify-content: start;
    padding: var(--sd_space-xl);
}

.module-download.big .md-img {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}

.module-download.big .md-img img {
    height: 100%;
    object-fit: cover;
}

.module-download.big .md-left h4, 
.module-download.big .md-left p {
    color: var(--sd_c-white);
}

.md-right {
    justify-content: space-between;
    align-items: flex-end;
}

.mdl-info {
    margin-top: var(--sd_space-xs);
}

.module-download.big .mdl-info {
    margin-top: var(--sd_space-m);
}

/* ##############   MODULES   ############## */


/* ##############   GENERAL   ############## */

.main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    min-height: 100vh;
}

/* ------[ SD NAV ]------ */

.sd_nav {
    width: 100%;
    position: fixed;
    top: 0;
    padding: var(--sd_space-xl) var(--sd_space-xxl) 0 var(--sd_space-xxl);
    background-color: transparent;
    z-index: 9999;
    transition: var(--sd_transition-normal);
}

.sd_nav_inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    gap: var(--sd_space-s);
    transition: var(--sd_transition-normal);
    border-bottom: var(--sd_border-light);
}

.sd_nav .sd_nav_contents {
    height: 0px;
    min-height: 0px;
    transition: var(--sd_transition-normal);
    overflow: hidden;
}

.sd_nav .sd_nav_contents.active {
    min-height: 200px;
    height: auto;
    max-height: calc(100vh - var(--sd_sdnav-height) - 32px);
    overflow-y: scroll;
}

/*
.sdnc-l_top {
    margin-bottom: 20px;
    display: none;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--sd_space-l);
}

.sdnc-l_top-links {
    display: flex;
    flex-direction: column;
}

.sdnc-l_sub-links,
.sdnc-l_subsub-links {
    padding-left: var(--sd_space-l);
    display: none;
    border-left: .5px solid var(--sd_c-darkgrey);
}

.sdnc-l_sub-links.active {
    display: flex;
    flex-direction: column;
}

.sdnc-l_subsub-links.active {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.sdnc-l_tl_head {
    margin-bottom: calc(var(--sd_space-s) + var(--sd_space-xs));
    display: flex;
    align-items: center;
}

.sdnc-l_subsub-links .sdnc-l_tl_head {
    grid-column: span 2;
}

.sdnc-l_tl-item {
    padding: var(--sd_space-s) 0;
    display: flex;
    align-items: center;
}

.sdnc-l_tl-item p {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
}
*/

.sd_nav-left {
    position: relative;
}

.nav-logo,
.nav-logo-d {
    max-width: 160px;
    width: 100%;
}

.nav-logo-d {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: var(--sd_transition-normal);
}

.sd_nav-right {
    display: flex;
    align-items: end;
    width: 100%;
}

.sd_nav-right nav {
    width: 100%;
}

.sd_nav-links,
.sd_nav-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    width: 100%;
    gap: var(--sd_space-l);
}

.sd_nl-item {
    padding-top: var(--sd_space-m);
    position: relative;
}

.sd_nav-links .sd_nl-item:nth-child(4)::after,
.sd_nav-links .sd_nl-item:nth-child(5)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 0.5px;
    background-color: var(--sd_c-white);
    transition: var(--sd_transition-normal);
}

.sd_nl-item.separated {
    transition: var(--sd_transition-normal);
}

.sd_nav-links {
    position: relative;
}

.sd_nav-links a {
    display: block;
    transition: var(--sd_transition-normal);
    padding-bottom: var(--sd_space-m);
}

.sd_nav-links p {
    transition: var(--sd_transition-normal);
    color: var(--sd_c-white);
}

.nav-underline {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    background-color: var(--sd_c-blue);
    transition: var(--sd_transition-normal);
    opacity: 0;
    pointer-events: none;
    will-change: transform, width, opacity;
    z-index: 10;
}

.sd_nav.open {
    box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.05);
}

.sd_nav.open,
.sd_nav.scroll {
    background-color: var(--sd_c-white);
}

.sd_nav.open .sd_nav_inner,
.sd_nav.scroll .sd_nav_inner,
.main.alternative-theme .sd_nav_inner,
.main.alternative-theme .sd_nav_inner-m {
    border-bottom: var(--sd_border-dark);
}

.sd_nav.open .sd_nav-links .sd_nl-item:nth-child(4)::after,
.sd_nav.open .sd_nav-links .sd_nl-item:nth-child(5)::after,
.sd_nav.scroll .sd_nav-links .sd_nl-item:nth-child(4)::after,
.sd_nav.scroll .sd_nav-links .sd_nl-item:nth-child(5)::after,
.alternative-theme .sd_nav-links .sd_nl-item:nth-child(4)::after,
.alternative-theme .sd_nav-links .sd_nl-item:nth-child(5)::after {
    background-color: var(--sd_c-black);
}

.sd_nav.open .sd_nav-left .nav-logo-d,
.sd_nav.scroll .sd_nav-left .nav-logo-d,
.sd_nav.scroll .sd_nav-m-left .nav-logo-d,
.main.alternative-theme .sd_nav-left .nav-logo-d,
.main.alternative-theme .sd_nav-m-left .nav-logo-d {
    opacity: 1;
}

.sd_nav.open .sd_nav-links p,
.sd_nav.scroll .sd_nav-links p,
.main.alternative-theme .sd_nav-links p {
    color: var(--sd_c-black);
}

.sd_nav.scroll .mobile-burger .bar,
.main.alternative-theme .mobile-burger .bar {
    background-color: var(--sd_c-black)
}


.sd_nav-list {
    padding: var(--sd_space-l) 0 var(--sd_space-xxl) 0;
    height: 100%;
    opacity: 0;
    transition: var(--sd_transition-normal);
}

.sd_nav_contents.active .sd_nav-list {
    opacity: 1;
}

.sd_nav-list a {
    display: flex;
}

.sd_nav-list-subitem,
.sd_nav-list-subsubitem,
.sd_nav-list-subsubsubitem  {
    margin-left: 0px;
    display: flex;
    cursor: pointer;
    padding: var(--sd_space-s) 0;
}

.sd_nav-list-subsubitem,
.sd_nav-list-subsubsubitem  {
    padding: var(--sd_space-xs) 0;
}

.sd_nav-list-item {
    flex-direction: column;
}

.sd_nav-list-item.sd_nav-accordion,
.sd_nav-list-subitem.sd_nav-sub-accordion,
.sd_nav-list-subsubitem.sd_nav-subsub-accordion {
    flex-direction: column;
    padding: 0;
}

.sd_nav-list-subitem.sd_nav-sub-accordion .sd_nav-sub-acc-header,
.sd_nav-list-subsubitem.sd_nav-subsub-accordion .sd_nav-subsub-acc-header {
    padding: var(--sd_space-s) 0;
}

.sd_nav-list-subitem.sd_nav-sub-accordion .sd_nav-sub-acc-header p,
.sd_nav-list-subsubitem.sd_nav-subsub-accordion .sd_nav-subsub-acc-header p {
    transition: var(--sd_transition-normal);
}

.sd_nav-list-subitem.sd_nav-sub-accordion .sd_nav-sub-acc-header:hover p,
.sd_nav-list-subsubitem.sd_nav-subsub-accordion .sd_nav-subsub-acc-header:hover p {
    color: var(--sd_c-blue);
}

.sd_nav-accordion.open .accordion-svg,
.sd_nav-sub-accordion.open .sub-accordion-svg,
.sd_nav-subsub-accordion.open .subsub-accordion-svg {
    transform: rotate(180deg);
}

.sd_nav-sub-accordion.open,
.sd_nav-subsub-accordion.open,
.sd_nav-sub-accordion.open .sd_nav-sub-acc-header,
.sd_nav-subsub-accordion.open .sd_nav-subsub-acc-header {
    border-bottom: var(--sd_border-btn-dark);
}

.sd_nav-sub-accordion.open .sd_nav-sub-acc-header p,
.sd_nav-subsub-accordion.open .sd_nav-subsub-acc-header p {
    font-family: 'MessinaSansSemiBold', sans-serif;
}

.sd_nav-sub-acc-header,
.sd_nav-subsub-acc-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.sd_nav-acc-subsubmenu,
.sd_nav-acc-subsubsubmenu {
    max-height: 0;
    overflow: hidden;
    transition: var(--sd_transition-normal);
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-l);
    opacity: 0;
}

.sd_nav-acc-subsubsubmenu {
    overflow-y: auto;
    mask-image: linear-gradient(white calc(100% - 70px), transparent 100%);
    mask-mode: match-source;
    -webkit-mask-image: linear-gradient(white calc(100% - 70px), transparent 100%);
    -webkit-mask-mode: match-source;
}

.sd_nav-subsub-accordion.open .sd_nav-acc-subsubsubmenu {
    padding-bottom: 30px;
}

.sd_nav-sub-accordion.open .sd_nav-acc-subsubmenu,
.sd_nav-subsub-accordion.open .sd_nav-acc-subsubsubmenu {
    margin: var(--sd_space-s) 0;
    opacity: 1;
}



.mobile-menu,
.mobile-burger,
.mobile-checkbox {
    display: none;
}

.sd_quick-menu {
    position: sticky;
    display: flex;
    bottom: 0;
    right: 0;
    align-self: end;
    background-color: var(--sd_c-white);
    z-index: 99;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.09);
}

.sd_quick-menu.open {
    z-index: 9999;
}

.sd_nav-m-quick-menu-list.desktop {
    display: flex;
    gap: var(--sd_space-xxl);
    padding: var(--sd_space-m) var(--sd_space-l);
}

.sd_quick-menu_contact {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--sd_space-s);
    background-color: var(--sd_c-blue);
    cursor: pointer;
}

.sd_quick-menu_c-overlay {
    position: fixed;
    right: 0;
    bottom: 0;
    display: flex;
    padding: var(--sd_space-xxl) var(--sd_space-xxl) var(--sd_space-xxxxxl) var(--sd_space-xxl);
    transform: translateX(100%);
    transition: var(--sd_transition-normal);
    background-color: var(--sd_c-white);
    max-height: 100%;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
}

.sd_quick-menu_c-overlay.open {
    transform: translateX(0);
}

.sd_quick-menu_co-inner {
    overflow-y: scroll;
}

.sd_quick-menu_coi-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--sd_space-xxxxl);
    background-color: var(--sd_c-white);
}

.sd_quick-menu_coi-body {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sd_space-xxxxl) var(--sd_space-xl);
}

.sd_quick-menu_coib-item {
    max-width: 380px;
    display: flex;
    flex-direction: column;
    align-items: start;
}

.sd_quick-menu_coib-item p {
    word-break: break-word;
}

.sd_quick-menu_coib-item .button {
    margin-top: var(--sd_space-l);
}

.sd_quick-menu_coib-item .label-upc {
    margin-bottom: var(--sd_space-s);
}

.sd_quick-menu_coi-bottom,
.sd_quick-menu_co-close-m {
    display: none;
}

.sd_quick-menu_co-close {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--sd_space-s);
    background-color: var(--sd_c-black);
    cursor: pointer;
}

/* ---^--- SD NAV ---^--- */

/* ##############   GENERAL   ############## */

/* ##############   COOKIE   ############## */

#cookie-banner {
    width: calc(100% - 20px);
    border: var(--sd_border);
    position: fixed;
    bottom: 10px;
    left: 10px;
    right: 10px;
    background: var(--sd_c-white);
    padding: var(--sd_space-m);
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-m);
    z-index: 1000;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.cookie-buttons {
    display: flex;
    gap: var(--sd_space-l);
    align-items: center;
    align-self: end;
}

.cookie-buttons .text-link {
    cursor: pointer;
}
  
/* ##############   COOKIE   ############## */








/* ##############   BLOCKS   ############## */

/* ------[ DEFAULT ]------ */

.block {
    width: 100%;
    display: flex;
    justify-content: center;
    transition: var(--sd_transition-medium);
}

.block:not(.block-type-order-form-block) {
    transform: translateY(0px);
    opacity: 0;
}

.block:not(.block-type-order-form-block).is-visible {
    opacity: 1;
    transform: translateY(0);
    transform: translateX(0);
}

.block-inner {
    width: 100%;
}

.lazy-image {
    width: 100%;
    height: auto;
    filter: blur(5px);
    transition: var(--sd_transition-medium);
}

.lazy-image.loaded {
    filter: blur(0);
}

.lazy-image.filter-darken {
    filter: blur(5px) var(--sd_darken);
    -webkit-filter: blur(5px) var(--sd_darken);
}

.lazy-image.filter-lighten {
    filter: blur(5px) var(--sd_lighten);
    -webkit-filter: blur(5px) var(--sd_lighten);
}

.lazy-image.loaded.filter-darken {
    filter: blur(0) var(--sd_darken);
    -webkit-filter: blur(0) var(--sd_darken);
}

.lazy-image.loaded.filter-lighten {
    filter: blur(0) var(--sd_lighten);
    -webkit-filter: blur(0) var(--sd_lighten);
}

.hor-padding {
    padding-left: var(--sd_space-xxl);
    padding-right: var(--sd_space-xxl);
}

.ver-padding-xs {
    padding-top: var(--sd_space-xl);
    padding-bottom: var(--sd_space-xl);
}

.ver-padding-s {
    padding-top: var(--sd_space-xxl);
    padding-bottom: var(--sd_space-xxl);
}

.ver-padding {
    padding-top: var(--sd_block-padding-m);
    padding-bottom: var(--sd_block-padding-m);
}

.top-padding {
    padding-top: var(--sd_block-padding-m);
}

.bottom-padding {
    padding-bottom: var(--sd_block-padding-m);
}

/* ---^--- DEFAULT ---^--- */


/* ------[ HERO-BLOCK ]------ */

.sd_hero-block {
    height: 100vh;
    min-height: 800px;
}

.sd_hero-block.subpage {
    height: 100%;
    min-height: 400px;
    height: 70vh;
}

.hb-video,
.hb-video video,
.hb-image,
.hb-image img {
    width: 100%;
    height: 100%;
}

.hb-video,
.hb-image {
    position: relative;
    background-color: var(--sd_c-darkgrey);
}

.hb-video video,
.hb-image img {
    object-fit: cover;
}

.hbv-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding-top: var(--sd_space-xxl);
    padding-bottom: var(--sd_space-l);
}

.page-home .hbv-inner {
    padding-bottom: calc(var(--sd_space-xxxxl) + var(--sd_breadcrumb-height) + var(--sd_space-xxs));
}

.hbv-inner h1 {
    color: var(--sd_c-white);
    hyphens: auto;
}

.hb-color {
    background-color: var(--sd_c-blue);
    width: 100%;
    height: 100%;
}

.main.alternative-theme .hb-color {
    background-color: var(--sd_c-orange);
}

.main.alternative-theme .hbv-inner h1 {
    color: var(--sd_c-black);
}

.hb-image {
    background-color: var(--sd_c-darkgrey);
    width: 100%;
    height: 100%;
}

.page-error .hb-image {
    background-color: var(--sd_c-red);
}

.hb-color .hbv-inner {
    position: relative
}

.sd-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0 var(--sd_space-xs);
    flex-wrap: wrap;
    margin-top: var(--sd_space-xxxxl);
}

.sd-breadcrumb .sd-bc-home,
.sd-breadcrumb .sd-bc-chevron {
    width: var(--sd_space-l);
    height: var(--sd_space-l);
    padding: var(--sd_space-xxs);
    display: flex;
    justify-content: center;
    align-items: center;
}

.sd-breadcrumb .sd-bc-home a {
    display: flex;
}

.sd-breadcrumb .sd-svg-home-b,
.sd-breadcrumb .sd-svg-chevron-b {
    display: none;
}

.main.alternative-theme .sd-breadcrumb .sd-svg-home-w,
.main.alternative-theme .sd-breadcrumb .sd-svg-chevron-w {
    display: none;
}

.main.alternative-theme .sd-breadcrumb .sd-svg-home-b,
.main.alternative-theme .sd-breadcrumb .sd-svg-chevron-b {
    display: block;
}

.sd-breadcrumb p {
    color: var(--sd_c-white);
}

.main.alternative-theme .sd-breadcrumb p {
    color: var(--sd_c-black);
}

.sd-breadcrumb .page-current {
    padding: var(--sd_space-s) 0;
}

/* ---^--- HERO-BLOCK ---^--- */


/* ------[ INTRO-TEXT-BLOCK ]------ */

.sd_intro-text-block {
    padding-top: var(--sd_block-padding-xl);
    padding-bottom: var(--sd_block-padding-xl);
}

.page-home .sd_intro-text-block {
    padding-bottom: var(--sd_block-padding-m);
}

/* ---^--- INTRO-TEXT-BLOCK ---^--- */

/* ------[ INTRO-TEXT-VISUAL-BLOCK ]------ */

.sd_intro-text-visual-block {
    display: flex;
    align-items: end;
}

.itvb-visual,
.itvb-text {
    width: 50%;
}

.itvb-text {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: var(--sd_space-xl);
}

.itvb-visual img {
    aspect-ratio: 1/1;
    object-fit: cover;
}

/* ---^--- INTRO-TEXT-VISUAL-BLOCK ---^--- */

/* ------[ TEXT-BLOCK ]------ */

.sd_text-block .tb-inner,
.sd_text-block .tb-inner .sd_text {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
}

.tbi-btns {
    display: flex;
    gap: var(--sd_space-l);
}


.sd_summaries {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--sd_space-xxxxl) - var(--sd_space-m)) var(--sd_space-xxxxxl);
    align-items: start;
}

.sd_summary-item {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-m);
    padding-left: var(--sd_space-l);
    border-left: var(--sd_border-dark);
}


.sd_bullets {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
}

.sd_bullets ul,
.sd_summary-item ul {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-l);
    padding-left: 1.9rem;
}

.sd_summary-item ul {
    padding-left: 1.1rem;
    gap: var(--sd_space-xs);
}

.sd_bullets li,
.sd_summary-item li {
    list-style-position: outside;
    position: relative;
}

.sd_bullets li::before,
.sd_summary-item li::before {
    content: "";
    position: absolute;
    left: -1.1rem;
    top: 13px;
    width: 3px;
    height: 3px;
    background-color: black;
}

.tbb-btns {
    display: flex;
    gap: var(--sd_space-l);
    margin-top: var(--sd_space-m);
}

.sda-list-item {
    flex-direction: column;
    padding: 0;
    border-top: var(--sd_border-dark);
}

.sda-list-item:last-child {
    border-bottom: var(--sd_border-dark);
}

.sdali-acc-header {
    padding: var(--sd_space-m) 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
}

.sda-list-item .accordion-icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sda-list-item .accordion-icon .ai-line {
    width: 18px;
    height: 1px;
    background-color: var(--sd_c-black);
    display: block;
    transition: var(--sd_transition-cubic);
}

.sda-list-item .accordion-icon .ai-line:nth-child(2) {
    position: absolute;
    transform: rotate(90deg);
}

.sda-list-item.open .accordion-icon .ai-line:nth-child(1) {
    transform: rotate(0deg);
}

.sda-list-item.open .accordion-icon .ai-line:nth-child(2) {
    transform: rotate(0deg);
}

.sdali-acc-body {
    max-height: 0;
    overflow: hidden;
    transition: var(--sd_transition-cubic);
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-m);
    opacity: 0;
}

.sdali-acc-body img {
    margin: var(--sd_space-m) 0;
}

.sda-list-item.open .sdali-acc-body {
    margin-bottom: var(--sd_space-m);
    opacity: 1;
}

/* ---^--- TEXT-BLOCK ---^--- */

/* ------[ IMG-BLOCK ]------ */

.sd_img-block img {
    object-fit: cover;
}

.ib-visuals {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sd_space-xl);
}

/* ---^--- IMG-BLOCK ---^--- */

/* ------[ GALLERY-BLOCK ]------ */

.sd_gallery-block {
    background-color: var(--sd_c-black);
}

.sd_gallery-block h2,
.sd_gallery-block p {
    color: var(--sd_c-white);
}

.sdgb-inner {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxxl);
}

.sdgbi-visual {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: var(--sd_space-l);
}

.sd_gallery-block img {
    object-fit: cover;
}

.sdgb-head {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-l);
}

.sdgbi-visual-side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: var(--sd_space-xl);
}

.side-image {
    transition: var(--sd_transition-image);
}

.side-image:not(.sdgbi-visual-side.single-caption .side-image):not(.side-image.is-active) {
    opacity: 0;
}

.side-image.is-active {
    opacity: 1;
}

.sdgbi-vs-captions,
.sdgbi-visual-center.mobile-only .gallery-item-caption {
    padding-left: var(--sd_space-m);
    border-left: var(--sd_border-light);
}

.gallery-item-caption {
  opacity: 0;
  transition: opacity 0.3s;
  display: none;
}

.sdgbi-visual-side.single-caption {
    padding-bottom: 0;
}

.sdgbi-visual-side.single-caption .gallery-item-caption,
.gallery-item-caption.is-active {
  display: block;
  opacity: 1;
}

.sdgbi-visual-center {
    overflow: hidden;
}

.gallery-slider {
    width: 100%;
}

.gallery-slider-list {
    padding-bottom: var(--sd_space-xl);
}

.gallery-slider .swiper-pagination {
    top: unset !important;
    bottom: 0;
    left: 25% !important;
    max-width: 23vw;
    transform: translateX(25%);
}

.gallery-slider .swiper-pagination-progressbar {
    background: var(--sd_c-darkgrey) !important;
    height: 2px !important;
}

.gallery-slider .swiper-pagination-progressbar-fill {
    background: var(--sd_c-white) !important;
}

.sdgb-slider-btn {
    display: flex;
}

.sdgb-slider-btn .swiper-button-prev,
.sdgb-slider-btn .swiper-button-next {
    all: unset;
    position: relative;
    cursor: pointer;
    width: var(--sd_space-xxl);
    height: var(--sd_space-xxl);
    display: flex;
    justify-content: center;
    align-items: center;
}

.sdgb-slider-btn .swiper-button-prev svg,
.sdgb-slider-btn .swiper-button-next svg {
    width: var(--sd_space-l);
}

.sdgb-slider-btn .swiper-button-prev svg {
    transform: rotate(180deg);
}

.sdgb-slider-btn .swiper-button-prev::after,
.sdgb-slider-btn .swiper-button-next::after {
    display: none;
}

/* ---^--- GALLERY-BLOCK ---^--- */

/* ------[ TEASER-BLOCK ]------ */

.tbi-teaser,
.tbi-teaser-box {
    display: grid;
    gap: var(--sd_space-l);
}

.tbi-teaser {
    grid-template-columns: 2fr 1fr;
}

.tbi-text,
.tbi-text-inner {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-xl);
}

.tbi-text.blue,
.tbi-text.orange {
    gap: var(--sd_space-l);
}

.tebi-wrapper.mobile { 
    display: none;
}

.tbi-img img {
    object-fit: cover;
}

.tbi-teaser-box {
    grid-template-columns: 2fr 1fr;
}

.tbi-teaser-box .tbi-text {
    padding: var(--sd_space-l) var(--sd_space-m) var(--sd_space-xs) var(--sd_space-m);
}

.tbi-teaser-box .tbi-text.blue {
    background-color: var(--sd_c-blue);
}

.tbi-teaser-box .tbi-text.orange {
    background-color: var(--sd_c-orange);
}

.tbi-teaser-box .tbi-text.blue h3 {
    color: var(--sd_c-white);
}

.tbi-teaser-box.double .tbi-img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sd_space-l);
}

.tbi-teaser-full .tbi-img {
    position: relative;
}

.tbi-teaser-full .tbi-img-tablet,
.tbi-teaser-full .tbi-img-mobile {
    display: none;
}

.tbi-teaser-full .tbi-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    padding: var(--sd_space-xxxl) var(--sd_space-xxl) var(--sd_space-xxl) var(--sd_space-xxl);
}

.tbi-teaser-full .tbi-img.is-dark img {
    filter: var(--sd_darken);
    -webkit-filter: var(--sd_darken);
}

.tbi-teaser-full .tbi-img.is-dark .tbi-text h2,
.tbi-teaser-full .tbi-img.is-dark .tbi-text p {
    color: var(--sd_c-white);
}


.teb-inner.multiple h2 {
    margin-bottom: var(--sd_space-xl);
}

.tebi-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sd_space-xxxl) var(--sd_space-l);
}

.teib-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: start;
    gap: var(--sd_space-l);
    width: 100%;
}

.tbi-img {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
}

.teibi-text {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xs);
}


.teaser-slider.mobile {
    display: none;
    padding-bottom: var(--sd_space-l);
    width: 100%;
}

.teaser-slider.mobile .tebi-list,
.teaser-slider.mobile .ntbi-articles-list {
    gap: var(--sd_space-m);
}

.teaser-slider.mobile .swiper-slide {
    height: auto;
    display: flex;
}

.teaser-slider.mobile .sd_teaser-item-block {
    height: 100%;
}

.teaser-slider.mobile .swiper-pagination {
    top: unset !important;
    bottom: 0;
}

.teaser-slider.mobile .swiper-pagination-progressbar {
    background: var(--sd_c-darkgrey) !important;
    height: 2px !important;
}
.teaser-slider.mobile .swiper-pagination-progressbar-fill {
    background: var(--sd_c-black) !important;
}

/* ---^--- TEASER-BLOCK ---^--- */

/* ------[ NEWS-TEASER-BLOCK ]------ */

.ntbi-articles {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: var(--sd_space-l);
    width: 100%;
}

.ntbi-article {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-l);
    align-items: start;
    justify-content: space-between;
}

.ntbia-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
    align-items: start;
}

.nteb-inner {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxxl);
}

.ntbi-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sd_space-m);
}

.ntbia-text {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xs);
    max-width: 400px;
}

.ntbia-text .label-s-upc {
    margin-bottom: var(--sd_space-xs);
}

.ntbi-articles.mobile {
    display: none;
}

/* ---^--- NEWS-TEASER-BLOCK ---^--- */

/* ------[ CONTACT-BLOCK ]------ */

.sd_contact-block {
    background-color: var(--sd_c-lightgrey);
}

.cb-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sd_space-l);
}

.cbi-item {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-xl);
}

.cb-inner.multiple .cbi-item {
    grid-column: span 1;
}

.cbii-img {
    width: 100%;
}

.cbii-img.mobile {
    display: none;
}

.cbii-text {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-xs);
}

.cbii-text h4 {
    margin-bottom: var(--sd_space-m);
}

/* ---^--- CONTACT-BLOCK ---^--- */

/* ------[ CERTIFICATES-BLOCK ]------ */

.ceb-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sd_space-xxxl) var(--sd_space-l);
}

.cebi-item {
    display: flex;
    flex-direction: column;
    gap: calc(var(--sd_space-xxl) + var(--sd_space-xs));
    border-left: var(--sd_border-dark);
    padding-left: var(--sd_space-s);
    justify-content: space-between;
    align-items: start;
}

.cebi-item img {
    max-height: 150px;
    height: 100%;
    width: auto;
}

/* ---^--- CERTIFICATES-BLOCK ---^--- */

/* ------[ * GROUP / LIST-BLOCKS * ]------ */
/* PRICE-LIST-BLOCK, POSITIONS-LIST-BLOCK, EVENTS-LIST-BLOCK, NEWS-LIST-BLOCK */

.lb-inner {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-xxxxl);
}

.lb-inner h3:not(.lbi-divider h3) {
    margin-bottom: var(--sd_space-xs);
}

.lbi-list,
.lbii-item {
    display: flex;
    flex-direction: column;
    align-items: start;
    width: 100%;
}

.lbi-list {
    transition: var(--sd_transition-normal);
}

.lbi-item {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--sd_space-l);
    border-bottom: var(--sd_border-dark);
    padding: var(--sd_space-l);
}

.lbii-item {
    gap: var(--sd_space-s);
}

.lbi-item:first-child {
    border-top: var(--sd_border-dark);
}

.lbi-item.three {
    grid-template-columns: repeat(3, 1fr);
}

.sd_list-block.positions-list .lbii-item {
    gap: var(--sd_space-xl);
}

.lbi-divider {
    border-bottom: var(--sd_border-dark);
    width: 100%;
    padding: var(--sd_space-xxxl) 0 var(--sd_space-l) 0;
}

.sd_list-block.news-list .lb-inner,
.sd_list-block.events-list .lb-inner {
    align-items: center;
    gap: var(--sd_space-xl);
}

.sd_list-block.news-list .lbi-item {
    padding: var(--sd_space-l) 0;
}

.sd_list-block.news-list .lbii-item {
    gap: var(--sd_space-m);
}

.sd_list-block.news-list .lbii-item .button {
    margin-top: var(--sd_space-m);
}

.news-filter {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-m);
    overflow: hidden;
    width: 100%;
    margin-bottom: var(--sd_space-m);
}

.news-filter-buttons {
    display: flex;
    gap: var(--sd_space-m);
    overflow-x: scroll;
}

.sd_list-block.events-list .lbii-item h5 {
    margin-bottom: var(--sd_space-xxs);
}

.sd_list-block.events-list .lbii-item h4 {
    margin-bottom: var(--sd_space-xl);
}

.sd_list-block.events-list .lbii-item p {
    display: flex;
    align-items: center;
}

.sd_list-block.events-list .lbii-item p svg {
    margin-right: var(--sd_space-s);
}

.lbiii-details {
    display: flex;
    gap: var(--sd_space-s);
}

.lbiiid-text {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xs);
}

.sd_list-block.events-list .lbii-item .button {
    margin-top: calc(var(--sd_space-m) + var(--sd_space-xxs));
}

/* ---^--- * GROUP / LIST-BLOCKS * ---^--- */

/* ------[ TIMELINE-BLOCK ]------ */

.tlbi-list {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxxl);
    border-left: var(--sd_border-lightgrey);
    position: relative;
}

.tlbi-item {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: var(--sd_space-xl);
    padding-left: var(--sd_space-xl);
}

.tlbi-list::before {
    content: "";
    position: absolute;
    left: -1px;
    width: 2px;
    background-color: black;
    transition: top 0.3s ease, height 0.3s ease;
    z-index: 1;
}

.tlbii-text {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxl);
}

.tlbii-text img {
    aspect-ratio: 2 / 1;
    object-fit: cover;
}

/* ---^--- TIMELINE-BLOCK ---^--- */

/* ------[ * GROUP / FORM-BLOCKS * ]------ */
/* EVENT-FORM-BLOCK, */

.block-type-event-form-block {
    overflow-x: hidden;
}

.sd_form-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sd_space-xl);
    background-color: var(--sd_c-lightgrey);
}

.sdfb-side {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl)
}

.sdfb-side h2,
.sdfb-side p {
    max-width: 600px;
}

.sdfb-form {
    padding-top: var(--sd_space-xxxxxl);
}

.sd-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sd_space-l);
}

.sd-form-field {
    grid-column: span 1;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-m);
}

.sd-form-field.sdf-half {
    grid-column: span 1;
}

.sd-form-field.sdf-full,
.sdf-submit-message.sdf-full,
.sd-form .hor-divider {
    grid-column: span 2;
}

.sdf-title {
    padding: var(--sd_space-l) 0;
}

.sdf-consent {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sd_space-m);
}

/* ORDER-FORM-BLOCK, */

.lbi-ol-nav {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sd_space-xxl) var(--sd_space-l);
}

.lbi-on-item {
    padding-left: var(--sd_space-l);
    border-left: var(--sd_border-dark);
}

.lbi-on-item svg {
    margin-left: var(--sd_space-xs);
    margin-bottom: 2px;
}

.lbi-order-list {
    margin-top: var(--sd_space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxl);
    width: 100%;
}

.order-category {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sd_space-l);
    width: 100%;
}

.product-selects {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-l);
}

.order-category .add-product-btn {
    grid-column: 2;
    justify-self: start;
}

.product-select-row {
    display: grid;
    grid-template-columns: 1fr 1fr 36px;
    gap: var(--sd_space-l);
    align-items: end;
}

.edit-category-btn,
.toggle-cart-btn {
  background: none;
  border: none;
  cursor: pointer;
  margin-left: var(--sd_space-m);
  padding: 0;
  display: flex;
  align-items: center;
  transition: var(--sd_transition-normal);
}

.edit-category-btn svg,
.toggle-cart-btn svg {
  width: var(--sd_space-m);
  height: var(--sd_space-m);
}

.edit-category-btn svg {
    margin-top: 3px;
}

.lbi-order-list .upload-remove-btn {
    margin-left: 0;
    margin-bottom: var(--sd_space-s);
}

.floating-cart {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    max-height: 185px;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
    background-color: var(--sd_c-black);
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    padding: var(--sd_space-xl) var(--sd_space-xxl);
    transform: translateY(100%);
    transition: var(--sd_transition-normal);
    z-index: 999;
    color: var(--sd_c-white);
}

.floating-cart.visible {
    transform: translateY(0);
}

.floating-cart.expanded {
    max-height: 50vh;
}

.floating-cart .cart-summary {
    display: flex;
    gap: var(--sd_space-xxxl);
    visibility: visible;
    opacity: 1;
}

.floating-cart .cart-summary-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-left: var(--sd_border-btn-white);
    padding-left: var(--sd_space-m);
}

.floating-cart .cart-summary.inactive,
.floating-cart .cart-items.inactive {
    opacity: 0;
    visibility: hidden;
    width: 0;
    height: 0;
}

.floating-cart .cart-summary,
.floating-cart .cart-items {
    transition: opacity 0.3s ease;
}

.floating-cart.expanded .toggle-cart-btn svg {
    transform: rotate(180deg);
}

.cart-header {
    display: flex;
    justify-content: start;
    align-items: center;
}

.cart-body {
    display: flex;
    justify-content: space-between;
    align-items: end;
    height: 100%;
    overflow: hidden;
}

.cart-body .button.light {
    margin-left: auto;
}

.floating-cart .cart-items {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    height: 100%;
    visibility: visible;
    opacity: 1;
    mask-image: linear-gradient(black calc(100% - 40px), transparent 100%);
    mask-mode: match-source;
    -webkit-mask-image: linear-gradient(black calc(100% - 40px), transparent 100%);
    -webkit-mask-mode: match-source;
}

.cart-category {
    width: 100%;
    margin-bottom: var(--sd_space-m);
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    grid-auto-rows: min-content;
    gap: var(--sd_space-m) var(--sd_space-l);
    padding: var(--sd_space-m) 0;
    border-top: var(--sd_border-btn-white);
}

.cart-items .cart-category:last-child {
    margin-bottom: var(--sd_space-xxl);
}

.cart-category-header,
.cart-category-item {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sd_space-l);
}

.cart-category-header {
    grid-column: 1 / -1;
    display: contents;
}

.cart-category-header.mobile {
    display: none;
}

.category-name {
    grid-column: 1 / 2;
    display: flex;
    align-items: start;
}

.product-name {
    grid-column: 2 / 3;
}

.product-quantity {
    grid-column: 3 / 4;
}

/* ---^--- * GROUP / FORM-BLOCKS * ---^--- */

/* ##############   BLOCKS   ############## */


/* ##############   PAGES   ############## */

/* ##############   PAGES   ############## */


/* ##############   FOOTER   ############## */

.sd_footer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(var(--sd_space-xxl) + var(--sd_space-xs));
    background-color: var(--sd_c-blue);
    padding-top: var(--sd_space-xl);
    padding-bottom: var(--sd_space-s);
}

.sd_footer p,
.sd_footer h4 {
    color: var(--sd_c-white);
}

.sdf_top {
    grid-column: 1 / 5;
}

.sdf-top,
.sdf-bottom {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.sdfb_nav ul {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-l);
}

.sdfb_contact {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sd_space-xxl);
    grid-column: span 2;
}

.sdfb_contact .label-upc,
.sdfb_certificates .label-upc {
    margin-bottom: var(--sd_space-s);
}

.contact-before {
    display: inline-block;
    width: var(--sd_space-m);
    margin-right: var(--sd_space-xxs);
}

.sdfb_certificates {
    grid-column: 3 / span 2;
}

.sdfbc_img {
    display: flex;
    align-items: start;
    gap: var(--sd_space-xl);
}

.sdfbc_img img {
    max-width: 80px;
}

.sdf_bottom {
    border-top: var(--sd_border-light);
    grid-column: span 4;
    padding-top: var(--sd_space-xs);
    display: flex;
    justify-content: space-between;
    gap: var(--sd_space-l);
}

.sdfb-right ul {
    display: flex;
    gap: var(--sd_space-l);
}

.sdfb-right a {
    display: inline;
}



/* ##############   FOOTER   ############## */


/* ==============   MOBILE   ============== */


@media only screen and (max-width: 1100px) {

    /* ##############   GENERAL   ############## */
    :root {
        --sd_f-size-h1: 48px;
        --sd_f-size-h2: 36px;
        --sd_f-size-h3: 28px;
        --sd_f-size-h4: 24px;
        --sd_f-size-h5: 16px;
        --sd_f-size-p: 16px;
        --sd_f-size-p-l: 19px;
        --sd_f-size-p-xl: 21px;
        --sd_f-size-p-s: 12px;
        --sd_f-size-p-label: 15px;
        --sd_f-size-p-label-l: 17px;
        --sd_f-size-p-label-upc: 12px;
        --sd_f-size-p-label-s-upc: 12px;
        --sd_f-letter-spacing-h2: 0rem;
    }

    a {
        word-break: break-all;
    }

    .sd_nav a {
        word-break: break-word;
    }

    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }

    .sd_nav:not(.mobile-only) {
        height: var(--sd_sdnavm-height);
    }

    .p-flex,
    .p-l.p-flex,
    .p-flex p:not(.button p):not(.module-download p),
    .p-flex p a {
        font-size: var(--sd_f-size-p);
        letter-spacing: var(--sd_f-letter-spacing-p);
        font-weight: var(--sd_f-weight-p);
    }

    .button:not(.secondary):not(.tertiary):not(.compact) {
        width: 100%;
        justify-content: space-between;
    }

    .button:active:not(.disabled):not(.secondary):not(.tertiary) {
        background-color: var(--sd_c-white-10);
        border: var(--sd_border-btn-blue);
    }
    
    .button:active:not(.disabled) p {
        color: var(--sd_c-blue);
    }
    
    .button:active:not(.disabled) .svg-wrapper .sd-svg-white {
        opacity: 0;
    }

    .button:focus:not(.disabled):not(.secondary):not(.tertiary) {
        background-color: var(--sd_c-white-10);
        border: var(--sd_border-btn-darkblue);
    }
    
    .button:focus:not(.disabled) p {
        color: var(--sd_c-darkblue);
    }

    .is-dark .button:active:not(.disabled),
    .button.light:active:not(.disabled),
    .is-dark .button:focus:not(.disabled),
    .button.light:focus:not(.disabled) {
        border: var(--sd_border-btn-white);
        background-color: var(--sd_c-white-10);
    }

    .is-dark .button.secondary:active:not(.disabled),
    .button.light.secondary:active:not(.disabled),
    .is-dark .button.secondary:focus:not(.disabled),
    .button.light.secondary:focus:not(.disabled),
    .is-dark .button.tertiary:active:not(.disabled),
    .button.light.tertiary:active:not(.disabled),
    .is-dark .button.tertiary:focus:not(.disabled),
    .button.light.tertiary:focus:not(.disabled) {
        border: none;
        background-color: transparent;
    }

    .is-dark .button:active:not(.disabled) p,
    .button.light:active:not(.disabled) p,
    .is-dark .button:focus:not(.disabled) p,
    .button.light:focus:not(.disabled) p {
        color: var(--sd_c-white);
    }

    .is-dark .button:active:not(.disabled) .svg-wrapper .sd-svg-white,
    .button.light:active:not(.disabled) .svg-wrapper .sd-svg-white,
    .is-dark .button:focus:not(.disabled) .svg-wrapper .sd-svg-white,
    .button.light:focus:not(.disabled) .svg-wrapper .sd-svg-white {
        opacity: 1;
    }


    /* ##############   MODULES   ############## */

    .module-download {
        flex-direction: column;
    }

    .module-download,
    .module-download.big .md-left,
    .module-download.big .md-right {
        padding: var(--sd_space-m);
    }

    .module-download .md-left,
    .module-download .md-right {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-m);
    }

    .module-download .md-left {
        max-width: 400px;
    }

    .module-download .md-right {
        margin-top: var(--sd_space-xl);
        flex-direction: row-reverse;
    }

    .module-download .button.secondary {
        margin-right: var(--sd_space-m);
    }

    .mdl-info,
    .module-download.big .mdl-info {
        margin-top: 0;
    }

    .module-download.big {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr 1fr;
    }

    .module-download.big .md-left {
        grid-row: 1 / 2;
        grid-column: 1 / 1;
    }

    .module-download.big .md-right {
        grid-row: 2 / 3;
        grid-column: 1 / 1;
        justify-content: space-between;
    }

    .module-download.big .md-img {
        grid-row: 3 / 5;
        grid-column: 1 / 1;
    }

    /* ------[ SD NAV ]------ */
    .sd_nav {
        display: none;
    }

    .sd_nav.mobile-only {
        padding: var(--sd_space-l) var(--sd_space-l) 0 var(--sd_space-l);
    }

    .nav-logo,
    .nav-logo-d {
        max-width: 150px;
    }

    .sd_nav_inner-m {
        width: 100%;
        display: flex;
        justify-content: space-between;
        gap: var(--sd_space-s);
        transition: var(--sd_transition-normal);
        border-bottom: var(--sd_border-light);
    }
    
    .sd_nav-m-left {
        margin-bottom: var(--sd_space-xs);
        position: relative;
    }

    .sd_nav-m-right {
        display: flex;
        align-items: center;
    }

    .mobile-menu {
        display: flex;
        justify-content: space-between;
        position: relative;
        z-index: 999;
        -webkit-user-select: none;
        user-select: none;
        background: var(--sd_c-white);
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
    }

    .mobile-burger {
        display: flex;
        flex-direction: column;
        z-index: 9999;
        width: 80px;
        width: 32px;
        height: 32px;
        justify-content: center;
        align-items: center;
        gap: 6px;
        cursor: pointer;
    }

    .mobile-checkbox {
        display: none;
        width: 32px;
        height: 32px;
        position: absolute;
        right: var(--sd_space-l);
        top: 40px;
        cursor: pointer;
        opacity: 0;
        z-index: 99999;
        -webkit-touch-callout: none;
        -webkit-tap-highlight-color: transparent;
    }

    .sd_nav-m-list {
        display: flex;
        flex-direction: column;
        padding: var(--sd_space-xl) var(--sd_space-l) var(--sd_space-s) var(--sd_space-l);
        border-top: var(--sd_border-dark);
        overflow: scroll;
        height: 100%;
    }

    .sd_nav-m-list a {
        display: flex;
    }

    .sd_nav-m-list-item,
    .sd_nav-m-list-subitem,
    .sd_nav-m-list-subsubitem,
    .sd_nav-m-list-subsubsubitem  {
        margin-left: 0px;
        display: flex;
        justify-content: space-between;
        cursor: pointer;
        padding: var(--sd_space-s) 0;
    }
    
    .sd_nav-m-list-item.sd_nav-m-accordion,
    .sd_nav-m-list-subitem.sd_nav-m-sub-accordion,
    .sd_nav-m-list-subsubitem.sd_nav-m-subsub-accordion {
        flex-direction: column;
        padding: 0;
    }
    
    .sd_nav-m-list-item.sd_nav-m-accordion .sd_nav-m-acc-header,
    .sd_nav-m-list-subitem.sd_nav-m-sub-accordion .sd_nav-m-sub-acc-header,
    .sd_nav-m-list-subsubitem.sd_nav-m-subsub-accordion .sd_nav-m-subsub-acc-header {
        padding: var(--sd_space-s) 0;
    }

    .mobile-menu a {
        text-decoration: none;
    }
    
    #menu {
        background-color: var(--sd_c-white);
        position: absolute;
        width: 100%;
        height: 100vh;
        max-height: var(--sd_app-height);
        left: 0;
        padding: var(--sd_sdnavm-height) 0 var(--sd_sdnavm-qm-height) 0;
        top: 0;
        list-style-type: none;
        transform-origin: 0% 0%;
        transform: translate(0%, 0%);
        opacity: 0;
        transition: var(--sd_transition-normal);
        visibility: hidden;
        pointer-events: none;
    }
    
    .mobile-checkbox:checked ~ .mobile-menu #menu {
        transform: translate(0%, 0);
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }
    .bar {
        width: 18px;
        height: 1.5px;
        background-color: var(--sd_c-white);
        transition: var(--sd_transition-cubic);
    }

    .mobile-checkbox:checked + .mobile-burger .bar:nth-child(2) {
        opacity: 0;
    }
    
    .mobile-checkbox:checked + .mobile-burger .bar:nth-child(1) {
        transform: translateY(7.5px) rotate(45deg);
        background-color: var(--sd_c-black);
    }
    
    .mobile-checkbox:checked + .mobile-burger .bar:nth-child(3) {
        transform: translateY(-7.5px) rotate(-45deg);
        background-color: var(--sd_c-black);
    }


    .sd_nav-m-accordion.open .accordion-svg,
    .sd_nav-m-sub-accordion.open .sub-accordion-svg,
    .sd_nav-m-subsub-accordion.open .subsub-accordion-svg {
        transform: rotate(180deg);
    }

    .sd_nav-m-acc-header,
    .sd_nav-m-sub-acc-header,
    .sd_nav-m-subsub-acc-header {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
    
    .sd_nav-m-acc-submenu,
    .sd_nav-m-acc-subsubmenu,
    .sd_nav-m-acc-subsubsubmenu {
        max-height: 0;
        overflow: hidden;
        transition: var(--sd_transition-normal);
        padding: 0 0 0 var(--sd_space-m);
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-l);
        border-left: var(--sd_border-dark);
        opacity: 0;
      }
    
      .sd_nav-m-accordion.open .sd_nav-m-acc-submenu,
      .sd_nav-m-sub-accordion.open .sd_nav-m-acc-subsubmenu,
      .sd_nav-m-subsub-accordion.open .sd_nav-m-acc-subsubsubmenu {
        margin: var(--sd_space-s) 0;
        opacity: 1;
    }

    .sd_nav-m-quick-menu-list.desktop {
        display: none;
    }

    .sd_nav-m-quick-menu-list {
        position: fixed;
        bottom: 0;
        width: 100%;
        padding: var(--sd_space-l);
        border-top: var(--sd_border-dark);
        background-color: var(--sd_c-white);
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-l);
    }

    .sd_quick-menu_c-overlay {
        z-index: 99;
        height: 100%;
        max-height: 900px;
        width: 100%;
        padding: 0;
    }

    .sd_quick-menu_co-inner {
        width: 100%;
    }

    .sd_quick-menu_coi-top {
        margin-bottom: 0;
        padding: 39px var(--sd_space-l) 17px var(--sd_space-l);
        position: static;
        width: 100%;
        align-items: center;
    }

    .sd_quick-menu_coi-top .button {
        display: none;
    }

    .sd_quick-menu_coi-body {
        grid-template-columns: repeat(1, 1fr);
        gap: var(--sd_space-xxl);
        overflow: scroll;
        padding: var(--sd_space-xxl) var(--sd_space-l) var(--sd_space-l) var(--sd_space-l);
        height: calc(100% - 89px - 95px);
    }

    .sd_quick-menu_coib-item {
        max-width: none;
        width: 100%;
    }

    .sd_quick-menu_coi-bottom {
        display: flex;
        position: absolute;
        border-top: var(--sd_border-dark);
        bottom: 0;
        width: 100%;
        background-color: var(--sd_c-white);
        padding: var(--sd_space-l);
    }

    .sd_quick-menu_co-close {
        display: none;
    }

    .sd_quick-menu_co-close-m {
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        height: 32px;
        width: 32px;
    }

    .sd_quick-menu_co-close-m svg {
        width: 27px;
        height: 27px;
    }

    /* ---^--- SD NAV ---^--- */

    /* ##############   GENERAL   ############## */
    
    /* ##############   BLOCKS   ############## */

    /* ------[ DEFAULT ]------ */
    .hor-padding-s {
        padding-left: var(--sd_space-l);
        padding-right: var(--sd_space-l);
    }

    .hor-padding {
        padding-left: var(--sd_space-l);
        padding-right: var(--sd_space-l);
    }

    .ver-padding-xs {
        padding-top: var(--sd_space-l);
        padding-bottom: var(--sd_space-l);
    }

    .ver-padding-s {
        padding-top: var(--sd_space-l);
        padding-bottom: var(--sd_space-l);
    }

    .ver-padding {
        padding-top: var(--sd_block-padding-s);
        padding-bottom: var(--sd_block-padding-s);
    }
    
    .top-padding {
        padding-top: var(--sd_block-padding-s);
    }
    
    .bottom-padding {
        padding-bottom: var(--sd_block-padding-s);
    }

    .mw_1-3,
    .mw_2-3,
    .mw_1-4,
    .mw_2-4,
    .mw_3-4,
    .mw_90 {
        max-width: none;
    }
    /* ---^--- DEFAULT ---^--- */
    /* ------[ HERO-BLOCK ]------ */
    .sd_hero-block {
        height: 100vh;
        max-height: var(--sd_app-height);
        min-height: 0px;
    }

    .sd_hero-block.subpage {
        height: 70vh;
    }

    .hb-image .hbv-inner {
        padding-bottom: calc(30vh + var(--sd_space-l));
    }

    .sd-breadcrumb {
        margin-top: var(--sd_space-m);
    }

    .sd-breadcrumb .button,
    .sd-breadcrumb .page-current {
        width: auto;
        padding: var(--sd_space-xs) 0;
    }
    /* ---^--- HERO-BLOCK ---^--- */
    /* ------[ INTRO-TEXT-BLOCK ]------ */
    .sd_intro-text-block,
    .page-home .sd_intro-text-block {
        padding-top: var(--sd_space-xxxxl);
        padding-bottom: var(--sd_block-padding-s);
    }
    /* ---^--- INTRO-TEXT-BLOCK ---^--- */
    /* ------[ INTRO-TEXT-VISUAL-BLOCK ]------ */
    .sd_intro-text-visual-block {
        flex-direction: column;
    }

    .itvb-visual,
    .itvb-text {
        width: 100%;
    }

    .itvb-text {
        padding-top: var(--sd_space-xxxxl);
        gap: var(--sd_space-m);
    }
    /* ---^--- INTRO-TEXT-VISUAL-BLOCK ---^--- */
    /* ------[ TEXT-BLOCK ]------ */

    .sd_summaries {
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-xxl);
    }

    .tbi-btns,
    .tbb-btns {
        align-items: start;
        flex-direction: column;
    }
    /* ---^--- TEXT-BLOCK ---^--- */
    /* ------[ TEASER-BLOCK ]------ */
    .tbi-teaser {
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-xl);
    }

    .tbi-teaser-box {
        display: grid;
        grid-template-rows: 1fr 1fr;
        grid-template-columns: 1fr;
        gap: var(--sd_space-m);
    }

    .tbi-text-inner {
        gap: var(--sd_space-l);
    }

    .tbi-text {
        gap: var(--sd_space-m);
    }

    .tbi-teaser-box.double .tbi-img {
        gap: var(--sd_space-m);
    }

    .tbi-teaser-box.double .tbi-img img {
        aspect-ratio: 3/4;
    }

    .tbi-teaser-full .tbi-img-tablet {
        display: block;
    }

    .tbi-teaser-full .tbi-img-desktop,
    .tbi-teaser-full .tbi-img-mobile {
        display: none;
    }

    .tbi-teaser-full .tbi-img img {
        aspect-ratio: 1/1;
    }

    .tbi-teaser-full .tbi-text {
        width: 100%;
        padding: var(--sd_space-xxl) var(--sd_space-l) ;
    }

    .teb-inner.multiple h2 {
        margin-bottom: var(--sd_space-xl);
    }

    .tebi-list {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--sd_space-l);
    }

    .teib-inner {
        gap: var(--sd_space-m);
    }

    .tbi-img {
        gap: var(--sd_space-l);
    }

    .teibi-text {
        gap: var(--sd_space-m);
    }
    /* ---^--- TEASER-BLOCK ---^--- */

    /* ------[ GALLERY-BLOCK ]------ */

    .sdgb-inner {
        gap: var(--sd_space-xxl);
    }

    .sdgbi-visual {
        gap: var(--sd_space-m);
        display: flex;
        flex-direction: column;
    }

    .sdgbi-visual-side:not(.single-caption),
    .sdgb-slider-btn {
        display: none;
    }

    .sdgbi-visual-side {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sd_space-m);
        align-items: end;
    }

    .sdgbi-visual-center h2 {
        margin-bottom: var(--sd_space-l);
    }

    .gallery-slider-list .gallery-item {
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-m);
    }

    .gallery-item-caption {
        display: block;
        opacity: 1;
    }

    .gallery-slider-list {
        padding-bottom: var(--sd_space-xxxxxl);
    }

    .gallery-slider .swiper-pagination {
        left: 0 !important;
        max-width: none;
        transform: translateX(0%);
    }

    /* ---^--- GALLERY-BLOCK ---^--- */

    /* ------[ NEWS-TEASER-BLOCK ]------ */
    .teaser-slider.ntbi-articles.mobile {
        display: block;
    }

    .ntbi-top {
        flex-direction: column;
        align-items: start;
    }

    .ntbi-articles {
        display: none;
    }

    .ntbi-articles.mobile {
        display: block;
    }

    .nteb-inner {
        gap: var(--sd_space-xl);
    }

    .ntbi-article {
        gap: var(--sd_space-m);
    }

    .ntbia-content {
        gap: var(--sd_space-l);
    }
    /* ---^--- NEWS-TEASER-BLOCK ---^--- */

    /* ------[ CONTACT-BLOCK ]------ */

    .cb-inner {
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-xl);
    }

    .cbi-item {
        gap: var(--sd_space-l);
    }

    .cbii-img {
        display: none;
    }

    .cbii-img.mobile {
        display: block;
    }

    /* ---^--- CONTACT-BLOCK ---^--- */

    /* ------[ CERTIFICATES-BLOCK ]------ */

    .ceb-inner {
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-xl);
    }

    /* ---^--- CERTIFICATES-BLOCK ---^--- */

    /* ------[ * GROUP / LIST-BLOCKS * ]------ */
    /* PRICE-LIST-BLOCK, POSITIONS-LIST-BLOCK, EVENTS-LIST-BLOCK */

    .lbi-item,
    .lbi-item.three {
        grid-template-columns: 1fr;
        border-bottom: var(--sd_border-dark);
        padding: var(--sd_space-l) 0;
    }

    .lbi-item.three {
        gap: var(--sd_space-m);
    }

    .lbii-item {
        gap: var(--sd_space-xs);
    }

    .sd_list-block.news-list .lbii-item .button {
        margin-top: 0;
    }

    .sd_list-block.news-list .lb-inner,
    .news-filter {
        gap: var(--sd_space-l);
        margin-bottom: 0;
    }

    .sd_list-block.events-list .lbii-item {
        gap: var(--sd_space-s);
    }

    .sd_list-block.events-list .lbii-item h5 {
        margin-bottom: 0;
    }

    .sd_list-block.events-list .lbii-item h4 {
        margin-bottom: var(--sd_space-xxs);
    }

    .sd_list-block.events-list .lbii-item .button {
        margin-top: var(--sd_space-s);
    }

    /* ---^--- * GROUP / LIST-BLOCKS * ---^--- */

    /* ------[ TIMELINE-BLOCK ]------ */

    .tlbi-list {
        gap: var(--sd_space-xxl);
    }

    .tlbi-item {
        display: flex;
        flex-direction: column;
        gap: var(--sd_space-m);
        padding-left: var(--sd_space-m);
    }

    .tlbii-text {
        gap: var(--sd_space-l);
    }

    /* ---^--- TIMELINE-BLOCK ---^--- */

    /* ------[ * GROUP / FORM-BLOCKS * ]------ */
    /* EVENT-FORM-BLOCK, */

    .sdfb-side h2,
    .sdfb-side p {
        max-width: none;
    }

    .sdfb-form {
        padding-top: 0;
    }

    .sd_form-block {
        grid-template-columns: 1fr;
    }

    .sd-form-field,
    .sdf-submit-message {
        grid-column: span 2;
    }

    /* ORDER-FORM-BLOCK, */

    .lbi-ol-nav {
        grid-template-columns: 1fr;
    }

    .order-category {
        grid-template-columns: 1fr;
    }

    .product-select-row {
        grid-template-columns: 1fr 36px;
        gap: var(--sd_space-l) var(--sd_space-s);
    }

    .product-select-row .sd-form-field.sdf-half:first-child {
        grid-column: span 2;
    }

    .order-category .add-product-btn {
        grid-column: 1;
    }

    .floating-cart {
        padding: var(--sd_space-l);
        gap: var(--sd_space-l);
        max-height: 146px;
    }

    .floating-cart.expanded {
        max-height: calc(100vh - var(--sd_sdnavm-height));
    }

    .floating-cart .cart-summary {
        display: none;
    }

    .floating-cart .cart-body {
        flex-direction: column;
    }

    .floating-cart .cart-header h4 {
        font-size: var(--sd_f-size-p);
    }

    .cart-category-header.mobile {
        display: grid;
        grid-template-columns: 4fr 1fr;
        gap: var(--sd_space-m);
        padding-top: var(--sd_space-xs);
    }

    .floating-cart .cart-category-header:not(.mobile) .label-upc:not(:first-child) {
        display: none;
    }

    .floating-cart .cart-category {
        grid-template-columns: 4fr 1fr;
        border: none;
        gap: var(--sd_space-m);
        padding: var(--sd_space-s) 0;
    }

    .floating-cart .category-name {
        border-bottom: var(--sd_border-btn-white);
        grid-column: span 2;
        padding-bottom: 12px;
        display: flex;
        justify-content: space-between;
    }

    .floating-cart .product-name,
    .floating-cart .product-quantity {
        grid-column: span 1;
    }

    /* ---^--- * GROUP / FORM-BLOCKS * ---^--- */

    /* ##############   BLOCKS   ############## */

    /* ##############   FOOTER   ############## */

    .sd_footer {
        gap: var(--sd_space-xxl);
        padding-bottom: var(--sd_space-l);
    }

    .sdfb_nav {
        grid-column: span 2;
    }

    .sdfb_contact {
        grid-column: span 4;
        border-top: var(--sd_border-light);
        padding-top: var(--sd_space-xxl);
    }

    .sdfb_certificates {
        grid-column: 1 / span 4;
    }

    /* ##############   FOOTER   ############## */

}

@media only screen and (max-width: 550px) {

    /* ##############   MODULES   ############## */

    .module-download p:not(.button p) {
        font-size: var(--sd_f-size-p-s);
        letter-spacing: var(--sd_f-letter-spacing-p);
        font-weight: var(--sd_f-weight-p);
    }
    
    /* ##############   MODULES   ############## */

    /* ##############   BLOCKS   ############## */

    /* ------[ IMG-BLOCK ]------ */
    .ib-visual:not(.mw_2-3) img {
        aspect-ratio: 1/1;
    }

    .ib-visuals {
        gap: var(--sd_space-m);
    }

    .ib-visuals img {
        aspect-ratio: 3/4;
    }
    /* ---^--- IMG-BLOCK ---^--- */

    /* ------[ GALLERY-BLOCK ]------ */
    .gallery-item-caption {
        font-size: var(--sd_f-size-p-s);
    }
    /* ---^--- GALLERY-BLOCK ---^--- */

    /* ------[ TEASER-BLOCK ]------ */
    .tbi-teaser-full .tbi-img-mobile,
    .teaser-slider.tebi-wrapper.mobile {
        display: block;
    }

    .tbi-teaser-full .tbi-img-desktop,
    .tbi-teaser-full .tbi-img-tablet {
        display: none;
    }

    .tbi-teaser-full .tbi-img img {
        aspect-ratio: 3/5;
    }

    .tebi-list:not(.tebi-wrapper.mobile .tebi-list) {
        display: none;
    }

    .tebi-list {
        grid-template-columns: 1fr;
    }

    .teib-inner {
        gap: var(--sd_space-m);
    }

    .teibi-text p {
        display: -webkit-box;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tebi-wrapper.mobile { 
        display: block;
    }
    /* ---^--- TEASER-BLOCK ---^--- */

    /* ------[ NEWS-TEASER-BLOCK ]------ */
    .nteb-inner {
        gap: var(--sd_space-xl);
    }

    .ntbi-articles {
        display: none;
    }

    .ntbi-articles.mobile {
        display: block;
    }
    /* ---^--- NEWS-TEASER-BLOCK ---^--- */

    /* ##############   BLOCKS   ############## */

    /* ##############   FOOTER   ############## */

    .sd_footer,
    .sdfb_contact {
        display: flex;
        flex-direction: column;
    }

    .sdf_bottom {
        flex-direction: column-reverse;
        gap: var(--sd_space-m);
        padding-top: var(--sd_space-s);
    }
    
    .sdfb-right ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sd_space-xs) var(--sd_space-m);
    }

    .cookie-buttons {
        align-self: start;
        flex-direction: column;
    }

    /* ##############   FOOTER   ############## */

}

 /* ==============   MOBILE   ============== */