/* Style applied to the BocDateTimeValue. */

span.bocDateTimeValue,
span.bocDateValue
{
  width: 15em;
  height: 1.7em;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  white-space: nowrap;
}

span.bocDateTimeValue
{
  min-width: 14em;
}

span.bocDateValue
{
  min-width: 8em;
}

span.bocDateTimeValue.readOnly,
span.bocDateValue.readOnly
{
  height: inherit;
  /* Ensures that the outline is visible in Firefox. */
  overflow: visible;
}

span.bocDateTimeValue.disabled,
span.bocDateValue.disabled
{
}

span.bocDateInputWrapper
{
  position: absolute;
  left: 0;
  min-width: 4em;
  width: auto;
}

span.bocTimeInputWrapper
{
  position: absolute;
  right: 0;
}

span.bocDateTimeValue span.bocDate24HoursWithSeconds,
span.bocDateTimeValue span.bocDate12HoursWithSeconds
{
  right: 9.0em;
}

span.bocDateTimeValue span.bocDate24Hours,
span.bocDateTimeValue span.bocDate12Hours
{
  right: 7.4em;
}

span.bocDateValue span.bocDate24Hours,
span.bocDateValue span.bocDate12Hours
{
  right: 2.2em;
}

span.bocDateInputWrapper input
{
  width: 100%;
}

span.bocTime24HoursWithSeconds input,
span.bocTime12HoursWithSeconds input
{
  width: 6em;
}

span.bocTime24Hours input,
span.bocTime12Hours input
{
  width: 4.5em;
}

span.bocDateTimeValue.readOnly span[tabindex],
span.bocDateValue.readOnly span[tabindex]
{
  /* Ensures that diacritic marks can be rendered without being cut off. 
     Using line-height instead of padding works better with BocDateTimeValue. When using padding, the text is not aligned with the label. */
  line-height: 1.5em;
  /* Ensures that the outline is rendered outside of the space reserved for diacritic marks. */
  display: inline-block;
}

span.bocDateTimeValue.readOnly span[tabindex]:first-child,
span.bocDateValue.readOnly span[tabindex]:first-child
{
  /* Ensures that diacritic marks can be rendered without being cut off. */
  /*padding-top: 0.2em;*/
}

span.bocDateTimeValue.readOnly span[tabindex]:last-child,
span.bocDateValue.readOnly span[tabindex]:last-child
{
  /* Ensures that diacritic marks can be rendered without being cut off. */
  /*padding-bottom: 0.2em;*/
}

span.bocDateTimeValue.readOnly span[tabindex]:empty,
span.bocDateValue.readOnly span[tabindex]:empty
{
  /* Ensures that empty readonly values are not collapsed and can therefor visualize the keyboard focus */
  min-height: 1.5em;
  vertical-align: -0.2em;
}

span.bocDateTimeValue.readOnly span[tabindex]:empty
{
  /* Ensures that empty readonly values are not collapsed and can therefor visualize the keyboard focus */
  width: calc(50% - 2px);
}

span.bocDateValue.readOnly span[tabindex]:empty
{
  /* Ensures that empty readonly values are not collapsed and can therefor visualize the keyboard focus */
  width: 100%;
}

a.bocPicker24HoursWithSeconds,
a.bocPicker12HoursWithSeconds,
a.bocPicker24Hours,
a.bocPicker12Hours
{
  position: absolute;
  top: 0.2em;
}

span.bocDateTimeValue a.bocPicker24HoursWithSeconds,
span.bocDateTimeValue a.bocPicker12HoursWithSeconds
{
  right: 6.7em;
}

span.bocDateTimeValue a.bocPicker24Hours,
span.bocDateTimeValue a.bocPicker12Hours
{
  right: 5.2em;
}

span.bocDateValue a.bocPicker24Hours,
span.bocDateValue a.bocPicker12Hours
{
  right: 0;
}

span.bocDateTimeValue a img,
span.bocDateValue a img
{
  border: 0;
  text-decoration: none;
}

span.bocDateTimeValue.disabled a,
span.bocDateValue.disabled a
{
  cursor: default;
}

span.bocDateTimeValue.disabled a img,
span.bocDateValue.disabled a img
{
  opacity: 0.4;
  filter: progid:DXImageTransform.Microsoft.BasicImage(opacity=0.40), 
          progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
}

span.bocDateInputWrapper input,
span.bocTimeInputWrapper input
{
  height: 1.2em;
  line-height: 1em;
}
