body {
    margin:0;
    padding:0;
    font-family: 'Nunito', sans-serif;
    font-size:1.2rem;
}

html {
    scroll-behavior: smooth;
}

/* Common Things */
.button {
    padding:0.5rem 1rem;
    margin:1rem;
    background-color:rgb(52,152,220);
    border-radius:0.25rem;
    font-weight:bold;
    text-align:center;
    text-decoration:none;
    color:white;
    font-size:1rem;
    box-shadow: 0 0 0.25rem rgba(0,0,0,0.2);
}

.button:hover {
    cursor:pointer;
    background-color:rgb(76,163,224);
}

.title {
    font-size:30pt;
    font-weight:bold;
    margin:0;
}

.nobold {
    font-weight:normal;
}

a:not(.button) {
    color:inherit;
    text-decoration:underline;
}

a:not(.button):hover {
    color:rgb(76,163,224);
    text-decoration:none;
    cursor:pointer;
}

/* Header */
.head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-flow:row wrap;
    padding:0 5.25rem;
}

.head .button {
    width:7rem;
}

#head__nav {
    display:flex;
    flex-flow:row wrap;
}

#head__logo {
    background-image:url("logo.png");
    background-size:100%;
    background-repeat:no-repeat;
    background-position: 0;
}

#head__logo img {
    width:20rem;
    height:auto;
    visibility:hidden;
}

/* Flex Container (Row) */
section {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}

.box {
    position:relative;
    flex:2;
}

/* Row 1 (Funnies) */
#section__funnies {
    align-items:center;
    background: linear-gradient(90deg, rgba(0,0,0,0.8), rgba(0,0,0,0.5)), url("xss1.png");
    background-size:auto 100%;
    background-attachment:fixed;
    background-position:center;
    background-repeat:no-repeat;
    box-shadow: inset 0 3px 6px -3px black, 0 3px 6px 3px black;
}

#box__topline {
    padding: 3rem;
    padding-right:0;
}

#box__topline p {
    color:white;
    text-shadow:0 0 8px black;
}

#box__funnies {
    text-align:right;
}

/* Body Sections */
section.body {
    background-color:rgb(244,245,249);
    overflow:hidden;
}

section.body .title {
    color:rgb(52,152,220);
    font-weight:bold;
}

.body__image {
    border:1px solid black;
    box-shadow:0 0 8px -2px black;
    transition:transform 0.6s ease-in-out;
    overflow:hidden;
    background-size:auto 100%;
    background-repeat:no-repeat;
    background-position:center;
}

.body__image img {
    visibility:hidden;
    height:60vh;
    width:auto;
}

.body__image[datapos="1"] {
    background-image:url("xss3.png");
}

.body__image[datapos="2"] {
    background-image:url("xss2.png");
}

.body__image[datapos="3"] {
    background-image:url("xss1.png");
}

.body__text, .body__image, #box__videos {
    transition:opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
    margin:2rem;
}

.body__text, .body__image {
    opacity:0.5;
}

.body__text {
    flex:2;
    background-color:white;
    padding:2rem;
    border-radius:6px;
    box-shadow:inset 0 0 3px darkgray;
}

.left {
    transform:translateX(-2rem);
}

.right {
    transform:translateX(2rem);
}

#about {
    padding-top:2em;
}

#body__last {
    padding-bottom:2em;
}

/* Videos */
#box__videos {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    margin:2em;
}

#box__videos iframe {
    flex:1;
    border:3px solid lightgray;
    transition:all 0.3 ease-in-out;
    width:45vw;
    height:25vw;
}


/* Footer */
footer {
    border-top:3px solid rgb(102,202,270);
    padding:2rem;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-flow:row wrap;
}

#footer__logo img {
    width:20rem;
    height:auto;
}

#footer__nav {
    display:block;
}

#footer__nav a {
    text-decoration: none;
}


/* Back to Top Icon */
#top_button {
    z-index:9000;
    position:fixed;
    right:0;
    top:80vh;
    padding:0.75rem;
    margin-right:1rem;
    background-color:rgb(52,152,220);
    border-radius:3px;
    transition:all 0.2s ease-in;
    color:white;
}

#top_button[data-pos="0"] {
    visibility:hidden;
    opacity:0;
}

#top_button[data-pos="1"] {
    visibility:visible;
    opacity:0.4;
}

#top_button:hover {
    background-color:rgb(102,202,270);
    top:79.4vh;
}

/* Responsive Controls */
@media screen and (max-width:845px) {
    #head__nav {
        flex-flow:column wrap;
    }

    #box__topline {
        padding:0 3rem 3rem;
    }

    .head {
        justify-content: space-around;
        padding:0;
    }

    .box {
        transform:none;
    }

    #box__videos iframe {
        width:80vw;
        height:45vw;
    }

    .body__image img {
        width:80vw;
        height:auto;
    }
    
    section:nth-of-type(odd) {
        flex-direction:column-reverse;
    }

    section:nth-of-type(even) {
        flex-direction:column;
    }
}

@media screen and (max-width:500px) {
    #stix {
        width:100%;
    };
    .head {
        flex-flow:column wrap;
        padding-bottom:1rem;
    }

    #head__nav {
        flex-flow:row wrap;
        justify-content: space-around;
    }

    .head, #head__nav {
        align-items:center;
    }
}