:root {
    --bulma-primary-h: 108deg;
    --bulma-primary-s: 38%;
    --bulma-primary-l: 39%;
    --bulma-scheme-h: 215;
    --bulma-family-primary: B612, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif;
    --bulma-family-secondary: B612, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif;
}

.section {
    --bulma-section-padding: 1.5rem 1.5rem;
}

/* Make images fill-fit their container instead of being scaled */
.image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

/* Default content field */
.content-justified {
    text-align: justify;
}

.content-justified h1 {
    text-align: left;
}

.content-justified h2 {
    text-align: left;
}

.content-justified h3 {
    text-align: left;
}

.content-justified h4 {
    text-align: left;
}

.content-justified h5 {
    text-align: left;
}

.content-justified h6 {
    text-align: left;
}

.content-justified img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Use vertical stacking for mobile hamburger navbar */
@media screen and (max-width: 1023px) {
    .navbar-centered {
        display: flex;
        flex-direction: column;
        padding: 0.5rem;
    }
}

/* fullscreen app layout with footer at the bottom */
#app {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.footer {
    --bulma-footer-padding: 1.5rem 1.5rem 1.5rem;
}

/* Ensure that the sidebar does not needlessly expand beyond the screen height */
.is-screen-height-limited {
    max-height: 100vh;
}
