@import "../../GSMyAdmin/WebRoot/CSS/Colors";
@import "../../GSMyAdmin/WebRoot/CSS/Sizes";
@import "../../GSMyAdmin/WebRoot/CSS/Queries";

.ADSCommunityConfig {
    background-color: @semiBlack;
    box-shadow: 0 -4px 8px @semiBlack;
    color: white;
    padding: 4px 8px;
    width: 100%;
    box-sizing: border-box;
    margin-top: -32px;
    position: relative;
    height: 28px;
    margin-bottom: 8px;
    text-shadow: 0 4px 4px black;
    text-align: center;
}

.fakeInlineButton {
    display: inline-flex;
    flex-direction: row;
    align-items: baseline;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    
    .mat-icon {
        font-size: 12pt;
        margin-right: 4px;
    }
}

.datastoreContainer {
    display: flex;
    grid-gap: 16px;
    flex-direction: column;
}

.datastoreItem {
    background-color: #004a7c;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.3), transparent);
    border-radius: 4px;
    display: flex;
    box-sizing: border-box;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.7);
    border: 1px solid @semiBlack;
    box-shadow: 0 4px 4px @semiBlack;
    cursor: pointer;
    position: relative;
    width: 100%;
    flex-direction: column;

    h3 {
        background-color: @semiBlack;
        padding: @standardMargin @halfMargin;
        margin: 0;
        min-width: 130px;
    }

    p {
        margin: 4px;
        font-size: smaller;
        max-width: 512px;
        padding: 4px;
    }

    .itemImage {
        position: absolute;
        pointer-events: none;
        right: 4px;
        top: 4px;
        font-size: 48px;
        color: rgba(255,255,255,0.7);
    }

    .itemInfo {
        display: flex;
        flex-grow: 1;

        .circleChart {
            margin-left: @halfMargin;
        }
    }

    .itemActions {
        padding: 8px;
        display: flex;
    }
}

.instanceViewToolbar {
    display: flex;
    align-items: center;
    margin-bottom: 8px;

    input {
        margin: 0 8px 0 0;
        max-width: 400px;
        border-radius: 8px;
        padding: 10px;
        border: none;
    }
}

.newDatastoreItem {
    min-width: 250px;
    background-color: steelblue;

    .plusIcon {
        font-size: 48pt;
        line-height: 120%;
        font-weight: bold;
        flex-grow: 1;
        text-align: center;
        margin-top: 25px;
    }
}

@keyframes pulseSaturation {
    0% {
        filter: saturate(1);
        border: 1px solid @semiBlack;
        box-shadow: none;
    }

    50% {
        filter: saturate(2);
        border: 1px solid white;
        box-shadow: 0 0 8px white;
    }

    100% {
        filter: saturate(1);
        border: 1px solid @semiBlack;
        box-shadow: none;
    }
}

.bgInfo {
    background-color: steelblue;
    border: 1px solid steelblue;
}

#targetPairCode {
    font-size: 24pt;
    text-align: center;
}

