              /*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;
}

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

@font-face {
    font-family: 'TheinhardtMedium';
    src: url('../fonts/Theinhardt-Medium.woff2') format('woff2'),
         url('../fonts/Theinhardt-Medium.woff') format('woff');
    font-style: normal;
    font-weight: normal;
}

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

:root {
    --sd_c-black: rgba(4, 9, 26, 1);
    --sd_c-textblack: rgba(34, 34, 34, 1);
    --sd_c-grey: rgba(4, 9, 26, .7);
    --sd_c-textgrey: rgba(34, 34, 34, 0.8);
    --sd_c-white: rgba(250, 250, 250, 1);
    --sd_c-frostwhite: #fff;
    --sd_c-purple: rgba(106, 64, 81, 1);
    --sd_c-blue: rgba(55, 84, 201, 1);
    --sd_c-darkblue: rgba(25, 35, 101, 1);
    --sd_c-beige: rgba(187, 154, 121, 1);
    --sd_c-orange: rgba(248, 129, 87, 1);
    --sd_c-yellow: rgba(255, 231, 155, 1);
    --Color-Sky-Stops-5am-Base-Top:        rgba(33, 41, 81, 1);
    --Color-Sky-Stops-5am-Base-Bottom:     rgba(145, 188, 235, 1);
    --Color-Sky-Stops-5am-Light-Top:       rgba(233, 234, 238, 1);
    --Color-Sky-Stops-5am-Light-Bottom:    rgba(244, 248, 252, 1);
    --Color-Sky-Stops-7am-Base-Top:        rgba(141, 177, 222, 1);
    --Color-Sky-Stops-7am-Base-Bottom:     rgba(230, 219, 194, 1);
    --Color-Sky-Stops-7am-Light-Top:       rgba(244, 247, 252, 1);
    --Color-Sky-Stops-7am-Light-Bottom:    rgba(253, 251, 250, 1);
    --Color-Sky-Stops-1pm-Base-Top:        rgba(239, 225, 172, 1);
    --Color-Sky-Stops-1pm-Base-Bottom:     rgba(255, 200, 70, 1);
    --Color-Sky-Stops-1pm-Light-Top:       rgba(254, 253, 246, 1);
    --Color-Sky-Stops-1pm-Light-Bottom:    rgba(255, 249, 235, 1);
    --Color-Sky-Stops-4pm-Base-Top:        rgba(245, 189, 54, 1);
    --Color-Sky-Stops-4pm-Base-Bottom:     rgba(252, 203, 214, 1);
    --Color-Sky-Stops-4pm-Light-Top:       rgba(254, 248, 233, 1);
    --Color-Sky-Stops-4pm-Light-Bottom:    rgba(255, 250, 251, 1);
    --Color-Sky-Stops-6pm-Base-Top:        rgba(244, 186, 181, 1);
    --Color-Sky-Stops-6pm-Base-Bottom:     rgba(25, 35, 101, 1);
    --Color-Sky-Stops-6pm-Light-Top:       rgba(254, 247, 246, 1);
    --Color-Sky-Stops-6pm-Light-Bottom:    rgba(231, 233, 239, 1);
    --Color-Sky-Stops-8pm-Base-Top:        rgba(238, 228, 168, 1);
    --Color-Sky-Stops-8pm-Base-Mid:        rgba(252, 149, 65, 1);
    --Color-Sky-Stops-8pm-Base-Bottom:     rgba(107, 40, 27, 1);
    --Color-Sky-Stops-8pm-Light-Top:       rgba(254, 253, 245, 1);
    --Color-Sky-Stops-8pm-Light-Mid:       rgba(255, 244, 235, 1);
    --Color-Sky-Stops-8pm-Light-Bottom:    rgba(239, 233, 232, 1);
    --sd_footer-fade-1: rgba(243, 87, 56, 1);
    --sd_footer-fade-2: rgba(170, 46, 35, 1);
    --sd_f-family-sans-serif: 'Theinhardt';
    --sd_f-family-sans-serif-med: 'TheinhardtMedium';
    --sd_f-family-serif: 'Vesterbro-Regular';
    --sd_f-size-h1: 110px;
    --sd_f-size-big-serif: clamp(30px, 5.3vw, 82px);
    --sd_f-size-h2: 62px;
    --sd_f-size-h3: 54px;
    --sd_f-size-h4: 40px;
    --sd_f-size-h5: 28px;
    --sd_f-size-h6: 24px;
    --sd_f-size-p-xxl: 36px;
    --sd_f-size-p-xl: 24px;
    --sd_f-size-p-l: 22px;
    --sd_f-size-p-m: 19px;
    --sd_f-size-p: 16px;
    --sd_f-size-caption: 16px;
    --sd_f-size-p-s: 14px;
    --sd_f-size-p-xs: 12px;
    --sd_f-line-height-h1: 0.95;
    --sd_f-line-height-big-serif: 1;
    --sd_f-line-height-h2: 1;
    --sd_f-line-height-h3: 1;
    --sd_f-line-height-h4: 1.1;
    --sd_f-line-height-h5: 1.1;
    --sd_f-line-height-h6: 1.1;
    --sd_f-line-height-p: 1.4;
    --sd_f-line-height-p-xxl: 1.1;
    --sd_f-ls-tight: -0.03em;
    --sd_f-ls-snug: -0.02em;
    --sd_f-ls-close: -0.01em;
    --sd_f-ls-normal: 0;
    --sd_f-ls-wide: 0.01em;
    --sd_f-ls-wider: 0.06em;
    --sd_space-xxxs: 2px;
    --sd_space-xxs: 8px;
    --sd_space-xs: 12px;
    --sd_space-s: 16px;
    --sd_space-m: 20px;
    --sd_space-l: 24px;
    --sd_space-xl: 32px;
    --sd_space-xxl: 40px;
    --sd_space-xxxl: 64px;
    --sd_space-xxxxl: 72px;
    --sd_space-xxxxxl: 80px;
    --sd_space-xxxxxxl: 120px;
    --sd_space-xxxxxxxl: 156px;
    --sd_space-xxxxxxxxl: 200px;
    --sd_margin-y: 150px;
    --sd_block-padding-x: 64px;
    --sd_block-padding-y: 64px;
    --sd_block-padding-y-xl: 120px;
    --sd_max-width: 2000px;
    --sd_max-width-narrow: 1200px;
    --sd_max-width-semi-narrow: 1400px;
    --sd_app-height: 100vh;
    --sd_dyn-app-height: 100vh;
    --sd-nav-height: 103px;
    --sd_transition-long: all .6s ease;
    --sd_transition-normal: all .3s ease;
    --sd_transition-short: all .2s ease;
    --sd_transition-very-short: all .1s ease;
    --sd_transition-lazyload: filter .3s ease .3s, opacity .3s ease;
    --sd_border-radius: 50px;
    --sd_border-radius-xs: 4px;
    --sd_border-radius-s: 8px;
    --sd_button-filter: backdrop-filter: blur(32px);;
    --sd_button-border: 1px solid var(--sd_c-textblack);
    --sd_border: 1px solid var(--sd_c-textblack);
    --sd_border-white: 1px solid var(--sd_c-white);
    --sd_border-thick: 2px solid var(--sd_c-textblack);
    --sd_border-orange: 2px solid var(--sd_c-orange);
}

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

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

html {
    font-family: var(--sd_f-family-sans-serif);
    font-feature-settings: "liga" 1, "calt" 1;
    background-color: var(--sd_c-white);
    overflow-x: clip;
}

body {
    font-family: var(--sd_f-family-sans-serif);
    font-weight: 400;
    font-style: normal;
    font-size: var(--sd_f-size-p);
    color: var(--sd_c-black);
    line-height: var(--sd_f-line-height-p);
    width: 100%;
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.scroll-locked {
    overflow: hidden;
    position: fixed;
    left: 0;
    right: 0;
}

body:not(.no-fade), body.early:not(.no-fade) {
    background-image: linear-gradient(to bottom,
        var(--Color-Sky-Stops-7am-Base-Top),
        var(--Color-Sky-Stops-7am-Base-Bottom),
        var(--Color-Sky-Stops-7am-Light-Top),
        var(--Color-Sky-Stops-7am-Light-Bottom),
        var(--Color-Sky-Stops-1pm-Base-Top),
        var(--Color-Sky-Stops-1pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Top),
        var(--Color-Sky-Stops-1pm-Light-Bottom),
        var(--Color-Sky-Stops-4pm-Base-Top),
        var(--Color-Sky-Stops-4pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Bottom), /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Bottom) */ /* MVP*/
        rgba(251, 247, 232),  /* MVP*/
        rgba(255, 230, 210), /* MVP*/
        rgba(219, 202, 198) /* MVP*/
    );
}

html.early,
html.early .sdf-inner {
    background-color: var(--Color-Sky-Stops-7am-Base-Top);
}

body.dawn:not(.no-fade) {
    background-image: linear-gradient(to bottom,
        var(--Color-Sky-Stops-5am-Base-Top),
        var(--Color-Sky-Stops-5am-Base-Bottom),
        var(--Color-Sky-Stops-7am-Base-Top),
        var(--Color-Sky-Stops-7am-Base-Bottom),
        var(--Color-Sky-Stops-7am-Light-Top),
        var(--Color-Sky-Stops-7am-Light-Bottom),
        var(--Color-Sky-Stops-1pm-Base-Top),
        var(--Color-Sky-Stops-1pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Top),
        var(--Color-Sky-Stops-1pm-Light-Bottom),
        var(--Color-Sky-Stops-4pm-Base-Top),
        var(--Color-Sky-Stops-4pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Bottom), /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Bottom) */ /* MVP*/
        rgba(251, 247, 232),  /* MVP*/
        rgba(255, 230, 210), /* MVP*/
        rgba(219, 202, 198) /* MVP*/
    );
}

html.dawn,
html.dawn .sdf-inner  {
    background-color: var(--Color-Sky-Stops-5am-Base-Top);
}

