ol.nice, ol.nice ol{
  padding: 0;
  margin: 0;
  list-style-position: inside;
}

ol.nice{
  counter-reset: ordem; 
}

ol.nice li{
  padding-left: 60px;
  text-align: justify;
}

ol.nice > li {
  list-style-type: none; 

}
ol.nice > li:before{ 
  position: absolute;
  margin-left: -60px;
  counter-increment: ordem; 
  content: counter(ordem); 
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  *display: inline;
}
ol.nice > li > ol, ol.nice > ol { 
  counter-reset: foo; 
  padding-left: 0; 
  margin: 0;
}
ol.nice > li > ol > li, ol.nice > ol > li{ 
  list-style-type: none; 
  
}
ol.nice > li > ol li:before, ol.nice > ol > li:before{ 
  position: absolute;
  margin-left: -60px;
  counter-increment: foo; 
  content: counter(ordem) "." counter(foo) "   ";
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  *display: inline;
}

ol.nice > li > ol > li > ol, ol.nice > ol >  ol { 
  counter-reset: foo2; 
  padding-left: 0; 
  margin: 0;
}
ol.nice > li > ol > li > ol li,ol.nice > ol > ol li { 
  list-style-type: none; 
}
ol.nice > li > ol > li > ol li:before, ol.nice > ol > ol li:before {  
  position: absolute;
  margin-left: -60px;
  counter-increment: foo2; 
  content: '' counter(ordem) "." counter(foo) "." counter(foo2) " "; 
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: top;
  zoom: 1;
  *display: inline;
}

#header{
  border: 1px red solid;
}
#header:before{
  position: absolute;
  color: red;
  content: 'Hlavička';
}