:host {
  display: block;
  --hb-container-padding: 20px;
}

.hb-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  box-sizing: border-box;
  width: 100%;
}

.hb-container--vertical {
  flex-direction: column;
  flex-wrap: nowrap;
}

/* Header */
::slotted(hb-header) {
  padding: var(--hb-container-padding);
}

/* Aside */
::slotted(hb-aside) {
  padding: var(--hb-container-padding);
}

/* Main */
::slotted(hb-main) {
  padding: var(--hb-container-padding);
  flex: 1;
  overflow: auto;
  box-sizing: border-box;
}

/* Footer */
::slotted(hb-footer) {
  padding: var(--hb-container-padding);
}

