/*
 * MODERN CSS RESET
 * –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */


/* Use a more-intuitive box-sizing model on everything */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Making sure text size is only controlled by font-size
 * https://kilianvalkhof.com/2022/css-html/your-css-reset-needs-text-size-adjust-probably/
 */
html {
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    scroll-behavior: smooth;
}

/* If dvb is not supported, allow percentage-based page heights
 * dvb = viewport dynamic viewport size in the block direction
 */
@supports not (min-block-size: 100dvb) {
    html {
        block-size: 100%;
    }
}

/* Smooth scrolling for users that don't prefer reduced motion */
@media (prefers-reduced-motion: no-preference) {
    html:focus-within {
        scroll-behavior: smooth;
    }
}

/* Set core body defaults */
body {
    /* Allow dvb / percentage-based heights in the application */
    min-block-size: 100%;

    @supports (min-block-size: 100dvb) {
        min-block-size: 100dvb;
    }

    /* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter#example_2
     * scrollbar-gutter: stable both-edges; Removed until this bug is fixed:
     * https://bugs.chromium.org/p/chromium/issues/detail?id=1318404#c2
     */

    /* Calc `em` based line height, bigger line height for smaller font size
     * and smaller line height for bigger font size:
     * https://kittygiraudel.com/2020/05/18/using-calc-to-figure-out-optimal-line-height/
     */
    line-height: calc(0.25rem + 1em + 0.25rem);

    /* Improve text rendering */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* https://marco.org/2012/11/15/text-rendering-optimize-legibility */
    text-rendering: optimizeSpeed;
}

/* Remove default margins */
:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd) {
    margin: 0;
}

/* Position list marker inside */
:where(ul, ol) {
/*    list-style-position: inside; */
}

/* Remove list styles on ul, ol elements with a list role,
 * which suggests default styling will be removed
 */
:where(ul, ol)[role="list"] {
    list-style: none;
}

/* More readable underline style for anchor tags without a class */
:where(a:not([class])) {
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
:where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block;
}

:where(img, picture, svg, video) {
    block-size: auto;
    max-inline-size: 100%;
}

/* Avoid text overflows */
:where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word;
}

:where(pre) {
    white-space: pre-wrap;
}

/* Inherit fonts for inputs and buttons */
:where(input, button, textarea, select),
:where(input[type="file"])::-webkit-file-upload-button {
    color: inherit;
    font: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
}

/* Change textarea resize to vertical only
 * and block only if the browser supports that
 */
:where(textarea) {
    resize: vertical;
}

@supports (resize: block) {
    :where(textarea) {
        resize: block;
    }
}

/* Cursor defaults: make it clear that interactive elements are interactive */
:where(a[href], button, label, select, summary, [role="button"], [role="option"]) {
    cursor: pointer;
    touch-action: manipulation;
}

:where(input[type="file"]) {
    cursor: auto;
}

:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
    cursor: pointer;
}

/* Make sure users can't select button text */
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"]),
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    text-align: center;
    user-select: none;
}

/* Disabled cursor for disabled labels and buttons */
:where(:disabled),
:where(label:has(> input:disabled), label:has(+ input:disabled)),
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"])[disabled] {
    cursor: not-allowed;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
    }
}
/* 
CSS Reset by Eric Meyer
http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded
*/

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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}