.subject {
    display: block;
    width: 450px;
    height: 36px;
    margin: 10px;
    padding:10px;
    background:#00BCD4;
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    box-shadow:0 2px 2px rgba(0,0,0, .5);
    -moz-box-shadow:0 2px 2px rgba(0,0,0, .5);
    -webkit-box-shadow:0 2px 2px rgba(0,0,0, .5);
    text-transform: uppercase;
    transition: height 1.5s ease;


}

.subject .contenedor {


    /*visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;*/

    transition: height 1.5s ease;
    overflow: hidden;
    height: 0;
    width:100%;
    padding: 0;
    margin: 0;
    position:relative;
    background: #00Acc1;
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;

}


.subject a{
    font-weight:bold;
    color:#ffffff;
    text-decoration:none;
    display: inline-flex;
    padding:8px 20px;
    text-align: center;
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    text-shadow:0 2px 2px rgba(0,0,0, .7);
}
.subject .contenedor p{
    margin: 10px;
    font-weight:bold;
    color:#ffffff;
    text-decoration:none;
    text-align: center;
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    text-shadow:0 2px 2px rgba(0,0,0, .7);
}

.subject:hover > a {
    color:#000;
    text-shadow:none;
}
.subject:hover {
    height:600px;
}
.subject:hover .contenedor{
    visibility: visible;
    opacity: 1;
    height:560px;

    box-shadow:0 2px 2px rgba(0,0,0, .5);
    -moz-box-shadow:0 2px 2px rgba(0,0,0, .5);
    -webkit-box-shadow:0 2px 2px rgba(0,0,0, .5);


}

.subject a .flecha{
    font-size: 15px;
    padding-left: 6px;
    display: inline-block;
}

/*mas flechas aqui: https://character-code.com/arrows-html-codes.php*/