Pagination on custom post types

Change

$loop = new WP_Query( array( 'post_type' => 'portfolio', 'posts_per_page' => -1 ) );

to e.g.

$loop = new WP_Query( array( 'post_type' => 'portfolio', 'posts_per_page' => 9 ) );

If you set posts_per_page to -1 you will always pull all available posts. Hence, no pagination will show up since all posts are already shown on the first page.