/** assets.desktop.67a60c43.css generated 2026-10-02 06:16:19.000000 **/


/*#region statics/fancybox3/jquery.fancybox.css*/

body.compensate-for-scrollbar {
    overflow: hidden;
}

.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    width: 100%;
    z-index: 99992;
}

.fancybox-container * {
    box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: rgb(30, 30, 30);
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71);
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
      z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    /* Using without prefix would break IE11 */
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

.fancybox-slide::before {
    content: '';
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0;
}

.fancybox-slide--image::before {
    display: none;
}

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: white;
    display: inline-block;
    margin: 0;
    max-width: 60%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}


@media only screen and (max-width: 1300px) {
    .fancybox-content {
        max-width: 90%;
    }
}


.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    -ms-transform-origin: top left;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab;
    max-width: 1200px;
    width: 96%;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.fancybox-container [data-selectable='true'] {
    cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #000;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-video,
.fancybox-iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

/* Buttons */

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
    color: #ccc;
}

.fancybox-button:hover {
    color: #fff;
}

.fancybox-button:focus {
    outline: none;
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none;
}

/* Fix IE11 */
.fancybox-button div {
    height: 100%;
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
    display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -ms-transform-origin: 0;
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998;
}

/* Close button on the top right corner of html content */

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401;
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}

/* Navigation arrows */

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

.fancybox-navigation .fancybox-button div {
    padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right);
}

/* Caption */

.fancybox-caption {
    background: linear-gradient(0deg, rgba(0,0,0,0.9023810207676821) 0%, rgba(0, 0, 0, 0.92) 50%, rgba(0, 0, 0, 0.73) 85%, rgba(0,0,0,0) 100%);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px 44px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996;
}

@supports (padding: max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
    }
}

.fancybox-caption--separate {
    margin-top: -50px;
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Loading indicator */

.fancybox-loading {
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Transition effects */

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1);
}

/* transitionEffect: slide */

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */

.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

/* transitionEffect: zoom-in-out */

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    -ms-transform: rotate(-360deg);
    transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}

/* transitionEffect: circular */

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }

    .fancybox-slide--image {
        padding: 6px 0;
    }

    .fancybox-close-small {
        right: -6px;
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px;
    }

    @supports (padding: max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right));
        }
    }
}
/* Share */

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center;
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px 0;
}

.fancybox-share p {
    margin: 0;
    padding: 0;
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px 5px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
    color: #fff;
}

.fancybox-share__button:hover {
    text-decoration: none;
}

.fancybox-share__button--fb {
    background: #3b5998;
}

.fancybox-share__button--fb:hover {
    background: #344e86;
}

.fancybox-share__button--pt {
    background: #bd081d;
}

.fancybox-share__button--pt:hover {
    background: #aa0719;
}

.fancybox-share__button--tw {
    background: #1da1f2;
}

.fancybox-share__button--tw:hover {
    background: #0d95e8;
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px;
}

.fancybox-share__button svg path {
    fill: #fff;
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%;
}
/* Thumbs */

.fancybox-thumbs {
    background: #000;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px 2px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995;
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block;
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px;
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px;
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px;
}

.fancybox-thumbs__list a::before {
    border: 3px solid #fff;
    bottom: 0;
    content: '';
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
    opacity: .5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
    opacity: 1;
}

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px;
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px;
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px);
    }
}

/*#endregion statics/fancybox3/jquery.fancybox.css*/



/*#region statics/glidejs3/css/glide.core.css*/

.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .glide * {
    box-sizing: inherit; }
  .glide__track {
    overflow: hidden; }
  .glide__slides {
    position: relative;
    width: 100%;
    list-style: none;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    margin: 0;
    will-change: transform; }
    .glide__slides--dragging {
      user-select: none; }
  .glide__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    background-size: cover;}
    .glide__slide a {
      user-select: none;
      -webkit-user-drag: none;
      -moz-user-select: none;
      -ms-user-select: none; }
  .glide__arrows {
    -webkit-touch-callout: none;
    user-select: none; }
  .glide__bullets {
    -webkit-touch-callout: none;
    user-select: none; }
  .glide--rtl {
    direction: rtl; }


/*#endregion statics/glidejs3/css/glide.core.css*/



/*#region statics/aos/aos.css*/

[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos]{pointer-events:none}[data-aos].aos-animate{pointer-events:auto}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}@media screen{html:not(.no-js) [data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;-webkit-transform:none;transform:none}html:not(.no-js) [data-aos=fade-up]{-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}html:not(.no-js) [data-aos=fade-down]{-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}html:not(.no-js) [data-aos=fade-right]{-webkit-transform:translate3d(-100px,0,0);transform:translate3d(-100px,0,0)}html:not(.no-js) [data-aos=fade-left]{-webkit-transform:translate3d(100px,0,0);transform:translate3d(100px,0,0)}html:not(.no-js) [data-aos=fade-up-right]{-webkit-transform:translate3d(-100px,100px,0);transform:translate3d(-100px,100px,0)}html:not(.no-js) [data-aos=fade-up-left]{-webkit-transform:translate3d(100px,100px,0);transform:translate3d(100px,100px,0)}html:not(.no-js) [data-aos=fade-down-right]{-webkit-transform:translate3d(-100px,-100px,0);transform:translate3d(-100px,-100px,0)}html:not(.no-js) [data-aos=fade-down-left]{-webkit-transform:translate3d(100px,-100px,0);transform:translate3d(100px,-100px,0)}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}html:not(.no-js) [data-aos=zoom-in]{-webkit-transform:scale(.6);transform:scale(.6)}html:not(.no-js) [data-aos=zoom-in-up]{-webkit-transform:translate3d(0,100px,0) scale(.6);transform:translate3d(0,100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-down]{-webkit-transform:translate3d(0,-100px,0) scale(.6);transform:translate3d(0,-100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-right]{-webkit-transform:translate3d(-100px,0,0) scale(.6);transform:translate3d(-100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-left]{-webkit-transform:translate3d(100px,0,0) scale(.6);transform:translate3d(100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-out]{-webkit-transform:scale(1.2);transform:scale(1.2)}html:not(.no-js) [data-aos=zoom-out-up]{-webkit-transform:translate3d(0,100px,0) scale(1.2);transform:translate3d(0,100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-down]{-webkit-transform:translate3d(0,-100px,0) scale(1.2);transform:translate3d(0,-100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-right]{-webkit-transform:translate3d(-100px,0,0) scale(1.2);transform:translate3d(-100px,0,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-left]{-webkit-transform:translate3d(100px,0,0) scale(1.2);transform:translate3d(100px,0,0) scale(1.2)}html:not(.no-js) [data-aos^=slide][data-aos^=slide]{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;visibility:hidden}html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate{visibility:visible;-webkit-transform:translateZ(0);transform:translateZ(0)}html:not(.no-js) [data-aos=slide-up]{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}html:not(.no-js) [data-aos=slide-down]{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}html:not(.no-js) [data-aos=slide-right]{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}html:not(.no-js) [data-aos=slide-left]{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}html:not(.no-js) [data-aos^=flip][data-aos^=flip]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}html:not(.no-js) [data-aos=flip-left]{-webkit-transform:perspective(2500px) rotateY(-100deg);transform:perspective(2500px) rotateY(-100deg)}html:not(.no-js) [data-aos=flip-left].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-right]{-webkit-transform:perspective(2500px) rotateY(100deg);transform:perspective(2500px) rotateY(100deg)}html:not(.no-js) [data-aos=flip-right].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-up]{-webkit-transform:perspective(2500px) rotateX(-100deg);transform:perspective(2500px) rotateX(-100deg)}html:not(.no-js) [data-aos=flip-up].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}html:not(.no-js) [data-aos=flip-down]{-webkit-transform:perspective(2500px) rotateX(100deg);transform:perspective(2500px) rotateX(100deg)}html:not(.no-js) [data-aos=flip-down].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}}

/*#endregion statics/aos/aos.css*/



/*#region styles.css*/

/*region fonts – DIN 2014 (lokal, statics/fonts) */
@font-face { font-family: "din-2014"; font-style: normal; font-weight: 200; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-normal-200-normal.woff2") format("woff2"), url("statics/fonts/din-2014-normal-200-normal.woff") format("woff"), url("statics/fonts/din-2014-normal-200-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: italic; font-weight: 200; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-italic-200-normal.woff2") format("woff2"), url("statics/fonts/din-2014-italic-200-normal.woff") format("woff"), url("statics/fonts/din-2014-italic-200-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: normal; font-weight: 300; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-normal-300-normal.woff2") format("woff2"), url("statics/fonts/din-2014-normal-300-normal.woff") format("woff"), url("statics/fonts/din-2014-normal-300-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: italic; font-weight: 300; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-italic-300-normal.woff2") format("woff2"), url("statics/fonts/din-2014-italic-300-normal.woff") format("woff"), url("statics/fonts/din-2014-italic-300-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: normal; font-weight: 400; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-normal-400-normal.woff2") format("woff2"), url("statics/fonts/din-2014-normal-400-normal.woff") format("woff"), url("statics/fonts/din-2014-normal-400-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: italic; font-weight: 400; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-italic-400-normal.woff2") format("woff2"), url("statics/fonts/din-2014-italic-400-normal.woff") format("woff"), url("statics/fonts/din-2014-italic-400-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: normal; font-weight: 600; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-normal-600-normal.woff2") format("woff2"), url("statics/fonts/din-2014-normal-600-normal.woff") format("woff"), url("statics/fonts/din-2014-normal-600-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: italic; font-weight: 600; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-italic-600-normal.woff2") format("woff2"), url("statics/fonts/din-2014-italic-600-normal.woff") format("woff"), url("statics/fonts/din-2014-italic-600-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: normal; font-weight: 700; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-normal-700-normal.woff2") format("woff2"), url("statics/fonts/din-2014-normal-700-normal.woff") format("woff"), url("statics/fonts/din-2014-normal-700-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: italic; font-weight: 700; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-italic-700-normal.woff2") format("woff2"), url("statics/fonts/din-2014-italic-700-normal.woff") format("woff"), url("statics/fonts/din-2014-italic-700-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: normal; font-weight: 800; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-normal-800-normal.woff2") format("woff2"), url("statics/fonts/din-2014-normal-800-normal.woff") format("woff"), url("statics/fonts/din-2014-normal-800-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014"; font-style: italic; font-weight: 800; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-italic-800-normal.woff2") format("woff2"), url("statics/fonts/din-2014-italic-800-normal.woff") format("woff"), url("statics/fonts/din-2014-italic-800-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014-narrow"; font-style: normal; font-weight: 200; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-narrow-normal-200-normal.woff2") format("woff2"), url("statics/fonts/din-2014-narrow-normal-200-normal.woff") format("woff"), url("statics/fonts/din-2014-narrow-normal-200-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014-narrow"; font-style: normal; font-weight: 300; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-narrow-normal-300-normal.woff2") format("woff2"), url("statics/fonts/din-2014-narrow-normal-300-normal.woff") format("woff"), url("statics/fonts/din-2014-narrow-normal-300-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014-narrow"; font-style: normal; font-weight: 400; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-narrow-normal-400-normal.woff2") format("woff2"), url("statics/fonts/din-2014-narrow-normal-400-normal.woff") format("woff"), url("statics/fonts/din-2014-narrow-normal-400-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014-narrow"; font-style: normal; font-weight: 600; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-narrow-normal-600-normal.woff2") format("woff2"), url("statics/fonts/din-2014-narrow-normal-600-normal.woff") format("woff"), url("statics/fonts/din-2014-narrow-normal-600-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014-narrow"; font-style: normal; font-weight: 700; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-narrow-normal-700-normal.woff2") format("woff2"), url("statics/fonts/din-2014-narrow-normal-700-normal.woff") format("woff"), url("statics/fonts/din-2014-narrow-normal-700-normal.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "din-2014-narrow"; font-style: normal; font-weight: 800; font-stretch: normal; src: local(""), url("https://www.duerrschmidt-gmbh.de/./statics/fonts/din-2014-narrow-normal-800-normal.woff2") format("woff2"), url("statics/fonts/din-2014-narrow-normal-800-normal.woff") format("woff"), url("statics/fonts/din-2014-narrow-normal-800-normal.otf") format("opentype"); font-display: swap; }
/*endregion*/

/*region root – Design-Tokens (Werte aus den 1920px-Layoutvorlagen gemessen, siehe docs/RELAUNCH-PLAN.md) */
:root {
    /* Schrift */
    --font-face-default: "din-2014", Arial, Helvetica, sans-serif;
    --font-face-narrow: "din-2014-narrow", "din-2014", Arial, sans-serif;

    /* Farben */
    --col-blue: #009fe3;
    --col-blue-dark: #0086c0;
    --col-bg-light: #f2f3f6;
    --col-bg-grey: #efefef;
    --col-white: #ffffff;
    --col-text: #000000;
    --col-border: #d9f1fb;
    --col-error: #c8102e;

    /* Raster */
    --container: 1152px;
    --gutter: 32px;
    --grid-gap: 20px;
    --shop-gap: 50px;
    --shop-row-gap: 32px;

    /* Abstaende */
    --section-pad: 112px;
    --section-pad-inner: 105px;

    /* Typografie (Desktop 1920) */
    --fs-body: 18px;
    --lh-body: 26px;
    --fs-small: 16px;
    --lh-small: 24px;
    --fs-nav: 20px;
    --fs-label: 24px;
    --fs-h2: 36px;
    --lh-h2: 36px;
    --fs-h1: 100px;
    --lh-h1: 120px;
    --fs-card-title: 24px;
    --lh-card-title: 26px;
    --fs-kpi: 48px;
    --fs-button: 14px;

    /* Elemente */
    --header-height: 88px;
    --hero-home: 760px;
    --hero-sub: 504px;
    --button-height: 40px;
    --radius: 0px;
}
/*endregion*/

/*region base */
html {
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
    height: 100%;
    scroll-behavior: smooth;
}
*, *:before, *:after { box-sizing: inherit; }

body {
    position: relative;
    margin: 0;
    min-width: 320px;
    background-color: var(--col-white);
    overflow-x: hidden;
}

body, a, td, th, br, input, select, textarea, button, h1, h2, h3, h4, h5, h6, p, li {
    font-family: var(--font-face-default);
    font-style: normal;
    font-weight: 400;
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    text-decoration: none;
    color: var(--col-text);
    margin: 0;
}

a { color: var(--col-blue); transition: color .25s ease, background-color .25s ease, opacity .25s ease; }
a:hover { color: var(--col-blue-dark); }

img { border: none; max-width: 100%; height: auto; display: block; }
p { margin: 0 0 16px 0; }
p:last-child { margin-bottom: 0; }

ul, ol {
    margin: 0 0 16px 0;
    padding: 0 0 0 24px;
}
ul li, ol li { margin: 0 0 4px 0; }

form { margin: 0; padding: 0; }
strong, b, .Textfett { font-weight: 700; }
em, i { font-style: italic; }
sup { font-size: .7em; line-height: 0; position: relative; vertical-align: baseline; top: -.5em; }
hr { border: 0; border-top: 1px solid var(--col-bg-grey); margin: 32px 0; }

table { border-collapse: collapse; width: 100%; }
table td, table th { padding: 6px 12px 6px 0; vertical-align: top; text-align: left; }
table th { font-weight: 700; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.Clear { clear: both; height: 0; overflow: hidden; }
.clearfix:after { content: ""; display: table; clear: both; }
.hyphens { -webkit-hyphens: auto; hyphens: auto; }
.Uppercase { text-transform: uppercase; }
/*endregion*/

/*region CMS-Standardklassen (werden vom Editor/Backend verwendet) */
.Titel, h1.Titel {
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 700;
    color: var(--col-text);
    margin: 0 0 24px 0;
}
.Untertitel, h2.Untertitel, h3.Untertitel {
    font-size: var(--fs-card-title);
    line-height: var(--lh-card-title);
    font-weight: 700;
    margin: 0 0 16px 0;
}
.Textgross, .Textgrossfett { font-size: 22px; line-height: 30px; }
.Textgrossfett { font-weight: 700; }
.Textnormal { font-size: var(--fs-body); line-height: var(--lh-body); }
.Textklein, .TextkleinFett { font-size: 15px; line-height: 20px; }
.TextkleinFett { font-weight: 700; }
.Textlabel, .section-label {
    font-size: var(--fs-label);
    line-height: 26px;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--col-text);
}
.Blau, .Blue { color: var(--col-blue); }
.Weiss, .White { color: var(--col-white); }
.AbstandKlein, .Space5, .Space10 { height: 10px; }
.Abstand, .Space20 { height: 20px; }
.AbstandGross, .Space30, .Space50 { height: 40px; }
.Trennlinie { height: 1px; background: var(--col-bg-grey); margin: 32px 0; }
.Duty { color: var(--col-blue); }
.error, .Fehler { color: var(--col-error); }

.Textnormal ul, .Textnormal ol, .detail-text ul, .detail-text ol { margin: 0 0 16px 0; padding-left: 24px; }
.Textnormal a, .detail-text a, .intro-text a { color: var(--col-blue); text-decoration: none; border-bottom: 1px solid transparent; }
.Textnormal a:hover, .detail-text a:hover, .intro-text a:hover { border-bottom-color: currentColor; }
/*endregion*/

/*region Buttons & Links */
.Button, .Mehr, button.Button, input.Button, .formSubmit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--button-height);
    padding: 0 24px;
    background-color: var(--col-blue);
    color: var(--col-white);
    font-family: var(--font-face-default);
    font-size: var(--fs-button);
    line-height: 1;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border: 1px solid var(--col-blue);
    border-radius: var(--radius);
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
    -webkit-appearance: none;
    appearance: none;
}
.Button:hover, .Mehr:hover, .formSubmit:hover { background-color: var(--col-blue-dark); border-color: var(--col-blue-dark); color: var(--col-white); }
.Button.outline-btn, .Button.btn-outline { background-color: transparent; color: var(--col-blue); }
.Button.outline-btn:hover, .Button.btn-outline:hover { background-color: var(--col-blue); color: var(--col-white); }
.Button.white-btn { background-color: transparent; color: var(--col-white); border-color: var(--col-white); }
.Button.white-btn:hover { background-color: var(--col-white); color: var(--col-blue); }
.Button.wide { min-width: 288px; }

