:root {
    /* ===== COLORS ===== */
    --body-color: #fafbfe;
    --sidebar-color: #F9F9F9;
    --sidebardarker-color: #f2f2f2;
    --primary-color: #002957;
    --logo-color: #002957;
    --primary-color-light: #F6F5FF;
    --toggle-color: #DDD;
    --text-color: #707070;

    /* ===== TRANSITION ===== */
    --tran-02: all 0.2s ease;
    --tran-03: all 0.3s ease;
    --tran-04: all 0.4s ease;
    --tran-05: all 0.5s ease;
}

.hs-text-primary {
    color: var(--primary-color);
}

.mobile {
    display: none;
}

.thin-screen-w-100 {
    width: 100%;
}

.wide-screen {
    display: none;
}

body {
    transition: var(--tran-04);
    min-height: 100vh;
}

body.dark {
    /* ===== COLORS ===== */
    --body-color: #18191A;
    --sidebar-color: #242526;
    --sidebardarker-color: #151515;
    --primary-color: #3A3B3C;
    --primary-color-light: #3A3B3C;
    --logo-color: #FFF;
    --toggle-color: #FFF;
    --text-color: #FFF;
}

.hidden {
    display: none !important;
}

section {
    padding: 35px 35px;
}

select {
    width: 100%;
    overflow: hidden;

    & > option {
        white-space: normal;
        text-overflow: ellipsis;
    }
}

.d-flex-center {
    display: flex;
    align-items: center;
}

.sidebar {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    height: 100vh;
    width: 250px;
    padding: 10px 14px;
    background: var(--sidebar-color);
    transition: var(--tran-04);
}

.sidebar .text {
    font-size: 16px;
    font-weight: 500;
    color: var(--text-color);
    transition: var(--tran-02);
    white-space: nowrap;
    opacity: 1;
}

.sidebar.closed .text {
    opacity: 0;
}

.sidebar .image-text img {
    width: 40px;
    border-radius: 6px;
}

.sidebar header, .sidebar .menu-bar {
    position: relative;
}

.sidebar .menu-bar {
    height: 100%;
}

.sidebar .toggle {
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
    height: 35px;
    width: 35px;
    background: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: white;
    font-size: 22px;
    cursor: pointer;
    transition: var(--tran-02);
}

.sidebar .toggle:hover {
    box-shadow: 0 0 2px 3px #cccccc;
}

.sidebar .toggle.active {
    transition: var(--tran-02);
    transform: rotate(180deg) translateY(50%);
}

.sidebar .menu .menu-links {
    margin: 0;
    padding: 0;
}

