
                <div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_5' ><a id='gf_5' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_5' id='gform_5'  action='/return-resident-permit/#gf_5'>
                        <div class='gform_body'><ul id='gform_fields_5' class='gform_fields top_label form_sublabel_below description_below'><li id='field_5_1' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3>Free Consultation</h3></li><li id='field_5_2' class='gfield left_field gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_5_2' >Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_5_2' type='text' value='' class='large'  tabindex='1'   aria-required="true" aria-invalid="false" /></div></li><li id='field_5_3' class='gfield right_field gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_5_3' >Email<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'>
                            <input name='input_3' id='input_5_3' type='text' value='' class='large' tabindex='2'   />
                        </div></li><li id='field_5_4' class='gfield left_field field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_5_4' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_4' id='input_5_4' type='text' value='' class='large' tabindex='3'    aria-invalid="false" /></div></li><li id='field_5_5' class='gfield right_field field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_5_5' >Country</label><div class='ginput_container ginput_container_select'><select name='input_5' id='input_5_5'  class='large gfield_select' tabindex='4'   aria-invalid="false"><option value='' selected='selected' class='gf_placeholder'>Select Country</option><option value='Canada' >Canada</option><option value='New Zealand' >New Zealand</option><option value='Australia' >Australia</option></select></div></li><li id='field_5_6' class='gfield full_field field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_5_6' >College</label><div class='ginput_container ginput_container_select'><select name='input_6' id='input_5_6'  class='large gfield_select' tabindex='5'   aria-invalid="false"><option value='' selected='selected' class='gf_placeholder'>Select College</option><option value='Bow Valley College' >Bow Valley College</option><option value='Lakeland College' >Lakeland College</option><option value='Medicine Hat College' >Medicine Hat College</option><option value='Sait college' >Sait college</option><option value='Lethbridge college' >Lethbridge college</option><option value='Calgary Board of Education' >Calgary Board of Education</option><option value='Camosun College' >Camosun College</option><option value='College of New Caledonia' >College of New Caledonia</option><option value='College of the Rockies' >College of the Rockies</option><option value='Columbia College' >Columbia College</option><option value='Kwantlen Polytechnic University' >Kwantlen Polytechnic University</option><option value='LaSalle College' >LaSalle College</option><option value='North Island College' >North Island College</option><option value='Northern Lights' >Northern Lights</option><option value='Okanagan College' >Okanagan College</option><option value='Selkirk College' >Selkirk College</option><option value='University of The Fraser Valley' >University of The Fraser Valley</option><option value='University of Canada West' >University of Canada West</option><option value='Sprottshaw College, Vancouver' >Sprottshaw College, Vancouver</option><option value='Surrey School Board' >Surrey School Board</option><option value='Assiniboine Community College' >Assiniboine Community College</option><option value='Manitoba Institute of Trades and Technology  (formerly WTC)' >Manitoba Institute of Trades and Technology  (formerly WTC)</option><option value='Lester B. Pearson School Board' >Lester B. Pearson School Board</option><option value='*' >Trios college of Business, Technology and Healthcare</option><option value='NBCC International' >NBCC International</option><option value='Trios college of Business, Technology and Healthcare*' >Trios college of Business, Technology and Healthcare*</option><option value='Cambrian College of Applied Arts &amp; Technology' >Cambrian College of Applied Arts &amp; Technology</option><option value='Humber College Institute of Technology &amp; Advanced Learning' >Humber College Institute of Technology &amp; Advanced Learning</option><option value='Mohawk College of Applied Arts &amp; Technology' >Mohawk College of Applied Arts &amp; Technology</option><option value='Niagara College' >Niagara College</option><option value='Sault College' >Sault College</option><option value='St Clair College of Applied Arts &amp; Technology' >St Clair College of Applied Arts &amp; Technology</option><option value='St Lawrence College' >St Lawrence College</option><option value='Brock University' >Brock University</option><option value='Centre of Education Training ( DLI number)' >Centre of Education Training ( DLI number)</option><option value='Peel District School board (Brampton, Missisauga )' >Peel District School board (Brampton, Missisauga )</option><option value='Pures College' >Pures College</option><option value='York Region District School Board ( North York )' >York Region District School Board ( North York )</option><option value='Lasalle College' >Lasalle College</option><option value='Parkland College' >Parkland College</option><option value='Saskatchewan Polytechnic (formerly SIAST)' >Saskatchewan Polytechnic (formerly SIAST)</option><option value='University of Regina' >University of Regina</option><option value='University of Saskatchewan' >University of Saskatchewan</option><option value='' ></option></select></div></li>
                            </ul></div>
        <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_5' class='gform_button button' value='Submit' tabindex='6' onclick='if(window["gf_submitting_5"]){return false;}  window["gf_submitting_5"]=true;  ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_5"]){return false;} window["gf_submitting_5"]=true;  jQuery("#gform_5").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=5&amp;title=&amp;description=&amp;tabindex=1' />
            <input type='hidden' class='gform_hidden' name='is_submit_5' value='1' />
            <input type='hidden' class='gform_hidden' name='gform_submit' value='5' />
            
            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' />
            <input type='hidden' class='gform_hidden' name='state_5' value='WyJbXSIsIjc4MGQ5MGIxMTVlZDExZDY5Yzg0NzM5ZmYxMGE5ZWM5Il0=' />
            <input type='hidden' class='gform_hidden' name='gform_target_page_number_5' id='gform_target_page_number_5' value='0' />
            <input type='hidden' class='gform_hidden' name='gform_source_page_number_5' id='gform_source_page_number_5' value='1' />
            <input type='hidden' name='gform_field_values' value='' />
            
        </div>
                        </form>
                        </div>
                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_5' id='gform_ajax_frame_5'>This iframe contains the logic required to handle AJAX powered Gravity Forms.</iframe>
                <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 5, 'https://www.ciil.co.in/wp-content/plugins/gravityforms/images/spinner.gif' );jQuery('#gform_ajax_frame_5').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_5');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_5').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_5').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_5').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_5').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_5').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_5').val();gformInitSpinner( 5, 'https://www.ciil.co.in/wp-content/plugins/gravityforms/images/spinner.gif' );jQuery(document).trigger('gform_page_loaded', [5, current_page]);window['gf_submitting_5'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('#gforms_confirmation_message_5').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_5').replaceWith('<' + 'div id=\'gforms_confirmation_message_5\' class=\'gform_confirmation_message_5 gforms_confirmation_message\'' + '>' + confirmation_content + '<' + '/div' + '>');jQuery(document).scrollTop(jQuery('#gforms_confirmation_message_5').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [5]);window['gf_submitting_5'] = false;}, 50);}else{jQuery('#gform_5').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [5, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/www.ciil.co.in\/wp-content\/plugins\/gravityforms","number_formats":[],"spinnerUrl":"https:\/\/www.ciil.co.in\/wp-content\/plugins\/gravityforms\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 5) {if(typeof Placeholders != 'undefined'){
                        Placeholders.enable();
                    }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [5, 1]) } ); </script>