header {
    top: 0;
    margin: 0;
    background-color: var(--color-secondary-turqoise);
    color: var(--color-white);
    font-weight: 600;
    border-bottom: 0.125rem solid var(--color-turqoise-dark);
    position: fixed;
    z-index: 9999;
    left: 0;
    right: 0;
    top: 0;
}

header ul {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

header ul li {
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0.6em;
}

header ul li img {
    height: 1.875rem;
    margin-right: 0.3em;
}

header ul li:first-of-type img {
    height: 2.3rem;
}

header ul li:nth-of-type(2) img {
    filter: brightness(0%) opacity(20%);
}

header ul li:nth-of-type(2) {
    color: var(--color-turqoise-dark);
}

header ul li:last-of-type img {
    height: 2rem;
}

header ul li p {
    margin: 0;
    font-size: 1.05em;
}

header h1 {
    font-size: 1.2em;
    font-weight: 500;
    padding-top: 0.7em;
    padding-bottom: 0.5em;
    text-align: center;
}

main {
    padding-top: 8.125rem;
    padding-bottom: 5.5em;
}

section:nth-of-type(1),
section:nth-of-type(2) {
    background-color: var(--color-feather-green);
    display: grid;
    padding: 1em;
    grid-template-columns: 1fr max-content;
    grid-template-rows: max-content max-content;
    row-gap: 0.2em;
    color: var(--color-white);
}

section:nth-of-type(1) h2,
section:nth-of-type(2) h2 {
    margin: 0;
    font-size: 1.5625em;
}

section:nth-of-type(1) p,
section:nth-of-type(2) p {
    order: 1;
    margin: 0;
    font-size: 1.1875em;
    font-weight: 300;
}

section:nth-of-type(1) a,
section:nth-of-type(2) a {
    width: 3.25rem;
    height: 3.25rem;
    grid-row: span 2;
    align-items: center;
    align-self: center;
    justify-self: center;
    border: 0.125rem solid var(--color-buttonborder-green);
    background-color: var(--color-feather-green);
    border-radius: 1em;
    box-shadow: 0 0.125rem 0 var(--color-buttonborder-green);
}

section:nth-of-type(1) a:hover,
section:nth-of-type(2) a:hover {
    filter: brightness(104%);
}

section:nth-of-type(1) a:active,
section:nth-of-type(2) a:active {
    box-shadow: none;
    transform: translateY(0.125rem);
    outline: none;
}

section:nth-of-type(1) img,
section:nth-of-type(2) img {
    margin: 0.75em;
}

/* EIGEN PAARSE KLEUR VOOR DE TWEEDE UNIT */
section:nth-of-type(2) {
    background-color: var(--color-secondary-purple);
}

section:nth-of-type(2) a {
    background-color: var(--color-secondary-purple);
    border: 0.125rem solid var(--color-purple-dark);
    box-shadow: 0 0.125rem 0 var(--color-purple-dark);
}

main ul {
    list-style-type: none;
    margin-top: 4em;
    padding-left: 0;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-content: center;
    gap: 1.2em;
}

main ul li {
    height: max-content;
    width: max-content;
    justify-self: center;
}

main ul li>img {
    width: 5rem;
}

main ul li button {
    background-color: var(--color-levels-locked-background);
    box-shadow: 0 0.5rem 0 var(--color-levels-locked-shadow);
    border-radius: 50%;
    border: none;
    padding: 0;
    height: 3.5625rem;
    width: 4.375rem;
    margin-bottom: 0.5rem;
}

/* EERSTE UNLOCKED LEVEL */
main ul li:first-of-type {
    position: relative;
}

main ul li:first-of-type>img {
    width: 6.125rem;
    height: 5.8125rem;
    left: 50%;
    /* top: 50%; */
}

main ul li:first-of-type button {
    background-color: var(--color-feather-green);
    box-shadow: 0 0.5rem 0 var(--color-buttonborder-green);
    position: absolute;
    left: 0.875rem;
    top: 0.875rem;
    font: inherit;
}

/* ANIMATIE VOOR LOCKED LEVELS */
@keyframes lockedLevelClick {
    10% {
        transform: translateX(-1em);
    }

    30% {
        transform: translateX(1em);
    }

    50% {
        transform: translateX(-0.5em);
    }

    70% {
        transform: translateX(0.5em);
    }

    90% {
        transform: translateX(-0.2em);
    }

    100% {
        transform: translateX(0);
    }
}

main ul li button:active img {
    animation-name: lockedLevelClick;
    animation-duration: 0.7s;
    animation-fill-mode: forwards;
}

main ul li:first-of-type button:active img {
    animation:none
}

/* START WOLKJE */
main ul li:first-of-type button p {
    position: absolute;
    font: inherit;
    bottom: calc(100% - .5em);
    left: -0.175rem;

    background-color: var(--color-feather-green);
    border: solid 0.125rem var(--color-background-snow);
    padding: 0.75rem;
    padding-right: 0.72rem;
    padding-bottom: 0.68rem;
    color: var(--color-background-snow);

    font-size: 1.0625em;
    font-weight: 500;
    letter-spacing: 0.03rem;
    text-transform: uppercase;

    line-height: 1;
    border-radius: 0.625rem;

    animation-name: zwevend;
    animation-duration: 2.5s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
}

main ul li:first-of-type button p::after {
    content: "";

    position: absolute;
    top: calc(100% - .38em - 2px);
    left: calc(50% - .5em);

    width: 1em;
    height: 1em;

    background-color: inherit;

    transform: rotate(45deg);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);

    border: inherit;
    border-radius: 0.125rem;
}