.sidebar .menu .menu-links li.nav-item {
    height: 50px;
    margin-top: 10px;
    list-style: none;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.sidebar .menu .menu-links li.nav-item i {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    font-size: 20px;
    color: var(--primary-color);
}

.sidebar .menu .menu-links li.nav-item object {
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    font-size: 20px;
    color: var(--primary-color);
}

.sidebar .menu .menu-links li.nav-item a {
    text-decoration: none;
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    border-radius: 10px;
    transition: var(--tran-04);

    &[data-active] {
        background-color: var(--primary-color) !important
    }
}

.sidebar .menu .menu-links li.nav-item a {
    & i, & .text {
        color: var(--text-color);
        transition: var(--tran-05);
    }

    &[data-active] {
        & object {
            filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(316deg) brightness(107%) contrast(102%);
        }

        & span.text {
            color: white;
        }
    }

    &:hover {
        border-radius: 10px;
        background: var(--primary-color);

        & i {
            color: var(--toggle-color);
        }

        & object {
            filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(316deg) brightness(107%) contrast(102%);
        }

        & span.text {
            color: var(--toggle-color);
        }
    }
}

/*.sidebar .menu .menu-links li.nav-item a i, .sidebar .menu .menu-links li.nav-item a .text {*/
/*    color: var(--text-color);*/
/*    transition: var(--tran-05);*/
/*}*/

/*.sidebar .menu .menu-links li.nav-item a:hover {*/
/*    border-radius: 10px;*/
/*    background: var(--primary-color);*/
/*}*/

/*.sidebar .menu .menu-links li.nav-item a:hover i {*/
/*    color: var(--toggle-color);*/
/*}*/

/*.sidebar .menu .menu-links li.nav-item a:hover object {*/
/*    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(316deg) brightness(107%) contrast(102%);*/
/*}*/

/*.sidebar .menu .menu-links li.nav-item a[data-active] object {*/
/*    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(316deg) brightness(107%) contrast(102%);*/
/*}*/

/*.sidebar .menu .menu-links li.nav-item a:hover span.text {*/
/*    color: var(--toggle-color);*/
/*}*/

.sidebar.closed {
    width: 88px;
    opacity: 1;
    transition: var(--tran-02);
}

.sidebar.closed .menu .menu-links li.nav-item a span {
    opacity: 0;
    display: none;
    transition: var(--tran-02);
}

.navbar-nav .mode {
    padding: 0 10px;
}

.navbar-nav .mode i.dark {
    color: var(--text-color);
}

.navbar-nav .mode i.light {
    color: var(--text-color);
    opacity: 0;
}

.toggle-notify {
    display: flex;
    align-items: center;
    height: 100%;
    min-width: 60px;
    cursor: pointer;
}

.toggle-notify .switch {
    position: relative;
    height: 22px;
    width: 44px;
    border-radius: 25px;
    background: var(--toggle-color);
}

.toggle-notify .switch::before {
    content: '';
    position: absolute;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    background: var(--sidebar-color);
    transition: var(--tran-03);
}

.navbar-nav .mode .toggle-switch {
    display: flex;
    align-items: center;
    height: 100%;
    min-width: 60px;
    cursor: pointer;
}

.toggle-switch .switch {
    position: relative;
    height: 22px;
    width: 44px;
    border-radius: 25px;
    background: var(--toggle-color);
}

.toggle-switch .switch::before {
    content: '';
    position: absolute;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    background: var(--sidebar-color);
    transition: var(--tran-03);
}

.bx-shadow {
    -webkit-box-shadow: 0 0 30px rgb(81 94 125 / 8%);
    box-shadow: 0 0 30px rgb(81 94 125 / 8%);
}

.bx-shadow-right {
    box-shadow: 6px 5px 8px -5px rgba(0, 0, 0, 0.52);
    -webkit-box-shadow: 6px 5px 8px -5px rgba(0, 0, 0, 0.52);
    -moz-box-shadow: 6px 5px 8px -5px rgba(0, 0, 0, 0.52);
}

.mobile-toggler {
    color: #ffffff;
    height: 64px;
    width: 64px;
    z-index: 9999;
    text-align: center;
    line-height: 64px;
    font-size: 33px;
}

.light-text {
    color: #c0c0c0;
}

a {
    color: #002957;
}

a:hover {
    color: #002957;
}

body.dark .switch::before {
    left: 24px;
}

.no-marg {
    margin: 0;
}

.sidebar .logo {
    height: 64px;
}

.sidebar .logo-horseshape {
    fill: var(--logo-color) !important;
}

.danger {
    background: #cd3838 !important;
}

.hs-bg-primary {
    background-color: var(--primary-color) !important
}

a.hs-bg-primary:focus, a.hs-bg-primary:hover, button.hs-bg-primary:focus, button.hs-bg-primary:hover {
    background-color: var(--primary-color) !important
}

.hs-btn-primary, .btn-primary {
    color: #fff;
    background-color: var(--primary-color);
    border-radius: 0;
    border: 1px solid transparent;
    padding: 10px 30px;
}

.hs-btn-primary, .btn-primary:hover {
    background-color: #eef2f7;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.wrapp-flexed .btn-danger {
    font-size: 21px;
}

.card-wrapper .smallBtn {
    display: inline-flex;
    padding: 10px 30px;
    width: auto;
}

.badge-yellow {
    background-color: #FFEA00;
    color: #212529;
}

.badge-dark-orange {
    background-color: #AB8205;
    color: #212529;
}

.badge-neutral {
    background-color: grey;
    color: white;
    padding-inline: 1em;
}

.badge-pill[data-suggestion-active] {
    /*padding: .5rem 1.5rem;*/
    /*font-size: large;*/
}

.relative-container {
    position: relative;
}

/* UTILITIES */

.divider {
    height: 1px;
    background-color: #dee2e6;
    margin-top: .5rem;
    margin-bottom: .5rem
}
.feedback {
    max-width: 500px;
    margin-bottom: 1rem;
}

.gap-0 {
    gap: 0;
}

.gap-1 {
    gap: 0.25rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 1rem;
}

.gap-4 {
    gap: 1.5rem;
}

.gap-5 {
    gap: 3rem;
}

.has-tabs-navigation {
    & .navbar {
        padding-inline: 0.5rem;

        & .button-row {
            margin-bottom: 0;
        }
    }

    & .navbar-title {
        padding: 0.25rem 0.75rem;
    }

    & .navbar-toggler {
        border: unset;
    }

    & .nav-tabs {

        & .nav-item {
            &:hover {
                font-weight: bold;
            }
        }

        & .nav-item:last-child {
            margin-bottom: 0.25rem;
        }
    }
}

.opacity-none {
    opacity: initial !important;
}

.opacity-0 {
    opacity: 0 !important;
}

.opacity-10 {
    opacity: .1 !important;
}

.opacity-20 {
    opacity: .2 !important;
}

.opacity-30 {
    opacity: .3 !important;
}

.opacity-40 {
    opacity: .4 !important;
}

.opacity-50 {
    opacity: .5 !important;
}

.opacity-60 {
    opacity: .6 !important;
}

.opacity-70 {
    opacity: .7 !important;
}

.opacity-80 {
    opacity: .8 !important;
}

.opacity-90 {
    opacity: .9 !important;
}

.opacity-100 {
    opacity: 1 !important;
}

.opacity-unset {
    opacity: unset;
}

.quality {
    &.bolder {
        font-weight: bolder;

        &.important {
            font-weight: bolder !important;
        }
    }

    &.extreme-high {
        color: green;
        stroke: green;
        fill: green;

        &.important {
            color: green !important;
            stroke: green !important;
            fill: green !important;
        }
    }

    &.high {
        color: yellowgreen;
        stroke: yellowgreen;
        fill: yellowgreen;

        &.important {
            color: yellowgreen !important;
            stroke: yellowgreen !important;
            fill: yellowgreen !important;
        }
    }

    &.medium {
        color: darkorange;
        stroke: darkorange;
        fill: darkorange;

        &.important {
            color: darkorange !important;
            stroke: darkorange !important;
            fill: darkorange !important;
        }
    }

    &.low {
        color: indianred;
        stroke: indianred;
        fill: indianred;

        &.important {
            color: indianred !important;
            stroke: indianred !important;
            fill: indianred !important;
        }
    }

    &.extreme-low {
        color: darkred;
        stroke: darkred;
        fill: darkred;

        &.important {
            color: darkred !important;
            stroke: darkred !important;
            fill: darkred !important;
        }
    }

    &.neutral {
        color: lightgrey;
        stroke: lightgrey;
        fill: lightgrey;

        &.important {
            color: lightgrey !important;
            stroke: lightgrey !important;
            fill: lightgrey !important;
        }
    }
    &.none {
        color: unset;

        &.important {
            color: unset !important;
        }
    }
}

.scrollbar-none {
    scrollbar-width: none;
    -ms-overflow-style: none;

    &::-webkit-scrollbar {
        display: none;
    }
}

.scrollbar-thin {
    scrollbar-width: thin;
}


/* STYLES */
.checkmark {
    position: absolute;
    z-index: 10;
    inset: 50%;
    transform: translate(-50%, -50%);
    width: 50%; /* Adjust circle size */
    aspect-ratio: 1;
    border-radius: 50%; /* Make it a circle */
    border: 2px solid #000; /* Circle border */
    background-color: #fff; /* Circle background color */

    & i {
        position: relative;
        z-index: 15;
    }
}

.output-hint {
    margin-top: 1rem;
    padding: .5rem;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    text-align: center;
    column-gap: .5rem;

    & p {
        &:first-child {
            border-bottom: 1px solid #999999;
        }

        &:last-child {
            margin: 0;
        }

        &.hint {
            color: var(--blue);
        }
    }
}

.hint-list {
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    padding: .75rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: .25rem;

    &.attached {
        border: unset;
        margin-left: .25rem;
    }

    & p {
        font-size: 0.9rem;
    }

    & input[type="checkbox"][checked][disabled] {
        background-color: var(--primary-color);
    }

    & label:has(input[checked][disabled]) ~ p {
        color: var(--blue) !important;
    }
}

.checkbox-replacement {
    margin-left: -1.5rem;
    padding: 0;
    line-height: 1;
}

/* REUSABLE COMPONENTS */

.base-wrapper.primary-bg .feedback-module {
    /* overwrite styles for cards on blue background */
    color: var(--primary-color);

    & .text-larger {
        font-size: larger;
    }

    & .main-hint {
        color: var(--primary-color);
        font-weight: bold;
        text-align: center;
    }
}

#feedback {

    & #counter {
        & .progress, & .progress-bar {
            font-size: larger;
            font-weight: bolder;
            color: #1c1c1c;
            height: 1.5rem;
        }

        & .progress-bar {
            &.severity {
                &.extreme-high {
                    background-color: darkred;
                }

                &.very-high {
                    background-color: orangered;
                }

                &.high {
                    background-color: indianred;
                }

                &.medium {
                    background-color: orange;
                }

                &.low {
                    background-color: yellow;
                }

                &.very-low {
                    background-color: yellowgreen;
                }

                &.extreme-low {
                    background-color: greenyellow;
                }

                &.none {
                    background-color: green;
                }
            }
        }

        & .progress small {
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        & .progress:has(.progress-bar.severity.extreme-high) small {
            color: white;
        }
    }

    & h4 {
        color: var(--primary-color);
        font-size: 1.5rem;
        font-weight: bold;
        margin-bottom: 1.5rem;
    }

    & button[type='submit'] {
        position: fixed;
        z-index: 120;
        /*right: 1rem;*/
        /*top: 3rem;*/
        bottom: .5rem;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 2rem;
        width: unset;
        opacity: 60%;
        border: 1px solid var(--primary-color);

        &:hover {
            opacity: 1;
            transition: opacity 0.15s ease-in-out;
        }
    }

    & ul {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 1.5rem;
        list-style: none;
        padding: 0;

        & li {
            width: 20%;
            justify-content: center;
            z-index: 100;

            & label {
                position: relative;
                text-align: center;
                width: 100%;

                & input[type="radio"] {
                    position: absolute;
                    bottom: -0.5rem;
                    left: 50%;
                    transform: translateX(-50%) translateY(100%);
                    width: 1rem;
                    aspect-ratio: 1;
                }
            }
        }
    }

    & .input-select-group {
        flex-wrap: nowrap !important;

        & .input-group-text {
            border-radius: .25rem 0 0 .25rem;
            background-color: #007bff;
            color: var(--white);
            font-weight: bolder;
        }

        & select {
            border-radius: 0 .25rem .25rem 0;
            border-left: none;
        }
    }

    & .image-slider-wrapper {
        max-width: unset;
    }
}

