/**
 * CorivaDx Lab Directory element styles and resets.
 */

/*--------------------------------------------------------------
Box sizing
--------------------------------------------------------------*/

body.corivadx-lab-app,
body.corivadx-lab-app *,
body.corivadx-lab-app *::before,
body.corivadx-lab-app *::after {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
Document
--------------------------------------------------------------*/

body.corivadx-lab-app {
	min-height: 100%;
	margin: 0;
	background-color: var(
		--corivadx-lab-color-background
	);
	color: var(
		--corivadx-lab-color-text
	);
	font-family: var(
		--corivadx-lab-font-primary
	);
	font-size: var(
		--corivadx-lab-font-size-base
	);
	font-style: normal;
	font-weight: var(
		--corivadx-lab-font-weight-light
	);
	line-height: var(
		--corivadx-lab-line-height-normal
	);
}

/*--------------------------------------------------------------
Typography
--------------------------------------------------------------*/

body.corivadx-lab-app h1,
body.corivadx-lab-app h2,
body.corivadx-lab-app h3,
body.corivadx-lab-app h4,
body.corivadx-lab-app h5,
body.corivadx-lab-app h6 {
	margin-top: 0;
	color: var(
		--corivadx-lab-color-heading
	);
	font-family: var(
		--corivadx-lab-font-primary
	);
	font-weight: var(
		--corivadx-lab-font-weight-bold
	);
	line-height: var(
		--corivadx-lab-line-height-tight
	);
}

body.corivadx-lab-app h1 {
	font-size: clamp(
		1.75rem,
		3vw,
		var(--corivadx-lab-font-size-2xl)
	);
}

body.corivadx-lab-app h2 {
	font-size: clamp(
		1.5rem,
		2.5vw,
		var(--corivadx-lab-font-size-xl)
	);
}

body.corivadx-lab-app h3 {
	font-size: var(
		--corivadx-lab-font-size-lg
	);
}

body.corivadx-lab-app p {
	margin-top: 0;
	margin-bottom: var(
		--corivadx-lab-space-2
	);
}

/*--------------------------------------------------------------
Links
--------------------------------------------------------------*/

body.corivadx-lab-app a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

/*--------------------------------------------------------------
Media
--------------------------------------------------------------*/

body.corivadx-lab-app img,
body.corivadx-lab-app svg {
	display: block;
	max-width: 100%;
}

body.corivadx-lab-app img {
	height: auto;
}

/*--------------------------------------------------------------
Form elements
--------------------------------------------------------------*/

body.corivadx-lab-app button,
body.corivadx-lab-app input,
body.corivadx-lab-app select,
body.corivadx-lab-app textarea {
	font: inherit;
}

body.corivadx-lab-app button {
	cursor: pointer;
}

/*--------------------------------------------------------------
Accessibility
--------------------------------------------------------------*/

body.corivadx-lab-app .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

body.corivadx-lab-app .screen-reader-text:focus {
	position: fixed;
	top: var(
		--corivadx-lab-space-2
	);
	left: var(
		--corivadx-lab-space-2
	);
	z-index: 100000;
	width: auto;
	height: auto;
	padding:
		var(--corivadx-lab-space-1)
		var(--corivadx-lab-space-2);
	margin: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	background-color: var(
		--corivadx-lab-color-white
	);
	color: var(
		--corivadx-lab-color-primary
	);
	font-weight: var(
		--corivadx-lab-font-weight-bold
	);
	white-space: normal;
}