﻿.dxbl-image.theme-icon {
    width: 1rem;
    height: 1rem;
    background-color: var(--bs-body-color);
    mask-image: url("../../switcher-resources/theme.svg");
    -webkit-mask-image: url("../../switcher-resources/theme.svg");
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
}

.blazor-themes {
    border-radius: 0;
    border: none;
}

.blazor-themes,
.blazor-themes div,
.blazor-themes .list-group,
.blazor-themes .themeswitcher-group {
    background-color: inherit;
}

.blazor-themes .list-group {
    flex-flow: row wrap;
    border: none;
    color: inherit;
}

.blazor-themes .list-group-item {
    flex: 1 0 100%;
    font-size: 1em;
    white-space: nowrap;
    padding: .5rem .75rem;
    border-radius: 0;
}

.blazor-themes .list-group-item-action:not(.active):not(:hover) {
    background: none;
}

.blazor-themes .list-group-item-action {
    flex: 1 0 50%;
    max-width: 50%;
    font-weight: 500;
    border-color: transparent;
}

.blazor-themes .themeswitcher-group {
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 3;
    color: inherit;
    border: none;
    margin-bottom: 0;
}

.blazor-themes .themeswitcher-group:not(:first-child):before,
.blazor-themes .themeswitcher-group::after {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    border-top: 1px solid currentColor;
    opacity: 0.15;
}

.blazor-themes .themeswitcher-group:not(:first-child):before {
    top: 0;
}

.blazor-themes .themeswitcher-group::after {
    bottom: 0;
}

.blazor-themes .themeswitcher-item > span {
    opacity: 0.8;
}

.blazor-themes a.list-group-item-action:before {
    content: "";
    display: inline;
    margin: 0 .75rem 0 .5rem;
    padding-right: 1.2em;
}

.blazor-themes a:before {
    border: 1px solid #fff;
}

.theme-pulse .blazor-themes .themeswitcher-item:hover > span {
    color: white;
}

.themeswitcher-container {
  background-color: var(--bs-body-bg);
  position: absolute;
  top: calc(3.5rem + 1px);
  right: 0;
  width: 250px;
  height: 0;
  max-height: calc(100vh - 3.5rem);
  overflow: hidden;
  z-index: 1029;
  font-size: 0.7rem;
}

.themeswitcher-container-shown,
.themeswitcher-container-hidden {
    transition: height 0s ease-in-out;
}

.themeswitcher-container-shown {
  height: calc(100vh - 3.5rem);
  min-height: 300px;
  overflow-y: auto;
}

@media (max-width: 1199.98px) {
    .themeswitcher-container {
        position: fixed;
        top: 3.5rem;
        width: 320px;
        height: calc(100% - 3.5rem);
        transform: translateX(100%);
    }

    .themeswitcher-container-shown,
    .themeswitcher-container-hidden {
        transition: transform 0s ease-in-out;
    }

    .themeswitcher-container-shown {
        transform: translateX(0);
    }
}


.theme-settings:hover .theme-icon {
    background-color: currentColor;
}