table.feedback-snowflake {
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow-x: initial;
    font-size: xx-small;

    & tbody, & thead {
        display: flex;
        width: 100%;
        flex-direction: column;

        & tr {
            width: 100%;
            display: flex;
            justify-content: center;
            /*padding-block: 1px;*/

            & td, & th {
                margin: 2px;
                display: flex;
                width: 10%;
                aspect-ratio: 1;
                justify-content: center;
                align-items: center;
                z-index: 10;

                & input[type='radio'] {
                    cursor: pointer;
                    width: 65%;
                    aspect-ratio: 1;
                }
            }
        }
    }
}

.supporting-imagery-container {
    display: flex;
    flex-direction: column;
    gap: .5rem;

    &.landscape {
        flex-direction: row;
        width: 100%;
    }

    & .supporting-imagery-item {
        display: flex;
        flex-wrap: nowrap;
        gap: .5rem;
        width: 100%;
    }

    & .supporting-image {
        border: 1px solid #dee2e6;
        border-radius: .25rem;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;

        & svg {
            width: 100%;
        }
    }

    & .supporting-image-title {
        margin-top: 0.25rem;
        padding: .25rem 1rem;
        background-color: #eeeeee;
        color: #000000;
        text-align: center;
        font-size: x-small;

        &.small {
            font-size: smaller;
        }
    }
}