.InstanceList {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(420px, 1fr));
    grid-gap: 12px;

    .ServerEntry {
        height: 210px;
        border: 1px solid @semiBlack;
        cursor: pointer;
        position: relative;
        background-image: linear-gradient(0deg, @semiBlack, transparent);
        box-sizing: border-box;
        text-shadow: 2px 2px 2px rgba(0,0,0,0.7);
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 4px @semiBlack;
        display: flex;
        flex-direction: column;
        border-left: 8px solid black;

        &.statusSuspended {
            border-left-color: #333;
        }

        &.statusOffline {
            border-left-color: #000;
        }

        &.statusBusy {
            border-left-color: #EF6C1A;
        }

        &.statusNotice {
            border-left-color: steelblue;
        }

        &.statusRunning {
            border-left-color: #1BC42C
        }

        &.statusIdle {
            border-left-color: #555;
        }

        &.statusFail {
            border-left-color: #B70000;
        }

        &:hover {
            outline: 1px solid @semiWhite;
        }

        &.busy {
            animation: pulseSaturation 0.5s infinite;
            pointer-events: none;
            cursor: progress;
        }

        .ServerEntryImage {
            position: absolute;
            background-size: cover;
            filter: brightness(0.3);
            background-position: center;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            max-height: 120%;

            &.Blur {
                width: 120%;
                max-height: 200%;
                filter: brightness(0.4) blur(16px);

                &.Offline {
                    filter: sepia(1) saturate(2) hue-rotate(168deg) brightness(0.2) blur(16px);
                }
            }

            &.Offline {
                filter: sepia(1) saturate(2) hue-rotate(168deg) brightness(0.2);
            }
        }

        .ServerEntryTop {
            display: flex;
            position: relative;
            align-items: start;

            .ServerEntryHeader {
                padding: @halfMargin @standardMargin;

                h3, h5 {
                    margin: 0;
                }
            }

            .ServerEntryStatus {
                padding: 2px 12px;
                height: 24px;
                margin: @halfMargin;
                border-radius: @standardMargin;
                display: flex;
                align-items: center;
                width: auto;

                span {
                    margin-left: -4px;
                }

                .mat-icon {
                    flex-grow: 1;
                    text-align: right;
                    margin: 0 -@halfMargin 0 @halfMargin;
                }
            }
        }

        .ServerEntryInfo {
            font-size: 10pt;
            position: relative;
            padding: 4px;
            flex-grow: 1;

            .Notice {
                padding: 12px;
                margin-bottom: 16px;
            }

            h2, h4 {
                margin: 0;
                margin-bottom: 2px;
            }

            button {
                margin-top: @halfMargin;
                position: absolute;
                bottom: @standardMargin;
                left: @standardMargin;
            }
        }

        .ServerEntryActions {
            display: flex;
            position: absolute;
            flex-direction: row;
            border-radius: @halfMargin;
            bottom: @halfMargin;
            right: @halfMargin;
            overflow: hidden;
        }

        .ServerEntryMetrics {
            display: flex;

            .ServerEntryMetric {
                display: flex;
                flex-grow: 1;
                align-items: center;
                justify-content: center;
                background-color: rgba(0,0,0,0.75);
                border-radius: 8px;
                margin: 4px;
                padding: 4px;

                .mat-icon {
                    font-size: 32px;
                    margin-right: 8px;
                }

                .MetricText {
                    h3 {
                        margin: 0
                    }
                }
            }
        }

        .halfButton {
            width: 50%;
            display: inline-block;
            margin: 0;

            &:nth-of-type(2) {
                left: 64px;
            }
        }

        &.NewServerEntry {
            background-color: steelblue;
            text-align: center;
            border-left-color: steelblue;

            .ServerEntryHeader {
                border-radius: @halfMargin;
                margin: @halfMargin;
                background-color: @semiBlack;
            }

            span {
                font-size: 48pt;
                line-height: 120%;
                font-weight: bold;
            }
        }

        &.GuidePrompt {
            background-color: transparent;
            pointer-events: none;
            text-align: left;
            padding-left: 8px;

            h2 {
                margin: 24px 0 8px 8px;
            }

            .firstTimeArrow {
                line-height: 100%;
                position: absolute;
                bottom: 0px;
            }
        }
    }

    &.ListView {
        grid-template-columns: auto;

        .ServerEntry {
            height: 96px;
            box-shadow: none;
            flex-direction: row;
            align-items: center;

            .ServerEntryImage {
                max-height: 400%;
                top: auto;
                left: auto;
                transform: initial;
                height: 100%;

                &.Main {
                    filter: none;

                    &.Offline {
                        filter: sepia(1) saturate(2) hue-rotate(168deg) brightness(0.5);
                    }
                }

                &.Blur {
                    height: auto;
                }
            }

            .ServerEntryTop {
                align-items: center;
                flex-grow: 1;

                .ServerEntryHeader {
                    padding: 8px 0 8px 216px;
                }
            }

            .ServerEntryInfo {
                flex-grow: 0;
                flex-shrink: 2;
                width: 30%;
                max-width: 400px;

                .Notice {
                    padding: 0;
                    margin-bottom: 0;
                }

                button {
                    display: none;
                }
            }

            .ServerEntryActions {
                position: sticky;
                height: 42px;
                margin: 0 12px 0 4px;
                flex-shrink: 0;
            }

            &.GuidePrompt {
                flex-direction: column;
                grid-gap: 0;

                h2 {
                    margin-top: 0;
                }

                .firstTimeArrow {
                    position: absolute;
                    top: -24px;
                    right: 32px;
                    transform: rotate(90deg);
                }
            }
        }

        .NewServerEntry {
            justify-content: center;
            grid-gap: 16px;

            div {
                padding: 0 16px;
            }
        }
    }
}

