/********************** Top-Level Rules **********************/

/* Theme Properties */
:root {
    --main-bg-color: azure;
    --secondary-bg-color: #e4f2f7;
    --dark-bg-color: darkslateblue;
    --secondary-dark-bg-color: slateblue;

    --h1-font-size: 18pt;
    --h2-font-size: 16pt;
    --p-font-size: 12pt;

    --dark-font-color: #191531;
    --light-font-color: azure;
    --font-family: 'Lucida Sans',
        'Lucida Sans Regular',
        Verdana,
        sans-serif;
}

body {
    margin: 0px;
}

html {
    font-family: var(--font-family);
    color: var(--dark-font-color);
}

main {
    display: flex;
    flex-direction: column;
    align-items: stretch;

    padding: 50px;

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

h1 {
    margin: 0px;

    font-size: var(--h1-font-size);
}

h2 {
    margin: 0px;

    font-size: var(--h2-font-size);
}

p {
    margin: 0px;

    font-size: var(--p-font-size);
}

/************************** Navbar ***************************/

#navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;

    border-bottom: 1px solid var(--dark-font-color);
}

#left-navbar-items {
    display: flex;
}

#navbar-home-frame {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100px;
    height: 100px;
}

#navbar-home-link {
    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 50%;

    width: 80px;
    height: 80px;
}

#navbar-home-link img {
    position: relative;
    left: -2px;
}

#navbar-home-link:hover {
    background-color: var(--secondary-bg-color);
}

#navbar-home-link img {
    height: 75px;
}

.navbar-item,
.navbar-item:visited {
    display: flex;
    justify-content: center;
    align-items: center;

    padding: 0px 50px;

    height: 100px;

    font-size: 18pt;
    font-weight: bold;
    color: var(--dark-font-color);

    text-decoration: none;
    scroll-behavior: smooth;
}

.navbar-item:hover {
    background-color: var(--secondary-bg-color);
}

#repo-link-frame {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100px;
    height: 100px;
}

#repo-link {
    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 50%;
    clip-path: circle(50%);

    width: 50px;
}

#repo-link img {
    width: 50px;
}

#repo-link:hover {
    background-color: var(--secondary-bg-color);
}

#scroll-reset-button {
    position: fixed;
    right: 50px;
    bottom: 50px;

    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 50%;

    width: 50px;
    height: 50px;

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

#scroll-reset-button:hover {
    background-color: var(--secondary-bg-color);
}

#scroll-reset-button img {
    width: 50%;
    height: 50%;
}

/*********************** Main Content ************************/

.content-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;

    padding: 25px;
}

.download-button {
    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 5px;

    padding: 15px 20px;

    font-size: var(--h2-font-size);
    text-decoration: none;
    color: var(--light-font-color);

    background-color: var(--dark-bg-color);
}

.download-button:hover {
    background-color: var(--secondary-dark-bg-color);
}

/* Tagline Content */

#Protobiota {
    gap: 20px;
}

#call-to-action-frame {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

#call-to-action {
    font-size: 16pt;
}

/* Screenshot */

#screenshot {
    border-radius: 5px;

    width: 50%;
}

/* Overview Content */

#overview-frame {
    display: flex;
    gap: 25px;
    width: 50%;
    text-align: justify;
}

#use-case-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;

    width: 50%;
}

#use-cases {
    text-align: justify;
    align-self: center;

    margin: 0px;
}

.use-case {
    margin-bottom: 15px;
}

#comparison-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;

    width: 50%;

    text-align: justify;
}

/* Team Content */

#Team ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;

    margin: 0px;

    padding: 0px;
}

#Team ul li {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 10px;

    border-radius: 5px;

    padding: 20px;

    background-color: var(--secondary-bg-color);
}

#Team ul li div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.team-profile-pic {
    border-radius: 50%;

    object-fit: cover;

    width: 100px;
    height: 100px;

    background-color: lightgray;
}

#project-partner-frame {
    display: flex;
    flex-direction: column;
    gap: 10px;

    border-radius: 5px;
    margin-left: -45px;

    padding: 20px;

    background-color: var(--secondary-bg-color);
}

#project-partner-frame div {
    display: flex;
    align-items: center;
}

.project-partner-info {
    display: flex;
    flex-direction: column;
}

.contact-info {
    text-align: center;
}

/* Technology Content */

#godot-frame {
    display: flex;
    align-items: center;
    gap: 15px;

    width: 50%;
}

#godot-logo {
    width: 50%;
}

#godot-frame p {
    width: 50%;

    text-align: justify;
}