/**** ------------------------------------------------------ STYLE - © Code reseved by Nick ------------------------------------ ****/


/*****************************************************************************************************************************

This code is reseved by Nick Helfenbein (© Code von Nick)
If you copy this code I will take legal actions! (Please don't do it - respect the arts of others)
Thanks!

Dieser Code ist urheberrechtlich geschützt von Nick Helfenbein (© Code von Nick)
Wenn du dieses Code kopierst werde ich rechtliche Schritte einleiten (also tu es bitte nicht - respektiere die Werke anderer.)
Danke!

© Code von Nick, 2025

*****************************************************************************************************************************/


@import url('../css/styleguide.css');


/**** -------------------------------------------- Loading -------------------------- ****/

.loading-container {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 1;
    pointer-events: none;
    z-index: 100000;
}

[data-transition-status="active"] .loading-container {
    pointer-events: all;
}

.loading-screen {
    position: relative;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.loading-screen .loading-fade {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: var(--color-black-05);
    pointer-events: none;
    opacity: 1;
}

.loading-screen .loader-wrapper {
    position: absolute;
    bottom: calc(var(--gap) * 2);
    right: calc(var(--gap) * 2);
    width: 1.5em;
    height: 1.5em;
    display: block;
}

.loader {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    border: 1.5px solid var(--color-black-80);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


/**** -------------------------------------------- Header -------------------------- ****/

.header-sg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 5em;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-black-05);
    z-index: 999;
}

.header-sg .header-sg-flex {
    position: relative;
    height: 100%;
    width: 100%;
    justify-content: end;
    align-items: center;
    gap: var(--gap);
    padding-inline: var(--gap);
}

.link-menu,
.link-search {
    position: relative;
    display: none;
    height: 3em !important;
    width: 3em !important;
}

.link-wrap[data-link-type="menu"],
.link-wrap[data-link-type="search"] {
    position: relative;
    height: 3em !important;
    width: 3em !important;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100em;
    overflow: hidden;
    background: var(--color-white);
    border: 1px solid var(--color-black-20);
    padding: 0;
}

.link-wrap[data-link-type="menu"]::before,
.link-wrap[data-link-type="search"]::before {
    display: none;
}

.link-wrap[data-link-type="menu"]:hover,
.link-wrap[data-link-type="menu"][data-link-status="active"] {
    color: var(--color-text);
}

.link-wrap[data-link-type="menu"] .link-text,
.link-wrap[data-link-type="search"] .link-text {
    overflow: visible;
    width: 1.25em;
    height: 1.25em;
}

.link-wrap[data-link-type="search"] .link-text svg {
    width: 1.25em;
    height: 1.25em;
}

.link-bars {
    width: 1.25em;
    height: 1.25em;
}

.link-bars::before,
.link-bars::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 2px;
    background: var(--color-black-60);
    transition: var(--animation-primary);
}

.link-bars::before {
    transform: translateY(-125%) translateX(-50%);
}

.link-bars::after {
    transform: translateY(125%) translateX(-50%);
}

.link-wrap:hover .link-bars::before,
.link-wrap:hover .link-bars::after,
[data-navigation-status="active"] .link-wrap .link-bars::before,
[data-navigation-status="active"] .link-wrap .link-bars::after {
    background: var(--color-text);
}

[data-navigation-status="active"] .link-bars::before {
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

[data-navigation-status="active"] .link-bars::after {
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}

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

    .link-menu,
    .link-search {
        display: block;
    }

    .header-sg .search-bar {
        display: none;
    }
}


/**** -------------------------------------------- Sidebar -------------------------- ****/

.sidebar-sg {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(var(--size-main-fluid) * 17.5);
    height: 100%;
    max-height: 100vh;
    background: var(--color-white);
    border-right: 1px solid var(--color-black-05);
    overflow: hidden;
    z-index: 1000;
}

.sidebar-sg .sidebar-sg-inner {
    position: relative;
    padding: var(--gap);
    width: 100%;
    height: 5em;
    border-bottom: 1px solid var(--color-black-05);
}

.sidebar-sg .sidebar-sg-inner .sidebar-sg-logo-wrapper {
    position: relative;
    height: 100%;
    display: flex;
    justify-content: start;
    align-items: center;
}

.sidebar-sg .sidebar-sg-inner .sidebar-sg-logo-wrapper svg {
    width: 100%;
}


