Is it possible to take an (html, css & js) website and make a custom theme in grav. If its possible, what is the easiest way of doing that ?
Yes!
But in Grav a theme basically controls how the whole site looks and works so it depends on how much functionality you’ve got currently and how deep you want to dive into Grav.
The Learn site is very good. There are theme instructions here: https://learn.getgrav.org/themes which include how to include assets (JS and CSS) and there are examples in the downloads section of themes and skeletons which have examples of how do many things.
Assuming you’ve got a fairly simple site layout probably the simplest and least technical way to create a site would be to create pages with all the text, html, etc in the page itself. This is an example: https://github.com/moreplavec/BootGrav/blob/master/_demo/pages/03.home/_3-columns/three-columns.md That’ll get your content out there. Then later on you might want to come back and get into twig and yaml and create different templates with fields in the admin panel for easier editing if you need it.
Update: just found there is a Learn section on migrating an existing theme: https://learn.getgrav.org/cookbook/general-recipes#migrate-an-html-theme-to-grav