.Suspended {
    background-color: #666;
}

.ServerGroupContainer {
    display: grid;
    flex-wrap: wrap;
    grid-gap: @standardMargin;
    flex-grow: 1;
}

.ServerGroup {
    min-height: 190px;
    min-width: 40%;
    flex-grow: 1;
    background-size: 128px;
    background-repeat: no-repeat;
    background-position: bottom 16px right 16px;
    background-blend-mode: soft-light;

    .ServerGroupHeader {
        display: flex;
        padding: 6px 12px 8px 12px;
        text-shadow: 4px 4px @halfMargin black;
        min-height: 46px;
        border-radius: 4px;
        margin-bottom: @halfMargin;
        position: relative;

        .SystemInfo {
            white-space: pre-wrap;
            flex-grow: 1;
            display: flex;
            justify-content: end;
            align-items: center;
            text-align: right;
            text-shadow: none;
            position: absolute;
            top: 4px;
            right: 4px;
            font-size: 10pt;
            color: rgba(255,255,255,0.5);
        }

        .ServerGroupName {
            padding-top: 4px;

            .ServerGroupActions {
                margin: 8px 0 4px 0;
                display: flex;
                flex-wrap: wrap;
                gap: 8px;

                button {
                    margin: 0;
                }
            }
        }

        h3 {
            margin: 0;
            margin-right: @standardMargin;

            span {
                white-space: pre;
            }
        }
    }

    &.Platform-1 {
        background-image: url(Images/platform_windows.png);
    }

    &.Platform-2 {
        background-image: url(Images/platform_linux.png);
    }

    &.Online {
        .ServerGroupHeader {
            background-color: #347EB3;
        }
    }

    &.Offline, &.Unavailable {
        .ServerGroupHeader {
            background-color: darkred;
        }
    }

    &.Pending {
        .ServerGroupHeader {
            background-color: orange;
        }
    }

    .StatusContainer {
        h2 {
            bottom: 0;
        }

        p {
            margin-top: @halfMargin;
        }

        img {
            margin-left: @halfMargin;
        }

        background-color: @darkSemiBlack;
        padding: @standardMargin;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        border-radius: 16px;
    }
}

.provisionSettingContainer {
    grid-template-columns: repeat(auto-fill, minmax(320px, 2fr));
    display: grid;
    align-content: start;
    grid-gap: @standardMargin;

    &.dense {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))
    }
}

.provisionSetting {
    position: relative;

    h4 {
        margin-bottom: @halfMargin !important;
        margin-top: 4px;
    }

    h5 {
        color: silver;
        font-size: 8pt;
        margin: 4px 0;
        float: right;
    }

    .settingDescription {
        font-size: 8pt;
        color: rgba(255,255,255,0.4);
        margin: 4px 0 8px 0;
        padding-top: 4px;
    }

    input:not([type=checkbox]), select {
        width: 100%;
    }

    select {
        padding-bottom: 8px;
    }

    &.half {
        width: 25%;
    }

    img {
        width: 100%;
    }

    .inputFieldSuffix {
        float: right;
        position: relative;
        top: -26px;
        text-align: right;
        right: 28px;
        color: rgba(255, 255, 255, 0.4);
        pointer-events: none;
    }
}

