@@ -676,13 +676,15 @@ blockToHtml opts (Div (ident, "section":dclasses, dkvs)
676676 let attr = (ident, classes', dkvs)
677677 if titleSlide
678678 then do
679− t <- addAttrs opts attr $ secttag $ header' <> titleContents
679+ t <- addAttrs opts attr $
680+ secttag $ nl opts <> header' <> nl opts <> titleContents <> nl opts
680681 return $
681− (if slideVariant == RevealJsSlides && not (null innerSecs)
682− -- revealjs doesn't like more than one level of section nesting:
683− {- REMOVED && isNothing mbparentlevel -}
684− then H5.section
685− else id) $ nl opts <> t <> nl opts <>
682+ -- ensure 2D nesting for revealjs, but only for one level;
683+ -- revealjs doesn't like more than one level of nseting
684+ (if slideVariant == RevealJsSlides && not (null innerSecs) &&
685+ level == slideLevel - 1
686+ then \z -> H5.section (nl opts <> z)
687+ else id) $ t <> nl opts <>
686688 if null innerSecs
687689 then mempty
688690 else innerContents <> nl opts