html {
    height: 100%;
    z-index: 0;
}

body {
    margin: 0;
    background-color: black;
    color: white;
    font-family: "wf_SegoeUILight","wf_SegoeUI","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe","Segoe WP","Tahoma","Verdana","Arial","sans-serif";

    background-image: url("images/background2.webp");
    background-size: cover;

}

a {
    color: #D33;
}




/* === TASKBAR === */

.taskbar {
    position: absolute;
    bottom: 1px;

    width: 100%;
    height: 39.2px;

    border-top: 1px solid #FFF4;
    box-shadow: 0 0 0 1px black, inset 0 1px #FFF1;

    background-color: #000D;
    background-image: linear-gradient(#FFF1, transparent 40%),repeating-linear-gradient(75deg, #3332 200px, #6663 250px, #3332 450px, #6663 575px, #3333 600px, #6661 900px, #3332 970px);

    display: flex;
    justify-content: space-between;
}

.taskbar > div { /* Everything in the taskbar is as tall as the taskbar */
    height: 100%;
}

.taskbar .icons {
    height: 40px;
}

.taskbar .icons > div:first-child { /* Start Button */
    width: 65px;
}

.taskbar .icons > div {

    height: 40px;
    float: left;
    border-radius: 3px;
}

.taskbar .icons > div > input + label { /* Basic taskbar icon */
    display: block;
    height: 32px;
    width: 32px;
    padding: 3.2px 12px;
    margin-right: 3px;
    border-radius: 3px;
    border: 1px solid transparent;
    transform: translateY(-1px);
    transition: 200ms;
}

.taskbar .icons > div:not(:first-child) > input:not(:checked) + label:hover { /* Hovered but not opened */
    border: 1px solid transparent;
    border-image: linear-gradient(transparent 20%, #FFFA, transparent 80%);
    border-image-slice: 1;

    background-image: radial-gradient(circle at 50% 120%, white, transparent 20px);
}

.taskbar .icons > div:not(:first-child) > input:not(:checked) + label:active { /* Clicked but not opened */
    border: 1px solid transparent;
    border-image: linear-gradient(transparent 20%, #FFFA, transparent 80%);
    border-image-slice: 1;

    background-image: radial-gradient(circle at 50% 120%, white, transparent 20px), linear-gradient(transparent, #000C 50%, transparent 75%);
}

.taskbar .icons > div:not(:first-child) > input:checked + label { /* Opened but not hovered */
    border: 1px solid #000;
    box-shadow: inset 0 0 0 1px #FFF4;

    background-image: radial-gradient(circle at 70% 150%, #FFF7, transparent 50px, #FFF1 52px, #FFF3 65px);
    background-color: transparent;
}

.taskbar .icons > div:not(:first-child) > input:checked + label:hover { /* Opened and hovered */
    border: 1px solid #111;

    background-color: #AAA3
}

.taskbar .icons > div:not(:first-child) > input:checked + label:active { /* Clicked and opened */
    background-image: linear-gradient(transparent, #000 50%, transparent),
                      radial-gradient(circle at 70% 150%, #FFFC, transparent 50px, #FFF1 52px, #FFF3 65px);
}

.taskbar .icons > div > label[for="start"] {
    border-radius: 50%;
    border: 2px solid #622;
    height: 36.8px;
    width: 36.8px;
    padding: 0;
    margin: 0 5px 0 5px;
    transition: filter 50ms;

    background-color: #622;
    background-image: url("images/windows.png"),
                      radial-gradient(black, transparent 60%),
                      radial-gradient(circle at 50% 130%, #F33 40%, #622 60%, #622 calc(60% + 2px), transparent calc(60% + 4px)),
                      radial-gradient(#9991 45%, #FFF4 65%, #FFF9 70%),
                      linear-gradient(#FFF9, transparent 40%);
    background-repeat: no-repeat;
    background-position: center
}

.taskbar .icons > div > label[for="start"]:hover {
    background-image: url("images/windows.png"),
                      radial-gradient(grey, transparent 60%),
                      radial-gradient(circle at 50% 130%, #F33 40%, #622 60%, #622 calc(60% + 2px), transparent calc(60% + 4px)),
                      radial-gradient(#9991 45%, #FFF4 65%, #FFF9 70%),
                      linear-gradient(#FFF9, transparent 40%);
    filter: brightness(1.2);
}

.taskbar .icons > div > label[for="start"]:active {
    filter: brightness(0.8);
}

.taskbar .icons > div > input:checked + label[for="start"] {
    background-image: url("images/windows.png"),
                      radial-gradient(white, transparent 60%),
                      radial-gradient(circle at 50% 130%, #F33 40%, #622 60%, #622 calc(60% + 2px), transparent calc(60% + 4px)),
                      radial-gradient(#9991 45%, #FFF4 65%, #FFF9 70%),
                      linear-gradient(#FFF9, transparent 40%);
    filter: brightness(1.2);
}

.taskbar .icons > div > input:checked + label[for="start"]:hover {
    filter: brightness(1.3);
}

.taskbar .icons > div > input:checked + label[for="start"]:active {
    filter: brightness(0.9);
}



.taskbar .peek {
    width: 15px;
    border-left: 1px solid black;
    box-shadow: inset 1px 0 0 0 #FFF1;
    background-image: radial-gradient(farthest-side at 100% 70%,transparent 80%, #FFF4 130%),
                      radial-gradient(farthest-side at 0% 30%,transparent 80%, #FFF4 130%);
}

.taskbar input[type="checkbox"] {
    display: none;
}

.taskbar label > img[src="spty.gif"].icon {
    height: 32px;
    width: 32px;
    border-radius: 5px;
    outline: 1px solid #FFF5;
}




/* === WINDOWS === */

.window {
    background-color: #111A;
    backdrop-filter: blur(5px);
    background-image: linear-gradient(#000 10px,transparent 90px), repeating-linear-gradient(70deg, transparent 100px, #8883 150px, transparent 350px, #8883 475px, transparent 500px, #8883 700px, transparent 750px, transparent 870px);

    border: inset 1px #F009;
    border-image: linear-gradient(#0000 3px, #FFF1 5%, #F44C 30%, #F444 calc(40%), transparent calc(100% - 2px));
    border-image-slice: 1;
    border-radius: 9px;
    box-shadow: 0 0 0 1px #000F, inset 0 1px 0 0 #FFF4, inset 0 -1px 0 0 #F444;

    padding: 0 8px 4px 8px;
    overflow: hidden;
    pointer-events: none;

    resize: none;

    z-index: -1000;

    position: fixed;
    top: 100%;
    bottom: 0;
    height: 0;
    width: 0;
    opacity: 0;

    transition: .1s ease;
}

.window::-webkit-resizer {
    display: none;
}

input:checked ~ main.window {
    opacity: 1;
    pointer-events: all;
}

input:checked ~ main.window:active {
    transition: height 0s;
}

/* Title bar */

.titlebar {
    display: flex;
    justify-content: space-between;
}

.titlebar text {
    font-size: 9pt;
    transform: translateY(-1px);
}

.titlebar .title {
    display: flex;
    align-items: center;
    margin: 8px 0 6px;
}

.titlebar img.icon {
    height: 16px;
    width: 16px;
    border-radius: 3px;
    margin-right: 8px;
}

/* Aero Buttons */

.titlebar .controls {
    min-width: 103.2px;
    text-align: right;
}

.windowcontrol {
    border-bottom: 1px solid #000F;
    background-image: linear-gradient(#FFF6, #FFF2 47%, transparent 50%, transparent 60%, #FFF3);
    height: 18px;
    box-shadow: 0 0 2px 0 white, inset 0 0 1px 0 white;
    color: white;
    transition: 250ms;
    float: right;
    display: flex;
    justify-content: center;
    align-items: center;
}

.windowcontrol:first-child {
    border-bottom-right-radius: 4px;
}

.windowcontrol:last-child {
    border-bottom-left-radius: 4px;
}

.windowcontrol:hover {
    background-image: linear-gradient(#FFF7, #FFF3 47%, transparent 50%, transparent 60%, #FFF7);
    box-shadow: 0 0 4px 0 white, inset 0 0 2px 0 white;
}

.windowcontrol:active {
    background-image: linear-gradient(#BBB7, #BBB3 47%, transparent 50%, transparent 60%, #BBB7);
}

.minimize  {
    border-left: 1px solid #000F;
    border-right: 1px solid #000F;
    background-color: transparent;
    width: 28px;
}

.maximize  {
    width: 26px;
    background-color: transparent;
}

.close {
    border-left: 1px solid #500F;
    border-right: 1px solid #000F;

    width: 46px;
    background-color: #920;
    box-shadow: 0 0 2px 0 white, inset 0 0 2px 0 white;
}

.close:hover {
    background-image: linear-gradient(#FFF7, #FFF3 47%, transparent 50%, transparent 60%, #F40 90%, #F80D 98%);
    background-color: #B20;
    box-shadow: 0 0 6px 0 #F74, 0 0 2px 0 #800, inset 0 0 2px 0 #FBB;
}

.close:active {
    background-image: linear-gradient(#BBB7, #BBB3 47%, transparent 50%, transparent 60%, #F30 90%, #F40 98%)
}




/* Control menu */

.window > label {
    height: 24px;
    transform: translateY(0px);

    background-color: #1E1D1C;

    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border: 1px solid #FFF4;
    border-bottom-color: #1E1D1C;
    padding: 0 10px 1px 10px;
    margin-right: 2px;
    cursor: pointer;
    float: left;
    transition: transform 50ms ease, filter 50ms ease;
}

.window > label:hover {
    filter: brightness(1.75);
}

.window > label:active {
    filter: brightness(0.95);
}

.window > input {
    display: none;
}

.window label:first-of-type {
    border-bottom-left-radius: 2px;
    display: block;
}

.window input:checked + label {
    height: 26px;
    transform: translateY(-2px);

    background-image: linear-gradient(#FFF4, #FFF2 47%, transparent 50%, transparent 60%, #FFF3);
    background-color: #C019;
    border-color: #2229;
    box-shadow: inset 0 1px 0 0 #FFF5, inset 0 -1px 0 0 #0005;
}

.content .controls {
    background-image: linear-gradient(#222C 30%, transparent 50%), linear-gradient(transparent 60%, #8881);
    background-color: #0009;

    border: 1px solid #FFF4;
    border-radius: 5px;
    border-top-left-radius: 2px;
    box-shadow: 0 0 0 1px #0007, inset 0 -3px 2px 0 #0004;

    height: 65px;
    margin-bottom: 4px;
}

/* Content */

.content {
    overflow-y: auto;
    transition: 0.2s;
    height: calc(100% - 36px);
}

.content main {
    height: 100%;
}

article {
    box-shadow: 0 0 0 1px #0007, inset 0 0 2px 0 #000;
    border: 1px solid #FFF2;
    border-radius: 5px;
    background-color: #0009;
    height: calc(100% - 10px);
    padding: 0 8px 8px 8px;
    margin-bottom: 4px;

    word-wrap: break-word;
    overflow: auto;
}



article::-webkit-scrollbar {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;

    width: 17px;
    background-image: linear-gradient(#FFF2, transparent 5px, transparent calc(100% - 5px), #FFF2);
    background-color: #4441;
    box-shadow: inset 0 0 2px 0 #FFF2;
}

article::-webkit-scrollbar-button {
    height: 22px;
}

article::-webkit-scrollbar-button:vertical:decrement {
    background: url("images/vertical-decrement-arrow.svg") no-repeat center;
}

article::-webkit-scrollbar-button:vertical:increment {
    background: url("images/vertical-increment-arrow.svg") no-repeat center;
}

article::-webkit-scrollbar-thumb {
    border: double 1px transparent;
    border-radius: 3px;
    background-image: url("images/scroll.svg"), linear-gradient(to right, #222 40%, #000D 52%, #100D), linear-gradient(#666, #FFF1), linear-gradient(to left, #A229, transparent 3px);
    background-repeat: no-repeat;
    background-position: center;
    background-origin: border-box;
    background-clip: padding-box, padding-box, border-box, border-box;
    box-shadow: inset 0 0 4px black;
}

article::-webkit-scrollbar-thumb:hover, article::-webkit-scrollbar-button:hover {
    box-shadow: inset 0 0 20px 0 #FFF4;
}

article::-webkit-scrollbar-thumb:active, article::-webkit-scrollbar-button:active {
    box-shadow: inset 0 0 20px 0 #FFF2;
}


input:not(:checked) ~ .content .Default,
input[id="About"]:not(:checked) ~ .content .About,
input[id="Projects"]:not(:checked) ~ .content .Projects,
input[id="Contact"]:not(:checked) ~ .content .Contact {
    display: none;
}




/* === INFO === */

.info input ~ main.window {
    left: 60px;
}

.info input:checked ~ main.window {
    top: 60px;
    left: 70px;
    bottom: 100px;

    pointer-events: all;
    width: calc(100% - 250px);
    height: calc(100% - 150px);
    resize: both;

    min-width: 256px;
    min-height: 200px;
}

.info .content {
    height: calc(100% - 54px);
    clear: left;
    transform: translateY(-5px);
}

.info article {
    height: calc(100% - 85.2px);
}

.info h1 {
    color: #F88;
}





/* === IE === */

.ie input ~ main.window {
    left: 100px;
}

.ie input:checked ~ .window {
    top: 30%;
    left: 30%;
    width: 350px;
    height: 200px;
}

.ie summary {
    cursor: pointer;
    text-decoration: underline;
}

.ie details p {
    margin-left: 3em;
    padding: 0
}

.ie p {
    padding: 30px;
    margin: 0
}

.ie p img {
    margin-right: 10px;
}

.ie article img {
    height: 32px;
    width: 32px;
    float: left;
}