.provisionOSInline {
    img {
        height: 32px;
        width: 32px;

        &.unavailable {
            filter: opacity(0.25) grayscale(1);
        }
    }

    p.unavailable {
        font-weight: bold;
    }
}

.containerWarning {
    border-radius: @halfMargin;
    background-color: @darkSemiBlack;
    padding: @standardMargin;
    box-shadow: inset 0px 0px 8px black;
    display: flex;
    flex-direction: column;

    button {
        margin: 8px 0 0 0;
        width: fit-content;
    }

    & > span {
        font-size: 10pt;
    }

    &.incompatible {
        background-color: darkred;
    }

    &.recommend {
        background-color: darkgreen;
    }

    &.required {
        background-color: chocolate;
    }
}

@keyframes snFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.specialNoticeBg {
    background-image: url(/Images/Phobos.webp);
    background-color: #000;
    background-position: top left;
    background-attachment: fixed;
    background-size: cover;
    backdrop-filter: saturate(1.2) hue-rotate(-8deg) brightness(0.45);
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 100;
    opacity: 0;
    transition: opacity 1s ease;

    &.snVisible {
        opacity: 1;
    }

    .snModal {
        border-radius: 8px;
        border: 1px solid white;
        max-width: max(calc(100% - 32px), 480px);
        margin: 16px;
        padding: 32px;
        display: flex;
        flex-direction: column;
        align-items: end;
        background-color: rgba(0, 0, 0, 0.75);
        box-shadow: 0 8px 8px #000;
        opacity: 0;
        animation: snFadeIn 1s ease 1.5s 1 forwards;

        .n1 {
            margin-top: 0;
            text-align: left;
        }

        .a1 {
            opacity: 0;
            animation: snFadeIn 2s ease 1.5s 1 forwards;
        }

        .n2 {
            margin-bottom: 0;
            opacity: 0;
            animation: snFadeIn 2s ease 4s 1 forwards;
        }

        h2 {
            margin-top: 4px;
            opacity: 0;
            animation: snFadeIn 2s ease 5s 1 forwards;
        }

        .snModalTitle {
            text-align: right;

            img {
                opacity: 0;
                max-width: 100%;
                animation: snFadeIn 2s ease 3s 1 forwards;
            }
        }

        .snModalButtons {
            opacity: 0;
            animation: snFadeIn 3s ease 6s 1 forwards;
        }
    }
}

