*, ::after, ::before {
  box-sizing: border-box;
}

input:not([type=checkbox]):not([type=radio]),
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

body, button, input, select, optgroup, textarea {
  font-synthesis: none;
  font-family: inherit;
  -moz-font-feature-settings: "kern";
  direction: ltr;
  text-align: left;
}

[type=file]::-webkit-file-upload-button {
  cursor: pointer;
}

input::-ms-clear {
  display: none;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-results-button,
[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

[type=date]::-webkit-inner-spin-button,
[type=date]::-webkit-calendar-picker-indicator,
[type=date]::-webkit-clear-button {
  display: none;
  -webkit-appearance: none;
}

:invalid {
  -webkit-box-shadow: none;
  box-shadow: none;
}

:-moz-submit-invalid {
  box-shadow: none;
}

:-moz-ui-invalid {
  box-shadow: none;
}

:required:invalid {
  outline: none;
}

*:focus {
  outline: none !important;
}

[type=file], tr[data-href] {
  cursor: pointer;
}

a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.custom-file-control:lang(ru):after {
  content: attr(data-content-value);
  display: inline-block;
  max-width: calc(100% - 110px);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

iframe {
  border: none;
}

caption {
  caption-side: top;
  font-weight: 600;
}

button:not(:disabled):not(.disabled), [type=button]:not(:disabled):not(.disabled), [role=button]:not(:disabled):not(.disabled), [type=submit]:not(:disabled):not(.disabled), [type=reset]:not(:disabled):not(.disabled) {
  cursor: pointer;
}

button {
  color: inherit;
}
button > * {
  position: relative;
}

img {
  max-width: 100%;
  height: auto;
}

a, button {
  -webkit-tap-highlight-color: transparent;
}

a:focus,
a:hover {
  text-decoration: none;
}

label {
  cursor: pointer;
}

.svg-icon {
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
}

.btn-reset {
  margin: 0;
  border: 0;
  padding: 0;
  color: inherit;
  white-space: normal;
  background: none;
  line-height: inherit;
  box-shadow: none;
}