.main-content {
    padding: 10px 0 30px;
    counter-reset: section;
}

.main-content > section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: 0;
    width: 29em;
    min-height: 320px;
    background: #fff;
    border: 1px dashed grey;
    margin: 10px auto;
}

.main-content > section:after {
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    top: -1px;
    left: -1px;
    color: #fff;
    text-align: center;
    line-height: 30px;
    background: rgba(0,0,0,0.35);
    border-bottom-right-radius: 50%;
    counter-increment: section;
    content: ""counter(section)"";
}

.main-content > section > ul[class^="acc"]{
    font: 1.125em/1 Helvetica,sans-serif;
	width: 80%;
	margin: 15px 0;
}

ul[class^="acc"] > li > input[type="radio"]{
	display: none;
}

ul[class^="acc"] > li > label{
	display: block;
	text-transform: capitalize;
	padding: 10px 0;
	cursor: pointer;
}

ul[class^="acc"] > li > .content{
	font: 0.7em/1.2 Roboto,Verdana;
	height: 0;
	overflow: hidden;
	transition: all 350ms linear;
}

ul[class^="acc"] > li > .content p{
    padding: 10px;
}

ul[class^="acc"] > li > input[type="radio"]:checked ~ .content{
	height: 80px;
}

/* accordion 1 */

.acc1 label{
	position: relative;
	color: #fff;
	text-align: center;
	background: #111;
	border-bottom: 1px solid #fff;
}

.acc1 label:before{
	display: block;
	position: absolute;
	content:"\f067";
	font: 100%/1 fontAwesome;
	color: #ccc;
	width: 2em;
	height: 100%;
	top: 0;
	left: 0;
	padding: 10px;
	background: #a00;
}

.acc1 .content{
    background: #eee;
	box-shadow: 0 0 0 1px #ccc inset;
}

.acc1 > li:hover label, .acc1 input:checked ~ label{
	text-shadow: 0 0 2px #fff;
	background: #333;
}

.acc1 input:checked ~ label:before{
    content: "\f00d";
	color: #fff;
	text-shadow: none;
	background: #d00;
	transition: all 300ms linear;
}

/* accordion 2 */

.acc2{
	border: 1px solid #000;
}