body.sunset:not(.no-fade) {
    background-image: linear-gradient(to bottom,
        var(--Color-Sky-Stops-4pm-Base-Top),
        var(--Color-Sky-Stops-4pm-Base-Bottom),
        var(--Color-Sky-Stops-5am-Base-Top),
        var(--Color-Sky-Stops-5am-Base-Bottom),
        var(--Color-Sky-Stops-7am-Light-Top),
        var(--Color-Sky-Stops-7am-Light-Bottom),
        var(--Color-Sky-Stops-1pm-Base-Top),
        var(--Color-Sky-Stops-1pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Top),
        var(--Color-Sky-Stops-1pm-Light-Bottom),
        var(--Color-Sky-Stops-4pm-Base-Top),
        var(--Color-Sky-Stops-4pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Bottom), /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Bottom) */ /* MVP*/
        rgba(251, 247, 232),  /* MVP*/
        rgba(255, 230, 210), /* MVP*/
        rgba(219, 202, 198) /* MVP*/
    );
}

html.sunset,
html.sunset .sdf-inner  {
    background-color: var(--Color-Sky-Stops-4pm-Base-Top);
}

body.evening:not(.no-fade) {
    background-image: linear-gradient(to bottom,
        var(--Color-Sky-Stops-6pm-Base-Top),
        var(--Color-Sky-Stops-6pm-Base-Bottom),
        var(--Color-Sky-Stops-5am-Base-Top),
        var(--Color-Sky-Stops-5am-Base-Bottom),
        var(--Color-Sky-Stops-7am-Light-Top),
        var(--Color-Sky-Stops-7am-Light-Bottom),
        var(--Color-Sky-Stops-1pm-Base-Top),
        var(--Color-Sky-Stops-1pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Top),
        var(--Color-Sky-Stops-1pm-Light-Bottom),
        var(--Color-Sky-Stops-4pm-Base-Top),
        var(--Color-Sky-Stops-4pm-Base-Bottom),
        var(--Color-Sky-Stops-1pm-Light-Bottom), /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-4pm-Light-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Base-Bottom), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Top), */ /* MVP*/
        /* var(--Color-Sky-Stops-6pm-Light-Bottom) */ /* MVP*/
        rgba(251, 247, 232),  /* MVP*/
        rgba(255, 230, 210), /* MVP*/
        rgba(219, 202, 198) /* MVP*/
    );
}

html.evening,
html.evening .sdf-inner  {
    background-color: var(--Color-Sky-Stops-6pm-Base-Top);
}

body.no-fade {
    background-color: var(--Color-Sky-Stops-7am-Light-Bottom);
}

img, svg:not(.video-wrapper button svg):not(.sd_button svg) {
    vertical-align: bottom;
    width: 100%;
}

a svg {
    transform: translateZ(0);
}

.img-wrapper {
    overflow: hidden;
    position: relative;
}

ul {
    padding-left: 1.25em;
}

li {
    list-style: disc;
    font-family: var(--sd_f-family-serif);
    font-weight: 400;
    font-size: var(--sd_f-size-p);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-normal);
}

.sdf-legalnote ul,
.sdf-legalnote ol,
.sdbeb-benefits ul {
    list-style: disc;
    padding-left: var(--sd_space-m);
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxxs);
}

.sdf-legalnote ol {
    list-style: decimal;
}

.sdf-legalnote ul li,
.sdf-legalnote ol li,
.sdbeb-benefits ul li {
    list-style: unset;
}

p {
    font-family: var(--sd_f-family-serif);
    font-weight: 400;
    font-size: var(--sd_f-size-p);
    color: var(--sd_c-black);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-normal);
}

.p-xxl {
    font-family: var(--sd_f-family-serif);
    font-size: var(--sd_f-size-p-xxl);
    line-height: var(--sd_f-line-height-p-xxl);
    letter-spacing: var(--sd_f-ls-tight);
}
.p-xl {
    font-family: var(--sd_f-family-serif);
    font-size: var(--sd_f-size-p-xl);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-normal);
}
.p-xl-sans {
    font-family: var(--sd_f-family-sans-serif);
    font-size: var(--sd_f-size-p-xl);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-wider);
}
.p-l {
    font-family: var(--sd_f-family-serif);
    font-size: var(--sd_f-size-p-l);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-normal);
}
.p-m {
    font-family: var(--sd_f-family-serif);
    font-size: var(--sd_f-size-p-m);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-snug);
}
.p-m-sans {
    font-family: var(--sd_f-family-sans-serif);
    font-size: var(--sd_f-size-p-m);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-normal);
}
.p-l-sans {
    font-family: var(--sd_f-family-sans-serif);
    font-size: var(--sd_f-size-p-xl);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-normal);
}
.p-sans {
    font-family: var(--sd_f-family-sans-serif);
    font-size: var(--sd_f-size-p);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-wide);
}
.p-caption {
    font-family: var(--sd_f-family-sans-serif-med);
    font-size: var(--sd_f-size-p-s);
    text-transform: uppercase;
    letter-spacing: var(--sd_f-ls-wider);
    color: var(--sd_c-textblack);
    line-height: var(--sd_f-line-height-p);
}
.p-s,
.sd-form-input {
    font-family: var(--sd_f-family-sans-serif);
    font-size: var(--sd_f-size-p-s);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-wider);
}
.p-xs,
.sdf-legalnote p {
    font-family: var(--sd_f-family-sans-serif);
    font-size: var(--sd_f-size-p-xs);
    line-height: var(--sd_f-line-height-p);
    letter-spacing: var(--sd_f-ls-wider);
}
.p-big-serif {
    font-family: var(--sd_f-family-serif);
    font-size: var(--sd_f-size-big-serif);
    line-height: var(--sd_f-line-height-big-serif);
    letter-spacing: var(--sd_f-ls-tight);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--sd_f-family-sans-serif);
    font-weight: 400;
    font-style: normal;
    color: var(--sd_c-black);
}

h1,
.h1 {
    font-size: var(--sd_f-size-h1);
    line-height: var(--sd_f-line-height-h1);
    letter-spacing: var(--sd_f-ls-tight);
}

h2,
.h2 {
    font-size: var(--sd_f-size-h2);
    line-height: var(--sd_f-line-height-h2);
    letter-spacing: var(--sd_f-ls-snug);
}

h3,
.h3 {
    font-size: var(--sd_f-size-h3);
    line-height: var(--sd_f-line-height-h3);
    letter-spacing: var(--sd_f-ls-snug);
}

h4,
.h4 {
    font-size: var(--sd_f-size-h4);
    line-height: var(--sd_f-line-height-h4);
    letter-spacing: var(--sd_f-ls-close);
    color: var(--sd_c-black);
}

h5,
.h5 {
    font-size: var(--sd_f-size-h5);
    line-height: var(--sd_f-line-height-h5);
    letter-spacing: var(--sd_f-ls-close);
    color: var(--sd_c-black);
}

h6,
.h6 {
    font-size: var(--sd_f-size-h6);
    line-height: var(--sd_f-line-height-h6);
    letter-spacing: var(--sd_f-ls-close);
    color: var(--sd_c-black);
}

a {
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    color: var(--sd_c-black);
}

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

p a,
li a {
    text-decoration: underline;
}

.text-link {
    display: flex;
    gap: var(--sd_space-xxs);
    align-items: center;
}

.text-link .sd-arrow {
    width: 14px;
    transition: var(--sd_transition-short);
}

.text-link:hover .sd-arrow {
    transform: translateX(5px);
}

p a:not(.sd_button):hover,
a:not(.sd_button):hover p,
.text-link:hover,
.text-link:hover p {
    opacity: .6;
}

button {
    border: none;
    outline: none;
    border-radius: none;
    box-shadow: none;
    cursor: pointer;
}

.sd_button {
    position: relative;
    transition: var(--sd_transition-normal);
    background-color: var(--sd_c-white);
    border-radius: var(--sd_border-radius);
    padding: var(--sd_space-xs) var(--sd_space-l);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sd_space-s);
    overflow: hidden;
}

.sd_button.icon-btn {
    padding: var(--sd_space-xs);
}

.sd_icon-button {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--sd_c-white);
    border: 1px solid var(--sd_c-textblack);
    padding: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: var(--sd_transition-normal);
    will-change: opacity;
}

.sd_icon-button svg {
    width: 23px;
    height: 23px;
    display: block;
    flex-shrink: 0;
}

.sd_icon-button:hover:not(.no-hover) {
    opacity: 0.5;
}

.sd_icon-button.no-border {
    border: none;
}

.sd_button p {
    transition: var(--sd_transition-normal);
    color: var(--sd_c-black);
    font-family: var(--sd_f-family-sans-serif-med);
    white-space: nowrap;
    line-height: normal;
}

.sd_button.filled {
    background-color: var(--sd_c-white);
}
.sd_button.filled::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(270deg, var(--Color-Sky-Stops-8pm-Base-Top) -321.45%, var(--Color-Sky-Stops-8pm-Base-Mid) -88.29%, var(--Color-Sky-Stops-8pm-Base-Bottom) 102.48%);
    opacity: 0;
    transition: var(--sd_transition-normal);
    pointer-events: none;
}
.sd_button.filled:hover:not(.no-hover)::before {
    opacity: 1;
}
.sd_button.filled p {
    color: var(--sd_c-textblack);
    position: relative;
}
.sd_button.filled:hover:not(.no-hover) p {
    color: var(--sd_c-white);
}
.sd_button.filled:active:not(.no-hover) {
    background-color: var(--sd_c-black);
}
.sd_button.filled:active:not(.no-hover)::before {
    opacity: 0;
}
.sd_button.filled:active:not(.no-hover) p {
    color: var(--sd_c-white);
}

