{{date[1]}}
+{{ foo[0]}}
+{{ footwo[0]}}
+{{date[1]}}
+{{date[0]}}
++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} +{{ content }}
+ {% endblock %} ++ {{ label }} +
+ {{ title_suffix }} + {% endblock %} ++ {{ label }} +
+ {{ title_suffix }} + {% endblock %} ++ {# do we need to keep this? Removing makes accordion open when text is clicked (expected behavior) + #} + {{ title }} + {# #} +
+{{ title }}
+ {% endif %} + {{ title_suffix }} + + {{ content }} +{# {{ devel_breakpoint() }}#} +
diff --git a/apps/drupal-default/particle_theme/templates/modules/mailchimp/block--mailchimp-signup.html.twig b/apps/drupal-default/particle_theme/templates/modules/mailchimp/block--mailchimp-signup.html.twig
new file mode 100644
index 0000000000..65732da9d5
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/modules/mailchimp/block--mailchimp-signup.html.twig
@@ -0,0 +1,54 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+
+
+ {% endblock %}
+
+ {{ content }}
+
diff --git a/apps/drupal-default/particle_theme/templates/modules/poll/poll-meter.html.twig b/apps/drupal-default/particle_theme/templates/modules/poll/poll-meter.html.twig
new file mode 100644
index 0000000000..88f311ee48
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/modules/poll/poll-meter.html.twig
@@ -0,0 +1,41 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a meter.
+ *
+ * Available variables:
+ * - display_value: The textual representation of the meter bar.
+ * - form: One or more forms to which the element belongs; multiple
+ * forms separated by spaces.
+ * - high: A number specifying the range that is considered to be a high value.
+ * - low: A number specifying the range that is considered to be a low value.
+ * - max: A number specifying the maximum value of the range.
+ * - min: A number specifying the minimum value of the range.
+ * - optimum: A number specifying what value is the optimal value for the gauge.
+ * - value: A number specifying the current value of the gauge.
+ * - percentage: A number specifying the current percentage of the gauge.
+ * - attributes: HTML attributes for the containing element.
+ * - choice: The choice of a poll.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_region()
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+
+ {{ percentage }}%
+
+ {{ choice }}
+ ({{ value }} votes)
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/drupal-default/particle_theme/templates/modules/poll/poll-results.html.twig b/apps/drupal-default/particle_theme/templates/modules/poll/poll-results.html.twig
new file mode 100644
index 0000000000..52adf23624
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/modules/poll/poll-results.html.twig
@@ -0,0 +1,33 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display the poll results in a block.
+ *
+ * Variables available:
+ * - title: The title of the poll.
+ * - results: The results of the poll.
+ * - votes: The total results in the poll.
+ * - links: Links in the poll.
+ * - pid: The pid of the poll
+ * - cancel_form: A form to cancel the user's vote, if allowed.
+ * - raw_links: The raw array of links.
+ * - vote: The choice number of the current user's vote.
+ *
+ * @see template_preprocess_poll_results()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {% if show_question %}
+ {{ question }}
+ {% else %}
+ {{ results_title }}
+ {% endif %}
+
+ {{ results }}
+
+
+ {{ 'Total votes: '|t }} {{ votes }}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/modules/poll/poll-vote.html.twig b/apps/drupal-default/particle_theme/templates/modules/poll/poll-vote.html.twig
new file mode 100644
index 0000000000..b83fd37fde
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/modules/poll/poll-vote.html.twig
@@ -0,0 +1,15 @@
+{#
+/**
+ */
+#}
+{{ form.messages }}
+
+
+ {% if show_question %}
+ {{ question }}
+ {% endif %}
+ {{ form.choice }}
+ {{ form.actions }}
+
+{{ form|without('actions', 'choice', 'messages', 'question') }}
+
diff --git a/apps/drupal-default/particle_theme/templates/modules/sitealert/site-alert.html.twig b/apps/drupal-default/particle_theme/templates/modules/sitealert/site-alert.html.twig
new file mode 100644
index 0000000000..462cbc04f2
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/modules/sitealert/site-alert.html.twig
@@ -0,0 +1,5 @@
+
+
+ {{ alert.message }}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/navigation/breadcrumb-particle.html.twig b/apps/drupal-default/particle_theme/templates/navigation/breadcrumb-particle.html.twig
new file mode 100644
index 0000000000..f729d08a75
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/breadcrumb-particle.html.twig
@@ -0,0 +1,12 @@
+{#
+/**
+ * @file
+ * Theme override for a breadcrumb trail.
+ *
+ * Available variables:
+ * - breadcrumb: Breadcrumb trail items.
+ */
+#}
+{% if breadcrumb %}
+ {% include '@atoms/breadcrumb/_breadcrumb.twig' %}
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/navigation/breadcrumb.html.twig b/apps/drupal-default/particle_theme/templates/navigation/breadcrumb.html.twig
old mode 100644
new mode 100755
index f729d08a75..2ed24267ea
--- a/apps/drupal-default/particle_theme/templates/navigation/breadcrumb.html.twig
+++ b/apps/drupal-default/particle_theme/templates/navigation/breadcrumb.html.twig
@@ -8,5 +8,18 @@
*/
#}
{% if breadcrumb %}
- {% include '@atoms/breadcrumb/_breadcrumb.twig' %}
+
{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/navigation/menu--human-resources-top-nav.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--human-resources-top-nav.html.twig
new file mode 100644
index 0000000000..a1ad5470d8
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--human-resources-top-nav.html.twig
@@ -0,0 +1,97 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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 %}
+
+ {% else %}
+
+ {% else %}
+
+ {% else %}
+
+ {% else %}
+
+ {% else %}
+
+ {% else %}
+
+ {% else %}
+
+ {% else %}
+
+ {% endif %}
+ {% for item in items %}
+ {%
+ set listitem = [
+ 'menu-item ml-0.5 mb-1',
+ item.is_expanded ? 'menu-item--expanded',
+ item.is_collapsed ? 'menu-item--collapsed',
+ ]
+ %}
+ {%
+ set menulinktag = [
+ 'text-sm font-bold uppercase',
+ 'px-2 pt-3 pb-2 hover:bg-utc-new-blue-500',
+ 'hover:text-utc-new-gold-500',
+ item.in_active_trail ? 'menu-item--active-trail bg-gray-200',
+ ]
+ %}
+ -
+ {{ link(item.title, item.url, item.attributes.removeClass(classes).addClass(menulinktag)) }}
+ {% if item.below %}
+ {{ menus.menu_links(item.below, attributes, menu_level + 1) }}
+ {% endif %}
+
+ {% endfor %}
+
+ {% endif %}
+{% endmacro %}
diff --git a/apps/drupal-default/particle_theme/templates/navigation/menu-local-tasks.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu-local-tasks.html.twig
index bacae2aa2a..d1a050467a 100644
--- a/apps/drupal-default/particle_theme/templates/navigation/menu-local-tasks.html.twig
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu-local-tasks.html.twig
@@ -12,22 +12,14 @@
*/
#}
-{% set nav_classes = ['nav', 'nav-tabs', 'mb-2']|join(' ') %}
+
{% if primary %}
-
- {{ 'Primary tabs'|t }}
-
-
- {{ primary }}
-
+ {{ 'Primary tabs'|t }}
+ {{ primary }}
{% endif %}
{% if secondary %}
-
- {{ 'Secondary tabs'|t }}
-
-
- {{ secondary }}
-
-{% endif %}
+ {{ 'Secondary tabs'|t }}
+ {{ secondary }}
+{% endif %}
\ No newline at end of file
diff --git a/apps/drupal-default/particle_theme/templates/off-canvas/region--offcanvas-sidebar.html.twig b/apps/drupal-default/particle_theme/templates/off-canvas/region--offcanvas-sidebar.html.twig
new file mode 100755
index 0000000000..2e8dc2e505
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/off-canvas/region--offcanvas-sidebar.html.twig
@@ -0,0 +1,33 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a region.
+ *
+ * Available variables:
+ * - content: The content for this region, typically blocks.
+ * - attributes: HTML attributes for the region .
+ * - 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 %}
+
+
+
+{% endif %}
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/node--1048--full.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/node--1048--full.html.twig
new file mode 100644
index 0000000000..8ccee0f873
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/node--1048--full.html.twig
@@ -0,0 +1,107 @@
+{#
+/**
+ * @file
+ * Theme override to display a node.
+ *
+ * Available variables:
+ * - node: The node entity with limited access to object properties and methods.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - node.getCreatedTime() will return the node creation timestamp.
+ * - node.hasField('field_example') returns TRUE if the node bundle includes
+ * field_example. (This does not indicate the presence of a value in this
+ * field.)
+ * - node.isPublished() will return whether the node is published or not.
+ * Calling other methods, such as node.delete(), will result in an exception.
+ * See \Drupal\node\Entity\Node for a full list of public properties and
+ * methods for the node object.
+ * - label: (optional) 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: (optional) Themed creation date field.
+ * - author_name: (optional) 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.
+ */
+#}
+{%
+ 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,
+ ]
+%}
+{{ attach_library('classy/node') }}
+
+
+
+ {{ title_prefix }}
+ {% if label and not page %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+
+ {% if display_submitted %}
+
+ {% endif %}
+
+
+ {{ content }}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/node--1049--full.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/node--1049--full.html.twig
new file mode 100644
index 0000000000..61817c8c3b
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/node--1049--full.html.twig
@@ -0,0 +1,108 @@
+{#
+/**
+ * @file
+ * Theme override to display a node.
+ *
+ * Available variables:
+ * - node: The node entity with limited access to object properties and methods.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - node.getCreatedTime() will return the node creation timestamp.
+ * - node.hasField('field_example') returns TRUE if the node bundle includes
+ * field_example. (This does not indicate the presence of a value in this
+ * field.)
+ * - node.isPublished() will return whether the node is published or not.
+ * Calling other methods, such as node.delete(), will result in an exception.
+ * See \Drupal\node\Entity\Node for a full list of public properties and
+ * methods for the node object.
+ * - label: (optional) 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: (optional) Themed creation date field.
+ * - author_name: (optional) 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.
+ */
+#}
+{%
+ 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,
+ ]
+%}
+{{ attach_library('classy/node') }}
+
+
+ {{ title_prefix }}
+ {% if label and not page %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+
+ {% if display_submitted %}
+
+ {% endif %}
+
+
+ {{ content }}
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/node.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/node.html.twig
new file mode 100644
index 0000000000..a42ff52d02
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/node.html.twig
@@ -0,0 +1,108 @@
+{#
+/**
+ * @file
+ * Theme override to display a node.
+ *
+ * Available variables:
+ * - node: The node entity with limited access to object properties and methods.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - node.getCreatedTime() will return the node creation timestamp.
+ * - node.hasField('field_example') returns TRUE if the node bundle includes
+ * field_example. (This does not indicate the presence of a value in this
+ * field.)
+ * - node.isPublished() will return whether the node is published or not.
+ * Calling other methods, such as node.delete(), will result in an exception.
+ * See \Drupal\node\Entity\Node for a full list of public properties and
+ * methods for the node object.
+ * - label: (optional) 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: (optional) Themed creation date field.
+ * - author_name: (optional) 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.
+ */
+#}
+{%
+ 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,
+ ]
+%}
+{{ attach_library('classy/node') }}
+
+
+ {{ title_prefix }}
+ {% if label and not page %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+
+ {% if display_submitted %}
+
+ {% endif %}
+
+
+ {{ content }}
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/college-engineering-computer-science/block--college-engineering-and-computer-science-id-1161-label-computing.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/college-engineering-computer-science/block--college-engineering-and-computer-science-id-1161-label-computing.html.twig
new file mode 100644
index 0000000000..85d373d055
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/college-engineering-computer-science/block--college-engineering-and-computer-science-id-1161-label-computing.html.twig
@@ -0,0 +1,79 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+
+
+
+
+
+ {% endblock %}
+
+
+
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/financial-aid/block--financial-aid-scholarships-id-1049-label-sasdasd.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/financial-aid/block--financial-aid-scholarships-id-1049-label-sasdasd.html.twig
new file mode 100644
index 0000000000..ef58007665
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/financial-aid/block--financial-aid-scholarships-id-1049-label-sasdasd.html.twig
@@ -0,0 +1,88 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+ Which type of student are you?
+
+
+
+
+
+
+
+ Transient
+
+
+
+
+
+
+
+
+
+
+
+ {% endblock %}
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/financial-aid/financial-aid.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/financial-aid/financial-aid.html.twig
new file mode 100644
index 0000000000..fb1435427f
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/financial-aid/financial-aid.html.twig
@@ -0,0 +1,82 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+
+
+
+
+
+
+
+ {% endblock %}
+
+
+
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/human-resources/block--human-resources-id-1048-label-footer.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/human-resources/block--human-resources-id-1048-label-footer.html.twig
new file mode 100644
index 0000000000..cdfc76789d
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/human-resources/block--human-resources-id-1048-label-footer.html.twig
@@ -0,0 +1,89 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+
+ How can we help?
+
+
+
+
+
+ UT Taleo
+
+
+
+
+
+
+
+ UTC Policies
+
+
+
+ New Employees
+
+
+
+
+
+
+
+ UT System HR
+
+
+
+
+
+ {% endblock %}
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/human-resources/block--human-resources-id-1048-label-header.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/human-resources/block--human-resources-id-1048-label-header.html.twig
new file mode 100644
index 0000000000..c88c74ebc2
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/human-resources/block--human-resources-id-1048-label-header.html.twig
@@ -0,0 +1,64 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+
+
+
+
+
+
+
+
+ {% endblock %}
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/information-technology/block--information-technology-id-1047-label-footer.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/information-technology/block--information-technology-id-1047-label-footer.html.twig
new file mode 100644
index 0000000000..5e114c9419
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/information-technology/block--information-technology-id-1047-label-footer.html.twig
@@ -0,0 +1,82 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+{#
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {{ content }}
+ {% endblock %}
+ #}
+
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+
+ Who are you?
+
+
+
+
+
+
+
+
+ {% endblock %}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/information-technology/block--information-technology-id-1141-label-demo.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/information-technology/block--information-technology-id-1141-label-demo.html.twig
new file mode 100644
index 0000000000..d95eaf9658
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/information-technology/block--information-technology-id-1141-label-demo.html.twig
@@ -0,0 +1,78 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% endblock %}
diff --git a/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/physical-therapy/block--physical-therapy-id-1181-label-header.html.twig b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/physical-therapy/block--physical-therapy-id-1181-label-header.html.twig
new file mode 100644
index 0000000000..89cd325b6a
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/oucampus-pages/oucampus-blocks/physical-therapy/block--physical-therapy-id-1181-label-header.html.twig
@@ -0,0 +1,54 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+
+
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {# {{ content }} #}
+
+
+
+
+
+
+ Physical Therapy
+ {# With HTML5 Video and Bootstrap 4
#}
+
+
+
+
+
+ {% endblock %}
+
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_1/article_1.png b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_1/article_1.png
new file mode 100644
index 0000000000..ff2e109d54
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_1/article_1.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_1/layout--article-1.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_1/layout--article-1.html.twig
new file mode 100755
index 0000000000..d146a0ea5b
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_1/layout--article-1.html.twig
@@ -0,0 +1,89 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+ {# == Article content top == #}
+ {% if(content.article_content_top) %}
+ {% block article_content_top %}
+
+
+ {{ content.article_content_top }}
+
+
+ {% endblock %}
+ {% endif %}
+
+
+
+
+
+ {# == Article header == #}
+ {% block article_header %}
+
+ {{ content.article_header }}
+
+ {% endblock %}
+
+ {# == Article footer (article meta) == #}
+ {% block article_footer %}
+
+ {% endblock %}
+
+
+ {{ content.article_social_buttons }}
+
+
+ {# == Tabs == #}
+ {% block tabs %}
+
+ {{ content.tabs }}
+
+ {% endblock %}
+
+ {# == Article main content == #}
+
+ {{ content.article_content }}
+
+
+ {# == Article comments == #}
+
+ {{ content.article_comments }}
+
+
+
+
+
+ {# == Sidebar right == #}
+
+
+
+ {# == Article content bottom == #}
+ {% if(content.article_content_bottom) %}
+ {% block article_content_bottom %}
+
+
+ {{ content.article_content_bottom }}
+
+
+ {% endblock %}
+ {% endif %}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_2/article_2.png b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_2/article_2.png
new file mode 100644
index 0000000000..52051d15e1
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_2/article_2.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_2/layout--article-2.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_2/layout--article-2.html.twig
new file mode 100755
index 0000000000..1dead15e43
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_2/layout--article-2.html.twig
@@ -0,0 +1,109 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+
+ {# == Article media == #}
+
+ {{ content.article_media }}
+
+
+
+
+
+ {# == Article header == #}
+ {% if(content.article_header) %}
+
+ {{ content.article_header }}
+
+ {% endif %}
+
+ {# == Article footer (article meta) == #}
+ {% if(content.article_footer) %}
+
+ {% endif %}
+
+
+
+
+
+ {# == Tabs == #}
+ {% if(content.tabs) %}
+
+
+
+
+ {{ content.tabs }}
+
+
+
+
+ {% endif %}
+
+
+ {# == Article content top == #}
+ {% if(content.article_content_top) %}
+
+
+ {{ content.article_content_top }}
+
+
+ {% endif %}
+
+
+
+
+ {# == Socil buttons == #}
+ {% if(content.article_social_buttons) %}
+
+ {{ content.article_social_buttons }}
+
+ {% endif %}
+
+ {# == Article main content == #}
+ {% if(content.article_content) %}
+
+ {{ content.article_content }}
+
+ {% endif %}
+
+
+
+
+ {# == Content bottom == #}
+ {% if(content.article_content_bottom) %}
+
+
+ {{ content.article_content_bottom }}
+
+
+ {% endif %}
+ {# end: .container #}
+
+
+ {# == Comments == #}
+ {% if(content.article_comments) %}
+
+
+
+
+ {{ content.article_comments }}
+
+
+
+
+ {% endif %}
+
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_3/article_3.png b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_3/article_3.png
new file mode 100644
index 0000000000..bf26087aeb
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_3/article_3.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_3/layout--article-3.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_3/layout--article-3.html.twig
new file mode 100755
index 0000000000..b7efef1177
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/article/article_3/layout--article-3.html.twig
@@ -0,0 +1,120 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+
+ {# == Article media == #}
+
+ {{ content.article_media }}
+
+
+
+
+ {# == Article header == #}
+ {% if(content.article_header) %}
+
+ {{ content.article_header }}
+
+ {% endif %}
+
+
+
+
+
+
+ {# == Meta and Social Buttons == #}
+
+
+
+
+
+
+ {# == Article content top == #}
+ {% if(content.article_content_top) %}
+
+
+ {{ content.article_content_top }}
+
+
+ {% endif %}
+
+
+
+
+
+ {# == Tabs == #}
+ {% if(content.tabs) %}
+
+ {{ content.tabs }}
+
+ {% endif %}
+
+ {# == Article main content == #}
+ {% if(content.article_content) %}
+
+ {{ content.article_content }}
+
+ {% endif %}
+
+ {# == Comments == #}
+ {% if(content.article_comments) %}
+
+ {{ content.article_comments }}
+
+ {% endif %}
+
+
+ {# == Sidebar right == #}
+
+
+
+
+ {# == Content bottom == #}
+ {% if(content.article_content_bottom) %}
+
+
+ {{ content.article_content_bottom }}
+
+
+ {% endif %}
+ {# end: .container #}
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-b/layout--b.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-b/layout--b.html.twig
new file mode 100755
index 0000000000..bae6c0a9e6
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-b/layout--b.html.twig
@@ -0,0 +1,66 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+{% set classes = [ 'layout--b' ] %}
+{% if themag.sticky_sidebar %}
+ {% set sticky_classs = 'stick-in-parent' %}
+{% endif %}
+
+{% if content %}
+
+
+ {# ---------------- #}
+ {# REGION: FEATURED #}
+ {# ---------------- #}
+
+ {{ content.featured }}
+
+
+
+
+ {# ----------- #}
+ {# REGION: TOP #}
+ {# ----------- #}
+ {% if content.top %}
+
+
+ {{ content.top }}
+
+
+ {% endif %}
+
+
+ {# ------------- #}
+ {# REGION MIDDLE #}
+ {# ------------- #}
+
+
+ {{ content.middle_left }}
+
+
+ {{ content.middle_right }}
+
+
+
+ {# ------------- #}
+ {# REGION BOTTOM #}
+ {# ------------- #}
+
+
+
+ {{ content.bottom }}
+
+
+ {# /.container #}
+
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-b/layout-b.png b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-b/layout-b.png
new file mode 100755
index 0000000000..91a691c5e4
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-b/layout-b.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-c/layout--c.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-c/layout--c.html.twig
new file mode 100755
index 0000000000..890569e776
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-c/layout--c.html.twig
@@ -0,0 +1,61 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+{% set classes = [ 'layout--c' ] %}
+{% if themag.sticky_sidebar %}
+ {% set sticky_classs = 'stick-in-parent' %}
+{% endif %}
+
+{% if content %}
+
+
+ {# ---------------- #}
+ {# REGION: FEATURED #}
+ {# ---------------- #}
+
+ {{ content.featured }}
+
+
+
+
+ {# ----------- #}
+ {# REGION: TOP #}
+ {# ----------- #}
+ {% if content.top %}
+
+
+ {{ content.top }}
+
+
+ {% endif %}
+
+ {# ------------- #}
+ {# REGION MIDDLE #}
+ {# ------------- #}
+
+
+ {{ content.middle }}
+
+
+
+ {# ------------- #}
+ {# REGION BOTTOM #}
+ {# ------------- #}
+
+
+ {{ content.bottom }}
+
+
+ {# /.container #}
+
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-c/layout-c.png b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-c/layout-c.png
new file mode 100755
index 0000000000..57508a08e2
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/layout-c/layout-c.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c12/g12c12.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c12/g12c12.html.twig
new file mode 100644
index 0000000000..9b7872af6a
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c12/g12c12.html.twig
@@ -0,0 +1,30 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+{% set classes = [ 'g12c12' ] %}
+{% if themag.sticky_sidebar %}
+ {% set sticky_classs = 'stick-in-parent' %}
+{% endif %}
+
+{% if content %}
+
+
+
+
+
+ {{ content.col_1 }}
+
+
+ {# /.container #}
+
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c12/g12c12.png b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c12/g12c12.png
new file mode 100644
index 0000000000..fcbf9e4c1c
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c12/g12c12.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c3-3-3-3/g12c3-3-3-3.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c3-3-3-3/g12c3-3-3-3.html.twig
new file mode 100644
index 0000000000..c189ae28be
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c3-3-3-3/g12c3-3-3-3.html.twig
@@ -0,0 +1,31 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+{% set classes = [ 'g12c3-3-3-3' ] %}
+{% if themag.sticky_sidebar %}
+ {% set sticky_classs = 'stick-in-parent' %}
+{% endif %}
+
+{% if content %}
+
+
+
+
+ {{ content.col_1 }}
+ {{ content.col_2 }}
+ {{ content.col_3 }}
+ {{ content.col_4 }}
+
+ {# /.container #}
+
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c3-3-3-3/g12c3-3-3-3.png b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c3-3-3-3/g12c3-3-3-3.png
new file mode 100644
index 0000000000..c50648df37
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c3-3-3-3/g12c3-3-3-3.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c4-4-4/g12c4-4-4.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c4-4-4/g12c4-4-4.html.twig
new file mode 100644
index 0000000000..54acecdf79
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c4-4-4/g12c4-4-4.html.twig
@@ -0,0 +1,30 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+{% set classes = [ 'g12c4-4-4' ] %}
+{% if themag.sticky_sidebar %}
+ {% set sticky_classs = 'stick-in-parent' %}
+{% endif %}
+
+{% if content %}
+
+
+
+
+ {{ content.col_1 }}
+ {{ content.col_2 }}
+ {{ content.col_3 }}
+
+ {# /.container #}
+
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c4-4-4/g12c4-4-4.png b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c4-4-4/g12c4-4-4.png
new file mode 100644
index 0000000000..5e4187ab66
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c4-4-4/g12c4-4-4.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c6-6/g12c6-6.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c6-6/g12c6-6.html.twig
new file mode 100644
index 0000000000..2d59be6704
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c6-6/g12c6-6.html.twig
@@ -0,0 +1,29 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+{% set classes = [ 'g12c6-6' ] %}
+{% if themag.sticky_sidebar %}
+ {% set sticky_classs = 'stick-in-parent' %}
+{% endif %}
+
+{% if content %}
+
+
+
+
+ {{ content.col_1 }}
+ {{ content.col_2 }}
+
+ {# /.container #}
+
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c6-6/g12c6-6.png b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c6-6/g12c6-6.png
new file mode 100644
index 0000000000..81742df7a6
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c6-6/g12c6-6.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c8-4/g12c8-4.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c8-4/g12c8-4.html.twig
new file mode 100644
index 0000000000..655f40b2a4
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c8-4/g12c8-4.html.twig
@@ -0,0 +1,29 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+{% set classes = [ 'g12c8-4' ] %}
+{% if themag.sticky_sidebar %}
+ {% set sticky_classs = 'stick-in-parent' %}
+{% endif %}
+
+{% if content %}
+
+
+
+
+ {{ content.col_1 }}
+ {{ content.col_2 }}
+
+ {# /.container #}
+
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c8-4/g12c8-4.png b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c8-4/g12c8-4.png
new file mode 100644
index 0000000000..81adf96763
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/deprecated/simple-layouts/g12c8-4/g12c8-4.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/landing/layout-a/layout--a.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/landing/layout-a/layout--a.html.twig
new file mode 100755
index 0000000000..18737da993
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/landing/layout-a/layout--a.html.twig
@@ -0,0 +1,133 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a TheMAG layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+
+ {# ---------------- #}
+ {# REGION: FEATURED #}
+ {# ---------------- #}
+
+ {{ content.featured }}
+
+
+
+
+ {# ----------- #}
+ {# REGION: TOP #}
+ {# ----------- #}
+ {% if content.top %}
+
+
+ {{ content.top }}
+
+
+ {% endif %}
+
+
+ {# ----------------- #}
+ {# REGION: TOP BELOW #}
+ {# ----------------- #}
+ {% if content.top_left_below or content.top_middle_below or content.top_right_below %}
+
+
+ {{ content.top_left_below }}
+
+
+ {{ content.top_middle_below }}
+
+
+ {{ content.top_right_below }}
+
+
+ {% endif %}
+
+
+ {# ------------------- #}
+ {# REGION MIDDLE ABOVE #}
+ {# ------------------- #}
+ {% if content.middle_left_above or content.middle_right_above %}
+
+
+ {{ content.middle_left_above }}
+
+
+ {{ content.middle_right_above }}
+
+
+ {% endif %}
+
+
+ {# ------------- #}
+ {# REGION MIDDLE #}
+ {# ------------- #}
+ {% if content.middle %}
+
+
+ {{ content.middle }}
+
+
+ {% endif %}
+
+
+ {# ------------------- #}
+ {# REGION MIDDLE BELOW #}
+ {# ------------------- #}
+ {% if content.middle_left_below or content.middle_middle_below or content.middle_right_below %}
+
+
+ {{ content.middle_left_below }}
+
+
+ {{ content.middle_middle_below }}
+
+
+ {{ content.middle_right_below }}
+
+
+ {% endif %}
+
+
+ {# ------------------- #}
+ {# REGION BOTTOM ABOVE #}
+ {# ------------------- #}
+ {% if content.bottom_left_above or content.bottom_right_above %}
+
+
+ {{ content.bottom_left_above }}
+
+
+ {{ content.bottom_right_above }}
+
+
+ {% endif %}
+
+
+ {# ------------- #}
+ {# REGION BOTTOM #}
+ {# ------------- #}
+ {% if content.bottom %}
+
+
+ {{ content.bottom }}
+
+
+ {% endif %}
+
+
+ {# /.container #}
+
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/landing/layout-a/layout-a.png b/apps/drupal-default/particle_theme/templates/panels-layouts/landing/layout-a/layout-a.png
new file mode 100755
index 0000000000..82cee0b967
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/landing/layout-a/layout-a.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_1/layout--page-1.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_1/layout--page-1.html.twig
new file mode 100755
index 0000000000..823b647152
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_1/layout--page-1.html.twig
@@ -0,0 +1,60 @@
+{#
+/**
+ * @file
+ * Default theme implementation for layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+
+
+
+
+ {# == Heading == #}
+ {# ============= #}
+
+
+ {% block page_heading %}
+
+
+
+
+ {{ content.page_header }}
+
+
+
+
+ {% endblock %}
+
+ {% if(content.page_tabs) %}
+
+
+
+
+ {{ content.page_tabs }}
+
+
+
+
+ {% endif %}
+
+
+ {# == Region: Content == #}
+ {# ===================== #}
+ {% block region_content %}
+
+
+
+
+ {{ content.page_content }}
+
+
+
+
+ {% endblock %}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_1/page_1.png b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_1/page_1.png
new file mode 100644
index 0000000000..b80244499d
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_1/page_1.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_2/layout--page-2.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_2/layout--page-2.html.twig
new file mode 100755
index 0000000000..e1e9f6bdcd
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_2/layout--page-2.html.twig
@@ -0,0 +1,29 @@
+{#
+/**
+ * @file
+ * Default theme implementation for layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+
+{% extends "@themag/panels-layouts/page/page_1/layout--page-1.html.twig" %}
+
+{# == Region: Content == #}
+{# ===================== #}
+{% block region_content %}
+
+
+
+ {{ content.page_content }}
+
+
+ {{ content.page_sidebar_right }}
+
+
+
+{% endblock %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_2/page_2.png b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_2/page_2.png
new file mode 100644
index 0000000000..0c26629b6d
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_2/page_2.png differ
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_3/layout--page-3.html.twig b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_3/layout--page-3.html.twig
new file mode 100755
index 0000000000..6d98136694
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_3/layout--page-3.html.twig
@@ -0,0 +1,60 @@
+{#
+/**
+ * @file
+ * Default theme implementation for layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout .
+ *
+ * @ingroup themeable
+ */
+#}
+
+{% extends "@themag/panels-layouts/page/page_1/layout--page-1.html.twig" %}
+
+{# == Region: Content == #}
+{# ===================== #}
+{% block region_content %}
+
+
+ {% if(content.page_content_top) %}
+
+
+ {{ content.page_content_top }}
+
+
+ {% endif %}
+
+ {% if(content.page_content or content.page_sidebar_right) %}
+
+
+ {{ content.page_content }}
+
+
+ {{ content.page_sidebar_right }}
+
+
+ {% endif %}
+
+ {% if(content.page_content_bottom) %}
+
+
+ {{ content.page_content_bottom }}
+
+
+ {% endif %}
+
+ {% if(content.page_content_bottom_below_first or content.page_content_bottom_below_second) %}
+
+
+ {{ content.page_content_bottom_below_first }}
+
+
+ {{ content.page_content_bottom_below_second }}
+
+
+ {% endif %}
+
+
+{% endblock %}
diff --git a/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_3/page_3.png b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_3/page_3.png
new file mode 100644
index 0000000000..097dae93d7
Binary files /dev/null and b/apps/drupal-default/particle_theme/templates/panels-layouts/page/page_3/page_3.png differ
diff --git a/apps/drupal-default/particle_theme/templates/region/region--content-header.html.twig b/apps/drupal-default/particle_theme/templates/region/region--content-header.html.twig
new file mode 100644
index 0000000000..17185adbb0
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/region/region--content-header.html.twig
@@ -0,0 +1,25 @@
+{#
+/**
+ * @file
+ * Theme override to display a region.
+ *
+ * Available variables:
+ * - content: The content for this region, typically blocks.
+ * - attributes: HTML attributes for the region .
+ * - region: The name of the region variable as defined in the theme's
+ * .info.yml file.
+ *
+ * @see template_preprocess_region()
+ */
+#}
+{%
+ set classes = [
+ 'region',
+ 'region--' ~ region|clean_class,
+ ]
+%}
+{% if content %}
+
+ {{ content }}
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/search/block--search-form-block.html.twig b/apps/drupal-default/particle_theme/templates/search/block--search-form-block.html.twig
new file mode 100755
index 0000000000..690f7ae0cd
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/search/block--search-form-block.html.twig
@@ -0,0 +1,49 @@
+{#
+/**
+ * @file
+ * 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.
+ * - provider: The module or other provider that provided this block plugin.
+ * - Block plugin specific settings will also be stored here.
+ * - 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()
+ */
+#}
+{%
+ set classes = [
+ 'block',
+ 'block-search',
+ ]
+%}
+
+{% set title_classes = [ 'block-title' ] %}
+
+
+ {{ title_prefix }}
+ {% if label %}
+
+ {{ label }}
+
+ {% endif %}
+ {{ title_suffix }}
+ {% block content %}
+ {{ content }}
+ {% endblock %}
+
diff --git a/apps/drupal-default/particle_theme/templates/search/page--search.html.twig b/apps/drupal-default/particle_theme/templates/search/page--search.html.twig
new file mode 100755
index 0000000000..6710124989
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/search/page--search.html.twig
@@ -0,0 +1,89 @@
+{#
+/**
+ * @file
+ * Theme override to display a page-node (post) of type mg_article.
+ *
+ * * 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.
+ *
+ * Page content (in order of occurrence in the default page.html.twig):
+ * - 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.
+ *
+ * TheMAG article variables
+ * - article.display_submitted:
+ * - article.author_id:
+ * - article.author_name:
+ * - article.author_picture:
+ *
+ * - article.teaser_image:
+ * - article.content:
+ * - article.category:
+ * - article.tags:
+ * - article.post_layout
+ *
+ * @see @themag/includes/page.inc -> themag_preprocess_page()
+ */
+#}
+
+{# Extend page.html.twig #}
+{% extends '@themag/base-layout/page/page.html.twig' %}
+
+{% block page_content %}
+
+ {% block content_top %}
+ {% if page.content_top %}
+
+
+ {{ page.content_top }}
+
+
+ {% endif %}
+ {% endblock %}
+
+ {% block content_main %}
+
+
+ {{ page.content_header }}
+ {{ page.content_administration }}
+ {{ page.content }}
+
+
+ {% endblock %}
+
+ {% block content_bottom %}
+ {% if page.content_bottom %}
+
+
+ {{ page.content_bottom }}
+
+
+ {% endif %}
+ {% endblock %}
+
+ {% endblock %}
\ No newline at end of file
diff --git a/apps/drupal-default/particle_theme/templates/search/region--search.html.twig b/apps/drupal-default/particle_theme/templates/search/region--search.html.twig
new file mode 100755
index 0000000000..243ac0f6d6
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/search/region--search.html.twig
@@ -0,0 +1,34 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a region.
+ *
+ * Available variables:
+ * - content: The content for this region, typically blocks.
+ * - attributes: HTML attributes for the region .
+ * - 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/apps/drupal-default/particle_theme/templates/system/html.html.twig b/apps/drupal-default/particle_theme/templates/system/html.html.twig
new file mode 100755
index 0000000000..ede7506ee3
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/system/html.html.twig
@@ -0,0 +1,67 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - head_title: List of text elements that make up the head_title variable.
+ * May contain one 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'.
+ * - db_offline: A flag indicating if the database is offline.
+ * - placeholder_token: The token for generating head, css, js and js-bottom
+ * placeholders.
+ *
+ * @see template_preprocess_html()
+ */
+#}
+{%
+ set body_classes = [
+ logged_in ? 'user-logged-in',
+ not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
+ node_type ? 'page-node-type-' ~ node_type|clean_class,
+ db_offline ? 'db-offline',
+ ]
+%}
+
+
+
+
+ {{ head_title|safe_join(' | ') }}
+
+
+
+ {% if themag.additional_css != '' %}
+
+ {% endif %}
+
+
+
+ {{ themag.additional_javascript|raw }}
+ {% block body %}
+ {#
+ Keyboard navigation/accessibility link to main content section in
+ page.html.twig.
+ #}
+
+ {{ 'Skip to main content'|t }}
+
+
+ {# Scroll to top element #}
+
+
+ {{ page_top }}
+ {{ page }}
+ {{ page_bottom }}
+
+ {% endblock %}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/system/image.html.twig b/apps/drupal-default/particle_theme/templates/system/image.html.twig
new file mode 100755
index 0000000000..2024dfb7eb
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/system/image.html.twig
@@ -0,0 +1,15 @@
+{#
+/**
+ * @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
+ */
+#}
+
diff --git a/apps/drupal-default/particle_theme/templates/system/maintenance-page.html.twig b/apps/drupal-default/particle_theme/templates/system/maintenance-page.html.twig
new file mode 100755
index 0000000000..f42d7a18da
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/system/maintenance-page.html.twig
@@ -0,0 +1,50 @@
+{#
+/**
+ * @file
+ * Theme override 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()
+ */
+#}
+
+
+
+ {% if logo %}
+
+
+
+ {% endif %}
+
+
+
+ {% if title %}
+ {{ title }}
+ {% endif %}
+
+ {{ page.highlighted }}
+
+ {{ page.content }}
+
+
+ {% if page.sidebar_first %}
+ {# /.layout-sidebar-first #}
+ {% endif %}
+
+ {% if page.sidebar_second %}
+ {# /.layout-sidebar-second #}
+ {% endif %}
+
+ {% if page.footer %}
+
+ {% endif %}
+
+{# /.layout-container #}
diff --git a/apps/drupal-default/particle_theme/templates/system/page--403.html.twig b/apps/drupal-default/particle_theme/templates/system/page--403.html.twig
new file mode 100755
index 0000000000..2e1dd7beea
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/system/page--403.html.twig
@@ -0,0 +1,19 @@
+{#
+/**
+ * @file
+ * Error 404 page.
+ */
+#}
+
+
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/system/page--404.html.twig b/apps/drupal-default/particle_theme/templates/system/page--404.html.twig
new file mode 100755
index 0000000000..1fbfa45c33
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/system/page--404.html.twig
@@ -0,0 +1,19 @@
+{#
+/**
+ * @file
+ * Error 404 page.
+ */
+#}
+
+
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/taxonomy/taxonomy-term--mg-category-icon-link.html.twig b/apps/drupal-default/particle_theme/templates/taxonomy/taxonomy-term--mg-category-icon-link.html.twig
new file mode 100755
index 0000000000..f26f147586
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/taxonomy/taxonomy-term--mg-category-icon-link.html.twig
@@ -0,0 +1,37 @@
+{#
+/**
+ * @file
+ * Theme override to display a taxonomy term.
+ *
+ * Available variables:
+ * - url: URL of the current term.
+ * - name: Name of the current term.
+ * - content: Items for the content of the term (fields and description).
+ * Use 'content' to print them all, or print a subset such as
+ * 'content.description'. Use the following code to exclude the
+ * printing of a given child element:
+ * @code
+ * {{ content|without('description') }}
+ * @endcode
+ * - attributes: HTML attributes for the wrapper.
+ * - page: Flag for the full page state.
+ * - term: The taxonomy term entity, including:
+ * - id: The ID of the taxonomy term.
+ * - bundle: Machine name of the current vocabulary.
+ * - view_mode: View mode, e.g. 'full', 'teaser', etc.
+ *
+ * @see template_preprocess_taxonomy_term()
+ */
+#}
+
+
+ {% block clategory_icon %}
+
+ {% endblock %}
+ {% block clategory_name %}
+ {{ name }}
+ {% endblock %}
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/taxonomy/taxonomy-term--mg-category-icon.html.twig b/apps/drupal-default/particle_theme/templates/taxonomy/taxonomy-term--mg-category-icon.html.twig
new file mode 100755
index 0000000000..73dfe6b7fa
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/taxonomy/taxonomy-term--mg-category-icon.html.twig
@@ -0,0 +1,31 @@
+{#
+/**
+ * @file
+ * Theme override to display a taxonomy term.
+ *
+ * Available variables:
+ * - url: URL of the current term.
+ * - name: Name of the current term.
+ * - content: Items for the content of the term (fields and description).
+ * Use 'content' to print them all, or print a subset such as
+ * 'content.description'. Use the following code to exclude the
+ * printing of a given child element:
+ * @code
+ * {{ content|without('description') }}
+ * @endcode
+ * - attributes: HTML attributes for the wrapper.
+ * - page: Flag for the full page state.
+ * - term: The taxonomy term entity, including:
+ * - id: The ID of the taxonomy term.
+ * - bundle: Machine name of the current vocabulary.
+ * - view_mode: View mode, e.g. 'full', 'teaser', etc.
+ *
+ * @see template_preprocess_taxonomy_term()
+ */
+#}
+{% extends '@themag/taxonomy/taxonomy-term--mg-category-icon-link.html.twig' %}
+{% block clategory_name %}
+ {{ name }}
+{% endblock %}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/user/components/user-social-pages.html.twig b/apps/drupal-default/particle_theme/templates/user/components/user-social-pages.html.twig
new file mode 100644
index 0000000000..434fd2a9a5
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/user/components/user-social-pages.html.twig
@@ -0,0 +1,37 @@
+
+{% endblock %}
diff --git a/apps/drupal-default/particle_theme/templates/user/page--user--password.html.twig b/apps/drupal-default/particle_theme/templates/user/page--user--password.html.twig
new file mode 100644
index 0000000000..ae5fd3f327
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/user/page--user--password.html.twig
@@ -0,0 +1,47 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ *
+ * Page content (in order of occurrence in the default page.html.twig):
+ * - 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
+ */
+#}
+
+{# Extend page.html.twig #}
+{% extends '@themag/user/page--user--login.html.twig' %}
diff --git a/apps/drupal-default/particle_theme/templates/user/page--user--register.html.twig b/apps/drupal-default/particle_theme/templates/user/page--user--register.html.twig
new file mode 100644
index 0000000000..ae5fd3f327
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/user/page--user--register.html.twig
@@ -0,0 +1,47 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ *
+ * Page content (in order of occurrence in the default page.html.twig):
+ * - 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
+ */
+#}
+
+{# Extend page.html.twig #}
+{% extends '@themag/user/page--user--login.html.twig' %}
diff --git a/apps/drupal-default/particle_theme/templates/user/user--author-info.html.twig b/apps/drupal-default/particle_theme/templates/user/user--author-info.html.twig
new file mode 100644
index 0000000000..6d297cd794
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/user/user--author-info.html.twig
@@ -0,0 +1,33 @@
+{#
+/**
+ * @file
+ * Theme override to present all user data.
+ *
+ * This template is used when viewing a registered user's page,
+ * e.g., example.com/user/123. 123 being the user's ID.
+ *
+ * Available variables:
+ * - content: A list of content items. Use 'content' to print all content, or
+ * print a subset such as 'content.field_example'. Fields attached to a user
+ * such as 'user_picture' are available as 'content.user_picture'.
+ * - attributes: HTML attributes for the container element.
+ * - user: A Drupal User entity.
+ *
+ * @see template_preprocess_user()
+ */
+#}
+
+
+
+
+ {{ content.user_picture }}
+
+ {{ user.getDisplayName }}
+ {{ content|without('user_picture', 'field_facebook', 'field_twitter', 'field_google_plus', 'field_instagram', 'field_linkedin', 'field_pinterest') }}
+
+ {{ include('@themag/user/components/user-social-pages.html.twig') }}
+
+
+
+
+
diff --git a/apps/drupal-default/particle_theme/templates/user/user--full.html.twig b/apps/drupal-default/particle_theme/templates/user/user--full.html.twig
new file mode 100755
index 0000000000..60213f145e
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/user/user--full.html.twig
@@ -0,0 +1,44 @@
+{#
+/**
+ * @file
+ * Theme override to present all user data.
+ *
+ * This template is used when viewing a registered user's page,
+ * e.g., example.com/user/123. 123 being the user's ID.
+ *
+ * Available variables:
+ * - content: A list of content items. Use 'content' to print all content, or
+ * print a subset such as 'content.field_example'. Fields attached to a user
+ * such as 'user_picture' are available as 'content.user_picture'.
+ * - attributes: HTML attributes for the container element.
+ * - user: A Drupal User entity.
+ *
+ * @see template_preprocess_user()
+ */
+#}
+
+
+
+{# @todo Remove commented code. #}
+{# #}
+{# {{ content.user_picture }}#}
+{# #}
+
+{# #}
+{# #}
+{# {{ 'Account informations'|t }}
#}
+{# #}
+{# {{ 'User name'|t }}: {{ user.getAccountName }}#}
+{# #}
+{# #}
+{# {{ 'E-mail'|t }}: {{ user.mail.value }}#}
+{# #}
+{# #}
+{# {{ content.member_for }}#}
+{# #}
+
+{# #}
+{# #}
+
+ {{ content|without('user_picture', 'member_for') }}
+
diff --git a/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-directory.html.twig b/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-directory.html.twig
new file mode 100644
index 0000000000..5298a2337d
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-directory.html.twig
@@ -0,0 +1,35 @@
+{#
+/**
+ * @file
+ * Theme override for a views exposed form.
+ *
+ * Available variables:
+ * - form: A render element representing the form.
+ *
+ * @see template_preprocess_views_exposed_form()
+ */
+#}
+{# NOTES
+ related files:
+ docroot/modules/custom/utccloud/utccloud.module
+ - (preprocess for both twig files)
+ docroot/themes/custom/particle/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-directory.html.twig
+ - this file - shows/hides the exposed filters based on variables in URL
+ docroot/themes/custom/particle/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-directory.html.twig
+ renders view content
+#}
+{# testing variable being passed from preprocess
+{{ argument_count }} #}
+
+{% if q is not empty %}
+ {#
+ This ensures that, if clean URLs are off, the 'q' is added first,
+ as a hidden form element, so that it shows up first in the POST URL.
+ #}
+{{ q }}
+{% endif %}
+{% if argument_count < 3 %}
+
+ {{ form }}
+
+{% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-library-item.html.twig b/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-library-item.html.twig
new file mode 100644
index 0000000000..5a6f8a7034
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-library-item.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Theme override for a views exposed form.
+ *
+ * Available variables:
+ * - form: A render element representing the form.
+ *
+ * @see template_preprocess_views_exposed_form()
+ */
+#}
+{% if q is not empty %}
+ {#
+ This ensures that, if clean URLs are off, the 'q' is added first,
+ as a hidden form element, so that it shows up first in the POST URL.
+ #}
+{{ q }}
+{% endif %}
+
+
+ {{ form }}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/views/views-view--utc-people-finder.html.twig b/apps/drupal-default/particle_theme/templates/views/views-view--utc-people-finder.html.twig
new file mode 100644
index 0000000000..a58a109746
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/views/views-view--utc-people-finder.html.twig
@@ -0,0 +1,102 @@
+{#
+/**
+ * @file
+ * Theme override for a main view template.
+ *
+ * Available variables:
+ * - attributes: Remaining HTML attributes for the element.
+ * - css_name: A css-safe version of the view name.
+ * - css_class: The user-specified classes names, if any.
+ * - header: The optional header.
+ * - footer: The optional footer.
+ * - rows: The results of the view query, if any.
+ * - empty: The content to display if there are no rows.
+ * - pager: The optional pager next/prev links to display.
+ * - exposed: Exposed widget form/info to display.
+ * - feed_icons: Optional feed icons to display.
+ * - more: An optional link to the next page of results.
+ * - title: Title of the view, only used when displaying in the admin preview.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the view title.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the view title.
+ * - attachment_before: An optional attachment view to be displayed before the
+ * view content.
+ * - attachment_after: An optional attachment view to be displayed after the
+ * view content.
+ * - dom_id: Unique id for every view being printed to give unique class for
+ * Javascript.
+ *
+ * @see template_preprocess_views_view()
+ */
+#}
+{%
+ set classes = [
+ 'view',
+ 'view-' ~ id|clean_class,
+ 'view-id-' ~ id,
+ 'view-display-id-' ~ display_id,
+ dom_id ? 'js-view-dom-id-' ~ dom_id,
+ ]
+%}
+
+ {{ title_prefix }}
+ {% if title %}
+ {{ title }}
+ {% endif %}
+ {{ title_suffix }}
+ {% if header %}
+
+ {{ header }}
+
+ {% endif %}
+ {% if exposed %}
+
+ {{ exposed }}
+
+ {% endif %}
+ {% if attachment_before %}
+
+ {% endif %}
+
+ {% if rows %}
+
+
+ {{ rows }}
+
+
+ {% elseif empty %}
+
+
+
+ {{ empty }}
+
+
+ {% endif %}
+
+ {% if pager %}
+ {{ pager }}
+ {% endif %}
+ {% if attachment_after %}
+
+ {% endif %}
+ {% if more %}
+ {{ more }}
+ {% endif %}
+ {% if footer %}
+
+ {% endif %}
+ {% if feed_icons %}
+
+ {% endif %}
+
diff --git a/apps/drupal-default/particle_theme/templates/views/views-view-table--department-directory.html.twig b/apps/drupal-default/particle_theme/templates/views/views-view-table--department-directory.html.twig
new file mode 100644
index 0000000000..7f9434146d
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/views/views-view-table--department-directory.html.twig
@@ -0,0 +1,193 @@
+{#
+/**
+ * @file
+ * Theme override for displaying a view as a table.
+ *
+ * Available variables:
+ * - attributes: Remaining HTML attributes for the element.
+ * - class: HTML classes that can be used to style contextually through CSS.
+ * - title : The title of this group of rows.
+ * - header: The table header columns.
+ * - attributes: Remaining HTML attributes for the element.
+ * - content: HTML classes to apply to each header cell, indexed by
+ * the header's key.
+ * - default_classes: A flag indicating whether default classes should be
+ * used.
+ * - caption_needed: Is the caption tag needed.
+ * - caption: The caption for this table.
+ * - accessibility_description: Extended description for the table details.
+ * - accessibility_summary: Summary for the table details.
+ * - rows: Table row items. Rows are keyed by row number.
+ * - attributes: HTML classes to apply to each row.
+ * - columns: Row column items. Columns are keyed by column number.
+ * - attributes: HTML classes to apply to each column.
+ * - content: The column content.
+ * - default_classes: A flag indicating whether default classes should be
+ * used.
+ * - responsive: A flag indicating whether table is responsive.
+ * - sticky: A flag indicating whether table header is sticky.
+ *
+ * @see template_preprocess_views_view_table()
+ */
+#}
+
+{%
+ set classes = [
+ 'border-collapse',
+ 'w-full',
+ ]
+%}
+
+ {% if caption_needed %}
+
+ {% if caption %}
+ {{ caption }}
+ {% else %}
+ {{ title }}
+ {% endif %}
+ {% if (summary is not empty) or (description is not empty) %}
+
+ {% if summary is not empty %}
+ {{ summary }}
+ {% endif %}
+ {% if description is not empty %}
+ {{ description }}
+ {% endif %}
+
+ {% endif %}
+
+ {% endif %}
+ {% if header %}
+
+
+ {% for key, column in header %}
+ {% if column.default_classes %}
+ {%
+ set column_classes = [
+ 'p-3',
+ 'font-semibold',
+ 'uppercase',
+ 'bg-utc-new-blue-100',
+ 'text-utc-new-blue-500',
+ 'tracking-wider',
+ 'border-0',
+ 'hidden',
+ 'xl:table-cell',
+ 'xl:text-base'
+ ]
+ %}
+ {% endif %}
+
+ {%- if column.wrapper_element -%}
+ <{{ column.wrapper_element }}>
+ {%- if column.url -%}
+ {{ column.content }}{{ column.sort_indicator }}
+ {%- else -%}
+ {%- if column is not empty -%}
+ {{ column.content }}{{ column.sort_indicator }}
+ {% endif %}
+ {%- endif -%}
+ {{ column.wrapper_element }}>
+ {%- else -%}
+ {%- if column.url -%}
+ {{ column.content }}{{ column.sort_indicator }}
+ {%- else -%}
+ {%- if column.content is not empty -%}
+ {{- column.content }}{{ column.sort_indicator }}
+ {% endif %}
+ {%- endif -%}
+ {%- endif -%}
+
+ {% endfor %}
+
+
+ {% endif %}
+
+ {%
+ set row_classes = [
+ 'bg-white',
+ 'font-medium',
+ 'flex',
+ 'xl:table-row',
+ 'flex-row',
+ 'xl:flex-row',
+ 'flex-wrap',
+ 'xl:flex-no-wrap',
+ 'mb-5',
+ 'xl:mb-0',
+ 'shadow',
+ 'xl:shadow-lg',
+ ]
+ %}
+ {% for row in rows %}
+
+ {% for key, column in row.columns %}
+ {% if column.default_classes %}
+ {%
+ set column_classes = [
+ 'text-gray-800',
+ 'block',
+ 'text-sm',
+ 'my-3',
+ 'xl:w-auto',
+ 'xl:table-cell',
+ 'xl:border-b',
+ 'xl:border-l-0',
+ 'xl:border-r-0',
+ 'xl:my-8',
+ 'xl:p-0',
+ 'xl:text-xs',
+
+ ]
+ %}
+ {% for field in column.fields %}
+ {% set column_classes = column_classes|merge(['views-' ~ field]) %}
+ {% endfor %}
+ {% endif %}
+ {% if loop.first %}
+ {% set column_classes = [
+ 'block',
+ 'w-full',
+ 'text-white',
+ 'bg-utc-new-blue-400',
+ 'font-semibold',
+ 'text-lg',
+ 'mt-0',
+ 'mb-3',
+ 'px-5',
+ 'py-3',
+ 'xl:w-1/5',
+ 'xl:table-cell',
+ 'xl:border-b',
+ 'xl:border-l-0',
+ 'xl:border-r-0',
+ 'xl:text-gray-800',
+ 'xl:bg-white',
+ 'xl:text-sm',
+ 'xl:my-8',
+ 'xl:p-3',
+ ] %}
+ {% endif %}
+ {% if loop.last %}
+ {% set column_classes = column_classes|merge(['w-full', 'bg-gray-100', 'font-semibold', 'xl:bg-white', 'xl:w-auto', 'mt-3', 'mb-0', 'xl:my-8']) %}
+ {% endif %}
+
+ {{ header.content }}
+ {%- if column.wrapper_element -%}
+ <{{ column.wrapper_element }}>
+ {% for content in column.content %}
+ {{ content.separator }}{{ content.field_output }}
+ {% endfor %}
+ {{ column.wrapper_element }}>
+ {%- else -%}
+ {% for content in column.content %}
+
+ {{- content.separator }}{{ content.field_output -}}
+ {% endfor %}
+ {%- endif %}
+
+ {% endfor %}
+
+ {% endfor %}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/views/views-view-table.html.twig b/apps/drupal-default/particle_theme/templates/views/views-view-table.html.twig
new file mode 100644
index 0000000000..5c3649d5bf
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/views/views-view-table.html.twig
@@ -0,0 +1,127 @@
+{#
+/**
+ * @file
+ * Theme override for displaying a view as a table.
+ *
+ * Available variables:
+ * - attributes: Remaining HTML attributes for the element.
+ * - class: HTML classes that can be used to style contextually through CSS.
+ * - title : The title of this group of rows.
+ * - header: The table header columns.
+ * - attributes: Remaining HTML attributes for the element.
+ * - content: HTML classes to apply to each header cell, indexed by
+ * the header's key.
+ * - default_classes: A flag indicating whether default classes should be
+ * used.
+ * - caption_needed: Is the caption tag needed.
+ * - caption: The caption for this table.
+ * - accessibility_description: Extended description for the table details.
+ * - accessibility_summary: Summary for the table details.
+ * - rows: Table row items. Rows are keyed by row number.
+ * - attributes: HTML classes to apply to each row.
+ * - columns: Row column items. Columns are keyed by column number.
+ * - attributes: HTML classes to apply to each column.
+ * - content: The column content.
+ * - default_classes: A flag indicating whether default classes should be
+ * used.
+ * - responsive: A flag indicating whether table is responsive.
+ * - sticky: A flag indicating whether table header is sticky.
+ *
+ * @see template_preprocess_views_view_table()
+ */
+#}
+{%
+ set classes = [
+ 'table',
+ 'views-table',
+ 'views-view-table',
+ 'cols-' ~ header|length,
+ responsive ? 'responsive-enabled',
+ sticky ? 'sticky-enabled',
+ ]
+%}
+
+ {% if caption_needed %}
+
+ {% if caption %}
+ {{ caption }}
+ {% else %}
+ {{ title }}
+ {% endif %}
+ {% if (summary is not empty) or (description is not empty) %}
+
+ {% if summary is not empty %}
+ {{ summary }}
+ {% endif %}
+ {% if description is not empty %}
+ {{ description }}
+ {% endif %}
+
+ {% endif %}
+
+ {% endif %}
+ {% if header %}
+
+
+ {% for key, column in header %}
+ {% if column.default_classes %}
+ {%
+ set column_classes = [
+ 'views-field',
+ 'views-field-' ~ fields[key],
+ ]
+ %}
+ {% endif %}
+
+ {%- if column.wrapper_element -%}
+ <{{ column.wrapper_element }}>
+ {%- if column.url -%}
+ {{ column.content }}{{ column.sort_indicator }}
+ {%- else -%}
+ {{ column.content }}{{ column.sort_indicator }}
+ {%- endif -%}
+ {{ column.wrapper_element }}>
+ {%- else -%}
+ {%- if column.url -%}
+ {{ column.content }}{{ column.sort_indicator }}
+ {%- else -%}
+ {{- column.content }}{{ column.sort_indicator }}
+ {%- endif -%}
+ {%- endif -%}
+
+ {% endfor %}
+
+
+ {% endif %}
+
+ {% for row in rows %}
+
+ {% for key, column in row.columns %}
+ {% if column.default_classes %}
+ {%
+ set column_classes = [
+ 'views-field'
+ ]
+ %}
+ {% for field in column.fields %}
+ {% set column_classes = column_classes|merge(['views-field-' ~ field]) %}
+ {% endfor %}
+ {% endif %}
+
+ {%- if column.wrapper_element -%}
+ <{{ column.wrapper_element }}>
+ {% for content in column.content %}
+ {{ content.separator }}{{ content.field_output }}
+ {% endfor %}
+ {{ column.wrapper_element }}>
+ {%- else -%}
+ {% for content in column.content %}
+ {{- content.separator }}{{ content.field_output -}}
+ {% endfor %}
+ {%- endif %}
+
+ {% endfor %}
+
+ {% endfor %}
+
+
diff --git a/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-directory.html.twig b/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-directory.html.twig
new file mode 100644
index 0000000000..81ce7685dc
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-directory.html.twig
@@ -0,0 +1,211 @@
+{#
+/**
+ * @file
+ * Theme override to display a view of unformatted rows.
+ *
+ * Available variables:
+ * - title: The title of this group of rows. May be empty.
+ * - rows: A list of the view's row items.
+ * - attributes: The row's HTML attributes.
+ * - content: The row's content.
+ * - view: The view object.
+ * - default_row_class: A flag indicating whether default classes should be
+ * used on rows.
+ *
+ * @see template_preprocess_views_view_unformatted()
+ */
+#}
+{# NOTES
+ related files:
+ docroot/modules/custom/utccloud/utccloud.module
+ - (preprocess for both twig files)
+ docroot/themes/custom/particle/apps/drupal-default/particle_theme/templates/views/views-exposed-form--utc-directory.html.twig
+ - this shows/hides the exposed filters based on variables in URL
+ docroot/themes/custom/particle/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-directory.html.twig
+ - this file - renders view content
+ #}
+{{ attach_library('utccloud/utc-directory') }}
+
+{% if title %}
+ {{ title }}
+{% endif %}
+{% for key,row in rows %}
+
+{# set variables #}
+ {%
+ set row_classes = [
+ default_row_class ? 'views-row employee-profile__grid',
+ ]
+ %}
+ {# set urls #}
+ {% set dept_url = view.style_plugin.getField(key, 'field_utc_organizational_section')|render|striptags|trim|lower|replace({" ":"-"}) %}
+ {% set profile_url = '' %} {# declare empty variable re/set #}
+ {% if profile != 'individual' %}{# profile cards in directory list #}
+ {# one option would be to check for body and render with a view -- creates url if a profile page is needed #}
+ {% if
+ ((view.style_plugin.getField(key, 'body')|render|striptags|trim is not empty) and (view.style_plugin.getField(key, 'field_mocs_id')|render|striptags|trim is not empty))
+ or
+ (view.style_plugin.getField(key, 'field_use_digital_measures')|render|striptags|trim == "On")
+ %}
+ {% set profile_url = '/directory/' ~ dept_url ~ '/' ~ view.style_plugin.getField(key, 'field_mocs_id')|render|striptags|trim %}
+ {% endif %}
+ {% if view.style_plugin.getField(key, 'field_employee_website')|render|striptags|trim is not empty %}
+ {% set profile_url = view.style_plugin.getField(key, 'field_employee_website')|render|striptags|trim %}
+ {% endif %}
+ {# if it is a profile card in the directory view, uses this html #}
+
+
+ {% if profile_url %}
+
+ {% endif %}
+
+
+ Image
+
+
+
+
+
+ {% if profile_url != '#' %}
+
+ {% endif %}
+
+
+ {% if profile_url %}
+
+ {% endif %}
+
+ {{ view.style_plugin.getField(key, 'field_employee_first_name') }} {{ view.style_plugin.getField(key, 'field_employee_last_name') }}
+
+ {% if profile_url %}
+
+ {% endif %}
+
+ {{ view.style_plugin.getField(key, 'field_employee_title') }}
+
+
+
+
+
+ {{ view.style_plugin.getField(key, 'field_utc_organizational_section')|render|striptags|trim }}
+
+
+
+ {% if view.style_plugin.getField(key, 'field_employee_email')|render|striptags|trim %}
+
+ {{ view.style_plugin.getField(key, 'field_employee_email') }}
+
+ {% endif %}
+ {% if view.style_plugin.getField(key, 'field_employee_office_location')|render|striptags|trim %}
+
+ {{ view.style_plugin.getField(key, 'field_employee_office_location') }}
+
+ {% endif %}
+ {% if view.style_plugin.getField(key, 'field_employee_telephone')|render|striptags|trim %}
+
+ {{ view.style_plugin.getField(key, 'field_employee_telephone') }}
+
+ {% endif %}
+
+
+ {% if profile_url %}
+
+
+ More
+
+
+ {% endif %}
+
+
+
+
+ {% else %} {# full page profile #}
+ {% set employee_body = view.style_plugin.getField(key, 'body') %}
+ {# test render DM#}
+ {% if view.style_plugin.getField(key, 'field_use_digital_measures')|render|striptags|trim == "On" %}
+ {{ attach_library('utccloud/utc-digitalmeasures2') }}
+
+ {% set employee_body = '' %}
+ {% set hide_profile = 'hidden' %}
+ {% endif %}
+ {# need to move this JS to external + add functionality to handle dept breadcrumb #}
+
+ {# if it is a profile page created in Drupal, uses this html #}
+
+{% if employee_body %}
+
+
+
+ {{ employee_body }}
+ {# this utcid could be used for DM script
+ {{ view.storage.executable.args[0] }}
+ #}
+
+{% endif %}
+ {% endif %}
+ {% if ( profile != 'all') and ( profile != 'individual') and ( key == 0 ) %}
+ {# need to move this JS to external + add functionality to handle dept breadcrumb #}
+ {% set dept_name = view.style_plugin.getField(key, 'field_utc_organizational_section')|render|striptags|trim %}
+
+ {% endif %}
+{% endfor %}
+ {% if profile == 'all' %}
+ {# need to move this JS to external + add functionality to handle dept breadcrumb #}
+
+ {% endif %}
diff --git a/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-library-employee-view.html.twig b/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-library-employee-view.html.twig
new file mode 100644
index 0000000000..c4f8955316
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/views/views-view-unformatted--utc-library-employee-view.html.twig
@@ -0,0 +1,108 @@
+{#
+/**
+ * @file
+ * Theme override to display a view of unformatted rows.
+ *
+ * Available variables:
+ * - title: The title of this group of rows. May be empty.
+ * - rows: A list of the view's row items.
+ * - attributes: The row's HTML attributes.
+ * - content: The row's content.
+ * - view: The view object.
+ * - default_row_class: A flag indicating whether default classes should be
+ * used on rows.
+ *
+ * @see template_preprocess_views_view_unformatted()
+ */
+#}
+{% if title %}
+ {{ title }}
+{% endif %}
+{% for key,row in rows %}
+ {%
+ set row_classes = [
+ default_row_class ? 'views-row employee-card__grid',
+ ]
+ %}
+{% set employee_body = '' %}
+ {% set profile_url = '' %} {# declare empty variable re/set #}
+ {% if view.storage.executable.args[0] == 'all' %}{# could use to check for indvidual view if utcid not set #}
+ {# one option would be to check for body and render with a view #}
+ {% if view.style_plugin.getField(key, 'body')|render|striptags|trim is not empty %}
+ {% set profile_url = site_url|render ~ '?utcid=' ~ view.style_plugin.getField(key, 'field_mocs_id')|render|striptags|trim ~ '&dept=' ~ view.style_plugin.getField(key, 'field_utc_department_3')|render|striptags|trim %}
+ {#
+ {% if view.style_plugin.getField(key, 'field_employee_website')|render|striptags|trim is not empty %}
+ {% set profile_url = view.style_plugin.getField(key, 'field_employee_website')|render|striptags|trim %}
+ #}
+ {% endif %}
+
+
+ {% endif %}
+{% endmacro %}
diff --git a/apps/drupal-default/particle_theme/templates/navigation/menu--utclib-brandbar-menu.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--utclib-brandbar-menu.html.twig
new file mode 100644
index 0000000000..29272a55d0
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--utclib-brandbar-menu.html.twig
@@ -0,0 +1,62 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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/apps/drupal-default/particle_theme/templates/navigation/menu--utc-sidemenu.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--utc-sidemenu.html.twig
new file mode 100644
index 0000000000..76144bff6e
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--utc-sidemenu.html.twig
@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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/apps/drupal-default/particle_theme/templates/navigation/menu--utc-people-sidenav.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--utc-people-sidenav.html.twig
new file mode 100644
index 0000000000..76144bff6e
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--utc-people-sidenav.html.twig
@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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/apps/drupal-default/particle_theme/templates/navigation/menu--utc-offcanvas-sidebar.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--utc-offcanvas-sidebar.html.twig
new file mode 100644
index 0000000000..46593ff48d
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--utc-offcanvas-sidebar.html.twig
@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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/apps/drupal-default/particle_theme/templates/navigation/menu--shortcuts.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--shortcuts.html.twig
new file mode 100644
index 0000000000..b437f8760e
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--shortcuts.html.twig
@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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/apps/drupal-default/particle_theme/templates/navigation/menu--main.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--main.html.twig
new file mode 100644
index 0000000000..abd30dfb67
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--main.html.twig
@@ -0,0 +1,56 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{# might not be needed anymore #}
+{# {% import _self as menus %} #}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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 %}
+
+
+{# it allows the active state to have a hover over #}
+ {# .menu-item-topmenu .is-active:hover {
+ background-color: #F6E05E;
+ color: #112e51;
+ } #}
\ No newline at end of file
diff --git a/apps/drupal-default/particle_theme/templates/navigation/menu--info-for.html.twig b/apps/drupal-default/particle_theme/templates/navigation/menu--info-for.html.twig
new file mode 100644
index 0000000000..b437f8760e
--- /dev/null
+++ b/apps/drupal-default/particle_theme/templates/navigation/menu--info-for.html.twig
@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Theme override 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.
+ * - is_expanded: TRUE if the link has visible children within the current
+ * menu tree.
+ * - is_collapsed: TRUE if the link has children within the current menu tree
+ * that are not currently visible.
+ * - in_active_trail: TRUE if the link is in the active trail.
+ */
+#}
+{% import _self as menus %}
+
+{#
+ We call a macro which calls itself to render the full tree.
+ @see https://twig.symfony.com/doc/1.x/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 %}
+
+ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} +{{ question }}
+ {% else %} +{{ results_title }}
+ {% endif %} +{{ question }}
+ {% endif %} + {{ form.choice }} + {{ form.actions }} +-
+ {% else %}
+
- + {{ link(item.title, item.url, item.attributes.removeClass(classes).addClass(menulinktag)) }} + {% if item.below %} + {{ menus.menu_links(item.below, attributes, menu_level + 1) }} + {% endif %} + + {% endfor %} +
-
+ {% else %}
+
-
+ {% else %}
+
-
+ {% else %}
+
-
+ {% else %}
+
-
+ {% else %}
+
-
+ {% else %}
+
-
+ {% else %}
+
-
+ {% endif %}
+ {% for item in items %}
+ {%
+ set listitem = [
+ 'menu-item ml-0.5 mb-1',
+ item.is_expanded ? 'menu-item--expanded',
+ item.is_collapsed ? 'menu-item--collapsed',
+ ]
+ %}
+ {%
+ set menulinktag = [
+ 'text-sm font-bold uppercase',
+ 'px-2 pt-3 pb-2 hover:bg-utc-new-blue-500',
+ 'hover:text-utc-new-gold-500',
+ item.in_active_trail ? 'menu-item--active-trail bg-gray-200',
+ ]
+ %}
+
- {{ 'Primary tabs'|t }} -
--
- {{ primary }}
-
{{ 'Primary tabs'|t }}
+- {{ primary }}
- {{ 'Secondary tabs'|t }} -
--
- {{ secondary }}
-
{{ 'Secondary tabs'|t }}
+- {{ secondary }}
+ {{ label }} +
+ {% endif %} + {{ title_suffix }} + + {% if display_submitted %} + + {% endif %} + ++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + + {% if display_submitted %} + + {% endif %} + ++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + + {% if display_submitted %} + + {% endif %} + ++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#+ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#Which type of student are you?
+ + + + + +Transient
++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#+ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#How can we help?
+ +UT Taleo
+UTC Policies
+New Employees
+UT System HR
++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#+ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} ++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#Who are you?
+ + ++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#+ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} + {#Physical Therapy
+ {#With HTML5 Video and Bootstrap 4
#} ++ {{ label }} +
+ {% endif %} + {{ title_suffix }} + {% block content %} +{{ title }}
+ {% endif %} + + {{ page.highlighted }} + + {{ page.content }} +{{ user.getDisplayName }}
+ {{ content|without('user_picture', 'field_facebook', 'field_twitter', 'field_google_plus', 'field_instagram', 'field_linkedin', 'field_pinterest') }} +{{ 'Account informations'|t }}
#} +{#+ {%- if column.wrapper_element -%} + <{{ column.wrapper_element }}> + {%- if column.url -%} + {{ column.content }}{{ column.sort_indicator }} + {%- else -%} + {%- if column is not empty -%} + {{ column.content }}{{ column.sort_indicator }} + {% endif %} + {%- endif -%} + {{ column.wrapper_element }}> + {%- else -%} + {%- if column.url -%} + {{ column.content }}{{ column.sort_indicator }} + {%- else -%} + {%- if column.content is not empty -%} + {{- column.content }}{{ column.sort_indicator }} + {% endif %} + {%- endif -%} + {%- endif -%} + | + {% endfor %} +
---|
+ {{ header.content }} + {%- if column.wrapper_element -%} + <{{ column.wrapper_element }}> + {% for content in column.content %} + {{ content.separator }}{{ content.field_output }} + {% endfor %} + {{ column.wrapper_element }}> + {%- else -%} + {% for content in column.content %} + + {{- content.separator }}{{ content.field_output -}} + {% endfor %} + {%- endif %} + | + {% endfor %} +
+ {%- if column.wrapper_element -%} + <{{ column.wrapper_element }}> + {%- if column.url -%} + {{ column.content }}{{ column.sort_indicator }} + {%- else -%} + {{ column.content }}{{ column.sort_indicator }} + {%- endif -%} + {{ column.wrapper_element }}> + {%- else -%} + {%- if column.url -%} + {{ column.content }}{{ column.sort_indicator }} + {%- else -%} + {{- column.content }}{{ column.sort_indicator }} + {%- endif -%} + {%- endif -%} + | + {% endfor %} +
---|
+ {%- if column.wrapper_element -%} + <{{ column.wrapper_element }}> + {% for content in column.content %} + {{ content.separator }}{{ content.field_output }} + {% endfor %} + {{ column.wrapper_element }}> + {%- else -%} + {% for content in column.content %} + {{- content.separator }}{{ content.field_output -}} + {% endfor %} + {%- endif %} + | + {% endfor %} +
{{ title }}
+{% endif %} +{% for key,row in rows %} + +{# set variables #} + {% + set row_classes = [ + default_row_class ? 'views-row employee-profile__grid', + ] + %} + {# set urls #} + {% set dept_url = view.style_plugin.getField(key, 'field_utc_organizational_section')|render|striptags|trim|lower|replace({" ":"-"}) %} + {% set profile_url = '' %} {# declare empty variable re/set #} + {% if profile != 'individual' %}{# profile cards in directory list #} + {# one option would be to check for body and render with a view -- creates url if a profile page is needed #} + {% if + ((view.style_plugin.getField(key, 'body')|render|striptags|trim is not empty) and (view.style_plugin.getField(key, 'field_mocs_id')|render|striptags|trim is not empty)) + or + (view.style_plugin.getField(key, 'field_use_digital_measures')|render|striptags|trim == "On") + %} + {% set profile_url = '/directory/' ~ dept_url ~ '/' ~ view.style_plugin.getField(key, 'field_mocs_id')|render|striptags|trim %} + {% endif %} + {% if view.style_plugin.getField(key, 'field_employee_website')|render|striptags|trim is not empty %} + {% set profile_url = view.style_plugin.getField(key, 'field_employee_website')|render|striptags|trim %} + {% endif %} + {# if it is a profile card in the directory view, uses this html #} ++ {{ view.style_plugin.getField(key, 'field_employee_first_name') }} {{ view.style_plugin.getField(key, 'field_employee_last_name') }} +
+ {% if profile_url %} + + {% endif %} ++ {{ view.style_plugin.getField(key, 'field_employee_title') }} +
++ + {{ view.style_plugin.getField(key, 'field_utc_organizational_section')|render|striptags|trim }} +
++ {{ view.style_plugin.getField(key, 'field_employee_email') }} +
+ {% endif %} + {% if view.style_plugin.getField(key, 'field_employee_office_location')|render|striptags|trim %} ++ {{ view.style_plugin.getField(key, 'field_employee_office_location') }} +
+ {% endif %} + {% if view.style_plugin.getField(key, 'field_employee_telephone')|render|striptags|trim %} ++ {{ view.style_plugin.getField(key, 'field_employee_telephone') }} +
+ {% endif %} ++ + More + +
+ {% endif %} +