:root {
    --main-bg-color: hsl(216, 57%, 20%);
    --secondary-bg-color: hsl(217, 58%, 85%);
    --font-main-color: hsl(215, 13%, 25%);
    --font-alternate-color: white;
    --font-alternate-color-2: hsl(216, 57%, 20%);
    --color-secondary: hsl(144, 100%, 33%);
    --border-color: hsl(0, 0%, 80%);
    --warning-color: hsl(48, 100%, 33%);
    --warning-color-2: hsl(48, 100%, 45%);
    --warning-bg-color: hsl(48, 100%, 75%);
}

body {
    margin: 0;
    width: 100%;

    font-family: 'Poppins';
    color: var(--font-main-color);
}

section {
    width: calc(100% - 30px);
    padding-left: 15px;
    padding-right: 15px;
}

#stickyHeader {
    position: sticky;
    z-index: 1;
    width: calc(100% - 30px);
    top: 0;
    left: 0;

    padding: 15px;

    color: var(--font-alternate-color);
    background-color: var(--main-bg-color);
}

#stickyHeader h1 {
    font-size: 50px;
    margin: 0;
}

#stickyHeader h3 {
    margin: 0;
}

#stickyHeader a {
    color: var(--font-alternate-color);
}

#powerupName {
    font-size: 18px;
    color: var(--color-secondary);
}

#banner {
    position: absolute;
    left: 30%;
    height: 75%;
}

a {
    font-style: italic;
    color: var(--color-secondary);
    text-decoration: none;
}

.featureIcon {
    float: left;
    margin-top: 7.5px;
    margin-right: 10px;
    height: 60px;
}

.code {
    font-family: monospace;

    margin: 5px;
    padding: 5px;
    background-color: hsl(0, 0%, 90%);

    border-width: 2px;
    border-radius: 5px;
    border-style: solid;
    border-color: var(--font-main-color);
}

.inlineIcon {
    height: 20px;
    vertical-align: middle;
}

.warn {
    color: var(--warning-color);
    background-color: var(--warning-bg-color);

    padding: 5px;
    border-radius: 5px;
}

.warn a {
    color: var(--warning-color-2);
}

.leftLeaning {
    float: left;
}

.rightLeaning {
    float: right;
}

/* Fade animation */
.fade {
    width: 100%;
    display: none;

    animation-name: fade;
    animation-duration: 1.5s;
}

@keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

/* Next & previous buttons */
.prev, .next {
    position: relative;

    font-family: Verdana,sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 18px;
    color: white;

    width: auto;
    padding: 16px;

    cursor: pointer;
    border-radius: 3px 3px 3px 3px;
    user-select: none;

    background-color: rgba(0,0,0,0.2);
}

/* Position the "next button" to the right */
.next {
    float: right;
}
  
/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.8);
}

.gridContainer {
    display: grid;
    grid-template-columns: calc(50% - 25px) calc(50% - 25px);
    gap: 50px;
}

.gridCell {
    display: inline-block;
}

.demoGif {
    width: 100%;
}

.docsContainer {
    width: calc(100% - 28px);
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 16px;

    border-radius: 5px;

    color: var(--font-alternate-color-2);
    background-color: var(--secondary-bg-color);
}

.hintBox {
    width: 100%;

    border-style: solid;
    border-color: var(--main-bg-color);
    border-width: 2px;
}

.hintHeader {
    width: calc(100% - 10px);
    padding: 5px;

    color: white;
    background-color: var(--main-bg-color);
    font-size: 20px;
}

.hintContent {
    width: calc(100% - 10px);
    padding: 5px;
}

.errorsTable {
    margin-bottom: 15px;
}

.errorsTable td {
    vertical-align: top;
    border-style: dashed;
    border-color: var(--border-color);
    border-width: 0px;
    border-bottom-width: 2px;
}

.errorsTable th {
    font-size: 20px;

    vertical-align: top;
    border-style: dashed;
    border-color: var(--border-color);
    border-width: 0px;
    border-bottom-width: 2px;
}

.errorsTable .borderRight {
    border-right-width: 2px;
}

.errorsTable .finalLine {
    border-bottom-width: 0px;
}

#footer {
    position: sticky;
    z-index: 1;
    width: calc(100% - 30px);
    bottom: 0;
    left: 0;

    padding: 15px;

    color: var(--font-alternate-color);
    background-color: var(--main-bg-color);

    font-size: 12px;
}

#footer a {
    margin-right: 70px;
    font-style: normal;
    color: var(--font-alternate-color);
    text-decoration: underline;
}

.patreonBtn {
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 5px;

    color: white;
    font-style: normal;
    background-color: #f96854;
}

.patreonBtnAlt {
    color: #f96854;
    font-style: italic;
}
