/* Equate v1.0.0 | MIT License | https://github.com/alterastro/equate */

/**
* Document
*
* 1. Set `background-repeat: no-repeat` to all elements and pseudo elements.
* 2. Change from `box-sizing: content-box` so that `width` is not affected
* by `padding` or `border`.
* 3. Inherit text-decoration and vertical align
* to ::before and ::after pseudo elements.
* See https://github.com/tailwindcss/tailwindcss/pull/116
* 4. Reset `padding` and `margin` of all elements.
*/

*,
::before,
::after {
  background-repeat: no-repeat; /* 1 */
  box-sizing: border-box; /* 2 */
}

::before,
::after {
  text-decoration: inherit; /* 3 */
  vertical-align: inherit; /* 3 */
}

* {
  margin: 0; /* 4 */
  padding: 0; /* 4 */
}

/**
* Root
*
* 1. Improve font rendering in Firefox on macOS.
* 2. Improve font rendering in Chrome and Safari on macOS.
* 3. Set more readable tab size.
* 4. Change the default tap highlight to be completely transparent in iOS.
* 5. The text-rendering CSS property provides information to the rendering
* engine about what to optimize for when rendering text.
* 6. Prevent adjustments of font size after orientation changes in iOS.
*/

:root {
  -moz-osx-font-smoothing: grayscale; /* 1 */
  -webkit-font-smoothing: antialiased; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: rgb(0, 0, 0, 0); /* 4 */
  text-rendering: optimizeLegibility; /* 5 */
  -webkit-text-size-adjust: 100%; /* 6 */
}

/**
* Body
*
* 1. Improve consistency of default fonts in all browsers.
* 2. Set default typography styles in all browsers.
* 3. Correct the line height in all browsers.
*/

body {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', sans-serif; /* 1 */
  font-size: 1rem; /* 2 */
  font-weight: 400; /* 2 */
  line-height: 1.5; /* 3 */
}

/**
* Content grouping
*
* 1. Correct the inheritance of border color in Firefox.
* (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
* 2. Add the correct height in Firefox.
*/

hr {
  color: inherit; /* 1 */
  height: 0; /* 2 */
}

/**
* Headings
*
* Set heading elements style same font-size and font-weight as normal text.
*/

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

/**
* Abbreviations
*
* 1. Add explicit cursor to indicate changed behavior.
* 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
* 3. Prevent the text-decoration to be skipped.
*/

abbr[title] {
  cursor: help; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
  text-decoration-skip-ink: none; /* 3 */
}

/**
* Address
*
* Improve consistency of `font-style` and `line-height` in all browsers.
*/

address {
  font-style: normal;
  line-height: inherit;
}

/**
* Lists
*
* 1. Ordered and unordered lists are unstyled by default
* Accessibility considerations: unstyled lists are not announced as lists
* by VoiceOver. If your content is truly a list but you would like to keep
* it unstyled, add a “list” role to the element.
* 2. Add the correct font weight in Chrome, Edge, and Safari.
*/

ol,
ul {
  list-style: none; /* 1 */
}

dt {
  font-weight: 700; /* 2 */
}

/**
* Strong
*
* Add the correct font weight in Chrome, Edge, and Safari.
*/

b,
strong {
  font-weight: 700;
}

/**
* Small
*
* Add the correct font size in all browsers.
*/

small {
  font-size: 0.875em;
}

/**
 * Sub and Sup
 *
 * Prevent `sub` and `sup` elements from affecting the line height
 * in all browsers.
 */

sub,
sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/**
 * Links
 *
 * Remove the outline when hovering in all browsers
 */

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

/**
 * And undo these styles for placeholder links/named anchors (without href).
 * It would be more straightforward to just use a[href] in previous block,
 * but that causes specificity issues in many other styles
 * that are too complex to fix.
 * See https://github.com/twbs/bootstrap/issues/19402
 */

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

/**
 * Code
 *
 * 1. Improve consistency of default fonts in all browsers.
 * (https://github.com/sindresorhus/modern-normalize/issues/3)
 * 2. Correct the odd 'em' font sizing in all browsers.
 * 3. Correct direction support.
 */

code,
kbd,
pre,
samp {
  direction: ltr;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; /* 1 */
  font-size: 1em; /* 2 */
  unicode-bidi: bidi-override; /* 3 */
}

/* Don't allow content to break outside */

pre {
  display: block;
  overflow: auto;
}

/* Account for some code outputs that place code tags in pre tags */

pre code {
  color: inherit;
  font-size: inherit;
  word-break: normal;
}

code {
  word-wrap: break-word;
}

/* Streamline the style when inside anchors to avoid broken underline and more */

a > code {
  color: inherit;
}

/**
 * Images and content
 *
 * 1. Make replaced elements `display: block` by default as that's the behavior
 * you want almost all of the time. Inspired by CSS Remedy, with `svg`
 * added as well.
 * (https://github.com/mozdevs/cssremedy/issues/14)
 * 2. Add `vertical-align: middle` to align replaced elements more sensibly
 * by default when overriding `display` by adding a utility like `inline`.
 * This can trigger a poorly considered linting error in some tools but
 * is included by design.
 * (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
 */

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/* Remove border from iframe */

iframe {
  border-style: none;
}

/**
 * Constrain images and videos to the parent width and preserve their
 * intrinsic aspect ratio.
 *
 * (https://github.com/mozdevs/cssremedy/issues/14)
 */

