/* Copyright (c) Benjamin Lima
 * You may use, modify and redistribute this file under the terms of the MIT License.
 * https://github.com/zeplulw/zeplulw.github.io/blob/master/LICENSE
 *
 * Select icons courtesy of Jordan Scales (https://github.com/jdan/98.css/).
 */

:root {
    --taskbar-height: 32px;
    --deep-out: inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;
    --deep-in: inset -1px -1px #fff,inset 1px 1px #0a0a0a,inset -2px -2px #dfdfdf,inset 2px 2px grey;
    --slight-out: inset -1px -1px #808080, inset 1px 1px #fff;
    --slight-in: inset 1px 1px #808080, inset -1px -1px #fff;
}

@font-face {
    font-family: 'MS Sans Serif';
    src: url('assets/fonts/ms_sans_serif.woff2')
}

@font-face {
    font-family: 'MS Sans Serif';
    src: url('assets/fonts/ms_sans_serif_bold.woff2');
    font-weight: bold;
}

@font-face {
    font-family: 'Franklin Gothic';
    src: url(assets/fonts/Franklin_Gothic_Condensed.ttf);
    font-weight: bold;
}

@font-face {
    font-family: 'Franklin Gothic';
    src: url(assets/fonts/Franklin_Gothic_Light.ttf);
    font-weight: lighter;
}

::-webkit-scrollbar {
    width: 16px;
}

::-webkit-scrollbar-corner {
    background: #dfdfdf;
}

::-webkit-scrollbar-track {
    background-image: url('data:image/svg+xml,<svg width="2" height="2" viewBox="0 0 2 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M1 0H0V1H1V2H2V1H1V0Z" fill="%23C0C0C0"/><path fill-rule="evenodd" clip-rule="evenodd" d="M2 0H1V1H0V2H1V1H2V0Z" fill="white"/></svg>');
}

::-webkit-scrollbar-thumb {
    background-color: #dfdfdf;
    box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #dfdfdf, inset 2px 2px #fff;
}

::-webkit-scrollbar-button:vertical:start:decrement,
::-webkit-scrollbar-button:vertical:end:increment {
    display: block;
}

::-webkit-scrollbar-button:vertical:start {
    height: 17px;
    background-image: url("assets/images/button-up.svg");
}

::-webkit-scrollbar-button:vertical:end {
    height: 17px;
    background-image: url("assets/images/button-down.svg");
}

/* End Setup */

* {
    margin: 0;
    padding: 0;
    font-family: 'MS Sans Serif';
    font-size: 11px;
    user-select: none;
    -webkit-user-drag: none;
    image-rendering: pixelated;
}

body {
    overflow: hidden;
}

.desktop {
    width: 100%;
    height: 100vh;
}

.taskbar {
    position: fixed;
    width: 100%;
    height: var(--taskbar-height);
    background-color: silver;
    display: flex;
    align-items: center;
    outline: 1px solid silver;
    border-top: 1px solid #fff;
    z-index: 9999;
}

.taskbar > * {
    z-index: 9999;
}

button {
    border: none;
    background: silver;
    box-shadow: var(--deep-out)
}

button:focus {
    outline: 1px dotted #000;
    outline-offset: -4px;
}

button:active {
    box-shadow: var(--deep-in);
}

#start-btn {
    min-width: 0px;
    height: 26px;
    padding: 0 4px 0 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-weight: bold;
}

#start-btn img {
    margin-right: 2px;
}

.active-btn {
    box-shadow: var(--deep-in);
}

#left-taskbar-container {
    position:absolute;
    left: 0;
    margin-left: 3px;
    display: flex;
    align-items: center;
}

#right-taskbar-container {
    position: absolute;
    right: 0;
    margin-right: 3px;
    height: 26px;
    display: flex;
    align-items: center;
}

.vertical-rule {
    width: 2px;
    height: 26px;
    background-color: #fff;
    box-shadow: inset 1px 0 #808080;
    margin: 0 3px 0 3px;
}

.drag-bar {
    width: 3px;
    height: 21px;
    background-color: #dfdfdf;
    box-shadow: var(--slight-out);
    cursor: move;
}

.shortcuts {
    width: 88px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shortcuts img {
    width: 20px;
    height: 20px;
    padding: 3px;
    margin: 0 1px;
    cursor: pointer;
}

.shortcuts img:hover {
    box-shadow: var(--slight-out)
}

.shortcuts img:active {
    box-shadow: var(--slight-in);
}

#date-and-time {
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    box-shadow: var(--slight-in);
}

#date-and-time img {
    margin: 0 1px;
    cursor: pointer;
}

#date-and-time #time {
    margin: 0 6px;
    max-width: 100px;
}

#start-menu {
    position: absolute;
    bottom: calc(var(--taskbar-height) - 3px);
    left: 3px;
    width: 200px;
    height: 350px;
    transform: translateY(350px);
    background-color: silver;
    box-shadow: var(--deep-out);
}

#windows-banner {
    position: absolute;
    bottom: 0;
    background-color: #0000AA;
    color: white;
    width: 344px;
    height: 24px;
    transform: translate(-157px, -164px) rotate(-90deg);
    display: flex;
    align-items: center;
}

#banner-text-container {
    margin-left: 5px;
    vertical-align: middle;
    font-family: 'Franklin Gothic';
    font-weight: bold;
    font-size: 20px;
}

#banner-text-container span {
    font-family: inherit;
    font-weight: lighter;
    font-size: 20px;
}