#firstTimeGuide {
    position: fixed;
    top: 0px;
    left: 0px;
    float: left;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='250' viewBox='0 0 1080 900'%3E%3Cg fill-opacity='0.13'%3E%3Cpolygon fill='%23444' points='90%2C150 0%2C300 180%2C300'/%3E%3Cpolygon points='90%2C150 180%2C0 0%2C0'/%3E%3Cpolygon fill='%23AAA' points='270%2C150 360%2C0 180%2C0'/%3E%3Cpolygon fill='%23DDD' points='450%2C150 360%2C300 540%2C300'/%3E%3Cpolygon fill='%23999' points='450%2C150 540%2C0 360%2C0'/%3E%3Cpolygon points='630%2C150 540%2C300 720%2C300'/%3E%3Cpolygon fill='%23DDD' points='630%2C150 720%2C0 540%2C0'/%3E%3Cpolygon fill='%23444' points='810%2C150 720%2C300 900%2C300'/%3E%3Cpolygon fill='%23FFF' points='810%2C150 900%2C0 720%2C0'/%3E%3Cpolygon fill='%23DDD' points='990%2C150 900%2C300 1080%2C300'/%3E%3Cpolygon fill='%23444' points='990%2C150 1080%2C0 900%2C0'/%3E%3Cpolygon fill='%23DDD' points='90%2C450 0%2C600 180%2C600'/%3E%3Cpolygon points='90%2C450 180%2C300 0%2C300'/%3E%3Cpolygon fill='%23666' points='270%2C450 180%2C600 360%2C600'/%3E%3Cpolygon fill='%23AAA' points='270%2C450 360%2C300 180%2C300'/%3E%3Cpolygon fill='%23DDD' points='450%2C450 360%2C600 540%2C600'/%3E%3Cpolygon fill='%23999' points='450%2C450 540%2C300 360%2C300'/%3E%3Cpolygon fill='%23999' points='630%2C450 540%2C600 720%2C600'/%3E%3Cpolygon fill='%23FFF' points='630%2C450 720%2C300 540%2C300'/%3E%3Cpolygon points='810%2C450 720%2C600 900%2C600'/%3E%3Cpolygon fill='%23DDD' points='810%2C450 900%2C300 720%2C300'/%3E%3Cpolygon fill='%23AAA' points='990%2C450 900%2C600 1080%2C600'/%3E%3Cpolygon fill='%23444' points='990%2C450 1080%2C300 900%2C300'/%3E%3Cpolygon fill='%23222' points='90%2C750 0%2C900 180%2C900'/%3E%3Cpolygon points='270%2C750 180%2C900 360%2C900'/%3E%3Cpolygon fill='%23DDD' points='270%2C750 360%2C600 180%2C600'/%3E%3Cpolygon points='450%2C750 540%2C600 360%2C600'/%3E%3Cpolygon points='630%2C750 540%2C900 720%2C900'/%3E%3Cpolygon fill='%23444' points='630%2C750 720%2C600 540%2C600'/%3E%3Cpolygon fill='%23AAA' points='810%2C750 720%2C900 900%2C900'/%3E%3Cpolygon fill='%23666' points='810%2C750 900%2C600 720%2C600'/%3E%3Cpolygon fill='%23999' points='990%2C750 900%2C900 1080%2C900'/%3E%3Cpolygon fill='%23999' points='180%2C0 90%2C150 270%2C150'/%3E%3Cpolygon fill='%23444' points='360%2C0 270%2C150 450%2C150'/%3E%3Cpolygon fill='%23FFF' points='540%2C0 450%2C150 630%2C150'/%3E%3Cpolygon points='900%2C0 810%2C150 990%2C150'/%3E%3Cpolygon fill='%23222' points='0%2C300 -90%2C450 90%2C450'/%3E%3Cpolygon fill='%23FFF' points='0%2C300 90%2C150 -90%2C150'/%3E%3Cpolygon fill='%23FFF' points='180%2C300 90%2C450 270%2C450'/%3E%3Cpolygon fill='%23666' points='180%2C300 270%2C150 90%2C150'/%3E%3Cpolygon fill='%23222' points='360%2C300 270%2C450 450%2C450'/%3E%3Cpolygon fill='%23FFF' points='360%2C300 450%2C150 270%2C150'/%3E%3Cpolygon fill='%23444' points='540%2C300 450%2C450 630%2C450'/%3E%3Cpolygon fill='%23222' points='540%2C300 630%2C150 450%2C150'/%3E%3Cpolygon fill='%23AAA' points='720%2C300 630%2C450 810%2C450'/%3E%3Cpolygon fill='%23666' points='720%2C300 810%2C150 630%2C150'/%3E%3Cpolygon fill='%23FFF' points='900%2C300 810%2C450 990%2C450'/%3E%3Cpolygon fill='%23999' points='900%2C300 990%2C150 810%2C150'/%3E%3Cpolygon points='0%2C600 -90%2C750 90%2C750'/%3E%3Cpolygon fill='%23666' points='0%2C600 90%2C450 -90%2C450'/%3E%3Cpolygon fill='%23AAA' points='180%2C600 90%2C750 270%2C750'/%3E%3Cpolygon fill='%23444' points='180%2C600 270%2C450 90%2C450'/%3E%3Cpolygon fill='%23444' points='360%2C600 270%2C750 450%2C750'/%3E%3Cpolygon fill='%23999' points='360%2C600 450%2C450 270%2C450'/%3E%3Cpolygon fill='%23666' points='540%2C600 630%2C450 450%2C450'/%3E%3Cpolygon fill='%23222' points='720%2C600 630%2C750 810%2C750'/%3E%3Cpolygon fill='%23FFF' points='900%2C600 810%2C750 990%2C750'/%3E%3Cpolygon fill='%23222' points='900%2C600 990%2C450 810%2C450'/%3E%3Cpolygon fill='%23DDD' points='0%2C900 90%2C750 -90%2C750'/%3E%3Cpolygon fill='%23444' points='180%2C900 270%2C750 90%2C750'/%3E%3Cpolygon fill='%23FFF' points='360%2C900 450%2C750 270%2C750'/%3E%3Cpolygon fill='%23AAA' points='540%2C900 630%2C750 450%2C750'/%3E%3Cpolygon fill='%23FFF' points='720%2C900 810%2C750 630%2C750'/%3E%3Cpolygon fill='%23222' points='900%2C900 990%2C750 810%2C750'/%3E%3Cpolygon fill='%23222' points='1080%2C300 990%2C450 1170%2C450'/%3E%3Cpolygon fill='%23FFF' points='1080%2C300 1170%2C150 990%2C150'/%3E%3Cpolygon points='1080%2C600 990%2C750 1170%2C750'/%3E%3Cpolygon fill='%23666' points='1080%2C600 1170%2C450 990%2C450'/%3E%3Cpolygon fill='%23DDD' points='1080%2C900 1170%2C750 990%2C750'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 500px;

    .centerContents {
        text-align: center;
        width: 100%;
    }

    .guidePage {
        background-image: linear-gradient(0deg, #111, #222);
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        margin-top: @doubleMargin;
        box-shadow: 0px @standardMargin @doubleMargin @veryDarkSemiBlack;
        color: white;
        overflow: hidden;
        border-radius: @halfMargin;
        margin-bottom: @doubleMargin;

        label {
            display: block;
        }
    }

    h1 {
        padding: @standardMargin;
        margin: 0;
        font-size: 24px;
        background-color: rgba(255, 255, 255, 0.1);
    }

    .sectionDivision {
        margin: 0 -@standardMargin;
        margin-bottom: 20px;
        background-color: @panels;
        padding: @standardMargin;
    }

    .guideContents {
        padding: @standardMargin @standardMargin 0 @standardMargin;
        min-height: 408px;
    }

    .guideSecure {
        display: flex;
    }

    .guideButtons {
        text-align: right;
        padding-right: 10px;
        padding-bottom: 16px;
    }

    input::placeholder {
        color: rgba(255,255,255,0.4);
    }

    .minorText {
        font-size: small;
        color: rgba(255,255,255,0.5);
        max-width: 280px;
        margin: 15px auto;
    }

    input[required] {
        max-width: 100%;
        width: 384px;
        margin-bottom: @standardMargin;
    }
}

