/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ALLGEMEIN */

:root {
    --color1: #000;
    --color2: #fff;
    --color3: #ff0000;
    --color4: #0000ff;
    --color5: #00ff00;
    --color6: #ffff00;
    --color7: #00ffff;
    --color8: #ff00ff;
}

* {
    box-sizing: border-box;
}

.background-1 {
    background-color: var(--color1);
}

.background-2 {
    background-color: var(--color2);
}

.background-3 {
    background-color: var(--color3);
}

.background-4 {
    background-color: var(--color4);
}

.background-5 {
    background-color: var(--color5);
}

.background-6 {
    background-color: var(--color6);
}

.background-7 {
    background-color: var(--color7);
}

.background-8 {
    background-color: var(--color8);
}

.color-1 {
    color: var(--color1);
}

.color-2 {
    color: var(--color2);
}

.color-3 {
    color: var(--color3);
}

.color-4 {
    color: var(--color4);
}

.color-5 {
    color: var(--color5);
}

.color-6 {
    color: var(--color6);
}

.color-7 {
    color: var(--color7);
}

.color-8 {
    color: var(--color8);
}

html {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 15px;  
    line-height: 1.75em;
}

p {
    line-height: 1.75em;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 3rem;
}

h3 {
    font-size: 2rem;
}

h4 {
    font-size: 1.5rem;
}

a {
    text-decoration: none;
}

input:focus, select:focus, textarea:focus {
    outline: none;
}

img {
    width: 100%;
	height: auto;
    display: block;
}

img.not-width {
    width: auto;
}

th, td {
    padding: 1rem;
    vertical-align: middle;
    text-align: left;
}

table {
    width: 100%;
}

input, select, textarea {
    width: -webkit-fill-available;
    width: -moz-available;
  /* margin-bottom: 2rem;
    -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none; */
}

input[type="radio"], input[type='checkbox'] {
    width: auto;
}

.border-radius {
    border-radius: 1rem;
}

button {
    cursor: pointer;
}

ul {
    list-style: square;
    padding-inline-start: 16px;
}

/* LAYOUT */

.width-100 {
    width: 100%;
}

.webkit-fill-available {
    width: -webkit-fill-available;
}

.container {
    padding: 6rem;
}

.container-half {
    padding: 3rem;
}

.center {
    margin: 0 auto;
}

.container-flat {
    padding: 1rem 6rem;
}

.container-maxflat {
    padding: 0rem 6rem;
}

.boxed {
    max-width: 800px;
}

.flex {
    display: flex;
    flex-direction: row;
}

.direction-column {
    flex-direction: column;
}

.inline-flex {
    display: inline-flex;
}

.grid {
    display: grid;
    gap: 2rem;
}

.grid-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    display: grid;
}

.grid-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    display: grid;
}

.grid-2 {
    grid-template-columns: 1fr 1fr;
    display: grid;
}


.grid-3 {
    grid-template-columns: 1fr 1fr 1fr;
    display: grid;
}

.grid-6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    display: grid;
}

.grid-8 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    display: grid;
}

.space-between {
    justify-content: space-between;
}

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

.justify-right {
    justify-content: right;
}

.justify-left {
    justify-content: left;
}

.align-center {
    align-items: center;
}

.column {
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 1;
}

.columns {
    gap: 3rem;
    display: flex;
}

.is-3 {
    width: 25%;
    flex: none;
}

.is-6 {
    width: 50%;
    flex: none;
}

.is-9 {
    width: 75%;
    flex: none;
}

.no-gap {
    gap: 0;
}

.no-padding {
    padding: 0;
}

.gap {
    gap: 1rem;
}

.ta-center {
    text-align: center;
}

.fullvh {
    min-height: 100vh;
}

.element{
    margin-bottom: 2rem;
}

.active {
    display: block;
}

.sticky {
position: -webkit-sticky; 
  position: sticky;
  top: 0;
}

.absolute {
	position: absolute;
	width: 100%;
}

.top {
    top: 0;
}

.right {
    right: 0;
}

.left {
    left: 0;
}

.bottom {
    bottom: 0;
}

.relative {
	position: relative;
}

.z-index {
	z-index: 9999;
}

.overflow-hidden {
	overflow: hidden;
}

.overflow-xhidden {
	overflow-x: hidden;
}

.overflow-scroll {
    overflow: scroll;
}

.minus-margin-right {
	margin-right: -12rem;
}

.minus-margin-left {
	margin-left: -12rem;
}

.text-small {
    font-size: 0.75rem;
}

.bg-cover {
    background-size: cover;
    background-position: left;
}

.square {
    padding-top: 100%;
}

.not-desktop {
    display: none;
}

.line-through {
    text-decoration: line-through;
}

/* MOBILE */

@media screen and (max-width: 1024px) {

    .not-desktop {
        display: block;
    }

    .flex {
        display: flex;
    }

    .flex, .columns {
        flex-direction: column;
    }

    .columns-reverse {
        flex-direction: column-reverse;
    }

    .row {
        flex-direction: row;
    }

    .container {
        padding: 3rem;
    }

    .container-flat {
        padding: 1rem 3rem;
    }

    .container-maxflat {
        padding: 0rem 3rem;
    }
	
	.not-mobile {
		display: none;
	}
	
    .grid-4, .grid-6, .grid-2, .grid-3, .grid-5 {
        grid-template-columns: 1fr;
    }

    .grid-8{
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
    
    .fullvh {
        min-height: 50vh;
    }
	
    .is-3, .is-6, .is-9 {
        width: 100%;
    }
}