.acc2 label{
	position: relative;
	color: rgba(255,255,255,0.8);
	background: linear-gradient(to right, tomato 2.1em, #333 0);
	padding-left: 3em !important;
	border-bottom: 1px solid #000;
	transition: all 300ms ease-in-out;
}

.acc2 label:hover{
	color: rgba(255,255,255,1);
	padding-left: 3.2em !important;

}

.acc2 .content p{
	opacity: 0.3;
	transform: scale(0.8);
	transition: all 700ms linear;
}

.acc2 input:checked ~ .content p{
	opacity: 1;
	transform: scale(1);
}

.acc2 li:last-child label,
.acc2 input:checked ~ label{
	border-bottom: none;
}

.acc2 label:before{
	display: block;
	position: absolute;
	content:"\f105";
	font: 1.4em/1 fontAwesome;
	top: 50%;
	left: 0.5em;
	transform: translateY(-50%);
	transition: all 300ms linear;
}

.acc2 .content{
	color: #fff;
	padding-left: 3em;
	background: linear-gradient(to right, tomato 3em, #D04235 0);	
}

.acc2 input:checked ~ label:before{
	color: #000;
    transform: translateY(-50%) rotate(90deg);
}

/* accordion 3 */

.acc3 label{
	position: relative;
	color: #fff;
	text-align: center;
	background: #000;
	border-bottom: 1px solid #fff;
}

.acc3 label:before, .acc3 label:after{
	display: block;
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: 0;

	border: 1.06em solid transparent;

}

.acc3 label:before{
	left: 0;	
}

.acc3 label:hover:before{
	border-left-color: crimson;
}

.acc3 label:after{
right: 0;
}

.acc3 .content{
	color: #fff;
	background: crimson;
}

.acc3 .content p{
	opacity: 0.3;
	transition: opacity 700ms ease-in-out;
}

.acc3 input:checked ~ .content p{
	opacity: 1;

}

.acc3 input:checked ~ label{
	letter-spacing: 2px;
	border-bottom-color: crimson;
}

.acc3 input:checked ~ label:before{
	border-left-color: crimson;
	border-bottom-color: crimson;
}

.acc3 input:checked ~ label:after{
	border-right-color: crimson;
	border-bottom-color: crimson;
}

/* accordion 4 */

.acc4{
	border: 3px solid #6699ff;
	border-left: none;
	border-right: none;
}

.acc4 label{
	position: relative;
	color: #6699ff;
	background: linear-gradient(to right, #fff 24px, #6699ff 24px, #6699ff 26px, #fff 0);
	padding-left: 50px !important;
	transition: all 300ms ease-in-out;
}

.acc4 label:hover{
	color: #000;
	padding-left: 60px !important;

}

.acc4 .content p{
	opacity: 0.3;
	transition: all 700ms linear;
}

.acc4 input:checked ~ .content p{
	opacity: 1;
}

.acc4 label:before{
	display: block;
	position: absolute;
	content:"\f055";
	font: 25px/1 fontAwesome;
	color: #6699ff;
	background: #fff;
	top: 50%;
	left: 25px;
	transform: translate(-50%,-50%);
	transition: all 300ms linear;
}

.acc4 .content{
	color: #333;
	padding-left: 40px;
    background: linear-gradient(to right, #fff 24px, #6699ff 24px, #6699ff 26px, #eee 0);	
}

.acc4 input:checked ~ label{
	color: #555;
}

.acc4 input:checked ~ label:before{
	content:"\f056";
}

/* accordion 5 */

.acc5 li{
margin-bottom: 10px;
position: relative;
z-index: 0;
}

.acc5 label{
	position: relative;
	text-align: center;
	background: #f2f2f2;
	box-shadow: 0 0 1px #333 inset;
}


.acc5 label:before{
  display: block;
  position: absolute;
  content: "";
  width: 1.2em;
  height: 1.2em;
  top: 0;
  left: 0;
  background: -webkit-linear-gradient(315deg, #FAFAFA 40%, #C0C0C0 55%, #FAFAFA 95%, #808080 100%);
  background: linear-gradient(135deg, #fff 40%, #C0C0C0 55%, #FAFAFA 95%, #808080 100%);
  border-bottom-right-radius: 0.3em;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.acc5 label:hover:before, .acc5 input:checked ~ label:before {
  width: 1.6em;
  height: 1.6em;
}

.acc5 label:hover, .acc5 input:checked ~ label{
color: #444;
}

.acc5 .content{
	position: relative;
	z-index: 1;
	top: -2px;
	background: #f2f2f2;
	box-shadow: 0 2px 2px #f2f2f2 inset, 0 0 1px #333 inset;
}

/* accordion 6 */

.acc6 label{
	position: relative;
	border-bottom: 2px solid #888;
}

.acc6 label:before{
	content: "\f075";
	color: #bbb;
	font-family: fontAwesome;
	margin: 0 10px 0 5px;
}

.acc6 label:after{
	display: block;
	position: absolute;
	content: "\f00d";
	font-family: fontAwesome;
	text-align: center;
	width: 2em;
	height: 100%;
	top: 0;
	right: 0;
	padding-top: 0.53em;	
	background: #cdcdcd;
}

.acc6 label:hover{
	color: #777;
}

.acc6 label:hover:before{
  color: #2AE6BB;
}

.acc6 label:hover:after{
  color: #000;
}

.acc6 .content{
position: relative;
background: #eee;
}

.acc6 .content p{
padding-top: 20px !important;
}

.acc6 .content:before{
 display: block;
 position: absolute;
 content: "";
 width: 0;
 height: 0;
 top: 0;
 left: 30px;
 border-left: 10px solid transparent;
 border-right: 10px solid transparent;
 border-top: 15px solid #eee;
}

.acc6 input:checked ~ label{
	border-color: #2AE6BB;
}

.acc6 input:checked ~ label:after{
	content: "\f00c";
	color: #fff;
	background: #2AE6BB;
}

.acc6 input:checked ~ .content:before{
border-top-color: #2AE6BB;
}

/* accordion 7 */

.acc7 li{
	margin-bottom: 5px;
}

.acc7 label{
position: relative;
padding-left: 3em !important;
background: #eee;
transition: all 200ms linear;
}

.acc7 .content{
	background: #eee;
}

.acc7 .content p{
	opacity: 0.4;
	transform: scale(0.9);
	transition: all 400ms ease-in-out;
}

.acc7 input:checked ~ .content p{
	opacity: 1;
	transform: scale(1);
}

.acc7 label:before{
	display: block;
	position: absolute;
	content:"";
	width: 15px;
	height: 20px;
	top: 100%;
	left: -15px;
}

.acc7 label:after{
	display: block;
	position: absolute;
	content:"\f067";
	font: 100%/1 fontAwesome;
	color: #fff;
	width: 3em;
	height: 100%;
	top: 0;
	left: -15px;
	padding: 10px 15px;
	background: linear-gradient(to right, #c266ff 2em, transparent 0),
				linear-gradient(45deg, #c266ff 50%, transparent 0) 100% 0 / 1em 50% no-repeat,
				linear-gradient(135deg, #c266ff 50%, transparent 0) 100% 100% / 1em 50% no-repeat;
	backface-visibility: none;
}

.acc7 li:hover label,
.acc7 input:checked ~ label{
background: #ebccff;
box-shadow: 0 2px 1px -2px #333;
}

.acc7 input:checked ~ label:before{
	background: linear-gradient(235deg, #c266ff 50%, transparent 0);
	box-shadow: 2px 0 1px -2px #333;
}

.acc7 input:checked ~ label:after{
	content:"\f068";
	width: 2.5em;
	background: #c266ff;
}

/* accordion 8 */

.acc8 li{
	margin-bottom: 5px;
}

.acc8 label{
	position: relative;
	z-index: 0;
	padding-left: 3em !important;
	background: #eee;
	transition: all 200ms linear;
}

.acc8 .content{
	background: #0c5a4a;
	color: #fff;
	transition: all 200ms linear 300ms !important;
}

.acc8 .content p{
	opacity: 0.4;
	transform: scale(0.9);
	transition: all 400ms ease-in-out 300ms;
}

.acc8 input:checked ~ .content p{
	opacity: 1;
	transform: scale(1);
}

.acc8 label:before{
	display: block;
	position: absolute;
	z-index: 1;
	content:"";
	width: 2em;
	height: 100%;
	top: 0;
	left: 0;
	background: #0c5a4a;
	transform: scaleY(0);
	transform-origin: 50% 0;
	transition: all 300ms linear;
}

.acc8 label:after{
	display: block;
	position: absolute;
	z-index: 2;
	content:"\f101";
	font: 100%/1 fontAwesome;
	color: #666;
	text-align: center;
	width: 2em;
	height: 100%;
	top: 0;
	left: 0;
	padding-top: 10px;
}

.acc8 li:hover label{
background: #ccc;
padding-left: 3.5em !important;
}

.acc8 li:hover input:checked ~ label{
padding-left: 3em !important;
}

.acc8 input:checked ~ label{
background:  #d2f9f1;
}

.acc8 input:checked ~ label:before{
transform: scaleY(1);
}

.acc8 input:checked ~ label:after{
	content:"\f07d";
	color: #fff;
}