* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: 'Roboto', sans-serif;
    font-size: 1.25rem;
    color: darkslategrey;
}

a:link {
    color: rgb(50, 50, 50, 1);
    background-color: transparent;
    text-decoration: none;
}
a:visited {
    color: darkslategrey;
    background-color: transparent;
    text-decoration: none;
}
a:hover {
    color: #FDF8F2;
    background-color: transparent;
    text-decoration: underline;
}
a:active {
    color: #F4E5DD;
    background-color: transparent;
    text-decoration: underline;
}

.pm1em, table.padded td {
    padding: 1em;
    margin: 1em;
}
.pm0 {
    padding: 0;
    margin: 0;
}

table#stats {
    text-align: left;
    padding-left: 6em;
}
table#stats img {
    width: 50px;
    height: auto;
}

/* text styling */
.big-text {
    font-size: 1.75rem;
}
.small-text {
    font-size: 0.75rem;
}
.cursive {
    font-family: 'Sacramento', cursive;
}
.accent {
    font-family: 'Nixie One', cursive;
    font-weight: bold;
}

/* flex boxes */
.flex-container {
    display: flex;
    flex-direction: row;
    text-align: center;
    flex-basis: 100%;
}
.flex-reverse {
    flex-direction: row-reverse;
}
.flex-item {
    padding: 10px;
    flex: 50%;
}
.flex-across {
    padding: 10px;
    flex: 100%;
    background-color: whitesmoke;
}
.flex-break {
    flex-basis: 100%;
    height: 0;
}
.flex-hvcentre {
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-bg {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}

.bg-height {
    min-height: 500px;
}

.pastel-colour {
    background-color: #c6d5d8;
    padding: 10px;
    flex: 50%;
}

p {
    padding: 1em 1em 0 1em;
    text-align: left;
}
div.auto-justify p {
    text-align: justify;
    text-justify: auto;
}

/* mobile styling */
@media only screen and (max-device-width: 640px) {
    * {
        text-size-adjust: none;
        font-size: 1.5rem;
        font-weight: 600;
    }
    .flex-container {
        flex-direction: column-reverse;
    }
    .mobile-hidden {
        display: none;
    }
    .mobile-alt-pastel-color {
        background-color: whitesmoke;
    }
    table#stats {
        padding-left: 1em;
    }
}