/**
 * @file
 * Reset most HTML elements styles for the off-canvas dialog.
 *
 * This is a generic reset. Drupal-specific classes are reset in components.
 */

/**
 * All HTML elements that could be used in off-canvas except div, bdo, bdi,
 * data, svg, map and math.
 *
 * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element
 */
#drupal-off-canvas {
  & span,
  & applet,
  & object,
  & iframe,
  & h1,
  & h2,
  & h3,
  & h4,
  & h5,
  & h6,
  & p,
  & blockquote,
  & pre,
  & a,
  & abbr,
  & acronym,
  & address,
  & big,
  & button,
  & cite,
  & code,
  & del,
  & dfn,
  & em,
  & img,
  & ins,
  & kbd,
  & q,
  & s,
  & samp,
  & small,
  & strike,
  & strong,
  & sub,
  & sup,
  & tt,
  & var,
  & b,
  & u,
  & i,
  & center,
  & dl,
  & dt,
  & dd,
  & ol,
  & ul,
  & li,
  & fieldset,
  & form,
  & label,
  & legend,
  & table,
  & caption,
  & tbody,
  & tfoot,
  & thead,
  & tr,
  & th,
  & td,
  & article,
  & aside,
  & canvas,
  & details,
  & embed,
  & figure,
  & figcaption,
  & footer,
  & header,
  & hgroup,
  & main,
  & menu,
  & meter,
  & nav,
  & output,
  & progress,
  & ruby,
  & section,
  & summary,
  & time,
  & mark,
  & audio,
  & video,
  & input,
  & select,
  & textarea {
    all: initial;
    box-sizing: border-box;
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: initial;

    &:after,
    &:before {
      all: initial;
      box-sizing: border-box;
      text-shadow: none;
      -webkit-font-smoothing: antialiased;
      -webkit-tap-highlight-color: initial;
    }
  }
}

/* Reset size and position on elements. */
#drupal-off-canvas a,
#drupal-off-canvas abbr,
#drupal-off-canvas acronym,
#drupal-off-canvas address,
#drupal-off-canvas applet,
#drupal-off-canvas article,
#drupal-off-canvas aside,
#drupal-off-canvas audio,
#drupal-off-canvas b,
#drupal-off-canvas big,
#drupal-off-canvas blockquote,
#drupal-off-canvas body,
#drupal-off-canvas canvas,
#drupal-off-canvas caption,
#drupal-off-canvas cite,
#drupal-off-canvas code,
#drupal-off-canvas dd,
#drupal-off-canvas del,
#drupal-off-canvas dfn,
#drupal-off-canvas dialog,
#drupal-off-canvas dl,
#drupal-off-canvas dt,
#drupal-off-canvas em,
#drupal-off-canvas embed,
#drupal-off-canvas fieldset,
#drupal-off-canvas figcaption,
#drupal-off-canvas figure,
#drupal-off-canvas footer,
#drupal-off-canvas form,
#drupal-off-canvas h1,
#drupal-off-canvas h2,
#drupal-off-canvas h3,
#drupal-off-canvas h4,
#drupal-off-canvas h5,
#drupal-off-canvas h6,
#drupal-off-canvas header,
#drupal-off-canvas hgroup,
#drupal-off-canvas hr,
#drupal-off-canvas html,
#drupal-off-canvas i,
#drupal-off-canvas iframe,
#drupal-off-canvas img,
#drupal-off-canvas ins,
#drupal-off-canvas kbd,
#drupal-off-canvas label,
#drupal-off-canvas legend,
#drupal-off-canvas li,
#drupal-off-canvas main,
#drupal-off-canvas mark,
#drupal-off-canvas menu,
#drupal-off-canvas meter,
#drupal-off-canvas nav,
#drupal-off-canvas object,
#drupal-off-canvas ol,
#drupal-off-canvas output,
#drupal-off-canvas p,
#drupal-off-canvas pre,
#drupal-off-canvas progress,
#drupal-off-canvas q,
#drupal-off-canvas rp,
#drupal-off-canvas rt,
#drupal-off-canvas s,
#drupal-off-canvas samp,
#drupal-off-canvas section,
#drupal-off-canvas small,
#drupal-off-canvas span,
#drupal-off-canvas strike,
#drupal-off-canvas strong,
#drupal-off-canvas sub,
#drupal-off-canvas sup,
#drupal-off-canvas table,
#drupal-off-canvas tbody,
#drupal-off-canvas td,
#drupal-off-canvas tfoot,
#drupal-off-canvas th,
#drupal-off-canvas thead,
#drupal-off-canvas time,
#drupal-off-canvas tr,
#drupal-off-canvas tt,
#drupal-off-canvas u,
#drupal-off-canvas ul,
#drupal-off-canvas var,
#drupal-off-canvas video,
#drupal-off-canvas xmp {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
}

