
/* Base Styles */

body {
    padding: 0px 7.5vw;
    margin: 8px 0px;

    background: url("../sprites/Background_Tiled.png") repeat fixed;
    background-color: rgb(15, 21, 28);
    background-size: 200vw;
    background-position-x: 20%;
    overflow-x: hidden;

    font-family: sn_pro;
    font-size: 17px;
    color: white;
}

/* Top of Website Display */

#socialsBKGD {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 2;

    background: url("../sprites/Background_Tiled.png") repeat fixed;
    background-size: 200vw;
    background-position-x: 20%;
    border-radius: 6px;
}

#socials {
    background-color: rgb(98, 211, 111, .25);
}

#socials > button {
    padding: 5px 6px;
    border: 2px solid rgb(98, 211, 111);;
}

#socials:active {
    background-color: rgb(98, 211, 111);
}

#socialsList {
    position: fixed;
    right: 10px;
    top: 45px;
}

#banner {
    height: 175px;
    max-height: 30vw;
    margin-bottom: 25px;

    display: flex;
    justify-content: center;
}

#banner > img {
    position: absolute;
    height: 130px;
    max-height: 20vw;
}

#banner > div {
    position: absolute;
    width: 85vw;
    height: 155px;

    background-position-y: top;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1;
}

.bannerTitle {
    display: block !important;
    align-content: end;
    text-align: center;
    height: 115px !important;
    max-height: 21vw;
    margin-top: 50px;
    color: whitesmoke;
}

.bannerTitle > div {
    font-size: 13px;
    color: rgb(173, 173, 173);
}

.navBar {
    display: flex;
    width: 85vw;
    padding-bottom: 25px;
    z-index: 1;
}

.navBarLock {
    position: fixed;
    left: 0px;
    top: 0px;
    padding: 15px 7.5vw 25px 7.5vw;

    mask-image: linear-gradient(0deg, rgba(48, 73, 40, 0) 0%, rgba(255, 255, 255, 1) 25%);
    background: url("../sprites/Background_Tiled.png") repeat fixed;
    background-size: 200vw;
    background-position-x: 20%;
}

#shortNavBar {
    padding-left: 3vw;
    display: none;
}

#shortNavBar.navBarLock {
    padding-left: 10.5vw;
}

#navBarCurrent {
    padding: 4px 10px 4px 15px;
}

#navList {
    position: fixed;
    display: none;
    transition-duration: 0s;
}

#navList > div {
    padding-bottom: 2.5px;
    padding-top: 2.5px;
}

#navBarSpacer {
    display: none;
    height: 59.8px;
}

/* Pages, Articles, Sections, and Subsections */

.page {
    position: relative;
    top: 0px;
    height: 0px;
    display: none;
    flex-direction: column;
    align-items: center;
}

.pageFullHeight {
    height: auto !important;
}

.showPage {
    display: flex;
}

.sideBySides {
    display: flex;
}

.article {
    width: 850px;
    max-width: 85vw;
    padding: 0px 16px 0px 0px;
    margin-bottom: 40px;
    display: flex;

    background-size: 70px, 100%;
    background-image: url("../sprites/PageBackground.webp");
    background-image: url("../sprites/PageBackground_Gradient.webp"),
        linear-gradient(150deg, rgba(48,73,40,1) 0%, rgba(41,41,41,1) 25%, rgba(41,41,41,1) 75%, rgba(61,34,64,1) 100%);

    border: 2px solid rgb(98, 211, 111);
    border-radius: 10px;

    position: relative;
    animation: newArticle .5s;
}

.subarticle {
    width: 950px;
    border: 2px solid rgb(211, 63, 63);
    background-image: url("../sprites/PageBackground_Gradient.webp"),
        linear-gradient(150deg, rgba(94,45,45,1) 0%, rgba(41,41,41,1) 25%, rgba(41,41,41,1) 75%, rgba(61,34,64,1) 100%);
}

.section {
    margin: 16px 0px 16px 16px;
    padding: 12px 12px;

    text-align: justify;
    background-color: rgb(80 80 80 / 47%);
    border-radius: 10px;
    line-height: 135%;
}

.subarticle > .section {
    background-color: rgb(75 75 75 / 44%);
}

.subsection {
    width: fit-content;
    margin: 0px 0px 15px 15px;
    float: right;
    background-color: rgba(36, 36, 36, .75);
    border-radius: 10px;
}

h1 {
    display: flex;
    justify-content: space-between;
    color: #00c6ff;
    text-shadow: 4px 4px 3px black;
    font-size: 25px;
    text-align: center;
    margin: 0px 0px 10px 0px;
}

.subarticle > .section > h1 {
    color: orange;
    font-size: 22px;
}

h1 > div {
    color: rgb(171, 171, 171);
    font-size: 15px;
    text-shadow: none;
}

/* Hover Color Features */

@media (hover: hover) {
    #socials:hover {
        background-color: rgb(98, 211, 111);
    }
}

/* Resizing Changes */

@media screen and (max-width: 1200px) {
    #banner > div {
        display: var(--show-on-hughes);
    }
}

@media screen and (max-width: 1050px) {
    #banner > div {
        display: none;
    }
}

@media screen and (max-width: 875px) {
    #navBar {
        display: none;
    }
    #shortNavBar {
        display: flex;
    }
}

@media screen and (max-width: 725px) {
    .article {
        display: block;
    }
}

@media screen and (max-width: 450px) {
    .article .section:nth-child(2) {
        margin: 10px 0px 0px 0px;
    }
    .section {
        width: 97.5%;
        margin: 0px;
        text-align: inherit;
    }
}