.accordion,
.accordion-head,
.accordion-content,
.accordion-content-wrapper
{
	position: relative;
	display: block;
	overflow: hidden;
}

.accordion
{
	margin-bottom: 1.5em;
}
.accordion + .accordion
{
	margin-top: -1.5em;
}

.accordion-head > :last-child,
.accordion-content > :last-child,
.accordion-content-wrapper > :last-child
{
	margin-bottom: 0;
}

.accordion-head,
.accordion-content-wrapper
{
	padding: 1em;
}

.accordion-head
{
	background: #EEEEEE;
	cursor: pointer;
	user-select: none;
}
.accordion-head:focus
{
	outline-offset: -2px;
}
.accordion-head:after
{
	position: absolute;
	right: 1em;
	top: 1em;
	font-weight: bold;
	line-height: .5em;
	color: #555555;
	content: '+';
	transition: transform .3s ease-in-out;
}
.accordion.opened > .accordion-head:after
{
	transform: rotate(-45deg);
}

.accordion.inited > .accordion-content
{
	display: block;
	overflow: hidden;
	visibility: hidden;
	max-height: 0;
	transition: max-height .3s ease, visibility 0s linear .3s;
}
.accordion.inited.opened > .accordion-content
{
	visibility: visible;
	max-height: none;
	transition: max-height .3s ease;
}

.pageroot .accordion-head:before,
.pageroot .accordion-content-wrapper:before
{
	font-size: .75rem;
	color: #999999;
}
.pageroot .accordion-head:before { content: 'Accordion-Header'; }
.pageroot .accordion-content-wrapper:before { content: 'Accordion-Content'; }