html {
  box-sizing: border-box;
}

body {
  margin: 0;
}

*,
*:before,
*:after {
  box-sizing: inherit;
  -webkit-tap-highlight-color: transparent;
}

:host {
  font-family: var(--c-font-family);
}

::-ms-reveal {
  display: none;
}

:host(c-dropdown) {
  /**
   * @prop --c-dropdown-background-color: Menu background color
   * @prop --c-dropdown-background-color-hover: Menu item hover background color
   * @prop --c-dropdown-text-color: Menu item text color
   * @prop --c-dropdown-text-color-active: Active menu item text color
   */
  --_c-dropdown-background-color: var(
    --c-dropdown-background-color,
    var(--c-white)
  );
  --_c-dropdown-background-color-hover: var(
    --c-dropdown-background-color-hover,
    var(--c-primary-200)
  );
  --_c-dropdown-text-color: var(--c-dropdown-text-color, var(--c-text-body));
  --_c-dropdown-text-color-active: var(
    --c-dropdown-text-color-active,
    var(--c-primary-600)
  );
  --_c-dropdown-font-size: 14px;
  --_c-dropdown-height: 42px;
  display: block;
  position: relative;
}
:host(c-dropdown) mark {
  background-color: transparent;
  box-shadow: 0 2px 0 0 var(--_c-dropdown-text-color-active);
  color: inherit;
}
:host(c-dropdown) dialog {
  border-radius: 4px;
  background-color: transparent;
  border: none;
  margin: -4px 0 0;
  overflow: visible;
  padding: 4px 0 0;
  position: fixed;
}
:host(c-dropdown) dialog::backdrop {
  opacity: 0;
}
:host(c-dropdown) dialog[open].mobile {
  background-color: var(--_c-dropdown-background-color);
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  max-height: 100svh;
  inset: 0;
}
:host(c-dropdown) dialog[open].mobile .input-top-wrapper {
  padding: 8px;
}
:host(c-dropdown) dialog .input-bottom-wrapper.active {
  padding-top: 8px;
}
:host(c-dropdown) .dummy {
  display: none;
}
:host(c-dropdown) ul {
  background-color: var(--_c-dropdown-background-color);
  box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.1607843137);
  border-radius: 4px;
  list-style: none;
  margin: 0;
  outline: none;
  padding: 0;
  pointer-events: auto;
  visibility: hidden;
  width: 100%;
  height: max-content;
  overflow-y: scroll;
}
:host(c-dropdown) ul.active {
  visibility: visible;
  animation: 0.2s 1 fade-in cubic-bezier(0.25, 0.8, 0.5, 1);
}
:host(c-dropdown) ul.active.mobile {
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  max-height: calc(100svh - 60px);
}
:host(c-dropdown) li {
  align-items: center;
  column-gap: 12px;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  font-size: var(--_c-dropdown-font-size);
  min-height: var(--_c-dropdown-height);
  outline: none;
  padding-left: 10px;
  padding-right: 10px;
  pointer-events: auto;
  white-space: nowrap;
  width: 100%;
  border-radius: 4px;
  user-select: none;
}
:host(c-dropdown) li span,
:host(c-dropdown) li c-option-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
:host(c-dropdown) li:hover, :host(c-dropdown) li:focus, :host(c-dropdown) li.active {
  background: var(--_c-dropdown-background-color-hover);
  color: var(--_c-dropdown-text-color-active);
  box-shadow: inset 0 0 0 1px var(--_c-dropdown-text-color-active);
}
:host(c-dropdown) li:not(.disabled, :hover, :focus)[aria-selected=true] {
  background: var(--_c-dropdown-background-color-hover);
  color: var(--_c-dropdown-text-color-active);
  border-radius: 0;
}
:host(c-dropdown) li.disabled {
  background-color: rgba(var(--c-tertiary-rgb), 0.05);
  cursor: default;
  filter: grayscale(1) opacity(0.75);
}
:host(c-dropdown) .visuallyhidden {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}