
body {
    margin: 0;
    padding: 0;
}

main {
    margin: 0;
    padding: 0;
}

a {
    color: inherit;
}

a:hover {
    color: var(--color-1);
}

section {
    margin: 0;
    padding: var(--space-2) 0 var(--space-2) 0;
}

section.dark-on-light {
    background-color: white;
}

section.light-on-dark {
    background-color: var(--color-2);
}

.content-heading {
    font-family: 'Fjalla One', sans-serif;
    font-weight: normal;
    margin: 0;
    padding: var(--space-4) var(--space-4) var(--space-2) var(--space-4);
}

.content-heading.snug-top {
    padding: var(--space-2) var(--space-4) var(--space-4) var(--space-4);
}

h1.content-heading {
    font-size: var(--font-size-5);
    text-align: center;
    color: var(--color-2);
}

h2.content-heading {
    font-size: var(--font-size-4);
    text-align: center;
    color: var(--color-3);
}

h3.content-heading {
    font-size: var(--font-size-3);
    color: var(--color-1);
    text-align: left;
}

h4.content-heading {
    font-size: var(--font-size-2);
    text-align: left;
    color: black;
}

.content-heading.left {
    text-align: left;
}

.light-on-dark h1.content-heading {
    color: var(--color-4);
}

.light-on-dark h2.content-heading {
    color: var(--color-5);
}

.light-on-dark h3.content-heading {
    color: var(--color-1);
}

.light-on-dark h4.content-heading {
    color: white;
}

.content-paragraph {
    font-family: 'Open Sans', sans-serif;
    font-size: var(--font-size-2);
    margin: 0;
    padding: var(--space-1) var(--space-4);
}

.dark-on-light .content-paragraph {
    color: black;
}

.light-on-dark .content-paragraph {
    color: white;
}

.content-svg {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: var(--space-3);
    height: calc(var(--space-6) * 4);
}

.content-svg object {
    width: 100%;
}

.content-svg.large {
    height: calc(var(--space-6) * 8.5);
    max-height: calc(100vw - 2 * var(--space-3));
}

.content-svg.huge {
    height: calc(var(--space-6) * 12.5);
}

.content-image {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: var(--space-3);
}

.content-image.left {
    align-items: flex-start;
}

.content-image img {
    width: calc(var(--space-6) * 4);
    height: calc(var(--space-6) * 4);
    object-fit: contain;
}

.content-image.large img {
    width: calc(var(--space-6) * 7);
    height: calc(var(--space-6) * 7);
}

.content-image.wide img {
    width: calc(var(--space-6) * 7);
    height: calc(var(--space-6) * 4);
}

.content-image.largewide img {
    width: calc(var(--space-6) * 9);
    height: calc(var(--space-6) * 6);
}

.content-image.largeextrawide img {
    width: calc(var(--space-6) * 14);
    height: calc(var(--space-6) * 6);
}

.content-image.fit-width img {
    width: 100%;
    height: auto;
}

.content-image.responsive img {
    width: 60vw;
    max-width: calc(var(--space-6) * 14);
    height: auto;
}

.content-image.small-responsive img {
    width: 30vw;
    max-width: calc(var(--space-6) * 14);
    height: auto;
}

.content-image .content-attribution {
    font-family: 'Open Sans', sans-serif;
    font-size: var(--font-size-1);
    margin: 0;
    padding: var(--space-1);
}

.content-list {
    margin: 0;
    padding: var(--space-1) var(--space-6);
}

.content-list li, .content-list dt, .content-list dd {
    font-family: 'Open Sans', sans-serif;
    font-size: var(--font-size-2);
}

.dark-on-light .content-list li {
    color: black;
}

.light-on-dark .content-list li, .light-on-dark .content-list dd {
    color: white;
}

.content-list dt {
    font-weight: bold;
}

.dark-on-light .content-list dt {
    color: var(--color-3);
}

.light-on-dark .content-list dt {
    color: var(--color-4);
}

.content-list dd {
    line-height: 1.5;
    margin: 0 0 var(--space-2) var(--space-4);
}

.content-table {
    display: flex;
    flex-direction: row;
    padding: var(--space-3);
}

.content-table.left {
    justify-content: flex-start;
}

.content-table.center {
    justify-content: center;
}

.content-table.borders {
    border-collapse: collapse;
}

.content-table.borders th, .content-table.borders td {
    border: 1px solid black;
}

.content-table th, .content-table td {
    font-family: 'Open Sans', sans-serif;
    font-size: var(--font-size-2);
    padding: var(--space-1);
}

.dark-on-light .content-table th, .dark-on-light .content-table td {
    color: black;
}

.light-on-dark .content-table th, .light-on-dark .content-table td {
    color: white;
}

.content-block-quote {
    font-family: 'Open Sans', sans-serif;
    font-size: var(--font-size-2);
    margin: 0;
    padding: var(--space-2) var(--space-6);
}

.dark-on-light .content-block-quote {
    color: black;
}

.light-on-dark .content-block-quote {
    color: white;
}

.content-horizontal-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.content-horizontal-wrapper.vertically-centered {
    align-items: center;
}


.content-vertical-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    margin: 0;
}

.content-form-field {
    color: white;
    font-family: 'Open Sans', sans-serif;
    font-size: var(--font-size-2);
    background-color: var(--color-3);
    padding: var(--space-1);
    margin: var(--space-1) 0;
    border-radius: var(--space-1);
    width: 20em;
}

.content-form-field::placeholder {
    color: white;
    opacity: 0.5;
}

textarea.content-form-field {
    height: 10em;
}

.content-form-button {
    font-family: 'Open Sans', sans-serif;
    font-size: var(--font-size-3);
    background-color: var(--color-1);
    padding: var(--space-1);
    margin: var(--space-1) 0;
    border-radius: var(--space-1);
}

.content-form-button::hover {
    cursor: pointer;
}

.cta p.content-link {
    display: inline-block;
    font-size: var(--font-size-3);
    color: var(--color-4);
    background-color: var(--color-3);
    border-style: solid;
    border-color: var(--color-2);
    border-radius: var(--space-1);
    padding: var(--space-1) 0;
    margin: var(--space-3) var(--space-3) var(--space-3) var(--space-3); 
}

.cta p.content-link:hover {
    border-color: var(--color-3);
}
    
.cta p.content-link a {
    padding: var(--space-1);
    text-decoration: none;
}

.content-accent {
    margin: 0;
    padding: 0;
    color: var(--color-2);
}

