.ws-poem {
	display: table;
	margin: 0 auto; /* centre in page */
	max-width:100%; /* if someone sets an explicit width, don't let it overflow the page */
}


.ws-poem-fn{
 margin-left:0;
 vertical-align:top;
}

.ws-poem-stanza {
	/* Avoid breaking stanzas over pages if we can */
	page-break-inside: avoid;
	break-inside: avoid;
}

.ws-poem-stanza.ws-poem-left {
	display: table;
	margin-right: auto;
}

.ws-poem-stanza.ws-poem-right {
	display: table;
	margin-left: auto;
}

.ws-poem-stanza.ws-poem-center {
	display: table;
	margin: 0 auto;
}

.ws-poem-line {
	display: block;
	position:relative;
}

.ws-poem-hi .ws-poem-line {
	text-indent: -4em;
	margin-left: 4em;
}

/* take line breaks out of the flow - they copy-paste but don't do anything */
.ws-poem-break {
	position: absolute;
}

.ws-poem-line.ws-poem-right {
	text-align: right;
}

.ws-poem-hi .ws-poem-line.ws-poem-right {
	text-indent: 0;
}

.ws-poem-line.ws-poem-center {
	text-align: center;
}

.ws-poem-hi .ws-poem-line.ws-poem-center {
	text-indent: 0;
	margin-left: 0;
}

.ws-poem-linenum {
	float:right;
	text-indent: 0;
}

/* the default padding for the right gutter (to fit the line numbers) */
.ws-poem-right-gutter .ws-poem-line {
	padding-right: 2em;
}

.ws-poem-versenum {
	float: left;
	text-indent: 0;
}

/* the default padding for the left gutter (to fit the verse numbers) */
.ws-poem-left-gutter .ws-poem-line {
	padding-left: 2em;
}

/* Inter-stanza spaces */
.ws-poem-stanza:not(:last-child) {
	margin-bottom: 1em;
}

/* indent padding spans */
.ws-poem-indent {
	display: inline-block;
	text-indent: 0;
	/* width set inline on each one */
	
	/* allow the user to set a bigger font-size to adjust the size of a single ":"
	   but don't let the indent inflate the overall line height */
	line-height: 0;
	overflow: hidden;
}

/* ============================================================================
 * Adjustment of other templates within ppoems
 * This is naughty, but at least it keeps the hacks in one place
 */
 
.ws-poem .wst-fqm {
	position: absolute;
}


 .ws-poem-hi .dropinitial {
	margin-left: -4em;
}
 
/* force drop initials to "shunt" hanging-indent content rightwards */
/* this has to be done on the MIDDLE span, because the font size of the inner
 * dropinitial-initial span is independent to the indentation of the outer environment */
.ws-poem-hi .dropinitial-mid {
	margin-right: 4em;
}

.ws-poem .pagenum {
	float: left; /* float out of the space between the span blocks, or it makes a gap without the pagenumbers gadget */
}


/* ============================================================================
 * Pre-defined formatting classes
 * For use with the {class} syntax (line or stanza)
 */
.ws-poem-blackletter, .ws-poem-fractur {
	font-family: UnifrakturMaguntia, UnifrakturCook, Unifraktur, serif;
	font-size: 113%;
	font-feature-settings: 'cv01', 'cv02', 'cv03', 'cv04', 'cv05', 'cv06', 'cv07', 'cv08', 'cv09', 'cv10';
}

.ws-poem-cursive, .ws-poem-handwriting {
	font-family: Petit Formal Script, cursive;
}

.ws-poem-italic, .ws-poem.italic {
	font-style: italic;
}

.ws-poem-bold, .ws-poem.bold {
	font-weight: bold;
}

.ws-poem-smallcaps, .ws-poem-sc, .ws-poem.smallcaps, .ws-poem.sc {
	font-variant: small-caps;
}

/* The text size classes, from xxs to xxxxl. */
.ws-poem-xxsmaller, .ws-poem-xxs {
	font-size: 58%;
}

.ws-poem-x-smaller, .ws-poem-xs {
	font-size: 69%;
}

.ws-poem-smaller, .ws-poem-sm {
	font-size: 83%;
}

.ws-poem-fine {
	font-size: 92%;
}

.ws-poem-larger, .ws-poem-lg {
	font-size: 120%;
}

.ws-poem-x-larger, .ws-poem-xl {
	font-size: 144%;
}

.ws-poem-xx-larger, .ws-poem-xxl {
	font-size: 182%;
}

.ws-poem-xxx-larger, .ws-poem-xxxl {
	font-size: 207%;
}

.ws-poem-xxxx-larger, .ws-poem-xxxxl {
	font-size: 249%;
}

.ws-poem-center, .ws-poem-c {
	text-align: center;
}