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

  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

[v-cloak] {
  display: none !important;
}

html,
body {
  width: 100%;
  /*height: 100%;*/
}

html {
  height: 100vh;
}
body {
  font-size: 3.2vw;
  line-height: 1;
  background-color: white;
}

#app {
  width: 100vw;
  min-height: 100vh;
  position: relative;
  padding-top: 0.1px;
  display: flex;
  flex-direction: column;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  vertical-align: top;
}

.block {
  display: block;
}

.none {
  display: none;
}

.flex {
  display: flex;
}

.hidden {
  visibility: hidden;
}

.visible {
  visibility: visible;
}

.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ellipsis-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  word-wrap: break-word;
}
