/*
	----------------
	- Reset styles
	----------------
*/

/* Remove margin and padding from all elements */
*{
	margin: 0;
	padding: 0;
}

*, ::before, ::after {
	box-sizing: border-box;
	min-width: 0;
	min-height: 0;
}

html{
	-webkit-text-size-adjust: 100%;
	accent-color: var(--primary);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizelegibility;
}

hr{
	color: inherit;
}

hr,
iframe,
fieldset{
	border-width: 0;
}

iframe:where([src*="youtube."], [src*="youtube-nocookie."], [src*="vimeo."]){
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
}

img, svg{
	border: 0;
	display: inline-block;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

svg{
    height: 1em;
    fill: currentColor;
}

/* Prevent alt text from overflowing image if URL fails to load */
:where(img::before){
	display: block;
	overflow: hidden;
	height: 100%;
}

h1, h2, h3, h4, h5, h6{
	font-size: inherit;
	font-weight: inherit;
}

b, strong { font-weight: bolder; }

menu, ol, ul, summary{
	list-style-type: none;
}
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; }

input, textarea, select, button{
	background: none;
	border: 0;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-align: inherit;
	text-transform: inherit;
}

textarea, select{
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
}

textarea{
	display: block;
	width: 100%;
}

select{
	cursor: pointer;
}

[type="search"]{
	-webkit-appearance: none;
	appearance: none;
}

[type="date"],
[type="time"]{
	accent-color: currentColor;
}

::placeholder{
	color: inherit;
	opacity: .5;
}

button, [type="submit"], summary{
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-user-select: none;
	user-select: none;
}

button{
	text-align: inherit;
}

details summary::-webkit-details-marker {
	display:none;
}

:focus{
	outline-color: transparent;
}

:focus-visible{
	outline: var(--outline-width) var(--outline-style) var(--outline-color);
	outline-offset: var(--outline-offset);
}

address{
	font-style: inherit;
}

dialog{
	border-width: 0;
	margin: auto;
}

.sr-only {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

[hidden], dialog:not([open]), [popover]:not(:popover-open){
	display: none !important;
}