ol {list-style-type: decimal;}
html>body ol {list-style-type: none;}
html:root ol {list-style-type: decimal;}

ol {counter-reset: ol;}
ol ol {counter-reset: ol2;}
ol ol ol {counter-reset: ol3;}
ol ol ol ol {counter-reset: ol4;}
ol ol ol ol ol {counter-reset: ol5;}
ol ol ol ol ol ol {counter-reset: ol6;}
ol ol ol ol ol ol ol {counter-reset: ol7;}

ol li:before {
content: counter(ol) ". ";
counter-increment: ol;
}

ol ol li:before {
content: counter(ol) ". " counter(ol2) ". ";
counter-increment: ol2;
}

ol ol ol li:before {
content: counter(ol) ". " counter(ol2) ". " counter(ol3) ". ";
counter-increment: ol3;
}

ol ol ol ol li:before {
content: counter(ol) ". " counter(ol2) ". " counter(ol3) ". " counter(ol4) ". ";
counter-increment: ol4;
}
ol ol ol ol ol li:before {
content: counter(ol) ". " counter(ol2) ". " counter(ol3) ". " counter(ol4) ". " counter(ol5) ". ";
counter-increment: ol5;
}

ol ol ol ol ol ol li:before {
content: counter(ol) ". " counter(ol2) ". " counter(ol3) ". " counter(ol4) ". " counter(ol5) ". " counter(ol6) ". ";
counter-increment: ol6;
}

ol ol ol ol ol ol ol li:before {
content: counter(ol) ". " counter(ol2) ". " counter(ol3) ". "  counter(ol4) ". " counter(ol5) ". " counter(ol6) ". " counter(ol7) ". ";
counter-increment: ol7;
}

ul,
html>body ul ol {list-style-type: square !important;}
html[xmlns] ul ol {list-style-type: none !important;}
ul li:before,
ol ul ol li:before {content: "" !important;}

ol ul li {counter-reset: ol1 ol2 ol3 ol4 ol5 ol6 ol7;}