/* "-> mehr dazu" – Pfeil-Link */
.arrow-link, .boxgrid-more, .Verweis {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--col-blue);
    font-size: var(--fs-body);
    line-height: 26px;
    font-weight: 700;
}
.arrow-link:before, .boxgrid-more:before, .Verweis:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right.svg") no-repeat center / contain;
    flex: 0 0 auto;
}
.arrow-link:hover, .boxgrid-more:hover, .Verweis:hover { color: var(--col-blue-dark); }
.arrow-link.white, .white .arrow-link, .blue .boxgrid-more { color: var(--col-white); }
.arrow-link.white:before, .white .arrow-link:before, .blue .boxgrid-more:before { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right_white.svg"); }

.Download, .Email, .Telefon { display: inline-flex; align-items: center; gap: 10px; color: var(--col-blue); font-weight: 700; }
.Download:before, .Email:before, .Telefon:before { content: ""; display: inline-block; width: 22px; height: 22px; background: no-repeat center / contain; flex: 0 0 auto; }
.Download:before { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/download.svg"); }
.Email:before { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/email.svg"); }
.Telefon:before { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/phone.svg"); }
/*endregion*/

/*region Formular-Grundelemente */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="password"], textarea, select, .Feld, .Feldtext, .Select {
    display: block;
    width: 100%;
    min-height: 60px;
    padding: 0 15px;
    background: var(--col-white);
    border: 1px solid var(--col-white);
    border-radius: var(--radius);
    font-family: var(--font-face-default);
    font-size: 20px;
    line-height: var(--lh-body);
    color: var(--col-text);
    outline: none;
    transition: border-color .25s ease;
    -webkit-appearance: none;
    appearance: none;
}
textarea, .Feldtext { min-height: 160px; padding: 16px 15px; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--col-blue); }
::placeholder { color: #878787; opacity: 1; }
select { background: var(--col-white) url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_down.svg") no-repeat right 20px center / 16px; padding-right: 48px; }
input[type="checkbox"], input[type="radio"] { width: 24px; height: 24px; margin: 0 12px 0 0; accent-color: var(--col-blue); vertical-align: middle; }
label.error, span.error { display: block; color: var(--col-error); font-size: 15px; line-height: 20px; margin: 4px 0 0 0; }
input.error, textarea.error, select.error { border-color: var(--col-error); }
/*endregion*/


/*#endregion styles.css*/



/*#region styles_addon.css*/

/* =========================================================================
   Dürrschmidt GmbH – Komponenten (Desktop-Werte 1:1 aus den 1920px-Vorlagen)
   Reihenfolge: Layout-Grundgerüst, Header, Hero, Sections, Karten, Shop,
   Vormerkliste, Formulare, Detail/Fancybox, Footer
   ========================================================================= */

/*region Scrollbars – Blau auf Hellgrau (Firefox: scrollbar-color, WebKit/Chromium: ::-webkit-scrollbar).
  scrollbar-width/-color werden vererbt, die Regel auf html deckt damit auch Fancybox, Flyout und Textfelder ab. */
html {
    scrollbar-width: thin;
    scrollbar-color: var(--col-blue) var(--col-bg-light);
}
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--col-bg-light); }
::-webkit-scrollbar-thumb {
    background: var(--col-blue);
    border: 2px solid var(--col-bg-light);
    border-radius: 6px;
    transition: background-color .25s ease;
}
::-webkit-scrollbar-thumb:hover { background: var(--col-blue-dark); }
::-webkit-scrollbar-thumb:active { background: var(--col-blue-dark); }
::-webkit-scrollbar-corner { background: var(--col-bg-light); }
/*endregion*/

/*region Layout-Grundgerüst */
body { padding-top: var(--header-height); }

.Container, .container {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    position: relative;
}
main {
    display: block;
    position: relative;
    width: 100%;
    min-height: 320px;
    clear: both;
}
#Content { position: relative; }

section.section, .section {
    padding: var(--section-pad-inner) 0 var(--section-pad) 0;
}
.section-heading {
    text-align: center;
    margin: 0 0 40px 0;
}
.section-heading.heading-left { text-align: left; }
.section-heading .section-label { display: block; margin: 0 0 24px 0; }
.section-heading .Titel, .section-heading h1, .section-heading h2 {
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
    font-weight: 700;
    margin: 0;
}
.section-heading.white .section-label, .section-heading.white .Titel { color: var(--col-white); }

.no-title { height: 0; }
.widgetContainer { padding: 16px 0; }
.widgetArticle { position: absolute; top: 8px; right: 8px; z-index: 20; }
/*endregion*/

/*region Header */
header#Top {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    height: var(--header-height);
    background: var(--col-white);
    box-shadow: 0 1px 0 rgba(0, 0, 0, .04);
}
header .headContainer {
    position: relative;
    width: 100%;
    max-width: min(1408px, calc(100% - 64px));
    height: var(--header-height);
    margin: 0 auto;
}

/* Logo-Box 278x120, x 234-511 (1920): weisse Flaeche ragt 32px in den Hero; Logo-SVG 215px breit (blauer Rahmen ist Teil des SVG) */
header .logo {
    position: absolute;
    left: -22px;
    top: 0;
    z-index: 3;
    display: block;
    width: 278px;
    height: 120px;
    padding: 21px 30px 0 33px;
    background: var(--col-white);
}
header .logo img { display: block; width: 215px; height: auto; }

/* Hauptnavigation - zentriert, Trenner 32px hoch, Abstand 103px je Seite (Text 596-781, Trenner 885, Text 990 bei 1920) */
nav#Navigation {
    --nav-gap: 103px;
    position: absolute;
    z-index: 4;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    height: var(--header-height);
}
nav#Navigation > ul {
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0; padding: 0;
    list-style: none;
}
nav#Navigation > ul > li {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
}
/* Trenner liegt ausserhalb der li-Box (absolut), damit sich das Flyout nur am Linktext ausrichtet */
nav#Navigation > ul > li + li { margin-left: calc(var(--nav-gap) * 2 + 1px); }
nav#Navigation > ul > li + li:before {
    content: "";
    position: absolute;
    left: calc(var(--nav-gap) * -1 - 2px);
    top: 50%;
    width: 2px;
    height: 20px;
    margin-top: -10px;
    background: var(--col-text);
}
nav#Navigation > ul > li > a {
    position: relative;
    z-index: 2;
    display: block;
    font-size: var(--fs-nav);
    line-height: var(--header-height);
    font-weight: 600;
    color: var(--col-text);
    white-space: nowrap;
}
nav#Navigation > ul > li > a:hover,
nav#Navigation > ul > li > a.Active { color: var(--col-blue); }
nav#Navigation > ul > li.open > a { color: var(--col-white); }

