function revealCTA(cta) {
    var time = 600;
    cta.find('.wrap').animate({top: 0}, time*2);
    cta.find('.wave').animate({top: '-100%'}, time);
    cta.addClass('complete');
}

function setCTAHeight() {
    jQuery('.cta').each(function() {
        if (jQuery(this).hasClass('complete')) {
            var height = jQuery(this).find('.wrap').outerHeight(true);
            jQuery(this).find('.content-wrap').height(height);
        } else {
            var wrap = jQuery(this).find('.wrap');
            var wave = jQuery(this).find('.wave');
            var height = wrap.outerHeight(true);

            jQuery(this).find('.content-wrap').height(height);
            wrap.css('top', 2*height);
            wave.css('height', height);
        }
    });
}

function initCTAs() {
    jQuery(window).resize(setCTAHeight);
    setCTAHeight();

    jQuery('.cta').each(function() {
        wait_for_visible(jQuery(this), revealCTA, 300);
    });
}

initCTAs();