#start-item-container {
    position: absolute;
    width: 169px;
    height: 344px;
    bottom: 4px;
    left: 27px;
}

.start-menu-item {
    height: 32.8px; /* because yes */
    width: 100%;
    margin: 1px 0;
    color: black;
    display: flex;
    justify-content: space-between;
}

.start-menu-item .left-menu-container {
    display: flex;
    align-items: center;
}

.start-menu-item .left-menu-container span {
    margin-left: 8px;
}

.start-menu-item .left-menu-container img {
    width: 28px;
    height: 28px;
    margin-left: 6px;
}

.start-menu-item:hover {
    background-color: #0000AA;
    color: white;
}

.start-menu-item:hover .right-menu-container img {
    filter: invert(100%);
}

.start-menu-item .right-menu-container {
    width: 4px;
    height: 100%;
    display: flex;
    align-items: center;
    margin-right: 6px;
}

.desktop-apps {
    width: 100%;
    height: calc(100% - var(--taskbar-height) - 1px);
    background-color: #008080;
    display: flex;
    flex-flow: column wrap;
    align-content: flex-start;
    justify-content: flex-start;
}

.app {
    display: flex;
    flex-direction: column;
    width: 64px;
    height: 64px;
    margin: 4px;
    align-items: center;
    justify-content: center;
}

.app img {
    width: 40px;
    height: 40px;
    margin-bottom: 6px;
}

.app span {
    color: white;
    padding: 1px;
    offset: 1px;
}

.active-app span {
    background-color: #0000AA;
    border: 1px dotted white;
}

.active-app img {
    filter: sepia(100%) hue-rotate(180deg) saturate(500%) brightness(50%);
}

#taskbar-item-container {
    margin-left: 2px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.taskbar-item {
    cursor: pointer;
    margin: 0 2px;
    max-width: 150px;
    width: 200px;
    height: 26px;
    display: flex;
    align-items: center;
    box-shadow: inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;
}

.taskbar-item img {
    width: 16px;
    height: 16px;
    cursor: pointer;
    margin: 0 4px;
}

.taskbar-item span {
    margin-right: 4px;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.window {
    position: absolute;
    width: 400px;
    height: 300px;
    min-width: 200px;
    min-height: 225px;
    top: 200px;
    left: 200px;
    box-shadow: inset -1px -1px #0a0a0a,inset 1px 1px silver,inset -2px -2px grey,inset 2px 2px #fff;
    background-color: silver;
}

.title-bar {
    margin-left: 4px;
    margin-top: 4px;
    width: calc(100% - 8px);
    height: 20px;
    background-color: #85898d;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.title-bar-left {
    height: 20px;
    display: flex;
    align-items: center;
}

.title-bar-left img {
    margin-left: 4px;
    height: 16px;
    filter: saturate(50%);
}

.title-bar-left span {
    margin-left: 4px;
    color: #c2c6ca;
    font-family: 'MS Sans Serif';
    font-weight: bold;
}

.title-bar-right {
    height: 20px;
    display: flex;
    align-items: center;
}

.title-bar-right button {
    width: 16px;
    height: 16px;
}

.title-bar-right .btn-close {
    margin: 0 2px;
    background-image: url('assets/images/close.png');
    background-repeat: no-repeat;
    background-position: center;
}

.title-bar-right .btn-maximize {
    background-image: url('assets/images/maximize.png');
    background-repeat: no-repeat;
    background-position: center;
}

.title-bar-right .btn-restore {
    background-image: url('assets/images/restore.png');
    background-repeat: no-repeat;
    background-position: center;
}

.title-bar-right .btn-minimize {
    background-image: url('assets/images/minimize.png');
    background-repeat: no-repeat;
    background-position: center;
}

.tmp-title-bar {
    position: absolute;
    background-color: #0000AA;
    transition: cubic-bezier(0.50, 0.15, 1, 1) .55s;
    color: white;
    font-family: 'MS Sans Serif';
    font-weight: bold;
    display: flex;
    align-items: center;
}

.tmp-title-bar img {
    margin-left: 4px;
    height: 16px;
}

.tmp-title-bar span {
    margin-left: 4px;
}

.active-tb-item {
    background-color: #E0E0E0;
    box-shadow: var(--deep-in);
}

.active-tb-item span {
    color: black;
    font-weight: bold;
}

.taskbar-item:active {
    box-shadow: var(--deep-in);
    outline: 1px dotted #000;
    outline-offset: -4px;
}

.focused-window .title-bar {
    background: linear-gradient(90deg, #000080, #1084d0);
}

.focused-window .title-bar .title-bar-left img {
    filter: saturate(100%);
}

.focused-window .title-bar .title-bar-left span {
    color: white;
}

.window-content {
    margin: 4px;
    width: calc(100% - 8px);
    height: calc(100% - 32px);
}

.about-carousel {
    width: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 8px;
}

.about-carousel-item {
    display: flex;
    flex-direction: row;
    width: 676px;
    height: 150px;
    box-shadow: var(--slight-in);
    margin: 4px;
}

.about-carousel-item img {
    width: 134px;
    height: 134px;
    margin: 8px;
}

.about-carousel-item .vertical-rule{
    height: calc(100% - 16px);
    margin-top: 8px;
}

.about-carousel-item p {
    width: 100%;
    margin: 8px;
    font-size: 14px;
    overflow: auto;
}

.about-carousel-item p span {
    font-size: 14px;
    text-decoration: underline;
    font-weight: bold;
}