Standard head element

Sections are marked as Required or Optional.

Note: asset URLs on the develop branch have query-strings added for cache-busting. This is not the case for production.

For more information on the method we're using to load JavaScript, see this article by Jake Archibald.

Comments are added as a guide for developers, they should be removed in production.

<head>
    <!-- Required: -->
    <meta charset="UTF-8">
    <!-- Required: -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- Required: Changes the colour of the browser bar in Chrome, Firefox OS and Opera. -->
    <meta name="theme-color" content="#e00023">

    <!-- Required: Always force latest IE rendering engine or request Chrome Frame. -->
    <!-- Must appear before all other elements except for the title element and other meta elements. -->
    <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">

    <!-- Required: -->
    <title>Head Element</title>

    <!-- Required: Favicon. -->
    <link href="../../images/favicon.ico" rel="icon" type="image/ico" />

    <!-- Required: Basic HTML5 support for IE8. -->
    <!--[if lte IE 8]>
    <script src="../../scripts/vendor/html5.js?1484577534" type="text/javascript"></script>
    <![endif]-->

    <!-- Required: Base stylesheet. Delivered to all browsers. -->
    <link href="../../stylesheets/base.css?1484577517" rel="stylesheet" type="text/css" />

    <!-- Required: Cutting the mustard. -->
    <script>
        if ('visibilityState' in document) {
            // Modern browser, so load full CSS and JavaScript.
            // For more information on this method, see http://www.html5rocks.com/en/tutorials/speed/script-loading/#toc-dom-rescue.
            // This is how we load the advanced CSS.
            [
            "../../stylesheets/full.css?1484577521"
            ].forEach(function(src) {
                var link = document.createElement('link');
                link.href = src;
                link.type = 'text/css';
                link.rel = 'stylesheet';
                document.head.appendChild(link);
            });
            // This is how we load JavaScript.
            // All JavaScript needes to be loaded using this method or the order of
            // script execution cannot be guaranteed.
            [
            // Optional:
            // This initialises the ADTECH advert system.
            "https://aka-cdn.adtech.de/dt/common/DAC.js",

            // Required:
            // full.js contains all the custom component JavaScript, as well as jQuery.
            "../../scripts/full.js?1484577531",

            // Optional:
            // Loads a third-party's advert placements, in this instance just ADTECH.
            "../../scripts/adverts.js?1484577526",

            // Optional:
            // Other scripts should be added at this point if they depend on the ready event,
            // or are UCASDesignFramework plugins that need to be initialised.
            //
            // They need to be in the order in which they should be executed.
            //
            // This example.js should not be included in a production build
            // as it only contains scripts to mock functionality with dummy data,
            // e.g. the search autocomplete widget
            "../../scripts/example.js?1484577528",

            // Required:
            // The ready.js file should be executed last, as this initialises
            // the UCASDesignFramework plugins and fires jQuery's ready event.
            "../../scripts/ready.js?1484577532",

            // Optional:
            // Custom JavaScript that does not depend on jQuery's ready event or is
            // not a UCASDesignFramework plugin can also be included here.
            // This my-custom-script.js should not be included in a production build.
            "../../scripts/example/my-custom-script.js?1484577527"

            ].forEach(function(src) {
                var script = document.createElement('script');
                script.src = src;
                // Dynamically created, so executed outside of document parsing.
                // See http://www.html5rocks.com/en/tutorials/speed/script-loading/
                script.async = false;
                document.head.appendChild(script);
            });
        }
    </script>

    <!-- Optional: Page- or site-specific stylesheet. -->
    
</head>