1) Using the Custom CSS area in Customize > Additional CSS
This is the preferred way if you only need to make a few small changes:
and
2) Creating a child theme
This is recommended if you want to build your CSS on top of ours, but don't want to use the Custom CSS Area in the theme options.
You can find a sample child theme here: http://vamtam.com/child-themes/ Place your custom CSS code in the child theme's style.css file.
The official WordPress documentation explains this topic really well: http://codex.wordpress.org/Child_Themes
2) Overwriting templates using a child theme
Any file you add to your child theme will overwrite the same file in the parent theme.
In most cases, it’s best to create a copy of the template files you want to change from the parent theme, then make your modifications to the copied files, leaving the parent files unchanged. For example, if you wanted to change the code of the parent theme’s header.php file, you would copy the file to your child theme folder and customize it there.
If the file you'd like to modify is located in a subfolder, you have to create this subfolder in the child theme and place the file within.
Example: You're customizing the /templates/post.php found in the child theme.
You will need to create a subfolder "templates" in the child theme, and then add the post.php file to that subfolder.
Please note that you should always have a copy of your custom code, as sometimes you may mistakenly reset theme options to default and lose all your custom CSS.