.width-half {
  width: 50%;
}
.width-full {
  width: 100%;
}
.width-full-page {
  width: 100vw;
}
.height-half {
  height: 50%;
}
.height-full {
  height: 100%;
}
.height-full-page {
  height: 100vh;
}
.min-height-full-page {
  min-height: 100vh;
  height: auto;
}
.max-height-full {
  max-height: 100%;
}

.min-width-zero {
  min-width: 0;
}

.flexbox {
  display: flex;
}
.flexbox-column {
  flex-direction: column;
}
.flexbox-column-reverse {
  flex-direction: column-reverse;
}
.flexbox-row {
  flex-direction: row;
}
.flexbox-row-reverse {
  flex-direction: row-reverse;
}
.flexbox-basis-null {
  flex-basis: 0;
}
.flexbox-basis-full {
  flex-basis: 100%;
}
.flexbox-grow {
  flex-grow: 1;
  min-height: 1px; /* fixes some firefox scroll issues */
}
.flexbox-no-grow {
  flex-grow: 0;
}
.flexbox-shrink {
  flex-shrink: 1;
}
.flexbox-wrap {
  flex-wrap: wrap;
}
.flexbox-no-shrink {
  flex-shrink: 0;
}
.flexbox-align-center {
  align-items: center;
}
.flexbox-align-start {
  align-items: flex-start;
}
.flexbox-align-end {
  align-items: flex-end;
}
.flexbox-space-between {
  justify-content: space-between;
}
.flexbox-space-around {
  justify-content: space-around;
}
.flexbox-justify-center {
  justify-content: center;
}
.flexbox-justify-start {
  justify-content: flex-start;
}
.flexbox-justify-end {
  justify-content: flex-end;
}
.flexbox-centered {
  justify-content: center;
  align-items: center;
}

.overflow-hidden {
  overflow: hidden;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.overflow-x-scroll {
  overflow-x: scroll;
}
.overflow-y-scroll {
  overflow-y: scroll;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.scrollable {
  overflow: auto;
}
.scroll-y {
  overflow-y: auto;
}

.scroll-x {
  overflow-x: auto;
}

.scroll-touch {
  -webkit-overflow-scrolling: touch;
}

.inline {
  display: inline;
}
.inline-block {
  display: inline-block;
}
.block {
  display: block;
}
.hidden {
  visibility: hidden;
}
.display-none {
  display: none;
}

.position-relative {
  position: relative;
}
.position-absolute {
  position: absolute;
}
.position-fixed {
  position: fixed;
}
.position-coverer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.float-right {
  float: right;
}

.float-left {
  float: left;
}
