.main-content {
    padding: 20px;
}

.articles {
    position: relative;
    z-index: 0;
    width: 90%;
    background: #333;
    padding: 20px;
    border: 1px solid grey;
}

.articles:before {
    display: block;
    position: absolute;
    content: "articles";
    width: 31px;
    height: auto;
    top: 0;
    left: -31px;
    font: 2em/1 Georgia;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    word-wrap: break-word;
    background: #111;
    padding: 3px;
}

.articles:after {
    display: block;
    position: absolute;
    z-index: -1;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    outline: 1px dashed #fff;
    outline-offset: -10px;
}

.articles > li {
    margin-bottom: 2px;
}

.articles > li > input {
    display: none;
}

.articles > li > label {
    display: block;
    position: relative;
    width: 100%;
    font: 1.4em/2 Georgia,sans-serif;
    color: #333;
    text-transform: capitalize;
    background: #fff;
    padding-left: 40px;
    border-top: 1px solid grey;
    cursor: pointer;
    -webkit-transition: all 300ms linear;
    transition: all 300ms linear;
}

.articles > li > label:before {
    display: block;
    position: absolute;
    content: "\f0fe";
    top: 0;
    left: 10px;
    font-family: fontAwesome;
}

.articles label:hover {
    padding-left: 45px;
    color: #D04235;
}

.articles li input:checked + label {
    color: #D04235;
}

.articles > li input:checked + label:before {
    content: "\f147";
    -webkit-animation: boom 500ms ease-in-out;
    animation: boom 500ms ease-in-out;
}

@-webkit-keyframes boom {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }

    50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes boom {
    0% {
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
    }

    50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.content {
    max-height: 0;
    padding-left: 40px;
    padding-right: 20px;
    overflow: hidden;
    -webkit-transition: all 150ms ease;
    transition: all 150ms ease;
    background: #ddd;
    counter-reset: section;
}

.content li:first-child {
    margin-top: 10px;
}

.content li:last-child {
    margin-bottom: 10px;
}

.content > li a {
    font: 1.1em/1.7 Verdana;
    color: #000;
    text-decoration: none;
}

.content li a:before {
    counter-increment: section;
    content: ""counter(section)". ";
    color: #D04235;
}

.content li a:hover, .content li a:visited {
    color: #666;
}

.articles > li input:checked + label + .content {
    max-height: 800px;
    -webkit-transition: all 900ms ease;
    transition: all 900ms ease;
}