:root {
    --bg-color: #3B394C;
    --primary-color: #625C84;
    --card-bg: #3B394C;
    --text-color: #FFFFFF;
    --border-color: #847fa1;
    --button-hover: #4c466d;
}

* {
    margin: 0px;
    padding: 0px;
    font-family: sans-serif;
}

body {
    background-color: var(--bg-color);
}

.d-flex {
    display: flex;
}

.flex-row {
    flex-direction: row;
}

.flex-col {
    flex-direction: column;
}

.align-items-center {
    align-items: center;
}

.header {
    background-color: var(--primary-color);
    height: 10vh;
    display: flex;
    flex-direction: row;
}

.header-section {
    display: flex;
    flex-direction: row;
    border: 1px solid var(--border-color);
    border-radius: 5vw;
    margin: 1vh 1vw 1vh 1vw;
    align-items: center;
    justify-content: center;
    gap: 1vw;
    padding: 1vw;
}

.header-section-icon {
    height: 6vh;
}

.header-section-right {
    margin-right: auto;
}

.main-body-section {
    width: 90vw;
    min-height: 85vh;
    margin: auto;
    margin-top: 2.5vh;
    margin-bottom: 2.5vh;
    background-color: var(--primary-color);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    border-radius: 3vw;
    gap: 4vh 2vw;
    padding: 4vh 4vw;
    box-sizing: border-box;
}

.main-body-section h1 {
    width: 100%;
    text-align: center;
    margin-bottom: 2vh;
}

#header-navigation-menu ul {
    width: 100%;
}

.header-navigation-title {
    font-size: 15vw;
}

.header-navigation-list-item {
    display: block;
    background-color: var(--bg-color);
    font-size: 3vw;
    padding: 1vw;
    border-radius: 3vw;
    margin-top: 3vh;
}

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

.text-white {
    color: var(--text-color);
}

.text-no-decoration {
    text-decoration: none;
}

.list-no-decoration {
    list-style-type: none;
}

.header-nav-seperator {
    color: var(--text-color);
    width: 60vw;
}

.visibility-hidden {
    display: none !important;
}

#header-menu-button {
    background: none;
    border: none;
}

.main-section-logo {
    width: 20vw;
    margin: 3rem;
}

.main-body-activity-add,
#dashboardActivityHistorySection,
#indexTodayActivitiesSection,
#indexQuickOverviewSection,
.card-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--card-bg);
    border-radius: 3vw;
    padding: 7vh;
    box-sizing: border-box;
    gap: 2vh;
    text-align: center;
}

.main-body-activity-add,
#dashboardActivityHistorySection,
#indexTodayActivitiesSection,
#indexQuickOverviewSection {
    width: calc(50% - 1vw);
}

.card-section {
    width: 50vw;
    max-width: 600px;
}

.input-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    gap: 1.5vh;
}

.input-form label {
    font-size: 2vw;
    margin-bottom: -0.5vh;
    text-align: center;
}

.input-form input,
.input-form select {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 3vw;
    padding: 1vw;
    color: var(--text-color);
    font-size: 2vw;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    text-align: center;
}

.activity-item-section {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color);
    border-radius: 5vw;
    padding: 2vw;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.activity-item-section h3 {
    font-size: 3vw;
}

.activity-item-section p {
    font-size: 2vw;
}

.input-form button,
.add-activity-btn {
    display: block;
    background-color: var(--primary-color);
    color: white;
    font-size: 2vw;
    padding: 1.5vw 2.5vw;
    border-radius: 3vw;
    text-decoration: none;
    text-align: center;
    border: 1px solid var(--border-color);
    margin-top: 1vh;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.input-form button:hover,
.add-activity-btn:hover {
    background-color: var(--button-hover);
}

#accountDataAge,
#accountDataWeight,
#accountDataSize {
    cursor: pointer;
    transition: opacity 0.2s ease, text-decoration 0.2s ease;
}

#accountDataAge:hover,
#accountDataWeight:hover,
#accountDataSize:hover {
    opacity: 0.8;
    text-decoration: underline;
}