@keyframes zwevend {
    50% {
        transform: translateY(0.5rem);
    }
}

main ul li:first-of-type button:hover {
    filter: brightness(104%);
}

main ul li button:active {
    box-shadow: none;
    transform: translateY(0.5rem);
    outline: none;
}

/* GOLF EFFECT LEVELS */

main ul li:nth-of-type(2),
main ul li:nth-of-type(4) {
    margin-right: 6em;
}

main ul li:nth-of-type(3) {
    display: flex;
    justify-content: space-between;
    gap: 5em;
    margin-bottom: -1em;
}

main ul li:nth-of-type(6),
main ul li:nth-of-type(8) {
    margin-left: 6em;
}

main ul li:nth-of-type(7) {
    display: flex;
    justify-content: space-between;
    gap: 5em;
    margin-bottom: -1em;
}

main ul li:nth-of-type(7)>img {
    order: -1;
}

/* TWEEDE UNIT AANPASSINGEN AAN LEVELS */
main ul:nth-of-type(2) li:first-of-type button {
    background-color: var(--color-secondary-purple);
    box-shadow: 0 0.5rem 0 var(--color-purple-dark);
}

main ul:nth-of-type(2) li:first-of-type button p {
    background-color: var(--color-background-snow);
    border: solid 0.125rem var(--color-secondary-grey);
    color: var(--color-secondary-purple);
    width: max-content;
    left: calc(-50% + 0.4em);
}

main ul:nth-of-type(2) li:nth-of-type(3)>img,
main ul:nth-of-type(2) li:nth-of-type(7)>img {
    width: auto;
    height: 8.5em;
}

main ul:nth-of-type(2) li:nth-of-type(3),
main ul:nth-of-type(2) li:nth-of-type(7) {
    margin-bottom: -4em;
}

main ul:nth-of-type(2) li:last-of-type {
    z-index: 10;
}

main ul:nth-of-type(2) li:first-of-type button:active {
    box-shadow: none;
    transform: translateY(0.5rem);
    outline: none;
}

main ul:nth-of-type(2) {
    margin-bottom: -1.5em;
}

section:last-of-type {
    text-align: center;
    align-items: center;
    border: 0.125rem solid var(--color-secondary-grey);
    border-radius: 1em;
    padding-top: 1.5em;
}

section:last-of-type p:first-of-type {
    background-color: var(--color-secondary-grey);
    border-radius: 0.365em;
    display: inline-block;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--color-greyongrey);
    font-size: 0.9375em;
    letter-spacing: 0.04em;
    padding: 0.25em 0.5em;
}

section:last-of-type h2 {
    margin: 0;
    color: var(--color-darkgrey);
    font-size: 1.5625em;

}