#remoteContainer {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100;
    top: 0;
    left: 0;

    #remoteInstance {
        width: 100%;
        height: 100%;
        border: none;
    }
}

.loadPending {
    position: relative;
    overflow: hidden;
    background-color: rgba(0,0,0,0.3);
}

.loadPending::after {
    content: "";
    position: absolute;
    top: 0;
    left: -50%;
    width: 150%;
    height: 100%;
    background: linear-gradient( 90deg, rgba(0,0,0,0) 0%, rgba(120,120,120,0.6) 50%, rgba(0,0,0,0) 100% );
    animation: shimmer 1.5s linear infinite;
}

@keyframes shimmer {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(100%);
    }
}

.ftsWaitHeader {
    display: flex;

    .ftsHeaderText {
        text-align: left;
    }

    .spacer {
        flex-grow: 1;
    }

    .loader {
        margin: 0;
        scale: 5;
        opacity: 0.1;
    }
}

.slideshowContainer {
    position: relative;
    max-width: 100%;
    display: flex;
    background-color: #000;

    .ftsImage {
        width: 80%;
        margin: 0 0 0 10%;
    }

    .ftsFade {
        position: absolute;
        top: 0;
        left: 0;
    }
}

.ftsFade {
    animation: fadeInOut 10s ease-in-out infinite;
    opacity: 0; /* Ensure the element is initially hidden */
}