/* Flyout-Dropdown: blaue Box ist bei allen Hauptpunkten gleich breit (--nav-box) und sitzt mittig ueber dem Linktext.
   352px = Box von "Roboter & Anlagenbau" schliesst buendig an die Logo-Box an (x 511 bei 1920). Beginnt an der
   Oberkante des Headers; die Liste steht als Block mittig in der Box, Eintraege im 30px-Raster, Umbruchzeilen 20px.
   Punkte ohne Unterpunkte (Shop) bekommen keine Box, nur den blauen Text-Hover. Die Trenner links und rechts
   vom geoeffneten Punkt werden ausgeblendet, damit keiner knapp neben oder halb unter der Box steht. */
nav#Navigation { --nav-box: 352px; }
nav#Navigation > ul > li.open:before,
nav#Navigation > ul > li.open + li:before { opacity: 0; }
nav#Navigation ul.sub {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 1;
    display: none;
    grid-template-columns: fit-content(100%);
    justify-content: center;
    width: var(--nav-box);
    margin: 0 0 0 calc(var(--nav-box) / -2);
    padding: calc(var(--header-height) + 3px) 30px 22px 30px;
    list-style: none;
    background: var(--col-blue);
}
nav#Navigation > ul > li.open > ul.sub { display: grid; }
nav#Navigation ul.sub li { margin: 0 0 10px 0; line-height: 20px; }
nav#Navigation ul.sub a {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: var(--fs-body);
    line-height: 20px;
    font-weight: 400;
    color: var(--col-white);
}
nav#Navigation ul.sub a:before {
    content: "";
    flex: 0 0 auto;
    width: 13px; height: 13px;
    margin-top: 4px;
    background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right_white.svg") no-repeat center / contain;
}
nav#Navigation ul.sub a:hover, nav#Navigation ul.sub a.Active { text-decoration: underline; }
nav#Navigation ul.Mobile { display: none; }

/* Burger (nur mobil sichtbar) */
/* mobile Kontakt-Icons (Header) und Kontaktblock im Menue - erst unter 901px sichtbar */
header .header-contact, nav#Navigation .nav-contact, .short-slider .glide__bullets { display: none; }
#NavigationToggle {
    display: none;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px; height: 44px;
    cursor: pointer;
    z-index: 5;
}
#NavigationToggle .burger {
    position: absolute;
    left: 8px; right: 8px;
    height: 3px;
    background: var(--col-blue);
    transition: transform .3s ease, opacity .3s ease, top .3s ease;
}
#NavigationToggle .burger:nth-child(1) { top: 12px; }
#NavigationToggle .burger:nth-child(2) { top: 21px; }
#NavigationToggle .burger:nth-child(3) { top: 30px; }
#NavigationToggle.active .burger:nth-child(1) { top: 21px; transform: rotate(45deg); }
#NavigationToggle.active .burger:nth-child(2) { opacity: 0; }
#NavigationToggle.active .burger:nth-child(3) { top: 21px; transform: rotate(-45deg); }

/* Seitliche Flyout-Icons (Telefon / Mail / Uhr) 39x39, Abstand 11px, rechts am Rand */
nav#NavigationSide {
    position: fixed;
    right: 0;
    top: 215px;
    z-index: 900;
}
nav#NavigationSide ul { list-style: none; margin: 0; padding: 0; }
nav#NavigationSide li { margin: 0 0 11px 0; position: relative; }
nav#NavigationSide li a.flyoutimage {
    display: block;
    width: 39px; height: 39px;
    background-color: var(--col-blue);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    transition: background-color .25s ease;
}
nav#NavigationSide li a.flyoutimage:hover { background-color: var(--col-blue-dark); }
nav#NavigationSide li .flyout_text {
    position: absolute;
    right: 39px;
    top: 0;
    height: 39px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    background: var(--col-blue);
    color: var(--col-white);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(8px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
nav#NavigationSide li .flyout_text a { color: var(--col-white); font-size: var(--fs-small); font-weight: 600; }
nav#NavigationSide li:hover .flyout_text { opacity: 1; visibility: visible; transform: translateX(0); }
/*endregion*/

/*region Hero / Sliding-Content (760px Startseite, 504px Unterseiten) */
#Glider, .glide.title {
    position: relative;
    width: 100%;
    height: var(--hero-sub);
    overflow: hidden;
    background: var(--col-bg-grey);
}
body.home #Glider { height: var(--hero-home); }
/* Titelbilder aus sitetitle.php: immer 1920x500 -> Seitenverhaeltnis statt fester Hoehe, auch mobil */
#Glider.title { height: auto; aspect-ratio: 1920 / 500; }
#Glider.title .glide__track, #Glider.title .glide__slides, #Glider.title .glide__slide { height: 100%; min-height: 0; }
#Glider .glide__track, #Glider .glide__slides, #Glider .glide__slide { height: 100%; }
#Glider .glide__slides { margin: 0; padding: 0; list-style: none; }
#Glider .glide__slide { position: relative; overflow: hidden; }
#Glider .glide__background, #Glider .glide__image {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
#Glider .glide__image video { width: 100%; height: 100%; object-fit: cover; }
#Glider .glide__background.hasContent:after, #Glider .glide__image.hasContent:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .25);
}
#Glider .glide__content {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 832px;
    padding: 0 20px;
    text-align: center;
    color: var(--col-white);
}
#Glider .glide__content.left { left: calc(50% - 576px); transform: translate(0, -50%); text-align: left; }
#Glider .glide__content.right { left: auto; right: calc(50% - 576px); transform: translate(0, -50%); text-align: left; }
#Glider .glider__topline {
    display: block;
    font-size: 30px;
    line-height: 36px;
    font-weight: 600;
    color: var(--col-blue);
    margin: 0 0 22px 0;
}
#Glider .glider__title, #Glider .glider__title h1, #Glider .glider__title h2 {
    display: block;
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
    font-weight: 700;
    color: var(--col-white);
    margin: 0 0 24px 0;
}
#Glider .glider__subtitle {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
    font-weight: 400;
    color: var(--col-white);
    margin: 0 0 16px 0;
}
#Glider .glider__text { font-size: var(--fs-body); line-height: var(--lh-body); color: var(--col-white); }
#Glider .glider__text p { margin: 0 0 16px 0; }
#Glider .glider__button { margin-top: 32px; min-width: 150px; min-height: 40px; }

/* Pfeile weiss, 33px, 202px vom Seitenrand (1920) */
#Glider .glide__arrows { position: absolute; inset: 0; pointer-events: none; }
#Glider .glide__arrow {
    position: absolute;
    top: 50%;
    width: 33px; height: 48px;
    margin-top: -24px;
    padding: 0;
    border: 0;
    background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_left_white.svg") no-repeat center / 33px auto;
    cursor: pointer;
    pointer-events: auto;
    opacity: .9;
    transition: opacity .25s ease;
}
#Glider .glide__arrow:hover { opacity: 1; }
#Glider .glide__arrow--left { left: 10.5%; }
#Glider .glide__arrow--right { right: 10.5%; background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right_white.svg"); }
#Glider .glide__bullets { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
#Glider .glide__bullet { width: 10px; height: 10px; border-radius: 50%; border: 1px solid #fff; background: transparent; padding: 0; cursor: pointer; }
#Glider .glide__bullet--active { background: #fff; }

/* statisches Titelbild (Unterseite ohne Sliding-Content) */
.glide.title .glide__background { position: absolute; inset: 0; background-size: cover; background-position: center; }
/*endregion*/

/*region Boxartikel / Newsartikel (Vorlage: 3 x 370px, Gap 20px, Bild 370x265, Text 10px eingerueckt) – 3 x 376px, Gap 12px */
.boxgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: var(--grid-gap);
    row-gap: 47px;
}
.boxgrid-item {
    display: flex;
    flex-direction: column;
    position: relative;
    color: var(--col-text);
}
.boxgrid-image {
    width: 100%;
    aspect-ratio: 370 / 265;
    overflow: hidden;
    background: var(--col-bg-grey);
}
.boxgrid-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.boxgrid-item.has-link:hover .boxgrid-image img { transform: scale(1.04); }
.boxgrid-content { padding: 26px 10px 0 10px; display: flex; flex-direction: column; flex: 1 1 auto; }
.boxgrid-title {
    font-size: var(--fs-card-title);
    line-height: var(--lh-card-title);
    font-weight: 700;
    margin: 0 0 10px 0;
}
.boxgrid-text { font-size: var(--fs-body); line-height: var(--lh-body); margin: 0 0 4px 0; }
.boxgrid-more { margin-top: auto; }
/*endregion*/

/*region Produktübersicht (020) – Karten mit grauem/blauem Body, jede 3. blau */
.productgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: var(--grid-gap);
    row-gap: 40px;
}
.product-card {
    display: flex;
    flex-direction: column;
    background: var(--col-bg-light);
    color: var(--col-text);
    min-height: 458px;
}
.product-card .product-card-image { aspect-ratio: 370 / 265; overflow: hidden; background: var(--col-bg-grey); }
.product-card .product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.product-card:hover .product-card-image img { transform: scale(1.04); }
.product-card .product-card-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 40px 30px 28px 30px; }
.product-card .product-card-title { font-size: var(--fs-card-title); line-height: 26px; font-weight: 700; margin: 0 0 24px 0; }
.product-card .arrow-link { margin-top: auto; }
/*endregion*/

/*region Kennzahlen-Band - blau, 318px hoch, 3 Kennzahlen space-between, jede in sich zentriert (Wert 48px bold, Text 24px, Laufweite 100) */
.kpi-band {
    background: var(--col-blue);
    color: var(--col-white);
    padding: 115px 0 111px 0;
}
.kpi-band .kpi-grid { display: flex; justify-content: space-between; align-items: flex-start; }
.kpi-band .kpi { text-align: center; }
.kpi-band .kpi-value { font-size: var(--fs-kpi); line-height: 1; font-weight: 700; color: var(--col-white); }
.kpi-band .kpi-name { font-size: var(--fs-label); line-height: 32px; font-weight: 400; letter-spacing: .1em; color: var(--col-white); margin-top: 12px; padding-left: .1em; }
.kpi-band .section-heading { margin-bottom: 56px; }
/*endregion*/

