diff --git a/core/themes/classy/templates/aggregator/aggregator-item.html.twig b/core/themes/classy/templates/aggregator/aggregator-item.html.twig
new file mode 100644
index 0000000..8f31937
--- /dev/null
+++ b/core/themes/classy/templates/aggregator/aggregator-item.html.twig
@@ -0,0 +1,28 @@
+{#
+/**
+ * @file
+ * Default theme implementation to present a feed item in an aggregator page.
+ *
+ * Available variables:
+ * - url: URL to the originating feed item.
+ * - title: Title of the feed item.
+ * - content: All field items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given element.
+ *
+ * @see template_preprocess_aggregator_item()
+ *
+ * @ingroup themeable
+ */
+#}
+
diff --git a/core/themes/classy/templates/block/block-list.html.twig b/core/themes/classy/templates/block/block-list.html.twig
new file mode 100644
index 0000000..854d3ce
--- /dev/null
+++ b/core/themes/classy/templates/block/block-list.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Two column template for the block add/edit form.
+ *
+ * This template will be used when a block edit form specifies 'block_edit_form'
+ * as its #theme callback. Otherwise, by default, block add/edit forms will be
+ * themed by form.html.twig.
+ *
+ * Available variables:
+ * - form: The block add/edit form.
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+ {{ form|without('place_blocks') }}
+
+
+ {{ form.place_blocks }}
+
+
diff --git a/core/themes/classy/templates/block/block.html.twig b/core/themes/classy/templates/block/block.html.twig
new file mode 100644
index 0000000..aa750cb
--- /dev/null
+++ b/core/themes/classy/templates/block/block.html.twig
@@ -0,0 +1,52 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a block.
+ *
+ * Available variables:
+ * - plugin_id: The ID of the block implementation.
+ * - label: The configured label of the block if visible.
+ * - configuration: A list of the block's configuration values.
+ * - label: The configured label for the block.
+ * - label_display: The display settings for the label.
+ * - module: The module that provided this block plugin.
+ * - cache: The cache settings.
+ * - Block plugin specific settings will also be stored here.
+ * - block - The full block entity.
+ * - label_hidden: The hidden block title value if the block was
+ * configured to hide the title ('label' is empty in this case).
+ * - module: The module that generated the block.
+ * - delta: An ID for the block, unique within each module.
+ * - region: The block region embedding the current block.
+ * - content: The content of this block.
+ * - attributes: array of HTML attributes populated by modules, intended to
+ * be added to the main container tag of this template.
+ * - id: A valid HTML ID and guaranteed unique.
+ * - title_attributes: Same as attributes, except applied to the main title
+ * tag that appears in the template.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ *
+ * @see template_preprocess_block()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'block',
+ 'block-' ~ configuration.provider|clean_class,
+ ]
+%}
+
diff --git a/core/themes/classy/templates/book/book-all-books-block.html.twig b/core/themes/classy/templates/book/book-all-books-block.html.twig
new file mode 100644
index 0000000..6160982
--- /dev/null
+++ b/core/themes/classy/templates/book/book-all-books-block.html.twig
@@ -0,0 +1,24 @@
+{#
+/**
+ * @file
+ * Default theme implementation for rendering book outlines within a block.
+ *
+ * This template is used only when the block is configured to "show block on all
+ * pages", which presents multiple independent books on all pages.
+ *
+ * Available variables:
+ * - book_menus: Book outlines.
+ * - id: The parent book ID.
+ * - title: The parent book title.
+ * - menu: The top-level book links.
+ *
+ * @see template_preprocess_book_all_books_block()
+ *
+ * @ingroup themeable
+ */
+#}
+{% for book in book_menus %}
+
+{% endfor %}
diff --git a/core/themes/classy/templates/book/book-export-html.html.twig b/core/themes/classy/templates/book/book-export-html.html.twig
new file mode 100644
index 0000000..cbeb3b3
--- /dev/null
+++ b/core/themes/classy/templates/book/book-export-html.html.twig
@@ -0,0 +1,47 @@
+{#
+/**
+ * @file
+ * Default theme implementation for printed version of book outline.
+ *
+ * Available variables:
+ * - title: Top level node title.
+ * - head: Header tags.
+ * - language: Language object.
+ * - language_rtl: A flag indicating whether the current display language is a
+ * right to left language.
+ * - base_url: URL to the home page.
+ * - contents: Nodes within the current outline rendered through
+ * book-node-export-html.html.twig.
+ *
+ * @see template_preprocess_book_export_html()
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+ {{ title }}
+ {{ page.head }}
+
+
+
+
+ {#
+ The given node is embedded to its absolute depth in a top level section.
+ For example, a child node with depth 2 in the hierarchy is contained in
+ (otherwise empty) div elements corresponding to depth 0 and depth 1. This
+ is intended to support WYSIWYG output - e.g., level 3 sections always look
+ like level 3 sections, no matter their depth relative to the node selected
+ to be exported as printer-friendly HTML.
+ #}
+
+ {% for i in 1..depth-1 if depth > 1 %}
+
+ {% endfor %}
+ {{ contents }}
+ {% for i in 1..depth-1 if depth > 1 %}
+
+ {% endfor %}
+
+
diff --git a/core/themes/classy/templates/book/book-navigation.html.twig b/core/themes/classy/templates/book/book-navigation.html.twig
new file mode 100644
index 0000000..abb0d31
--- /dev/null
+++ b/core/themes/classy/templates/book/book-navigation.html.twig
@@ -0,0 +1,57 @@
+{#
+/**
+ * @file
+ * Default theme implementation to navigate books.
+ *
+ * Presented under nodes that are a part of book outlines.
+ *
+ * Available variables:
+ * - tree: The immediate children of the current node rendered as an unordered
+ * list.
+ * - current_depth: Depth of the current node within the book outline. Provided
+ * for context.
+ * - prev_url: URL to the previous node.
+ * - prev_title: Title of the previous node.
+ * - parent_url: URL to the parent node.
+ * - parent_title: Title of the parent node. Not printed by default. Provided
+ * as an option.
+ * - next_url: URL to the next node.
+ * - next_title: Title of the next node.
+ * - has_links: Flags TRUE whenever the previous, parent or next data has a
+ * value.
+ * - book_id: The book ID of the current outline being viewed. Same as the node
+ * ID containing the entire outline. Provided for context.
+ * - book_url: The book/node URL of the current outline being viewed. Provided
+ * as an option. Not used by default.
+ * - book_title: The book/node title of the current outline being viewed.
+ *
+ * @see template_preprocess_book_navigation()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if tree or has_links %}
+
+{% endif %}
diff --git a/core/themes/classy/templates/book/book-node-export-html.html.twig b/core/themes/classy/templates/book/book-node-export-html.html.twig
new file mode 100644
index 0000000..0efa9a7
--- /dev/null
+++ b/core/themes/classy/templates/book/book-node-export-html.html.twig
@@ -0,0 +1,22 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a single node in a printer-friendly outline.
+ *
+ * Available variables:
+ * - node: Fully loaded node.
+ * - depth: Depth of the current node inside the outline.
+ * - title: Node title.
+ * - content: Node content.
+ * - children: All the child nodes recursively rendered through this file.
+ *
+ * @see template_preprocess_book_node_export_html()
+ *
+ * @ingroup themeable
+ */
+#}
+
+
{{ title }}
+ {{ content }}
+ {{ children }}
+
diff --git a/core/themes/classy/templates/book/book-tree.html.twig b/core/themes/classy/templates/book/book-tree.html.twig
new file mode 100644
index 0000000..9f640d0
--- /dev/null
+++ b/core/themes/classy/templates/book/book-tree.html.twig
@@ -0,0 +1,16 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a book tree.
+ *
+ * Returns HTML for a wrapper for a book sub-tree.
+ *
+ * Available variables:
+ * - tree: An HTML string containing the tree's items.
+ *
+ * @see template_preprocess_book_tree()
+ *
+ * @ingroup themeable
+ */
+#}
+
{{ tree }}
diff --git a/core/themes/classy/templates/comment/comment.html.twig b/core/themes/classy/templates/comment/comment.html.twig
new file mode 100644
index 0000000..ba62e2b
--- /dev/null
+++ b/core/themes/classy/templates/comment/comment.html.twig
@@ -0,0 +1,124 @@
+{#
+/**
+ * @file
+ * Default theme implementation for comments.
+ *
+ * Available variables:
+ * - author: Comment author. Can be a link or plain text.
+ * - content: The content-related items for the comment display. Use
+ * {{ content }} to print them all, or print a subset such as
+ * {{ content.field_example }}. Use the following code to temporarily suppress
+ * the printing of a given child element:
+ * @code
+ * {{ content|without('field_example') }}
+ * @endcode
+ * - created: Formatted date and time for when the comment was created.
+ * Preprocess functions can reformat it by calling format_date() with the
+ * desired parameters on the 'comment.created' variable.
+ * - changed: Formatted date and time for when the comment was last changed.
+ * Preprocess functions can reformat it by calling format_date() with the
+ * desired parameters on the 'comment.changed' variable.
+ * - permalink: Comment permalink.
+ * - submitted: Submission information created from author and created
+ * during template_preprocess_comment().
+ * - user_picture: The comment author's profile picture.
+ * - signature: The comment author's signature.
+ * - status: Comment status. Possible values are:
+ * unpublished, published, or preview.
+ * - title: Comment title, linked to the comment.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class may contain one or more of the following classes:
+ * - comment: The current template type; e.g., 'theming hook'.
+ * - by-anonymous: Comment by an unregistered user.
+ * - by-{entity-type}-author: Comment by the author of the parent entity,
+ * eg. by-node-author.
+ * - preview: When previewing a new or edited comment.
+ * The following applies only to viewers who are registered users:
+ * - unpublished: An unpublished comment visible only to administrators.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ * - content_attributes: List of classes for the styling of the comment content.
+ * - title_attributes: Same as attributes, except applied to the main title
+ * tag that appears in the template.
+ *
+ * These variables are provided to give context about the parent comment (if
+ * any):
+ * - comment_parent: Full parent comment entity (if any).
+ * - parent_author: Equivalent to author for the parent comment.
+ * - parent_created: Equivalent to created for the parent comment.
+ * - parent_changed: Equivalent to changed for the parent comment.
+ * - parent_title: Equivalent to title for the parent comment.
+ * - parent_permalink: Equivalent to permalink for the parent comment.
+ * - parent: A text string of parent comment submission information created from
+ * 'parent_author' and 'parent_created' during template_preprocess_comment().
+ * This information is presented to help screen readers follow lengthy
+ * discussion threads. You can hide this from sighted users using the class
+ * visually-hidden.
+ *
+ * These two variables are provided for context:
+ * - comment: Full comment object.
+ * - entity: Entity the comments are attached to.
+ *
+ * @see template_preprocess_comment()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'comment',
+ status != 'published' ? status,
+ comment.owner.anonymous ? 'by-anonymous',
+ author_id and author_id == commented_entity.getOwnerId() ? 'by-' ~ commented_entity.getEntityTypeId() ~ '-author',
+ 'clearfix',
+ ]
+%}
+
+ {% if title %}
+ {{ title_prefix }}
+ {% endif %}
+
+ {#
+ Hide the "new" indicator by default, let a piece of JavaScript ask
+ the server which comments are new for the user. Rendering the final
+ "new" indicator here would break the render cache.
+ #}
+
+
+ {% if title %}
+
+ {% if content.links %}
+ {{ content.links }}
+ {% endif %}
+
diff --git a/core/themes/classy/templates/comment/field--comment.html.twig b/core/themes/classy/templates/comment/field--comment.html.twig
new file mode 100644
index 0000000..595bc50
--- /dev/null
+++ b/core/themes/classy/templates/comment/field--comment.html.twig
@@ -0,0 +1,61 @@
+{#
+/**
+ * @file
+ * Default theme override for comment fields.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional title output populated by modules, intended to
+ * be displayed after the main title tag that appears in the template.
+ * - comments: List of comments rendered through comment.html.twig.
+ * - content_attributes: HTML attributes for the form title.
+ * - comment_form: The 'Add new comment' form.
+ * - comment_display_mode: Is the comments are threaded.
+ * - comment_type: The comment type bundle ID for the comment field.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ * @see template_preprocess_field()
+ * @see comment_preprocess_field()
+ */
+#}
+{% set field_name_class = field_name|clean_class %}
+{%
+ set classes = [
+ 'field',
+ 'field-' ~ entity_type|clean_class ~ '--' ~ field_name_class,
+ 'field-name-' ~ field_name_class,
+ 'field-type-' ~ field_type|clean_class,
+ 'field-label-' ~ label_display,
+ label_display == 'inline' ? 'clearfix',
+ 'comment-wrapper',
+ ]
+%}
+{%
+ set title_classes = [
+ 'title',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+ {% if comments and not label_hidden %}
+ {{ title_prefix }}
+
+ {{ comment_form }}
+ {% endif %}
+
+
diff --git a/core/themes/classy/templates/file/file-link.html.twig b/core/themes/classy/templates/file/file-link.html.twig
new file mode 100644
index 0000000..fbbf08b
--- /dev/null
+++ b/core/themes/classy/templates/file/file-link.html.twig
@@ -0,0 +1,16 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a link to a file.
+ *
+ * Available variables:
+ * - attributes: The HTML attributes for the containing element.
+ * - link: A link to the file.
+ * - icon: The icon image representing the file type.
+ *
+ * @see template_preprocess_file_link()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ icon }} {{ link }}
diff --git a/core/themes/classy/templates/file/file-managed-file.html.twig b/core/themes/classy/templates/file/file-managed-file.html.twig
new file mode 100644
index 0000000..9a33ae1
--- /dev/null
+++ b/core/themes/classy/templates/file/file-managed-file.html.twig
@@ -0,0 +1,17 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a file form widget.
+ *
+ * Available variables:
+ * - element: Form element for the file upload.
+ * - attributes: HTML attributes for the containing element.
+ *
+ * @see template_preprocess_file_managed_file()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {{ element }}
+
diff --git a/core/themes/classy/templates/file/file-upload-help.html.twig b/core/themes/classy/templates/file/file-upload-help.html.twig
new file mode 100644
index 0000000..8fa6b3e
--- /dev/null
+++ b/core/themes/classy/templates/file/file-upload-help.html.twig
@@ -0,0 +1,14 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display help text for file fields.
+ *
+ * Available variables:
+ * - descriptions: Lines of help text for uploading a file.
+ *
+ * @see template_preprocess_file_upload_help()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ descriptions|safe_join(' ') }}
diff --git a/core/themes/classy/templates/file/file-widget-multiple.html.twig b/core/themes/classy/templates/file/file-widget-multiple.html.twig
new file mode 100644
index 0000000..25534a5
--- /dev/null
+++ b/core/themes/classy/templates/file/file-widget-multiple.html.twig
@@ -0,0 +1,16 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a multi file form widget.
+ *
+ * Available variables:
+ * - table: Table of previously uploaded files.
+ * - element: The form element for uploading another file.
+ *
+ * @see template_preprocess_file_widget_multiple()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ table }}
+{{ element }}
diff --git a/core/themes/classy/templates/file/file-widget.html.twig b/core/themes/classy/templates/file/file-widget.html.twig
new file mode 100644
index 0000000..892ed3d
--- /dev/null
+++ b/core/themes/classy/templates/file/file-widget.html.twig
@@ -0,0 +1,17 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a file widget.
+ *
+ * Available variables:
+ * - element: Form element for the managed file.
+ * - attributes: Remaining HTML attributes for the containing element.
+ *
+ * @see template_preprocess_file_widget()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {{ element }}
+
diff --git a/core/themes/classy/templates/filter/filter-caption.html.twig b/core/themes/classy/templates/filter/filter-caption.html.twig
new file mode 100644
index 0000000..eb9d248
--- /dev/null
+++ b/core/themes/classy/templates/filter/filter-caption.html.twig
@@ -0,0 +1,18 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a filter caption.
+ *
+ * Returns HTML for a captioned image, audio, video or other tag.
+ *
+ * Available variables
+ * - string node: The complete HTML tag whose contents are being captioned.
+ * - string tag: The name of the HTML tag whose contents are being captioned.
+ * - string caption: The caption text.
+ * - string classes: The classes of the captioned HTML tag.
+ */
+#}
+
diff --git a/core/themes/classy/templates/filter/filter-guidelines.html.twig b/core/themes/classy/templates/filter/filter-guidelines.html.twig
new file mode 100644
index 0000000..783992b
--- /dev/null
+++ b/core/themes/classy/templates/filter/filter-guidelines.html.twig
@@ -0,0 +1,31 @@
+{#
+/**
+ * @file
+ * Default theme implementation for guidelines for a text format.
+ *
+ * Available variables:
+ * - format: Contains information about the current text format, including the
+ * following:
+ * - name: The name of the text format, potentially unsafe and needs to be
+ * escaped.
+ * - format: The machine name of the text format, e.g. 'basic_html'.
+ * - attributes: HTML attributes for the containing element.
+ * - tips: Descriptions and a CSS ID in the form of 'module-name/filter-id'
+ * (only used when 'long' is TRUE) for each filter in one or more text
+ * formats.
+ *
+ * @see template_preprocess_filter_tips()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'filter-guidelines-item',
+ 'filter-guidelines-' ~ format.format,
+ ]
+%}
+
+
{{ format.label }}
+ {{ tips }}
+
diff --git a/core/themes/classy/templates/filter/filter-tips.html.twig b/core/themes/classy/templates/filter/filter-tips.html.twig
new file mode 100644
index 0000000..b17de01
--- /dev/null
+++ b/core/themes/classy/templates/filter/filter-tips.html.twig
@@ -0,0 +1,63 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a set of filter tips.
+ *
+ * Available variables:
+ * - tips: Descriptions and a CSS ID in the form of 'module-name/filter-id'
+ * (only used when 'long' is TRUE) for each filter in one or more text
+ * formats.
+ * - long: A flag indicating whether the passed-in filter tips contain extended
+ * explanations, i.e. intended to be output on the path 'filter/tips'
+ * (TRUE), or are in a short format, i.e. suitable to be displayed below a
+ * form element. Defaults to FALSE.
+ * - multiple: A flag indicating there is more than one filter tip.
+ *
+ * @see template_preprocess_filter_tips()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if multiple %}
+
{{ 'Text Formats'|t }}
+{% endif %}
+
+{% if tips|length %}
+ {% if multiple %}
+
+ {% endif %}
+
+ {% for name, tip in tips %}
+ {% if multiple %}
+ {%
+ set tip_classes = [
+ 'filter-type',
+ 'filter-' ~ name|clean_class,
+ ]
+ %}
+
+
{{ tip.name }}
+ {% endif %}
+
+ {% if tip.list|length %}
+
+ {% for item in tip.list %}
+ {%
+ set item_classes = [
+ long ? 'filter-' ~ item.id|replace({'/': '-'}),
+ ]
+ %}
+
+ {% endif %}
+{% endif %}
diff --git a/core/themes/classy/templates/filter/text-format-wrapper.html.twig b/core/themes/classy/templates/filter/text-format-wrapper.html.twig
new file mode 100644
index 0000000..4e5ff6d
--- /dev/null
+++ b/core/themes/classy/templates/filter/text-format-wrapper.html.twig
@@ -0,0 +1,28 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a text format-enabled form element.
+ *
+ * Available variables:
+ * - children: Text format element children.
+ * - description: Text format element description.
+ * - attributes: HTML attributes for the containing element.
+ * - aria_description: Flag for whether or not an ARIA description has been
+ * added to the description container.
+ *
+ * @see template_preprocess_text_format_wrapper()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {{ children }}
+ {% if description %}
+ {%
+ set classes = [
+ aria_description ? 'description',
+ ]
+ %}
+
{{ description }}
+ {% endif %}
+
diff --git a/core/themes/classy/templates/forum/forum-icon.html.twig b/core/themes/classy/templates/forum/forum-icon.html.twig
new file mode 100644
index 0000000..b32b734
--- /dev/null
+++ b/core/themes/classy/templates/forum/forum-icon.html.twig
@@ -0,0 +1,32 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a status icon for a forum post.
+ *
+ * Available variables:
+ * - attributes: HTML attributes to be applied to the wrapper element.
+ * - class: HTML classes that determine which icon to display. May be one of
+ * 'hot', 'hot-new', 'new', 'default', 'closed', or 'sticky'.
+ * - title: Text alternative for the forum icon.
+ * - icon_title: Text alternative for the forum icon, same as above.
+ * - new_posts: '1' when this topic contains new posts, otherwise '0'.
+ * - first_new: '1' when this is the first topic with new posts, otherwise '0'.
+ * - icon_status: Indicates which status icon should be used.
+ *
+ * @see template_preprocess_forum_icon()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'icon',
+ 'topic-status-' ~ icon_status,
+ ]
+%}
+
diff --git a/core/themes/classy/templates/forum/forum-list.html.twig b/core/themes/classy/templates/forum/forum-list.html.twig
new file mode 100644
index 0000000..5b41f6a
--- /dev/null
+++ b/core/themes/classy/templates/forum/forum-list.html.twig
@@ -0,0 +1,81 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a list of forums and containers.
+ *
+ * Available variables:
+ * - forums: A collection of forums and containers to display. It is keyed to
+ * the numeric IDs of all child forums and containers. Each forum in forums
+ * contains:
+ * - is_container: A flag indicating if the forum can contain other
+ * forums. Otherwise, the forum can only contain topics.
+ * - depth: How deep the forum is in the current hierarchy.
+ * - zebra: 'even' or 'odd', used for row class.
+ * - icon_class: 'default' or 'new', used for forum icon class.
+ * - icon_title: Text alternative for the forum icon.
+ * - name: The name of the forum.
+ * - link: The URL to link to this forum.
+ * - description: The description field for the forum, containing:
+ * - value: The descriptive text for the forum.
+ * - new_topics: A flag indicating if the forum contains unread posts.
+ * - new_url: A URL to the forum's unread posts.
+ * - new_text: Text for the above URL, which tells how many new posts.
+ * - old_topics: A count of posts that have already been read.
+ * - num_posts: The total number of posts in the forum.
+ * - last_reply: Text representing the last time a forum was posted or
+ * commented in.
+ * - forum_id: Forum ID for the current forum. Parent to all items within the
+ * forums array.
+ *
+ * @see template_preprocess_forum_list()
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+
{{ 'Forum'|t }}
+
{{ 'Topics'|t }}
+
{{ 'Posts'|t }}
+
{{ 'Last post'|t }}
+
+
+
+ {% for child_id, forum in forums %}
+
+
+ {#
+ Enclose the contents of this cell with X divs, where X is the
+ depth this forum resides at. This will allow us to use CSS
+ left-margin for indenting.
+ #}
+ {% for i in 1..forum.depth if forum.depth > 0 %}
diff --git a/core/themes/classy/templates/forum/forum-submitted.html.twig b/core/themes/classy/templates/forum/forum-submitted.html.twig
new file mode 100644
index 0000000..f679363
--- /dev/null
+++ b/core/themes/classy/templates/forum/forum-submitted.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a forum post submission string.
+ *
+ * The submission string indicates when and by whom a topic was submitted.
+ *
+ * Available variables:
+ * - author: The author of the post.
+ * - time: How long ago the post was created.
+ * - topic: An object with the raw data of the post. Potentially unsafe. Be
+ * sure to clean this data before printing.
+ *
+ * @see template_preprocess_forum_submitted()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if time %}
+ {% trans %}By {{ author|passthrough }} {{ time }} ago{% endtrans %}
+{% else %}
+ {{ 'n/a'|t }}
+{% endif %}
diff --git a/core/themes/classy/templates/forum/forums.html.twig b/core/themes/classy/templates/forum/forums.html.twig
new file mode 100644
index 0000000..1bb7c05
--- /dev/null
+++ b/core/themes/classy/templates/forum/forums.html.twig
@@ -0,0 +1,25 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a forum.
+ *
+ * May contain forum containers as well as forum topics.
+ *
+ * Available variables:
+ * - forums: The forums to display (as processed by forum-list.html.twig).
+ * - topics: The topics to display.
+ * - topics_pager: The topics pager.
+ * - forums_defined: A flag to indicate that the forums are configured.
+ *
+ * @see template_preprocess_forums()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if forums_defined %}
+
diff --git a/core/themes/classy/templates/image/image-style.html.twig b/core/themes/classy/templates/image/image-style.html.twig
new file mode 100644
index 0000000..6d70ade
--- /dev/null
+++ b/core/themes/classy/templates/image/image-style.html.twig
@@ -0,0 +1,20 @@
+{#
+/**
+ * @file
+ * Default theme implementation for an image using a specific image style.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the image, including the following:
+ * - src: Full URL or relative path to the image file.
+ * - class: One or more classes to be applied to the image.
+ * - width: The width of the image (if known).
+ * - height: The height of the image (if known).
+ * - title: The title of the image.
+ * - alt: The alternative text for the image.
+ *
+ * @see template_preprocess_image_style()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ image }}
diff --git a/core/themes/classy/templates/image/image-widget.html.twig b/core/themes/classy/templates/image/image-widget.html.twig
new file mode 100644
index 0000000..8bdc5f1
--- /dev/null
+++ b/core/themes/classy/templates/image/image-widget.html.twig
@@ -0,0 +1,25 @@
+{#
+/**
+ * @file
+ * Default theme implementation for an image field widget.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - data: Render elements of the image widget.
+ *
+ * @see template_preprocess_image_widget()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {% if data.preview %}
+
+ {{ data.preview }}
+
+ {% endif %}
+
+ {# Render widget data without the image preview that was output already. #}
+ {{ data|without('preview') }}
+
+
diff --git a/core/themes/classy/templates/link/link-formatter-link-separate.html.twig b/core/themes/classy/templates/link/link-formatter-link-separate.html.twig
new file mode 100644
index 0000000..16b91ed
--- /dev/null
+++ b/core/themes/classy/templates/link/link-formatter-link-separate.html.twig
@@ -0,0 +1,24 @@
+{#
+/**
+ * @file
+ * Default theme implementation of a link with separate title and URL elements.
+ *
+ * Available variables:
+ * - link: The link that has already been formatted by l().
+ * - title: (optional) A descriptive or alternate title for the link, which may
+ * be different than the actual link text.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_link_formatter_link_separate()
+ *
+ * @ingroup themeable
+ */
+#}
+{% spaceless %}
+
+ {% if title %}
+
{{ title }}
+ {% endif %}
+
{{ link }}
+
+{% endspaceless %}
diff --git a/core/themes/classy/templates/node/field--node--created.html.twig b/core/themes/classy/templates/node/field--node--created.html.twig
new file mode 100644
index 0000000..496d6b2
--- /dev/null
+++ b/core/themes/classy/templates/node/field--node--created.html.twig
@@ -0,0 +1,38 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the node created field.
+ *
+ * This is an override of field.html.twig for the node created field. See that
+ * template for documentation about its details and overrides.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing span element.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ * @see field.html.twig
+ *
+ * @ingroup themeable
+ */
+#}
+{% set field_name_class = field_name|clean_class %}
+{%
+ set classes = [
+ 'field',
+ 'field-' ~ entity_type|clean_class ~ '--' ~ field_name_class,
+ 'field-name-' ~ field_name_class,
+ 'field-type-' ~ field_type|clean_class,
+ 'field-label-' ~ label_display,
+ ]
+%}
+
+ {%- for item in items -%}
+ {{ item.content }}
+ {%- endfor -%}
+
diff --git a/core/themes/classy/templates/node/field--node--title.html.twig b/core/themes/classy/templates/node/field--node--title.html.twig
new file mode 100644
index 0000000..5b37bfa
--- /dev/null
+++ b/core/themes/classy/templates/node/field--node--title.html.twig
@@ -0,0 +1,38 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the node title field.
+ *
+ * This is an override of field.html.twig for the node title field. See that
+ * template for documentation about its details and overrides.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing span element.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ * @see field.html.twig
+ *
+ * @ingroup themeable
+ */
+#}
+{% set field_name_class = field_name|clean_class %}
+{%
+ set classes = [
+ 'field',
+ 'field-' ~ entity_type|clean_class ~ '--' ~ field_name_class,
+ 'field-name-' ~ field_name_class,
+ 'field-type-' ~ field_type|clean_class,
+ 'field-label-' ~ label_display,
+ ]
+%}
+
+ {%- for item in items -%}
+ {{ item.content }}
+ {%- endfor -%}
+
diff --git a/core/themes/classy/templates/node/field--node--uid.html.twig b/core/themes/classy/templates/node/field--node--uid.html.twig
new file mode 100644
index 0000000..0798d7e
--- /dev/null
+++ b/core/themes/classy/templates/node/field--node--uid.html.twig
@@ -0,0 +1,38 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the node user field.
+ *
+ * This is an override of field.html.twig for the node user field. See that
+ * template for documentation about its details and overrides.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing span element.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ * @see field.html.twig
+ *
+ * @ingroup themeable
+ */
+#}
+{% set field_name_class = field_name|clean_class %}
+{%
+ set classes = [
+ 'field',
+ 'field-' ~ entity_type|clean_class ~ '--' ~ field_name_class,
+ 'field-name-' ~ field_name_class,
+ 'field-type-' ~ field_type|clean_class,
+ 'field-label-' ~ label_display,
+ ]
+%}
+
+ {%- for item in items -%}
+ {{ item.content }}
+ {%- endfor -%}
+
diff --git a/core/themes/classy/templates/node/node-add-list.html.twig b/core/themes/classy/templates/node/node-add-list.html.twig
new file mode 100644
index 0000000..258d3e6
--- /dev/null
+++ b/core/themes/classy/templates/node/node-add-list.html.twig
@@ -0,0 +1,32 @@
+{#
+/**
+ * @file
+ * Default theme implementation to list node types available for adding content.
+ *
+ * This list is displayed on the Add content admin page.
+ *
+ * Available variables:
+ * - types: A list of content types, each with the following properties:
+ * - add_link: Link to create a piece of content of this type.
+ * - description: Description of this type of content.
+ *
+ * @see template_preprocess_node_add_list()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if types is not empty %}
+
+ {% for type in types %}
+
{{ type.add_link }}
+
{{ type.description }}
+ {% endfor %}
+
+{% else %}
+
+ {% set create_content = path('node.type_add') %}
+ {% trans %}
+ You have not created any content types yet. Go to the content type creation page to add a new content type.
+ {% endtrans %}
+
+{% endif %}
diff --git a/core/themes/classy/templates/node/node-edit-form.html.twig b/core/themes/classy/templates/node/node-edit-form.html.twig
new file mode 100644
index 0000000..6d8ac2a
--- /dev/null
+++ b/core/themes/classy/templates/node/node-edit-form.html.twig
@@ -0,0 +1,30 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a node edit form.
+ *
+ * Two column template for the node add/edit form.
+ *
+ * This template will be used when a node edit form specifies 'node_edit_form'
+ * as its #theme callback. Otherwise, by default, node add/edit forms will be
+ * themed by form.html.twig.
+ *
+ * Available variables:
+ * - form: The node add/edit form.
+ *
+ * @see seven_form_node_form_alter()
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+ {{ form|without('advanced', 'actions') }}
+
+
+ {{ form.advanced }}
+
+
+
diff --git a/core/themes/classy/templates/node/node.html.twig b/core/themes/classy/templates/node/node.html.twig
new file mode 100644
index 0000000..a78fcb3
--- /dev/null
+++ b/core/themes/classy/templates/node/node.html.twig
@@ -0,0 +1,111 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a node.
+ *
+ * Available variables:
+ * - node: Full node entity.
+ * - id: The node ID.
+ * - bundle: The type of the node, for example, "page" or "article".
+ * - authorid: The user ID of the node author.
+ * - createdtime: Formatted creation date. Preprocess functions can
+ * reformat it by calling format_date() with the desired parameters on
+ * $variables['node']->getCreatedTime().
+ * - label: The title of the node.
+ * - content: All node items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - author_picture: The node author user entity, rendered using the "compact"
+ * view mode.
+ * - metadata: Metadata for this node.
+ * - date: Themed creation date field.
+ * - author_name: Themed author name field.
+ * - url: Direct URL of the current node.
+ * - display_submitted: Whether submission information should be displayed.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - node: The current template type (also known as a "theming hook").
+ * - node--type-[type]: The current node type. For example, if the node is an
+ * "Article" it would result in "node--type-article". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - node--view-mode-[view_mode]: The View Mode of the node; for example, a
+ * teaser would result in: "node--view-mode-teaser", and
+ * full: "node--view-mode-full".
+ * The following are controlled through the node publishing options.
+ * - node--promoted: Appears on nodes promoted to the front page.
+ * - node--sticky: Appears on nodes ordered above other non-sticky nodes in
+ * teaser listings.
+ * - node--unpublished: Appears on unpublished nodes visible only to site
+ * admins.
+ * - title_attributes: Same as attributes, except applied to the main title
+ * tag that appears in the template.
+ * - content_attributes: Same as attributes, except applied to the main
+ * content tag that appears in the template.
+ * - author_attributes: Same as attributes, except applied to the author of
+ * the node tag that appears in the template.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ * - view_mode: View mode; for example, "teaser" or "full".
+ * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
+ * - page: Flag for the full page state. Will be true if view_mode is 'full'.
+ * - readmore: Flag for more state. Will be true if the teaser content of the
+ * node cannot hold the main body content.
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_node()
+ *
+ * @todo Remove the id attribute (or make it a class), because if that gets
+ * rendered twice on a page this is invalid CSS for example: two lists
+ * in different view modes.
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'node',
+ 'node--type-' ~ node.bundle|clean_class,
+ node.isPromoted() ? 'node--promoted',
+ node.isSticky() ? 'node--sticky',
+ not node.isPublished() ? 'node--unpublished',
+ view_mode ? 'node--view-mode-' ~ view_mode|clean_class,
+ ]
+%}
+
+
+ {{ title_prefix }}
+ {% if not page %}
+
+ {% endif %}
+
+
diff --git a/core/themes/classy/templates/rdf/rdf-metadata.html.twig b/core/themes/classy/templates/rdf/rdf-metadata.html.twig
new file mode 100644
index 0000000..4f65294
--- /dev/null
+++ b/core/themes/classy/templates/rdf/rdf-metadata.html.twig
@@ -0,0 +1,22 @@
+{#
+/**
+ * @file
+ * Default theme implementation for empty spans with RDF attributes.
+ *
+ * The XHTML+RDFa doctype allows either or syntax to
+ * be used, but for maximum browser compatibility, W3C recommends the
+ * former when serving pages using the text/html media type, see
+ * http://www.w3.org/TR/xhtml1/#C_3.
+ *
+ * Available variables:
+ * - metadata: Each item within corresponds to its own set of attributes,
+ * and therefore, needs its own 'attributes' element.
+ *
+ * @see template_preprocess_rdf_metadata()
+ *
+ * @ingroup themeable
+ */
+#}
+{% for attributes in metadata %}
+
+{% endfor %}
diff --git a/core/themes/classy/templates/search/block--search-form-block.html.twig b/core/themes/classy/templates/search/block--search-form-block.html.twig
new file mode 100644
index 0000000..399ddd7
--- /dev/null
+++ b/core/themes/classy/templates/search/block--search-form-block.html.twig
@@ -0,0 +1,54 @@
+{#
+/**
+ * @file
+ * Default theme override for the search form block.
+ *
+ * Available variables:
+ * - plugin_id: The ID of the block implementation.
+ * - label: The configured label of the block if visible.
+ * - configuration: A list of the block's configuration values, including:
+ * - label: The configured label for the block.
+ * - label_display: The display settings for the label.
+ * - module: The module that provided this block plugin.
+ * - cache: The cache settings.
+ * - Block plugin specific settings will also be stored here.
+ * - block - The full block entity, including:
+ * - label_hidden: The hidden block title value if the block was
+ * configured to hide the title ('label' is empty in this case).
+ * - module: The module that generated the block.
+ * - delta: An ID for the block, unique within each module.
+ * - region: The block region embedding the current block.
+ * - content: The content of this block.
+ * - attributes: A list HTML attributes populated by modules, intended to
+ * be added to the main container tag of this template. Includes:
+ * - id: A valid HTML ID and guaranteed unique.
+ * - title_attributes: Same as attributes, except applied to the main title
+ * tag that appears in the template.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ *
+ * @see template_preprocess_block()
+ * @see search_preprocess_block()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'block',
+ 'block-search',
+ 'container-inline',
+ ]
+%}
+
diff --git a/core/themes/classy/templates/search/search-result.html.twig b/core/themes/classy/templates/search/search-result.html.twig
new file mode 100644
index 0000000..732489b
--- /dev/null
+++ b/core/themes/classy/templates/search/search-result.html.twig
@@ -0,0 +1,73 @@
+{#
+/**
+ * @file
+ * Default theme implementation for displaying a single search result.
+ *
+ * This template renders a single search result. The list of results is
+ * rendered using '#theme' => 'item_list', with suggestions of:
+ * - item_list__search_results__(plugin_id)
+ * - item_list__search_results
+ *
+ * Available variables:
+ * - url: URL of the result.
+ * - title: Title of the result.
+ * - snippet: A small preview of the result. Does not apply to user searches.
+ * - info: String of all the meta information ready for print. Does not apply
+ * to user searches.
+ * - plugin_id: The machine-readable name of the plugin being executed,such
+ * as "node_search" or "user_search".
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ * - info_split: Contains same data as info, but split into separate parts.
+ * - info_split.type: Node type (or item type string supplied by module).
+ * - info_split.user: Author of the node linked to users profile. Depends
+ * on permission.
+ * - info_split.date: Last update of the node. Short formatted.
+ * - info_split.comment: Number of comments output as "% comments", %
+ * being the count. (Depends on comment.module).
+ * @todo The info variable needs to be made drillable and each of these sub
+ * items should instead be within info and renamed info.foo, info.bar, etc.
+ *
+ * Other variables:
+ * - title_attributes: HTML attributes for the title.
+ * - content_attributes: HTML attributes for the content.
+ *
+ * Since info_split is keyed, a direct print of the item is possible.
+ * This array does not apply to user searches so it is recommended to check
+ * for its existence before printing. The default keys of 'type', 'user' and
+ * 'date' always exist for node searches. Modules may provide other data.
+ * @code
+ * {% if (info_split.comment) %}
+ *
+ * {{ info_split.comment }}
+ *
+ * {% endif %}
+ * @endcode
+ *
+ * To check for all available data within info_split, use the code below.
+ * @code
+ *
diff --git a/core/themes/classy/templates/system/block--system-branding-block.html.twig b/core/themes/classy/templates/system/block--system-branding-block.html.twig
new file mode 100644
index 0000000..f648773
--- /dev/null
+++ b/core/themes/classy/templates/system/block--system-branding-block.html.twig
@@ -0,0 +1,32 @@
+{% extends "block.html.twig" %}
+{#
+/**
+ * @file
+ * Default theme implementation for a branding block.
+ *
+ * Each branding element variable (logo, name, slogan) is only available if
+ * enabled in the block configuration.
+ *
+ * Available variables:
+ * - site_logo: Logo for site as defined in Appearance or theme settings.
+ * - site_name: Name for site as defined in Site information settings.
+ * - site_slogan: Slogan for site as defined in Site information settings.
+ *
+ * @ingroup themeable
+ */
+#}
+{% block content %}
+ {% if site_logo %}
+
+
+
+ {% endif %}
+ {% if site_name %}
+
+ {% endif %}
+{% endblock %}
diff --git a/core/themes/classy/templates/system/block--system-menu-block.html.twig b/core/themes/classy/templates/system/block--system-menu-block.html.twig
new file mode 100644
index 0000000..dff7e39
--- /dev/null
+++ b/core/themes/classy/templates/system/block--system-menu-block.html.twig
@@ -0,0 +1,65 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a menu block.
+ *
+ * Available variables:
+ * - plugin_id: The ID of the block implementation.
+ * - label: The configured label of the block if visible.
+ * - configuration: A list of the block's configuration values.
+ * - label: The configured label for the block.
+ * - label_display: The display settings for the label.
+ * - module: The module that provided this block plugin.
+ * - cache: The cache settings.
+ * - Block plugin specific settings will also be stored here.
+ * - block - The full block entity.
+ * - label_hidden: The hidden block title value if the block was
+ * configured to hide the title ('label' is empty in this case).
+ * - module: The module that generated the block.
+ * - delta: An ID for the block, unique within each module.
+ * - region: The block region embedding the current block.
+ * - content: The content of this block.
+ * - attributes: HTML attributes for the containing element.
+ * - id: A valid HTML ID and guaranteed unique.
+ * - title_attributes: HTML attributes for the title element.
+ * - content_attributes: HTML attributes for the content element.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ *
+ * Headings should be used on navigation menus that consistently appear on
+ * multiple pages. When this menu block's label is configured to not be
+ * displayed, it is automatically made invisible using the 'visually-hidden' CSS
+ * class, which still keeps it visible for screen-readers and assistive
+ * technology. Headings allow screen-reader and keyboard only users to navigate
+ * to or skip the links.
+ * See http://juicystudio.com/article/screen-readers-display-none.php and
+ * http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'block',
+ 'block-menu',
+ 'navigation',
+ 'menu--' ~ derivative_plugin_id|clean_class,
+ ]
+%}
+{% set heading_id = attributes.id ~ '-menu'|clean_id %}
+
diff --git a/core/themes/classy/templates/system/breadcrumb.html.twig b/core/themes/classy/templates/system/breadcrumb.html.twig
new file mode 100644
index 0000000..f6a1705
--- /dev/null
+++ b/core/themes/classy/templates/system/breadcrumb.html.twig
@@ -0,0 +1,27 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a breadcrumb trail.
+ *
+ * Available variables:
+ * - breadcrumb: Breadcrumb trail items.
+ *
+ * @ingroup themeable
+ */
+#}
+{% if breadcrumb %}
+
+{% endif %}
diff --git a/core/themes/classy/templates/system/checkboxes.html.twig b/core/themes/classy/templates/system/checkboxes.html.twig
new file mode 100644
index 0000000..7c56355
--- /dev/null
+++ b/core/themes/classy/templates/system/checkboxes.html.twig
@@ -0,0 +1,17 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a 'checkboxes' #type form element.
+ *
+ * Available variables
+ * - attributes: A list of HTML attributes for the wrapper element.
+ * - children: The rendered checkboxes.
+ *
+ * @see template_preprocess_checkboxes()
+ *
+ * @ingroup themeable
+ */
+ @todo: remove this file once http://drupal.org/node/1819284 is resolved.
+ This is identical to core/modules/system/templates/container.html.twig
+#}
+
{{ children }}
diff --git a/core/themes/classy/templates/system/confirm-form.html.twig b/core/themes/classy/templates/system/confirm-form.html.twig
new file mode 100644
index 0000000..d714917
--- /dev/null
+++ b/core/themes/classy/templates/system/confirm-form.html.twig
@@ -0,0 +1,15 @@
+{#
+/**
+ * @file
+ * Default theme implementation for confirm form.
+ *
+ * By default this does not alter the appearance of a form at all,
+ * but is provided as a convenience for themers.
+ *
+ * Available variables:
+ * - form: The confirm form.
+ *
+ * @ingroup themeable
+ */
+#}
+{{ form }}
diff --git a/core/themes/classy/templates/system/container.html.twig b/core/themes/classy/templates/system/container.html.twig
new file mode 100644
index 0000000..6fb8159
--- /dev/null
+++ b/core/themes/classy/templates/system/container.html.twig
@@ -0,0 +1,20 @@
+{#
+/**
+ * @file
+ * Default theme implementation of a container used to wrap child elements.
+ *
+ * Used for grouped form items. Can also be used as a #theme_wrapper for any
+ * renderable element, to surround it with a
and HTML attributes.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - children: The rendered child elements of the container.
+ * - has_parent: A flag to indicate that the container has one or more parent
+ containers.
+ *
+ * @see template_preprocess_container()
+ *
+ * @ingroup themeable
+ */
+#}
+
{{ children }}
diff --git a/core/themes/classy/templates/system/datetime-form.html.twig b/core/themes/classy/templates/system/datetime-form.html.twig
new file mode 100644
index 0000000..bf31668
--- /dev/null
+++ b/core/themes/classy/templates/system/datetime-form.html.twig
@@ -0,0 +1,17 @@
+{#
+/**
+ * @file
+ * Default theme implementation of a datetime form element.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the datetime form element.
+ * - content: The datelist form element to be output.
+ *
+ * @see template_preprocess_datetime_form()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {{ content }}
+
diff --git a/core/themes/classy/templates/system/datetime-wrapper.html.twig b/core/themes/classy/templates/system/datetime-wrapper.html.twig
new file mode 100644
index 0000000..45ba069
--- /dev/null
+++ b/core/themes/classy/templates/system/datetime-wrapper.html.twig
@@ -0,0 +1,30 @@
+{#
+/**
+ * @file
+ * Default theme implementation of a datetime form wrapper.
+ *
+ * Available variables:
+ * - content: The form element to be output, usually a datelist, or datetime.
+ * - title: The title of the form element.
+ * - title_attributes: HTML attributes for the title wrapper.
+ * - description: Description text for the form element.
+ * - required: An indicator for whether the associated form element is required.
+ *
+ * @see template_preprocess_datetime_wrapper()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set title_classes = [
+ 'label',
+ required ? 'form-required',
+ ]
+%}
+{% if title %}
+
+{% endif %}
diff --git a/core/themes/classy/templates/system/details.html.twig b/core/themes/classy/templates/system/details.html.twig
new file mode 100644
index 0000000..17ea820
--- /dev/null
+++ b/core/themes/classy/templates/system/details.html.twig
@@ -0,0 +1,33 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a details element.
+ *
+ * Available variables
+ * - attributes: A list of HTML attributes for the details element.
+ * - title: (optional) The title of the element, may not be set.
+ * - description: (optional) The description of the element, may not be set.
+ * - children: (optional) The children of the element, may not be set.
+ * - value: (optional) The value of the element, may not be set.
+ *
+ * @see template_preprocess_details()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {%- if title -%}
+ {{ title }}
+ {%- endif -%}
+
+ {%- if description -%}
+
{{ description }}
+ {%- endif -%}
+ {%- if children -%}
+ {{ children }}
+ {%- endif -%}
+ {%- if value -%}
+ {{ value }}
+ {%- endif -%}
+
+
diff --git a/core/themes/classy/templates/system/dropbutton-wrapper.html.twig b/core/themes/classy/templates/system/dropbutton-wrapper.html.twig
new file mode 100644
index 0000000..ca0ff7e
--- /dev/null
+++ b/core/themes/classy/templates/system/dropbutton-wrapper.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a dropbutton wrapper.
+ *
+ * Available variables:
+ * - children: Contains the child elements of the dropbutton menu.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_dropbutton_wrapper()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if children %}
+ {% spaceless %}
+
+
+ {{ children }}
+
+
+ {% endspaceless %}
+{% endif %}
diff --git a/core/themes/classy/templates/system/feed-icon.html.twig b/core/themes/classy/templates/system/feed-icon.html.twig
new file mode 100644
index 0000000..b3c10d1
--- /dev/null
+++ b/core/themes/classy/templates/system/feed-icon.html.twig
@@ -0,0 +1,18 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a feed icon.
+ *
+ * Available variables:
+ * - url: An internal system path or a fully qualified external URL of the feed.
+ * - icon: The rendered HTML ( tag) for the feed icon image.
+ * - attributes: Remaining HTML attributes for the feed link.
+ * - title: A descriptive title of the feed link.
+ * - class: HTML classes to be applied to the feed link.
+ *
+ * @see template_preprocess_feed_icon()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ icon }}
diff --git a/core/themes/classy/templates/system/field-multiple-value-form.html.twig b/core/themes/classy/templates/system/field-multiple-value-form.html.twig
new file mode 100644
index 0000000..f18a853
--- /dev/null
+++ b/core/themes/classy/templates/system/field-multiple-value-form.html.twig
@@ -0,0 +1,36 @@
+{#
+/**
+ * @file
+ * Default theme implementation for an individual form element.
+ *
+ * Available variables for all fields:
+ * - multiple: Whether there are multiple instances of the field.
+ *
+ * Available variables for single cardinality fields:
+ * - elements: Form elements to be rendered.
+ *
+ * Available variables when there are multiple fields.
+ * - table: Table of field items.
+ * - description: Description text for the form element.
+ * - button: "Add another item" button.
+ *
+ * @see template_preprocess_field_multiple_value_form()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if multiple %}
+
+ {{ table }}
+ {% if description %}
+
{{ description }}
+ {% endif %}
+ {% if button %}
+
{{ button }}
+ {% endif %}
+
+{% else %}
+ {% for element in elements %}
+ {{ element }}
+ {% endfor %}
+{% endif %}
diff --git a/core/themes/classy/templates/system/field.html.twig b/core/themes/classy/templates/system/field.html.twig
new file mode 100644
index 0000000..0745f84
--- /dev/null
+++ b/core/themes/classy/templates/system/field.html.twig
@@ -0,0 +1,67 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - content_attributes: HTML attributes for the content.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ * @see template_preprocess_field()
+ *
+ * @ingroup themeable
+ */
+#}
+{% set field_name_class = field_name|clean_class %}
+{%
+ set classes = [
+ 'field',
+ 'field-' ~ entity_type|clean_class ~ '--' ~ field_name_class,
+ 'field-name-' ~ field_name_class,
+ 'field-type-' ~ field_type|clean_class,
+ 'field-label-' ~ label_display,
+ label_display == 'inline' ? 'clearfix',
+ ]
+%}
+{%
+ set title_classes = [
+ 'field-label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+ {% if not label_hidden %}
+
{{ label }}
+ {% endif %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+
diff --git a/core/themes/classy/templates/system/fieldset.html.twig b/core/themes/classy/templates/system/fieldset.html.twig
new file mode 100644
index 0000000..ab6796c
--- /dev/null
+++ b/core/themes/classy/templates/system/fieldset.html.twig
@@ -0,0 +1,47 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a fieldset element and its children.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the fieldset element.
+ * - required: Boolean indicating whether the fieldeset element is required.
+ * - legend: The legend element containing the following properties:
+ * - title: Title of the fieldset, intended for use as the text of the legend.
+ * - attributes: HTML attributes to apply to the legend.
+ * - description: The description element containing the following properties:
+ * - content: The description content of the fieldset.
+ * - attributes: HTML attributes to apply to the description container.
+ * - children: The rendered child elements of the fieldset.
+ * - prefix: The content to add before the fieldset children.
+ * - suffix: The content to add after the fieldset children.
+ *
+ * @see template_preprocess_fieldset()
+ *
+ * @ingroup themeable
+ */
+#}
+
diff --git a/core/themes/classy/templates/system/form-element-label.html.twig b/core/themes/classy/templates/system/form-element-label.html.twig
new file mode 100644
index 0000000..6ececd9
--- /dev/null
+++ b/core/themes/classy/templates/system/form-element-label.html.twig
@@ -0,0 +1,26 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a form element label.
+ *
+ * Available variables:
+ * - title: The label's text.
+ * - title_display: Elements title_display setting.
+ * - required: An indicator for whether the associated form element is required.
+ * - attributes: A list of HTML attributes for the label.
+ *
+ * @see template_preprocess_form_element_label()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ title_display == 'after' ? 'option',
+ title_display == 'invisible' ? 'visually-hidden',
+ required ? 'form-required',
+ ]
+%}
+{% if title is not empty or required -%}
+
+{%- endif %}
diff --git a/core/themes/classy/templates/system/form-element.html.twig b/core/themes/classy/templates/system/form-element.html.twig
new file mode 100644
index 0000000..a961801
--- /dev/null
+++ b/core/themes/classy/templates/system/form-element.html.twig
@@ -0,0 +1,87 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a form element.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - prefix: (optional) The form element prefix, may not be set.
+ * - suffix: (optional) The form element suffix, may not be set.
+ * - required: The required marker, or empty if the associated form element is
+ * not required.
+ * - type: The type of the element.
+ * - name: The name of the element.
+ * - label: A rendered label element.
+ * - label_display: Label display setting. It can have these values:
+ * - before: The label is output before the element. This is the default.
+ * The label includes the #title and the required marker, if #required.
+ * - after: The label is output after the element. For example, this is used
+ * for radio and checkbox #type elements. If the #title is empty but the
+ * field is #required, the label will contain only the required marker.
+ * - invisible: Labels are critical for screen readers to enable them to
+ * properly navigate through forms but can be visually distracting. This
+ * property hides the label for everyone except screen readers.
+ * - attribute: Set the title attribute on the element to create a tooltip but
+ * output no label element. This is supported only for checkboxes and radios
+ * in \Drupal\Core\Render\Element\CompositeFormElementTrait::preRenderCompositeFormElement().
+ * It is used where a visual label is not needed, such as a table of
+ * checkboxes where the row and column provide the context. The tooltip will
+ * include the title and required marker.
+ * - description: (optional) A list of description properties containing:
+ * - content: A description of the form element, may not be set.
+ * - attributes: (optional) A list of HTML attributes to apply to the
+ * description content wrapper. Will only be set when description is set.
+ * - description_display: Description display setting. It can have these values:
+ * - before: The description is output before the element.
+ * - after: The description is output after the element. This is the default
+ * value.
+ * - invisible: The description is output after the element, hidden visually
+ * but available to screen readers.
+ * - disabled: True if the element is disabled.
+ * - title_display: Title display setting.
+ *
+ * @see template_preprocess_form_element()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'form-item',
+ 'form-type-' ~ type|clean_class,
+ 'form-item-' ~ name|clean_class,
+ title_display not in ['after', 'before'] ? 'form-no-label',
+ disabled == 'disabled' ? 'form-disabled',
+ ]
+%}
+{%
+ set description_classes = [
+ 'description',
+ description_display == 'invisible' ? 'visually-hidden',
+ ]
+%}
+
+ {% if label_display in ['before', 'invisible'] %}
+ {{ label }}
+ {% endif %}
+ {% if prefix is not empty %}
+ {{ prefix }}
+ {% endif %}
+ {% if description_display == 'before' and description.content %}
+
+ {{ description.content }}
+
+ {% endif %}
+ {{ children }}
+ {% if suffix is not empty %}
+ {{ suffix }}
+ {% endif %}
+ {% if label_display == 'after' %}
+ {{ label }}
+ {% endif %}
+ {% if description_display in ['after', 'invisible'] and description.content %}
+
+ {{ description.content }}
+
+ {% endif %}
+
diff --git a/core/themes/classy/templates/system/form.html.twig b/core/themes/classy/templates/system/form.html.twig
new file mode 100644
index 0000000..2cd1e95
--- /dev/null
+++ b/core/themes/classy/templates/system/form.html.twig
@@ -0,0 +1,17 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a 'form' element.
+ *
+ * Available variables
+ * - attributes: A list of HTML attributes for the wrapper element.
+ * - children: The child elements of the form.
+ *
+ * @see template_preprocess_form()
+ *
+ * @ingroup themeable
+ */
+#}
+
diff --git a/core/themes/classy/templates/system/html.html.twig b/core/themes/classy/templates/system/html.html.twig
new file mode 100644
index 0000000..888cf2d
--- /dev/null
+++ b/core/themes/classy/templates/system/html.html.twig
@@ -0,0 +1,56 @@
+{#
+/**
+ * @file
+ * Default theme implementation for the basic structure of a single Drupal page.
+ *
+ * Variables:
+ * - logged_in: A flag indicating if user is logged in.
+ * - root_path: The root path of the current page (e.g., node, admin, user).
+ * - node_type: The content type for the current node, if the page is a node.
+ * - css: A list of CSS files for the current page.
+ * - head: Markup for the HEAD element (including meta tags, keyword tags, and
+ * so on).
+ * - head_title: A modified version of the page title, for use in the TITLE tag.
+ * - head_title_array: List of text elements that make up the head_title
+ * variable. May contain or more of the following:
+ * - title: The title of the page.
+ * - name: The name of the site.
+ * - slogan: The slogan of the site.
+ * - page_top: Initial rendered markup. This should be printed before 'page'.
+ * - page: The rendered page markup.
+ * - page_bottom: Closing rendered markup. This variable should be printed after
+ * 'page'.
+ * - styles: Style tags necessary to import all necessary CSS files in the head.
+ * - scripts: Script tags necessary to load the JavaScript files and settings
+ * in the head.
+ *
+ * @see template_preprocess_html()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set body_classes = [
+ logged_in ? 'user-logged-in',
+ not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
+ node_type ? 'node--type-' ~ node_type|clean_class,
+ ]
+%}
+
+
+
+ {{ head }}
+ {{ head_title }}
+ {{ styles }}
+ {{ scripts }}
+
+
+
+ {{ 'Skip to main content'|t }}
+
+ {{ page_top }}
+ {{ page }}
+ {{ page_bottom }}
+ {{ scripts_bottom }}
+
+
diff --git a/core/themes/classy/templates/system/image.html.twig b/core/themes/classy/templates/system/image.html.twig
new file mode 100644
index 0000000..2f29304
--- /dev/null
+++ b/core/themes/classy/templates/system/image.html.twig
@@ -0,0 +1,20 @@
+{#
+/**
+ * @file
+ * Default theme implementation of an image.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the img tag.
+ * - style_name: (optional) The name of the image style applied.
+ *
+ * @see template_preprocess_image()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+set classes = [
+ style_name ? 'image-style-' ~ style_name|clean_class,
+]
+%}
+
diff --git a/core/themes/classy/templates/system/indentation.html.twig b/core/themes/classy/templates/system/indentation.html.twig
new file mode 100644
index 0000000..e5e7b32
--- /dev/null
+++ b/core/themes/classy/templates/system/indentation.html.twig
@@ -0,0 +1,20 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a set of indentation divs.
+ *
+ * These
tags are used for drag and drop tables.
+ *
+ * Available variables:
+ * - size: Optional. The number of indentations to create.
+ *
+ * @ingroup themeable
+ */
+#}
+
+{% for i in 1..size if size > 0 %}
{% endfor %}
diff --git a/core/themes/classy/templates/system/input.html.twig b/core/themes/classy/templates/system/input.html.twig
new file mode 100644
index 0000000..1409c25
--- /dev/null
+++ b/core/themes/classy/templates/system/input.html.twig
@@ -0,0 +1,15 @@
+{#
+/**
+ * @file
+ * Default theme implementation for an 'input' #type form element.
+ *
+ * Available variables:
+ * - attributes: A list of HTML attributes for the input element.
+ * - children: Optional additional rendered elements.
+ *
+ * @see template_preprocess_input()
+ *
+ * @ingroup themeable
+ */
+#}
+{{ children }}
diff --git a/core/themes/classy/templates/system/item-list.html.twig b/core/themes/classy/templates/system/item-list.html.twig
new file mode 100644
index 0000000..bd71e7f
--- /dev/null
+++ b/core/themes/classy/templates/system/item-list.html.twig
@@ -0,0 +1,36 @@
+{#
+/**
+ * @file
+ * Default theme implementation for an item list.
+ *
+ * Available variables:
+ * - items: A list of items. Each item contains:
+ * - attributes: HTML attributes to be applied to each list item.
+ * - value: The content of the list element.
+ * - title: The title of the list.
+ * - list_type: The tag for list element ("ul" or "ol").
+ * - attributes: HTML attributes to be applied to the list.
+ * - empty: A message to display when there are no items. Allowed value is a
+ * string or render array.
+ *
+ * @see template_preprocess_item_list()
+ *
+ * @ingroup themeable
+ */
+#}
+{%- if items or empty -%}
+
+ {%- if title is not empty -%}
+
{{ title }}
+ {%- endif -%}
+ {%- if items -%}
+ <{{ list_type }}{{ attributes }}>
+ {%- for item in items -%}
+
+{%- endif %}
diff --git a/core/themes/classy/templates/system/links.html.twig b/core/themes/classy/templates/system/links.html.twig
new file mode 100644
index 0000000..56c7ec2
--- /dev/null
+++ b/core/themes/classy/templates/system/links.html.twig
@@ -0,0 +1,60 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a set of links.
+ *
+ * Available variables:
+ * - attributes: Attributes for the UL containing the list of links.
+ * - links: Links to be output.
+ * Each link will have the following elements:
+ * - title: The link text.
+ * - href: The link URL. If omitted, the 'title' is shown as a plain text
+ * item in the links list. If 'href' is supplied, the entire link is passed
+ * to l() as its $options parameter.
+ * - html: (optional) Whether or not 'title' is HTML. If set, the title will
+ * not be passed through \Drupal\Component\Utility\String::checkPlain().
+ * - attributes: (optional) HTML attributes for the anchor, or for the
+ * tag if no 'href' is supplied.
+ * - link_key: The link CSS class.
+ * - heading: (optional) A heading to precede the links.
+ * - text: The heading text.
+ * - level: The heading level (e.g. 'h2', 'h3').
+ * - attributes: (optional) A keyed list of attributes for the heading.
+ * If the heading is a string, it will be used as the text of the heading and
+ * the level will default to 'h2'.
+ *
+ * Headings should be used on navigation menus and any list of links that
+ * consistently appears on multiple pages. To make the heading invisible use
+ * the 'visually-hidden' CSS class. Do not use 'display:none', which
+ * removes it from screen readers and assistive technology. Headings allow
+ * screen reader and keyboard only users to navigate to or skip the links.
+ * See http://juicystudio.com/article/screen-readers-display-none.php and
+ * http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
+ *
+ * @see template_preprocess_links()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if links -%}
+ {%- if heading -%}
+ {%- if heading.level -%}
+ <{{ heading.level }}{{ heading.attributes }}>{{ heading.text }}{{ heading.level }}>
+ {%- else -%}
+
+{%- endif %}
diff --git a/core/themes/classy/templates/system/maintenance-page.html.twig b/core/themes/classy/templates/system/maintenance-page.html.twig
new file mode 100644
index 0000000..fd780d4
--- /dev/null
+++ b/core/themes/classy/templates/system/maintenance-page.html.twig
@@ -0,0 +1,67 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a single Drupal page while offline.
+ *
+ * All available variables are mirrored in page.html.twig.
+ * Some may be blank but they are provided for consistency.
+ *
+ * @see template_preprocess_maintenance_page()
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+ {% if logo %}
+
+
+
+ {% endif %}
+
+ {% if site_name or site_slogan %}
+
{# /.layout-container #}
diff --git a/core/themes/classy/templates/system/mark.html.twig b/core/themes/classy/templates/system/mark.html.twig
new file mode 100644
index 0000000..2798bb0
--- /dev/null
+++ b/core/themes/classy/templates/system/mark.html.twig
@@ -0,0 +1,22 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a marker for new or updated content.
+ *
+ * Available variables:
+ * - status: Number representing the marker status to display. Use the constants
+ * below for comparison:
+ * - MARK_NEW
+ * - MARK_UPDATED
+ * - MARK_READ
+ *
+ * @ingroup themeable
+ */
+#}
+{% if logged_in %}
+ {% if status is constant('MARK_NEW') %}
+ {{ 'new'|t }}
+ {% elseif status is constant('MARK_UPDATED') %}
+ {{ 'updated'|t }}
+ {% endif %}
+{% endif %}
diff --git a/core/themes/classy/templates/system/menu-local-action.html.twig b/core/themes/classy/templates/system/menu-local-action.html.twig
new file mode 100644
index 0000000..0eb03a9
--- /dev/null
+++ b/core/themes/classy/templates/system/menu-local-action.html.twig
@@ -0,0 +1,15 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a single local action link.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the wrapper element.
+ * - link: A rendered link element.
+ *
+ * @see template_preprocess_menu_local_action()
+ *
+ * @ingroup themeable
+ */
+#}
+
{{ link }}
diff --git a/core/themes/classy/templates/system/menu-local-task.html.twig b/core/themes/classy/templates/system/menu-local-task.html.twig
new file mode 100644
index 0000000..5939203
--- /dev/null
+++ b/core/themes/classy/templates/system/menu-local-task.html.twig
@@ -0,0 +1,18 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a local task link.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the wrapper element.
+ * - link: A rendered link element.
+ *
+ * Note: This template renders the content for each task item in
+ * menu-local-tasks.html.twig.
+ *
+ * @see template_preprocess_menu_local_task()
+ *
+ * @ingroup themeable
+ */
+#}
+
{{ link }}
diff --git a/core/themes/classy/templates/system/menu-local-tasks.html.twig b/core/themes/classy/templates/system/menu-local-tasks.html.twig
new file mode 100644
index 0000000..dce922b
--- /dev/null
+++ b/core/themes/classy/templates/system/menu-local-tasks.html.twig
@@ -0,0 +1,25 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display primary and secondary local tasks.
+ *
+ * Available variables:
+ * - primary: HTML list items representing primary tasks.
+ * - secondary: HTML list items representing primary tasks.
+ *
+ * Each item in these variables (primary and secondary) can be individually
+ * themed in menu-local-task.html.twig.
+ *
+ * @see template_preprocess_menu_local_tasks()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if primary %}
+
{{ 'Primary tabs'|t }}
+
{{ primary }}
+{% endif %}
+{% if secondary %}
+
{{ 'Secondary tabs'|t }}
+
{{ secondary }}
+{% endif %}
diff --git a/core/themes/classy/templates/system/menu.html.twig b/core/themes/classy/templates/system/menu.html.twig
new file mode 100644
index 0000000..f01ce84
--- /dev/null
+++ b/core/themes/classy/templates/system/menu.html.twig
@@ -0,0 +1,44 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a menu.
+ *
+ * Available variables:
+ * - menu_name: The machine name of the menu.
+ * - items: A nested list of menu items. Each menu item contains:
+ * - attributes: HTML attributes for the menu item.
+ * - below: The menu item child items.
+ * - title: The menu link title.
+ * - url: The menu link url, instance of \Drupal\Core\Url
+ * - localized_options: Menu link localized options.
+ *
+ * @ingroup themeable
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see http://twig.sensiolabs.org/doc/tags/macro.html
+#}
+{{ menus.menu_links(items, attributes, 0) }}
+
+{% macro menu_links(items, attributes, menu_level) %}
+ {% import _self as menus %}
+ {% if items %}
+ {% if menu_level == 0 %}
+
+ {% endif %}
+{% endmacro %}
diff --git a/core/themes/classy/templates/system/page.html.twig b/core/themes/classy/templates/system/page.html.twig
new file mode 100644
index 0000000..627d7c7
--- /dev/null
+++ b/core/themes/classy/templates/system/page.html.twig
@@ -0,0 +1,144 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a single page.
+ *
+ * The doctype, html, head and body tags are not in this template. Instead they
+ * can be found in the html.html.twig template in this directory.
+ *
+ * Available variables:
+ *
+ * General utility variables:
+ * - base_path: The base URL path of the Drupal installation. Will usually be
+ * "/" unless you have installed Drupal in a sub-directory.
+ * - is_front: A flag indicating if the current page is the front page.
+ * - logged_in: A flag indicating if the user is registered and signed in.
+ * - is_admin: A flag indicating if the user has permission to access
+ * administration pages.
+ *
+ * Site identity:
+ * - front_page: The URL of the front page. Use this instead of base_path when
+ * linking to the front page. This includes the language domain or prefix.
+ * - logo: The url of the logo image, as defined in theme settings.
+ * - site_name: The name of the site. This is empty when displaying the site
+ * name has been disabled in the theme settings.
+ * - site_slogan: The slogan of the site. This is empty when displaying the site
+ * slogan has been disabled in theme settings.
+ *
+ * Page content (in order of occurrence in the default page.html.twig):
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title: The page title, for use in the actual content.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ * - messages: Status and error messages. Should be displayed prominently.
+ * - tabs: Tabs linking to any sub-pages beneath the current page (e.g., the
+ * view and edit tabs when displaying a node).
+ * - action_links: Actions local to the page, such as "Add menu" on the menu
+ * administration interface.
+ * - node: Fully loaded node, if there is an automatically-loaded node
+ * associated with the page and the node ID is the second argument in the
+ * page's path (e.g. node/12345 and node/12345/revisions, but not
+ * comment/reply/12345).
+ *
+ * Regions:
+ * - page.header: Items for the header region.
+ * - page.primary_menu: Items for the primary menu region.
+ * - page.secondary_menu: Items for the secondary menu region.
+ * - page.highlighted: Items for the highlighted content region.
+ * - page.help: Dynamic help text, mostly for admin pages.
+ * - page.content: The main content of the current page.
+ * - page.sidebar_first: Items for the first sidebar.
+ * - page.sidebar_second: Items for the second sidebar.
+ * - page.footer: Items for the footer region.
+ * - page.breadcrumb: Items for the breadcrumb region.
+ *
+ * @see template_preprocess_page()
+ * @see html.html.twig
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+ {% if logo %}
+
+
+
+ {% endif %}
+
+ {% if site_name or site_slogan %}
+
+
+ {# Use h1 when the content title is empty #}
+ {% if title %}
+
+ {{ site_name }}
+
+ {% else %}
+
{# /.layout-container #}
diff --git a/core/themes/classy/templates/system/pager.html.twig b/core/themes/classy/templates/system/pager.html.twig
new file mode 100644
index 0000000..a7acd5e
--- /dev/null
+++ b/core/themes/classy/templates/system/pager.html.twig
@@ -0,0 +1,100 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a pager.
+ *
+ * Available variables:
+ * - items: List of pager items.
+ * The list is keyed by the following elements:
+ * - first: Item for the first page; not present on the first page of results.
+ * - previous: Item for the previous page; not present on the first page
+ * of results.
+ * - next: Item for the next page; not present on the last page of results.
+ * - last: Item for the last page; not present on the last page of results.
+ * - pages: List of pages, keyed by page number.
+ * Sub-sub elements:
+ * items.first, items.previous, items.next, items.last, and each item inside
+ * items.pages contain the following elements:
+ * - href: URL with appropriate query parameters for the item.
+ * - attributes: A keyed list of HTML attributes for the item.
+ * - text: The visible text used for the item link, such as "‹ previous"
+ * or "next ›".
+ * - current: The page number of the current page.
+ * - ellipses: If there are more pages than the quantity allows, then an
+ * ellipsis before or after the listed pages may be present.
+ * - previous: Present if the currently visible list of pages does not start
+ * at the first page.
+ * - next: Present if the visible list of pages ends before the last page.
+ *
+ * @see template_preprocess_pager()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if items %}
+
+{% endif %}
diff --git a/core/themes/classy/templates/system/progress-bar.html.twig b/core/themes/classy/templates/system/progress-bar.html.twig
new file mode 100644
index 0000000..885a80f
--- /dev/null
+++ b/core/themes/classy/templates/system/progress-bar.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a progress bar.
+ *
+ * Note that the core Batch API uses this only for non-JavaScript batch jobs.
+ *
+ * Available variables:
+ * - label: The label of the working task.
+ * - percent: The percentage of the progress.
+ * - message: A string containing information to be displayed.
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {% if label %}
+
{{ label }}
+ {% endif %}
+
+
{{ percent }}%
+
{{ message }}
+
diff --git a/core/themes/classy/templates/system/radios.html.twig b/core/themes/classy/templates/system/radios.html.twig
new file mode 100644
index 0000000..bf38830
--- /dev/null
+++ b/core/themes/classy/templates/system/radios.html.twig
@@ -0,0 +1,15 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a 'radios' #type form element.
+ *
+ * Available variables
+ * - attributes: A list of HTML attributes for the wrapper element.
+ * - children: The rendered radios.
+ *
+ * @see template_preprocess_radios()
+ *
+ * @ingroup themeable
+ */
+#}
+
{{ children }}
diff --git a/core/themes/classy/templates/system/region.html.twig b/core/themes/classy/templates/system/region.html.twig
new file mode 100644
index 0000000..b2c5471
--- /dev/null
+++ b/core/themes/classy/templates/system/region.html.twig
@@ -0,0 +1,27 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a region.
+ *
+ * Available variables:
+ * - content: The content for this region, typically blocks.
+ * - attributes: HTML attributes for the region div.
+ * - region: The name of the region variable as defined in the theme's
+ * .info.yml file.
+ *
+ * @see template_preprocess_region()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'region',
+ 'region-' ~ region|clean_class,
+ ]
+%}
+{% if content %}
+
+ {{ content }}
+
+{% endif %}
diff --git a/core/themes/classy/templates/system/select.html.twig b/core/themes/classy/templates/system/select.html.twig
new file mode 100644
index 0000000..21f32ac
--- /dev/null
+++ b/core/themes/classy/templates/system/select.html.twig
@@ -0,0 +1,15 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a select element.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the select tag.
+ * - options: The option element children.
+ *
+ * @see template_preprocess_select()
+ *
+ * @ingroup themeable
+ */
+#}
+
diff --git a/core/themes/classy/templates/system/status-messages.html.twig b/core/themes/classy/templates/system/status-messages.html.twig
new file mode 100644
index 0000000..a2f3631
--- /dev/null
+++ b/core/themes/classy/templates/system/status-messages.html.twig
@@ -0,0 +1,57 @@
+{#
+/**
+ * @file
+ * Default theme implementation for status messages.
+ *
+ * Displays status, error, and warning messages, grouped by type.
+ *
+ * An invisible heading identifies the messages for assistive technology.
+ * Sighted users see a colored box. See http://www.w3.org/TR/WCAG-TECHS/H69.html
+ * for info.
+ *
+ * Add an ARIA label to the contentinfo area so that assistive technology
+ * user agents will better describe this landmark.
+ *
+ * Available variables:
+ * - message_list: List of messages to be displayed, grouped by type.
+ * - status_headings: List of all status types.
+ * - display: (optional) May have a value of 'status' or 'error' when only
+ * displaying messages of that specific type.
+ * - attributes: HTML attributes for the element, including:
+ * - class: HTML classes.
+ *
+ * @see template_preprocess_status_messages()
+ *
+ * @ingroup themeable
+ */
+#}
+{% for type, messages in message_list %}
+ {%
+ set classes = [
+ 'messages',
+ 'messages--' ~ type,
+ ]
+ %}
+
+ {% if type == 'error' %}
+
+ {% endif %}
+ {% if status_headings[type] %}
+
{{ status_headings[type] }}
+ {% endif %}
+ {% if messages|length > 1 %}
+
+ {% for message in messages %}
+
{{ message }}
+ {% endfor %}
+
+ {% else %}
+ {{ messages|first }}
+ {% endif %}
+ {% if type == 'error' %}
+
+ {% endif %}
+
+ {# Remove type specific classes. #}
+ {{ attributes.removeClass(classes) }}
+{% endfor %}
diff --git a/core/themes/classy/templates/system/table.html.twig b/core/themes/classy/templates/system/table.html.twig
new file mode 100644
index 0000000..3d0252e
--- /dev/null
+++ b/core/themes/classy/templates/system/table.html.twig
@@ -0,0 +1,115 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a table.
+ *
+ * Available variables:
+ * - attributes: HTML attributes to apply to the
tag.
+ * - caption: A localized string for the
tag.
+ * - colgroups: Column groups. Each group contains the following properties:
+ * - attributes: HTML attributes to apply to the
tag.
+ * Note: Drupal currently supports only one table header row, see
+ * http://drupal.org/node/893530 and
+ * http://api.drupal.org/api/drupal/includes!theme.inc/function/theme_table/7#comment-5109.
+ * - header: Table header cells. Each cell contains the following properties:
+ * - tag: The HTML tag name to use; either TH or TD.
+ * - attributes: HTML attributes to apply to the tag.
+ * - content: A localized string for the title of the column.
+ * - field: Field name (required for column sorting).
+ * - sort: Default sort order for this column ("asc" or "desc").
+ * - sticky: A flag indicating whether to use a "sticky" table header.
+ * - rows: Table rows. Each row contains the following properties:
+ * - attributes: HTML attributes to apply to the
tag.
+ * - data: Table cells.
+ * - no_striping: A flag indicating that the row should receive no
+ * 'even / odd' styling. Defaults to FALSE.
+ * - cells: Table cells of the row. Each cell contains the following keys:
+ * - tag: The HTML tag name to use; either TH or TD.
+ * - attributes: Any HTML attributes, such as "colspan", to apply to the
+ * table cell.
+ * - content: The string to display in the table cell.
+ * - active_table_sort: A boolean indicating whether the cell is the active
+ table sort.
+ * - footer: Table footer rows, in the same format as the rows variable.
+ * - empty: The message to display in an extra row if table does not have
+ * any rows.
+ * - no_striping: A boolean indicating that the row should receive no striping.
+ * - header_columns: The number of columns in the header.
+ *
+ * @see template_preprocess_table()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {% if caption %}
+
{{ caption }}
+ {% endif %}
+
+ {% for colgroup in colgroups %}
+ {% if colgroup.cols %}
+
diff --git a/core/themes/classy/templates/system/tablesort-indicator.html.twig b/core/themes/classy/templates/system/tablesort-indicator.html.twig
new file mode 100644
index 0000000..059805f
--- /dev/null
+++ b/core/themes/classy/templates/system/tablesort-indicator.html.twig
@@ -0,0 +1,18 @@
+{#
+/**
+ * @file
+ * Default theme implementation for displaying a tablesort indicator.
+ *
+ * Available variables:
+ * - style: Either 'asc' or 'desc', indicating the sorting direction.
+ *
+ * @see template_preprocess_tablesort_indicator()
+ *
+ * @ingroup themeable
+ */
+#}
+{% if style == 'asc' -%}
+
+{% else -%}
+
+{% endif %}
diff --git a/core/themes/classy/templates/system/textarea.html.twig b/core/themes/classy/templates/system/textarea.html.twig
new file mode 100644
index 0000000..8a8426d
--- /dev/null
+++ b/core/themes/classy/templates/system/textarea.html.twig
@@ -0,0 +1,27 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a 'textarea' #type form element.
+ *
+ * Available variables
+ * - wrapper_attributes: A list of HTML attributes for the wrapper element.
+ * - attributes: A list of HTML attributes for the textarea element.
+ * - resizable: An indicator for whether the textarea is resizable.
+ * - required: An indicator for whether the textarea is required.
+ * - value: The textarea content.
+ *
+ * @see template_preprocess_textarea()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'form-textarea',
+ resizable ? 'resize-' ~ resizable,
+ required ? 'required',
+ ]
+%}
+
+
+
diff --git a/core/themes/classy/templates/system/time.html.twig b/core/themes/classy/templates/system/time.html.twig
new file mode 100644
index 0000000..521df56
--- /dev/null
+++ b/core/themes/classy/templates/system/time.html.twig
@@ -0,0 +1,28 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a date / time element.
+ *
+ * Available variables
+ * - timestamp: (optional) A UNIX timestamp for the datetime attribute. If the
+ * datetime cannot be represented as a UNIX timestamp, use a valid datetime
+ * attribute value in attributes.datetime.
+ * - text: (optional) The content to display within the