/* Box Sizing */
.box-border {
  box-sizing: border-box;
}

.box-content {
  box-sizing: content-box;
}

/* Display */
.inline-block {
  display: inline-block;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.hidden {
  display: none;
}

/* Overflow */
.overflow-hidden {
  overflow: hidden;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-y-scroll {
  overflow-y: scroll;
}

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

/* Overscroll Behavior */
.overscroll-y-contain {
  overscroll-behavior-y: contain;
}

/* Position */
.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

/* Top / Right / Bottom / Left */
.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

.left-0 {
  left: 0;
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.inset-x {
  right: 0;
  left: 0;
}

.inset-y-0 {
  top: 0;
  bottom: 0;
}

/* Visibility */
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}

/* Center */
.h-center {
  left: 50%;
  transform: translateX(-50%);
}

.v-center {
  top: 50%;
  transform: translateY(-50%);
}

.h-v-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.flex-layout-h {
  display: flex;
}
.flex-layout-v {
  display: flex;
  flex-direction: column;
}
.flex-item-center {
  align-items: center;
}
.flex-justify-space {
  justify-content: space-between;
}
.flex-justify-center {
  justify-content: center;
}
.text-layout-center {
  text-align: center;
}
