/*!
 * 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;
  }
}
