/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
    box-sizing: border-box;
}
/*
  2. Remove default margin
*/
* {
    margin: 0;
}
/*
  3. Allow percentage-based heights in the application
*/
html, body {
    height: 100%;
}
/*
  Typographic tweaks!
  4. Add accessible line-height
  5. Improve text rendering
*/
body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
/*
  6. Improve media defaults
*/
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}
/*
  7. Remove built-in form typography styles
*/
input, button, textarea, select {
    font: inherit;
}
/*
  8. Avoid text overflows
*/
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}
/*
  9. Create a root stacking context
*/
#root, #__next {
    isolation: isolate;
}


/* Own styles */

:root {
    --color-primary: #0f2a42;
    --color-secondary: #245b92;
    --color-accent: #5d98a1;
    --color-light: #eceded;
    --padding-default: 20px;
    --padding-half: 10px;
    --dark-background: #111111;
}

html {
    color: var(--color-light);
}

body {
    color: var(--color-light);
    background-color: var(--color-primary);
    font-family: "Montserrat", "Helvetica", sans-serif;
}

address {
    font-style: normal;
    font-size: small;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 1rem;
    margin-bottom: 0;
}

p {
    margin-top: 0.5rem;
    margin-bottom: var(--padding-half);
}

main {
    max-width: 800px;
    padding: var(--padding-half) var(--padding-default);
    display: flex;
    flex-direction: column;
}

header {
    margin-top: var(--padding-default);
}

footer {
    width: 100%;
    max-width: 800px;
    margin-top: 40px;
    font-size: small;
    padding-bottom: var(--padding-default);
}

a:link, a:visited {
    color: var(--color-light);
}

a:hover, a:active {
    color: var(--color-light);
}

ul {
    list-style-type: "– ";
    padding-left: 1rem;

    li {
        padding-left: 0.25rem;
    }

    li::marker {
        color: var(--color-accent);
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
    content: " ";
    display: table;
}

.clearfix::after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}