/*
 * Override the default (display: inline) for browsers that do not recognize HTML5 tags.
 * IE8 (and lower) requires a shiv: http://ejohn.org/blog/html5-shiv
 */
#drupal-off-canvas article,
#drupal-off-canvas aside,
#drupal-off-canvas figcaption,
#drupal-off-canvas figure,
#drupal-off-canvas footer,
#drupal-off-canvas header,
#drupal-off-canvas hgroup,
#drupal-off-canvas main,
#drupal-off-canvas menu,
#drupal-off-canvas nav,
#drupal-off-canvas section {
  display: block;
  border-radius: 0;
  line-height: normal;
}

/*
 * Makes browsers agree.
 * IE + Opera = font-weight: bold.
 * Gecko + WebKit = font-weight: bolder.
 */
#drupal-off-canvas b,
#drupal-off-canvas strong {
  font-weight: bold;
}

#drupal-off-canvas em,
#drupal-off-canvas i {
  font-style: italic;
}

#drupal-off-canvas img {
  vertical-align: middle;
  color: transparent;
  font-size: 0;
}

#drupal-off-canvas ul,
#drupal-off-canvas ol {
  list-style: none;
}

/* reset table styling. */
#drupal-off-canvas table {
  border-spacing: 0;
  border-collapse: collapse;
}
#drupal-off-canvas table thead,
#drupal-off-canvas table tbody,
#drupal-off-canvas table tbody tr:nth-child(even),
#drupal-off-canvas table tbody tr:nth-child(odd),
#drupal-off-canvas table tfoot {
  border: 0;
  background: transparent none;
}
#drupal-off-canvas th,
#drupal-off-canvas td,
#drupal-off-canvas caption {
  font-weight: normal;
}
#drupal-off-canvas q {
  quotes: none;
}
#drupal-off-canvas q:before,
#drupal-off-canvas q:after {
  content: none;
}
#drupal-off-canvas sub,
#drupal-off-canvas sup,
#drupal-off-canvas small {
  font-size: 75%;
}
#drupal-off-canvas sub,
#drupal-off-canvas sup {
  position: relative;
  vertical-align: baseline;
  line-height: 0;
}
#drupal-off-canvas sub {
  bottom: -0.25em;
}
#drupal-off-canvas sup {
  top: -0.5em;
}

/*
 * For IE9. Without, occasionally draws shapes
 * outside the boundaries of <svg> rectangle.
 */
#drupal-off-canvas svg {
  overflow: hidden;
}

/* Specific resets for inputs. */
#drupal-off-canvas input[type="search"]::-webkit-search-decoration {
  display: none;
}
#drupal-off-canvas input {
  margin: 0;
  padding: 0;
}
#drupal-off-canvas input[type="checkbox"],
#drupal-off-canvas input[type="radio"] {
  position: static;
  margin: 0;
}
#drupal-off-canvas input:invalid,
#drupal-off-canvas button:invalid,
#drupal-off-canvas select:invalid,
#drupal-off-canvas textarea:invalid,
#drupal-off-canvas input:focus,
#drupal-off-canvas button:focus,
#drupal-off-canvas select:focus,
#drupal-off-canvas textarea:focus,
#drupal-off-canvas input[type="file"]:focus,
#drupal-off-canvas input[type="file"]:active,
#drupal-off-canvas input[type="radio"]:focus,
#drupal-off-canvas input[type="radio"]:active,
#drupal-off-canvas input[type="checkbox"]:focus,
#drupal-off-canvas input[type="checkbox"]:active {
  z-index: 1;
  box-shadow: none;
}
#drupal-off-canvas input[role="button"] {
  cursor: pointer;
}
#drupal-off-canvas button,
#drupal-off-canvas input[type="reset"],
#drupal-off-canvas input[type="submit"],
#drupal-off-canvas input[type="button"] {
  display: inline-block;
  overflow: visible;
  cursor: pointer;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0;
  background-image: none;
  text-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