.sidebar-sg .sidebar-sg-list-wrapper {
    position: relative;
    width: 100%;
    height: calc(100% - 5em);
    overflow-y: scroll !important;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list {
    position: relative;
    display: flex;
    flex-direction: column;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item {
    cursor: pointer;
    position: relative;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--gap);
    border-bottom: 1px solid var(--color-black-05);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner .sidebar-sg-item-flex {
    position: relative;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: var(--gap);
    pointer-events: auto;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner .sidebar-sg-item-flex .sidebar-sg-item-name {
    position: relative;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: var(--gap);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner .sidebar-sg-item-flex .sidebar-sg-item-name .sidebar-sg-item-image {
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner .sidebar-sg-item-flex .sidebar-sg-item-name .sidebar-sg-item-title {
    position: relative;
    overflow: hidden;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner .sidebar-sg-item-flex .sidebar-sg-item-name .sidebar-sg-item-title-span {
    position: relative;
    transition: var(--animation-primary);
    display: inline-block;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner .sidebar-sg-item-flex .sidebar-sg-item-name .sidebar-sg-item-title-span.copy {
    position: absolute;
    top: 100%;
    left: 0;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner:hover .sidebar-sg-item-flex .sidebar-sg-item-name .sidebar-sg-item-title-span {
    transform: translateY(-100%);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item-inner:hover .sidebar-sg-item-flex .sidebar-sg-item-name .sidebar-sg-item-title-span-copy {
    top: 0;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-item-chevron {
    position: relative;
    width: 1em;
    height: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-item-chevron svg {
    transform: rotate(-90deg);
    transition: var(--animation-primary);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item[data-link-status="active"] .sidebar-sg-item-inner .sidebar-sg-item-chevron svg {
    transform: rotate(0);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout,
.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout,
.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-cosubflyout {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: var(--animation-primary);
    will-change: height;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item[data-link-status="active"] .sidebar-sg-item-inner {
    border-bottom: 0;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item[data-link-status="active"] .sidebar-sg-item-flyout {
    transition: var(--animation-primary);
}


.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-list-item {
    cursor: pointer;
    position: relative;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-item-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--gap);
    background: var(--color-black-05);
    border-bottom: 1px solid var(--color-black-20);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-list-item:first-child .sidebar-sg-item-flyout-item-inner {
    border-top: 1px solid var(--color-black-20);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-item-inner .sidebar-sg-item-title {
    position: relative;
    overflow: hidden;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-item-inner .sidebar-sg-item-title .sidebar-sg-item-title-span {
    position: relative;
    transition: var(--animation-primary);
    display: inline-block;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-item-inner .sidebar-sg-item-title .sidebar-sg-item-title-span.copy {
    position: absolute;
    top: 100%;
    left: 0;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-item-inner:hover .sidebar-sg-item-title .sidebar-sg-item-title-span {
    transform: translateY(-100%);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-item-inner:hover .sidebar-sg-item-title .sidebar-sg-item-title-span-copy {
    top: 0;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-flyout-list-item[data-children-status="active"] .sidebar-sg-item-flyout-item-inner .sidebar-sg-item-chevron svg {
    transform: rotate(0);
}


.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-list-item {
    cursor: pointer;
    position: relative;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-item-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--gap);
    background: rgba(var(--color-primary-rgb), .25);
    border-bottom: 1px solid rgba(var(--color-primary-rgb), .5);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-list-item:first-child .sidebar-sg-item-flyout-item-inner {
    border-top: 1px solid var(--color-black-20);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-item-inner .sidebar-sg-item-title {
    position: relative;
    overflow: hidden;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-item-inner .sidebar-sg-item-title .sidebar-sg-item-title-span {
    position: relative;
    transition: var(--animation-primary);
    display: inline-block;
    color: var(--color-primary);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-item-inner .sidebar-sg-item-title .sidebar-sg-item-title-span.copy {
    position: absolute;
    top: 100%;
    left: 0;
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-item-inner:hover .sidebar-sg-item-title .sidebar-sg-item-title-span {
    transform: translateY(-100%);
}

.sidebar-sg .sidebar-sg-list-wrapper .sidebar-sg-list .sidebar-sg-item .sidebar-sg-item-subflyout-item-inner:hover .sidebar-sg-item-title .sidebar-sg-item-title-span-copy {
    top: 0;
}

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

    .sidebar-sg {
        left: -100%;
        transition: var(--animation-primary);
    }

    [data-navigation-status="active"] .sidebar-sg {
        left: 0;
    }
}


/**** -------------------------------------------- Side Wrap -------------------------- ****/

.site-wrap {
    padding-left: calc(var(--size-main-fluid) * 17.5);
    width: 100%;
}


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

    .site-wrap {
        padding-left: 0;
    }
}


/**** -------------------------------------------- Cover -------------------------- ****/

.section-styleguide-cover-image {
    position: relative;
    width: 100%;
    height: 60vh;
}

.section-styleguide-cover-image figure {
    position: relative;
    width: 100%;
    height: 100%;
}


/**** -------------------------------------------- Intro -------------------------- ****/

.section-styleguide-home {
    width: 100%;
}


/**** -------------------------------------------- Styled Content -------------------------- ****/

.styled-content .heading {
    font-family: "Eurostile", sans-serif;
    font-weight: 700;
    font-size: calc(var(--size-h1-fluid) * 1.25);
    color: var(--color-primary);
    margin-bottom: .5em;
}

.styled-content .subheading {
    font-family: "Eurostile", sans-serif;
    font-weight: 300;
    font-size: calc(var(--size-h4-fluid) * .75);
    line-height: 1.25;
    color: var(--color-primary);
}

.styled-content .bold {
    font-weight: 700;
}


.styled-content .grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: var(--gap);
}

.styled-content .grid.gap-2 {
    gap: calc(var(--gap) * 2);
}

.styled-content .grid.grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.styled-content .grid.grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.styled-content .grid.grid-cols-4 {
    grid-template-columns: repeat(4, 1fr);
}

.styled-content .grid .grid-item {
    position: relative;
    width: 100%;
    display: grid;
    gap: var(--gap);
}

.styled-content .grid .grid-item .grid-item-image {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--color-black-05);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: var(--animation-primary);
}

.styled-content .grid .grid-item:hover .grid-item-image {
    filter: brightness(80%);
}

.styled-content .grid .grid-item .grid-item-image p {
    padding-inline: var(--gap);
}

.styled-content .grid .grid-item .grid-item-content p.l {
    color: var(--color-primary);
}

.styled-content .grid .grid-item .grid-item-content p.line-limiter {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}


.styled-content .footer-banner {
    position: relative;
    width: 100%;
    background: var(--color-primary);
    padding-block: calc(var(--gap) * 2);
}

.styled-content .footer-banner * {
    color: var(--color-white) !important;
}

.styled-content .footer-banner *::selection {
    background-color: var(--color-white);
    color: var(--color-primary);
    text-shadow: none;
}

.styled-content .footer-banner *::-moz-selection {
    background-color: var(--color-white);
    color: var(--color-primary);
    text-shadow: none;
}

.styled-content .footer-banenr .grid .grid-item .grid-item-image {
    aspect-ratio: unset !important;
    height: max-content !important;
}

.styled-content .footer-banner .grid-item-image {
    display: flex;
    justify-content: center;
    align-items: start !important;
    background: transparent !important;
    aspect-ratio: unset !important;
    height: max-content !important;
}

.styled-content .footer-banner .grid-item:hover .grid-item-image {
    filter: brightness(100%);
}


.styled-content .footer-banner .grid-item-image.rounded .profile-image {
    position: relative;
    height: calc(var(--size-main-fluid) * 7.5);
    width: calc(var(--size-main-fluid) * 7.5);
    border-radius: 50%;
    overflow: hidden;
}

.styled-content .footer-banner a {
    text-decoration: none;
    transition: var(--animation-primary);
}

.styled-content .footer-banner a:hover {
    opacity: .75;
}


.styled-content .footer-area {
    padding-block: calc(var(--gap) * 2);
    justify-content: end;
    align-items: center;
    gap: var(--gap);
}

.styled-content .footer-area * {
    white-space: nowrap;
}


.styled-content .card {
    position: relative;
    padding: calc(var(--gap) * 2);
    width: 100%;
    border: 1px solid var(--color-black-05);
}

.styled-content .card .card-header {
    display: flex;
    align-items: center;
    gap: var(--gap);
    margin-bottom: calc(var(--gap) * 2);
}

.styled-content .card .card-header .card-image .card-figure {
    position: relative;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    overflow: hidden;
}

.styled-content .card .card-header .card-text h4 small {
    font-weight: 400;
}

.styled-content .card .card-header .card-text h4 strong {
    font-weight: 700;
    color: var(--color-primary);
}

.styled-content .card .card-button {
    display: flex;
}


.styled-content .card .card-form h3 {
    margin-bottom: .5em;
}

.styled-content .card .card-form .input-col {
    margin-bottom: var(--gap);
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap) * .5);
}


.styled-content .search-result {
    position: relative;
    padding: calc(var(--gap) * 2);
    width: 100%;
    border: 1px solid var(--color-black-05);
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--gap);
}

.styled-content .search-result .search-result-image {
    position: relative;
    min-height: 5em;
    min-height: 7.5em;
    aspect-ratio: 4/3 !important;
    overflow: hidden;
    display: block;
    flex-shrink: 0;
}

.styled-content .search-result .search-result-link {
    cursor: pointer;
}

.styled-content .search-result .search-result-link * {
    transition: var(--animation-primary);
}

.styled-content .search-result .search-result-link:hover * {
    color: var(--color-primary);
}

.styled-content .search-result .search-result-link h5 {
    margin-bottom: 1em;
    color: var(--color-primary);
}

.styled-content .search-result .search-result-link p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}


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

    .styled-content .grid.grid-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .styled-content .grid.grid-cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .styled-content .footer-banner .grid-item-image {
        justify-content: start !important;
        text-align: start !important;
    }
}

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

    .styled-content .grid.grid-cols-2 {
        grid-template-columns: repeat(1, 1fr);
    }

    .styled-content .grid.grid-cols-3 {
        grid-template-columns: repeat(1, 1fr);
    }

    .styled-content .grid.grid-cols-4 {
        grid-template-columns: repeat(1, 1fr);
    }

    .styled-content .footer-banner * {
        text-align: center;
    }

    .styled-content .footer-banner .grid-item-image {
        justify-content: center !important;
        text-align: center !important;
    }

    .styled-content .search-result {
        flex-direction: column;
    }

    .styled-content .search-result .search-result-image {
       width: 100%;
    }
}

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

    .styled-content .grid.grid-cols-2 {
        grid-template-columns: repeat(1, 1fr);
    }

    .styled-content .grid.grid-cols-3 {
        grid-template-columns: repeat(1, 1fr);
    }
}



/**** -------------------------------------------- Styleguide Layout -------------------------- ****/

.section-styleguide-layout .section-header {
    margin-bottom: calc(var(--gap) * 2);
    margin-top: calc(var(--gap) * 2);
}

.section-styleguide-layout .section-header:first-child {
    margin-top: 0;
}

.section-styleguide-layout .section-header h2 {
    color: var(--color-primary);
}


.section-styleguide-layout .styled-content h1,
.section-styleguide-layout .styled-content h2,
.section-styleguide-layout .styled-content h3,
.section-styleguide-layout .styled-content h4,
.section-styleguide-layout .styled-content h5,
.section-styleguide-layout .styled-content h6 {
    color: var(--color-primary) !important;
}


.section-styleguide-layout .styled-content .grid-item .layout-figure {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
    border: 1px solid var(--color-black-20);
}

.section-styleguide-layout .styled-content .grid-item {
    display: flex;
    flex-direction: column;
}


.section-styleguide-layout .styled-content {
    display: grid;
    gap: calc(var(--gap) * 2);
}

.section-styleguide-layout.styled-content h2 {
    color: var(--color-primary);
    margin-bottom: .5em;
}


.section-styleguide-layout .download-list {
    margin-top: var(--gap);
}

.section-styleguide-layout .download-list .download-item {
    position: relative;
    border-bottom: 1px solid var(--color-black-20);
}

.section-styleguide-layout .download-list .download-item .download-link {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--color-text);
    width: 100%;
    padding-block: calc(var(--gap) * .5);
    transition: var(--animation-primary);
}

.section-styleguide-layout .download-list .download-item .download-link:hover {
    color: var(--color-primary);
}

.section-styleguide-layout .download-list .download-item .download-link svg {
    width: 1.25em;
    height: 1.25em;
    display: block;
}