*, *::after, *::before {
    box-sizing:border-box;  
}
  
*{
    margin: 0;
    padding: 0;
}

/* Fonts */

@font-face {
    font-family: 'Poppins-Bold';
    src: url(../assets/Poppins-Bold.ttf);
}

@font-face {
    font-family: 'Poppins-ExtraBold';
    src: url(../assets/Poppins-ExtraBold.ttf);
}

@font-face {
    font-family: 'Poppins-Medium';
    src: url(../assets/Poppins-Medium.ttf);
}
@font-face {
    font-family: 'Poppins-MediumItalic';
    src: url(../assets/Poppins-MediumItalic.ttf);
}

@font-face {
    font-family: 'Poppins-SemiBold';
    src: url(../assets/Poppins-SemiBold.ttf);
}

html {
    width: 100%;
    height: 100vh;
}

body {
    font-family: 'Poppins-Medium', Arial, Helvetica, sans-serif;
    font-size: 1em;
    color: #1F216D;
}

main {
    padding: 1.5em;
}

/* Navigation */

nav {
    background-color: #DEC045;
    height: 6em;
    width: 100%;
    bottom: 0;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    transition: bottom 0.3s;
}

nav ul {
    display: flex;
    flex-flow: row nowrap;
    gap: 4em;
    font-size: .75em;
}

nav ul a {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    color: white;
    font-family: 'Poppins-Semibold', Arial, Helvetica, sans-serif;
    text-decoration: none;
}

nav ul a:hover {
    color: #6279B8;
}

nav ul a:is(:link, :active, :visited).active {
    color: #454ADE;
    border-bottom: solid 2px #454ADE;
}

main a {
    text-decoration: none;
    background: #454ADE;
    color: white;
    border-radius: 1.5em;
    text-align: center;
    padding: .5em 1em;
    margin-top: 1.5em;
    margin-bottom: .5em;
    display: block;
    width: fit-content;
}

h1 {
    font-family: 'Poppins-Bold', Arial, Helvetica, sans-serif;
    color: #454ADE;
    padding-bottom: .5em;
    font-size: 1.2em;
}

h2 {
    font-family: 'Poppins-SemiBold', Arial, Helvetica, sans-serif;
    font-size: 1.1em;
}

ul {
    list-style-type: none;
}

.scroll-to-top {
    position: relative;
}

.btn {
    position: fixed;
    bottom: 50%;
    right: 2em;
    z-index: 20;
    cursor: pointer;
    visibility: hidden;
    background-color: transparent;
    border: 0 solid transparent;
}

/* Index page main */

main#home section:first-child img:first-of-type {
    /* width: 50%; */
    display: block;
    padding-top: 2em;
    margin-left: auto;
    margin-right: auto;
}

main#home img.kasinah {
    display: block;
    margin: 0 auto 3em auto;
    width: 50%;
}

/* Sections in index main*/

main section {
    padding-bottom: 3em;
}

main#home section:first-child {
    background-color: #EDEDFB;
    padding-left: 1.5em;
    padding-right: 1.5em;
    margin: -1.5em -1.5em 2.5em -1.5em;
}

main#home section:first-child p:first-of-type {
    font-family: 'Poppins-Bold', Arial, Helvetica, sans-serif;
    font-size: 1.2em;
    padding-top: 1.5em;
    padding-bottom: .5em;
}

main#home section:first-child p+p {
    font-family: 'Poppins-ExtraBold', Arial, Helvetica, sans-serif;
    font-size: 2em;
    color: #454ADE;
    word-spacing: 100vw;
    line-height: 1.25em;
}

main#home section:first-child section.naam {
    margin-bottom: -5em;
}

main#home section:nth-of-type(2) p {
    padding-bottom: 1em;
}

main#home section:nth-of-type(2) p:last-of-type{
    margin-bottom: -1em;
}

section:last-of-type {
    padding-bottom: 5em;
}

/* Project section index page */

main section.projects article {
    border-radius: 2em;
    background-color: #EDEDFB;
    flex-shrink: 0;
    height: fit-content;
}

main#home section.projects {
    display: flex;
    overflow-x: auto;
    margin-right: -1.5em;
}

main#home section.projects article {
    width: 85%;
    margin-right: 1.5em;
}

main section.projects article a {
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

main section.projects img {
    width: 100%;
    height: 15em;
    border-top-left-radius: 1.5em;
    border-top-right-radius: 1.5em;
    object-fit: cover;
}


main section.projects h2 {
    padding: 1.2em 1.2em 1em 1.2em;
}

main section.projects p {
    padding-left: 1.5em;
    padding-right: 1.5em;
}


/* Contact page */


main#contact ul {
    text-align: center;
}

