.center-abs {
  top: 0;
  margin-bottom: auto;

  bottom: 0;
  margin-top: auto;

  left: 0;
  margin-right: auto;

  right: 0;
  margin-left: auto;
}

.center-y-abs {
  top: 0;
  margin-bottom: auto;

  bottom: 0;
  margin-top: auto;
}

.center-x-abs {
  left: 0;
  margin-right: auto;

  right: 0;
  margin-left: auto;
}

.clearfix {
  content: "";
  display: table;
  clear: both;
}

.h-half {
  height: 50%;
}

.w-half {
  width: 50%;
}

.m-t-auto {
  margin-top: auto;
}

.w-fullscreen {
  width: 100vw;
}

.h-fullscreen {
  height: 100vh;
}

.w-halfscreen {
  width: 50vw;
}

.h-halfscreen {
  height: 50vh;
}

.h-fill-available {
  height: -webkit-fill-available;
}

.wh-inherit {
  height: inherit;
  width: inherit;
}

/**
 * https://stackoverflow.com/questions/11243075/css-scale-height-to-match-width-possibly-with-a-formfactor
 */
.scale-height-to-match-width__container {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
}

.scale-height-to-match-width__child {
  position: absolute;
  width: 100%;
  height: 100%;
}

.center-x-transform {
  left: 50%;
  transform: translateX(-50%);
}
