--- /dev/null
+{#
+/**
+ * @file
+ * Default theme implementation for views to display rows in a responsive grid.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the wrapping div element.
+ * - title: The title of this group of rows.
+ * - view: The view object.
+ * - rows: The rendered view results array.
+ * - options: The view plugin style options.
+ * - items: Contains a nested array of grid items. The structure of this array
+ * - depends on the value of options.alignment.
+ * - row_attributes: HTML attributes for each grid row. The structure of this
+ * array depends on the value of options.alignment.
+ * - col_attributes: HTML attributes for each grid column. The structure of this
+ * array depends on the value of options.alignment.
+ *
+ * @see template_process_views_view_responsive_grid()
+ *
+ * @ingroup themeable
+ * @ingroup views_templates
+ */
+#}
+{% if title %}
+<h3>{{ title }}</h3>
+{% endif %}
+<div{{ attributes }}>
+{% if options.alignment == 'horizontal' %}
+ {% for row_key, row in items %}
+ <div{{ row_attributes[row_key] }}>
+ {% for col_key, col in row %}
+ <div{{ col_attributes[row_key][col_key] }}>
+ {{ items[row_key][col_key] }}
+ </div>
+ {% endfor %}
+ </div>
+ {% endfor %}
+{% else %}
+ {% for col_key, column in items %}
+ <div{{ col_attributes[col_key] }}>
+ {% for row_key, row in column %}
+ <div{{ row_attributes[col_key][row_key] }}>
+ {{ items[col_key][row_key] }}
+ </div>
+ {% endfor %}
+ </div>
+ {% endfor %}
+{% endif %}
+</div>