/*region Kurzartikel / News-Slider ("AKTUELLES") – Text 513px | Bild 501x401, Pfeile ausserhalb */
.short-section { padding: 131px 0 108px 0; }
/* Fallback: leere News-Section (keine Newsartikel) nicht anzeigen */
.news-slider-section:has(> .Container:empty) { display: none; }
.short-article { position: relative; }
.short-article .article-inner {
    display: grid;
    grid-template-columns: 513px 501px;
    justify-content: space-between;
    align-items: center;
}
.short-article .image-wrapper { aspect-ratio: 501 / 401; overflow: hidden; background: var(--col-bg-grey); }
.short-article .image-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.short-article .text-wrapper .section-label { display: block; margin: 0 0 24px 0; }
.short-article .text-wrapper .Titel { margin: 0 0 16px 0; }
.short-article .text-wrapper .intro-text { margin: 0 0 37px 0; }
.short-article .text-wrapper .Button { min-width: 155px; min-height: 45px; }
.short-article.picture_left .article-inner { grid-template-columns: 501px 513px; }
.short-article.picture_left .image-wrapper { order: -1; }
.short-article.text_only .article-inner { grid-template-columns: 1fr; }
.short-article.text_only .intro-text { max-width: 100%; }

/* Glide-Carousel mit Kurz-/Newsartikeln */
.short-slider { position: relative; }
.short-slider .glide__track { overflow: hidden; }
.short-slider .glide__slides { list-style: none; margin: 0; padding: 0; display: flex; }
.short-slider .glide__slide { flex: 0 0 auto; } /* Breite setzt Glide inline; 100% waere die ganze Slide-Leiste (Anzahl x Breite) */
.slider-arrow {
    position: absolute;
    top: 50%;
    width: 48px; height: 48px;
    margin-top: -24px;
    padding: 0;
    border: 0;
    background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_left.svg") no-repeat center / 40px auto;
    cursor: pointer;
    opacity: .9;
}
.slider-arrow:hover { opacity: 1; }
.slider-arrow.prev { left: max(-192px, calc((100% - 100vw) / 2 + 24px)); }
.slider-arrow.next { right: max(-192px, calc((100% - 100vw) / 2 + 24px)); background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right.svg"); }
/*endregion*/

/* Button "Alle News & Stories" unter dem Slider */
.news-all { margin-top: 64px; text-align: center; }

/*region Teaser mit Parallax-Bild – 624px, blaue Box 572x500 rechts */
/* Seitenverhaeltnis 1920:624 auf allen Breiten ueber 900px; die Box steht im Fluss (Abstand 62/53px bei 1920,
   mitskaliert), damit laengerer Text den Teaser notfalls verlaengert statt abgeschnitten zu werden.
   overflow: clip statt hidden - kein Scroll-Container, sonst greift die Inhalts-Mindesthoehe von aspect-ratio nicht */
.teaser-outer {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    aspect-ratio: 1920 / 624;
    padding: 3.23% 2.76%;
    overflow: hidden;
    overflow: clip;
}
.teaser-outer.box_left { justify-content: flex-start; }
.teaser-outer .teaser-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    will-change: transform;
}
.teaser-outer .teaser-bg video { width: 100%; height: 100%; object-fit: cover; }
.teaser-overlay-box {
    position: relative;
    z-index: 1;
    flex: 0 1 572px;
    padding: 80px;
    background: var(--col-blue);
    color: var(--col-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.teaser-overlay-box .teaser-topline { font-size: var(--fs-label); line-height: 32px; font-weight: 300; letter-spacing: .06em; text-transform: uppercase; color: var(--col-white); margin: 0 0 24px 0; }
.teaser-overlay-box .Titel, .teaser-overlay-box h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: 700; color: var(--col-white); margin: 0 0 24px 0; }
.teaser-overlay-box .teaser-text { font-size: var(--fs-body); line-height: 24px; color: var(--col-white); margin: 0 0 40px 0; }
.teaser-overlay-box .teaser-button { align-self: flex-start; min-width: 148px; min-height: 38px; background: transparent; border-color: var(--col-white); color: var(--col-white); }
.teaser-overlay-box .teaser-button:hover { background: var(--col-white); color: var(--col-blue); }
/*endregion*/

/*region Icon-Band (Zusatznavigation) – hellgrau, Kreise 161px */
.iconband {
    background: var(--col-bg-light);
    padding: 110px 0 126px 0;
}
.iconband-inner {
    width: 100%;
    max-width: 1401px;
    margin: 0 auto;
    display: flex;
}
.iconband-item {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--col-blue);
}
.iconband-circle {
    width: 161px; height: 161px;
    border-radius: 50%;
    border: 2px solid var(--col-blue);
    background: var(--col-white) no-repeat center / 64px 64px;
    transition: background-color .25s ease;
}
.iconband-item.active .iconband-circle, .iconband-item:hover .iconband-circle { background-color: var(--col-blue); }
.iconband-label {
    margin-top: 16px;
    font-size: var(--fs-label);
    line-height: 32px;
    font-weight: 400;
    color: var(--col-blue);
}
.iconband-item.active .iconband-label { font-weight: 700; }
/*endregion*/

/*region Intro (Unternehmen) */
.intro-section { padding: 159px 0 116px 0; }
.intro-section .section-label { display: block; margin: 0 0 24px 0; }
.intro-section .Titel { margin: 0 0 16px 0; }
.intro-section .intro-text { margin: 0 0 47px 0; }
.intro-section .intro-text p { margin: 0 0 24px 0; }
.intro-section .Button { min-width: 148px; min-height: 39px; }
/* Einleitung direkt vor einem Karten-Raster (z.B. Roboter & Anlagenbau): kein doppelter Section-Abstand */
.intro-section:has(+ .boxgrid-section), .intro-section:has(+ .product-section), .intro-section:has(+ .akkordeon_wrapper), .intro-section:has(+ .form-section), .intro-section:has(+ .shop-section) { padding-bottom: 0; }
.intro-section:has(+ .boxgrid-section) .intro-text:last-child, .intro-section:has(+ .product-section) .intro-text:last-child, .intro-section:has(+ .akkordeon_wrapper) .intro-text:last-child, .intro-section:has(+ .form-section) .intro-text:last-child, .intro-section:has(+ .shop-section) .intro-text:last-child { margin-bottom: 0; }
.intro-section:has(+ .akkordeon_wrapper) .intro-text > p:last-child, .intro-section:has(+ .form-section) .intro-text > p:last-child, .intro-section:has(+ .shop-section) .intro-text > p:last-child { margin-bottom: 0; }
.intro-section + .boxgrid-section, .intro-section + .product-section, .intro-section + .akkordeon_wrapper, .intro-section + .form-section { padding-top: 64px; }
.intro-section + .shop-section { padding-top: 48px; }
/*endregion*/

/*region Ansprechpartner (vorbereitet, Artikeltyp folgt) */
.team-section { background: var(--col-bg-grey); padding: 120px 0 110px 0; }
.team-section .section-heading { text-align: left; margin-bottom: 44px; }
.team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.team-card { display: flex; background: var(--col-white); min-height: 208px; }
.team-card-image { flex: 0 0 208px; width: 208px; height: 208px; overflow: hidden; }
.team-card-image img { width: 100%; height: 100%; object-fit: cover; }
.team-card-body { padding: 32px; display: flex; flex-direction: column; }
.team-card-name { font-size: var(--fs-card-title); line-height: var(--lh-card-title); font-weight: 700; }
.team-card-position { font-size: var(--fs-small); line-height: 20px; margin: 4px 0 16px 0; }
.team-card-contact a { display: flex; align-items: center; gap: 10px; font-size: var(--fs-small); line-height: 24px; color: var(--col-text); }
.team-card-contact a:before { content: ""; width: 23px; height: 23px; border-radius: 50%; background: var(--col-blue) no-repeat center / 12px; }
.team-card-contact a.Telefon:before { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/telefon_white.svg"); }
.team-card-contact a.Email:before { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/email_white.svg"); }
/*endregion*/

/*region Akkordeon (FAQ) */
.akkordeon_wrapper { padding: var(--section-pad-inner) 0 var(--section-pad) 0; }
.akkordeon_wrapper .section-heading { margin-bottom: 40px; }
.accordeon_box { position: relative; border-top: 1px solid var(--col-bg-grey); }
.accordeon_box:last-child { border-bottom: 1px solid var(--col-bg-grey); }
.accordeon_box h2.toggle {
    position: relative;
    margin: 0;
    padding: 20px 56px 20px 0;
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
    cursor: pointer;
    transition: color .25s ease;
}
.accordeon_box h2.toggle:after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 24px; height: 24px;
    margin-top: -12px;
    background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/plus.svg") no-repeat center / 20px;
    transition: transform .3s ease;
}
.accordeon_box h2.toggle:hover, .accordeon_box h2.toggle.active { color: var(--col-blue); }
.accordeon_box h2.toggle.active:after { transform: rotate(45deg); }
.accordeon_box .toggle-content { display: none; padding: 0 56px 32px 0; }
.accordeon_box .toggle-content.open { display: block; }
/*endregion*/

/*region Shop (Bestellartikel) - Vorlage 050: 3 x 350px, Gap 50px, Karte mit 1px blauem Rahmen, Bild 350x265,
  Innenabstand 30px, Titel 24/26 bold, Details 18/26, "weitere Details" + Preis blau bold, Button 40px */
.shop-section { padding: var(--section-pad-inner) 0 96px 0; }
.shop-head { position: relative; margin: 0 0 40px 0; text-align: center; }
.shop-head .section-heading { margin: 0; }
/* ohne Kurzartikel-Ueberschrift steht im Kopf nur das Warenkorb-Icon: rechtsbuendig im Fluss statt absolut */
.shop-head.no-heading { display: flex; justify-content: flex-end; margin: 0 0 8px 0; }
.shop-head.no-heading .shop-cart-btn { position: relative; right: auto; top: auto; }
.shop-cart-btn {
    position: absolute;
    right: 0;
    top: 6px;
    width: 60px; height: 60px;
    background: var(--col-blue) url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/bag_white.svg") no-repeat center / 30px;
    display: block;
}
.shop-cart-btn:hover { background-color: var(--col-blue-dark); }
.shop-cart-btn .Shop-Cart-Count, .cart-badge {
    position: absolute;
    right: -8px; top: -8px;
    min-width: 24px; height: 24px;
    padding: 0 6px;
    border-radius: 12px;
    background: var(--col-text);
    color: var(--col-white);
    font-size: 13px;
    line-height: 24px;
    font-weight: 700;
    text-align: center;
}
.shop-cart-btn .Shop-Cart-Count.empty, .cart-badge.empty { display: none; }

.shop-group + .shop-group { margin-top: 48px; }
.shop-group-title {
    font-size: var(--fs-label);
    line-height: 24px;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 0 37px 0;
}
.shop-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: var(--shop-gap);
    row-gap: var(--shop-row-gap);
}
.Product, .shop-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--col-white);
    border: 1px solid var(--col-blue);
}
.shop-card .Product-Image {
    position: relative;
    display: block;
    aspect-ratio: 350 / 265;
    overflow: hidden;
    background: var(--col-white);
}
/* contain statt cover: Produktbilder sind oft technische Zeichnungen und duerfen nicht beschnitten werden */
.shop-card .Product-Image img { width: 100%; height: 100%; object-fit: contain; }
.shop-card .Product-Price-Badge {
    position: absolute;
    right: 0; bottom: 0;
    min-width: 100px; height: 40px;
    padding: 0 12px;
    background: var(--col-blue);
    color: var(--col-white);
    font-size: 14px;
    line-height: 40px;
    font-weight: 700;
    text-align: center;
}
.shop-card .Product-Body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 27px 29px 29px 29px; }
.shop-card h2, .shop-card .Product-Title {
    font-size: var(--fs-card-title);
    line-height: 26px;
    font-weight: 700;
    text-wrap: balance;
    min-height: 52px;
    margin: 0 0 12px 0;
}
.shop-card .Product-Specs { margin: 0 0 26px 0; padding: 0 0 0 42px; list-style: disc; }
.shop-card .Product-Specs li, .shop-card .Spec-Row { font-size: var(--fs-body); line-height: 26px; margin: 0; }
.shop-card .Product-Specs li::marker { font-size: 12px; }
/* ganze Saetze aus "Artikeldaten" stehen als Absatz statt als Aufzaehlungspunkt */
.shop-card .Product-Note { font-size: var(--fs-body); line-height: 26px; margin: 0 0 26px 0; }
.shop-card .Product-Meta { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-left: 10px; }
/* Artikel ohne Artikeldetails und ohne Detailbild haben keinen "weitere Details"-Link: Preis bleibt rechts */
.shop-card .Product-Meta.no-detail { justify-content: flex-end; }
.shop-card .Product-Meta .arrow-link { font-size: var(--fs-body); line-height: 26px; }
.shop-card .Product-Meta .Product-Price { font-size: var(--fs-body); line-height: 26px; font-weight: 700; color: var(--col-blue); }
.shop-card .Product-Actions { padding: 23px 0 0 0; }
.shop-card .Product-Actions .Button { width: 100%; min-height: 40px; }
.shop-card .Product-Number { font-size: var(--fs-body); line-height: 26px; font-weight: 300; margin: -8px 0 8px 0; }