.sd_button.filled-dark {
    background-color: var(--sd_c-black);
}
.sd_button.filled-dark::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(270deg, var(--Color-Sky-Stops-8pm-Base-Top) -321.45%, var(--Color-Sky-Stops-8pm-Base-Mid) -88.29%, var(--Color-Sky-Stops-8pm-Base-Bottom) 102.48%);
    opacity: 0;
    transition: var(--sd_transition-normal);
    pointer-events: none;
}
.sd_button.filled-dark:hover:not(.no-hover)::before {
    opacity: 1;
}
.sd_button.filled-dark p {
    color: var(--sd_c-white);
    position: relative;
}
.sd_button.filled-dark .sdb-icon {
    display: flex;
    position: relative;
}
.sd_button.filled-dark:hover:not(.no-hover) p {
    color: var(--sd_c-white);
}
.sd_button.filled-dark:active:not(.no-hover) {
    background-color: var(--sd_c-black);
}
.sd_button.filled-dark:active:not(.no-hover)::before {
    opacity: 0;
}
.sd_button.filled-dark:active:not(.no-hover) p {
    color: var(--sd_c-white);
}

.sd_button.gradient {
    background: linear-gradient(270deg, var(--Color-Sky-Stops-8pm-Base-Top) -321.45%, var(--Color-Sky-Stops-8pm-Base-Mid) -88.29%, var(--Color-Sky-Stops-8pm-Base-Bottom) 102.48%);
}
.sd_button.gradient::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(270deg, #FFFAED -321.45%, #F5DBA8 102.48%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.sd_button.gradient:hover:not(.no-hover)::before {
    opacity: 1;
}
.sd_button.gradient:hover:not(.no-hover) p {
    color: var(--sd_c-textblack);
    transition: color 0.3s ease;
}
.sd_button.gradient p {
    color: var(--sd_c-white);
    position: relative;
}
.sd_button.gradient:active:not(.no-hover) {
    background: var(--sd_c-black);
}
.sd_button.gradient:active:not(.no-hover)::before {
    opacity: 0;
}
.sd_button.gradient:active:not(.no-hover) p {
    color: var(--sd_c-white);
}

.sd_button.inverted {
    background-color: var(--sd_c-black);
}
.sd_button.inverted p {
    color: var(--sd_c-white);
}
.sd_button.inverted:hover:not(.no-hover) {
    background-color: var(--sd_c-white);
}
.sd_button.inverted:hover:not(.no-hover) p {
    color: var(--sd_c-textblack);
}
.sd_button.inverted:active:not(.no-hover) {
    background-color: var(--sd_c-black);
}
.sd_button.inverted:active:not(.no-hover) p {
    color: var(--sd_c-white);
}

.sd_button.black {
    background-color: transparent;
    border: var(--sd_border);
}
.sd_button.black p {
    color: var(--sd_c-textblack);
}
.sd_button.black:hover:not(.no-hover) {
    background-color: var(--sd_c-black);
}
.sd_button.black:hover:not(.no-hover) p {
    color: var(--sd_c-white);
}
.sd_button.black:active:not(.no-hover),
.sd_button.black.active {
    background-color: var(--sd_c-black);
}
.sd_button.black:active:not(.no-hover) p,
.sd_button.black.active p {
    color: var(--sd_c-white);
}

.sd_button.white {
    background-color: transparent;
    border: var(--sd_border-white);
}
.sd_button.white p {
    color: var(--sd_c-white);
}
.sd_button.white:hover:not(.no-hover) {
    background-color: var(--sd_c-white);
}
.sd_button.white:hover:not(.no-hover) p {
    color: var(--sd_c-textblack);
}
.sd_button.white:active:not(.no-hover) {
    background-color: var(--sd_c-white);
}
.sd_button.white:active:not(.no-hover) p {
    color: var(--sd_c-textblack);
}

.sd_button.filled:focus-visible {
    outline: none;
    border: var(--sd_border);
}
.sd_button.gradient:focus-visible {
    outline: none;
    border: var(--sd_border);
}
.sd_button.black:focus-visible {
    outline: none;
    border: var(--sd_border);
}
.sd_button.inverted:focus-visible {
    outline: none;
    border: var(--sd_border-white);
}
.sd_button.white:focus-visible {
    outline: none;
    border: var(--sd_border-white);
}

.sd_button.backblur {
    background-color: rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(32px) brightness(0.88);
    -webkit-backdrop-filter: blur(32px) brightness(0.88);
    will-change: backdrop-filter;
}
.sd_button.backblur.darker,
.sd_button-scroll.darker .sd_button.backblur {
    background-color: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(32px);
    -webkit-backdrop-filter: blur(32px);

}
.sd_button.backblur p {
    color: var(--sd_c-white);
    position: relative;
}
.sd_button.backblur:hover:not(.no-hover) {
    opacity: 0.5;
}
.sd_button.backblur:active {
    background-color: rgba(0, 0, 0, 0.3);
}
.sd_button.backblur:active p {
    color: var(--sd_c-white);
}
.sd_button.backblur:focus-visible {
    outline: none;
    border: var(--sd_border-white);
}

.sd_button.filled .sdb-icon--white,
.sd_button.filled:hover .sdb-icon--black,
.sd_button.filled-dark .sdb-icon--black,
.sd_button.filled-dark:hover .sdb-icon--black,
.sd_button.inverted .sdb-icon--black,
.sd_button.inverted:hover .sdb-icon--white,
.sd_button.black .sdb-icon--white,
.sd_button.black:hover .sdb-icon--black,
.sd_button.gradient .sdb-icon--black,
.sd_button.gradient:hover .sdb-icon--white,
.sd_button.white .sdb-icon--black,
.sd_button.white:hover .sdb-icon--white { 
    display: none; 
}

.sd_button.filled .sdb-icon--black,
.sd_button.filled:hover .sdb-icon--white,
.sd_button.inverted .sdb-icon--white,
.sd_button.inverted:hover .sdb-icon--black,
.sd_button.black .sdb-icon--black,
.sd_button.black:hover .sdb-icon--white,
.sd_button.gradient .sdb-icon--white,
.sd_button.gradient:hover .sdb-icon--black,
.sd_button.white .sdb-icon--white,
.sd_button.white:hover .sdb-icon--black { 
    display: flex;
    z-index: 1;
}

.sd_button-scroll {
    display: flex;
    gap: 2px;
    text-decoration: none;
}

.sd_arrow-button {
    padding: 13px;
}

.sd_button-scroll:hover .sd_button {
    opacity: 0.5;
}

.sd_button:disabled,
.sd_button[disabled],
.sd_button.disabled,
button.disabled {
    opacity: 0.4;
    pointer-events: none;
}

.sd_button .arrow-svg {
    width: 17px;
    transition: var(--sd_transition-short);
}

.sd_button:hover:not(.no-hover) {
    box-shadow: var(--sd_hover-shadow);
}

.sd_button:hover .arrow-svg {
    transform: translateX(5px);
}

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

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

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

.fc-black {
    color: var(--sd_c-black);
}

.fc-white {
    color: var(--sd_c-white);
}

.fc-grey {
    color: var(--sd_c-grey);
}

.fc-yellow,
.fc-ffe79b {
    color: var(--sd_c-yellow);
}

.fc-blue,
.fc-3754c9 {
    color: var(--sd_c-blue);
}

.fc-darkblue,
.fc-192365 {
    color: var(--sd_c-darkblue);
}

.fc-beige,
.fc-bb9a79 {
    color: var(--sd_c-beige);
}

.fc-orange,
.fc-f88157 {
    color: var(--sd_c-orange);
}

.fw-med {
    font-family: var(--sd_f-family-sans-serif-med);
}

.fs-italic {
    font-style: italic;
}

.td-strikethrough {
    text-decoration: line-through;
    opacity: 0.5;
}

.lh-normal {
    line-height: normal;
}

.tt-uppercase {
    text-transform: uppercase;
}

.w-nowrap {
    white-space: nowrap;
}

.mobile-only,
.tablet-only {
    display: none;
}

.o-50 {
    opacity: .5;
}

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

.bg-white {
    background-color: var(--sd_c-white);
}

.bg-transparent {
    background: transparent;
}

.bg-7am {
    background: linear-gradient(to bottom,
        var(--Color-Sky-Stops-7am-Base-Top),
        var(--Color-Sky-Stops-7am-Base-Bottom)
    );
}

.f-backblur {
    background-color: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(32px) brightness(0.88);
    -webkit-backdrop-filter: blur(32px) brightness(0.88);
    will-change: backdrop-filter;
}

.border-top {
    border-top: var(--sd_border);
}

.bl-orange {
    border-left: var(--sd_border-orange);
}

.align-end {
    align-self: end;
}

.justify-end {
    justify-self: end;
}

.hidden {
    display: none !important;
}

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

.swiper-pagination-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 50px 0 !important;
}

.swiper-scrollbar {
    background: var(--sd_c-rose) !important;
    height: 2px !important;
    border-radius: 10px;
    max-width: 600px;
    position: relative !important;
    width: 100% !important;
    transform-origin: left center;
    left: 0 !important;
    right: 0 !important;
}

.swiper-scrollbar-drag {
    background: var(--sd_c-darkrose) !important;
}

.sd-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}

.sd-pagination-inner {
    display: flex;
    gap: 4px;
    width: auto !important;
    padding: var(--sd_space-xs) var(--sd_space-xxs);
    border-radius: var(--sd_border-radius-xxs);
}

.sd-pagination .sd-pagination-inner {
    background-color: var(--sd_c-rose);
}

.sd-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background: var(--sd_c-darkrose);
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,2px) !important;
    opacity: 1;
    margin: 0;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.sd-pagination .swiper-pagination-bullet-active {
    width: 24px;
    background: var(--sd_c-darkrose);
}

.sd-pagination .swiper-pagination-bullet-active::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background: var(--sd_c-black);
    animation: sdab-dot-travel 3s linear forwards;
}

.sd-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    background-color: var(--sd_c-darkrose);
}

@keyframes logo-unblur {
    from { filter: blur(20px); opacity: 0; }
    to   { filter: blur(0px);  opacity: 1; }
}

@keyframes sdab-dot-travel {
    from { transform: translateX(0); }
    to { transform: translateX(14px); }
}

.lazy-image {
    width: 100%;
    height: auto;
    filter: blur(10px);
    transition: var(--sd_transition-lazyload);
    opacity: 0;
}

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

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

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

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