.supporting-imagery-wrapper {
    & .supporting-imagery-container {
        width: calc(50% - .25rem);

        &.landscape {
            flex-direction: row;
            width: 100%;
        }
    }
}

.svg-wrapper {
    position: absolute;
    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    &#missingDataSVGWrapper {
        inset: 10% 5% 0 10%;
        width: unset;
        height: unset;
    }

    & > svg {
        width: 100%;
        height: 100%;

        & > path {
            /*stroke: #0c5460;*/

            &.error {
                stroke: red;

                &.fill-error {
                    fill: red;
                }
            }

            &.warning {
                stroke: darkorange;

                &.fill-warning {
                    fill: darkorange;
                }
            }

            &.success {
                stroke: green;
            }

            &.neutral {
                stroke: #cccccc;
                fill: #cccccc;
            }
        }

        & > circle {
            display: none;
            fill: white;
            stroke: blue;
            cursor: pointer;
        }
    }
}

#horseCrooked {
    & svg {
        width: 100%;
        aspect-ratio: 2;
    }
}

#phonePositionSpine ul {
    padding-inline-start: 25%;
}

#phoneTiltSides svg path, #phoneOrientationY svg path, #phonePositionSides svg path {
    &.error {
        stroke: red;
        fill: red;
    }

    &.warning {
        stroke: darkorange;
        fill: darkorange;
    }

    &.success {
        stroke: #0FA958;
        fill: #0FA958;
    }

    &.neutral {
        stroke: #cccccc;
        fill: #cccccc;
    }
}