/* Shop-Kategorien als Akkordeon (anfangs alle geschlossen, mehrere duerfen offen sein): Kopf = Label Light 24 Versalien */
.shop-group.accordeon_box + .shop-group.accordeon_box { margin-top: 0; }
.shop-group.accordeon_box h2.toggle {
    margin: 0;
    padding: 20px 56px 20px 0;
    font-size: var(--fs-label);
    line-height: 24px;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: uppercase;
}
.shop-group.accordeon_box .toggle-content { padding: 8px 0 44px 0; }
.shop-group-open { padding: 0 0 44px 0; }

/* Shop-Detail (Fancybox-AJAX aus Bestellartikel.article.php, wie beim Boxartikel): Bild(er) links mit Untertitel + Thumbnails, Daten/Preis/Vormerken rechts */
.shop-detail { width: 1152px; max-width: 100%; margin: 0 auto; background: var(--col-white); cursor: default; }
.shop-detail-inner.Product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; padding: 48px; border: 0; }
.shop-detail-inner.Product.no-image { grid-template-columns: 1fr; }
.shop-detail-images { min-width: 0; }
.shop-detail .detail-image { display: none; margin: 0; }
.shop-detail .detail-image.active { display: block; }
/* contain wie auf der Karte: technische Zeichnungen nicht beschneiden (Bildformat 900 x 645) */
.shop-detail .detail-image img { display: block; width: 100%; aspect-ratio: 900 / 645; object-fit: contain; border: 1px solid var(--col-bg-grey); }
.shop-detail .detail-image figcaption { margin: 10px 0 0 0; font-size: 16px; line-height: 24px; font-weight: 300; }
.shop-detail-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0 0 0; }
.shop-detail-thumb { display: block; padding: 0; aspect-ratio: 900 / 645; overflow: hidden; background: var(--col-white); border: 1px solid var(--col-bg-grey); cursor: pointer; transition: border-color .25s ease; }
.shop-detail-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.shop-detail-thumb:hover, .shop-detail-thumb.active { border-color: var(--col-blue); }
.shop-detail-thumb:focus { outline: 0; }
.shop-detail-thumb:focus-visible { outline: 2px solid var(--col-blue); outline-offset: 2px; }
.shop-detail-text { min-width: 0; }
.shop-detail-text .section-label { display: block; margin: 0 0 12px 0; }
.shop-detail-text .Titel { margin: 0 0 16px 0; text-wrap: balance; }
.shop-detail .Product-Number { font-size: var(--fs-body); line-height: 26px; font-weight: 300; margin: 0 0 16px 0; }
.shop-detail .Product-Specs { margin: 0 0 24px 0; padding: 0 0 0 22px; list-style: disc; }
.shop-detail .Product-Specs li { font-size: var(--fs-body); line-height: 26px; margin: 0; }
.shop-detail .Product-Specs li::marker { font-size: 12px; }
.shop-detail .Product-Note { font-size: var(--fs-body); line-height: 26px; margin: 0 0 24px 0; }
/* Artikeldetails (langer Text) unter den Artikeldaten, mit Trennlinie */
.shop-detail .Product-Details { padding-top: 24px; border-top: 1px solid var(--col-bg-grey); }
.shop-detail .Product-Details > :last-child { margin-bottom: 24px; }
.shop-detail .Product-Price { font-size: 24px; line-height: 30px; font-weight: 700; color: var(--col-blue); margin: 0 0 24px 0; }
.shop-detail .Button { min-width: 240px; min-height: 40px; }

/* Info-Layer nach "Artikel vormerken" */
#BasketInfo {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1200;
    width: 320px;
    padding: 24px;
    background: var(--col-white);
    border: 1px solid var(--col-blue);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
#BasketInfo.Visible { opacity: 1; visibility: visible; transform: translateY(0); }
#BasketInfo .Textfett { margin-bottom: 8px; }
#BasketInfo .Button { margin-top: 16px; width: 100%; }
#BasketInfo .close { position: absolute; right: 8px; top: 8px; width: 24px; height: 24px; background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/cross.svg") no-repeat center / 14px; cursor: pointer; }
/*endregion*/

/*region Vormerkliste (060) - Zeilen 220px hellgrau, Abstand 40px, Bild 100x100, Art.-Nr. light 18/26, Name bold 24/40,
  Mengenfeld 100x24 (14px blau), "Loeschen" 168x40 sitzt mittig auf der Unterkante der Zeile */
.basket-section { padding: var(--section-pad-inner) 0 119px 0; }
.Basket-Container .shop-head { margin-bottom: 60px; }
.Basket-Product {
    position: relative;
    display: grid;
    grid-template-columns: 100px 1fr auto;
    column-gap: 20px;
    align-items: start;
    background: var(--col-bg-light);
    padding: 60px 77px 60px 60px;
    min-height: 220px;
    margin: 0 0 40px 0;
}
.Basket-Image { width: 100px; height: 100px; overflow: hidden; background: var(--col-white); }
.Basket-Image img { width: 100%; height: 100%; object-fit: contain; }
.Basket-Details { padding-top: 17px; }
.Basket-Meta { font-size: var(--fs-body); line-height: 26px; font-weight: 300; }
.Basket-Title { font-size: var(--fs-card-title); line-height: 40px; font-weight: 700; margin: 0; }
.Basket-Actions { padding-top: 32px; }
.Basket-Quantity { display: flex; align-items: center; justify-content: space-between; gap: 11px; width: 168px; }
.Basket-Quantity .qty-btn {
    flex: 0 0 22px;
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: var(--col-blue) no-repeat center / 11px;
    cursor: pointer;
}
.Basket-Quantity .qty-btn:hover { background-color: var(--col-blue-dark); }
.Basket-Quantity .qty-btn.minus { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/minus_white.svg"); }
.Basket-Quantity .qty-btn.plus { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/plus_white.svg"); }
.Basket-Quantity input {
    flex: 1 1 auto;
    width: 100px;
    min-height: 24px;
    height: 24px;
    padding: 0 8px;
    text-align: center;
    font-size: 14px;
    line-height: 22px;
    color: var(--col-blue);
    border: 1px solid #d5d6d6;
    -moz-appearance: textfield;
}
.Basket-Quantity input::-webkit-outer-spin-button, .Basket-Quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.Basket-Remove { position: absolute; right: 77px; bottom: -20px; width: 168px; min-height: 40px; }
.Basket-Empty { text-align: center; font-size: 22px; line-height: 30px; padding: 40px 0; }
.Basket-Formular-Wrapper { margin-top: 104px; }
.Basket-Formular-Wrapper .section-heading { margin-bottom: 50px; }
/*endregion*/

/*region Formulare – Box hellgrau, Innenabstand 60px, 2 Spalten, Felder 60px */
.form-section { padding: var(--section-pad-inner) 0 var(--section-pad) 0; }
.form-box {
    background: var(--col-bg-light);
    padding: 60px 60px 120px 60px;
}
form.formular .form-fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
form.formular .fieldContainer { position: relative; }
form.formular .fieldContainer.fullWidth, form.formular .checkbox_group, form.formular .internal_text, form.formular .fieldContainer.textarea, form.formular .fieldContainer.file { grid-column: 1 / -1; }
form.formular .checkbox_group { padding: 38px 0 0 0; }
form.formular .check_item { display: flex; align-items: flex-start; gap: 21px; }
/* Checkbox laut Vorlage: weisses Quadrat 24px ohne Rahmen, Haken blau */
form.formular .check_item input { flex: 0 0 24px; width: 24px; height: 24px; margin: 1px 0 0 0; background: var(--col-white) no-repeat center / 16px; border: 1px solid var(--col-white); border-radius: 0; -webkit-appearance: none; appearance: none; cursor: pointer; }
form.formular .check_item input:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5l4 4 8-9' fill='none' stroke='%23009fe3' stroke-width='2'/%3E%3C/svg%3E"); }
form.formular .check_item input:focus-visible { border-color: var(--col-blue); }
form.formular .check_item input.error { border-color: var(--col-error); }
form.formular .check_item label { font-size: var(--fs-body); line-height: 26px; font-weight: 300; }
form.formular .check_item label a { font-size: inherit; line-height: inherit; font-weight: inherit; text-decoration: underline; color: var(--col-text); }
form.formular .form-hint { grid-column: 1 / -1; font-size: var(--fs-body); line-height: 26px; font-weight: 300; font-style: italic; margin: 30px 0 0 0; padding-left: 45px; }
form.formular .form-submit { grid-column: 1 / -1; text-align: center; margin-top: 75px; }
form.formular .form-submit .Button, form.formular .formSubmit { min-width: 288px; min-height: 40px; }
form.formular .internal_text { padding: 16px 0 0 0; }
form.formular .file input[type="file"] { min-height: 60px; padding: 16px 20px; background: var(--col-white); }
form.formular .field-label { display: block; font-size: 16px; line-height: 24px; font-weight: 700; margin: 8px 0 6px 0; }
.contact-errors, .form-errors { grid-column: 1 / -1; color: var(--col-error); font-weight: 600; margin: 0 0 16px 0; }
.form-sent { text-align: center; font-size: 22px; line-height: 32px; padding: 40px 0; }
/*endregion*/

/*region Detailansicht (Produktartikel / Fancybox-AJAX) */
.detail-section { padding: var(--section-pad-inner) 0 var(--section-pad) 0; }
.detailtext .content { max-width: 1152px; margin: 0 auto; }
.detail-head { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-bottom: 72px; }
.detail-head .section-label { display: block; margin: 0 0 12px 0; }
.detail-head .Untertitel { color: var(--col-blue); }
.detail-head .detail-image { aspect-ratio: 4 / 3; overflow: hidden; background: var(--col-bg-grey); }
.detail-head .detail-image img { width: 100%; height: 100%; object-fit: cover; }
.detail-text { margin-bottom: 40px; }

/* Bloecke der Produktseite: Titel, Anzahl, danach eine duenne Linie bis zum Rand; gleicher Abstand dazwischen */
.detail-block { margin: 0 0 64px 0; }
.detail-block-title { display: flex; align-items: center; gap: 12px; font-size: var(--fs-card-title); line-height: var(--lh-card-title); font-weight: 700; margin: 0 0 24px 0; }
.detail-block-title:after { content: ""; flex: 1 1 auto; height: 1px; margin-left: 12px; background: rgba(0, 159, 227, .3); }
.detail-count { display: none; } /* Anzahl Bilder/Videos auf Userwunsch entfernt (21.09.2026) */

/* Technische Daten: eine Zeile je Achse, Kopfzeile blau, breite Tabellen scrollen quer */
.detail-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Wisch-Hinweis (initTableSwipe in fx.js): nur wenn die Tabelle breiter als der Rahmen ist, verschwindet nach dem ersten Wischen */
.table-swipe { position: relative; }
.table-swipe:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 40px; background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, .95)); pointer-events: none; opacity: 0; transition: opacity .3s ease; }
.table-swipe.is-scrollable:after { opacity: 1; }
.table-swipe.is-scrollable.at-end:after { opacity: 0; }
.table-swipe-hint { display: none; }
.table-swipe.is-scrollable .table-swipe-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: absolute;
    right: 12px;
    top: 50%;
    z-index: 2;
    margin-top: -16px;
    height: 32px;
    padding: 0 12px 0 14px;
    border-radius: 16px;
    background: var(--col-blue);
    color: var(--col-white);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
    pointer-events: none;
    animation: fxSwipeHint 1.6s ease-in-out infinite;
    transition: opacity .3s ease;
}
.table-swipe-hint:after { content: ""; width: 14px; height: 14px; background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right_white.svg") no-repeat center / contain; }
.table-swipe.is-swiped .table-swipe-hint { opacity: 0; animation: none; }
@keyframes fxSwipeHint {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(-10px); }
}
@media (prefers-reduced-motion: reduce) { .table-swipe-hint { animation: none !important; } }
.detail-table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); line-height: var(--lh-small); }
.detail-table thead th { background: var(--col-blue); color: var(--col-white); font-weight: 700; text-align: left; padding: 14px 20px; white-space: nowrap; }
.detail-table tbody th, .detail-table tbody td { padding: 12px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--col-bg-grey); }
.detail-table tbody th { font-weight: 700; color: var(--col-blue); }
.detail-table tbody tr:nth-child(even) { background: var(--col-bg-light); }
.detail-table tbody tr:hover { background: var(--col-border); }

