html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    box-sizing: border-box;
    background: var(--bg-color);

    color: var(--text-color);
}

:root {
    font-family: "Sofia Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;

    --bg-color: #ffffff;
    --dark-shadow: #bebebe;
    --light-shadow: #ffffff;
    --text-color: #000000;

    --link: #00B64D;
    --link-hover: #007E35;
    --link-active: #1BFF7C;
    --link-visited: #DC360E;
}

/* links */

a { color: var(--link); }
a:hover { color: var(--link-hover); }
a:active { color: var(--link-active); }
a:visited { color: var(--link-visited); }

/* layout */

.column {
    height: 100%;
    width: fit-content;
    margin: auto;
    padding: 20px;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: center;

    overflow-y: auto;
}

.column.center {
    justify-content: space-around;
}

.column.top {
    gap: 20px;
}

.card {
    padding: 30px;
    width: fit-content;
    min-width: 100%;
    box-sizing: border-box;

    border-radius: 50px;
    background: var(--bg-color);
}

.card *:first-child {
    margin-top: 0;
}

.card *:last-child {
    margin-bottom: 0;
}

/* effects */

.raised {
    box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
}

.centered {				
    text-align: center;
}

.image {
    border-radius: 30px;
}