body {
    position: relative;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
}

header {
    position: relative;
    width: 100%;
    height: 15%;
    display: flex;
    justify-content: left;
    align-items: center;
}

main {
    position: relative;
    width: 100%;
    height: 80%;
    display: flex;
    justify-content: center;
    align-items: center;
}

footer {
    position: relative;
    width: 100%;
    height: 5%;
    color: rgb(255, 255, 255);
    background-color: rgb(165, 165, 165);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.9em;
}

header > img {
    position: relative;
    width: auto;
    height: 60%;
    margin-left: 5%;
}

main > .side-content {
    position: relative;
    width: 20%;
    height: 100%;
    background-color: rgb(0, 205, 240);
}

main > .main-content {
    position: relative;
    width: 80%;
    height: 100%;
}

.app-name {
    position: relative;
    width: 100%;
    height: 30%;
    font-size: 0.8em;
    color: rgb(255, 255, 255);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.app-name > span {
    font-size: 1.1em;
    margin-top: auto;
    margin-bottom: 10%;
}

.app-name > span::before, .app-name > span::after {
    content: "---";
    margin: 0 1em;
}

.menu {
    position: relative;
    width: 100%;
    height: 70%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.menu > li {
    position: relative;
    width: auto;
    height: 2.5em;
    color: rgb(255, 255, 255);
    padding: 0 1em;
    border-bottom: 1px solid rgb(255, 255, 255);
    margin-bottom: 1em;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.menu > li:hover {
    color: rgb(255, 255, 0);
    border-bottom: 1px solid rgb(255, 255, 0);
    cursor: pointer;
}

.content-form {
    position: relative;
    width: 100%;
    height: 100%;
    display: none;
}

.content-form.open {
    display: block;
}

.content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.title {
    position: relative;
    width: auto;
    height: 2em;
    margin-left: 1em;
    font-size: 1.3em;
    text-decoration: underline;
    display: flex;
    justify-content: left;
    align-items: center;
}

.banner {
    position: relative;
    width: 100%;
    height: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.banner > video {
    position: relative;
    width: 100%;
    height: auto;
}

.content.application {
    height: 75%;
}

.app-list, .user-info {
    position: relative;
    width: 80%;
    height: calc(100% - 2em);
    margin: auto;
    padding: 0;
    list-style: none;
}

.app-list > li {
    position: relative;
    width: 100%;
    height: 3em;
    border-bottom: 1px solid rgb(0, 0, 0);
    margin-bottom: 1em;
    padding: 0 1em;
    padding-bottom: 0.2em;
    display: flex;
    justify-content: left;
    align-items: flex-end;
}

.app-list > li > img {
    position: relative;
    width: 4%;
    height: auto;
    max-height: 70%;
    margin-right: 1em;
}

.app-list > li > button {
    position: relative;
    width: 15%;
    height: 60%;
    margin-left: auto;
    margin-right: 0;
    outline: none;
    border: none;
    border-radius: 10px;
    background-image: linear-gradient(to bottom, rgb(250, 250, 250), rgb(230, 230, 230));
    box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6);
    cursor: pointer;
}

.app-list > li > button:active {
    position: relative;
    top: 2px;
}

.user-info > li {
    position: relative;
    width: 50%;
    height: 2.5em;
    border-bottom: 1px solid rgb(0, 0, 0);
    margin-bottom: 1em;
    padding: 0 1em;
    padding-bottom: 0.2em;
    display: flex;
    justify-content: left;
    align-items: flex-end;
}

.user-info > li > label {
    position: relative;
    width: 25%;
    height: auto;
    font-size: 0.9em;
}

.user-info > li > label::after {
    content: ":";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.user-info > li > input {
    position: relative;
    width: 75%;
    height: 80%;
    padding-left: 1em;
    margin-bottom: -0.3em;
    font-size: 1.1em;
    outline: none;
    border: none;
    background-color: transparent;
}

div#userError {
    position: absolute;
    left: 15%;
    bottom: 0.5em;
    color: rgb(255, 0, 0);
}