/* ##############   FORMS   ############## */

/* ------[ FORM LAYOUT ]------ */

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

.sdf-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sd_space-xl);
    align-items: start;
}

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

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

/* ---^--- FORM LAYOUT ---^--- */

/* ------[ FORM BASE ]------ */

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

/* ------[ INPUTS ]------ */

.sd-form-input {
    width: 100%;
    border: none;
    border-radius: 0;
    padding: var(--sd_space-xxs);
    color: var(--sd_c-textblack);
    background: var(--sd_c-frostwhite);
    outline: none;
    box-shadow: inset 0 -1px 0 var(--sd_c-textblack);
    transition: box-shadow .2s ease;
    appearance: none;
    -webkit-appearance: none;
    min-height: 44px;
}

.sd-form-input:hover {
    box-shadow: inset 0 -2px 0 var(--sd_c-textblack);
}

.sd-form-input:focus {
    box-shadow:
        inset 2px 0 0 var(--sd_c-textblack),
        inset -2px 0 0 var(--sd_c-textblack),
        inset 0 2px 0 var(--sd_c-textblack),
        inset 0 -2px 0 var(--sd_c-textblack);
}

.sd-form-input::placeholder {
    color: rgba(34, 34, 34, 0.3);
}

textarea.sd-form-input {
    border: none;
    min-height: 220px;
    resize: none;
    padding: var(--sd_space-xxs);
}

/* ---^--- INPUTS ---^--- */

/* ------[ CHAPTER TITLES ]------ */

.sdf-title h3 {
    font-size: var(--sd_f-size-h4);
    line-height: var(--sd_f-line-height-h4);
    letter-spacing: var(--sd_f-ls-close);
}

/* ---^--- CHAPTER TITLES ---^--- */

/* ------[ CUSTOM SELECT ]------ */

.filter-button-big.sd-form-select {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sd_space-s);
    border: none;
    border-radius: 0px;
    padding: var(--sd_space-xs) var(--sd_space-s);
    cursor: pointer;
    background: var(--sd_c-frostwhite);
    box-shadow: inset 0 -1px 0 var(--sd_c-textblack);
    transition: box-shadow .2s ease;
    user-select: none;
    min-height: 44px;
    width: 100%;
}

.filter-button-big.sd-form-select:hover {
    box-shadow: inset 0 -2px 0 var(--sd_c-textblack);
}

.filter-button-big.sd-form-select:focus-visible,
.filter-button-big.sd-form-select.active {
    outline: none;
    box-shadow:
        inset 2px 0 0 var(--sd_c-textblack),
        inset -2px 0 0 var(--sd_c-textblack),
        inset 0 2px 0 var(--sd_c-textblack),
        inset 0 -2px 0 var(--sd_c-textblack);
}

.filter-button-label {
    flex: 1;
    color: rgba(34, 34, 34, 0.3);
    text-align: left;
}

.filter-button-big.has-selection .filter-button-label {
    color: var(--sd_c-textblack);
}

.filter-arrow-up {
    display: none !important;
}

.filter-button-big.sd-form-select .filter-arrow-down .sd-icon {
    transition: transform .2s ease;
}

.filter-button-big.sd-form-select.active .filter-arrow-down .sd-icon {
    transform: rotate(180deg);
}

.filter-arrow {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.filter-arrow .sd-icon {
    width: 16px;
    height: 16px;
}

.filter-clear {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    opacity: 0.4;
    transition: var(--sd_transition-short);
}

.filter-clear:hover { opacity: 1; }

.filter-clear .sd-icon {
    width: 14px;
    height: 14px;
}

.sd-form-field {
    position: relative;
}

.sd_projekte-filter-item {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    border: var(--sd_border);
    border-top: none;
    border-radius: 0px;
    overflow: hidden;
    background: var(--sd_c-frostwhite);
    z-index: 100;
}

.filter-button.bl {
    width: 100%;
    display: flex;
    align-items: center;
    padding: var(--sd_space-xs) var(--sd_space-s);
    background: var(--sd_c-frostwhite);
    border: none;
    border-top: var(--sd_border);
    color: var(--sd_c-textblack);
    cursor: pointer;
    text-align: left;
    transition: var(--sd_transition-very-short);
}

.filter-button.bl:first-child { border-top: none; }

.filter-button.bl:hover {
    background: rgba(34, 34, 34, 0.05);
}

.filter-button.bl:focus-visible {
    outline: none;
    background: rgba(34, 34, 34, 0.08);
    box-shadow: inset 2px 0 0 var(--sd_c-textblack);
}

.filter-button.bl.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

/* ---^--- CUSTOM SELECT ---^--- */

/* ------[ RADIO BUTTONS ]------ */

.sdf-radio-group {
    display: flex;
    align-items: center;
    gap: var(--sd_space-xl);
    flex-wrap: wrap;
}

.sdf-radio-label {
    display: flex;
    align-items: center;
    gap: var(--sd_space-xs);
    cursor: pointer;
}

.sd-radio-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sd-radio-custom {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: var(--sd_border);
    background: var(--sd_c-frostwhite);
    position: relative;
    transition: var(--sd_transition-short);
}

.sdf-radio-label:hover .sd-radio-custom {
    border-color: var(--sd_c-textblack);
    background: rgba(34, 34, 34, 0.05);
}

.sd-radio-custom .sd-icon {
    display: none;
    width: 21px;
    height: 21px;
}

.sd-radio-hidden:checked + .sd-radio-custom {
    background: var(--sd_c-textblack);
    border-color: var(--sd_c-textblack);
}

.sd-radio-hidden:checked + .sd-radio-custom .sd-icon {
    display: block;
}

.sd-radio-hidden:focus-visible + .sd-radio-custom {
    outline: 2px solid var(--sd_c-textblack);
    outline-offset: 2px;
}

/* ---^--- RADIO BUTTONS ---^--- */

/* ------[ CHECKBOX ]------ */

.sdf-checkbox-field label {
    display: flex;
    align-items: center;
    gap: var(--sd_space-xs);
    cursor: pointer;
}

.sd-checkbox-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sd-checkbox-custom {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: var(--sd_border);
    margin-top: 1px;
    transition: var(--sd_transition-short);
    background: var(--sd_c-frostwhite);
    position: relative;
}

.sd-checkbox-custom .sd-icon {
    display: none;
    width: 21px;
    height: 21px;
}

.sd-checkbox-hidden:checked + .sd-checkbox-custom {
    background: var(--sd_c-textblack);
    border-color: var(--sd_c-textblack);
}

.sd-checkbox-hidden:checked + .sd-checkbox-custom .sd-icon {
    display: block;
}

.sd-checkbox-hidden:focus-visible + .sd-checkbox-custom {
    outline: 2px solid var(--sd_c-textblack);
    outline-offset: 2px;
}

.sdf-checkbox-field span:last-child {
    font-family: var(--sd_f-family-serif);
    font-size: var(--sd_f-size-p);
    line-height: var(--sd_f-line-height-p);
    color: var(--sd_c-textblack);
}

/* ---^--- CHECKBOX ---^--- */

/* ------[ HONEYPOT ]------ */

.honeypot {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

/* ------[ SUBMIT FEEDBACK ]------ */

.sdf-submit-message {
    padding: var(--sd_space-s) var(--sd_space-m);
    border: var(--sd_border);
    max-width: 500px;
}

.sdf-submit-message.success {
    border-color: rgba(0, 140, 0, 0.3);
    background: rgba(0, 140, 0, 0.05);
}

.sdf-submit-message.error {
    border-color: rgba(255, 69, 69, .3);
    background: rgba(200, 0, 0, 0.05);
}

/* ---^--- SUBMIT FEEDBACK ---^--- */

/* ------[ FORM BREAKPOINTS ]------ */

@media only screen and (max-width: 1100px) {
    .sdf-two-col {
        gap: var(--sd_space-xxxxl);
    }
}

@media only screen and (max-width: 800px) {
    .sdf-two-col {
        grid-template-columns: 1fr;
    }

    .sdf-inner-grid {
        grid-template-columns: 1fr;
    }
}

/* ---^--- FORM BREAKPOINTS ---^--- */

/* ##############   FORMS   ############## */


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

.sd_nav {
    z-index: 99;
    position: fixed;
    top: 0;
    width: 100%;
    padding: var(--sd_space-xl) var(--sd_block-padding-x) 0 var(--sd_block-padding-x);
}

.sdn-inner {
    margin: 0 auto;
    display: flex;
    gap: var(--sd_space-s);
    width: 100%;
    max-width: var(--sd_max-width);
    justify-content: space-between;
    align-items: center;
    padding: var(--sd_space-s) 0;
}

.sdni-nav {
    display: flex;
    gap: var(--sd_space-xxxs);
}

.sdni-item a,
.sdni-item button,
.sdn-fs-close {
    border-radius: var(--sd_border-radius-xs);
    padding: var(--sd_space-xs) var(--sd_space-s);
    align-items: center;
    display: flex;
    transition: all .3s ease;
}

.sdni-item.is-active a,
.sdni-item button,
.sdn-fs-close,
.sdni-item.r-company a {
    gap: var(--sd_space-xxs);
}

.sdni-item p,
.sdn-fs-close p {
    font-family: var(--sd_f-family-sans-serif-med);
    text-transform: uppercase;
    line-height: 1;
    color: var(--sd_c-white);
    white-space: nowrap;
}

.sdni-item.r-home a {
    border-radius: 19px var(--sd_border-radius-xs) var(--sd_border-radius-xs) 19px;
    padding-left: var(--sd_space-m);
}

.sdni-item.r-language {
    position: relative;
}

.sdni-item button.lang-toggle {
    border-radius: var(--sd_border-radius-xs) 19px 19px var(--sd_border-radius-xs);
    padding: var(--sd_space-xs) var(--sd_space-s);
    align-items: center;
    gap: var(--sd_space-xxs);
    display: flex;
    cursor: pointer;
    border: none;
}

.lang-toggle p {
    font-family: var(--sd_f-family-sans-serif-med);
    text-transform: uppercase;
    color: var(--sd_c-white);
}

.lang-toggle .sd-icon {
    transition: transform 200ms ease;
    height: 14px;
}

.sdni-item.is-open button.lang-toggle {
    border-radius: var(--sd_border-radius-xs) 19px var(--sd_border-radius-xs) var(--sd_border-radius-xs);
}

.r-language.is-open .lang-toggle .sd-icon {
    transform: rotate(180deg);
}

.lang-dropdown {
    position: absolute;
    top: calc(100% + var(--sd_space-xxxs));
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease, transform 180ms ease;
    border-radius: var(--sd_border-radius-xs);
}

.r-language.is-open .lang-dropdown {
    opacity: 1;
    pointer-events: auto;
}

.lang-dropdown a {
    padding: var(--sd_space-xs) var(--sd_space-s);
    display: flex;
    justify-content: start;
}

.lang-dropdown a:first-child {
    padding-bottom: calc(var(--sd_space-xxs) - var(--sd_space-xxxs));
}

.lang-dropdown a:last-child {
    padding-top: calc(var(--sd_space-xxs) - var(--sd_space-xxxs));
}

.lang-dropdown a.is-active {
    opacity: .4;
    pointer-events: none;
}

.sdni-item.r-company a {
    padding: 7px var(--sd_space-l);
    border-radius: var(--sd_border-radius);
}
.sdni-item.r-company a svg {
    height: 25px;
    width: auto !important;
}

.sdni-item a:not(.lang-dropdown a):hover,
.lang-toggle:hover,
.lang-dropdown:hover {
    opacity: .8;
}

@media only screen and (min-width: 801px) {
    .sdni-item a:not(.lang-dropdown a):hover,
    .lang-toggle:hover,
    .lang-dropdown:hover {
        transform: scale(.98);
    }
}

.sdni-item a:focus-visible,
.sdni-item button:focus-visible,
.lang-dropdown a:focus-visible {
    outline: 2px solid var(--sd_c-white);
    outline-offset: 3px;
    opacity: 1;
}
@media (pointer: coarse) {
    .sdni-item a:focus-visible,
    .sdni-item button:focus-visible,
    .lang-dropdown a:focus-visible {
        outline: none;
    }
}

.sdni-item a:hover p {
    color: var(--sd_c-white);
}

.sdn-circle {
    display: flex;
    align-items: center;
    overflow: hidden;
    width: 0;
    opacity: 0;
    flex-shrink: 0;
    transition: width 0.3s ease, opacity 0.3s ease;
}

.sdni-item.is-active .sdn-circle {
    width: 13px;
    opacity: 1;
    padding: 1px;
}



.sdn-menu-mobile {
    display: none;
    pointer-events: none;
}

.sd_nav.menu-open .sdn-menu-mobile {
    pointer-events: auto;
}

/* Burger button */
.sdn-burger {
    display: none;
    flex-direction: column;
    gap: 7px;
    background: none;
    border: none;
    padding: 19px var(--sd_space-s);
    cursor: pointer;
    flex-shrink: 0;
}

.sdn-burger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--sd_c-black);
    border-radius: 1px;
}