#drupal-off-canvas button:hover,
#drupal-off-canvas input[type="reset"]:hover,
#drupal-off-canvas input[type="submit"]:hover,
#drupal-off-canvas input[type="button"]:hover {
  text-decoration: none;
  background-image: none;
}
#drupal-off-canvas button:active,
#drupal-off-canvas input[type="reset"]:active,
#drupal-off-canvas input[type="submit"]:active,
#drupal-off-canvas input[type="button"]:active {
  border-color: gray;
  background-image: none;
  box-shadow: none;
}
#drupal-off-canvas button::-moz-focus-inner,
#drupal-off-canvas input[type="reset"]::-moz-focus-inner,
#drupal-off-canvas input[type="submit"]::-moz-focus-inner,
#drupal-off-canvas input[type="button"]::-moz-focus-inner {
  padding: 0;
  border: 0;
}
#drupal-off-canvas textarea,
#drupal-off-canvas select,
#drupal-off-canvas input[type="date"],
#drupal-off-canvas input[type="datetime"],
#drupal-off-canvas input[type="datetime-local"],
#drupal-off-canvas input[type="email"],
#drupal-off-canvas input[type="month"],
#drupal-off-canvas input[type="number"],
#drupal-off-canvas input[type="password"],
#drupal-off-canvas input[type="search"],
#drupal-off-canvas input[type="tel"],
#drupal-off-canvas input[type="text"],
#drupal-off-canvas input[type="time"],
#drupal-off-canvas input[type="url"],
#drupal-off-canvas input[type="week"] {
  height: auto;
  vertical-align: middle;
  border-radius: 0;
}
#drupal-off-canvas textarea[disabled],
#drupal-off-canvas select[disabled],
#drupal-off-canvas input[type="date"][disabled],
#drupal-off-canvas input[type="datetime"][disabled],
#drupal-off-canvas input[type="datetime-local"][disabled],
#drupal-off-canvas input[type="email"][disabled],
#drupal-off-canvas input[type="month"][disabled],
#drupal-off-canvas input[type="number"][disabled],
#drupal-off-canvas input[type="password"][disabled],
#drupal-off-canvas input[type="search"][disabled],
#drupal-off-canvas input[type="tel"][disabled],
#drupal-off-canvas input[type="text"][disabled],
#drupal-off-canvas input[type="time"][disabled],
#drupal-off-canvas input[type="url"][disabled],
#drupal-off-canvas input[type="week"][disabled] {
  background-color: gray;
}
#drupal-off-canvas input[type="hidden"] {
  visibility: hidden;
}
#drupal-off-canvas button[disabled],
#drupal-off-canvas input[disabled],
#drupal-off-canvas select[disabled],
#drupal-off-canvas select[disabled] option,
#drupal-off-canvas select[disabled] optgroup,
#drupal-off-canvas textarea[disabled] {
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  box-shadow: none;
}
#drupal-off-canvas input:placeholder,
#drupal-off-canvas textarea:placeholder {
  color: gray;
}
#drupal-off-canvas textarea,
#drupal-off-canvas select[size],
#drupal-off-canvas select[multiple] {
  height: auto;
}
#drupal-off-canvas select[size="0"],
#drupal-off-canvas select[size="1"] {
  height: auto;
}
#drupal-off-canvas textarea {
  overflow: auto;
  width: 100%;
  min-height: 40px;
  resize: vertical;
}
#drupal-off-canvas select[multiple] {
  overflow: auto;
}
#drupal-off-canvas optgroup {
  color: black;
  font-weight: normal;
  font-style: normal;
}
#drupal-off-canvas optgroup::-moz-focus-inner {
  padding: 0;
  border: 0;
}
#drupal-off-canvas * button {
  overflow: visible;
  width: auto;
  padding: 0;
  vertical-align: middle;
  text-decoration: none;
  color: black;
  border: 1px solid gray;
  background: none;
}
#drupal-off-canvas * textarea,
#drupal-off-canvas * select,
#drupal-off-canvas *:not(div) textarea,
#drupal-off-canvas *:not(div) select {
  padding: 0;
  vertical-align: top;
  color: black;
  border: 1px solid gray;
  background: white;
}
