/*! Modern CSS Reset + Minimal Utilities | Optimized for Juschka Brandschutz */

/* CSS Reset (Modern Normalize) */
*,::after,::before{box-sizing:border-box}
html{-moz-tab-size:4;tab-size:4;line-height:1.15;-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}
hr{height:0;color:inherit;border-top-width:1px}
b,strong{font-weight:bolder}
small{font-size:80%}
button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}
button,select{text-transform:none}
[type=button],[type=submit],button{-webkit-appearance:button;cursor:pointer;background-color:transparent;background-image:none}
::-moz-focus-inner{border-style:none;padding:0}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
h1,h2,h3,h4,hr,p{margin:0}
ol,ul{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
img{border-style:solid;display:block;vertical-align:middle;max-width:100%;height:auto}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}
embed,iframe,svg{display:block;vertical-align:middle}
[hidden]{display:none}

/* Border Colors */
*,::after,::before{border-width:0;border-style:solid;border-color:currentColor}

/* Minimal Utilities (nur was wirklich genutzt wird) */
.container{width:100%}
@media (min-width:640px){.container{max-width:640px}}
@media (min-width:768px){.container{max-width:768px}}
@media (min-width:1024px){.container{max-width:1024px}}
@media (min-width:1280px){.container{max-width:1280px}}
@media (min-width:1536px){.container{max-width:1536px}}

/* Display */
.block{display:block}
.inline-block{display:inline-block}
.inline{display:inline}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}

/* Position */
.static{position:static}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}

/* Flexbox */
.flex-wrap{flex-wrap:wrap}
.flex-shrink{flex-shrink:1}
.flex-grow{flex-grow:1}

/* Typography */
.uppercase{text-transform:uppercase}
.italic{font-style:italic}
.underline{text-decoration:underline}

/* Border */
.border{border-width:1px}

/* Transitions */
.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
