#purchase {
	display: block; position: relative; box-sizing: border-box;
	text-align: right;
}

#parts .elements {
	display: block; position: relative;
}
#parts .element {
	display: block; position: relative;
	margin-top: 1em; padding: 1em 0 0 2.5em;
	border-top: 1px solid #ccc;
}
#parts .element .buy {
	display: block; position: relative; box-sizing: border-box; float: right;
}
#parts .element .expand {
	display: block; position: absolute; box-sizing: border-box; z-index: 1;
	left: 0; top: 1em; width: 2em; height: 2em; padding: 0.25em;
	color: #555;
	cursor: pointer;
}
#parts .element .expand .icon {
	display: block;
	width: 1.5em; height: 1.5em;
	background: url(http://cdn.ans.org/library/i/expand.svg) 0 0; background-size: auto 100%;
}
#parts .element.open>.expand .icon {
	background-position: 1.5em 0;
}
#parts .element .expanded {
	display: none; position: relative;
}
#parts .element .expanded.open {
	display: block;
}
/*
#parts .element.open .expanded {
	display: block;
}
*/
#parts .element .title {
	display: block; position: relative;
	min-height: 1em; padding: 0.5em 0;
	font-weight: 500;
	cursor: pointer;
}
#parts .element.sell .title {
	margin-right: 11em;
}
#parts .element .files .link {
	display: inline-block;
	margin-left: 1em;
}
#parts .element .files .link:first-child {
	margin-left: 0;
}

#player {
	margin-top: 1em;
}

#player #video video {
	display: block;
	width: 100%; height: auto;
}
