diff --git a/openlp/core/common/settings.py b/openlp/core/common/settings.py
index 7bbd4349d..d4e114c74 100644
--- a/openlp/core/common/settings.py
+++ b/openlp/core/common/settings.py
@@ -129,7 +129,7 @@ class Settings(QtCore.QSettings):
'advanced/recent file count': 4,
'advanced/save current plugin': False,
'advanced/slide limits': SlideLimits.End,
- 'advanced/slide max height': 0,
+ 'advanced/slide max height': -4,
'advanced/single click preview': False,
'advanced/single click service preview': False,
'advanced/x11 bypass wm': X11_BYPASS_DEFAULT,
diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py
index f0d8ddef2..6f2fee68c 100644
--- a/openlp/core/lib/htmlbuilder.py
+++ b/openlp/core/lib/htmlbuilder.py
@@ -390,163 +390,207 @@ is the function which has to be called from outside. The generated and returned
import logging
from PyQt5 import QtWebKit
+from string import Template
from openlp.core.common import Settings
from openlp.core.lib.theme import BackgroundType, BackgroundGradientType, VerticalType, HorizontalType
log = logging.getLogger(__name__)
-# TODO: Verify where this is used before converting to python3
-HTMLSRC = """
-
-
-
-OpenLP Display
-
+
+
+
+
+
+ ${html_additions}
+
+
+
+
+
+ """)
+
+LYRICS_SRC = Template("""
+ .lyricstable {
+ z-index: 5;
+ position: absolute;
+ display: table;
+ ${stable}
+ }
+ .lyricscell {
+ display: table-cell;
+ word-wrap: break-word;
+ -webkit-transition: opacity 0.4s ease;
+ ${lyrics}
+ }
+ .lyricsmain {
+ ${main}
+ }
+ """)
+
+FOOTER_SRC = Template("""
+ left: ${left}px;
+ bottom: ${bottom}px;
+ width: ${width}px;
+ font-family: ${family};
+ font-size: ${size}pt;
+ color: ${color};
+ text-align: left;
+ white-space: ${space};
+ """)
+
+LYRICS_FORMAT_SRC = Template("""
+ ${justify}word-wrap: break-word;
+ text-align: ${align};
+ vertical-align: ${valign};
+ font-family: ${font};
+ font-size: ${size}pt;
+ color: ${color};
+ line-height: ${line}%;
margin: 0;
padding: 0;
- border: 0;
- overflow: hidden;
- -webkit-user-select: none;
-}
-body {
- %s;
-}
-.size {
- position: absolute;
- left: 0px;
- top: 0px;
- width: 100%%;
- height: 100%%;
-}
-#black {
- z-index: 8;
- background-color: black;
- display: none;
-}
-#bgimage {
- z-index: 1;
-}
-#image {
- z-index: 2;
-}
-%s
-#footer {
- position: absolute;
- z-index: 6;
- %s
-}
-/* lyric css */
-%s
-sup {
- font-size: 0.6em;
- vertical-align: top;
- position: relative;
- top: -0.3em;
-}
-
-
-
-
-
-
-%s
-
-
-
-
-