.sdn-close {
    display: none;
    padding: calc(var(--sd_space-s) - 3px) var(--sd_space-m);
}

.sd_nav.menu-open .sdn-burger {
    display: none !important;
}

.sd_nav.menu-open .sdn-close {
    display: flex;
}

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

/* ------[ MOBILE FULLSCREEN MENU ]------ */

.r-home-mobile { display: none; }
.r-home-desktop { display: contents; }

.sdn-fullscreen {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
    overflow: hidden;
}

.sdn-fullscreen::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
        var(--Color-Sky-Stops-7am-Base-Top),
        var(--Color-Sky-Stops-7am-Base-Bottom)
    );
    filter: brightness(.7);
    z-index: -1;
}

html.dawn .sdn-fullscreen::before {
    background: linear-gradient(to bottom,
        var(--Color-Sky-Stops-5am-Base-Top),
        var(--Color-Sky-Stops-5am-Base-Bottom)
    );
}

html.sunset .sdn-fullscreen::before {
    background: linear-gradient(to bottom,
        var(--Color-Sky-Stops-4pm-Base-Top),
        var(--Color-Sky-Stops-4pm-Base-Bottom)
    );
}

html.evening .sdn-fullscreen::before {
    background: linear-gradient(to bottom,
        var(--Color-Sky-Stops-6pm-Base-Top),
        var(--Color-Sky-Stops-6pm-Base-Bottom)
    );
}

.sdn-fullscreen.is-open {
    opacity: 1;
    pointer-events: auto;
}

.sdn-fs-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--sd_block-padding-x);
}

/* Top bar */
.sdn-fs-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.sdn-fs-close {
    background: none;
    border: none;
    cursor: pointer;
    border-radius: var(--sd_border-radius);
    padding-left: var(--sd_space-m);
}

.sdn-fs-close:hover { opacity: .7; }

.sdn-fs-close p {
    color: var(--sd_c-white);
    font-family: var(--sd_f-family-sans-serif-med);
    text-transform: uppercase;
    letter-spacing: var(--sd_f-ls-wider);
}

.sdn-fs-lang {
    display: flex;
    gap: var(--sd_space-s);
}

.sdn-fs-lang-item {
    color: var(--sd_c-white);
    font-family: var(--sd_f-family-sans-serif-med);
    text-transform: uppercase;
    letter-spacing: var(--sd_f-ls-wider);
    transition: var(--sd_transition-short);
}

.sdn-fs-lang-item.is-active {
    opacity: .35;
    pointer-events: none;
}

.sdn-fs-lang-item:not(.is-active):hover { opacity: .7; }

/* Center nav */
.sdn-fs-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: var(--sd_space-xxxl);
    flex: 1;
    gap: var(--sd_space-xs);
}

.sdn-fs-link {
    display: block;
    transition: var(--sd_transition-short);
}

.sdn-fs-link:hover { opacity: .6; }

.sdn-fs-link h2 {
    color: var(--sd_c-white);
    font-size: var(--sd_f-size-h2);
    line-height: var(--sd_f-line-height-h2);
    letter-spacing: var(--sd_f-ls-snug);
}

/* Footer */
.sdn-fs-footer {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-l);
    flex-shrink: 0;
    padding-bottom: var(--sd_space-s);
}

.sdn-fs-logo svg {
    width: 100%;
    height: auto;
}

.sdn-fs-social {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sdn-fs-social-link {
    display: flex;
    align-items: center;
    opacity: 1;
    transition: var(--sd_transition-normal);
    filter: brightness(0) invert(1);
}

.sdn-fs-social-link .sd-icon,
.sdn-fs-social-link svg {
    width: 24px;
    height: 24px;
}

.sdn-fs-legal {
    display: flex;
    align-items: center;
    gap: var(--sd_space-l);
    flex-wrap: wrap;
    justify-content: center;
}

.sdn-fs-legal a,
.sdn-fs-legal p {
    color: var(--sd_c-white);
    opacity: 1;
    transition: var(--sd_transition-normal);
}

.sdn-fs-social-link:hover,
.sdn-fs-legal a:hover { 
    opacity: .8; 
}

/* Mobile trigger */
@media only screen and (max-width: 800px) {
    .r-home-desktop { display: none; }
    .r-home-mobile {
        display: flex;
        align-items: center;
        gap: var(--sd_space-xxs);
    }

    .r-home-mobile .sd-icon,
    .sdn-fs-close .sd-icon {
        height: 14px;
    }
}

/* ---^--- MOBILE FULLSCREEN MENU ---^--- */

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

.content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.sd_module,
.block {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.sd_module:not(.full),
.block:not(.full) {
    padding: var(--sd_block-padding-y) var(--sd_block-padding-x);
}

.sd_module:not(.full):not(.full .sd_module),
.sd_block:not(.full):not(.full .sd_block),
.m-w:not(.full):not(.full .m-w) {
    width: 100%;
    max-width: var(--sd_max-width);
}

.narrow,
.sd_block.narrow:not(.full):not(.full .sd_block) {
    max-width: var(--sd_max-width-narrow);
}

.semi-narrow,
.sd_block.semi-narrow:not(.full):not(.full .sd_block) {
    max-width: var(--sd_max-width-semi-narrow);
}

.block:not(.no-fade),
.fade-item:not(.no-fade),
.sd_module:not(.no-fade) {
    opacity: 0;
    transition: opacity 0.8s ease;
}

.block.fade-in,
.fade-item.fade-in,
.sd_module.fade-in {
    opacity: 1;
}

.sd_nav:not(.no-fade) {
    transform: translateY(-110%);
    transition: transform 0.8s ease;
}

.sd_nav.slide-in {
    transform: translateY(0);
}

.m-0 { margin: 0; }
.mt-0 { margin-top: 0; }
.mr-0 { margin-right: 0; }
.mb-0 { margin-bottom: 0; }
.ml-0 { margin-left: 0; }

.p-0 { padding: 0; }
.pt-0 { padding-top: 0; }
.pr-0 { padding-right: 0; }
.pb-0 { padding-bottom: 0; }
.pl-0 { padding-left: 0; }

/* ------[ MODULES ]------ */

/* ---^--- MODULES ---^--- */


/* ------[ BLOCKS ]------ */

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

.block-type-hero-block {
    min-height: 90vh;
    padding-top: var(--sd_space-xxxxxxxl);
}

.sd_hero-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--sd_space-xxl) + var(--sd_space-xxs));
}

.sdhb-top {
    width: 100%;
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: var(--sd_space-xxxxxl);
}

.sdhb-text {
    max-width: 450px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--sd_space-s);
    padding-top: var(--sd_space-xxxl);
}

body.evening .sdhb-text p,
body.evening .sdhb-text h1 {
    color: var(--sd_c-darkblue);
}

.sdhb-logo {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    gap: var(--sd_space-xl);
}

