ast
{ 
  margin: 5mm;
}

declarations:before
{ 
  display: block;
  content: "Declarations";
  font-size: large;
}

declarations
{ 
  display: block;
}

instance > declarations
{ 
  display: block;
  padding-left: 10mm;
}

declarations > *:before,
declarations > item *:before
{ 
  content: attr(type)" "attr(name);
  font-weight: bold;
}
declarations > item:before {  content:"";} /* empty */

types:before
{ 
  display: block;
  content: "Types";
  font-size: large;
}

types
{ 
  display: block;
}

types > instance:before
{ 
  content: attr(name);
  font-weight: bold;
}

types > instance
{ 
  display: block;
  padding-left: 10mm;
}

files:before
{ 
  display: block;
  content: "Files";
  font-size: large;
}

files > file
{ 
  display: block;
  margin: 1mm;
}

comments summary
{ 
  visibility: hidden;
  display: none;
}

comments text
{ 
  visibility: visible;
  display: block;
  background: #dddddd;
  border: thin solid;
  margin: 5mm;
  padding: 1mm;
}