@keyframes fadeInOut {
    0%, 20%, 80%, 100% {
        opacity: 0;
    }

    25%, 75% {
        opacity: 1;
    }
}

@media @constrained {
    .ServerGroupContainer {
        .InstanceList {
            grid-gap: @halfMargin;

            &.ListView {
                grid-template-columns: auto;

                .ServerEntryInfo {
                    display: none;
                }
            }

            .ServerEntry.GuidePrompt .firstTimeArrow {
                transform-origin: top left;
                position: absolute;
                top: 0px;
                right: -60px;
                left: unset;
                transform: rotate(90deg);
            }
        }
    }
}

@media @portrait {
    #firstTimeGuide.centerContents {
        border-radius: 0;
        margin: 0;
    }

    .datastoreContainer.datastoreContainer {
        grid-template-columns: auto;
    }

    .ServerGroup .ServerGroupHeader {
        padding: 8px;
        min-height: 0;

        .ServerGroupName {
            flex-grow: 1;
            padding: 0;
            display: flex;
            align-items: center;

            span {
                flex-grow: 1;
            }

            .ServerGroupActions {
                flex-wrap: nowrap;
                gap: 0;
                overflow: hidden;
                border-radius: 8px;
                margin: 0;
                float: right;

                button {
                    box-shadow: none;
                    min-width: auto !important;
                    width: auto;
                    border-radius: 0;
                    flex-grow: 1;
                    flex-shrink: 1;
                    min-height: 40px !important;

                    .mat-icon {
                        margin-right: 0;
                    }

                    .label {
                        display: none;
                    }
                }
            }
        }

        .SystemInfo {
            display: none;
        }
    }

    .ServerGroupContainer {
        .InstanceList {
            grid-template-columns: auto;
            grid-gap: 4px;
            padding: 0;

            &.ListView {
                grid-template-columns: auto;
                grid-gap: 4px;

                .ServerEntry {
                    min-height: 100px;
                    height: auto;
                    flex-direction: row;
                    align-items: start;

                    &.NewServerEntry {
                        align-items: center;

                        span {
                            flex-grow: 1;
                        }
                    }

                    .ServerEntryHeader {
                        flex-grow: 1;
                        padding: 16px 8px;
                    }

                    .ServerEntryImage.Main {
                        filter: brightness(33%);

                        &.Offline {
                            filter: sepia(1) saturate(2) hue-rotate(168deg) brightness(0.33);
                        }
                    }

                    .ServerEntryTop {
                        align-items: start;
                    }

                    .ServerEntryInfo {
                        display: none;
                    }

                    .ServerEntryActions {
                        position: absolute;
                        margin: 0;
                    }
                }

                .NewServerEntry {
                    justify-content: center;
                    grid-gap: 16px;

                    div {
                        padding: 0 16px;
                    }
                }
            }
        }

        .ServerEntry {
            border-radius: 16px;
            box-shadow: none;
        }

        .ServerEntryMetric {
            flex-direction: column;

            .MetricText {
                text-align: center;
            }

            .mat-icon {
                flex-grow: 1;
                margin: 0 -8px 0 8px;
            }
        }
    }
}