div#rating:has(>i.bi-star),
div#rating_data:has(>i.bi-star),
div#rating_data:has(>i.bi-star-fill),
div#rating_user:has(>i.bi-star),
div#rating_user:has(>i.bi-star-fill),
div#rating_horse:has(>i.bi-star),
div#rating_horse:has(>i.bi-star-fill),
div.feedback-identifier:has(>i.bi-star-fill) {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-content: center;
    align-items: center;

    & i {
        padding-inline: 0.1rem;
        font-size: 1.75rem;
    }
}

.input-wrapper {
    border: 1px solid #dee2e6;
    border-radius: .25rem;
}

/* MEDIA QUERIES */
@media screen and (min-width: 576px) {
    /* sm */
    table.feedback-snowflake {
        font-size: small;

        & tbody, & thead {
            & tr {
                padding-block: 1px;

                & td, & th {
                    margin: .375rem;

                    & input[type='radio'] {
                    }
                }
            }
        }
    }

    #feedback {
        & form {
            & ul {
                & li {
                    & label {
                        & input[type="radio"] {
                            width: 1.25rem;
                        }
                    }
                }
            }
        }

        & #phonePositionSpine {
            & ul {
                padding-left: 25%;
            }
        }
    }

    .gap-sm-0 {
        gap: 0 !important;
    }

    .gap-sm-1 {
        gap: 0.25rem !important;
    }

    .gap-sm-2 {
        gap: 0.5rem !important;
    }

    .gap-sm-3 {
        gap: 1rem !important;
    }

    .gap-sm-4 {
        gap: 1.5rem !important;
    }

    .gap-sm-5 {
        gap: 3rem !important;
    }

    .supporting-imagery-container {
        & .supporting-image-title {
            font-size: medium !important;
        }
    }
}

@media screen and (min-width: 768px) {
    /* md */
    #feedback {
        & form {
            & button[type='submit'] {
                left: 1rem;
                transform: translateX(0);
            }
        }
    }

    .gap-md-0 {
        gap: 0 !important;
    }

    .gap-md-1 {
        gap: 0.25rem !important;
    }

    .gap-md-2 {
        gap: 0.5rem !important;
    }

    .gap-md-3 {
        gap: 1rem !important;
    }

    .gap-md-4 {
        gap: 1.5rem !important;
    }

    .gap-md-5 {
        gap: 3rem !important;
    }

    .supporting-imagery-container {
        & .supporting-image-title {
            font-size: large !important;

            &.small {
                font-size: smaller !important;
            }
        }
    }
}

@media screen and (min-width: 992px) {
    /* lg */
    .has-tabs-navigation {
        & .navbar-expand-lg {
            & .navbar-title {
                display: none;
            }
        }
    }

    .gap-lg-0 {
        gap: 0 !important;
    }

    .gap-lg-1 {
        gap: 0.25rem !important;
    }

    .gap-lg-2 {
        gap: 0.5rem !important;
    }

    .gap-lg-3 {
        gap: 1rem !important;
    }

    .gap-lg-4 {
        gap: 1.5rem !important;
    }

    .gap-lg-5 {
        gap: 3rem !important;
    }

    .supporting-imagery-container {
        & .supporting-image-title {
            font-size: x-large !important;
        }
    }
}

