
:root {

    --cSidepanel: 16vw;
    --cTaskbar: 13vh;
    --cTitle: 7vh;
    --cBanner: 30px;

    --blue: #3c6573;  
    --darkBlue: #2e4e59;
    --lightBlue: #4e8496;
    --whiteBlue: #c6ebf5;

    --cBottom: 100px;

    --cRadius: 2px;

}

.class_text {
    font-family: Georgia, serif;
    text-shadow: 1px 1px 2px #000000;
    color: #c6ebf5;
}

.class_banner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: var(--cBanner);
    background: #3c6573;
    font-size: 100%;
    box-shadow: 0 4px 5px -3px #000000;
    border-radius: var(--cRadius);
}

.class_bannerIcon {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: auto;
    pointer-events: none;
}

.class_bannerText {
    position: absolute;
    left: var(--cBanner);
    top: 0;
    width: calc(100% - var(--cBanner));
    height: 100%;
    pointer-events: none;
    font-size: 150%;
}

.class_tileBg {
    background: var(--lightBlue);
    box-shadow: 0 0 1px #000000;
    box-sizing: border-box;
    border-radius: var(--cRadius);
}

/* Body vvv */

body {
    background: var(--blue);
    background-image: url("images/star.ico");
    overflow: hidden;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    scrollbar-width: thin;
}

/* Tooltip vvv */

#div_tooltip {
    position: absolute;
    left: 0;
    top: 0;
    width: 10%;
    height: 10%;
    background: #3c6573;
    font-size: 90%;
    box-shadow: 1px 1px 3px 0px #000000;
    border-radius: var(--cRadius);
    display: none;
    pointer-events: none;
    z-index: 1000;
    padding: 2px;
}

#img_tooltip {
    position: absolute;
    left: -10px;
    top: -10px;
}

#text_tooltip {
    position: absolute;
}

/* Taskbar vvv */

#div_taskbar {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(var(--cTaskbar) - 20px);
    filter: saturate(80%);
}

@keyframes scroll {
    from { transform: translate(0%, 0); }
    to { transform: translate(-50%, 0); }
}

#div_taskbar0 {
    position: absolute;
    left: 0;
    top: 0;
    width: 200%;
    height: 100%;
    background-image: url("images/taskbar0.png");
    background-size: contain;
    animation: scroll 180s linear infinite;
}

#div_taskbar1 {
    position: absolute;
    left: 0;
    top: 0;
    width: 200%;
    height: 100%;
    background-image: url("images/taskbar1.png");
    background-size: contain;
    animation: scroll 120s linear infinite;
}

#div_taskbar2 {
    position: absolute;
    left: 0;
    top: 0;
    width: 200%;
    height: 100%;
    background-image: url("images/taskbar2.png");
    background-size: contain;
    animation: scroll 60s linear infinite;
}

#text_taskbar {
    position: absolute;
    bottom: 0;
    font-size: 70%;
    background: var(--darkBlue);
    border-radius: 2px;
}

/* Main Screen vvv */

#div_main {
    position: absolute;
    left: 10px;
    top: 10px;
    width: calc(100% - 20px);
    height: calc(100% - var(--cTaskbar));
}

/* Sidepanel vvv */

#div_sidePanel {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--cSidepanel);
    height: 100%;
}   

#div_title {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: var(--cTitle);
    background: var(--blue);
    border-radius: var(--cRadius);
    box-shadow: 0 0 2px .5px #000000;
}

#div_title h {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    font-size: 170%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    pointer-events: none;
    white-space: nowrap;
}

#div_clock {
    position: absolute;
    left: 0;
    bottom: 0;
    width: var(--cSidepanel);
    height: var(--cSidepanel);
}

#btn_clock {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url("images/clock0.png");
    background-position: center;
    background-size: contain;
    border-radius: 50%;
    border-style: solid;
    border-width: 1px;
    border-color: var(--borderColor);
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 3px 0px #000000;
}

#img_clockForeground {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

#text_time {
    position: absolute;
    color: white;
    font-size: 300%;
    overflow: hidden;
    border-radius: var(--cRadius);
    pointer-events: none;
}

#div_tree {
    position: absolute;
    left: 0;
    top: calc(var(--cTitle) + 10px);    
    width: 100%;
    height: calc(100% - var(--cTitle) - var(--cSidepanel) / 2 - 10px);
    pointer-events: none;
    overflow: hidden;
}

#img_tree {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 400%;
    height: auto;
    max-height: 100%;
}

/* Main Panel vvv */

#div_mainPanel {
    position: absolute;
    left: calc(var(--cSidepanel) + 15px);
    top: 0;
    width: calc(100% - var(--cSidepanel) - 15px);
    height: 100%;
    background: var(--darkBlue);
    border-radius: var(--cRadius);
    box-shadow: 0 0 3px .5px #000000;
}

/* Chat vvv */

#div_chat {
    position: absolute;
    left: 5px;
    top: 5px;
    width: 50%;
    height: 50%;
}

#div_chatMain {
    position: absolute;
    left: 0;
    top: var(--cBanner);
    width: 100%;
    height: calc(100% - var(--cBanner));
    background: var(--lightBlue);
    box-shadow: 0 0 1px #000000;
    box-sizing: border-box;
    padding: 10px;
    background: none;
}

#iframe_chat {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: none
}

/* Image gen vvv */

#div_imagen {
    position: absolute;
    left: 5px;
    bottom: 5px;
    width: 25%;
    height: calc(50% - 15px);
}

