:root {
    --big-font: 4em;
    --gap: 2em;
    --white: rgb(250, 250, 255);
    --bgWhite:rgb(245, 245, 250);
    --black: rgb(32, 33, 46);
    --shadow: rgba(0,0,20, 20%);
    --transitionSpeed: 0.3s;
    --easyShadow: 3px 2px 22px 1px rgba(0, 0, 0, 0.24);
}

body {
    width: 100vw;
    height: 100%;
    margin: 0px;
    padding: 0px;
    font-family: sans-serif;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background-color: var(--bgWhite);
}

header {

    display: flex;

    flex-direction: row;
    flex-wrap: wrap;

    justify-content: flex-start;
    align-items: flex-end;
    align-content: center;
    gap: var(--gap);

    padding-left: var(--big-font);
    padding-right: var(--big-font);
    padding-top: var(--gap);
    padding-bottom: var(--gap);

    background-color: var(--bgWhite);
    color: var(--black);
    box-shadow: 0em 1em 1.5em 0.3em var(--shadow)
}

header > span {
    align-self: center;
}

.bg {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: -1;

    background-image: url("back.webp");
    background-size: cover;

    filter: blur(8px);
    -webkit-filter: blur(8px);
}

#bannerlogo {
    height: var(--big-font);
}

#contentBody {
    align-self: center;

    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: stretch;

    background-color: var(--bgWhite);
    margin-top: var(--gap);
    margin-bottom: var(--gap);
    box-shadow: 1em 0em 1.5em 0.3em var(--shadow), -1em 0em 1.5em 0.3em var(--shadow);
    height: 100%;
    width: 76%;
    padding: var(--gap);
    font-size: 1.1em;
    border-radius: var(--gap);
}

#portalImg {
    flex-grow: 1.0;
    margin: var(--gap);
    margin-left: -var(--gap);
    margin-right: -var(--gap);
    box-shadow: var(--easyShadow);
}


#buttonRow {
    margin-top: var(--gap);
    margin-bottom: var(--gap);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: var(--gap);
    /* height: var(--big-font); */
}

#buttonRow > button {
    flex-grow: 1.0;
    flex-basis: 0em;
    border-radius: var(--gap);
    border-width: 0px;
    border-color: rgba(0,0,20, 25%);

    cursor: pointer;
    transition: var(--transitionSpeed);

    box-shadow: var(--easyShadow);
    background-color: transparent;
}

#buttonRow > button:hover {
    opacity: 100%;
    border-width: 3px;
    border-color: rgba(0,0,20, 50%);
    background-color: white;
}

#buttonRow > button.Selected {
    opacity: 100%;
    border-width: 3px;
    border-color: rgba(0,0,20, 50%);
    background-color: white;
    transform: scale(0.98);
}

#buttonRow > button:active {
    transform: scale(0.98);
}

.VanishBox {
    padding-top: var(--gap) / 2;
    display: grid;
}

.VanishText {
    transition: var(--transitionSpeed);
    grid-column: 1;
    grid-row: 1;
    opacity: 0.0;
}

/* Initial selection */
#allBuildingsTxt {
    opacity: 1.0;
}

footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-end;

    padding-left: var(--gap);
    padding-right: var(--gap);
    padding-bottom: var(--gap);
    background-color: var(--bgWhite);
    color: rgb(32, 33, 46);

    box-shadow: 0em -1em 1em rgba(0, 0, 10, 0.2);

    text-shadow: 3px 2px 2em white;
}

a {
    color: hsl(200, 70%, 65%);
    /* text-decoration: none; */

}