.sdhb-logo svg {
    display: none;
    height: auto;
    animation: logo-unblur 2s ease-out forwards;
}

body.early .sdhb-logo .rizon_logo-early {
    display: block;
}

body.dawn .sdhb-logo .rizon_logo-dawn {
    display: block;
}

body.sunset .sdhb-logo .rizon_logo-sunset {
    display: block;
}

body.evening .sdhb-logo .rizon_logo-evening {
    display: block;
}

.sdhb-logo p {
    width: 100%;
    text-align: justify;
    text-align-last: justify;
}

.sdhb-visual {
    position: relative;
    width: 100%;
}

.sdhb-visual.expand {
    width: 120%;
}

.sdhb-visual .sd_button-scroll {
    position: absolute;
    top: -23px;
    left: 50%;
    transform: translateX(-50%);
}

.sdhb-interim-banner {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 50;
    padding: var(--sd_space-s) var(--sd_space-l);
    border-radius: var(--sd_border-radius-s);
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxs);
    max-width: 280px;
    transition: var(--sd_transition-long);
}

.sdhb-interim-banner.is-hidden {
    transform: translateX(calc(100% + 24px));
}

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

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

.block-type-text-block {
    padding-top: var(--sd_space-xxxxxxxxl);
    padding-bottom: var(--sd_space-xxxxxxxxl);
}

.sd_text-block {
    display: flex;
    justify-content: start;
    flex-direction: column;
    gap: var(--sd_space-xl);
    padding-top: var(--sd_space-xxxxxl);
}

.sd_text-block h3,
.sd_text-block h5,
.sd_text-block p,
.sd_text-block ul {
    width: 50%;
}

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

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

.sd_gallery-block {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-s);
    overflow: visible;
    justify-content: space-between;
}

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

.sdgb-content:not(.offset) {
    max-width: 70ch;
}

.sdgb-content.offset {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sd_space-xl);
    margin: 0 auto;
}

.evening .sdgb-content.offset h2,
.sunset .sdgb-content.offset h2,
.evening .sdgb-content.offset p,
.sunset .sdgb-content.offset p {
    color: var(--sd_c-white);
}

.sdgbi-item.company-logo-column {
    display: flex;
    gap: var(--sd_space-xxs);
    align-items: end;
}

.sdgbi-item.company-logo-column .light,
.evening .sdgbi-item.company-logo-column .dark,
.sunset .sdgbi-item.company-logo-column .dark {
    display: none;
}

.evening .sdgbi-item.company-logo-column .light,
.sunset .sdgbi-item.company-logo-column .light {
    display: flex;
}

.sdgbi-item.company-logo-column svg {
    height: 48px;
    width: auto !important;
}

.sdgbi-item.column-end {
    justify-self: end;
}

.sdgbii-label {
    justify-self: end;
    align-self: end;
}

.sdgbii-headline {
    justify-self: end;
}

.sdgb-gallery {
    display: flex;
    gap: var(--sd_space-xl);
    align-items: center;
    flex-wrap: nowrap;
    will-change: transform;
    min-height: calc(100vh - var(--sd_space-xl));
    padding-top: 64px;
}

.sdgb-gallery-item {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xs);
}

.sdgb-gallery-item img {
    width: 50vh;
    /* min-width: 100px; */
    height: auto;
}

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

/* ------[ FULLSCREEN-BLOCK ]------ */

.sd_fullscreen-block {
    width: 100% !important;
    position: relative;
}

.parallax .img-wrapper {
    overflow: hidden;
    aspect-ratio: auto !important;
    width: 100%;
    height: 100%;
}

.parallax .img-wrapper img {
    scale: 1.11;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.parallax.double-parallax .img-wrapper img {
    scale: 1;
}

.parallax .img-wrapper .parallax-overlay,
.parallax.double-parallax .img-wrapper .parallax-overlay {
    scale: 1.175;
}

.sdfb-text {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: var(--sd_space-xxxl);
    max-width: var(--sd_max-width);
}

.sdfb-text.static {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sdfb-text.scroll-headlines {
    display: flex;
    align-items: center;
    gap: var(--sd_space-s);
}

.sdfb-text.scroll-headlines p {
    width: 50%;
}

.sdfb-headline--left {
    transform: translateY(-70%);
}

.sdfb-headline--right {
    transform: translateY(70%);
}

/* ---^--- FULLSCREEN-BLOCK ---^--- */

/* ------[ FACTS-BLOCK ]------ */

.block-type-facts-block:not(.full) {
    padding-top: var(--sd_block-padding-y-xl);
    padding-bottom: var(--sd_block-padding-y-xl);
}

.sdfab-inner {
    display: grid;
    gap: var(--sd_space-xl);
    grid-template-columns: repeat(8, 1fr);
}

.sdfab-text {
    grid-column: span 3;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
    position: sticky;
    top: calc(var(--sd-nav-height) + var(--sd_space-m));
    align-self: start;
}

.sdfab-facts {
    grid-column: span 5;
}

.sdfab-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sd_space-xxxl) var(--sd_space-xl);
}

.sdfabf-item {
    padding-left: var(--sd_space-xl);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: calc(var(--sd_space-xxl) + var(--sd_space-xxs));
}

.sdfabf-header {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-s);
    hyphens: auto;
}

.sdfabf-icon-label {
    display: flex;
    align-items: center;
    gap: var(--sd_space-xxs);
}

.sdfabf-icon-label svg {
    width: 16px !important;
    height: auto;
}

/* ---^--- FACTS-BLOCK ---^--- */

/* ------[ BENEFITS-BLOCK ]------ */

.block-type-benefits-block:not(.full) {
    padding-top: var(--sd_block-padding-y-xl);
    padding-bottom: var(--sd_block-padding-y);
}
.sd_benefits-block,
.sdbeb-text {
    height: calc(100vh - var(--sd_block-padding-y) - var(--sd_block-padding-y-xl));
    overflow: hidden;
}

.sdbeb-inner {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: var(--sd_space-xl);
}

.sdbeb-text {
    grid-column: span 3;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
    justify-content: space-between;
}

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

.sdbebt-headline {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxs);
}

.sdbeb-benefits {
    grid-column: span 5;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxs);
    position: relative;
}

.sdbeb-nav {
    position: absolute;
    bottom: var(--sd_space-s);
    right: var(--sd_space-s);
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxs);
}

.sdbeb-nav-prev svg {
    transform: rotate(90deg);
}

.sdbeb-nav-next svg {
    transform: rotate(90deg);
}

.sdbeb-pagination {
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.sdbeb-pip {
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 4px;
    opacity: 0.4;
    transition: height 0.3s ease, opacity 0.3s ease;
    flex-shrink: 0;
}

.sdbeb-pip.is-active {
    height: 48px;
    opacity: 1;
}

.sdbebt-lists {
    position: relative;
}

.sdbebt-list {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxs);
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    transition: none;
}

.sdbebt-list.is-active {
    opacity: 1;
    position: relative;
    pointer-events: auto;
}


/* ---^--- BENEFITS-BLOCK ---^--- */

/* ------[ EXAMPLES-BLOCK ]------ */

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

.sdeb-text {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sd_space-xxs) var(--sd_space-xl);
    padding-top: var(--sd_block-padding-y-xl);
}

.sd_examples-block .sdeb-text.narrow {
    margin: 0 auto;
}

.sdeb-text h3 {
    grid-column: 1;
    grid-row: 1;
}

.sdeb-text.triple-rows h3 {
    grid-row: 2;
}

.sdeb-text .sdeb-intro {
    grid-column: 2;
    grid-row: 2;
}

.sdeb-text.triple-rows .sdeb-intro {
    grid-row: 3;
}

.sdeb-slider {
    display: flex;
    flex-direction: column;
}

.sdeb-tabs {
    display: flex;
    gap: var(--sd_space-xxs);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    position: relative;
    padding-bottom: var(--sd_space-l);
    margin-left: calc(-1 * var(--sd_block-padding-x));
    margin-right: calc(-1 * var(--sd_block-padding-x));
    padding-left: var(--sd_block-padding-x);
    padding-right: var(--sd_block-padding-x);
}

.sdeb-tabs::-webkit-scrollbar {
    display: none;
}

.sdeb-tabs .sd_button {
    flex-shrink: 0;
}

.sdeb-items-wrap {
    position: relative;
}

.sdeb-item {
    display: none;
}

.sdeb-item.is-active {
    display: block;
    animation: sdeb-fadein 1s ease forwards;
}

