body
{
  font-family: cantarell, sans-serif;
}
.synopsis, .classsynopsis
{
  /* tango:aluminium 1/2 */
  background: #eeeeec;
  background: rgba(238, 238, 236, 0.5);
  border: solid 1px rgb(238, 238, 236);
  padding: 0.5em;
}
.programlisting
{
  /* tango:sky blue 0/1 */
  /* fallback for no rgba support */
  background: #e6f3ff;
  border: solid 1px #729fcf;
  background: rgba(114, 159, 207, 0.1);
  border: solid 1px rgba(114, 159, 207, 0.2);
  padding: 0.5em;
}
.variablelist
{
  padding: 4px;
  margin-left: 3em;
}
.variablelist td:first-child
{
  vertical-align: top;
}

div.gallery-float
{
  float: left;
  padding: 10px;
}
div.gallery-float img
{
  border-style: none;
}
div.gallery-spacer
{
  clear: both;
}

a, a:visited
{
  text-decoration: none;
  /* tango:sky blue 2 */
  color: #3465a4;
}
a:hover
{
  text-decoration: underline;
  /* tango:sky blue 1 */
  color: #729fcf;
}

div.informaltable table
{
  border-collapse: separate;
  border-spacing: 1em 0.5em;
  border: none;
}

div.informaltable table td, div.informaltable table th
{
  vertical-align: top;
}

.function_type,
.variable_type,
.property_type,
.signal_type,
.parameter_name,
.struct_member_name,
.union_member_name,
.define_keyword,
.datatype_keyword,
.typedef_keyword
{
  text-align: right;
}

/* dim non-primary columns */
.c_punctuation,
.function_type,
.variable_type,
.property_type,
.signal_type,
.define_keyword,
.datatype_keyword,
.typedef_keyword,
.property_flags,
.signal_flags,
.parameter_annotations,
.enum_member_annotations,
.struct_member_annotations,
.union_member_annotations
{
  color: #888a85;
}

.function_type a,
.function_type a:visited,
.function_type a:hover,
.property_type a,
.property_type a:visited,
.property_type a:hover,
.signal_type a,
.signal_type a:visited,
.signal_type a:hover,
.signal_flags a,
.signal_flags a:visited,
.signal_flags a:hover
{
 color: #729fcf;
}

td p
{
  margin: 0.25em;
}

div.table table
{
  border-collapse: collapse;
  border-spacing: 0px;
  /* tango:aluminium 3 */
  border: solid 1px #babdb6;
}

div.table table td, div.table table th
{
  /* tango:aluminium 3 */
  border: solid 1px #babdb6;
  padding: 3px;
  vertical-align: top;
}

div.table table th
{
  /* tango:aluminium 2 */
  background-color: #d3d7cf;
}

h4
{
  color: #555753;
}

hr
{
  /* tango:aluminium 1 */
  color: #d3d7cf;
  background: #d3d7cf;
  border: none 0px;
  height: 1px;
  clear: both;
  margin: 2.0em 0em 2.0em 0em;
}

dl.toc dt
{
  padding-bottom: 0.25em;
}

dl.toc > dd > dl > dt
{
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}

dl.toc > dt
{
  padding-top: 1em;
  padding-bottom: 0.5em;
  font-weight: bold;
}

.parameter
{
  font-style: normal;
}

.footer
{
  padding-top: 3.5em;
  /* tango:aluminium 3 */
  color: #babdb6;
  text-align: center;
  font-size: 80%;
}

.informalfigure,
.figure
{
  margin: 1em;
}

.informalexample,
.example
{
  margin-top: 1em;
  margin-bottom: 1em;
}

.warning
{
  /* tango:orange 0/1 */
  background: #ffeed9;
  background: rgba(252, 175, 62, 0.1);
  border-color: #ffb04f;
  border-color: rgba(252, 175, 62, 0.2);
}
.note
{
  /* tango:chameleon 0/0.5 */
  background: #d8ffb2;
  background: rgba(138, 226, 52, 0.1);
  border-color: #abf562;
  border-color: rgba(138, 226, 52, 0.2);
}
div.blockquote
{
  border-color: #eeeeec;
}
.note, .warning, div.blockquote
{
  padding: 0.5em;
  border-width: 1px;
  border-style: solid;
  margin: 2em;
}
.note p, .warning p
{
  margin: 0;
}

div.warning h3.title,
div.note h3.title
{
  display: none;
}

p + div.section
{
  margin-top: 1em;
}

div.refnamediv,
div.refsynopsisdiv,
div.refsect1,
div.refsect2,
div.toc,
div.section
{
  margin-bottom: 1em;
}

/* blob links */
h2 .extralinks, h3 .extralinks
{
  float: right;
  /* tango:aluminium 3 */
  color: #babdb6;
  font-size: 80%;
  font-weight: normal;
}

.lineart
{
  color: #d3d7cf;
  font-weight: normal;
}

.annotation
{
  /* tango:aluminium 5 */
  color: #555753;
  font-weight: normal;
}

