* {
    font-family: "Nunito", sans-serif;
}

nav {
    position: sticky;
    top: 0;
    z-index: 1000;
}

nav ul {
    display: flex;
    flex-basis: 100%;
    justify-content: space-around;
    list-style-type: none;
    background-color: #240241;
    margin: 0;
    padding: 0;
    border-bottom: 5px solid black;
}

body {
    background-image: url(tallbg.png);
    background-size: 135vw;
    margin: 0;
    overscroll-behavior: none;;
}

nav a {
    color: white;
    padding: 1em 1em;
    text-decoration: none;
    font-size: 120%;
    display: inline-block;
    transition: 0.25s;
}

nav a:hover {
    background-color: #570987;
}

#title, #titlecontact {
    font-size: 150%;
    color: white;
    text-align: center;
}

.page_link {
    display: flex;
    padding: 1em 1em 1em 2em;;
    margin: 0 5em 2em 5em;
    border: 3px solid rgb(92, 18, 152);
    background: linear-gradient(315deg, #1c0136, #000000 100%);
    border-radius: 15px;
    transition: 0.25s;
    text-decoration: none;      /* Remove underline */
    color: rgb(201, 201, 201);             /* Inherit text color */
    cursor: pointer;            /* Show pointer on hover */
}

.page_link:hover {
    border: 12px solid rgb(92, 18, 152);
}

.page_link h5 {
    margin: 0.2em auto;
    font-size: 3em;
    color: white;
}

.page_link div iframe {
    border: 3px rgb(92, 18, 152) solid;
    border-radius: 10px;
    width: 300px;
    height: 300px;
    object-fit: cover;
    margin-left: 10px;
    background: black;
    display: block;
}

.item iframe {
    width: calc(100% - 1em);
    max-width: 100%;
    height: 425px;
    border: 3px solid rgb(92, 18, 152);
    border-radius: 12px;
    background-color: black;
    margin: 0.5em;
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
    display: block;
    box-sizing: border-box;
}

.item img {
    border: 3px solid rgb(92, 18, 152);
    border-radius: 12px;
    background-color: black;
    margin: 0.5em;
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
    width: calc(100% - 1em);
}

.page_link p {
    font-size: 120%;
}

.plimg {
    height: 300px;
    width: 300px !important;
}

.icon {
    margin-top: auto;
    height: 60px;
    width: 60px;
    display: inline-block;
    object-fit: contain;   /* Ensures SVG/image scales proportionally */
    padding: 2px;            /* Remove if you want the image to fill the box as much as possible */
    vertical-align: middle;
    opacity: 85%;
    background: white;
    margin: 2px !important;
    border: 3px solid rgb(92, 18, 152) !important;
    border-radius: 5px !important;
    box-sizing: border-box;
    transition: 0.2s;
    filter: drop-shadow(0 0 5px rgba(92, 18, 152, 0.5));
}

.current {
    text-decoration: underline 2px;
}

footer {
    padding: 5px 0;
    border-top: 5px solid black;
    font-size: 80%;
    backdrop-filter: blur(9px) brightness(0.5);
    -webkit-backdrop-filter: blur(9px);
}

footer ul {
    list-style-type: none;
}

footer ul li a, footer ul li {
    text-align: center;
    font-size: 110%;
    color: #d0d0d0;
    transition: 0.2s;
}

footer ul li a:hover {
    color: white;
    font-size: 130%;
}

.plimg {
    width: 200px;
}

.item {
    padding-left: 1em;
    padding-right: 1em;
    margin: 1.5em 0.75em;
    border: 3px solid rgb(92, 18, 152);
    background: linear-gradient(135deg, #1c0136, black 100%);
    border-radius: 12px;
    color: white;
    box-shadow: 0 0 30px rgb(0, 0, 0);
}

.item ul {
    padding-right: 2em;
    font-size: 95%;
    color:rgb(230, 222, 237)
}

.item h3 {
    font-size: 200%;
    margin: 0.5em;
}

#columns {
    margin: 1em;
}

main {
    padding: 0 4em 0 4em;
}

em {
    opacity: 70%;
    font-size: 65%;
}

@media (min-width: 1000px) {
    #columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

#blurb {
    display: flex;
    align-items: center;
    margin: 3em auto;
    justify-content: center;
}

#title {
    margin: 4px auto;
    width: fit-content;
    padding: 0 3em;
    line-height: 3em;
    backdrop-filter: blur(9px) brightness(0.5);
    -webkit-backdrop-filter: blur(9px);
    border-radius: 10px;
}

#blurb p {
    font-size: 120%;
    color: #fbfbfb;
    margin-left: 1em;
    padding: 1em;
    width: 30%;
    backdrop-filter: blur(9px) brightness(0.4);
    -webkit-backdrop-filter: blur(9px);
    border-radius: 10px;
}

#blurb img {
    border: 3px solid black;
    border-radius: 10px;
    width: 30%;
    max-width: 300px;
}

details {
    margin: 1em 2em;
    color:white;
    font-weight: 600;
    font-size: 105%;
}

summary {
    transition: 0.2s;
    font-size: 125%;
    font-weight: bold;
    cursor: pointer;
}

summary:hover {
    font-size: 140%;
    color: #ccb0e0;
}

details p {
    margin-top: 0.5em;
    margin-bottom: 0;
    color: rgb(230, 222, 237) !important;
    font-weight: 600;
    font-size: 80%;
    border-left: 2px solid rgb(230, 222, 237);
    padding-left: 0.6em;
    margin-left: 0.4em;
}

.description {
    padding-bottom: 1em;
    border-bottom: 0.5px solid rgb(230, 222, 237);
}

.design {
    padding-top: 1em;
    border-top: 0.5px solid rgb(230, 222, 237);
}

@media only screen and (max-width: 1000px) {
    body:not(#home) #title {
        display: none;
    }

    body:not(#home) main {
        padding: 0;
    }

    details p {
        font-size: 70%;
    }

    #home main {
        padding: 1em;
    }

    .item {
        padding-left: 0.5em;
        padding-right: 0.5em;
    }

    .item iframe {
        height: 300px;
    }

    nav ul {
        display: block;
        text-align: center;
    }

    .current{
        font-size: 120%;
        font-weight: bold;
        color: white;
    }

    .page_link {
        font-size: 80%;
        margin: 0 0.4em 1em 0.4em;
    }

    #blurb p {
        margin: 0 2em;
        width: 80%;
        font-size: 75%;
        padding: 2em;
        line-height: 150%;
    }
    
    nav a {
        color: #a87dc7;
        padding: 0.5em 1em;
        text-decoration: none;
        font-size: 100%;
        display: block;
    }

    .page_link div iframe {
        display: none;
    }

    .page_link p {
        font-size: 110%;
    }

    .page_link h5 a {
        font-size: 2em;
    }

    h3 {
        line-height: 100%;
    }

    .item ul {
        font-size: 75%;
        padding-right: 1em;
        padding-left: 2em;
    }
}