( function( api ) {

    // Extends our custom "example-1" section.
    api.sectionConstructor['pro-section'] = api.Section.extend( {

        // No events for this type of section.
        attachEvents: function () {},

        // Always make the section active.
        isContextuallyActive: function () {
            return true;
        }
    } );

} )( wp.customize );
jQuery(document).ready(function($) {
    //Scroll to front page section
    $('body').on('click', '#sub-accordion-panel-homepage_settings .control-subsection .accordion-section-title', function(event) {
        var section_id = $(this).parent('.control-subsection').attr('id');
        scrollToSection( section_id );
    });

    function scrollToSection( section_id ){
    var preview_section_id = "banner_section";

    var $contents = jQuery('#customize-preview iframe').contents();

    switch ( section_id ) {

        case 'accordion-section-header_image':
        preview_section_id = "banner_section";
        break;

        case 'accordion-section-about_section':
        preview_section_id = "about_section";
        break;

        case 'accordion-section-newsletter_settings':
        preview_section_id = "newsletter_section";
        break;

        case 'accordion-section-instagram_settings':
        preview_section_id = "instagram_section";
        break;

        case 'accordion-section-cta_settings':
        preview_section_id = "cta_section";
        break;
    }

    if( $contents.find('#'+preview_section_id).length > 0 && $contents.find('.home').length > 0 ){
        $contents.find("html, body").animate({
        scrollTop: $contents.find( "#" + preview_section_id ).offset().top
        }, 1000);
    }
}
});