main#contact ul li {
    display: inline-block;
}

main#contact a.contact {
    font-family: 'Poppins-Medium', Arial, Helvetica, sans-serif;
    color: #1F216D;
    background-color: #EDEDFB;
    border-radius: 1.5em;
    padding: 1em;
}

main#contact img {
    vertical-align: middle;
    padding-right: 1em;
}

main#contact h1, main#projecten h1 {
    text-align: center;
}

/* Projecten pages */

img.mockup {
    width: 100%;
    padding-bottom: 1.5em;
}

main.detail header.projecten {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
    margin: 0 auto;
    padding-bottom: 1.5em;
}

main#projecten section.projects article {
    margin-bottom: 1.5em;
    padding-bottom: .25em;
}

main.detail header.projecten a {
    font-size: .9em;
    margin: 0;
}

main#wijzer header.projecten a:first-of-type, main#srp header.projecten a:nth-of-type(2), main#iot header.projecten a:nth-of-type(2) {
    background-color: #DE5F5B;
}

main.detail header.projecten h1 {
    margin-bottom: -0.5em;
}

main#projecten h1 {
    margin-bottom: 1em;
}

main#wijzer img.design {
    width: 100%;
}

section.opdracht {
    background-color: #EDEDFB;
    padding: 1em;
    margin-bottom: 2em;
    border-radius: 1.5em;
}

section.opdracht p:first-of-type {
    font-family: 'Poppins-SemiBold', Arial, Helvetica, sans-serif;
}

section.geleerd {
    margin-bottom: -5em;
}

section.geleerd ul {
    display: flex;
    flex-flow: row nowrap;
    flex-wrap: wrap;
    padding-top: 1.5em;
}

section.geleerd ul li, figcaption, main#wijzer section.functies p:nth-of-type(odd) {
    font-family: 'Poppins-MediumItalic', Arial, Helvetica, sans-serif;
}

main#wijzer section.functies h2~p:first-of-type, main#nike section.functies h2~p:first-of-type, main#nike figcaption {
    font-size: .5em;
    text-align: center;
}

section.geleerd ul li {
    display: flex;
    flex-flow: column nowrap;
    flex-basis: 30%;
    text-align: center;
    align-items: center;
    padding-bottom: 1.5em;
}

main#nike img.mockup {
    margin-bottom: -1.5em;
}

main#nike figure {
    padding-bottom: 1.5em;
}

main#iot section.geleerd ul li {
    justify-content: end;
}

section.geleerd ul img {
    width: 50%;
    padding-bottom: .5em;
}

section.beschrijving p:first-of-type {
    padding-bottom: 1em;
}

section.beschrijving img {
    width: 40%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

section.beschrijving figure {
    margin-top: 2em;
}

section.beschrijving figcaption {
    text-align: center;
}

section.beschrijving p+p {
    padding-bottom: 1em;
}

section.functies {
    background-color: #C4C5F3;
    margin: -1.5em;
    padding-top: 1.5em;
    padding-left: 1.5em;
    padding-right: 1.5em;
}

section.functies img.design, section.functies video {
    padding-top: 2.5em;
    padding-bottom: 1.5em;
}

/* https://css-tricks.com/css-counters-custom-list-number-styling/ */
/* ol li {
    display: block;
    position: relative;
    counter-increment: inst;
}

ol li::before {
    content: counter(inst);
    background-color: #DEBC2F;
    color: #454ADE;

    font-family:'Poppins-ExtraBold', Arial, Helvetica, sans-serif;;
    font-weight: 900;

    border-radius: .75em;
    font-size: 1.5em;
    text-align: center;

    padding-top: .5em;
    left: 1em;
    top: 8em;
    height: 2.5em;
    width: 2.5em;
    position: absolute;
    z-index: 1;
} */


/* Nike page */


main#nike video {
    height: 70%;
    width: 70%;
    display: block;
    margin: 0 auto;
}

main.detail section.functies h2, main#nike section.functies p, main#srp section.functies p {
    text-align: center;
}

main.detail section.functies a {
    margin: 1.5em auto;
}

/* Reis page */

main#web section.functies p:first-of-type, ul.onderdelen ul li:last-of-type {
    padding-bottom: 1em;
}

main#web section.functies p:first-of-type {
    font-family: 'Poppins-Medium', Arial, Helvetica, sans-serif;
}


/* IoT page */

main#iot section.functies img, main#iot section.functies video {
    width: 100%;
}

main#iot section.functies h2:nth-of-type(2) {
    padding-top: 1.5em;
}

