Joomla templates change the design and layout of a site but not the content. Templates use CSS, HTML, PHP and images primarily but can also use other languages like JavaScript. Templates position modules and components on the page. Template designers can use free and commercial template design tools or code templates by hand. The basic building blocks of a Joomla template are the templateDetails.xml file, index.php file, CSS folder, and images folder.