@media screen and (min-width: 1200px) {
    /* xl */
    .thin-screen {
        display: none;
    }

    .thin-screen-w-100 {
        width: unset;
    }

    .wide-screen {
        display: unset;
    }

    .has-tabs-navigation {
        & .navbar-expand-xl {
            & .navbar-title {
                display: none;
            }
        }
    }

    .gap-xl-0 {
        gap: 0 !important;
    }

    .gap-xl-1 {
        gap: 0.25rem !important;
    }

    .gap-xl-2 {
        gap: 0.5rem !important;
    }

    .gap-xl-3 {
        gap: 1rem !important;
    }

    .gap-xl-4 {
        gap: 1.5rem !important;
    }

    .gap-xl-5 {
        gap: 3rem !important;
    }

    #feedback {
        & form {
            width: calc(50% - 3rem);
        }
    }

    .supporting-imagery-wrapper {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        flex: auto;
        width: calc(100% - 500px - 2.5rem);
        max-width: 800px;
        overflow-y: auto;
    }

    .supporting-imagery-container {
        & .supporting-image-title {
            font-size: x-large !important;
        }
    }
}

.scrollButton {
    background: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid #007bff; /* primary color */
    border-radius: .25rem;
    transition: all 0.3s ease;
    margin: 0.75rem .5rem .5rem;

    & .button-text {
        font-size: 1.5rem;
        color: #007bff; /* primary color */
        font-weight: bold;
        transition: color 0.1s ease;
    }

    &:hover {
        background-color: #007bff; /* primary color */
        border-color: #007bff; /* primary color */
    }

    &:hover .button-text {
        color: #fff; /* white */
    }
}

/* Dashboard */

.code-snippet {
    box-shadow: inset 0 0 .625rem rgba(0, 0, 0, 0.1), 0 0 .125rem rgba(0, 0, 0, 0.1); /* Inset shadow */
    border: 1px solid #ddd; /* Optional border */
    border-radius: .25rem;
    /*margin: .25rem;*/
    padding: 1rem;

    &:has(.user-select-all) {
        &::-moz-selection,
        &::selection {
            color: red;
            background: yellow;
        }
    }

    & pre {
        line-height: 1rem;
        color: #333;
        margin: 0;
        text-align: center;
        vertical-align: middle;
    }
}

.grid {
    display: grid;
    row-gap: 1rem;
    padding: 1rem;

    & .grid-item-group {
        /*display: grid;*/
        /*grid-template-columns: repeat(1, 1fr);*/
        /*row-gap: 1rem;*/

        & .grid-item {
            display: flex;
            flex-direction: column;
            justify-content: start;
            align-items: center;
            /*padding: 1rem;*/
            border-radius: .25rem;
            background-color: #f8f9fa;
            /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);*/
            transition: all 0.3s ease;
            cursor: pointer;

            & ul {
                &.no-decoration {
                    list-style: none;
                    padding-inline-start: 0;
                }

                & li {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    gap: 2rem;
                    line-height: 2rem;
                }
            }

            & .large {
                font-size: large;
            }

            /*& li:has(.quality.extreme-high),*/
            /*& li:has(.quality.high) {*/
            /*    & .figures {*/
            /*        font-weight: bold;*/
            /*    }*/
            /*}*/

            & .grid-item-icon {
                font-size: 2rem;
                color: #007bff; /* primary color */
            }

            & .grid-item-title {
                font-size: 1rem;
                font-weight: bold;
                color: #007bff; /* primary color */
                margin: 0;
                text-wrap: nowrap;
            }

            & .grid-item-description {
                font-size: 1rem;
                color: #6c757d; /* secondary color */
            }

            &:hover {
                background-color: #c9d3e5; /* primary color */
                /*color: #fff; !* white *!*/
            }

            /*&:hover .grid-item-icon {*/
            /*    color: #fff; !* white *!*/
            /*}*/

            /*&:hover .grid-item-title {*/
            /*    color: #fff; !* white *!*/
            /*}*/

            /*&:hover .grid-item-description {*/
            /*    color: #fff; !* white *!*/
            /*}*/

        }
    }
}

.store-download-badge {
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
    border: none;
    padding: 0;
    cursor: pointer;
    margin: 1rem;
    height: 2.5rem;
}

/* Measurement */

