:root {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto',
		'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
		sans-serif;

	font-size: 0.8em;
	line-height: 1.15;
}

#root,
#modals,
#overlays {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	will-change: transform;
}

#modals {
	z-index: 5;
}

#overlays {
	z-index: 10;
}

body {
	margin: 0;
}

figcaption,
figure,
main {
	display: block;
}

a:active,
a:hover {
	outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

b,
strong {
	font-weight: inherit;
}

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

input,
optgroup,
select,
textarea {
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
	border: 1px solid var(--color-border);
	padding: var(--sp-small);
	background: white;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type='button'],
/* 1 */ [type='reset'],
[type='submit'] {
	-webkit-appearance: button; /* 2 */
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type='checkbox'],
[type='radio'] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
	height: auto;
}

[type='search'] {
	-webkit-appearance: textfield;
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

label {
	font-size: 1em;
}

button {
	color: currentColor;
}

textarea,
input {
	overflow: visible;
	transition: box-shadow 0.2s ease-in-out;
}

textarea:hover,
input:hover,
select:hover {
	box-shadow: 0 0 0 1px var(--color-primary-light);
}

textarea:focus,
input:focus,
select:focus {
	outline: none;
	box-shadow: 0 0 0 2px var(--color-primary-light);
}

/* Larger text on mobile devices - prevents awkward zooming when user selects an input */
@media only screen and (max-width: 800px) {
	input[type='color'],
	input[type='date'],
	input[type='datetime'],
	input[type='datetime-local'],
	input[type='email'],
	input[type='month'],
	input[type='number'],
	input[type='password'],
	input[type='search'],
	input[type='tel'],
	input[type='text'],
	input[type='time'],
	input[type='url'],
	input[type='week'],
	select,
	textarea {
		font-size: var(--fs-text-input-mobile);
	}
}