@keyframes sdeb-fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.sdeb-item.is-leaving {
    display: block;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.sdeb-nav {
    display: flex;
    align-items: center;
    gap: var(--sd_space-l);
    margin-top: var(--sd_space-l);
}

.sdeb-nav-buttons {
    display: flex;
    gap: var(--sd_space-xs);
}

.sdebnb-wrapper {
    display: flex;
    gap: var(--sd_space-xs);
}

.sdeb-nav .sd_button {
    display: none;
}

.sdeb-swiper-wrap .swiper {
    overflow: visible;
}


.sdeb-nav-info {
    display: flex;
    gap: var(--sd_space-m);
}

.sdeb-caption {
    max-width: 34vw;
}

.sdeb-swiper-wrap .swiper {
    position: relative;
    overflow: visible;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}

.sdeb-swiper-wrap .swiper-slide {
    max-width: none;
}

.sdeb-swiper-wrap .swiper-slide img {
    aspect-ratio: 8 / 5;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.sdeb-swiper-wrap .swiper-slide .video-wrapper {
    aspect-ratio: 8 / 5;
}

.sdeb-details {
    position: absolute;
    bottom: 0;
    right: 0;
    background:
        linear-gradient(var(--sd_c-frostwhite), var(--sd_c-frostwhite)) padding-box,
        linear-gradient(to bottom, var(--Color-Sky-Stops-4pm-Base-Top), var(--Color-Sky-Stops-4pm-Base-Bottom)) border-box;
    border: 9px solid transparent;
    padding: var(--sd_space-xl);
    display: flex;
    gap: calc(var(--sd_space-xxl) + var(--sd_space-xxs));
    align-items: flex-start;
    clip-path: inset(0 0 0 0);
    transition: opacity 0.5s ease, clip-path 0.35s ease;
    z-index: 10;
    width: 660px;
}

.sdeb-details.is-collapsing {
    clip-path: inset(0 100% 0 0);
}

.swiper:hover ~ .sdeb-details {
    opacity: 0.1;
}

.sdeb-details-grid {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: var(--sd_space-xs) var(--sd_space-xl);
    align-items: baseline;
    width: 100%;
}

.sdeb-details-grid p:nth-child(odd) {
    text-transform: uppercase;
    font-family: var(--sd_f-family-sans-serif-med);
}

.sdeb-details-grid p {
    color: var(--sd_c-textgrey);
}

.sdeb-details-right {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: var(--sd_space-l);
    width: 100%;
}

.sdeb-floorplan img {
    display: block;
    width: auto;
    height: 100%;
    max-height: 200px;
    object-fit: contain;
}

.sdeb-floorplan {
    position: relative;
}

.sdeb-floorplan-btn {
    position: absolute;
    bottom: -12px;
    right: -12px;
}

.sdeb-floorplan.mobile {
    display: none;
}

/* ---^--- EXAMPLES-BLOCK ---^--- */

/* ------[ FLOORPLAN OVERLAY ]------ */

.sdeb-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.sdeb-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
    touch-action: none;
}

.sdeb-overlay-bg {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.sdeb-overlay-box {
    position: relative;
    background: var(--sd_c-frostwhite);
    height: 60vh;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sdeb-overlay-img-wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

.sdeb-overlay-img-wrap.is-dragging {
    cursor: grabbing;
}

.sdeb-overlay-img-inner {
    transform-origin: center;
    line-height: 0;
    will-change: transform;
}

.sdeb-overlay-img {
    display: block;
    max-height: 50vh;
    max-width: 90vw;
    width: auto;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}

.sdeb-overlay-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--sd_space-l);
    width: 100%;
}

.sdeb-overlay-close {
    flex-shrink: 0;
    margin-right: var(--sd_space-l);
}

.sdeb-overlay-zoom-btns {
    position: absolute;
    bottom: var(--sd_space-l);
    right: var(--sd_space-l);
    display: flex;
    gap: var(--sd_space-xxs);
    z-index: 1;
}

.sdeb-overlay-zoom-out.disabled,
.sdeb-overlay-zoom-in.disabled {
    opacity: 0.4;
    pointer-events: none;
}

@media (min-width: 768px) {
    .sdeb-overlay-box {
        height: 80vh;
    }
}

/* ---^--- FLOORPLAN OVERLAY ---^--- */

/* ------[ SWITCH-BLOCK ]------ */

.block-type-switch-block:not(.full) {
    padding-top: var(--sd_block-padding-y-xl);
    padding-bottom: 0;
}

.sd_switch-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: var(--sd_space-xxxxxl);
}

.sdsb-text {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sd_space-xl);
    padding-left: var(--sd_block-padding-x);
    padding-right: var(--sd_block-padding-x);
}

.sdsb-text div {
    grid-row: 2;
    grid-column: 2;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-s);
}

.sdsb-switch {
    width: 100%;
    height: 100vh;
    display: flex;
    position: relative;
}

.sdsbs-kaufen,
.sdsbs-mieten {
    width: 30%;
    height: 100%;
    position: relative;
    overflow: hidden;
    padding: var(--sd_space-xxxxxxl) var(--sd_space-xxxl) var(--sd_space-xxxl) var(--sd_space-xxxl);
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
}

.sdsbs-kaufen .img-wrapper,
.sdsbs-mieten .img-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    z-index: 0;
}

.sdsbs-kaufen .img-wrapper img,
.sdsbs-mieten .img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sdsbs-kaufen h2,
.sdsbs-kaufen .p-l,
.sdsbs-kaufen .sdsbs-items,
.sdsbs-mieten h2,
.sdsbs-mieten .p-l,
.sdsbs-mieten .sdsbs-items {
    position: relative;
    z-index: 2;
}

.sdsbs-kaufen::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, var(--Color-Sky-Stops-7am-Base-Top), rgba(230, 219, 194) 80%, rgba(230, 219, 194, 0) 100%);
    z-index: 1;
    height: 60%;
}

.sdsbs-mieten .sdsbs-item svg rect,
.sdsbs-mieten .sdsbs-item svg path {
    stroke: white;
}

.sdsbs-mieten::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at right 15%, rgba(255, 199, 120, 1) 0%, rgba(255, 199, 120, 0) 60%),
        linear-gradient(to bottom, rgba(246, 100, 73, 1), rgba(227, 72, 62) 80%, rgba(227, 72, 62, 0) 100%);
    z-index: 1;
    height: 60%;
}

.sdsbs-kaufen,
.sdsbs-mieten {
    transition: width 0.75s cubic-bezier(0.4, 0, 0.2, 1);
}

.sdsb-switch .expanded {
    width: 70%;
}

.sdsb-toggle {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    padding: 6px;
    border-radius: var(--sd_border-radius);
    gap: 0;
    cursor: pointer;
    border: none;
}

.sdsbt-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    width: calc(50% - 6px);
    height: calc(100% - 12px);
    background: var(--sd_c-white);
    border-radius: 44px 6px 6px 44px;
    transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.65s cubic-bezier(0.34, 2.4, 0.64, 1);
    pointer-events: none;
}

.sdsb-toggle.kaufen-active:hover .sdsbt-slider {
    transform: translateX(4px);
}

.sdsb-toggle.mieten-active .sdsbt-slider {
    left: calc(50% + 0px);
    border-radius: 6px 44px 44px 6px;
    transform: translateX(0);
}

.sdsb-toggle.mieten-active:hover .sdsbt-slider {
    transform: translateX(-4px);
}

.sdsbt-option {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--sd_space-m) var(--sd_space-xxxl);
    position: relative;
    z-index: 1;
    width: 50%;
}

.sdsbt-option p {
    font-family: var(--sd_f-family-sans-serif-med);
    letter-spacing: var(--sd_f-ls-wider);
    text-transform: uppercase;
    color: var(--sd_c-white);
    white-space: nowrap;
    transition: color 0.15s ease;
}

.sdsb-toggle.kaufen-active:not(.text-transitioning) .sdsbt-kaufen p {
    color: var(--sd_c-black);
}

.sdsb-toggle.mieten-active:not(.text-transitioning) .sdsbt-mieten p {
    color: var(--sd_c-black);
}

.sdsbs-kaufen h2, 
.sdsbs-kaufen p {
    color: var(--sd_c-blue);
}

.sdsbs-mieten h2, 
.sdsbs-mieten p {
    color: var(--sd_c-white);
}

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

.sdsbs-fade {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
    transition: opacity 0.4s ease, transform 0.4s ease;
    position: relative;
    z-index: 2;
}

.sdsbs-items {
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.sdsb-switch .p-l {
    display: none;
}

.sdsb-switch .expanded .p-l {
    display: block;
}

.sdsb-switch .expanded .sdsbs-items {
    display: grid;
}

.sdsbs-item {
    display: flex;
    gap: var(--sd_space-s);
    align-items: flex-start;
}

.sdsbs-item div {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxs);
}

.sdsbs-item svg {
    flex-shrink: 0;
    margin-top: 2px;
    width: auto !important;
}

/* ---^--- SWITCH-BLOCK ---^--- */

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

.sd_contact-block {
    padding-top: var(--sd_block-padding-y-xl);
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxxxxxl);
}

.sdcb-top {
    display: grid;
    gap: var(--sd_space-xl);
    grid-template-columns: repeat(8, 1fr);
}

.sdcb-image {
    grid-column: span 4;
}

.sdcb-text {
    grid-column: 6 / span 3;
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
}

.sdcb-bottom {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--sd_space-xxxl) var(--sd_space-xl);
    align-items: start;
}

.sdcb-bottom-main {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xxxl);
}

.sdcb-bottom-aside {
    position: sticky;
    top: calc(var(--sd-nav-height) + var(--sd_space-m));
}

.sdcbb-text {
    display: flex;
    flex-direction: column;
    gap: var(--sd_space-xl);
    max-width: 50%;
}

.sdcbb-image .img-wrapper {
    height: 100%;
    width: 100%;
}

.sdcbb-image .img-wrapper img {
    height: 100%;
    object-fit: cover;
}

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

/* ------[ CTA-BLOCK ]------ */

.sd_cta-block {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: var(--sd_space-xxxl) 0;
}

.sdeb-text .sd_button {
    grid-column: 2;
    grid-row: 3;
    margin-top: var(--sd_space-xxl);
    justify-self: start;
}

/* ---^--- CTA-BLOCK ---^--- */

/* ---^--- BLOCKS ---^--- */


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

.block-type-footer-block {
    padding: 0;
}


.sd_footer-block {
    width: 100%;
}

.sdf-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 300px;
    /* background: linear-gradient(to bottom left, var(--sd_footer-fade-1) 0%, var(--sd_footer-fade-2) 100%); */
    padding: var(--sd_space-xxxxxl) var(--sd_space-xxxl) 0 var(--sd_space-xxxl);
    width: 100%;
    box-shadow: inset 0 20px 20px -10px rgba(0, 0, 0, 0.2);
}

.sdf-nav {
    display: flex;
    align-items: end;
    justify-content: space-between;
    width: 100%;
    gap: var(--sd_space-xxxl);
    max-width: var(--sd_max-width);
}

.sdf-social-nav {
    display: flex;
    align-items: center;
    gap: var(--sd_space-m);
    align-self: end;
}

.sdf-social-nav a {
    display: flex;
    align-items: center;
}

.sdf-legal-nav {
    display: flex;
    gap: calc(var(--sd_space-xxl) + var(--sd_space-xxs));
}

.early .sdf-nav p,
.sunset .sdf-nav p,
.dawn .sdf-nav p {
    color: var(--sd_c-white);
}

.evening .sdf-nav p {
    color: var(--sd_c-darkblue);
}

