/**** Screenplay ****/

.screenplay {
    margin: 0;
    padding: 0;
    list-style: none;
	text-align: left;
}

.screenplay li {
	margin-bottom: 1em;
	/* border: 1px solid; */
}

.screenplay li.dialog {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
}

.screenplay li.narration {
	padding: 1em 0;
	border-bottom: 5px solid;
	border-top: 5px solid;
	text-align: center;
}

.screenplay li:last-child {
	border-bottom: 0;
}

.screenplay li.narration:last-child {
	border-bottom: 5px solid;
}

.screenplay ul
{
	list-style: none;
	padding-left: 0;
}

.screenplay li li {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

/**** Screenplay - Speaker ****/

.speaker {
    float: left;
    clear: left;
	flex: 0 0 150px;
	order: 1;
	/* border: 1px solid blue; */
	font-weight: bold;
}

.speaker .name {
	text-align: left;
	font-weight: bold;
	font-size: 1em;
	margin-top: 0.5em;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	word-break:break-word;
	hyphens: auto;
}

.speaker .name:after{
  content: ':';
}

/**** Screenplay - Spoken ****/

.screenplay blockquote {
  margin: 0;
  padding: 0;
  flex: 10 10 150px;
  align-self: flex-end;
  order: 2;
  font-size: inherit;
  color: inherit;
  background-color: inherit;
  /* border: 1px solid red; */
}

.screenplay p
{
	margin-top: 0;
}

.screenplay p:last-child {
	margin-bottom: 0;
}

/**** Screenplay - Narration ****/

.screenplay .narration {
	font-style: italic;
}

.screenplay .narration blockquote {
	text-align: left;
}

.screenplay figure {
	flex: 0 1 300px;
	order: 3;
	align-self: center;
}

/***** Screenplay - Responsiveness *****/

@media all and (max-width: 1100px)
{
	.speaker {
		float: none;
		clear: both;
		width: 100%;
		text-align: center;
		padding-bottom: 0.5em;
		flex: 1 1 100%;
		order: 2;
		flex-basis: auto !important;
	}
	
	.speaker .name:after{
		content: '';
	}

	.screenplay blockquote {
		flex: 1 1 100%;
		align-self: auto;
		order: 3;
		text-align: center;
	}
	
	.screenplay li.dialog {
		border-bottom: 0;
		flex-flow: column wrap;
		justify-content: flex-start;
	}
	
	.screenplay figure {
		flex: 1 1 100%;
		order: 1;
		text-align: center;
	}
}
