:root {
    --my-start-width: 0;
    --my-end-width: 0;
    --darkgrey:#453E40;
}

#info {
    z-index: 100;
}

body {
    background-color: #EBE4E6;

    color: var(--darkgrey);
    font-family: 'DM Mono';
    margin: 0;
    height: 100%;
    width: 100%;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
	overflow: hidden;
}

/* navigation bar */
.topnav {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    border-bottom: 1px solid #453E40;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-left: 72px;
    margin-right: 72px;
    animation: fadeInAnimation ease 2s;
    animation-fill-mode: forwards;
}

.links {
    display: flex;
    justify-content: space-around;
    gap: 80px;
    margin-left: 30px;
    margin-right: 30px;
}

.progress-container {
    width: 60%;
}

p {
    font-size: 25px;
}

.progress-bar {
    border-radius: 50px;
    height: 30px;
    border: 1px solid var(--darkgrey);
}

.progress-fill {
    background-color: var(--darkgrey);
    border-radius: 50px;
    height: 30px;
    width: 0%;
}

a {
    color: var(--darkgrey);
    text-decoration: underline 0.15em rgba(0, 0, 0, 0);
    font-size: 25px;
    transition: text-decoration-color 300ms ease-in-out;
}

a:hover {
    text-decoration-color: var(--darkgrey);
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.mainpage {
    display: flex;
    flex-direction: row;
    height: calc(100vh - 140px); /* Adjusted to account for the topnav height */
    animation: fadeInAnimation ease 2s;
    animation-fill-mode: forwards;
}

.controls {
    font-size: 12px;
    padding: 20px;
    border-right: 1px solid var(--darkgrey);
    width: 10%;
}

.animate {
    animation: fill-animation 1s ease-in;
}

@keyframes fill-animation {
    from { width: var(--my-start-width); opacity: 0.5;}
    to { width: var(--my-end-width); opacity: 1;}
}

#lock-simulator {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
}

/* ABOUT PAGE */
.main-part, .mainpage {
    margin-left: 72px;
    margin-right: 72px;
}