.structfield
{
  font-style: normal;
  font-weight: normal;
}

acronym,abbr 
{
  border-bottom: 1px dotted gray;
}

/* code listings */

.listing_code .programlisting .normal,
.listing_code .programlisting .normal a,
.listing_code .programlisting .number,
.listing_code .programlisting .cbracket,
.listing_code .programlisting .symbol     { color: #555753; }
.listing_code .programlisting .comment,
.listing_code .programlisting .linenum    { color: #babdb6; } /* tango: aluminium 3 */
.listing_code .programlisting .function,
.listing_code .programlisting .function a,
.listing_code .programlisting .preproc    { color: #204a87; } /* tango: sky blue 3  */
.listing_code .programlisting .string     { color: #ad7fa8; } /* tango: plum */
.listing_code .programlisting .keyword,
.listing_code .programlisting .usertype,
.listing_code .programlisting .type,
.listing_code .programlisting .type a     { color: #4e9a06; } /* tango: chameleon 3  */

.listing_frame {
  /* tango:sky blue 1 */
  border: solid 1px #729fcf;
  border: solid 1px rgba(114, 159, 207, 0.2);
  padding: 0px;
}

.listing_lines, .listing_code {
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 0.5em;
}
.listing_lines {
  /* tango:sky blue 0.5 */
  background: #a6c5e3;
  background: rgba(114, 159, 207, 0.2);
  /* tango:aluminium 6 */
  color: #2e3436;
}
.listing_code {
  /* tango:sky blue 0 */
  background: #e6f3ff;
  background: rgba(114, 159, 207, 0.1);
}
.listing_code .programlisting {
  /* override from previous */
  border: none 0px;
  padding: 0px;
  background: none;
}
.listing_lines pre, .listing_code pre {
  margin: 0px;
}

@media screen {
  sup a.footnote
  {
    position: relative;
    top: 0em ! important;
  }
  /* this is needed so that the local anchors are displayed below the naviagtion */
  div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
  {
    display: inline-block;
    position: relative;
    top:-5em;
  }
  /* this seems to be a bug in the xsl style sheets when generating indexes */
  div.index div.index
  {
    top: 0em;
  }
  /* make space for the fixed navigation bar and add space at the bottom so that
   * link targets appear somewhat close to top
   */
  body
  {
    padding-top: 2.5em;
    padding-bottom: 500px;
    max-width: 60em;
  }
  p
  {
    max-width: 60em;
  }
  /* style and size the navigation bar */
  table.navigation#top
  {
    position: fixed;
    background: #e2e2e2;
    border-bottom: solid 1px #babdb6;
    border-spacing: 5px;
    margin-top: 0;
    margin-bottom: 0;
    top: 0;
    left: 0;
    z-index: 10;
  }
  table.navigation#top td
  {
    padding-left: 6px;
    padding-right: 6px;
  }
  .navigation a, .navigation a:visited
  {
    /* tango:sky blue 3 */
    color: #204a87;
  }
  .navigation a:hover
  {
    /* tango:sky blue 2 */
    color: #3465a4;
  }
  td.shortcuts
  {
    /* tango:sky blue 2 */
    color: #3465a4;
    font-size: 80%;
    white-space: nowrap;
  }
  td.shortcuts .dim
  {
    color: #babdb6;
  }
  .navigation .title
  {
    font-size: 80%;
    max-width: none;
    margin: 0px;
    font-weight: normal;
  }
}
@media screen and (min-width: 60em) {
  /* screen larger than 60em */
  body { margin: auto; }
}
@media screen and (max-width: 60em) {
  /* screen less than 60em */
  #nav_hierarchy { display: none; }
  #nav_interfaces { display: none; }
  #nav_prerequisites { display: none; }
  #nav_derived_interfaces { display: none; }
  #nav_implementations { display: none; }
  #nav_child_properties { display: none; }
  #nav_style_properties { display: none; }
  #nav_index { display: none; }
  #nav_glossary { display: none; }
  .gallery_image { display: none; }
  .property_flags { display: none; }
  .signal_flags { display: none; }
  .parameter_annotations { display: none; }
  .enum_member_annotations { display: none; }
  .struct_member_annotations { display: none; }
  .union_member_annotations { display: none; }
  /* now that a column is hidden, optimize space */
  col.parameters_name { width: auto; }
  col.parameters_description { width: auto; }
  col.struct_members_name { width: auto; }
  col.struct_members_description { width: auto; }
  col.enum_members_name { width: auto; }
  col.enum_members_description { width: auto; }
  col.union_members_name { width: auto; }
  col.union_members_description { width: auto; }
  .listing_lines { display: none; }
}
@media print {
  table.navigation {
    visibility: collapse;
    display: none;
  }
  div.titlepage table.navigation {
    visibility: visible;
    display: table;
    background: #e2e2e2;
    border: solid 1px #babdb6;
    margin-top: 0;
    margin-bottom: 0;
    top: 0;
    left: 0;
    height: 3em;
  }
}