section:last-of-type h2::before {
    content: url(../images/icons/lock2.svg);
    display: inline-block;
    transform: scale(1.5);
    margin-right: 0.3em;
}

section:last-of-type p:last-of-type {
    color: var(--color-greyongrey);
    font-size: 1.1875em;
    display: inline-block;
    width: 19.375em;
    font-weight: 300;
}

main section:last-of-type a {
    text-transform: uppercase;
    display: inline-block;
    border-radius: var(--button-border-radius);
    height: 3.125em;
    width: 20.625rem;
    line-height: 3.125em;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 1em;
    background-color: var(--color-background-snow);
    border: 2px solid var(--color-secondary-grey);
    color: var(--color-secondary-blue);
    box-shadow: 0 0.125rem 0 var(--color-secondary-grey);
    font-size: 0.95em;
}

main section:last-of-type a:hover {
    filter: brightness(104%);
}

main section:last-of-type a:active {
    box-shadow: none;
    transform: translateY(0.125rem) translateZ(0);
    outline: none;
}

/* FOOTER NAV BAR */
footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--color-background-snow);
    border-top: 0.125rem solid var(--color-secondary-grey);
    z-index: 9999;
}

footer ul {
    display: flex;
    flex-direction: row;
    list-style-type: none;
    padding: 0;
    margin: 0;
    height: 5.5rem;
}

footer ul li {
    width: 20dvw;
    display: flex;
    align-items: center;
    justify-content: center;
}

footer ul li a:hover img {
    filter: brightness(104%);
}

footer ul li a:active img {
    filter: brightness(90%);
}

footer ul li img {
    width: 3.125em;
    height: 3.125em;
}

footer ul li:first-of-type img {
    border: solid 0.125rem var(--color-secondary-blue-semitransparent);
    background-color: var(--color-secondary-blue-transparent);
    border-radius: 0.625rem;
}

footer>a {
    width: 3.125rem;
    height: 3.125rem;
    background-color: var(--color-background-snow);
    border-radius: 1rem;
    position: absolute;
    z-index: 20;
    bottom: 120%;
    right: 4%;
    border: 0.125rem solid var(--color-secondary-grey);
    box-shadow: 0 0.125rem 0 var(--color-secondary-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
}

html {
    scroll-behavior: smooth;
}

.visible {
    visibility: visible;
}

footer>a:hover {
    filter: brightness(104%);
}

footer>a:active {
    box-shadow: none;
    transform: translateY(0.125em);
}



@media (prefers-color-scheme: dark) {
    main ul li:first-of-type>img {
        filter: opacity(20%);
    }

    main ul li:first-of-type button p {
        background-color: var(--color-background-snow);
        border: solid 0.125rem var(--color-secondary-grey);
        color: var(--color-feather-green);
    }

    main ul li img {
        filter: opacity(35%);
    }

    main ul:first-of-type li:nth-of-type(3)>img,
    main ul li:first-of-type button img {
        filter: none;
    }

    a:hover,
    ul li:first-of-type button:hover,
    footer>a:hover {
        filter: brightness(120%) !important;
    }
}

@media (prefers-contrast: more) {
    * {
        box-shadow: none !important;
        background-color: #000000 !important;
        color: #FFFFFF !important;
    }

    a {
        border: 0.125em solid #FFFFFF !important;
    }

    button {
        outline: 0.125em solid #FF00FF !important;
        border: none !important;
    }

    button p {
        border: 0.125em solid #FF00FF !important;
    }

    button img,
    li button img {
        filter: brightness(200%) !important;
    }

    li>img {
        filter: brightness(100%) contrast(120%) !important;
    }

    header {
        border-bottom: 0.125em solid #FFFFFF !important;
    }

    header ul li:nth-of-type(2) img {
        filter: brightness(100%) invert(0) !important;
    }

    section a {
        border: 0.125em solid #FF00FF !important;
    }

    section:last-of-type {
        border: 0.125em solid #FFFFFF;
    }

    footer li:first-of-type img {
        background-color: #FFFFFF !important;
        border: none !important;
    }

    footer li:first-of-type a {
        background-color: #FFFFFF !important;
    }

    footer {
        border-top: 0.125em solid #FFFFFF !important;
    }
}
