/*!
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

a {
  text-decoration: none;
}

table {
  //border-collapse: collapse;
  border-spacing: 0;
}

[hidden], .hidden {
  display: none !important;
}

::-moz-selection,
::selection {
  color: #fff;
  background: #3399ff;
}

:focus {
  outline: none;
}

::-moz-focus-inner {
  border: 0;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  // font: inherit;
  font-family: inherit;
}

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

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input {
  &::-ms-clear,
  &::-ms-reveal {
    display: none;
  }
}