.sdf-company-ref {
    display: flex;
    align-items: end;
    gap: var(--sd_space-xxs);
}

.sdf-social-nav a:hover,
.sdf-company-ref a:hover {
    opacity: .6;
}

.sdf-logo {
    display: flex;
    width: 100%;
    max-width: var(--sd_max-width);
}

.sdf-logo span,
.sdf-logo svg {
    width: 100%;
    height: auto;
}

.sdf-icon-white,
.sdf-icon-darkblue {
    display: none;
}

.early .sdf-icon-yellow,
.sunset .sdf-icon-yellow,
.dawn .sdf-icon-yellow {
    display: none;
}
.early .sdf-icon-white,
.sunset .sdf-icon-white,
.dawn .sdf-icon-white {
    display: inline-flex;
}

.evening .sdf-icon-yellow {
    display: none;
}
.evening .sdf-icon-darkblue {
    display: inline-flex;
}

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

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

#cookie-banner {
    max-width: 420px;
    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.05);
}
  
/* ##############   COOKIE   ############## */



/* ==============   BREAKPOINTS   ============== */


/* ==============   TABLET   ============== */

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

    /* ------[ CONTACT-BLOCK ]------ */
    
    .sdfab-facts {
        grid-template-columns: repeat(2, 1fr);
    }

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

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

    :root {
        --sd_f-size-h1: 56px;
        --sd_f-size-h2: 48px;
        --sd_f-size-h3: 40px;
        --sd_f-size-h4: 32px;
        --sd_f-size-p-xl: 22px;
        --sd_f-size-p-l: 20px;
        --sd_f-size-p-m: 18px;
        --sd_f-size-p: 16px;
        --sd_f-size-p-s: 14px;
        --sd_f-size-caption: 14px;
    }

    h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
        letter-spacing: var(--sd_f-ls-normal);
    }

    /* ------[ BLOCKS ]------ */

    .mob-p-s {
        font-size: var(--sd_f-size-p-s);
        line-height: var(--sd_f-line-height-p);
    }

    .desktop-only {
        display: none;
    }

    .tablet-only {
        display: block;
    }

    /* ------[ EXAMPLES-BLOCK ]------ */

    .sdeb-details {
        position: static;
        background-color: transparent;
        padding: 0;
        width: 100%;
        margin-top: var(--sd_space-l);
        padding: var(--sd_space-l);
    }

    .swiper:hover ~ .sdeb-details {
        opacity: 1;
    }

    .sdeb-details-right,
    .sdeb-details-grid {
        width: 100%;
    }

    .sdeb-floorplan,
    .sdeb-details-right .sd_button {
        display: none;
    }

    .sdeb-nav {
        display: flex;
        flex-direction: column-reverse;
        align-items: start;
    }

    .sdeb-nav-buttons {
        width: 100%;
        justify-content: space-between;
    }

    .sdeb-nav .sd_button {
        display: flex;
    }

    .sdeb-nav-info {
        gap: var(--sd_space-xs);
    }

    .sdeb-caption {
        max-width: none;
    }

    .sdeb-floorplan.mobile {
        display: flex;
        position: absolute;
        z-index: 10;
        bottom: var(--sd_space-s);
        right: var(--sd_space-s);
    }

    .sdeb-text {
        padding-top: 0;
    }

    /* ---^--- EXAMPLES-BLOCK ---^--- */

    /* ------[ FACTS-BLOCK ]------ */
    
    .sdfab-inner {
        grid-template-columns: 1fr;
        gap: var(--sd_space-xxxl);
    }

    .sdfab-text {
        grid-column: span 1;
        position: static;
        gap: var(--sd_space-s);
    }

    .sdfab-facts {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--sd_space-xl);
        grid-column: span 1;
    }

    .sdfabf-item {
        padding-left: var(--sd_space-xs);
    }

    /* ---^--- FACTS-BLOCK ---^--- */

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

    .sdcb-top {
        grid-template-columns: 1fr;
    }

    .sdcb-image {
        grid-column: unset;
        grid-row: 2;
    }

    .sdcb-text {
        grid-column: unset;
    }

    .sdcbb-text {
        max-width: none;
    }

    .sdcb-bottom {
        grid-template-columns: 1fr;
    }

    .sdcb-bottom-aside {
        position: static;
    }

    .sdf-col {
        gap: var(--sd_space-l);
    }


    .sdf-checkbox-field label {
        align-items: start;
    }

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

    /* ---^--- BLOCKS ---^--- */

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

    .sdf-inner {
        gap: var(--sd_space-xxxxxxl);
    }

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

    .sdf-legal-nav {
        grid-column: span 2;
        grid-row: 2;
        justify-content: center;
    }

    .sdf-company-ref {
        justify-self: end;
    }

    .sdfl-c.tablet-only {
        grid-column: span 2;
        grid-row: 3;
        display: flex;
        justify-content: center;
    }

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

/* ==============   MOBILE   ============== */
@media only screen and (max-width: 800px) {

    :root {
        --sd_f-size-h1: 66px;
        --sd_f-size-h2: 34px;
        --sd_f-size-h3: 30px;
        --sd_f-size-h4: 26px;
        --sd_f-size-big-serif: 6.5vw;
        --sd_f-size-p-xxl: 24px;
        --sd_f-size-p-xl: 20px;
        --sd_f-size-p-l: 18px;
        --sd_f-size-p-m: 17px;
        --sd_f-size-p: 16px;
        --sd_f-size-caption: 14px;
        --sd_f-size-p-s: 13px;
        --sd_block-padding-x: 16px;
        --sd_block-padding-y-s: 27px;
        --sd_block-padding-y: 54px;
        --sd_block-padding-y-xl: 64px;
    }

    .mobile-only {
        display: block;
    }

    .sd_nav {
        width: 100%;
        padding-top: var(--sd_space-s);
    }

    .sdni-nav .sdni-item:not(.r-home):not(.r-language) {
        display: none;
    }

    /* .sdn-inner {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto 0fr;
        align-items: center;
        align-content: start;
        gap: 0;
        transition: grid-template-rows 0.35s ease;
    } */

    .sd_nav.menu-open .sdn-inner {
        grid-template-rows: auto 1fr;
    }

    .sdn-inner {
        padding: 0 0 var(--sd_space-s) 0;
    }

    .sdn-burger {
        display: flex;
        justify-self: end;
        align-self: center;
    }
    
    .sdn-menu-mobile {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: var(--sd_space-xxxxs);
        grid-column: span 2;
        min-height: 0;
        opacity: 0;
        transition: opacity 0.25s ease;
    }

    .sd_nav.menu-open .sdn-menu-mobile {
        opacity: 1;
        padding-top: var(--sd_space-xs);
        transition: opacity 0.25s ease 0.3s;
    }

    .sdn-menu-mobile .sd_button {
        margin-top: var(--sd_space-xxs);
    }

    /* ------[ BLOCKS ]------ */

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

    .block-type-hero-block {
        padding-bottom: var(--sd_block-padding-y-s) !important;
    }

    .sdhb-top {
        min-height: 60vh;
    }

    .sdhb-logo {
        gap: var(--sd_space-xs);
    }

    .sdhb-interim-banner {
        bottom: var(--sd_space-s);
        right: var(--sd_space-s);
        max-width: calc(100vw - var(--sd_space-xl));
    }

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

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

    .block-type-gallery-block {
        padding-top: var(--sd_block-padding-y-s) !important;
    }

    .sdgb-content.offset {
        gap: var(--sd_space-l);
    }

    .sdgbii-label,
    .sdgbii-headline {
        justify-self: start;
    }

    .company-logo-column {
        justify-content: end;
    }

    .sdgbii-headline,
    .sdgbii-text {
        grid-column: span 2;
    }

    .sdgbii-headline h2.ta-right {
        text-align: left;
    }

    .sdgbi-item.placeholder {
        display: none;
    }

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

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

    .sd_text-block h3,
    .sd_text-block h5,
    .sd_text-block p,
    .sd_text-block ul {
            width: 100%;
    }

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

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

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

    .sdeb-text .sd_button {
        margin-top: 0;
    }

    /* ------[ FULLSCREEN-BLOCK ]------ */

    .sd_fullscreen-block {
        height: 100vh;
    }

    .sdfb-visual,
    .sdfb-visual .img-wrapper,
    .sdfb-visual .img-wrapper img {
        height: 100%;
    }

    .sdfb-text.scroll-headlines {
        gap: var(--sd_space-xxs);
    }

    .sdfb-text {
        padding: var(--sd_space-l);
    }

    /* ---^--- FULLSCREEN-BLOCK ---^--- */

    /* ------[ CTA-BLOCK ]------ */

    .sd_cta-block {
        padding: 0;
    }

    /* ---^--- CTA-BLOCK ---^--- */
    
    /* ---^--- BLOCKS ---^--- */


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

    .sdf-inner {
        gap: var(--sd_space-xxl);
        padding: var(--sd_space-xxl) var(--sd_space-s) var(--sd_space-xl) var(--sd_space-s);
    }

    .sdf-social-nav {
        gap: var(--sd_space-s);
    }

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

    .sdf-legal-nav {
        grid-column: span 2;
        grid-row: 2;
        justify-content: center;
    }

    .sdf-company-ref {
        justify-self: end;
    }

    .sdfl-c.tablet-only {
        grid-column: span 2;
        grid-row: 3;
        display: flex;
        justify-content: center;
    }

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

    .sdf-radio-label {
        gap: 8px;
    }

    .sdf-radio-group {
        gap: 16px;
    }

    .sdgb-gallery-item img {
        max-width: 87vw;
    }

    .sdgb-gallery {
        gap: 16px;
    }

}

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

    /* ------[ BLOCKS]------ */

    /* ------[ FACTS-BLOCK ]------ */
    
    .sdfab-facts {
        grid-template-columns: repeat(1, 1fr);
    }

    /* ---^--- FACTS-BLOCK ---^--- */

    /* ---^--- BLOCKS ---^--- */

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

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

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