html,
body {
   margin:0;
   padding:0;
   height:100%;
   min-height: 100%;
}

#root {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    color: rgb(41, 41, 41);
    font-size: max(18px, 2vmin);
    min-height:100%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
}

@media screen and (max-width: 500px) {
    body,
    #root {
        font-size: 15px;
    }
}

header {
    width: 100%;
}

main {
    margin: 3vh 10vw;
    flex: 1;
}

img {
    max-width: 100%;
}

.flex-end {
    align-self: flex-end;
}

select {
    border: 1px solid rgb(223, 223, 223);
    outline: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    padding: 2px 5px;
}

.grey {
    color: rgb(117, 117, 117);
}

.break {
    margin: 0 0.5em;
}

figcaption {
    font-size: 0.8em;
    margin-top: 0.3em;
    text-align: center;
}