#div_imagenMain {
    position: absolute;
    left: 0;
    top: var(--cBanner);
    width: 100%;  
    height: calc(100% - var(--cBanner));
    padding: 5px;
    box-sizing: border-box;
}

#textarea_imagen {
    position: relative;
    left: 0;
    top: 0;
    width: calc(100% - 7px);
    height: 20%;
    background: var(--blue);
    resize: none;
    margin-bottom: 5px;
    border-radius: var(--cRadius);
    border-color: var(--blue);
}

#canvas_imagen {
    position: relative;
    left: 0%;
    top: 0;
    width: 100%;
    height: calc(80% - 13px);
    background: white;
    overflow: hidden;
    background: #dddddd;
    border-radius: var(--cRadius)
}

/* Links vvv */

#div_links {
    position: absolute;
    left: calc(25% + 5px);
    bottom: 0;
    width: calc(25% - 5px); margin: 5px;
    height: calc(50% - 15px);
}

#div_linksMain {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - var(--cBanner) - 1px);
    padding: 5px;
    box-sizing: border-box;
    overflow: scroll;
}

.class_tableLinks {
    position: relative;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    table-layout: fixed;
}

.class_tableLinks caption {
    width: 100%;
    background: var(--blue);
    border-radius: var(--cRadius);
    font-family: Georgia, serif;
    text-shadow: 1px 1px 2px #000000;
    color: var(--whiteBlue);
    font-size: 125%;
}

.class_tableLinks tr td:nth-child(1) {
    width: 10%;
    background: var(--lightBlue);
    border-radius: var(--cRadius);
    font-family: Georgia, serif;
    text-shadow: 1px 1px 2px #000000;
    color: var(--blue);
    font-size: 120%;
}

.class_tableLinks tr:nth-child(odd) td:nth-child(1) {
    color: var(--darkBlue);
}

.class_tableLinks tr td:nth-child(2) a {
    padding: 1px;
    box-sizing: border-box;
    font-family: Georgia, serif;
    text-shadow: 1px 1px 2px #000000;
    font-size: 120%;
    color: var(--whiteBlue);
    background: none;
    border-radius: var(--cRadius);
}

.class_tableLinks tr td:nth-child(2) a:hover {
    color: var(--blue);
}

/* About vvv */

#div_about {
    position: absolute;
    left: calc(50% + 10px);
    bottom: 5px;
    width: 25%;
    height: calc(50% - 15px);
}

#div_aboutMain {
    position: absolute;
    left: 0;
    top: var(--cBanner);
    width: 100%;
    height: calc(100% - var(--cBanner));
    padding: 10px;
    overflow-y: scroll;
    overflow-x: hidden;
    box-sizing: border-box;
}

#div_about p {
    margin: 0;
    padding: 5px;
    background-color: var(--darkBlue);
    border-radius: var(--cRadius);
    display: block;
}

/* Avatar Creator */

#div_avatar {
    position: absolute;
    left: calc(50% + 10px);
    top: 5px;
    width: 25%;
    height: 50%;
}

#div_avatarMain {
    position: absolute;
    left: 0;
    top: calc(var(--cBanner) + 5px);
    width: 100%;
    height: calc(100% - var(--cBanner) - 5px);
    padding: 5px;
    box-sizing: border-box;
}

#div_avatarCanvas {
    position: absolute;
    left: 5px;
    top: 5px;
    width: 50%;
    height: calc(100% - 10px);
    background: var(--darkBlue);
    border-radius: var(--cRadius);
    overflow: hidden;
}

#canvas_avatarDisplay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

#canvas_avatarMask {
    position: absolute;
    left: 200%;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: none;
}

#div_avatarCustomizer {
    position: absolute;
    left: calc(50% + 10px);
    top: 5px;
    width: calc(50% - 15px);
    height: calc(100% - 10px);
    background: var(--darkBlue);
    border-radius: var(--cRadius);
}

#div_avatarColors {
    position: absolute;
    left: 5px;
    top: 5px;
    width: calc(100% - 10px);
    height: calc(50% - 10px);
    background: var(--blue);
    border-radius: var(--cRadius);
}

#div_avatarGear {
    position: absolute;
    left: 5px;
    top: calc(50% + 5px);
    width: calc(100% - 10px);
    height: calc(50% - 10px);
    background: var(--blue);
    border-radius: var(--cRadius);
}

.class_limbColorbutton {
    position: absolute;
    width: 20%;
    height: 20%;
    background: var(--lightBlue);
    border-radius: var(--cRadius);
    padding: 0;
    transform: translate(-50%, -50%);
}

#div_colorpicker {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(78, 132, 150, .5);
    box-shadow: 1px 1px 4px .2px #000000;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    display: none;
}

#button_colorpickerCancel {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 30%;
    height: 30%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
}

.class_colorpickerButton {
    position: absolute;
    background: red;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 1001;
}

.class_avatarGearButton {
    position: absolute;
    left: 0;
    top: 0;
    width: 25%;
    height: 15%;
    margin: 0;
    padding: 0;
    background: var(--lightBlue);
    border-radius: var(--cRadius);
    border-color: var(--blue);
}

.class_avatarGearButton:hover {
    background: var(--blue);
}

.class_avatarGearNumber {
    position: absolute;
    left: 35%;
    top: 0;
    width: 30%;
    height: 15%;
    margin: 0;
    padding: 0;
    background: var(--lightBlue);
    border-radius: var(--cRadius);
    text-align: center;
}

.class_avatarGearAtlas {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 800%;
}