itcore-hoursblock {
  --hourspacing: 15px;
}
itcore-hoursblock:not(.layout-inline) {
  flex-direction:column;
}
itcore-hoursblock:not(.layout-list) itcore-hoursday {
  display:inline-flex;
  justify-content: space-between;
}
itcore-hoursblock:not(.separator-custom) itcore-hoursday {
  gap:var(--hourspacing);
}
itcore-hoursblock itcore-hoursday itcore-hourset {
  display:inline-flex;
  flex-direction:column;
}
itcore-hoursblock.textalign-days-left itcore-hoursday itcore-hours.label,
itcore-hoursblock.textalign-hours-left itcore-hoursday itcore-hourset itcore-hours {
  text-align:left;
}
itcore-hoursblock.textalign-days-center itcore-hoursday itcore-hours.label,
itcore-hoursblock.textalign-hours-center itcore-hoursday itcore-hourset itcore-hours {
  text-align:center;
}
itcore-hoursblock.textalign-days-right itcore-hoursday itcore-hours.label,
itcore-hoursblock.textalign-hours-right itcore-hoursday itcore-hourset itcore-hours  {
  text-align:right;
}

/* -- Table Layout Specifics */
itcore-hoursblock.layout-table {
  display:inline-table;
}
itcore-hoursblock.layout-table itcore-hoursday {
  display:table-row;
}
itcore-hoursblock.layout-table itcore-hoursday itcore-hours.label,
itcore-hoursblock.layout-table itcore-hoursday itcore-hourset {
  display:table-cell;
}
itcore-hoursblock.layout-table:not(.separator-custom) itcore-hoursday itcore-hours.label {
  padding-right:var(--hourspacing);
}
itcore-hoursblock.layout-table itcore-hoursday itcore-hourset > itcore-hours {
  display:block;
}

/* -- List Layout Specifics */
itcore-hoursblock.layout-list itcore-hoursday:after {
  content:'';
  display:block;
  clear:both;
  float:none;
}
itcore-hoursblock.layout-list itcore-hoursday itcore-hours.label {
  margin-right:calc( var(--hourspacing) / 3 );
}

/* -- Line Layout Specifics */
itcore-hoursblock.layout-inline {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0 var(--hourspacing);
}
itcore-hoursblock.layout-inline itcore-hoursday,
itcore-hoursblock.layout-inline.valign-center itcore-hoursday {
  vertical-align:middle;
  align-items:center;
}
itcore-hoursblock.layout-inline.valign-top,
itcore-hoursblock.layout-inline.valign-top itcore-hoursday {
  vertical-align:top;
  align-items:start;
}
itcore-hoursblock.layout-inline.valign-bottom,
itcore-hoursblock.layout-inline.valign-bottom itcore-hoursday {
  vertical-align:bottom;
  align-items:end;
}


/* Address Setup */
itcore-address {
  display:inline-block;
}