img,
video {
  height: auto;
  max-width: 100%;
}

/**
 * Tables
 *
 * 1. Prevent double borders.
 * 2. Correct border color in all Chrome, Edge, and Safari.
 * 3. Remove text indentation in Chrome, Edge, and Safari.
 */

table {
  border-collapse: collapse; /* 1 */
  border-color: inherit; /* 2 */
  text-indent: 0; /* 3 */
}

/**
 * 1. Matches default `<td>` alignment by inheriting `text-align`.
 * 2. Fix alignment for Safari.
 */

th {
  text-align: inherit; /* 1 */
  text-align: -webkit-match-parent; /* 2 */
}

/**
 * Forms
 *
 * 1. Remove `background-color` from form elements.
 * 2. Remove `border-style` from form elements.
 * 3. Change the font styles in all browsers.
 */

button,
input,
optgroup,
select,
textarea {
  background-color: transparent; /* 1 */
  border-style: none; /* 2 */
  font-family: inherit; /* 3 */
  font-size: inherit; /* 3 */
  line-height: inherit; /* 3 */
}

/* Remove the inheritance of text transform in Firefox. */

button,
select {
  text-transform: none;
}

/**
 * Remove the default `border-radius` that macOS Chrome adds.
 * See https://github.com/twbs/bootstrap/issues/24093
 */

button {
  border-radius: 0;
}

/**
 * Explicitly remove focus outline in Chromium when it shouldn't be
 * visible (e.g. as result of mouse click or touch tap). It already
 * should be doing this automatically, but seems to currently be
 * confused and applies its very visible two-tone outline anyway.
 */

button:focus:not(:focus-visible) {
  outline-width: 0;
}

/**
 * 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.
 * 3. Add 'hand' cursor to non-disabled button elements.
 */

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

button:not(:disabled),
[type=button]:not(:disabled), /* 1 */
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer; /* 3 */
}

/**
 * Set the cursor for non-`<button>` buttons
 * Details at https://github.com/twbs/bootstrap/pull/30562
 */

[role='button'] {
  color: inherit;
  cursor: pointer;
}

/**
 * 1. Style select like a standard input.
 * 2. Remove the inheritance of word-wrap in Safari.
 * See https://github.com/twbs/bootstrap/issues/24990
 * 3. Undo the opacity change from Chrome
 */

select {
  -moz-appearance: none; /* 1 */
  -webkit-appearance: none; /* 1 */
  word-wrap: normal; /* 2 */
}

select:disabled {
  opacity: 1; /* 3 */
}

/* Reset `border-radius` */

input {
  border-radius: 0;
}

/* Textareas should really only resize vertically so they don't break their (horizontal) containers. */

textarea {
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
}

/* Allow labels to use `margin` for spacing. */

label {
  display: inline-block;
}

/**
 * 1. Reset the default outline behavior of fieldsets so they don't affect
 * page layout.
 * 2. Browsers set a default `min-width: min-content;` on fieldsets,
 * unlike e.g. `<div>`s, which have `min-width: 0;` by default.
 * So we reset that to ensure fieldsets behave more like
 * a standard block element.
 * See https://github.com/twbs/bootstrap/issues/12359
 * and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
 */

fieldset {
  border: 0; /* 1 */
  min-width: 0; /* 2 */
}

/**
 * 1. By using `float: left`, the legend will behave like a block element.
 * This way the border of a fieldset wraps around the legend if present.
 * 1. Fix wrapping bug.
 * See https://github.com/twbs/bootstrap/issues/29712
 */

legend {
  float: left; /* 1 */
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  padding: 0;
  width: 100%;
}

legend + * {
  clear: left; /* 2 */
}

/**
 * Remove the dropdown arrow in Chrome from inputs built with datalists.
 * See https://stackoverflow.com/a/54997118
 */

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

/**
 * Remove the additional ':invalid' styles in Firefox.
 * See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
 */

:-moz-ui-invalid {
  box-shadow: none;
}

/**
 * Fix height of inputs with a type of datetime-local, date, month, week, or time.
 * See https://github.com/twbs/bootstrap/issues/18842
 */

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Remove the inner padding in Chrome and Safari on macOS.
 * 2. Remove search field cancel button in Chrome and Safari.
 */

::-webkit-search-cancel-button,
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/* Remove padding around color pickers in webkit browsers. */

::-webkit-color-swatch-wrapper {
  padding: 0;
}

/* Inherit font family and line height for file input buttons. */

::file-selector-button {
  font: inherit;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change `color` to 'inherit' in Safari.
 * 3. Change `font` properties to 'inherit' in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  color: inherit; /* 2 */
  font: inherit; /* 3 */
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -0.125rem; /* 2 */
}

/* Correct element displays. */

output {
  display: inline-block;
}

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

summary {
  cursor: pointer;
  display: list-item; /* 1 */
}

/**
 * Progress
 *
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Disabled attribute
 *
 * Replace pointer cursor in disabled elements
 */

[disabled] {
  cursor: default;
}

/**
 * Hidden attribute
 *
 * Always hide an element with the `hidden` HTML attribute.
 */

[hidden] {
  display: none !important;
}

/**
 * Accessibility
 */

/* Specify the progress cursor of updating elements */

[aria-busy='true'] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements. */

[aria-disabled='true'] {
  cursor: default;
}
