/* ------------------------------------------------------------
   Box-Sizing
------------------------------------------------------------ */

*,
*::before,
*::after {
    box-sizing: border-box;
}


/* ------------------------------------------------------------
   Dokument
------------------------------------------------------------ */

html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    margin: 0;

    background: var(--snlm_color_bg);
    color: var(--snlm_color_text);

    font-family: var(--snlm_font_family);
    font-size: var(--snlm_font_size_base);
    line-height: 1.5;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


/* ------------------------------------------------------------
   Links
------------------------------------------------------------ */

a {
    color: var(--snlm_color_primary);
    text-decoration: none;
}

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


/* ------------------------------------------------------------
   Formularelemente
------------------------------------------------------------ */

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}


/* ------------------------------------------------------------
   Medien
------------------------------------------------------------ */

img,
svg {
    max-width: 100%;
}


/* ------------------------------------------------------------
   Anwendung
------------------------------------------------------------ */

.snlm_app {
    min-height: 100vh;
}


/* ------------------------------------------------------------
   Icons
------------------------------------------------------------ */

.snlm_icon {
    width: 1.1em;
    text-align: center;
}


/* ------------------------------------------------------------
   Screenreader
------------------------------------------------------------ */

.snlm_sr_only {
    position: absolute;

    width: 1px;
    height: 1px;

    padding: 0;
    margin: -1px;

    overflow: hidden;
    clip: rect(0, 0, 0, 0);

    white-space: nowrap;
    border: 0;
}