* {
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
}

body {
    padding-top: 56px;
    min-height: 100%;
    display: grid;
    grid-template-rows: 1fr auto;
}

.navbar-brand {
    font-size: 2rem;
}

.navbar-brand,
h1,
h2,
h3,
h4 {
    font-family: "Montserrat", sans-serif;
}

p {
    font-family: "Lato", sans-serif;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

.logo-image {
    max-width: 90%;
}

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

.page-contents {
    flex: 1 0 auto;
}

.footer {
    grid-row-start: 2;
    grid-row-end: 3;
}

@media only screen and (min-width: 960px) {
        /* styles for browsers larger than 960px; */
        .logo-image {
            max-width: 50%;
        }
    }