.block {
  display: block;   /* to remove inline */
}

.flex {
  display: flex;   /* to remove inline */
}

.center {
  margin-left: auto;
  margin-right: auto;
}

body {
  box-sizing: border-box;
}

hbox, .hbox {
  display: inline-flex;
  flex-direction: row;
  justify-content: flex-start;
  white-space:nowrap;
  box-sizing: border-box;
}

hbox.wrap {
  white-space: normal;
}

hbox.qc {
  justify-content: center;
}

hbox.qr {
  justify-content: flex-end;
}

hbox.qj {
  justify-content: space-between;
  width:100%;
}

hbox.align-center {
  align-items: center;
}

hbox.to-hsize {
  width:100%;
}


.space-equally {
  flex-justify: space-evenly;
}

.space-around {
  flex-justify: space-around;
}


.to-hsize {
  width:100%;
}

vbox, .vbox {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  max-width:100%;
}

vbox.qc {
  align-items: center;
}

vbox.ql {
  align-items: flex-start;
}

vbox.qr {
  align-items: flex-end;
}

vbox.qj {
  align-items: stretch;
}

vtop, .vtop {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
}

vbot, .vbot {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
}

.vcenter {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


vbox.wrap {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
}


hrule {
  display: block;
  border-top: 1px solid black;
  width:100%;
  height:1px;
  margin: 0.5em 0;
}