/* Downloads als Kacheln */
.detail-downloads { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.detail-download { display: flex; min-width: 0; align-items: center; gap: 16px; padding: 20px 24px; border: 1px solid var(--col-blue); color: var(--col-text); font-weight: 700; transition: background-color .25s ease, color .25s ease; }
.detail-download:before { content: ""; width: 24px; height: 24px; flex: 0 0 auto; background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/download.svg") no-repeat center / contain; }
.detail-download-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.detail-download:hover { background: var(--col-blue); color: var(--col-white); }
.detail-download:hover:before { background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/download_white.svg"); }

/* Produktdetails: ein Akkordeon-Punkt (Basis .accordeon_box aus der Akkordeon-Region), darin Textspalte links | rechts */
.detail-accordion .accordeon_box h2.toggle { font-size: 20px; line-height: 28px; padding: 18px 56px 18px 0; }
.detail-accordion .toggle-content { padding: 4px 56px 28px 0; }
.detail-accordion .detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.detail-accordion .detail-columns.single { grid-template-columns: 1fr; }
.detail-accordion .detail-column > *:first-child { margin-top: 0; }
.detail-accordion .detail-column > *:last-child { margin-bottom: 0; }
.detail-accordion .detail-column ul { padding-left: 20px; }
.detail-accordion .detail-column li { margin-bottom: 4px; }

/* Galerie + Videos; Eintraege ueber dem Limit (.is-more) kommen per "weitere anzeigen" (initMoreToggle in fx.js) */
.detail-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.detail-gallery a { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--col-bg-grey); }
.detail-gallery a:after { content: ""; position: absolute; inset: 0; background: rgba(0, 159, 227, .35) url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/plus_white.svg") no-repeat center / 40px; opacity: 0; transition: opacity .3s ease; }
.detail-gallery a:hover:after { opacity: 1; }
.detail-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.detail-gallery a:hover img { transform: scale(1.05); }
.detail-videos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 20px; }
.detail-videos .video { aspect-ratio: 16 / 9; background: #000; }
.detail-videos .video iframe, .detail-videos .video video { width: 100%; height: 100%; border: 0; display: block; }
.detail-videos .caption { font-size: 15px; line-height: 20px; margin-top: 10px; }
.detail-gallery > .is-more, .detail-videos > .is-more { display: none; }
.detail-gallery.is-open > .is-more, .detail-videos.is-open > .is-more { display: block; animation: fxMoreIn .5s cubic-bezier(.22, .8, .3, 1) both; }
@keyframes fxMoreIn { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.detail-more { text-align: center; margin-top: 32px; }
.detail-more .more-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 288px; }
.detail-more .more-count { display: none; } /* Anzahl im Mehr-Button auf Userwunsch entfernt (21.09.2026) */
.back-button-row { text-align: center; padding: 0 0 var(--section-pad) 0; }

/* Fancybox allgemein: dunkelblau abgedunkelter Hintergrund, ein einheitlicher runder Knopf-Stil
   (weiss, blaues Symbol, Hover blau) fuer Schliessen und Blaettern */
.fancybox-bg { background: #06212f; }
.fancybox-is-open .fancybox-bg { opacity: .88; }
.fancybox-container { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.fancybox-slide--html .fancybox-close-small,
.fancybox-toolbar .fancybox-button,
.fancybox-navigation .fancybox-button { border-radius: 50%; background: var(--col-white); color: var(--col-blue); opacity: 1; box-shadow: 0 4px 16px rgba(0, 0, 0, .18); transition: background-color .25s ease, color .25s ease, transform .25s ease, opacity .25s ease; }
.fancybox-slide--html .fancybox-close-small:hover,
.fancybox-toolbar .fancybox-button:hover,
.fancybox-navigation .fancybox-button:not([disabled]):hover { background: var(--col-blue); color: var(--col-white); }
.fancybox-slide--html .fancybox-close-small:hover, .fancybox-toolbar .fancybox-button--close:hover { transform: rotate(90deg); }

/* Detail-Fancybox (News, Boxartikel, Produkt, Shop): Box hoechstens fensterhoch, gescrollt wird nur .fancybox_inner,
   das X (close-small liegt im Container, nicht im Inner) bleibt dadurch immer oben rechts in der Box.
   Fancybox setzt auf .fancybox-content padding:0 - der Innenabstand steckt deshalb im Inner bzw. im Detail selbst */
.fancybox-slide--html { padding: 56px 32px; overflow: hidden; }
.fancybox-content { padding: 0 !important; }
.fancybox_fullcontainer { display: inline-flex; flex-direction: column; width: 100%; max-width: 1152px; max-height: calc(100vh - 112px); max-height: calc(100dvh - 112px); padding: 0; overflow: hidden; background: var(--col-white); box-shadow: 0 30px 80px rgba(0, 20, 35, .35); }
.fancybox_fullcontainer > .fancybox_inner { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 48px; }
.fancybox_fullcontainer > .fancybox_inner:has(.news-detail), .fancybox_fullcontainer > .fancybox_inner:has(.shop-detail) { padding: 0; }
.fancybox_fullcontainer .detail-section { padding: 0; }
.fancybox_fullcontainer .detail-section > .Container { max-width: none; }
.fancybox-slide--html .fancybox-close-small { top: 16px; right: 16px; width: 44px; height: 44px; padding: 10px; z-index: 5; }
/* Detail-Inhalte haben den runden Knopf in der Box - Toolbar-Kreuz oben rechts nur bei Bildern */
.fancybox-container:has(.fancybox-slide--current.fancybox-slide--html) .fancybox-toolbar { display: none; }

/* Bildergalerie: nur das Toolbar-X oben rechts (kein zweites am Bild), runde Pfeile, Zaehler als Plakette */
.fancybox-slide--image { padding: 96px 112px; }
.fancybox-slide--image .fancybox-close-small { display: none; }
.fancybox-toolbar { top: 24px; right: 24px; display: flex; gap: 8px; }
.fancybox-toolbar .fancybox-button { width: 48px; height: 48px; padding: 12px; }
.fancybox-navigation .fancybox-button { top: calc(50% - 28px); width: 56px; height: 56px; padding: 0; }
.fancybox-navigation .fancybox-button div { padding: 16px; }
.fancybox-navigation .fancybox-button--arrow_left { left: 32px; }
.fancybox-navigation .fancybox-button--arrow_right { right: 32px; }
.fancybox-show-nav .fancybox-navigation .fancybox-button[disabled] { opacity: .35; cursor: default; }
.fancybox-infobar { top: 32px; left: 32px; height: 32px; line-height: 32px; min-width: 0; padding: 0 16px; border-radius: 16px; background: rgba(255, 255, 255, .14); color: var(--col-white); mix-blend-mode: normal; font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.fancybox-caption { background: linear-gradient(0deg, rgba(6, 33, 47, .9) 0, rgba(6, 33, 47, .4) 60%, transparent); color: var(--col-white); font-size: var(--fs-small); line-height: var(--lh-small); padding-bottom: 28px; }
.fancybox-slide--image .fancybox-content { box-shadow: 0 30px 80px rgba(0, 0, 0, .45); }

/* News-Detail: Bild randlos oben, Text darunter in lesbarer Breite */
.fancybox_fullcontainer:has(.news-detail) { max-width: 960px; padding: 0; }
.news-detail .news-detail-hero { aspect-ratio: 16 / 9; max-height: 540px; width: 100%; overflow: hidden; background: var(--col-bg-grey); }
.news-detail .news-detail-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-detail .news-detail-body { max-width: 832px; margin: 0 auto; padding: 56px 64px 64px 64px; box-sizing: content-box; }
.news-detail .news-detail-body .section-label { display: block; margin: 0 0 16px 0; }
.news-detail .news-detail-body .Titel { margin-bottom: 32px; }
.news-detail .news-detail-body .detail-text { margin-bottom: 0; }
.news-detail .news-detail-body .detail-text img { max-width: 100%; height: auto; }
.news-detail-footer { display: flex; justify-content: flex-end; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--col-bg-grey); }
/* News als eigene Seite (ohne Fancybox): Text buendig unter dem Bild */
main .news-detail-section .news-detail .news-detail-body { max-width: none; padding: 48px 0 0 0; }
.fancybox_fullcontainer .news-detail-section .news-detail .news-detail-body { max-width: 832px; padding: 56px 64px 64px 64px; }

/* Social-Media-Hinweis vor Instagram-Links (fx.js initSocialTerms): schmale Box */
.fancybox_fullcontainer.social-terms { max-width: 560px; }
.fancybox_fullcontainer.social-terms > .fancybox_inner { padding: 56px 56px 48px 56px; }
.social-terms .section-label { display: block; margin: 0 0 12px 0; }
.social-terms .Titel { margin: 0 0 20px 0; }
.social-terms .Textnormal p { margin: 0 0 12px 0; }
.social-terms .Textnormal p:last-child { margin-bottom: 0; }
.social-terms .Textnormal a { color: var(--col-blue); text-decoration: underline; text-underline-offset: 3px; }
.social-terms-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--col-bg-grey); }
.social-terms-actions .Button { min-width: 180px; min-height: 40px; }
/*endregion*/

/*region Standard-Inhalt (Textseiten: Impressum, Datenschutz) */
.text-section { padding: var(--section-pad-inner) 0 var(--section-pad) 0; }
.text-section .content { max-width: 960px; }
.text-section .Titel { margin-bottom: 24px; }
/* Redaktionstext: Klassen setzt initTextSpacing() in init.js. Leerabsatz aus dem Editor = fester Blockabstand
   (24px Absatzabstand + 16px = 40px statt einer ganzen Leerzeile), Zwischenueberschrift sitzt direkt an ihrem Text */
.Textnormal p.p-spacer, .detail-text p.p-spacer { height: 16px; margin: 0; overflow: hidden; font-size: 0; line-height: 0; }
.Textnormal p.p-heading, .detail-text p.p-heading { margin-bottom: 0; }
.Textnormal > p.p-spacer:first-child, .Textnormal > p.p-spacer:last-child { display: none; }
.Titel + .Textnormal > p.p-heading:first-child { margin-top: 12px; }
/*endregion*/

/*region Zurueck-Link (Unterrubriken) - Layout Standard.close.php, runder Pfeil-Knopf + "Zurueck zu" + Rubrikname */
.section:has(+ .back-section) { padding-bottom: 64px; }
.back-section { padding: 0 0 96px 0; }
.back-section .Container { border-top: 1px solid var(--col-border); padding-top: 40px; }
.back-link { display: inline-flex; align-items: center; gap: 20px; color: var(--col-text); text-decoration: none; }
.back-link-icon { flex: 0 0 56px; width: 56px; height: 56px; border: 1px solid var(--col-blue); border-radius: 50%;
    background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_left.svg") center / 22px no-repeat; transition: background-color .25s, transform .25s; }
.back-link-text { display: flex; flex-direction: column; font-size: 24px; line-height: 26px; font-weight: 700; transition: color .25s; }
.back-link-text small { font-size: 14px; line-height: 20px; font-weight: 300; text-transform: uppercase; color: var(--col-blue); }
.back-link:hover .back-link-icon, .back-link:focus-visible .back-link-icon { background-color: var(--col-blue); background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_left_white.svg"); transform: translateX(-6px); }
.back-link:hover .back-link-text { color: var(--col-blue); }
@media (max-width: 900px) {
    .section:has(+ .back-section) { padding-bottom: 48px; }
    .back-section { padding-bottom: 64px; }
    .back-section .Container { padding-top: 32px; }
    .back-link-icon { flex-basis: 48px; width: 48px; height: 48px; background-size: 18px; }
    .back-link-text { font-size: 20px; line-height: 24px; }
}
/*endregion*/

/*region Social Media / Instagram (010 unten) - dunkles Foto mit Overlay, Label + Titel weiss, 3 Posts 376px im Container */
.social-section {
    position: relative;
    padding: 117px 0 128px 0;
    background: #1d1d1b no-repeat center / cover;
    color: var(--col-white);
    overflow: hidden;
}
.social-section:before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.social-section .Container { position: relative; z-index: 1; }
.social-section .section-heading { margin-bottom: 46px; }
.social-section .section-heading .section-label, .social-section .section-heading .Titel { color: var(--col-white); }
.instaglider { position: relative; }
.instaglider .glide__track { overflow: hidden; }
.instaglider .glide__slides { list-style: none; margin: 0; padding: 0; display: flex; }
/* Rahmen: 1px blau (Userwunsch) (Userwunsch - weiss verschwamm mit weissen Posts; Border, damit der Zoom im Bild bleibt - overflow clippt innerhalb der Border), Hover weiss (Bild ist dann blau ueberlagert);
   Schatten nur nach unten, der Track bekommt dafuer unten Platz (overflow hidden schneidet sonst ab) */
.instaglider .glide__track { padding-bottom: 24px; }
.instaglider .insta-link { display: block; border: 1px solid var(--col-blue); background: var(--col-blue); box-shadow: 0 18px 28px -14px rgba(0, 0, 0, .6); transition: border-color .35s ease; }
.instaglider .insta-link:hover { border-color: var(--col-white); }
.instaglider .glide__box { display: block; width: 100%; aspect-ratio: 1 / 1; background: var(--col-bg-grey) no-repeat center / cover; transition: opacity .25s ease; }
.instaglider .insta-link:hover .glide__box { opacity: .85; }
.instaglider .glide__arrow {
    position: absolute;
    top: 50%;
    width: 48px; height: 48px;
    margin-top: -24px;
    padding: 0;
    border: 0;
    background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_left_white.svg") no-repeat center / 33px auto;
    cursor: pointer;
    opacity: .9;
}
.instaglider .glide__arrow:hover { opacity: 1; }
.instaglider .glide__arrow--left { left: -96px; }
.instaglider .glide__arrow--right { right: -96px; background-image: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right_white.svg"); }
.social-section .social-follow { text-align: center; margin-top: 24px; } /* + 24px Schattenraum im Track = 48px */
.social-section .social-empty { text-align: center; padding: 24px; border: 1px dashed rgba(255, 255, 255, .6); color: var(--col-white); }
/*endregion*/

/*region Footer - blau, 448px; Raster im Layout rechts der Seitenmitte: x 384-1776 (1920) = 559 | 304 | 335 | 194 */
footer {
    background: var(--col-blue);
    color: var(--col-white);
    padding: 114px 0 103px 0;
}
footer .footer-inner {
    width: 100%;
    max-width: 1392px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 559px 304px 335px 194px;
    position: relative;
    left: 120px;
}
footer .footer-inner, footer a, footer p, footer li, footer div { color: var(--col-white); font-size: var(--fs-body); line-height: 22px; }
/* weisses Logo-SVG (Rahmen im SVG), 210px, 12px links vor der Textkante */
footer .footer-logo {
    display: block;
    width: 210px;
    margin: 0 0 22px -12px;
}
footer .footer-logo img { width: 100%; height: auto; }
footer .footer-address strong { display: block; }
footer .footer-iso { margin-top: 22px; }
footer .footer-iso a { display: inline-block; }
footer .footer-iso img { display: block; width: 140px; max-width: 100%; height: auto; transition: opacity .2s ease; }
footer .footer-iso a:hover img { opacity: .85; }
footer .footer-title, footer .footer-title a { font-size: 20px; font-weight: 700; margin: 0; line-height: 30px; }
footer ul.footer-links { list-style: none; margin: 0; padding: 0; }
footer ul.footer-links li { margin: 0; padding: 5px 0; line-height: 20px; }
footer ul.footer-links li a { display: inline-flex; align-items: flex-start; gap: 6px; line-height: 20px; vertical-align: top; }
footer ul.footer-links li a:before { content: ""; width: 13px; height: 13px; margin-top: 4px; background: url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/arrow_right_white.svg") no-repeat center / contain; flex: 0 0 auto; }
footer ul.footer-links.plain li a:before { display: none; }
footer ul.footer-links.plain li a { font-size: 20px; font-weight: 700; }
footer ul.footer-links.footer-links-secondary { margin-top: 22px; }
footer ul.footer-links li a:hover { text-decoration: underline; }
/*endregion*/

/* Footer 1440-1679px: Raster mitskalieren und mittig, sonst laeuft Spalte 4 rechts aus dem Fenster */
@media only screen and (max-width: 1679px) {
    footer .footer-inner { left: 0; max-width: calc(100% - 96px); grid-template-columns: 1.2fr 1fr 1.1fr .75fr; column-gap: 24px; }
}

/*region Diverses */
#PageTop { position: fixed; right: 24px; bottom: 24px; z-index: 800; width: 44px; height: 44px; background: var(--col-blue) url("https://www.duerrschmidt-gmbh.de/./images/layout/icons/scroll_up.svg") no-repeat center / 20px; opacity: 0; visibility: hidden; transition: opacity .3s ease; }
#PageTop.Visible { opacity: 1; visibility: visible; }
#PageTop a { display: block; width: 100%; height: 100%; }
.Textnormal img, .detail-text img { max-width: 100%; height: auto; }
.lazy { opacity: 0; transition: opacity .4s ease; }
.lazy.loaded, .lazy.error { opacity: 1; }
/*endregion*/


/*#endregion styles_addon.css*/



/*#region styles_fx.css*/

/* =========================================================================
   Duerrschmidt GmbH - Effekte: Hover-Zustaende, Hero-Einblendung, AOS-Feinschliff
   Bewusst getrennt von styles_addon.css (dort stehen die 1:1-Layoutwerte der Vorlage).
   Datei ist reines ASCII.
   ========================================================================= */

/*region Header / Navigation */
header#Top { transition: box-shadow .3s ease; }
header#Top.Minimized { box-shadow: 0 6px 24px rgba(0, 0, 0, .10); }
header .logo img { transition: transform .4s ease; }
header .logo:hover img { transform: scale(1.03); }

/* Linie unter dem Hauptnavigationspunkt, waechst aus der Mitte */
nav#Navigation > ul > li > a:after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: calc(50% - 17px);
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s ease;
}
nav#Navigation > ul > li > a:hover:after,
nav#Navigation > ul > li > a.Active:after,
nav#Navigation > ul > li.open > a:after { transform: scaleX(1); }

/* Flyout blendet weich ein, Eintraege ruecken beim Hover ein */
nav#Navigation > ul > li.open > ul.sub { animation: fxFlyout .28s ease both; }
nav#Navigation ul.sub a { transition: transform .25s ease, opacity .25s ease; }
nav#Navigation ul.sub a:before { transition: transform .25s ease; }
nav#Navigation ul.sub a:hover, nav#Navigation ul.sub a.Active { text-decoration: none; transform: translateX(6px); }
nav#Navigation ul.sub a:hover:before { transform: translateX(3px); }
@keyframes fxFlyout {
    from { opacity: 0; clip-path: inset(0 0 100% 0); }
    to { opacity: 1; clip-path: inset(0 0 0 0); }
}

nav#NavigationSide li a.flyoutimage { transition: background-color .25s ease, background-size .25s ease; }
nav#NavigationSide li:hover a.flyoutimage { background-size: 23px 23px; }
/*endregion*/

/*region Buttons & Pfeil-Links */
.Button, .Mehr, button.Button, input.Button, .formSubmit {
    transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.Button:hover, .Mehr:hover, .formSubmit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 134, 192, .28);
}
.Button:active, .Mehr:active, .formSubmit:active { transform: translateY(0); box-shadow: none; }
.Button.white-btn:hover, .teaser-overlay-box .teaser-button:hover { box-shadow: 0 8px 18px rgba(0, 0, 0, .22); }
.Basket-Remove:hover { transform: translateY(-2px); }

.arrow-link:before, .boxgrid-more:before, .Verweis:before { transition: transform .25s ease; }
.arrow-link:hover:before, .boxgrid-more:hover:before, .Verweis:hover:before,
.boxgrid-item.has-link:hover .boxgrid-more:before,
.product-card:hover .arrow-link:before { transform: translateX(5px); }
/*endregion*/

/*region Hero */
#Glider.static .glide__content > *,
#Glider .glide__slide--active .glide__content > * { animation: fxHeroIn .9s cubic-bezier(.22, .8, .3, 1) both; }
#Glider .glide__content > *:nth-child(1) { animation-delay: .15s; }
#Glider .glide__content > *:nth-child(2) { animation-delay: .3s; }
#Glider .glide__content > *:nth-child(3) { animation-delay: .45s; }
#Glider .glide__content > *:nth-child(4) { animation-delay: .6s; }
#Glider .glide__content > *:nth-child(n+5) { animation-delay: .75s; }
/* langsamer Zoom des Hintergrundbilds, solange der Slide aktiv ist */
#Glider.static .glide__background, #Glider.static .glide__image,
#Glider .glide__slide--active .glide__background, #Glider .glide__slide--active .glide__image { animation: fxHeroZoom 9s ease-out both; }
/* Titelbilder (sitetitle.php) ohne Effekt - Userwunsch */
#Glider.title .glide__background { animation: none; }
@keyframes fxHeroIn {
    from { opacity: 0; transform: translate3d(0, 28px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes fxHeroZoom {
    from { transform: scale(1.08); }
    to { transform: scale(1); }
}

#Glider .glide__arrow, .slider-arrow, .instaglider .glide__arrow { transition: opacity .25s ease, transform .25s ease; }
#Glider .glide__arrow--left:hover, .slider-arrow.prev:hover, .instaglider .glide__arrow--left:hover { transform: translateX(-6px); }
#Glider .glide__arrow--right:hover, .slider-arrow.next:hover, .instaglider .glide__arrow--right:hover { transform: translateX(6px); }
/*endregion*/

/*region Karten */
.boxgrid-image, .product-card .product-card-image, .shop-card .Product-Image, .short-article .image-wrapper, .team-card-image { position: relative; }
.boxgrid-image img, .product-card .product-card-image img { transition: transform .8s cubic-bezier(.22, .8, .3, 1); }
.boxgrid-item.has-link:hover .boxgrid-image img, .product-card:hover .product-card-image img { transform: scale(1.07); }

/* blauer Balken, der beim Hover unter dem Bild aufzieht */
.boxgrid-item.has-link .boxgrid-image:after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 4px;
    background: var(--col-blue);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .45s cubic-bezier(.22, .8, .3, 1);
}
.boxgrid-item.has-link:hover .boxgrid-image:after { transform: scaleX(1); }
.boxgrid-title { transition: color .25s ease; }
.boxgrid-item.has-link:hover .boxgrid-title { color: var(--col-blue); }

.product-card, .shop-card, .team-card { transition: transform .35s ease, box-shadow .35s ease; }
.product-card:hover, .shop-card:hover, .team-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, .14);
}
.shop-card .Product-Image img { transition: transform .6s cubic-bezier(.22, .8, .3, 1); }
.shop-card:hover .Product-Image img { transform: scale(1.05); }
.shop-card .Product-Price-Badge { transition: min-width .3s ease, background-color .25s ease; }
.shop-card:hover .Product-Price-Badge { min-width: 116px; background-color: var(--col-blue-dark); }
.shop-cart-btn { transition: background-color .25s ease, transform .25s ease; }
.shop-cart-btn:hover { transform: scale(1.06); }

.short-article .image-wrapper img, .team-card-image img { transition: transform .8s cubic-bezier(.22, .8, .3, 1); }
.short-article:hover .image-wrapper img, .team-card:hover .team-card-image img { transform: scale(1.05); }

.Basket-Product { transition: box-shadow .3s ease; }
.Basket-Product:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .08); }
.Basket-Quantity .qty-btn { transition: background-color .25s ease, transform .2s ease; }
.Basket-Quantity .qty-btn:hover { transform: scale(1.15); }
/*endregion*/

/*region Kennzahlen / Icon-Band / Akkordeon */
.kpi-band .kpi { transition: transform .35s ease; }
.kpi-band .kpi:hover { transform: translateY(-6px); }

.iconband-circle { transition: background-color .3s ease, transform .35s cubic-bezier(.22, .8, .3, 1), box-shadow .35s ease; }
.iconband-item:hover .iconband-circle { transform: scale(1.07); box-shadow: 0 14px 30px rgba(0, 159, 227, .30); }
.iconband-label { transition: letter-spacing .3s ease; }
.iconband-item:hover .iconband-label { letter-spacing: .03em; }

.accordeon_box h2.toggle { transition: color .25s ease, padding-left .25s ease; }
.accordeon_box h2.toggle:hover { padding-left: 10px; }
/*endregion*/

/*region Instagram */
.instaglider .insta-link { position: relative; overflow: hidden; }
.instaglider .glide__box { transition: transform .8s cubic-bezier(.22, .8, .3, 1); }
.instaglider .insta-link:hover .glide__box { opacity: 1; transform: scale(1.08); }
.instaglider .insta-link:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 159, 227, .72);
    opacity: 0;
    transition: opacity .35s ease;
}
/* Instagram-Glyphe (inline-SVG, weiss) */
.instaglider .insta-link:after {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    z-index: 2;
    width: 56px; height: 56px;
    margin: -28px 0 0 -28px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.3' cy='6.7' r='.9' fill='%23fff' stroke='none'/%3E%3C/svg%3E") no-repeat center / contain;
    opacity: 0;
    transform: scale(.6);
    transition: opacity .35s ease, transform .35s cubic-bezier(.22, .8, .3, 1);
}
.instaglider .insta-link:hover:before { opacity: 1; }
.instaglider .insta-link:hover:after { opacity: 1; transform: scale(1); }
/*endregion*/

/*region Footer / Diverses */
/* globales a:hover (dunkelblau) waere auf dem blauen Footer kaum lesbar - Links bleiben weiss */
footer a:hover, footer .footer-title a:hover, footer ul.footer-links li a:hover { color: var(--col-white); }
footer .footer-logo img { transition: transform .4s ease; }
footer .footer-logo:hover img { transform: scale(1.03); }
footer ul.footer-links li a { transition: transform .25s ease, opacity .25s ease; }
footer ul.footer-links li a:hover { text-decoration: none; transform: translateX(5px); }
footer .footer-title a {
    background: linear-gradient(currentColor, currentColor) no-repeat left bottom / 0 1px;
    transition: background-size .3s ease;
}
footer .footer-title a:hover { text-decoration: none; background-size: 100% 1px; }

#PageTop { transition: opacity .3s ease, transform .3s ease, background-color .25s ease; }
#PageTop:hover { transform: translateY(-4px); background-color: var(--col-blue-dark); }

.detail-gallery a { position: relative; }
.detail-gallery img { transition: transform .7s cubic-bezier(.22, .8, .3, 1); }
/*endregion*/

/*region AOS - etwas dezenter als der Bibliotheks-Standard (100px Weg) */
[data-aos="fade-up"] { transform: translate3d(0, 40px, 0); }
[data-aos="fade-left"] { transform: translate3d(60px, 0, 0); }
[data-aos="fade-right"] { transform: translate3d(-60px, 0, 0); }
[data-aos="zoom-in"] { transform: scale(.85); }
/* Karten behalten nach der Einblendung ihren Hover-Lift (AOS setzt sonst transform per Attribut-Selektor zurueck) */
.product-card[data-aos].aos-animate:hover, .shop-card[data-aos].aos-animate:hover, .team-card[data-aos].aos-animate:hover { transform: translateY(-8px); }
.kpi-band .kpi[data-aos].aos-animate:hover { transform: translateY(-6px); }
/* nach der Einblendung wieder die kurze Hover-Transition statt der AOS-Dauer */
.product-card.fx-done, .shop-card.fx-done, .team-card.fx-done, .kpi.fx-done { transition: transform .35s ease, box-shadow .35s ease !important; transition-delay: 0s !important; }
/*endregion*/

/*region Vormerken-Ablauf (statics/js/basket.js): Button-Feedback, Flugbild, Hinweis-Layer, Vormerkliste */
.Button.loading, .Button.added { position: relative; pointer-events: none; }
.Button.loading { color: transparent !important; }
.Button.loading:after {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 18px; height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: fxSpin .7s linear infinite;
}
.Button.added { background-color: var(--col-blue-dark); border-color: var(--col-blue-dark); color: var(--col-white); }
.Button.added:before {
    content: "";
    width: 16px; height: 16px;
    margin-right: 8px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") no-repeat center / contain;
    animation: fxPop .45s cubic-bezier(.22, .8, .3, 1) both;
}
@keyframes fxSpin { to { transform: rotate(360deg); } }
@keyframes fxPop {
    0% { transform: scale(0); }
    60% { transform: scale(1.35); }
    100% { transform: scale(1); }
}
@keyframes fxBump {
    0% { transform: scale(1); }
    35% { transform: scale(1.22); }
    100% { transform: scale(1); }
}
.shop-cart-btn.bump { animation: fxBump .5s cubic-bezier(.22, .8, .3, 1); }
.Shop-Cart-Count.bump, .cart-badge.bump { animation: fxPop .5s cubic-bezier(.22, .8, .3, 1); }

.basket-fly {
    position: fixed;
    z-index: 100001;
    object-fit: contain;
    background: var(--col-white);
    border: 1px solid var(--col-blue);
    border-radius: 0;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
    pointer-events: none;
    transition: left .7s cubic-bezier(.5, 0, .3, 1), top .7s cubic-bezier(.3, -.3, .6, 1), width .7s ease, height .7s ease, opacity .7s ease-in, border-radius .7s ease;
}
.basket-fly[style*="opacity"] { border-radius: 50%; }

/* Hinweis-Layer: liegt auch ueber der Fancybox-Detailansicht, federt herein, Laufbalken zeigt die Restzeit */
#BasketInfo {
    z-index: 100000;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .18);
    transform: translateY(24px) scale(.96);
    transition: opacity .35s ease, transform .45s cubic-bezier(.2, 1.3, .4, 1), visibility .35s;
}
#BasketInfo.Visible { transform: translateY(0) scale(1); }
#BasketInfo:after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3px;
    background: var(--col-blue);
    transform-origin: left center;
    transform: scaleX(0);
}
#BasketInfo.Visible:after { animation: fxCountdown 5s linear both; }
#BasketInfo.paused:after { animation-play-state: paused; }
@keyframes fxCountdown {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}
#BasketInfo .basket-info-thumb {
    position: absolute;
    left: 24px; top: 24px;
    width: 56px; height: 56px;
    background: var(--col-white) no-repeat center / contain;
    border: 1px solid var(--col-bg-grey);
}
#BasketInfo .basket-info-thumb.empty { display: none; }
#BasketInfo .basket-info-thumb:after {
    content: "";
    position: absolute;
    right: -8px; bottom: -8px;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--col-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / 12px;
}
#BasketInfo.Visible .basket-info-thumb:after { animation: fxPop .5s .25s cubic-bezier(.22, .8, .3, 1) both; }
#BasketInfo:has(.basket-info-thumb:not(.empty)) .Textfett,
#BasketInfo:has(.basket-info-thumb:not(.empty)) .Textnormal { margin-left: 76px; }
#BasketInfo:has(.basket-info-thumb:not(.empty)) .Textfett { padding-right: 16px; }
#BasketInfo .close { transition: transform .25s ease; }
#BasketInfo .close:hover { transform: rotate(90deg); }

