.collapsible {
	margin-bottom: 1em;
}

.collapsible h3 {
	margin: 0;
	padding: .5em;
	display: flex;
	font-weight: 700;
	justify-content: flex-start;
	width: 100%;
	position: relative;
	color: #56276a;
	background-color: #f3f3f3;
}

.collapsible h3.true {
	color: #fff;
	background-color: #56276a;
}

.collapsible h3 [aria-expanded] {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	text-align: left;
}

.collapsible button {
	padding: 0;
	color: inherit;
	background: transparent;
	border: none;
	font-weight: 700;
}

.collapsible h3.true [aria-expanded] {
	color: #fff;
	background-color: #56276a;
}

.collapsible h3 [aria-expanded]::before {
	content: '\002b';
	margin: .25em;
	width: 1em;
	height: 1em;
	line-height: 1;
	background-color: #ddd;
	border-radius: 50%;
	text-align: center;
	transition: all 0.1s ease-in-out;
}

.collapsible h3 [aria-expanded="true"]::before {
	content: '\002d';
	color: #56276a;
	background-color: #fff;
	transition: all 0.1s ease-in-out;
}

.collapsible h3 + [aria-hidden] {
	display: none;
  -webkit-animation: fadeIn ease-in 1;
          animation: fadeIn ease-in 1;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: .4s;
          animation-duration: .4s;
  -webkit-animation-delay: .1s;
          animation-delay: .1s;
}

.collapsible h3 + [aria-hidden="false"] {
	display: block;
    -webkit-animation: fadeIn 1s ease;
            animation: fadeIn 1s ease;
}

.collapsible .details {
	padding: 0 1em 1em;
	background-color: #f3f3f3;
	overflow: hidden;
}

.collapsible .details > * {
	margin-top: 0;
	padding-top: 1em;
}