ul.onderdelen>li {
    font-family: 'Poppins-MediumItalic', Arial, Helvetica, sans-serif;
}

ul.onderdelen ul li, ul.spel {
    list-style-type: disc;
    list-style-position: outside;
    margin-left: 1em;
}

/* SRP page */

main#srp video {
    width: 100%;
}






/* Responsive design */

/* Style for 768px */

@media (min-width: 768px) {

    main#home {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1.2fr;
        max-width: 1150px;
        margin: 0 auto;

        justify-content: center;

        padding-top: 0;
    }

    main#home section:first-child {
        display: flex;
        align-items: center;
        gap: 4em;
    }

    main#home section:first-child, main#home section.projects {
        grid-column-start: 1;
        grid-column-end: -1;
    }

    main#home img.kasinah {
        float: left;
        width: 60%;
    }

    main#home section.projects article {
        width: 50%;
        hyphens: auto;
    } 

    main#projecten section.projects {
        display: flex;
        flex-wrap: wrap;
        gap: 1.5em;
        justify-content: center;
    }

    main#projecten section.projects article {
        flex-basis: 48%;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    main#contact section.contact-platform {
        text-align: center;
    }

    main#contact ul {
        display: inline-block;
    }

    /* project pages */

    main.detail {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 1.5em;
        /* grid-auto-flow: dense; */

        justify-content: center;

        padding-top: 0;
    }

    main.detail header.projecten {
        padding: 1.5em;
    }

    header.projecten, figure.thumb, section.functies {
        grid-column-start: 1;
        grid-column-end: -1;
    }


    /* Detail page projects */

    figure.thumb {
        width: 100%;
    }

    section.opdracht {
        height: fit-content;
    }

    section.geleerd {
        margin-bottom: -3em;
    }

    /* div.intro{
        grid-column-start: 1;
    } */

    section.beschrijving {
        grid-column-start: 2;
    }

    main#wijzer section.functies ul {
        display: flex;
        flex-wrap: wrap;
        column-gap: 3em;
        justify-content: center;
        padding-bottom: 1.5em;
    }

    main#wijzer ul li {
        flex-basis: 40%;
    }

    main.detail a {
        margin: 2em auto;
    }

    main#nike section.functies {
        padding-bottom: 0;
    }

    main#nike video {
        width: 45%;
    }

    main#iot section.functies {
        display: grid;
        grid-template-columns: .5fr .5fr;
        justify-items: center;
    }

    main#iot section.functies h2, main#iot section.functies a {
        grid-column-start: 1;
        grid-column-end: -1;
    }

    main#iot section.functies h2 {
        padding-bottom: 1.5em;
    }

    main#iot section.functies img {
        grid-column-start: 2;
        padding: 0;
    }

    main#iot section.functies video {
        width: 80%;
        padding: 0;
    }

}





/* Style for 960px */

@media (min-width: 960px) {

    main#home {
        display: grid;
        grid-template-columns: .6fr .6 .8fr;
        column-gap: 3em;
        max-width: 1500px;
        margin: 0 auto;

        justify-content: center;

        padding-top: 0;
    }

    main#home section.projects article {
        width: 26%;
        hyphens: auto;
    } 

    main#home img.kasinah {
        margin-top: 0;
    }

    main#home section:nth-of-type(3) div {
        display: flex;
    }

    main#projecten, main#contact {
        max-width: 1000px;
        margin: 0 auto;
    }

    main#projecten section.projects article {
        flex-basis: 48%;
    }

    main#contact ul li {
        display: block;
    }

    /* Detail page projects */

    main.detail {
        display: grid;
        grid-template-columns: .4fr .6fr;
        column-gap: 3em;

        /* max-width: 1000px;
        margin: 0 auto; */

        justify-content: center;

        padding-top: 0;
    }

    figure.thumb {
        /* width: 1000px;
        margin: 0 auto; */
        width: 911px;
        margin: 0 auto;
        grid-column-start: 1;
        grid-column-end: -1;
    }

    div.intro {
        padding-left: 13em;
    }

    section.geleerd {
        margin-bottom: -3em;
    }

    section.beschrijving {
        padding-right: 13em;;
    }
/* 
    ol li::before {
    top: 7em;
    } */

    main#wijzer ul li {
        flex-basis: 35%;
    }

    main#nike section.functies {
        padding-bottom: -3em;
    }

    main#iot section.functies {
        display: grid;
        grid-template-columns: .3fr .5fr;
        justify-content: center;
    }

    main#iot video {
        width: 40%;
    }

    main#nike video{
        width: 25%;
    }

    main#srp video {
        width: 70%;
        display: block;
        margin: 0 auto;
    }

}