.height-eased {
    transition: max-height 0.3s, padding 0.3s, margin 0.3s;
    overflow: hidden;
    position: absolute;
    left: -99999px;
}

.smart-height-eased-full-closed {
    display: none;
}

.smart-height-eased-preparing-to-render-offscreen {
    transition: none;
    max-height: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    overflow: hidden;
}

.smart-height-eased-render-offscreen {
    position: absolute;
    left: -99999px;
}

.smart-height-eased-expanding {
    transition: none;
    max-height: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    overflow: hidden;
    /* to expand:
     *  - set transition on max-height, padding, and margin
     *  - set max-height, padding, and margin (height-wise) to the
     *    correct absolute values
     *  - once transition completes, switch to full-open
     */
}

.smart-height-eased-closing {
    overflow: hidden;
}