.measurement-section:has(#feedback.active) {
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding-bottom: .5rem;

    & .nav-tabs {
        border-bottom: unset;
    }

    & .feedback-header-icon-set-wrapper {

        & input[type="radio"] {
            display: none;

            &:checked + .feedback-header-icon-label {
                & .feedback-header-icon {
                    & circle.main-icon-circle {
                        fill: white;
                        stroke-width: 3px;
                    }
                }
            }

            &:checked + .feedback-header-icon-status-bar {
                border-color: var(--primary-color);
                transition: border-color .1s ease;
            }
        }

        & .feedback-header-icon-container {
            transition: all 0.1s ease;
            cursor: pointer;

            & .feedback-header-icon-label {
                cursor: pointer;
                /*transition-property: fill, stroke-width;*/
                /*transition-duration: 0.1s;*/
                /*transition-timing-function: ease;*/
                margin-bottom: 0;

                & .feedback-header-icon {
                    margin-bottom: 0.25rem;
                    /*transition-property: fill, stroke-width;*/
                    /*transition-duration: 0.1s;*/
                    /*transition-timing-function: ease;*/

                    & circle.main-icon-circle {
                        fill: #EEF2F7;
                        stroke: var(--primary-color);
                        stroke-width: 1px;
                    }
                }

                & .feedback-header-icon-overlay-text {
                    font-size: large;
                    left: 50%;
                    top: 47%;
                    transform: translate(-50%, -48%);
                }
            }

            & .feedback-header-icon-status-bar {
                height: 4px;
                margin-inline: .25rem;
                background-color: white;
                border: 1pt solid lightgrey;
                border-radius: 2px;

                --icon-status-bar-color-neutral: lightgrey;
                --icon-status-bar-color-success: darkgreen;
                --icon-status-bar-color-light-warning: darkorange;
                --icon-status-bar-color-warning: darkorange;
                --icon-status-bar-color-danger: indianred;
                --icon-status-bar-color-error: darkred;

                &.success {
                    border-color: var(--icon-status-bar-color-success);
                }
                &.light-warning {
                    border-color: var(--icon-status-bar-color-light-warning);
                }

                &.warning {
                    border-color: var(--icon-status-bar-color-warning);
                }

                &.danger {
                    background-color: unset !important;
                    border-color: var(--icon-status-bar-color-danger) !important;
                }

                &.error {
                    border-color: var(--icon-status-bar-color-error);
                }
            }

            &[data-opened-before="true"] {
                & .feedback-header-icon-status-bar {
                    background-color: var(--icon-status-bar-color-neutral);

                    &.success {
                        background-color: var(--icon-status-bar-color-success);
                    }
                    &.light-warning {
                        background-color: var(--icon-status-bar-color-light-warning);
                    }

                    &.warning {
                        background-color: var(--icon-status-bar-color-warning);
                    }

                    &.danger {
                        background-color: var(--icon-status-bar-color-danger) !important;
                    }

                    &.error {
                        background-color: var(--icon-status-bar-color-error);
                    }
                }
            }

            &:hover {
                /*cursor: pointer;*/

                & .feedback-header-icon-label {
                    & .feedback-header-icon {
                        & circle.main-icon-circle {
                            /*fill: #c9d3e5;*/
                            stroke-width: 2px;
                            transition-property: fill, stroke-width;
                            transition-duration: 0.1s;
                            transition-timing-function: ease;
                        }
                    }
                }

                /*& .feedback-header-icon-status-bar {*/
                /*    border-color: var(--primary-color);*/
                /*    transition: border-color 0.1s ease;*/
                /*}*/
            }
        }
    }

    & > .row {
        height: 100%;

        & > .col {
            height: 100%;
            display: flex;
            flex-direction: column;

            & > .card-wrapper {
                display: flex;
                flex-direction: column;
                flex: 1 1 auto;
                overflow-y: hidden;
                padding: .75rem;
                margin: 0;

                & > .tab-content {
                    display: flex;
                    flex-direction: column;
                    flex: 1 1 auto;
                    overflow-y: hidden;

                    & > .active {
                        display: flex;
                        flex-direction: column;
                        flex: 1 1 auto;
                        overflow-y: hidden;
                        padding: 0;

                        & #feedback-tab-content {
                            display: flex;
                            flex-direction: column;
                            flex: 1 1 auto;
                            overflow-y: hidden;

                            & .feedback-content-container {
                                display: flex;
                                flex-direction: column;
                                flex: 1 1 auto;
                                overflow-y: hidden;

                                & .feedback-scroll-container {
                                    flex: 1 1 auto;
                                    overflow-y: auto;
                                    scrollbar-width: thin;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}