/* Vormerkliste: Zeile klappt beim Loeschen zu, Menge blitzt beim Aendern kurz auf */
#BasketForm .Basket-Product.removing { pointer-events: none; opacity: .5; transition: height .45s ease, min-height .45s ease, padding .45s ease, margin .45s ease, opacity .3s ease; }
#BasketForm .Basket-Product.removed { height: 0 !important; min-height: 0; padding-top: 0; padding-bottom: 0; margin-bottom: 0; opacity: 0; overflow: hidden; }
.Basket-Quantity input { transition: border-color .25s ease, box-shadow .25s ease; }
.Basket-Quantity input:focus { border-color: var(--col-blue); outline: 0; }
.Basket-Quantity input.changed { animation: fxQty .6s ease; }
@keyframes fxQty {
    0% { box-shadow: 0 0 0 0 rgba(0, 159, 227, .55); }
    100% { box-shadow: 0 0 0 10px rgba(0, 159, 227, 0); }
}

/* Detailansicht in der Fancybox blendet ein: nur der Container und ohne Versatz nach unten,
   sonst ragt der Inhalt waehrend der Animation 28px aus dem Slide und Fancybox blendet kurz einen Scrollbalken ein */
.fancybox-slide--html.fancybox-slide--current .fancybox_fullcontainer { animation: fxBoxIn .45s cubic-bezier(.22, .8, .3, 1) both; }
@keyframes fxBoxIn { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }
.shop-detail .detail-image.active img { animation: fxDetailImage .35s ease both; }
@keyframes fxDetailImage { from { opacity: 0; } to { opacity: 1; } }
/*endregion*/

@media (hover: none) {
    .product-card:hover, .shop-card:hover, .team-card:hover, .kpi-band .kpi:hover, .Button:hover { transform: none; box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    [data-aos] { opacity: 1 !important; transform: none !important; }
}


/*#endregion styles_fx.css*/



