Drupal 8.0.0 beta 12. More info: https://www.drupal.org/node/2514176

This commit is contained in:
Pantheon Automation 2015-08-17 17:00:26 -07:00 committed by Greg Anderson
commit 9921556621
13277 changed files with 1459781 additions and 0 deletions

View file

@ -0,0 +1,18 @@
bartik.mobile:
label: mobile
mediaQuery: ''
weight: 2
multipliers:
- 1x
bartik.narrow:
label: narrow
mediaQuery: 'all and (min-width: 560px) and (max-width: 850px)'
weight: 1
multipliers:
- 1x
bartik.wide:
label: wide
mediaQuery: 'all and (min-width: 851px)'
weight: 0
multipliers:
- 1x

View file

@ -0,0 +1,38 @@
name: Bartik
type: theme
base theme: classy
description: 'A flexible, recolorable theme with many regions and a responsive, mobile-first layout.'
package: Core
version: VERSION
core: 8.x
stylesheets-remove:
- '@classy/css/layout.css'
libraries:
- bartik/global-styling
ckeditor_stylesheets:
- css/base/elements.css
- css/components/captions.css
- css/components/content.css
- css/components/table.css
regions:
header: Header
primary_menu: 'Primary menu'
secondary_menu: 'Secondary menu'
help: Help
page_top: 'Page top'
page_bottom: 'Page bottom'
highlighted: Highlighted
featured_top: 'Featured top'
breadcrumb: Breadcrumb
content: Content
sidebar_first: 'Sidebar first'
sidebar_second: 'Sidebar second'
featured_bottom_first: 'Featured bottom first'
featured_bottom_second: 'Featured bottom second'
featured_bottom_third: 'Featured bottom third'
footer_first: 'Footer first'
footer_second: 'Footer second'
footer_third: 'Footer third'
footer_fourth: 'Footer fourth'
footer_fifth: 'Footer fifth'

View file

@ -0,0 +1,76 @@
global-styling:
version: VERSION
css:
base:
css/base/elements.css: {}
component:
css/components/admin.css: {}
css/components/block.css: {}
css/components/book.css: {}
css/components/breadcrumb.css: {}
css/components/captions.css: {}
css/components/comments.css: {}
css/components/content.css: {}
css/components/contextual.css: {}
# @see https://www.drupal.org/node/2389735
css/components/dropbutton.component.css: {}
css/components/featured-top.css: {}
css/components/feed-icon.css: {}
css/components/form.css: {}
css/components/forum.css: {}
css/components/header.css: {}
css/components/region-help.css: {}
css/components/item-list.css: {}
css/components/list-group.css: {}
css/components/node-preview.css: {}
css/components/pager.css: {}
css/components/panel.css: {}
css/components/primary-menu.css: {}
css/components/search.css: {}
css/components/search-results.css: {}
css/components/secondary-menu.css: {}
css/components/shortcut.css: {}
css/components/skip-link.css: {}
css/components/sidebar.css: {}
css/components/site-footer.css: {}
css/components/table.css: {}
css/components/tabs.css: {}
css/components/tips.css: {}
css/components/toolbar.css: {}
css/components/featured-bottom.css: {}
css/components/user.css: {}
# @see https://www.drupal.org/node/2389735
css/components/vertical-tabs.component.css: {}
css/components/views.css: {}
css/components/buttons.css: {}
css/components/ui-dialog.css: {}
layout:
css/layout.css: {}
theme:
css/colors.css: {}
css/print.css: { media: print }
messages:
version: VERSION
css:
component:
css/components/messages.css: { preprocess: false }
color.preview:
version: VERSION
css:
theme:
color/preview.css: {}
js:
color/preview.js: {}
dependencies:
- color/drupal.color
maintenance_page:
version: VERSION
css:
theme:
css/maintenance-page.css: {}
dependencies:
- system/maintenance
- bartik/global-styling

View file

@ -0,0 +1,130 @@
<?php
/**
* @file
* Functions to support theming in the Bartik theme.
*/
use Drupal\Component\Utility\SafeMarkup;
use Drupal\Component\Utility\Xss;
use Drupal\Core\Template\Attribute;
/**
* Implements hook_preprocess_HOOK() for HTML document templates.
*
* Adds body classes if certain regions have content.
*/
function bartik_preprocess_html(&$variables) {
// Add information about the number of sidebars.
if (!empty($variables['page']['sidebar_first']) && !empty($variables['page']['sidebar_second'])) {
$variables['attributes']['class'][] = 'layout-two-sidebars';
}
elseif (!empty($variables['page']['sidebar_first'])) {
$variables['attributes']['class'][] = 'layout-one-sidebar';
$variables['attributes']['class'][] = 'layout-sidebar-first';
}
elseif (!empty($variables['page']['sidebar_second'])) {
$variables['attributes']['class'][] = 'layout-one-sidebar';
$variables['attributes']['class'][] = 'layout-sidebar-second';
}
else {
$variables['attributes']['class'][] = 'layout-no-sidebars';
}
if (!empty($variables['page']['featured_top'])) {
$variables['attributes']['class'][] = 'has-featured-top';
}
}
/**
* Implements hook_preprocess_HOOK() for page templates.
*/
function bartik_preprocess_page(&$variables) {
// Set the options that apply to both page and maintenance page.
_bartik_process_page($variables);
// Since the title and the shortcut link are both block level elements,
// positioning them next to each other is much simpler with a wrapper div.
if (!empty($variables['title_suffix']['add_or_remove_shortcut']) && $variables['title']) {
// Add a wrapper div using the title_prefix and title_suffix render
// elements.
$variables['title_prefix']['shortcut_wrapper'] = array(
'#markup' => '<div class="shortcut-wrapper clearfix">',
'#weight' => 100,
);
$variables['title_suffix']['shortcut_wrapper'] = array(
'#markup' => '</div>',
'#weight' => -99,
);
// Make sure the shortcut link is the first item in title_suffix.
$variables['title_suffix']['add_or_remove_shortcut']['#weight'] = -100;
}
}
/**
* Implements hook_preprocess_HOOK() for maintenance-page.html.twig.
*/
function bartik_preprocess_maintenance_page(&$variables) {
// By default, site_name is set to Drupal if no db connection is available
// or during site installation. Setting site_name to an empty string makes
// the site and update pages look cleaner.
// @see template_preprocess_maintenance_page
if (!$variables['db_is_active']) {
$variables['site_name'] = '';
}
// Bartik has custom styling for the maintenance page.
$variables['#attached']['library'][] = 'bartik/maintenance_page';
// Set the options that apply to both page and maintenance page.
_bartik_process_page($variables);
}
/**
* Implements hook_preprocess_HOOK() for node.html.twig.
*/
function bartik_preprocess_node(&$variables) {
// Remove the "Add new comment" link on teasers or when the comment form is
// displayed on the page.
if ($variables['teaser'] || !empty($variables['content']['comments']['comment_form'])) {
unset($variables['content']['links']['comment']['#links']['comment-add']);
}
}
/**
* Implements hook_preprocess_HOOK() for block.html.twig.
*/
function bartik_preprocess_block(&$variables) {
// Add a clearfix class to system branding blocks.
if ($variables['plugin_id'] == 'system_branding_block') {
$variables['attributes']['class'][] = 'clearfix';
}
}
/**
* Implements hook_preprocess_HOOK() for menu.html.twig.
*/
function bartik_preprocess_menu(&$variables) {
$variables['attributes']['class'][] = 'clearfix';
}
/**
* Helper function for handling the site name and slogan.
*/
function _bartik_process_page(&$variables) {
$site_config = \Drupal::config('system.site');
// Always print the site name and slogan, but if they are toggled off, we'll
// just hide them visually.
$variables['hide_site_name'] = theme_get_setting('features.name') ? FALSE : TRUE;
$variables['hide_site_slogan'] = theme_get_setting('features.slogan') ? FALSE : TRUE;
if ($variables['hide_site_name']) {
// If toggle_name is FALSE, the site_name will be empty, so we rebuild it.
$variables['site_name'] = SafeMarkup::checkPlain($site_config->get('name'));
}
if ($variables['hide_site_slogan']) {
// If toggle_site_slogan is FALSE, the site_slogan will be empty, so we
// rebuild it.
$variables['site_slogan'] = Xss::filterAdmin($site_config->get('slogan'));
}
}

View file

@ -0,0 +1,124 @@
<?php
/**
* @file
* Lists available colors and color schemes for the Bartik theme.
*/
// Put the logo path into JavaScript for the live preview.
$js_attached['#attached']['drupalSettings']['color']['logo'] = theme_get_setting('logo.url', 'bartik');
drupal_process_attached($js_attached);
$info = array(
// Available colors and color labels used in theme.
'fields' => array(
'top' => t('Header background top'),
'bottom' => t('Header background bottom'),
'bg' => t('Main background'),
'sidebar' => t('Sidebar background'),
'sidebarborders' => t('Sidebar borders'),
'footer' => t('Footer background'),
'titleslogan' => t('Title and slogan'),
'text' => t('Text color'),
'link' => t('Link color'),
),
// Pre-defined color schemes.
'schemes' => array(
'default' => array(
'title' => t('Blue Lagoon (default)'),
'colors' => array(
'top' => '#055a8e',
'bottom' => '#1d84c3',
'bg' => '#ffffff',
'sidebar' => '#f6f6f2',
'sidebarborders' => '#f9f9f9',
'footer' => '#292929',
'titleslogan' => '#fffeff',
'text' => '#3b3b3b',
'link' => '#0071B3',
),
),
'firehouse' => array(
'title' => t('Firehouse'),
'colors' => array(
'top' => '#cd2d2d',
'bottom' => '#d64e4e',
'bg' => '#ffffff',
'sidebar' => '#f1f4f0',
'sidebarborders' => '#ededed',
'footer' => '#1f1d1c',
'titleslogan' => '#fffeff',
'text' => '#888888',
'link' => '#d6121f',
),
),
'ice' => array(
'title' => t('Ice'),
'colors' => array(
'top' => '#d0d0d0',
'bottom' => '#c2c4c5',
'bg' => '#ffffff',
'sidebar' => '#ffffff',
'sidebarborders' => '#cccccc',
'footer' => '#016b83',
'titleslogan' => '#000000',
'text' => '#4a4a4a',
'link' => '#019dbf',
),
),
'plum' => array(
'title' => t('Plum'),
'colors' => array(
'top' => '#4c1c58',
'bottom' => '#593662',
'bg' => '#fffdf7',
'sidebar' => '#edede7',
'sidebarborders' => '#e7e7e7',
'footer' => '#2c2c28',
'titleslogan' => '#ffffff',
'text' => '#301313',
'link' => '#9d408d',
),
),
'slate' => array(
'title' => t('Slate'),
'colors' => array(
'top' => '#4a4a4a',
'bottom' => '#4e4e4e',
'bg' => '#ffffff',
'sidebar' => '#ffffff',
'sidebarborders' => '#d0d0d0',
'footer' => '#161617',
'titleslogan' => '#ffffff',
'text' => '#3b3b3b',
'link' => '#0073b6',
),
),
),
// CSS files (excluding @import) to rewrite with new color scheme.
'css' => array(
'css/colors.css',
),
// Files to copy.
'copy' => array(
'logo.svg',
),
// Gradient definitions.
'gradients' => array(
array(
// (x, y, width, height).
'dimension' => array(0, 0, 0, 0),
// Direction of gradient ('vertical' or 'horizontal').
'direction' => 'vertical',
// Keys of colors to use for the gradient.
'colors' => array('top', 'bottom'),
),
),
// Preview files.
'preview_library' => 'bartik/color.preview',
'preview_html' => 'color/preview.html',
);

View file

@ -0,0 +1,210 @@
/* ---------- Preview Styles ----------- */
.js .color-preview {
clear: both;
float: none !important;
}
.color-preview {
background-color: #fff;
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 14px;
line-height: 1.5;
overflow: hidden;
word-wrap: break-word;
margin-bottom: 10px;
}
.color-preview-header {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
position: relative;
}
.color-preview-logo {
float: left;
padding: 15px;
}
.color-preview-site-name {
color: #686868;
font-weight: normal;
font-size: 1.821em;
line-height: 1;
margin-bottom: 30px;
margin-left: 15px; /* LTR */
padding-top: 34px;
}
[dir="rtl"] .color-preview-site-name {
margin-left: 0;
margin-right: 15px;
}
.color-preview-main-menu {
clear: both;
padding: 0 15px 3px;
}
.color-preview-main-menu-links a {
color: #d9d9d9;
padding: 0.6em 1em 0.4em;
}
.color-preview-main-menu-links {
font-size: 0.929em;
margin: 0;
padding: 0;
}
.color-preview-main-menu-links a {
color: #333;
background: #ccc;
background: rgba(255, 255, 255, 0.7);
text-shadow: 0 1px #eee;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
}
.color-preview-main-menu-links a:hover,
.color-preview-main-menu-links a:focus {
background: #eee;
background: rgba(255, 255, 255, 0.95);
text-decoration: none;
cursor: pointer;
}
.color-preview-main-menu-links li a.is-active {
background: #fff;
border-bottom: none;
}
.color-preview-main-menu-links li {
display: inline;
list-style-type: none;
padding: 0.6em 0 0.4em;
}
.color-preview-sidebar,
.color-preview-content {
display: inline;
float: left; /* LTR */
position: relative;
}
[dir="rtl"] .color-preview-sidebar,
[dir="rtl"] .color-preview-content {
float: right;
}
.color-preview-sidebar {
margin-left: 15px; /* LTR */
width: 210px;
}
[dir="rtl"] .color-preview-sidebar {
margin-left: 0;
margin-right: 15px;
}
.color-preview-content {
margin-left: 30px; /* LTR */
width: 26.5em;
}
[dir="rtl"] .color-preview-content {
margin-left: 0;
margin-right: 30px;
}
.color-preview-sidebar .preview-block {
border: 1px solid;
margin: 20px 0;
padding: 15px 20px;
}
.color-preview-sidebar h2 {
border-bottom: 1px solid #d6d6d6;
font-size: 1.071em;
font-weight: normal;
line-height: 1.2;
margin: 0 0 0.5em;
padding-bottom: 5px;
text-shadow: 0 1px 0 #fff;
}
.color-preview .preview-block .preview-content {
margin-top: 1em;
}
.color-preview .preview-block-menu .preview-content,
.color-preview .preview-block-menu .preview-content ul {
margin-top: 0;
}
.color-preview-main {
margin-bottom: 40px;
margin-top: 20px;
}
.color-preview-page-title {
font-size: 2em;
font-weight: normal;
line-height: 1;
margin: 1em 0 0.5em;
}
.color-preview-footer-wrapper {
color: #c0c0c0;
color: rgba(255, 255, 255, 0.65);
display: block !important;
font-size: 0.857em;
padding: 20px 20px 25px;
}
.color-preview-footer-wrapper a {
color: #fcfcfc;
color: rgba(255, 255, 255, 0.8);
}
.color-preview-footer-wrapper a:hover,
.color-preview-footer-wrapper a:focus {
color: #fefefe;
color: rgba(255, 255, 255, 0.95);
text-decoration: underline;
}
.color-preview-footer-wrapper .preview-footer-column {
display: inline;
float: left; /* LTR */
padding: 0 10px;
position: relative;
width: 220px;
}
[dir="rtl"] .color-preview-footer-wrapper .preview-footer-column {
float: right;
}
.color-preview-footer-wrapper .preview-block {
border: 1px solid #444;
border-color: rgba(255, 255, 255, 0.1);
margin: 20px 0;
padding: 10px;
}
.color-preview-footer-columns .preview-block-menu {
border: none;
margin: 0;
padding: 0;
}
.color-preview-footer-columns h2 {
border-bottom: 1px solid #555;
border-color: rgba(255, 255, 255, 0.15);
font-size: 1em;
margin-bottom: 0;
padding-bottom: 3px;
text-transform: uppercase;
}
.color-preview-footer-columns .preview-content {
margin-top: 0;
}
.color-preview-footer-columns .preview-content ul {
margin-left: 0; /* LTR */
padding-left: 0; /* LTR */
}
[dir="rtl"] .color-preview-footer-columns .preview-content ul {
margin-right: 0;
padding-right: 0;
}
.color-preview-footer-columns .preview-content li {
list-style: none;
list-style-image: none;
margin: 0;
padding: 0;
}
.color-preview-footer-columns .preview-content li a {
border-bottom: 1px solid #555;
border-color: rgba(255, 255, 255, 0.15);
display: block;
line-height: 1.2;
padding: 0.8em 2px 0.8em 20px; /* LTR */
text-indent: -15px;
}
[dir="rtl"] .color-preview-footer-columns .preview-content li a {
padding-left: 2px;
padding-right: 20px;
}
.color-preview-footer-columns .preview-content li a:hover,
.color-preview-footer-columns .preview-content li a:focus {
background-color: #1f1f21;
background-color: rgba(255, 255, 255, 0.05);
text-decoration: none;
}

View file

@ -0,0 +1,65 @@
<div class="color-preview">
<div class="color-preview-header">
<div class="color-preview-logo"><img src="../../../core/themes/bartik/logo.svg" alt="Site Logo" /></div>
<div class="color-preview-site-name">Bartik</div>
<div class="color-preview-main-menu">
<ul class="color-preview-main-menu-links">
<li><a>Home</a></li>
<li><a>Te Quidne</a></li>
<li><a>Vel Torqueo Quae Erat</a></li>
</ul>
</div>
</div>
<div class="color-preview-main clearfix">
<div class="color-preview-sidebar">
<div class="color-preview-block preview-block">
<h2>Etiam est risus</h2>
<div class="preview-content">
Maecenas id porttitor Ut enim ad minim veniam, quis nostrudfelis.
Laboris nisi ut aliquip ex ea.
</div>
</div>
</div>
<div class="color-preview-content">
<h1 class="color-preview-page-title">Lorem ipsum dolor</h1>
<div class="color-preview-node">
<div class="preview-content">
Sit amet, <a>consectetur adipisicing elit</a>, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud <a>exercitation ullamco</a> laboris nisi ut aliquip ex ea
commodo consequat. Maecenas id porttitor Ut enim ad minim veniam, quis nostr udfelis.
</div>
</div>
</div>
</div>
<div class="color-preview-footer-wrapper">
<div class="color-preview-footer-columns clearfix">
<div class="preview-footer-column">
<div class="preview-block">
<h2>Etiam est risus</h2>
<div class="content">
Maecenas id porttitor Ut enim ad minim veniam, quis nostrudfelis.
Laboris nisi ut aliquip ex ea.
</div>
</div>
</div>
<div class="preview-footer-column">
<div class="preview-block preview-block-menu">
<h2>Erisus dolor</h2>
<div class="preview-content">
<ul>
<li><a>Donec placerat</a></li>
<li><a>Nullam nibh dolor</a></li>
<li><a>Blandit sed</a></li>
<li><a>Fermentum id</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,45 @@
/**
* @file
* Preview for the Bartik theme.
*/
(function ($, Drupal, drupalSettings) {
"use strict";
Drupal.color = {
logoChanged: false,
callback: function (context, settings, form, farb, height, width) {
// Change the logo to be the real one.
if (!this.logoChanged) {
$('.color-preview .color-preview-logo img').attr('src', drupalSettings.color.logo);
this.logoChanged = true;
}
// Remove the logo if the setting is toggled off.
if (drupalSettings.color.logo === null) {
$('div').remove('.color-preview-logo');
}
// Solid background.
form.find('.color-preview').css('backgroundColor', $('.js-color-palette input[name="palette[bg]"]').val());
// Text preview.
form.find('.color-preview .color-preview-main h2, .color-preview .preview-content').css('color', form.find('.js-color-palette input[name="palette[text]"]').val());
form.find('.color-preview .color-preview-content a').css('color', form.find('.js-color-palette input[name="palette[link]"]').val());
// Sidebar block.
form.find('.color-preview .color-preview-sidebar .color-preview-block').css('background-color', form.find('.js-color-palette input[name="palette[sidebar]"]').val());
form.find('.color-preview .color-preview-sidebar .color-preview-block').css('border-color', form.find('.js-color-palette input[name="palette[sidebarborders]"]').val());
// Footer wrapper background.
form.find('.color-preview .color-preview-footer-wrapper', form).css('background-color', form.find('.js-color-palette input[name="palette[footer]"]').val());
// CSS3 Gradients.
var gradient_start = form.find('.js-color-palette input[name="palette[top]"]').val();
var gradient_end = form.find('.js-color-palette input[name="palette[bottom]"]').val();
form.find('.color-preview .color-preview-header').attr('style', "background-color: " + gradient_start + "; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(" + gradient_start + "), to(" + gradient_end + ")); background-image: -moz-linear-gradient(-90deg, " + gradient_start + ", " + gradient_end + ");");
form.find('.color-preview .color-preview-site-name').css('color', form.find('.js-color-palette input[name="palette[titleslogan]"]').val());
}
};
})(jQuery, Drupal, drupalSettings);

View file

@ -0,0 +1,5 @@
# Schema for the configuration files of the Bartik theme.
bartik.settings:
type: theme_settings
label: 'Bartik settings'

View file

@ -0,0 +1,130 @@
/**
* @file
* Overall specifications for Bartik.
*/
html {
height: 100%;
}
body {
min-height: 100%;
line-height: 1.5;
word-wrap: break-word;
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 87.5%;
}
a,
a.link {
text-decoration: none;
border-bottom: 1px dotted;
}
a:hover,
a:active,
a:focus,
.link:hover,
.link:active,
.link:focus {
text-decoration: none;
border-bottom-style: solid;
}
.link {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
h1 a,
h2 a {
border-bottom: none;
}
/**
* Reusable heading classes are included to help modules change the styling of
* headings on a page without affecting accessibility.
*/
h1,
.heading-a {
margin: 1.0em 0 0.5em;
font-weight: inherit;
font-size: 1.357em;
color: #000;
}
h2,
.heading-b {
margin: 1.0em 0 0.5em;
font-weight: inherit;
font-size: 1.143em;
}
h3,
.heading-c {
margin: 1.0em 0 0.5em;
font-weight: inherit;
font-size: 1.092em;
}
h4,
.heading-d {
margin: 1.0em 0 0.5em;
font-weight: inherit;
font-size: 1.05em;
}
h5,
.heading-e {
margin: 1.0em 0 0.5em;
font-weight: inherit;
font-size: 0.889em;
text-transform: uppercase;
letter-spacing: 0.1em;
}
h6,
.heading-f {
margin: 1.0em 0 0.5em;
font-weight: inherit;
font-size: 0.67em;
text-transform: uppercase;
letter-spacing: 0.1em;
}
p {
margin: 0 0 1.2em;
}
del {
text-decoration: line-through;
}
blockquote {
background: #f7f7f7;
border-left: 1px solid #bbb; /* LTR */
font-style: italic;
margin: 1.5em 10px;
padding: 0.5em 10px;
}
[dir="rtl"] blockquote {
border-left: none;
border-right: 1px solid #bbb;
}
blockquote:before {
color: #bbb;
content: "\201C";
font-size: 3em;
line-height: 0.1em;
margin-right: 0.2em; /* LTR */
vertical-align: -0.4em;
}
[dir="rtl"] blockquote:before {
content: "\201D";
margin-left: 0.2em;
margin-right: 0;
}
blockquote:after {
color: #bbb;
content: "\201D";
font-size: 3em;
line-height: 0.1em;
vertical-align: -0.45em;
}
[dir="rtl"] blockquote:after {
content: "\201C";
}
blockquote > p:first-child {
display: inline;
}
img {
max-width: 100%;
height: auto;
}

View file

@ -0,0 +1,69 @@
/* ---------- Color Module Styles ----------- */
body {
color: #3b3b3b;
background: #292929;
}
#page,
#main-wrapper,
.region-primary-menu .menu-item a.is-active,
.region-primary-menu .menu-item--active-trail a {
background: #ffffff;
}
.tabs ul.primary li a.is-active {
background-color: #ffffff;
}
.tabs ul.primary li.is-active a {
background-color: #ffffff;
border-bottom-color: #ffffff;
}
#header {
background-color: #1d84c3;
background-image: -webkit-linear-gradient(top, #055a8e 0%, #1d84c3 100%);
background-image: linear-gradient(to bottom, #055a8e 0%, #1d84c3 100%);
}
a,
.link {
color: #0071b3;
}
a:hover,
a:focus,
.link:hover,
.link:focus {
color: #018fe2;
}
a:active,
.link:active {
color: #23aeff;
}
.sidebar .block {
background-color: #f6f6f2;
border-color: #f9f9f9;
}
.site-footer {
background: #292929;
}
.region-header,
.region-header a,
.region-header li a.is-active,
#name-and-slogan,
.site-branding-block,
#name-and-slogan a,
.site-branding-block a,
.region-secondary-menu .menu-item a {
color: #fffeff;
}
/* ---------- Color Form ----------- */
[dir="rtl"] .color-form .color-palette {
margin-left: 0;
margin-right: 20px;
}
[dir="rtl"] .color-form .form-item label {
float: right;
}
[dir="rtl"] .color-form .color-palette .lock {
right: -20px;
left: 0;
}

View file

@ -0,0 +1,34 @@
/* ---------- Admin-specific Theming ---------- */
.path-admin #content img {
margin-right: 15px; /* LTR */
}
[dir="rtl"] .path-admin #content img {
margin-left: 15px;
margin-right: 0;
}
.path-admin #content .simpletest-image img {
margin: 0;
}
.path-admin #admin-dblog img {
margin: 0 5px;
}
/* Block demo mode */
.demo-block {
background: #ffff66;
border: 1px dotted #9f9e00;
color: #000;
font: 90% "Lucida Grande", "Lucida Sans Unicode", sans-serif;
margin: 5px;
padding: 5px;
text-align: center;
text-shadow: none;
}
.featured-top .demo-block {
font-size: 0.55em;
}
#header .demo-block {
width: 500px;
}

View file

@ -0,0 +1,16 @@
/**
* @file
* Visual styles for Bartik's blocks.
*/
.block ol,
.block ul {
margin: 0;
padding: 0 0 0.25em 1em; /* LTR */
}
[dir="rtl"] .block ol,
[dir="rtl"] .block ul {
padding: 0 1em 0.25em 0;
/* This is required to win over specifity of [dir="rtl"] ul.menu */
margin-right: 0;
}

View file

@ -0,0 +1,13 @@
/**
* @file
* Bartik specific styling for the Book module.
*/
.book-navigation .menu {
border-top: 1px solid #d6d6d6;
}
.book-navigation .book-pager {
border-bottom: 1px solid #d6d6d6;
border-top: 1px solid #d6d6d6;
margin: 0;
}

View file

@ -0,0 +1,9 @@
/**
* @file
* Styles for Bartik's breadcrumbs.
*/
.breadcrumb {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.929em;
}

View file

@ -0,0 +1,43 @@
/* ---------------- Buttons ---------------- */
.button {
background-color: #fff;
background-image: -webkit-linear-gradient(top, #f3f3f3, #e8e8e8);
background-image: linear-gradient(to bottom, #f3f3f3, #e8e8e8);
border: 1px solid #e4e4e4;
border-bottom-color: #b4b4b4;
border-left-color: #d2d2d2;
border-right-color: #d2d2d2;
color: #3a3a3a;
cursor: pointer;
font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
font-size: 0.929em;
font-weight: normal;
text-align: center;
padding: 0.250em 1.063em;
border-radius: 1em;
}
.button:hover,
.button:active,
.button:focus {
background: #dedede;
color: #5a5a5a;
text-decoration: none;
}
.button.is-disabled:hover,
.button.is-disabled:active,
.button.is-disabled:focus,
.button.is-disabled {
background: #ededed;
border-color: #bbb;
color: #717171;
cursor: default;
}
.image-button.is-disabled:hover,
.image-button.is-disabled:active,
.image-button.is-disabled:focus,
.image-button.is-disabled {
background: transparent;
opacity: 0.5;
cursor: default;
}

View file

@ -0,0 +1,31 @@
/* -------------- Captions -------------- */
.caption {
margin-bottom: 1.2em;
}
.caption > * {
background: #F3F3F3;
padding: 0.5ex;
border: 1px solid #CCC;
}
.caption > figcaption {
border: 1px solid #CCC;
border-top: none;
padding-top: 0.5ex;
font-size: small;
text-align: center;
}
/* Override Bartik's default blockquote and pre styles when captioned. */
.caption-pre > pre,
.caption-blockquote > blockquote {
margin: 0;
}
.caption-blockquote > figcaption::before {
content: "— ";
}
.caption-blockquote > figcaption {
text-align: left; /* LTR */
}
[dir="rtl"] .caption-blockquote > figcaption {
text-align: right;
}

View file

@ -0,0 +1,129 @@
/**
* @file
* Visual styles for comments in Bartik.
*/
/* This is required to win over specificity of #content h2 */
#content .comment-wrapper h2 {
margin-bottom: 1em;
}
.comment {
margin-bottom: 20px;
display: table;
vertical-align: top;
}
.comment__attribution {
display: table-cell;
padding: 0 30px 0 0; /* LTR */
vertical-align: top;
overflow: hidden;
}
[dir="rtl"] .comment__attribution {
float: right;
padding: 0 0 0 30px;
}
.comment__attribution img {
border: 1px solid #d3d7d9;
}
/* This is required to win over specificity of .field-type-image img */
.comment .field-name-user-picture img {
margin: 0;
}
.comment__author .username {
white-space: nowrap;
}
.comment__submitted__data {
margin: 4px 0;
font-size: 1.071em;
line-height: 1.2;
}
.comment__time {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.786em;
color: #68696b;
}
.comment__permalink {
font-size: 0.786em;
}
.comment__content {
font-size: 0.929em;
line-height: 1.6;
}
.comment__text {
padding: 10px 25px;
border: 1px solid #d3d7d9;
display: table-cell;
vertical-align: top;
position: relative;
width: 100%;
}
.comment__text:before {
content: '';
position: absolute;
right: 100%; /* LTR */
top: 20px;
border-top: 20px solid transparent;
border-right: 20px solid #d3d7d9; /* LTR */
border-bottom: 20px solid transparent;
}
[dir="rtl"] .comment__text:before {
right: auto;
left: 100%;
border-right: none;
border-left: 20px solid #d3d7d9;
}
.comment__text:after {
content: '';
position: absolute;
right: 100%; /* LTR */
top: 20px;
border-top: 20px solid transparent;
border-right: 20px solid #fff; /* LTR */
border-bottom: 20px solid transparent;
margin-right: -1px; /* LTR */
}
[dir="rtl"] .comment__text:after {
right: auto;
left: 100%;
border-right: none;
border-left: 20px solid #fff;
margin-right: 0;
margin-left: -1px;
}
.comment .indented {
margin-left: 40px; /* LTR */
}
[dir="rtl"] .comment .indented {
margin-right: 40px;
margin-left: 0;
}
.comment ul.links {
padding: 0 0 0.25em 0;
}
.comment ul.links li {
padding: 0 0.5em 0 0; /* LTR */
}
[dir="rtl"] .comment ul.links li {
padding: 0 0 0 0.5em;
}
.comment--unpublished {
margin-right: 5px; /* LTR */
padding: 5px 2px 5px 5px; /* LTR */
background: #fff4f4;
}
[dir="rtl"] .comment--unpublished {
margin-left: 5px;
margin-right: 0;
padding: 5px 5px 5px 2px;
}
.comment-footer {
display: table-row;
}
.comment--unpublished .comment__text:after,
.node--unpublished .comment__text:after {
border-right-color: #fff4f4; /* LTR */
}
[dir="rtl"] .comment--unpublished .comment__text:after,
[dir="rtl"] .node--unpublished .comment__text:after {
border-left-color: #fff4f4;
}

View file

@ -0,0 +1,241 @@
/* ----------------- Content ------------------ */
.content,
.node__content {
margin-top: 10px;
}
h1#page-title {
font-size: 2em;
line-height: 1;
}
.main-content .section {
padding: 0 15px;
}
@media all and (min-width: 851px) {
.main-content {
float: left; /* LTR */
position: relative;
}
[dir="rtl"] .main-content {
float: right;
}
.layout-two-sidebars .main-content {
margin-left: 25%;
margin-right: 25%;
width: 50%;
}
.layout-one-sidebar .main-content {
width: 75%;
}
.layout-no-sidebars .main-content {
width: 100%;
}
.layout-sidebar-first .main-content {
margin-left: 25%; /* LTR */
margin-right: 0; /* LTR */
}
[dir="rtl"] .layout-sidebar-first .main-content {
margin-left: 0;
margin-right: 25%;
}
.layout-sidebar-second .main-content {
margin-right: 25%; /* LTR */
margin-left: 0; /* LTR */
}
[dir="rtl"] .layout-sidebar-second .main-content {
margin-right: 0;
margin-left: 25%;
}
}
#content h2 {
margin-bottom: 2px;
font-size: 1.429em;
line-height: 1.4;
}
.node__content {
font-size: 1.071em;
}
.node--view-mode-teaser .node__content {
font-size: 1em;
}
.node--view-mode-teaser h2 {
margin-top: 0;
padding-top: 0.5em;
}
.node--view-mode-teaser h2 a {
color: #181818;
}
.node--view-mode-teaser {
border-bottom: 1px solid #d3d7d9;
margin-bottom: 30px;
padding-bottom: 15px;
}
.node--view-mode-teaser.node--sticky {
background: #f9f9f9;
background: rgba(0, 0, 0, 0.024);
border: 1px solid #d3d7d9;
padding: 0 15px 15px;
}
.node--view-mode-teaser .node__content {
clear: none;
line-height: 1.6;
}
.node__meta {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.857em;
color: #68696b;
margin-bottom: -5px;
}
.node__meta .field-name-field-user-picture img {
float: left; /* LTR */
margin: 1px 20px 0 0; /* LTR */
}
[dir="rtl"] .node__meta .field-name-field-user-picture img {
float: right;
margin-left: 20px;
margin-right: 0;
}
.field-name-field-tags {
margin: 0 0 1.2em;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.field-name-field-tags .field-label {
font-weight: normal;
margin: 0;
padding-right: 5px; /* LTR */
}
[dir="rtl"] .field-name-field-tags .field-label {
padding-left: 5px;
padding-right: 0;
}
.field-name-field-tags .field-label,
.field-name-field-tags ul.links {
font-size: 0.8em;
}
.node--view-mode-teaser .field-name-field-tags .field-label,
.node--view-mode-teaser .field-name-field-tags ul.links {
font-size: 0.821em;
}
.field-name-field-tags ul.links {
padding: 0;
margin: 0;
list-style: none;
}
.field-name-field-tags ul.links li {
float: left; /* LTR */
padding: 0 1em 0 0; /* LTR */
white-space: nowrap;
}
[dir="rtl"] .field-name-field-tags ul.links li {
padding: 0 0 0 1em;
float: right;
}
.node__links {
text-align: right; /* LTR */
}
[dir="rtl"] .node__links {
text-align: left;
}
@media all and (min-width: 560px) {
.node .field-type-image {
float: left; /* LTR */
margin: 0 1em 0 0; /* LTR */
}
[dir="rtl"] .node .field-type-image {
float: right;
margin: 0 0 0 1em;
}
.node .field-type-image + .field-type-image {
clear: both;
}
}
.field-type-image img,
.field-name-field-user-picture img {
margin: 0 0 1em;
}
.field-type-image a {
border-bottom: none;
}
ul.links {
color: #68696b;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.821em;
}
.node--unpublished,
.unpublished {
padding: 20px 15px 0;
}
.node-preview-container {
background: #d1e8f5;
background-image: -webkit-linear-gradient(top, #d1e8f5, #d3e8f4);
background-image: linear-gradient(to bottom, #d1e8f5, #d3e8f4);
font-family: Arial, sans-serif;
box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3333);
position: fixed;
z-index: 499;
width: 100%;
padding: 10px;
}
.node-preview-backlink {
background-color: #419ff1;
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #419ff1, #1076d5); /* LTR */
border: 1px solid #0048c8;
border-radius: .4em;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
color: #fff;
font-size: 0.9em;
line-height: normal;
margin: 0;
padding: 4px 1em 4px 0.6em; /* LTR */
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
[dir="rtl"] .node-preview-backlink {
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #419ff1, #1076d5);
padding: 4px 0.6em 4px 1em;
float: right;
}
.node-preview-backlink:focus,
.node-preview-backlink:hover {
background-color: #419cf1;
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef); /* LTR */
border: 1px solid #0048c8;
text-decoration: none;
color: #fff;
}
[dir="rtl"] .node-preview-backlink:focus,
[dir="rtl"] .node-preview-backlink:hover {
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef);
}
.node-preview-backlink:active {
background-color: #0e69be;
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef); /* LTR */
border: 1px solid #0048c8;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .25);
}
.node-preview-backlink:active {
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef);
}
.node-preview-backlink::before {
content: '';
width: 10px;
display: inline-block;
}
.region-content ul,
.region-content ol {
margin: 1em 0;
padding: 0 0 0.25em 15px; /* LTR */
}
[dir="rtl"] .region-content ul,
[dir="rtl"] .region-content ol {
padding: 0 15px 0.25em 0;
}
#page .ui-widget {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

View file

@ -0,0 +1,17 @@
/**
* @file
* Contextual links styles for Bartik.
*/
#header .contextual .trigger,
.site-footer .contextual .trigger {
border: none;
}
.contextual-region .contextual .contextual-links a {
border-bottom: none;
font-size: 0.923em;
text-shadow: 0 0 0;
}
.contextual-links {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

View file

@ -0,0 +1,111 @@
/* ---------- Dropbutton ----------- */
.js .dropbutton-multiple.open .dropbutton-widget {
border-radius: 1em;
}
.js .dropbutton-widget {
position: relative !important;
border: 1px solid #e4e4e4;
border-bottom-color: #b4b4b4;
border-left-color: #d2d2d2;
border-right-color: #d2d2d2;
background-color: #fff;
background-image: -webkit-linear-gradient(top, #f3f3f3, #e8e8e8);
background-image: linear-gradient(to bottom, #f3f3f3, #e8e8e8);
color: #3a3a3a;
cursor: pointer;
text-align: center;
margin: 0.125em 0;
border-radius: 1em;
}
.js .dropbutton-widget:hover {
border-top-color: #e4e4e4;
border-bottom-color: #b4b4b4;
border-left-color: #d2d2d2;
border-right-color: #d2d2d2;
}
.js .dropbutton-widget .button {
border: none;
margin: 0;
padding: 0.32em 1em;
width: 100%;
border-radius: 1em;
}
.js .dropbutton-widget .button:hover {
border-radius: 1em 0 0 1em; /* LTR */
}
[dir="rtl"].js .dropbutton-widget .button:hover {
border-radius: 0 1em 1em 0;
}
.js .dropbutton-single .dropbutton-widget .dropbutton-action a {
color: #3a3a3a;
}
.js .dropbutton-single .dropbutton-widget .dropbutton-action a:hover {
background: #dedede;
border-radius: 1em;
}
.js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
color: #3a3a3a;
margin-right: 0; /* LTR */
}
[dir="rtl"].js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
margin-left: 0;
}
.js .dropbutton-multiple .dropbutton-widget .dropbutton-action a:hover {
background: #dedede;
}
.js .dropbutton-multiple .dropbutton-widget .dropbutton-action:first-child a:hover {
border-radius: 1em 0 0 1em; /* LTR */
}
[dir="rtl"].js .dropbutton-multiple .dropbutton-widget .dropbutton-action:first-child a:hover {
border-radius: 0 1em 1em 0;
}
.js .dropbutton-multiple.open .dropbutton-widget .dropbutton-action:first-child a:hover {
border-radius: 1em 0 0 0; /* LTR */
}
[dir="rtl"].js .dropbutton-multiple.open .dropbutton-widget .dropbutton-action:first-child a:hover {
border-radius: 0 1em 0 0;
}
.js .dropdown-widget .publish .button {
border-radius: 1em 0 0 1em; /* LTR */
}
[dir="rtl"].js .dropbutton-widget .publish .button {
border-radius: 0 1em 1em 0;
}
.js .dropbutton-multiple.open .dropbutton-action:first-child a,
.js .dropbutton-multiple.open .dropbutton-action:first-child .button {
border-radius: 1em 0 0 0; /* LTR */
}
[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:first-child a,
[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:first-child .button {
border-radius: 0 1em 0 0;
}
.js .dropbutton-multiple.open .dropbutton-action:last-child a,
.js .dropbutton-multiple.open .dropbutton-action:last-child .button {
border-radius: 0 0 0 1em; /* LTR */
}
[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:last-child a,
[dir="rtl"].js .dropbutton-multiple.open .dropbutton-action:last-child .button {
border-radius: 0 0 1em 0;
}
.js .dropbutton .secondary-action {
border-top-color: #ccc;
}
.js .dropbutton-toggle button {
border-radius: 0 1em 1em 0; /* LTR */
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #e8e8e8, #d2d2d2);
background-image: linear-gradient(to bottom, #e8e8e8, #d2d2d2);
}
[dir="rtl"].js .dropbutton-toggle button {
border-radius: 1em 0 0 1em;
}
.js .dropbutton-toggle .button:hover {
background: #ccc;
}
.js .dropbutton a {
border-bottom: none;
}
.js .dropbutton a:hover {
border-bottom-style: none;
}

View file

@ -0,0 +1,87 @@
/* ----------------- Featured Bottom ----------------- */
#featured-bottom-wrapper {
background-color: #f0f0f0;
background: rgba(30, 50, 10, 0.08);
border-top: 1px solid #e7e7e7;
}
.region-featured-bottom-first,
.region-featured-bottom-second,
.region-featured-bottom-third {
box-sizing: border-box;
padding: 0 20px 0;
}
@media all and (min-width: 560px) {
.region-featured-bottom-first,
.region-featured-bottom-second,
.region-featured-bottom-third {
float: left; /* LTR */
position: relative;
box-sizing: border-box;
padding: 20px 15px 30px;
width: 33%;
}
[dir="rtl"] .region-featured-bottom-first,
[dir="rtl"] .region-featured-bottom-second,
[dir="rtl"] .region-featured-bottom-third {
float: right;
}
.region-featured-bottom-second {
padding: 20px 5px 30px;
}
}
@media all and (min-width: 851px) {
.region-featured-bottom-first,
.region-featured-bottom-second,
.region-featured-bottom-third {
padding: 0 20px;
}
}
#featured-bottom h2 {
color: #000;
font-size: 1.4em;
margin-bottom: 0.6em;
text-shadow: 0 1px 0 #fff;
text-align: center;
line-height: 1;
}
#featured-bottom .block {
margin-bottom: 1em;
padding-bottom: 1em;
border-bottom: 1px solid #dfdfdf;
line-height: 1.3;
}
#featured-bottom .block:last-child {
border-bottom: none;
}
#featured-bottom .block ul li,
#featured-bottom .block ol li {
list-style: none;
}
#featured-bottom .block ul,
#featured-bottom .block ol {
padding-left: 0;
}
#featured-bottom #block-user-login .form-text {
width: 185px;
}
#featured-bottom #block-user-online p {
margin-bottom: 0;
}
#featured-bottom #block-node-syndicate h2 {
overflow: hidden;
width: 0;
height: 0;
}
#featured-bottom-third #block-node-syndicate {
text-align: right;
}
#featured-bottom #block-search-form .form-type-search input {
width: 185px;
}
#featured-bottom-second #block-system-powered-by {
text-align: center;
}
#featured-bottom-third #block-system-powered-by {
text-align: right;
}

View file

@ -0,0 +1,25 @@
/**
* @file
* Visual styles for Bartik's featured top.
*/
.featured-top {
text-align: center;
font-size: 1.2em;
font-weight: normal;
line-height: 1.4;
padding: 20px 10px 45px;
margin: 0;
background: #f0f0f0;
background: rgba(30, 50, 10, 0.08);
border-bottom: 1px solid #e7e7e7;
text-shadow: 1px 1px #fff;
}
.featured-top h2 {
font-size: 1.2em;
line-height: 1;
}
.featured-top p {
margin: 0;
padding: 0;
}

View file

@ -0,0 +1,10 @@
/**
* @file
* Feed icon styles for Bartik.
*/
.feed-icon {
border-bottom: none;
display: inline-block;
padding: 15px 0 0 0;
}

View file

@ -0,0 +1,281 @@
/* -------------- Password Field ------------- */
.password-field {
margin: 0;
}
/* -------------- Form Elements ------------- */
form {
margin: 0;
padding: 0;
}
fieldset {
margin: 1em 0;
}
details,
fieldset,
.filter-wrapper {
border-radius: 4px;
}
.filter-wrapper {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.filter-help a {
font-size: 0.857em;
}
.filter-wrapper .form-item label {
margin-right: 10px; /* LTR */
}
[dir="rtl"] .filter-wrapper .form-item label {
margin-left: 10px;
margin-right: 0;
}
summary {
background: #dbdbdb;
color: #3b3b3b;
text-shadow: 0 1px 0 #fff;
}
details summary a {
color: #3b3b3b;
}
details summary a:hover,
details summary a:active,
details summary a:focus {
color: #000;
}
details .details-description {
font-style: italic;
}
label {
display: table;
font-weight: bold;
}
label[for] {
cursor: pointer;
}
input,
textarea,
select {
font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
}
input {
margin: 2px 0;
padding: 4px;
/* Keep form elements from overflowing their containers. */
max-width: 100%;
box-sizing: border-box;
}
input,
textarea {
font-size: 0.929em;
}
/**
* Make the font slightly bigger in mobile
* @todo: check the correct font-size
*/
@media screen and (max-width: 60em) { /* 920px */
input,
textarea {
font-size: 1.142857143em;
}
}
textarea {
line-height: 1.5;
}
textarea.form-textarea,
select.form-select {
padding: 4px;
}
input.form-text,
input.form-tel,
input.form-email,
input.form-url,
input.form-search,
input.form-file,
input.form-number,
input.form-color,
textarea.form-textarea,
select.form-select {
border: 1px solid #ccc;
color: #3b3b3b;
}
input.form-submit:hover,
input.form-submit:focus {
background: #dedede;
}
.password-suggestions ul li {
margin-left: 1.2em; /* LTR */
}
[dir="rtl"] .password-suggestions ul li {
margin-right: 1.2em;
margin-left: 0;
}
.form-item label {
font-size: 0.929em;
}
.form-type-radio label,
.form-type-checkbox label {
margin-left: 4px; /* LTR */
}
[dir="rtl"] .form-type-radio label,
[dir="rtl"] .form-type-checkbox label {
margin-right: 4px;
margin-left: 0;
}
.form-type-radio .description,
.form-type-checkbox .description {
margin-left: 2px; /* LTR */
}
[dir="rtl"] .form-type-radio .description,
[dir="rtl"] .form-type-checkbox .description {
margin-right: 2px;
margin-left: 0;
}
.form-actions {
padding-top: 10px;
}
/* Node Form */
#edit-body {
margin-bottom: 2em;
}
.node-form label,
.node-form .description {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.node-form .form-wrapper {
margin-bottom: 2em;
}
/* Contact Form */
.contact-form #edit-name {
width: 75%;
border-radius: 4px;
}
.contact-form #edit-mail {
width: 75%;
border-radius: 4px;
}
.contact-form #edit-subject {
width: 75%;
border-radius: 4px;
}
.contact-form #edit-message {
width: 76.3%;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
/* Disabled form elements */
.form-disabled input,
.form-disabled select,
.form-disabled textarea {
background: #ededed;
border-color: #bbb;
color: #717171;
}
.form-disabled label {
color: #717171;
}
/* Comment form */
.comment-form label {
float: left; /* LTR */
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.929em;
width: 120px;
}
[dir="rtl"] .comment-form label {
float: right;
}
.comment-form input,
.comment-form .form-select {
margin: 0;
border-radius: 4px;
}
.comment-form .form-type-textarea label {
float: none;
}
.comment-form .form-item,
.comment-form .form-radios,
.comment-form .form-type-checkbox,
.comment-form .form-select {
margin-bottom: 10px;
overflow: hidden;
}
.comment-form .form-type-checkbox,
.comment-form .form-radios {
margin-left: 120px; /* LTR */
}
[dir="rtl"] .comment-form .form-type-checkbox,
[dir="rtl"] .comment-form .form-radios,
[dir="rtl"] .comment-form .form-item .description {
margin-left: 0;
margin-right: 120px;
}
.comment-form .form-type-checkbox label,
.comment-form .form-radios label {
float: none;
margin-top: 0;
}
.comment-form input.form-file {
width: auto;
}
.layout-no-sidebars .comment-form .form-text {
width: 800px;
}
.layout-one-sidebar .comment-form .form-text {
width: 500px;
}
.layout-two-sidebars .comment-form .form-text {
width: 320px;
}
.comment-form .form-item .description {
font-size: 0.786em;
line-height: 1.2;
margin-left: 120px; /* LTR */
}
#content h2.comment-form {
margin-bottom: 0.5em;
}
.comment-form .form-textarea {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.comment-form details.filter-wrapper .details-wrapper,
.comment-form .text-format-wrapper .form-item {
margin-top: 0;
margin-bottom: 0;
}
.filter-wrapper label {
width: auto;
float: none;
}
.filter-wrapper .form-select {
min-width: 120px;
}
.comment-form details.filter-wrapper .tips {
font-size: 0.786em;
}
#comment-body-add-more-wrapper .form-type-textarea label {
margin-bottom: 0.4em;
}
#edit-actions input {
margin-right: 0.6em; /* LTR */
}
[dir="rtl"] #edit-actions input {
margin-left: 0.6em;
margin-right: 0;
}
/* Form error styles. */
.form-item textarea.error + .cke {
border: 2px solid red;
}
/* Form error message styles. */
.form-error-message {
color: #ea2800;
}

View file

@ -0,0 +1,6 @@
.forum__name {
font-size: 1.083em;
}
.forum__description {
font-size: 1em;
}

View file

@ -0,0 +1,263 @@
/* ------------------ Header ------------------ */
#header {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.header .section {
position: relative;
}
.region-header {
float: right; /* LTR */
margin: .5em 5px .75em;
}
[dir="rtl"] .region-header {
float: left;
}
@media all and (min-width: 461px) and (max-width: 900px) {
.region-header {
margin: .5em 5px .75em;
}
}
@media all and (min-width: 901px) {
.region-header {
margin: 1em 5px 1.5em;
}
}
#logo,
.site-logo {
float: left; /* LTR */
padding: 4px 4px 4px 9px; /* LTR */
}
[dir="rtl"] #logo,
[dir="rtl"] .site-logo {
padding: 4px 9px 4px 4px;
}
@media all and (min-width: 461px) and (max-width: 900px) {
#logo,
.site-logo {
padding: 5px 0 0 5px; /* LTR */
}
[dir="rtl"] #logo,
[dir="rtl"] .site-logo {
padding: 5px 5px 0 0;
}
}
@media all and (min-width: 901px) {
#logo,
.site-logo {
padding: 9px 4px 4px 9px; /* LTR */
}
[dir="rtl"] #logo,
[dir="rtl"] .site-logo {
padding: 9px 9px 4px 4px;
}
}
#name-and-slogan,
.site-branding-text {
float: left; /* LTR */
margin: 0;
padding: 5px 10px 8px;
}
[dir="rtl"] #name-and-slogan,
[dir="rtl"] .site-branding-text {
margin: 0 15px 30px 0;
}
@media all and (min-width: 461px) and (max-width: 900px) {
#name-and-slogan,
.site-branding-text {
padding: 10px 10px 8px;
}
}
@media all and (min-width: 901px) {
#name-and-slogan,
.site-branding-text {
padding: 26px 0 0;
margin: 0 0 30px 15px; /* LTR */
}
[dir="rtl"] #name-and-slogan,
[dir="rtl"] .site-branding-text {
margin: 0 15px 30px 0;
}
}
#site-name,
.site-name {
font-size: 1.6em;
color: #686868;
line-height: 1;
}
@media all and (min-width: 901px) {
#site-name,
.site-name {
font-size: 1.821em;
}
}
h1#site-name,
h1.site-name {
margin: 0;
}
#site-name a,
.site-name a {
font-weight: normal;
}
#site-slogan,
.site-slogan {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.929em;
margin-top: 7px;
word-spacing: 0.1em;
font-style: italic;
}
/* Region header blocks. */
.region-header .block {
font-size: 0.857em;
float: left; /* LTR */
margin: 0 10px;
padding: 0;
}
.region-header .block > h2 {
/* @extend .visually-hidden */
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
overflow: hidden;
height: 1px;
}
.header .block .content {
margin: 0;
padding: 0;
}
.region-header .block ul {
margin: 0;
padding: 0;
}
.region-header .block li {
list-style: none;
list-style-image: none;
padding: 0;
}
.region-header .form-text {
background: #fefefe;
background: rgba(255, 255, 255, 0.7);
border-color: #ccc;
border-color: rgba(255, 255, 255, 0.3);
margin-right: 2px; /* LTR */
width: 120px;
}
[dir="rtl"] .region-header .form-text {
margin-left: 2px;
margin-right: 0;
}
.region-header .form-text:hover,
.region-header .form-text:active,
.region-header .form-text:focus {
background: #fff;
background: rgba(255, 255, 255, 0.8);
}
.region-header .form-required:after {
background-image: url(../../images/required.svg);
}
/* Region header block menus. */
.region-header .block-menu {
border: 1px solid;
border-color: #eee;
border-color: rgba(255, 255, 255, 0.2);
padding: 0;
width: 208px;
}
.region-header .block-menu li a {
display: block;
border-bottom: 1px solid;
border-bottom-color: #eee;
border-bottom-color: rgba(255, 255, 255, 0.2);
padding: 3px 7px;
}
.region-header .block-menu li a:hover,
.region-header .block-menu li a:active,
.region-header .block-menu li a:focus {
text-decoration: none;
background: rgba(255, 255, 255, 0.15);
}
.region-header .block-menu li:last-child a {
border-bottom: 0;
}
/* User Login block in the header region */
.region-header #block-user-login {
width: auto;
}
.region-header #block-user-login .content {
margin-top: 2px;
}
.region-header #block-user-login .form-item {
float: left; /* LTR */
margin: 0;
padding: 0;
}
.region-header #block-user-login div.item-list,
.region-header #block-user-login div.description {
font-size: 0.916em;
margin: 0;
}
.region-header #block-user-login div.item-list {
clear: both;
}
.region-header #block-user-login div.description {
display: inline;
}
.region-header #block-user-login .item-list ul {
padding: 0;
line-height: 1;
}
.region-header #block-user-login .item-list li {
list-style: none;
float: left; /* LTR */
padding: 3px 0 1px;
}
.region-header #block-user-login .item-list li:last-child {
padding-left: 0.5em; /* LTR */
}
[dir="rtl"] .region-header #block-user-login .item-list li:last-child {
padding-left: 0;
padding-right: 0.5em;
}
.region-header #block-user-login .form-actions {
margin: 4px 0 0;
padding: 0;
clear: both;
}
.region-header #block-user-login input.form-submit {
border: 1px solid;
border-color: #ccc;
border-color: rgba(255, 255, 255, 0.5);
background: #eee;
background: rgba(255, 255, 255, 0.7);
margin: 4px 0;
padding: 3px 8px;
}
.region-header #block-user-login input.form-submit:hover,
.region-header #block-user-login input.form-submit:focus {
background: #fff;
background: rgba(255, 255, 255, 0.9);
}
/* Search block in region header. */
.region-header #block-search-form {
width: 208px;
}
.region-header #block-search-form .form-text {
width: 154px;
}
/* Language switcher block in region header. */
.region-header .block-locale ul li {
display: inline;
padding: 0 0.5em;
}
[role*=banner] a {
border-bottom: none;
}
[dir="rtl"] #logo,
[dir="rtl"] .site-logo,
[dir="rtl"] #name-and-slogan,
[dir="rtl"] .site-branding-text,
[dir="rtl"] .region-header .block,
[dir="rtl"] .region-header #block-user-login .form-item,
[dir="rtl"] .region-header #block-user-login .item-list li {
float: right;
}

View file

@ -0,0 +1,12 @@
/**
* @file
* Visual styles for Bartik's item list.
*/
.item-list ul li {
margin: 0;
padding: 0.2em 0.5em 0 0; /* LTR */
}
[dir="rtl"] .item-list ul li {
padding: 0.2em 0 0 0.5em;
}

View file

@ -0,0 +1,13 @@
/**
* @file
* List group.
* A list of links, grouped together.
*/
.list-group__link {
border-top: 1px solid #ccc;
padding: 7px 0 0;
}
.list-group__description {
margin: 0 0 10px;
}

View file

@ -0,0 +1,18 @@
/* ---------------- Messages ----------------- */
#messages {
padding: 20px 0 5px;
margin: 0 auto;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.has-featured-top .highlighted {
background: #f0f0f0;
background: rgba(30, 50, 10, 0.08);
}
div.messages {
margin: 8px 15px 8px 23px; /* LTR */
}
[dir="rtl"] div.messages {
margin-right: 23px;
margin-left: 15px;
}

View file

@ -0,0 +1,61 @@
.node-preview-container {
background: #d1e8f5;
background-image: -webkit-linear-gradient(top, #d1e8f5, #d3e8f4);
background-image: linear-gradient(to bottom, #d1e8f5, #d3e8f4);
font-family: Arial, sans-serif;
box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3333);
position: fixed;
z-index: 499;
width: 100%;
padding: 10px;
}
.node-preview-backlink {
background-color: #419ff1;
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #419ff1, #1076d5); /* LTR */
border: 1px solid #0048c8;
border-radius: .4em;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
color: #fff;
font-size: 0.9em;
line-height: normal;
margin: 0;
padding: 4px 1em 4px 0.6em; /* LTR */
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
[dir="rtl"] .node-preview-backlink {
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #419ff1, #1076d5);
padding: 4px 0.6em 4px 1em;
float: right;
}
.node-preview-backlink:focus,
.node-preview-backlink:hover {
background-color: #419cf1;
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef); /* LTR */
border: 1px solid #0048c8;
text-decoration: none;
color: #fff;
}
[dir="rtl"] .node-preview-backlink:focus,
[dir="rtl"] .node-preview-backlink:hover {
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef);
}
.node-preview-backlink:active {
background-color: #0e69be;
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
background: url(../../../../misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef); /* LTR */
border: 1px solid #0048c8;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .25);
}
[dir="rtl"] .node-preview-backlink:active {
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
background: url(../../../../misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef);
}
.node-preview-backlink::before {
content: '';
width: 10px;
display: inline-block;
}

View file

@ -0,0 +1,42 @@
/**
* @file
* Styles for Bartik's pagination.
*/
/* Using .pager selector on the first one to override .region-content ul. */
.pager .pager__items {
padding: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.pager__item {
font-size: 0.929em;
padding: 10px 15px;
}
.pager__item a {
display: inline-block;
}
.pager__item.is-active a {
color: #3b3b3b;
border-bottom: 0;
}
.pager__item--first,
.pager__item--previous {
padding: 10px 10px 10px 0; /* LTR */
}
[dir="rtl"] .pager__item--first,
[dir="rtl"] .pager__item--previous {
padding-left: 10px;
padding-right: 0;
}
.pager__item--ellipsis {
padding: 10px 0;
}
.pager__item--last,
.pager__item--next {
padding: 10px 0 10px 10px; /* LTR */
}
[dir="rtl"] .pager__item--last,
[dir="rtl"] .pager__item--next {
padding-left: 0;
padding-right: 10px;
}

View file

@ -0,0 +1,21 @@
/**
* @file
* Panel styling. Panels are used to visually group items together.
*/
.panel {
background: #fbfbfb;
border: 1px solid #ccc;
margin: 10px 0;
padding: 0 5px 5px;
}
.panel__title {
margin: 16px 7px;
}
.panel__content {
padding: 0 4px 2px 8px; /* LTR */
}
[dir="rtl"] .panel__content {
padding-right: 8px;
padding-left: 4px;
}

View file

@ -0,0 +1,192 @@
/* --------------- Primary Menu ------------ */
.region-primary-menu {
clear: both;
}
.region-primary-menu .menu {
font-size: 0.929em;
margin: 0 5px;
padding: 0;
text-align: left; /* LTR */
}
[dir="rtl"] .region-primary-menu .menu {
text-align: right;
}
.region-primary-menu .menu-item {
float: none;
list-style: none;
margin: 0;
padding: 0;
height: auto;
width: 100%;
}
.region-primary-menu .menu a {
color: #333;
background: #ccc;
background: rgba(255, 255, 255, 0.7);
float: none;
display: block;
text-decoration: none;
text-shadow: 0 1px #eee;
border-radius: 8px;
margin: 4px 0;
padding: 0.9em 0 0.9em 10px; /* LTR */
}
[dir="rtl"] .region-primary-menu .menu a {
padding: 0.9em 10px 0.9em 0;
}
.region-primary-menu .menu a:hover,
.region-primary-menu .menu a:focus {
background: #f6f6f2;
background: rgba(255, 255, 255, 0.95);
}
.region-primary-menu .menu a:active {
background: #b3b3b3;
background: rgba(255, 255, 255, 1);
}
.region-primary-menu .menu-item a.is-active {
border-bottom: none;
}
/* ---------- Primary Menu Toggle ----------- */
/* Hide the toggle by default. */
.menu-toggle,
.menu-toggle-target {
display: none;
}
/* Unhide it for the primary menu. */
.region-primary-menu .menu-toggle-target {
display: inherit;
position: fixed;
top: 0;
}
.region-primary-menu .menu-toggle {
display: none;
}
body:not(:target) .region-primary-menu .menu-toggle {
color: #333;
background: #ccc;
background: rgba(255, 255, 255, 0.7);
float: none;
font-size: 0.929em;
display: block;
text-decoration: none;
text-shadow: 0 1px #eee;
padding: 0.9em 10px 0.9em 10px;
z-index: 1000;
}
body:not(:target) .region-primary-menu .menu-toggle:after {
content:"";
background: url(../../../../misc/icons/ffffff/hamburger.svg) no-repeat;
background-size: contain;
width: 22px;
height: 22px;
display: inline-block;
position: absolute;
right: 10px; /* LTR */
}
[dir="rtl"] body:not(:target) .region-primary-menu .menu-toggle:after {
right: initial;
left: 10px;
}
body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu-toggle,
body:not(:target) .region-primary-menu .menu-toggle--hide {
display: none;
}
body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu-toggle--hide {
display: block;
}
body:not(:target) .region-primary-menu .menu-item {
height: 0;
overflow: hidden;
}
body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu .menu-item {
height: auto;
overflow: visible;
}
/**
* Media queries for primary menu.
*/
@media all and (min-width: 461px) and (max-width: 900px) {
.region-primary-menu .menu {
margin: 0 5px;
padding: 0;
text-align: center;
}
.region-primary-menu .menu-item,
body:not(:target) .region-primary-menu .menu-item {
float: left; /* LTR */
margin-right: 5px; /* LTR */
padding: 0;
display: inline-block;
width: 32.75%;
height: auto;
overflow: visible;
}
[dir="rtl"] .region-primary-menu .menu-item,
[dir="rtl"] body:not(:target) .region-primary-menu .menu-item {
float: right;
margin-left: 5px;
margin-right: 0;
}
.region-primary-menu .menu-item:nth-child(3n) {
margin-right: -5px; /* LTR */
}
[dir="rtl"] .region-primary-menu .menu-item:nth-child(3n) {
margin-left: -5px;
margin-right: 0;
}
.region-primary-menu .menu a {
float: none;
display: block;
border-radius: 8px;
margin-bottom: 5px;
padding: 0.9em 5px;
}
body:not(:target) .region-primary-menu .menu-toggle {
display: none;
}
}
@media all and (min-width: 901px) {
.region-primary-menu .block-menu .menu {
font-size: 0.929em;
margin: 0;
padding: 0 15px;
}
.region-primary-menu .menu-item,
body:not(:target) .region-primary-menu .menu-item {
float: left; /* LTR */
list-style: none;
padding: 0 1px;
margin: 0 1px;
width: auto;
height: auto;
overflow: visible;
}
[dir="rtl"] .region-primary-menu .menu-item,
[dir="rtl"] body:not(:target) .region-primary-menu .menu-item {
float: right;
}
.region-primary-menu .menu a {
float: left; /* LTR */
padding: 0.7em 0.8em;
margin-bottom: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
[dir="rtl"] .region-primary-menu .menu a {
float: right;
padding: 0.7em 0.8em;
}
.featured .region-primary-menu .menu-item a:active,
.featured .region-primary-menu .menu-item a.is-active {
background: #f0f0f0;
background: rgba(240, 240, 240, 1.0);
}
body:not(:target) .region-primary-menu .menu-toggle {
display: none;
}
}

View file

@ -0,0 +1,10 @@
/**
* @file
* Styles for the help region.
*/
.region-help {
border: 1px solid #d3d7d9;
padding: 0 1.5em;
margin-bottom: 30px;
}

View file

@ -0,0 +1,31 @@
/**
* @file
* Visual styles for Bartik's search results.
*/
ol.search-results {
padding-left: 0; /* LTR */
list-style-position: inside;
}
[dir="rtl"] ol.search-results {
padding-right: 0;
}
.search-results li {
border-bottom: 1px solid #d3d7d9;
padding-bottom: 0.4285em;
margin-bottom: 0.5em;
}
.search-results li:last-child {
border-bottom: none;
padding-bottom: 0;
margin-bottom: 1em;
}
.search-result__title {
font-weight: bold;
}
.search-result__snippet-info {
padding-left: 0; /* LTR */
}
[dir="rtl"] .search-result__snippet-info {
padding-right: 0;
}

View file

@ -0,0 +1,52 @@
/* --------------- Search Form ---------------- */
#block-search-form {
padding-bottom: 7px;
}
#block-search-form .content {
margin-top: 0;
}
#search-form input[type="search"],
#block-search-form input[type="search"] {
box-sizing: border-box;
padding: 4px;
-webkit-appearance: textfield;
}
#search-form input[type="search"]::-webkit-search-decoration,
#block-search-form input[type="search"]::-webkit-search-decoration {
display: none;
}
#search-form input#edit-keys,
#block-search-form .form-item-search-block-form input {
float: left; /* LTR */
font-size: 1em;
margin-right: 5px; /* LTR */
}
[dir="rtl"] #search-form input#edit-keys,
[dir="rtl"] #block-search-form .form-item-search-block-form input {
float: right;
margin-left: 5px;
margin-right: 0;
}
#search-block-form input.form-submit,
#search-form input.form-submit {
margin-left: 0;
margin-right: 0;
height: 25px;
width: 34px;
padding: 0;
cursor: pointer;
text-indent: -9999px;
border-color: #e4e4e4 #d2d2d2 #b4b4b4;
background: #f0f0f0 url(../../../../misc/icons/505050/loupe.svg) no-repeat center;
overflow: hidden;
}
#search-block-form input.form-submit:hover,
#search-block-form input.form-submit:focus,
#search-form input.form-submit:hover,
#search-form input.form-submit:focus {
background: #dedede url(../../../../misc/icons/424242/loupe.svg) no-repeat center;
}
#search-form .form-item-keys label {
display: block;
}

View file

@ -0,0 +1,24 @@
/* --------------- Secondary Menu ------------ */
.region-secondary-menu .menu {
text-align: right; /* LTR */
font-size: 0.929em;
margin: 0 10px;
padding: 0;
}
[dir="rtl"] .region-secondary-menu .menu {
text-align: left;
}
.region-secondary-menu .menu-item {
margin: 0;
padding: 0;
display: inline;
}
.region-secondary-menu .menu a {
display: inline-block;
padding: 0.8em;
}
.region-secondary-menu .menu a:hover,
.region-secondary-menu .menu a:focus {
text-decoration: underline;
}

View file

@ -0,0 +1,15 @@
/* -------------- Shortcut Links -------------- */
.shortcut-wrapper {
margin: 2.2em 0 1.1em 0; /* Same as usual h1#page-title margin. */
}
.shortcut-wrapper h1#page-title {
float: left; /* LTR */
margin: 0;
}
[dir="rtl"] .shortcut-wrapper h1#page-title {
float: right;
}
.shortcut-action {
padding-top: 0.9em;
}

View file

@ -0,0 +1,67 @@
/* ------------------ Sidebar ----------------- */
@media all and (min-width: 560px) {
.sidebar {
float: left; /* LTR */
position: relative;
width: 50%;
}
[dir="rtl"] .sidebar {
float: right;
}
.layout-one-sidebar .sidebar {
width: 100%;
}
}
@media all and (min-width: 851px) {
.layout-one-sidebar .sidebar {
width: 25%;
}
#sidebar-first {
width: 25%;
margin-left: -100%; /* LTR */
}
[dir="rtl"] #sidebar-first {
margin-right: -100%;
margin-left: 0;
}
#sidebar-second {
width: 25%;
margin-left: -25%; /* LTR */
clear: none;
}
[dir="rtl"] #sidebar-second {
margin-right: -25%;
margin-left: 0;
}
}
.sidebar .section {
padding: 10px 15px 0;
}
.sidebar .block {
border-style: solid;
border-width: 1px;
padding: 15px 20px;
margin: 0 0 20px;
}
.sidebar h2 {
margin: 0 0 0.5em;
border-bottom: 1px solid #d6d6d6;
padding-bottom: 5px;
text-shadow: 0 1px 0 #fff;
font-size: 1.071em;
line-height: 1.2;
}
.sidebar .block .content {
font-size: 0.914em;
line-height: 1.4;
}
.sidebar tbody {
border: none;
}
.sidebar tr.even,
.sidebar tr.odd {
background: none;
border-bottom: 1px solid #d6d6d6;
}

View file

@ -0,0 +1,229 @@
/**
* @file
* Footer Styling.
*/
.site-footer {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 35px 0 30px;
}
.site-footer .layout-container {
padding: 0 15px;
}
@media all and (min-width: 560px) {
.site-footer__top .region {
float: left; /* LTR */
position: relative;
width: 50%;
}
[dir="rtl"] .site-footer__top .region {
float: right;
}
}
@media all and (min-width: 560px) and (max-width: 850px) {
.site-footer .region {
box-sizing: border-box;
}
.site-footer__top .region:nth-child(2n+1) {
padding-right: 10px; /* LTR */
}
[dir="rtl"] .site-footer__top .region:nth-child(2n+1) {
padding-left: 10px;
padding-right: 0;
}
.site-footer__top .region:nth-child(2n) {
padding-left: 10px; /* LTR */
}
[dir="rtl"] .site-footer__top .region:nth-child(2n) {
padding-left: 0;
padding-right: 10px;
}
.region-footer-third {
clear: both;
}
}
@media all and (min-width: 851px) {
.site-footer__top .region {
width: 24%;
padding: 0 0.65%;
}
.site-footer__top .region:first-child {
padding-left: 0; /* LTR */
}
[dir="rtl"] .site-footer__top .region:first-child {
padding-left: 10px;
padding-right: 0;
}
.site-footer__top .region:last-child {
padding-right: 0; /* LTR */
}
[dir="rtl"] .site-footer__top .region:last-child {
padding-left: 0;
padding-right: 10px;
}
}
.site-footer h2 {
color: #c0c0c0;
color: rgba(255, 255, 255, 0.65);
}
.site-footer blockquote {
color: #555;
}
.site-footer .content {
color: #c0c0c0;
color: rgba(255, 255, 255, 0.65);
font-size: 0.857em;
}
.site-footer .menu-item {
padding: 0;
}
.site-footer .content ol:not(.menu),
.site-footer .content ul:not(.menu) {
padding-left: 1.4em; /* LTR */
}
[dir="rtl"] .site-footer .content ol:not(.menu),
[dir="rtl"] .site-footer .content ul:not(.menu) {
padding-right: 1.4em;
padding-left: 0;
}
.site-footer .content a,
.site-footer .content a.is-active {
color: #fcfcfc;
color: rgba(255, 255, 255, 0.8);
}
.site-footer .content a:hover,
.site-footer .content a:focus {
color: #fefefe;
color: rgba(255, 255, 255, 0.95);
}
.site-footer .block {
margin: 20px 0;
border: 1px solid #444;
border-color: rgba(255, 255, 255, 0.1);
padding: 10px;
}
.site-footer table {
font-size: 1em;
}
.site-footer tr td,
.site-footer tr th {
border-color: #555;
border-color: rgba(255, 255, 255, 0.18);
}
.site-footer tr.odd {
background-color: transparent;
}
.site-footer tr.even {
background-color: #2c2c2c;
background-color: rgba(0, 0, 0, 0.15);
}
/* Footer Top Styling. */
.site-footer__top h2 {
border-bottom: 1px solid #555;
border-color: rgba(255, 255, 255, 0.15);
font-size: 1em;
margin-bottom: 0;
padding-bottom: 3px;
text-transform: uppercase;
}
.site-footer__top .content {
margin-top: 0;
}
.site-footer__top p {
margin-top: 1em;
}
.site-footer__top .content .menu {
padding-left: 0; /* LTR */
}
[dir="rtl"] .site-footer__top .content .menu {
padding-right: 0;
}
.site-footer__top .content li a {
display: block;
border-bottom: 1px solid #555;
border-color: rgba(255, 255, 255, 0.15);
line-height: 1.2;
padding: 0.8em 2px 0.8em 20px; /* LTR */
text-indent: -15px;
}
[dir="rtl"] .site-footer__top .content li a {
padding: 0.8em 20px 0.8em 2px;
}
.site-footer__top .content li a:hover,
.site-footer__top .content li a:focus {
background-color: #1f1f21;
background-color: rgba(255, 255, 255, 0.05);
text-decoration: none;
}
.site-footer__top .block-menu,
.site-footer__bottom .block {
margin: 0;
padding: 0;
border: none;
}
/* Footer Bottom Styling. */
.site-footer__bottom .block {
margin: 0.5em 0;
}
.site-footer__bottom .content {
padding: 0.5em 0;
margin-top: 0;
}
.site-footer__bottom .block h2 {
margin: 0;
}
.site-footer__bottom {
letter-spacing: 0.2px;
margin-top: 30px;
border-top: 1px solid #555;
border-color: rgba(255, 255, 255, 0.15);
}
.site-footer__bottom .region {
margin-top: 20px;
}
.site-footer__bottom .block {
clear: both;
}
/* We need to be specific to overwrite [dir="rtl"] .block ul in block.css. */
.site-footer__bottom .block .menu {
padding: 0;
}
.site-footer__bottom .menu-item a {
float: left; /* LTR */
padding: 0 12px;
display: block;
border-right: 1px solid #555; /* LTR */
border-color: rgba(255, 255, 255, 0.15);
}
[dir="rtl"] .site-footer__bottom .menu-item a {
float: right;
border-left: 1px solid #555;
border-right: none;
}
.site-footer__bottom .menu-item:first-child a {
padding-left: 0; /* LTR */
}
[dir="rtl"] .site-footer__bottom .menu-item:first-child a {
padding-right: 0;
padding-left: 12px;
}
.site-footer__bottom .menu-item:last-child a {
padding-right: 0; /* LTR */
border-right: none; /* LTR */
}
[dir="rtl"] .site-footer__bottom .menu-item:last-child a {
padding-left: 0;
padding-right: 12px;
border-left: none;
}
/**
* When the item is both first and last, :last-child overrides the right padding
* when using [dir="rtl"]. We need this rule to remove the right padding.
*/
[dir="rtl"] .site-footer__bottom .menu-item:first-child:last-child a {
padding-right: 0;
}

View file

@ -0,0 +1,25 @@
/**
* @file
* Styles for the skip link.
*/
.skip-link {
left: 50%;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
z-index: 50;
background: #444;
background: rgba(0, 0, 0, 0.6);
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 0.94em;
line-height: 1.7em;
padding: 1px 10px 2px;
border-radius: 0 0 10px 10px;
border-bottom-width: 0;
outline: 0;
}
.skip-link.visually-hidden.focusable:focus {
position: absolute !important;
color: #fff;
}

View file

@ -0,0 +1,80 @@
/* ------------------ Table Styles ------------------ */
table {
border: 0;
border-spacing: 0;
font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
font-size: 0.857em;
margin: 10px 0;
width: 100%;
}
table table {
font-size: 1em;
}
tr {
border-bottom: 1px solid #ccc;
padding: 0.1em 0.6em;
background: #efefef;
background: rgba(0, 0, 0, 0.063);
}
thead > tr {
border-bottom: 1px solid #000;
}
tr.odd {
background: #e4e4e4;
background: rgba(0, 0, 0, 0.105);
}
table tr th {
background: #757575;
background: rgba(0, 0, 0, 0.51);
border-bottom-style: none;
}
table tr th,
table tr th a,
table tr th a:hover,
table tr th a:focus {
color: #fff;
font-weight: bold;
}
table tbody tr th {
vertical-align: top;
}
tr td,
tr th {
padding: 4px 9px;
border: 1px solid #fff;
text-align: left; /* LTR */
}
[dir="rtl"] tr td,
[dir="rtl"] tr th {
text-align: right;
}
/**
* Responsive tables.
*/
@media screen and (max-width: 37.5em) { /* 600px */
th.priority-low,
td.priority-low,
th.priority-medium,
td.priority-medium {
display: none;
}
}
@media screen and (max-width: 60em) { /* 920px */
th.priority-low,
td.priority-low {
display: none;
}
}
table ul.links {
margin: 0;
padding: 0;
font-size: 1em;
}
table ul.links li {
padding: 0 1em 0 0; /* LTR */
}
[dir="rtl"] table ul.links li {
padding-left: 1em;
padding-right: 0;
}

View file

@ -0,0 +1,113 @@
/* --------------- System Tabs --------------- */
div.tabs {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
margin-bottom: 20px;
}
.tabs ul.primary {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.tabs ul.primary li a {
color: #000;
background-color: #ededed;
border-color: #bbb;
border-style: solid solid none solid;
border-width: 1px;
height: 1.8em;
line-height: 1.9;
display: block;
font-size: 0.929em;
padding: 0 10px 3px;
margin: 0;
text-shadow: 0 1px 0 #fff;
}
.tabs ul.primary li.is-active a {
background-color: #ffffff;
border: 1px solid #bbb;
}
@media screen and (max-width: 37.5em) { /* 600px */
.tabs ul.primary {
border-bottom: 1px solid #bbb;
}
.tabs ul.primary li {
display: block;
margin: 0;
}
.tabs ul.primary li a {
padding: 5px 10px;
}
.tabs ul.primary li.is-active a {
border-bottom: none;
}
}
@media screen and (min-width: 37.5em) { /* 600px */
.tabs ul.primary {
border-collapse: collapse;
height: auto;
line-height: normal;
padding: 0 3px;
margin: 0;
overflow: hidden;
border: none;
background: transparent url(../../images/tabs-border.png) repeat-x left bottom;
white-space: nowrap;
}
.tabs ul.primary li {
display: block;
float: left; /* LTR */
vertical-align: bottom;
margin: 0 5px 0 0; /* LTR */
}
[dir="rtl"] .tabs ul.primary li {
margin: 0 0 0 5px;
float: right;
}
.tabs ul.primary li a {
float: left; /* not LTR */
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
.tabs ul.primary li.is-active a {
border-bottom: 1px solid #fff;
}
}
.tabs ul.secondary {
border-bottom: none;
margin: 5px;
padding: 0.5em 0;
overflow: hidden;
}
.tabs ul.secondary li {
border-right: 1px solid #ccc; /* LTR */
display: block;
float: left; /* LTR */
margin: 0;
padding: 0 1em;
}
[dir="rtl"] .tabs ul.secondary li {
border-left: 1px solid #ccc;
border-right: none;
float: right;
}
.tabs ul.secondary li:last-child {
border-right: none; /* LTR */
}
[dir="rtl"] .tabs ul.secondary li:last-child {
border-left: none;
}
.tabs ul.secondary li:first-child {
padding-left: 0; /* LTR */
}
[dir="rtl"] .tabs ul.secondary li:first-child {
padding-right: 0;
}
.tabs ul.secondary li a {
display: inline;
padding: 0.25em 0.5em;
text-decoration: none;
}
.tabs ul.secondary li a.is-active {
background: #f2f2f2;
border-bottom: none;
border-radius: 5px;
}

View file

@ -0,0 +1,7 @@
/* ----------------- Tips ----------------- */
ul.tips {
padding: 0 0 0 1.25em; /* LTR */
}
[dir="rtl"] ul.tips {
padding: 0 1.25em 0 0;
}

View file

@ -0,0 +1,8 @@
/**
* @file
* Toolbar module overrides for Bartik.
*/
.toolbar a {
border-bottom: none;
}

View file

@ -0,0 +1,34 @@
/**
* @file
* Styles for Bartik's modal windows
*/
.ui-widget-overlay {
background: #000;
opacity: 0.7;
}
.ui-dialog {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
border-radius: 0;
}
.ui-dialog input,
.ui-dialog select,
.ui-dialog textarea {
font-size: 0.9em;
}
.ui-dialog .button {
background-color: #fff;
background-image: -webkit-linear-gradient(top,#f3f3f3,#e8e8e8);
background-image: linear-gradient(to bottom,#f3f3f3,#e8e8e8);
border: 1px solid #e4e4e4;
border-bottom-color: #b4b4b4;
border-left-color: #d2d2d2;
border-right-color: #d2d2d2;
color: #3a3a3a;
cursor: pointer;
font-size: 0.929em;
font-weight: normal;
text-align: center;
padding: 0.250em 1.063em;
border-radius: 1em;
}

View file

@ -0,0 +1,8 @@
/* -------------- User Profile -------------- */
.profile .field-name-field-user-picture {
float: none;
}
div.password-suggestions {
border: 0;
}

View file

@ -0,0 +1,16 @@
/**
* @file
* Vertical tabs component.
*/
/* Vertical Tabs Reset */
.vertical-tabs__menu {
margin: -1px 0 -1px -15em; /* LTR */
padding: 0;
}
[dir="rtl"] .vertical-tabs__menu {
margin-left: 0;
margin-right: -15em;
/* This is required to win specificity over [dir="rtl"] .region-content ul */
padding: 0;
}

View file

@ -0,0 +1,117 @@
/* ---------- Views styling ---------- */
/* @group Lists */
.views-display-top .secondary .action-list {
padding-left: 0; /* LTR */
}
[dir="rtl"] .views-display-top .secondary .action-list {
padding-left: inherit;
padding-right: 0;
}
/* @end */
/* @group Attachment details tabs
*
* The tabs that switch between sections
*/
.views-displays .region-content .secondary,
.views-displays .region-content .secondary {
padding-bottom: 0;
padding-left: 0; /* LTR */
}
[dir="rtl"] .views-displays .region-content .secondary {
padding-right: 0;
}
.views-displays .secondary a {
font-size: smaller;
}
.views-displays .secondary > li a {
border-radius: 5px;
}
.views-displays .secondary > li.open a {
border-radius: 5px 5px 0 0;
}
.views-displays .secondary .open > a:hover,
.views-displays .secondary .open > a:focus {
color: #0071B3;
}
.views-displays .secondary input.form-submit {
font-size: smaller;
}
/* @end */
/* @group Modal dialog box
*
* The contents of the popup dialog on the views edit form.
*/
.views-filterable-options .filterable-option:nth-of-type(even) .form-type-checkbox {
background-color: #F9F9F9;
}
/* @end */
.views-display-column .details-wrapper {
margin-top: 0;
}
.views-display-column details summary {
background: none;
border: none;
font-family: inherit;
font-size: 13px;
line-height: inherit;
position: relative;
text-indent: 0;
text-shadow: none;
top: 3px;
}
.views-display-columns details {
position: inherit;
}
.views-display-columns details summary {
padding: 0 0 4px 2px; /* LTR */
}
[dir="rtl"] .views-display-columns details summary {
padding: 0 2px 4px 0;
}
.views-display-columns a.fieldset-title {
color: #0071B3;
}
.views-display-columns a.fieldset-title:hover,
.views-display-columns a.fieldset-title:focus {
color: #018FE2;
}
/* @group Dropbutton */
.views-ui-display-tab-actions .dropbutton input {
color: #0071B3;
}
.views-ui-display-tab-actions .dropbutton input:hover,
.views-ui-display-tab-actions .dropbutton input:focus {
color: #018FE2;
}
.views-ui-display-tab-actions .dropbutton input.form-submit {
margin-right: 0; /* LTR */
margin-top: 0;
}
[dir="rtl"] .views-ui-display-tab-actions .dropbutton input.form-submit {
margin-left: 0;
}

View file

@ -0,0 +1,30 @@
/**
* @file
* Bartik layout styling.
*/
/**
* Container
*/
.layout-container {
max-width: 860px;
margin-left: auto;
margin-right: auto;
box-sizing: border-box;
}
@media all and (min-width: 851px) {
.layout-container {
max-width: 1290px;
}
}
/**
* Main
*/
.layout-main-wrapper {
min-height: 300px;
}
.layout-main {
margin-top: 20px;
margin-bottom: 40px;
}

View file

@ -0,0 +1,81 @@
body.maintenance-page {
background-color: #fff;
color: #000;
}
.maintenance-page #page-wrapper {
background: #fff;
margin-left: auto;
margin-right: auto;
min-width: 0;
min-height: 0;
border: 1px solid #ddd;
margin-top: 40px;
}
.maintenance-page #page {
margin: 10px;
}
.maintenance-page #main-wrapper {
min-height: inherit;
}
.maintenance-page #header,
.maintenance-page #messages {
width: auto;
}
.maintenance-page #main {
margin: 0;
}
.maintenance-page #content .section {
padding: 0 0 0 10px; /* LTR */
}
[dir="rtl"] .maintenance-page #content .section {
padding-left: 0;
padding-right: 10px;
}
.maintenance-page #header {
background-color: #fff;
background-image: none;
}
.maintenance-page #name-and-slogan {
margin-bottom: 50px;
margin-left: 0; /* LTR */
padding-top: 20px;
font-size: 90%;
}
[dir="rtl"] .maintenance-page #name-and-slogan {
margin-right: 0;
}
.maintenance-page #name-and-slogan,
.maintenance-page #name-and-slogan a,
.maintenance-page #name-and-slogan a:hover,
.maintenance-page #name-and-slogan a:focus {
color: #777;
}
.maintenance-page h1#page-title {
line-height: 1em;
margin-top: 0;
}
.maintenance-page #messages {
padding: 0;
margin-top: 30px;
}
.maintenance-page #messages div.messages {
margin: 0;
}
@media all and (min-width: 800px) {
.maintenance-page #page-wrapper {
width: 800px;
}
.maintenance-page #header div.section,
.maintenance-page #main {
width: 700px;
}
.maintenance-page #messages div.section {
padding: 0;
width: auto;
}
}
@media all and (min-width: 600px) { /* @TODO find the proper breakpoint */
.maintenance-page #page {
margin: 20px 40px 40px;
}
}

View file

@ -0,0 +1,46 @@
/* ---------- General Layout ---------- */
body,
input,
textarea,
select {
color: #000;
background: none;
}
body.two-sidebars,
body.sidebar-first,
body.sidebar-second,
body {
width: 640px;
}
#sidebar-first,
#sidebar-second,
.navigation,
#toolbar,
.site-footer,
.tabs,
.shortcut-action {
display: none;
}
.one-sidebar #content,
.two-sidebars #content {
width: 100%;
}
#featured-bottom-wrapper {
width: 960px;
margin: 0;
padding: 0;
border: none;
}
#featured-bottom-first, #featured-bottom-second, #featured-bottom-third {
width: 250px;
}
/* ---------- Node Pages ---------- */
#comments .title,
#comments form,
.comment-forbidden {
display: none;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#ffffff" fill-opacity="0.7" d="M0,7.562l1.114-3.438c2.565,0.906,4.43,1.688,5.59,2.35C6.398,3.553,6.237,1.544,6.22,0.447h3.511 c-0.05,1.597-0.234,3.6-0.558,6.003c1.664-0.838,3.566-1.613,5.714-2.325L16,7.562c-2.05,0.678-4.06,1.131-6.028,1.356 c0.984,0.856,2.372,2.381,4.166,4.575l-2.906,2.059c-0.935-1.274-2.041-3.009-3.316-5.206c-1.194,2.275-2.244,4.013-3.147,5.206 l-2.856-2.059c1.872-2.307,3.211-3.832,4.017-4.575C3.849,8.516,1.872,8.062,0,7.562"/></svg>

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="57" height="66" viewBox="471.5 467 57 66" enable-background="new 471.5 467 57 66"><path opacity=".2" fill="#303030" d="M528.5 504.965c0 16.634-13.123 27.615-28.24 27.615-10.29 0-19.894-5.523-24.978-14.167l.605-.027c1.313 1.192 3.39 2.58 7.404 2.515 4.77-.064 5.645-.875 9.855-2.756 22.716-10.17 26.925-19.457 27.736-21.59s2.013-5.587.756-9.415c-.242-.737-.42-1.333-.54-1.808-3.018-3.372-6.017-5.225-6.92-5.784-.14-.093-.29-.177-.43-.26l.44.26c2.01 1.247 14.314 8.782 14.314 25.417z"/><path fill="#fff" d="M509.09 518.507c1.006 0 2.077.065 2.83.568.756.503 1.193 1.63 1.445 2.263.25.634 0 1.006-.503 1.258-.438.25-.503.12-.94-.69-.44-.81-.82-1.63-3.01-1.63s-2.887.755-3.948 1.63c-1.062.876-1.443 1.193-1.825.69s-.253-1.006.437-1.63 1.825-1.63 2.888-2.077c1.06-.45 1.62-.383 2.625-.383zm-10.413 7.152c1.257 1.005 3.14 1.825 7.153 1.825 4.015 0 6.836-1.137 8.094-2.077.568-.438.82-.065.875.187.056.25.186.624-.252 1.07-.316.317-3.194 2.33-6.594 2.636-3.4.31-7.964.504-10.73-2.01-.438-.44-.316-1.07 0-1.323.317-.25.568-.438.94-.438.374.008.317.008.513.13z"/><path opacity=".2" fill="#aaa" d="M520.89 496.545c-.81 2.133-5.02 11.42-27.735 21.59-4.21 1.88-5.085 2.69-9.854 2.756-4.013.066-6.09-1.32-7.403-2.514l-.605.028h-.01c-2.393-4.042-3.78-8.783-3.78-13.952 0-7.852 2.97-13.654 6.287-17.687.11-.13.213-.26.325-.382 2.683-3.148 5.55-5.17 7.218-6.203.038-.028.075-.047.112-.065.42-.25.754-.447.987-.568 2.757-1.51 4.77-2.263 7.963-4.77.12-.092.242-.186.354-.288l.008-.01c.875-.754 1.64-1.76 2.18-3.4v-.008c.325-.97.567-2.16.716-3.65l.02.018c2.253 2.69 4.954 5.886 6.89 7.144.69.447 1.38.848 2.068 1.202l.3.15c2.243 1.126 4.507 1.945 6.807 3.333l.428.26c.903.56 3.902 2.412 6.92 5.784.12.475.298 1.07.54 1.807 1.274 3.837.073 7.292-.737 9.425z"/><path opacity=".5" fill="#333" d="M514.176 479.538c-3.26-2.077-6.464-2.887-9.603-4.955-1.938-1.267-4.64-4.47-6.893-7.162-.438 4.332-1.686 6.148-3.26 7.35-3.195 2.515-5.207 3.26-7.963 4.77-2.338 1.256-14.958 8.726-14.958 24.913 0 5.17 1.387 9.91 3.77 13.96 5.077 8.635 14.68 14.158 24.97 14.158 15.126 0 28.24-10.98 28.24-27.614 0-9.127-3.707-15.526-7.386-19.633-3.016-3.382-6.015-5.217-6.918-5.785zm7.627 7.34c4.117 5.15 6.213 11.23 6.213 18.077 0 3.968-.755 7.712-2.245 11.148-1.414 3.25-3.444 6.13-6.053 8.56-5.15 4.806-12.062 7.45-19.475 7.45-3.67 0-7.265-.698-10.692-2.086-3.372-1.36-6.398-3.297-9.016-5.774-5.532-5.225-8.57-12.257-8.57-19.8 0-6.716 2.18-12.695 6.483-17.753 3.288-3.865 6.836-6.007 8.196-6.743.67-.363 1.285-.69 1.89-.997 1.892-.97 3.68-1.89 6.14-3.818 1.312-.997 2.71-2.58 3.305-6.585 2.077 2.468 4.48 5.234 6.314 6.426 1.63 1.08 3.307 1.835 4.918 2.562 1.527.69 3.11 1.406 4.676 2.403l.056.037c4.62 2.84 7.06 5.896 7.86 6.892z"/><path opacity=".5" fill="#fff" d="M497.98 468.678c.874 2.58.753 3.893.753 4.452 0 .56-.307 2.077-1.313 2.832-.438.317-.568.568-.568.624 0 .25.568.438.568 1.006 0 .69-.317 2.077-3.642 5.393-3.325 3.316-8.103 6.278-11.8 8.103-3.698 1.826-5.468 1.686-5.97.81s.185-2.83 2.514-5.392l9.667-6.278 9.164-6.398.503-2.44"/><path fill="#fff" d="M497.98 468.613c-.57 4.145-1.826 5.393-3.512 6.715-2.83 2.133-5.588 3.446-6.212 3.763-1.63.82-7.535 4.08-10.608 8.784-.94 1.444 0 2.012.186 2.133.187.12 2.33.372 6.9-2.385 4.574-2.757 6.595-4.387 9.175-7.078 1.377-1.444 1.573-2.263 1.573-2.636 0-.438-.316-.624-.82-.754-.25-.065-.316-.187 0-.373.317-.186 1.622-.82 1.938-1.07.318-.25 1.827-1.257 1.882-2.887.065-1.63-.056-2.766-.503-4.21zm-14.112 45.628c.065-4.898 4.648-9.472 10.422-9.536 7.348-.065 12.424 7.283 16.13 7.208 3.14-.064 9.166-6.212 12.118-6.212 3.14 0 4.014 3.26 4.014 5.206 0 1.938-.623 5.458-2.133 7.656-1.51 2.198-2.44 3.008-4.2 2.888-2.264-.187-6.78-7.21-9.67-7.35-3.64-.12-11.547 7.6-17.75 7.6-3.763 0-4.9-.567-6.147-1.378-1.92-1.312-2.85-3.315-2.785-6.08z"/></svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View file

@ -0,0 +1,23 @@
{% extends "@classy/block/block--search-form-block.html.twig" %}
{#
/**
* @file
* Bartik's theme implementation for a search form block. Extends Classy's
* search form block template.
*
* Available variables:
* - content: The content of this block.
* - content_attributes: A list of HTML attributes applied to the main content
* tag that appears in the template.
*
* @see template_preprocess_block()
* @see search_preprocess_block()
*
* @ingroup themeable
*/
#}
{% block content %}
<div{{ content_attributes.addClass('content', 'container-inline') }}>
{{ parent() }}
</div>
{% endblock %}

View file

@ -0,0 +1,34 @@
{% extends "block.html.twig" %}
{#
/**
* @file
* Bartik's theme implementation for a branding block.
*
* Each branding element variable (logo, name, slogan) is only available if
* enabled in the block configuration.
*
* Available variables:
* - site_logo: Logo for site as defined in Appearance or theme settings.
* - site_name: Name for site as defined in Site information settings.
* - site_slogan: Slogan for site as defined in Site information settings.
*/
#}
{% block content %}
{% if site_logo %}
<a href="{{ url('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo">
<img src="{{ site_logo }}" alt="{{ 'Home'|t }}" />
</a>
{% endif %}
{% if site_name or site_slogan %}
<div class="site-branding-text">
{% if site_name %}
<strong class="site-name">
<a href="{{ url('<front>') }}" title="{{ 'Home'|t }}" rel="home">{{ site_name }}</a>
</strong>
{% endif %}
{% if site_slogan %}
<div class="site-slogan">{{ site_slogan }}</div>
{% endif %}
</div>
{% endif %}
{% endblock %}

View file

@ -0,0 +1,21 @@
{% extends "@classy/block/block--system-menu-block.html.twig" %}
{#
/**
* @file
* Bartik's theme implementation for a menu block.
*
* @ingroup themeable
*/
#}
{% set show_anchor = "show-" ~ attributes.id|clean_id %}
{% set hide_anchor = "hide-" ~ attributes.id|clean_id %}
{% block content %}
<div{{ content_attributes.addClass('content') }}>
{# When rendering a menu without label, render a menu toggle. #}
<div class="menu-toggle-target menu-toggle-target-show" id="{{ show_anchor }}"></div>
<div class="menu-toggle-target" id="{{ hide_anchor }}"></div>
<a class="menu-toggle" href="#{{ show_anchor }}">{{ 'Menu'|t }}</a>
<a class="menu-toggle menu-toggle--hide" href="#{{ hide_anchor }}">{{ 'Menu'|t }}</a>
{{ content }}
</div>
{% endblock %}

View file

@ -0,0 +1,56 @@
{#
/**
* @file
* Default theme implementation to display a block.
*
* Available variables:
* - plugin_id: The ID of the block implementation.
* - label: The configured label of the block if visible.
* - configuration: A list of the block's configuration values.
* - label: The configured label for the block.
* - label_display: The display settings for the label.
* - module: The module that provided this block plugin.
* - cache: The cache settings.
* - Block plugin specific settings will also be stored here.
* - block - The full block entity.
* - label_hidden: The hidden block title value if the block was
* configured to hide the title ('label' is empty in this case).
* - module: The module that generated the block.
* - delta: An ID for the block, unique within each module.
* - region: The block region embedding the current block.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
* - id: A valid HTML ID and guaranteed unique.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: Same as attributes, except applied to the main content
* tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
*
* @see template_preprocess_block()
*
* @ingroup themeable
*/
#}
{%
set classes = [
'block',
'block-' ~ configuration.provider|clean_class,
]
%}
<div{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if label %}
<h2{{ title_attributes }}>{{ label }}</h2>
{% endif %}
{{ title_suffix }}
{% block content %}
<div{{ content_attributes.addClass('content') }}>
{{ content }}
</div>
{% endblock %}
</div>

View file

@ -0,0 +1,119 @@
{#
/**
* @file
* Bartik's theme implementation for comments.
*
* Available variables:
* - author: Comment author. Can be a link or plain text.
* - content: The content-related items for the comment display. Use
* {{ content }} to print them all, or print a subset such as
* {{ content.field_example }}. Use the following code to temporarily suppress
* the printing of a given child element:
* @code
* {{ content|without('field_example') }}
* @endcode
* - created: Formatted date and time for when the comment was created.
* Preprocess functions can reformat it by calling format_date() with the
* desired parameters on the 'comment.created' variable.
* - changed: Formatted date and time for when the comment was last changed.
* Preprocess functions can reformat it by calling format_date() with the
* desired parameters on the 'comment.changed' variable.
* - permalink: Comment permalink.
* - submitted: Submission information created from author and created
* during template_preprocess_comment().
* - user_picture: The comment author's profile picture.
* - status: Comment status. Possible values are:
* unpublished, published, or preview.
* - title: Comment title, linked to the comment.
* - attributes: HTML attributes for the containing element.
* The attributes.class may contain one or more of the following classes:
* - comment: The current template type; e.g., 'theming hook'.
* - by-anonymous: Comment by an unregistered user.
* - by-{entity-type}-author: Comment by the author of the parent entity,
* eg. by-node-author.
* - preview: When previewing a new or edited comment.
* The following applies only to viewers who are registered users:
* - unpublished: An unpublished comment visible only to administrators.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: List of classes for the styling of the comment content.
* - threaded: A flag indicating whether the comments are threaded or not.
*
* These variables are provided to give context about the parent comment (if
* any):
* - comment_parent: Full parent comment entity (if any).
* - parent_author: Equivalent to author for the parent comment.
* - parent_created: Equivalent to created for the parent comment.
* - parent_changed: Equivalent to changed for the parent comment.
* - parent_title: Equivalent to title for the parent comment.
* - parent_permalink: Equivalent to permalink for the parent comment.
* - parent: A text string of parent comment submission information created from
* 'parent_author' and 'parent_created' during template_preprocess_comment().
* This information is presented to help screen readers follow lengthy
* discussion threads. You can hide this from sighted users using the class
* visually-hidden.
*
* These two variables are provided for context:
* - comment: Full comment object.
* - entity: Entity the comments are attached to.
*
* @see template_preprocess_comment()
*/
#}
{% if threaded %}
{{ attach_library('classy/drupal.comment.threaded') }}
{% endif %}
{%
set classes = [
'comment',
status != 'published' ? 'comment--' ~ status,
comment.owner.anonymous ? 'by-anonymous',
author_id and author_id == commented_entity.getOwnerId() ? 'by-' ~ commented_entity.getEntityTypeId() ~ '-author',
'clearfix',
]
%}
<article role="article"{{ attributes.addClass(classes)|without('role') }}>
<header class="comment-header">
<div class="comment__attribution">
{{ user_picture }}
<div class="comment__submitted">
<p class="comment__author comment__submitted__data">{{ author }}</p>
<p class="comment__time comment__submitted__data">{{ created }}</p>
<p class="comment__permalink comment__submitted__data">{{ permalink }}</p>
{#
// Indicate the semantic relationship between parent and child comments
// for accessibility. The list is difficult to navigate in a screen
// reader without this information.
#}
{% if parent %}
<p class="visually-hidden">{{ parent }}</p>
{% endif %}
</div>
</div>
</header>
<div class="comment__text">
{#
Hide the "new" indicator by default, let a piece of JavaScript ask
the server which comments are new for the user. Rendering the final
"new" indicator here would break the render cache.
#}
<span class="hidden new" data-comment-timestamp="{{ new_indicator_timestamp }}"></span>
{% if title %}
{{ title_prefix }}
<h3{{ title_attributes }}>{{ title }}</h3>
{{ title_suffix }}
{% endif %}
<div{{ content_attributes.addClass('comment__content') }}>
{{ content|without('links') }}
</div>
<footer class="comment__footer">
{% if content.links %}
<nav>{{ content.links }}</nav>
{% endif %}
</footer>
</div>
</article>

View file

@ -0,0 +1,50 @@
{#
/**
* @file
* Bartik theme override for taxonomy term fields.
*
* Available variables:
* - attributes: HTML attributes for the containing element.
* - label_hidden: Whether to show the field label or not.
* - title_attributes: HTML attributes for the label.
* - label: The label for the field.
* - content_attributes: HTML attributes for the content.
* - items: List of all the field items. Each item contains:
* - attributes: List of HTML attributes for each item.
* - content: The field item's content.
* - entity_type: The entity type to which the field belongs.
* - field_name: The name of the field.
* - field_type: The type of the field.
* - label_display: The display settings for the label.
*
* @see template_preprocess_field()
* @see bartik_preprocess_field()
*/
#}
{% set field_name_class = field_name|clean_class %}
{%
set classes = [
'field',
'field-' ~ entity_type|clean_class ~ '--' ~ field_name_class,
'field-name-' ~ field_name_class,
'field-type-' ~ field_type|clean_class,
'field-label-' ~ label_display,
'clearfix',
]
%}
{%
set title_classes = [
'field-label',
label_display == 'inline' ? 'inline',
]
%}
<div{{ attributes.addClass(classes) }}>
{% if not label_hidden %}
<h3{{ title_attributes.addClass(title_classes) }}>{{ label }}</h3>
{% endif %}
<ul{{ content_attributes.addClass('links', 'field-items') }}>
{% for item in items %}
<li{{ item.attributes }}>{{ item.content }}</li>
{% endfor %}
</ul>
</div>

View file

@ -0,0 +1,48 @@
{#
/**
* @file
* Bartik's theme implementation to display a single Drupal page while offline.
*
* All available variables are mirrored in page.html.twig.
*
* @see template_preprocess_maintenance_page()
*/
#}
<div id="page-wrapper">
<div id="page">
<header id="header" role="banner">
<div class="section clearfix">
{% if site_name or site_slogan %}
<div id="name-and-slogan"{{ hide_site_name and hide_site_slogan ? ' class="visually-hidden"' }}>
{% if site_name %}
<div id="site-name"{{ hide_site_name ? ' class="visually-hidden"' }}>
<strong>
<a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home"><span>{{ site_name }}</span></a>
</strong>
</div>
{% endif %}
{% if site_slogan %}
<div id="site-slogan"{{ hide_site_slogan ? ' class="visually-hidden"' }}>
{{ site_slogan }}
</div>
{% endif %}
</div>
{% endif %}
</div>
</header>
<div id="main-wrapper">
<div id="main" class="clearfix">
<main id="content" class="column" role="main">
<section class="section">
<a id="main-content"></a>
{% if title %}
<h1 class="title" id="page-title">{{ title }}</h1>
{% endif %}
{{ page.content }}
{{ page.highlighted }}
</section>
</main>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,101 @@
{#
/**
* @file
* Bartik's theme implementation to display a node.
*
* Available variables:
* - node: Full node entity.
* - id: The node ID.
* - bundle: The type of the node, for example, "page" or "article".
* - authorid: The user ID of the node author.
* - createdtime: Time the node was published formatted in Unix timestamp.
* - changedtime: Time the node was changed formatted in Unix timestamp.
* - label: The title of the node.
* - content: All node items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given child element.
* - author_picture: The node author user entity, rendered using the "compact"
* view mode.
* - metadata: Metadata for this node.
* - date: Themed creation date field.
* - author_name: Themed author name field.
* - url: Direct URL of the current node.
* - display_submitted: Whether submission information should be displayed.
* - attributes: HTML attributes for the containing element.
* The attributes.class element may contain one or more of the following
* classes:
* - node: The current template type (also known as a "theming hook").
* - node--type-[type]: The current node type. For example, if the node is an
* "Article" it would result in "node--type-article". Note that the machine
* name will often be in a short form of the human readable label.
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
* teaser would result in: "node--view-mode-teaser", and
* full: "node--view-mode-full".
* The following are controlled through the node publishing options.
* - node--promoted: Appears on nodes promoted to the front page.
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
* teaser listings.
* - node--unpublished: Appears on unpublished nodes visible only to site
* admins.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: Same as attributes, except applied to the main
* content tag that appears in the template.
* - author_attributes: Same as attributes, except applied to the author of
* the node tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - view_mode: View mode; for example, "teaser" or "full".
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
* - readmore: Flag for more state. Will be true if the teaser content of the
* node cannot hold the main body content.
* - logged_in: Flag for authenticated user status. Will be true when the
* current user is a logged-in member.
* - is_admin: Flag for admin user status. Will be true when the current user
* is an administrator.
*
* @see template_preprocess_node()
*/
#}
{%
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,
'clearfix',
]
%}
<article{{ attributes.addClass(classes) }}>
<header>
{{ title_prefix }}
{% if not page %}
<h2{{ title_attributes.addClass('node__title') }}>
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
</h2>
{% endif %}
{{ title_suffix }}
{% if display_submitted %}
<div class="node__meta">
{{ author_picture }}
<span{{ author_attributes }}>
{% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
</span>
{{ metadata }}
</div>
{% endif %}
</header>
<div{{ content_attributes.addClass('node__content', 'clearfix') }}>
{{ content|without('comment', 'links') }}
</div>
{% if content.links %}
<div class="node__links">{{ content.links }}</div>
{% endif %}
{{ content.comment }}
</article>

View file

@ -0,0 +1,194 @@
{#
/**
* @file
* Bartik's theme implementation to display a single page.
*
* The doctype, html, head and body tags are not in this template. Instead they
* can be found in the html.html.twig template normally located in the
* core/modules/system directory.
*
* Available variables:
*
* General utility variables:
* - base_path: The base URL path of the Drupal installation. Will usually be
* "/" unless you have installed Drupal in a sub-directory.
* - is_front: A flag indicating if the current page is the front page.
* - logged_in: A flag indicating if the user is registered and signed in.
* - is_admin: A flag indicating if the user has permission to access
* administration pages.
*
* Site identity:
* - front_page: The URL of the front page. Use this instead of base_path when
* linking to the front page. This includes the language domain or prefix.
* - logo: The url of the logo image, as defined in theme settings.
* - site_name: The name of the site. This is empty when displaying the site
* name has been disabled in the theme settings.
* - site_slogan: The slogan of the site. This is empty when displaying the site
* slogan has been disabled in theme settings.
* - hide_site_name: A flag indicating if the site name has been toggled off on
* the theme settings page. If hidden, the "visually-hidden" class is added
* to make the site name visually hidden, but still accessible.
* - hide_site_slogan: A flag indicating if the site slogan has been toggled off
* on the theme settings page. If hidden, the "visually-hidden" class is
* added to make the site slogan visually hidden, but still accessible.
*
* Page content (in order of occurrence in the default page.html.twig):
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title: The page title, for use in the actual content.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - tabs: Tabs linking to any sub-pages beneath the current page (e.g., the
* view and edit tabs when displaying a node).
* - action_links: Actions local to the page, such as "Add menu" on the menu
* administration interface.
* - node: Fully loaded node, if there is an automatically-loaded node
* associated with the page and the node ID is the second argument in the
* page's path (e.g. node/12345 and node/12345/revisions, but not
* comment/reply/12345).
*
* Regions:
* - page.header: Items for the header region.
* - page.highlighted: Items for the highlighted region.
* - page.primary_menu: Items for the primary menu region.
* - page.secondary_menu: Items for the secondary menu region.
* - page.featured_top: Items for the featured top 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.featured_bottom_first: Items for the first featured bottom region.
* - page.featured_bottom_second: Items for the second featured bottom region.
* - page.featured_bottom_third: Items for the third featured bottom region.
* - page.footer_first: Items for the first footer column.
* - page.footer_second: Items for the second footer column.
* - page.footer_third: Items for the third footer column.
* - page.footer_fourth: Items for the fourth footer column.
* - page.footer_fifth: Items for the fifth footer column.
* - page.breadcrumb: Items for the breadcrumb region.
*
* @see template_preprocess_page()
* @see bartik_preprocess_page()
* @see html.html.twig
*/
#}
<div id="page-wrapper">
<div id="page">
<header id="header" class="header" role="banner" aria-label="{{ 'Site header'|t}}">
<div class="section layout-container clearfix">
{{ page.secondary_menu }}
{% if logo %}
<a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home" id="logo">
<img src="{{ logo }}" alt="{{ 'Home'|t }}" />
</a>
{% endif %}
{% if site_name or site_slogan %}
<div id="name-and-slogan"{% if hide_site_name and hide_site_slogan %} class="visually-hidden"{% endif %}>
{% if site_name %}
{% if title %}
<div id="site-name"{% if hide_site_name %} class="visually-hidden"{% endif %}>
<strong>
<a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home"><span>{{ site_name }}</span></a>
</strong>
</div>
{# Use h1 when the content title is empty #}
{% else %}
<h1 id="site-name"{% if hide_site_name %} class="visually-hidden" {% endif %}>
<a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home"><span>{{ site_name }}</span></a>
</h1>
{% endif %}
{% endif %}
{% if site_slogan %}
<div id="site-slogan"{% if hide_site_slogan %} class="visually-hidden"{% endif %}>
{{ site_slogan }}
</div>
{% endif %}
</div>
{% endif %}
{{ page.header }}
{{ page.primary_menu }}
</div>
</header>
{% if page.highlighted %}
<div class="highlighted">
<aside class="layout-container section clearfix" role="complementary">
{{ page.highlighted }}
</aside>
</div>
{% endif %}
{% if page.featured_top %}
<div class="featured-top">
<aside class="featured-top__inner section layout-container clearfix" role="complementary">
{{ page.featured_top }}
</aside>
</div>
{% endif %}
<div id="main-wrapper" class="layout-main-wrapper layout-container clearfix">
<div id="main" class="layout-main clearfix">
{{ page.breadcrumb }}
<main id="content" class="column main-content" role="main">
<section class="section">
<a id="main-content" tabindex="-1"></a>
{{ title_prefix }}
{% if title %}
<h1 class="title" id="page-title">
{{ title }}
</h1>
{% endif %}
{{ title_suffix }}
{% if tabs %}
<nav class="tabs" role="navigation" aria-label="{{ 'Tabs'|t }}">
{{ tabs }}
</nav>
{% endif %}
{{ page.help }}
{% if action_links %}
<ul class="action-links">{{ action_links }}</ul>
{% endif %}
{{ page.content }}
</section>
</main>
{% if page.sidebar_first %}
<div id="sidebar-first" class="column sidebar">
<aside class="section" role="complementary">
{{ page.sidebar_first }}
</aside>
</div>
{% endif %}
{% if page.sidebar_second %}
<div id="sidebar-second" class="column sidebar">
<aside class="section" role="complementary">
{{ page.sidebar_second }}
</aside>
</div>
{% endif %}
</div>
</div>
{% if page.featured_bottom_first or page.featured_bottom_second or page.featured_bottom_third %}
<div id="featured-bottom-wrapper">
<aside id="featured-bottom" class="section layout-container clearfix" role="complementary">
{{ page.featured_bottom_first }}
{{ page.featured_bottom_second }}
{{ page.featured_bottom_third }}
</aside>
</div>
{% endif %}
<footer class="site-footer">
<div class="layout-container">
{% if page.footer_first or page.footer_second or page.footer_third or page.footer_fourth %}
<div class="site-footer__top clearfix">
{{ page.footer_first }}
{{ page.footer_second }}
{{ page.footer_third }}
{{ page.footer_fourth }}
</div>
{% endif %}
{% if page.footer_fifth %}
<div class="site-footer__bottom">
{{ page.footer_fifth }}
</div>
{% endif %}
</div>
</footer>
</div>
</div>

View file

@ -0,0 +1,34 @@
{% extends "@classy/misc/status-messages.html.twig" %}
{#
/**
* @file
* Default theme implementation for status messages.
*
* Displays status, error, and warning messages, grouped by type.
*
* An invisible heading identifies the messages for assistive technology.
* Sighted users see a colored box. See http://www.w3.org/TR/WCAG-TECHS/H69.html
* for info.
*
* Add an ARIA label to the contentinfo area so that assistive technology
* user agents will better describe this landmark.
*
* Available variables:
* - message_list: List of messages to be displayed, grouped by type.
* - status_headings: List of all status types.
* - display: (optional) May have a value of 'status' or 'error' when only
* displaying messages of that specific type.
*
* @see template_preprocess_status_messages()
*/
#}
{% block messages %}
{% if message_list is not empty %}
{{ attach_library('bartik/messages') }}
<div id="messages">
<div class="section clearfix">
{{ parent() }}
</div>
</div>
{% endif %}
{% endblock messages %}

View file

@ -0,0 +1,9 @@
name: Classy
type: theme
description: 'A base theme with sensible default CSS classes added. Learn how to use Classy as a base theme in the <a href="https://www.drupal.org/theme-guide/8">Drupal 8 Theming Guide</a>.'
package: Core
version: VERSION
core: 8.x
libraries:
- classy/base

View file

@ -0,0 +1,17 @@
base:
version: VERSION
css:
theme:
css/layout.css: {}
book-navigation:
version: VERSION
css:
theme:
css/navigation/book.theme.css: {}
drupal.comment.threaded:
version: VERSION
css:
theme:
css/comment/comment.theme.css: {}

View file

@ -0,0 +1,16 @@
/**
* @file
* Basic styling for comment module.
*/
/**
* Indent threaded comments.
*/
.indented {
margin-left: 25px; /* LTR */
}
[dir="rtl"] .indented {
margin-left: 0;
margin-right: 25px;
}

View file

@ -0,0 +1,6 @@
/**
* @file
* Classy layout file. Do NOT delete. Needed for testing.
*
* @see \Drupal\system\Tests\Installer\InstallerTranslationTest::testInstaller()
*/

View file

@ -0,0 +1,40 @@
/**
* @file
* Styling for the Book module.
*/
.book-navigation .menu {
padding-bottom: 0;
padding-top: 1em;
}
.book-navigation .book-pager {
margin: 0;
overflow: auto;
padding: 0.5em 0;
}
.book-pager__item {
display: inline-block;
list-style-type: none;
vertical-align: top;
}
.book-pager__item--previous {
text-align: left; /* LTR */
width: 45%;
}
[dir="rtl"] .book-pager__item--previous {
float: right;
text-align: right;
}
.book-pager__item--center {
text-align: center;
width: 8%;
}
.book-pager__item--next {
float: right; /* LTR */
text-align: right; /* LTR */
width: 45%;
}
[dir="rtl"] .book-pager__item--next {
float: left;
text-align: left;
}

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="57" height="66" viewBox="471.5 467 57 66" enable-background="new 471.5 467 57 66"><path opacity=".2" fill="#303030" d="M528.5 504.965c0 16.634-13.123 27.615-28.24 27.615-10.29 0-19.894-5.523-24.978-14.167l.605-.027c1.313 1.192 3.39 2.58 7.404 2.515 4.77-.064 5.645-.875 9.855-2.756 22.716-10.17 26.925-19.457 27.736-21.59s2.013-5.587.756-9.415c-.242-.737-.42-1.333-.54-1.808-3.018-3.372-6.017-5.225-6.92-5.784-.14-.093-.29-.177-.43-.26l.44.26c2.01 1.247 14.314 8.782 14.314 25.417z"/><path fill="#fff" d="M509.09 518.507c1.006 0 2.077.065 2.83.568.756.503 1.193 1.63 1.445 2.263.25.634 0 1.006-.503 1.258-.438.25-.503.12-.94-.69-.44-.81-.82-1.63-3.01-1.63s-2.887.755-3.948 1.63c-1.062.876-1.443 1.193-1.825.69s-.253-1.006.437-1.63 1.825-1.63 2.888-2.077c1.06-.45 1.62-.383 2.625-.383zm-10.413 7.152c1.257 1.005 3.14 1.825 7.153 1.825 4.015 0 6.836-1.137 8.094-2.077.568-.438.82-.065.875.187.056.25.186.624-.252 1.07-.316.317-3.194 2.33-6.594 2.636-3.4.31-7.964.504-10.73-2.01-.438-.44-.316-1.07 0-1.323.317-.25.568-.438.94-.438.374.008.317.008.513.13z"/><path opacity=".2" fill="#aaa" d="M520.89 496.545c-.81 2.133-5.02 11.42-27.735 21.59-4.21 1.88-5.085 2.69-9.854 2.756-4.013.066-6.09-1.32-7.403-2.514l-.605.028h-.01c-2.393-4.042-3.78-8.783-3.78-13.952 0-7.852 2.97-13.654 6.287-17.687.11-.13.213-.26.325-.382 2.683-3.148 5.55-5.17 7.218-6.203.038-.028.075-.047.112-.065.42-.25.754-.447.987-.568 2.757-1.51 4.77-2.263 7.963-4.77.12-.092.242-.186.354-.288l.008-.01c.875-.754 1.64-1.76 2.18-3.4v-.008c.325-.97.567-2.16.716-3.65l.02.018c2.253 2.69 4.954 5.886 6.89 7.144.69.447 1.38.848 2.068 1.202l.3.15c2.243 1.126 4.507 1.945 6.807 3.333l.428.26c.903.56 3.902 2.412 6.92 5.784.12.475.298 1.07.54 1.807 1.274 3.837.073 7.292-.737 9.425z"/><path opacity=".5" fill="#333" d="M514.176 479.538c-3.26-2.077-6.464-2.887-9.603-4.955-1.938-1.267-4.64-4.47-6.893-7.162-.438 4.332-1.686 6.148-3.26 7.35-3.195 2.515-5.207 3.26-7.963 4.77-2.338 1.256-14.958 8.726-14.958 24.913 0 5.17 1.387 9.91 3.77 13.96 5.077 8.635 14.68 14.158 24.97 14.158 15.126 0 28.24-10.98 28.24-27.614 0-9.127-3.707-15.526-7.386-19.633-3.016-3.382-6.015-5.217-6.918-5.785zm7.627 7.34c4.117 5.15 6.213 11.23 6.213 18.077 0 3.968-.755 7.712-2.245 11.148-1.414 3.25-3.444 6.13-6.053 8.56-5.15 4.806-12.062 7.45-19.475 7.45-3.67 0-7.265-.698-10.692-2.086-3.372-1.36-6.398-3.297-9.016-5.774-5.532-5.225-8.57-12.257-8.57-19.8 0-6.716 2.18-12.695 6.483-17.753 3.288-3.865 6.836-6.007 8.196-6.743.67-.363 1.285-.69 1.89-.997 1.892-.97 3.68-1.89 6.14-3.818 1.312-.997 2.71-2.58 3.305-6.585 2.077 2.468 4.48 5.234 6.314 6.426 1.63 1.08 3.307 1.835 4.918 2.562 1.527.69 3.11 1.406 4.676 2.403l.056.037c4.62 2.84 7.06 5.896 7.86 6.892z"/><path opacity=".5" fill="#fff" d="M497.98 468.678c.874 2.58.753 3.893.753 4.452 0 .56-.307 2.077-1.313 2.832-.438.317-.568.568-.568.624 0 .25.568.438.568 1.006 0 .69-.317 2.077-3.642 5.393-3.325 3.316-8.103 6.278-11.8 8.103-3.698 1.826-5.468 1.686-5.97.81s.185-2.83 2.514-5.392l9.667-6.278 9.164-6.398.503-2.44"/><path fill="#fff" d="M497.98 468.613c-.57 4.145-1.826 5.393-3.512 6.715-2.83 2.133-5.588 3.446-6.212 3.763-1.63.82-7.535 4.08-10.608 8.784-.94 1.444 0 2.012.186 2.133.187.12 2.33.372 6.9-2.385 4.574-2.757 6.595-4.387 9.175-7.078 1.377-1.444 1.573-2.263 1.573-2.636 0-.438-.316-.624-.82-.754-.25-.065-.316-.187 0-.373.317-.186 1.622-.82 1.938-1.07.318-.25 1.827-1.257 1.882-2.887.065-1.63-.056-2.766-.503-4.21zm-14.112 45.628c.065-4.898 4.648-9.472 10.422-9.536 7.348-.065 12.424 7.283 16.13 7.208 3.14-.064 9.166-6.212 12.118-6.212 3.14 0 4.014 3.26 4.014 5.206 0 1.938-.623 5.458-2.133 7.656-1.51 2.198-2.44 3.008-4.2 2.888-2.264-.187-6.78-7.21-9.67-7.35-3.64-.12-11.547 7.6-17.75 7.6-3.763 0-4.9-.567-6.147-1.378-1.92-1.312-2.85-3.315-2.785-6.08z"/></svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -0,0 +1,52 @@
{#
/**
* @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.
* - module: The module that provided this block plugin.
* - cache: The cache settings.
* - Block plugin specific settings will also be stored here.
* - block - The full block entity, including:
* - label_hidden: The hidden block title value if the block was
* configured to hide the title ('label' is empty in this case).
* - module: The module that generated the block.
* - delta: An ID for the block, unique within each module.
* - region: The block region embedding the current block.
* - content: The content of this block.
* - attributes: A list HTML attributes populated by modules, intended to
* be added to the main container tag of this template. Includes:
* - id: A valid HTML ID and guaranteed unique.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
*
* @see template_preprocess_block()
* @see search_preprocess_block()
*/
#}
{%
set classes = [
'block',
'block-search',
'container-inline',
]
%}
<div{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if label %}
<h2{{ title_attributes }}>{{ label }}</h2>
{% endif %}
{{ title_suffix }}
{% block content %}
{{ content }}
{% endblock %}
</div>

View file

@ -0,0 +1,30 @@
{% extends "block.html.twig" %}
{#
/**
* @file
* Theme override for a branding block.
*
* Each branding element variable (logo, name, slogan) is only available if
* enabled in the block configuration.
*
* Available variables:
* - site_logo: Logo for site as defined in Appearance or theme settings.
* - site_name: Name for site as defined in Site information settings.
* - site_slogan: Slogan for site as defined in Site information settings.
*/
#}
{% block content %}
{% if site_logo %}
<a href="{{ url('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo">
<img src="{{ site_logo }}" alt="{{ 'Home'|t }}" />
</a>
{% endif %}
{% if site_name %}
<div class="site-name">
<a href="{{ url('<front>') }}" title="{{ 'Home'|t }}" rel="home">{{ site_name }}</a>
</div>
{% endif %}
{% if site_slogan %}
<div class="site-slogan">{{ site_slogan }}</div>
{% endif %}
{% endblock %}

View file

@ -0,0 +1,63 @@
{#
/**
* @file
* Theme override for a menu block.
*
* Available variables:
* - plugin_id: The ID of the block implementation.
* - label: The configured label of the block if visible.
* - configuration: A list of the block's configuration values.
* - label: The configured label for the block.
* - label_display: The display settings for the label.
* - module: The module that provided this block plugin.
* - cache: The cache settings.
* - Block plugin specific settings will also be stored here.
* - block - The full block entity.
* - label_hidden: The hidden block title value if the block was
* configured to hide the title ('label' is empty in this case).
* - module: The module that generated the block.
* - delta: An ID for the block, unique within each module.
* - region: The block region embedding the current block.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
* - title_attributes: HTML attributes for the title element.
* - content_attributes: HTML attributes for the content element.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
*
* Headings should be used on navigation menus that consistently appear on
* multiple pages. When this menu block's label is configured to not be
* displayed, it is automatically made invisible using the 'visually-hidden' CSS
* class, which still keeps it visible for screen-readers and assistive
* technology. Headings allow screen-reader and keyboard only users to navigate
* to or skip the links.
* See http://juicystudio.com/article/screen-readers-display-none.php and
* http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
*/
#}
{%
set classes = [
'block',
'block-menu',
'navigation',
'menu--' ~ derivative_plugin_id|clean_class,
]
%}
{% set heading_id = attributes.id ~ '-menu'|clean_id %}
<nav role="navigation" aria-labelledby="{{ heading_id }}"{{ attributes.addClass(classes)|without('role', 'aria-labelledby') }}>
{# Label. If not displayed, we still provide it for screen readers. #}
{% if not configuration.label_display %}
{% set title_attributes = title_attributes.addClass('visually-hidden') %}
{% endif %}
{{ title_prefix }}
<h2{{ title_attributes.setAttribute('id', heading_id) }}>{{ configuration.label }}</h2>
{{ title_suffix }}
{# Menu. #}
{% block content %}
{{ content }}
{% endblock %}
</nav>

View file

@ -0,0 +1,50 @@
{#
/**
* @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.
* - module: The module that provided this block plugin.
* - cache: The cache settings.
* - Block plugin specific settings will also be stored here.
* - block - The full block entity.
* - label_hidden: The hidden block title value if the block was
* configured to hide the title ('label' is empty in this case).
* - module: The module that generated the block.
* - delta: An ID for the block, unique within each module.
* - region: The block region embedding the current block.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
* - id: A valid HTML ID and guaranteed unique.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
*
* @see template_preprocess_block()
*/
#}
{%
set classes = [
'block',
'block-' ~ configuration.provider|clean_class,
]
%}
<div{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if label %}
<h2{{ title_attributes }}>{{ label }}</h2>
{% endif %}
{{ title_suffix }}
{% block content %}
{{ content }}
{% endblock %}
</div>

View file

@ -0,0 +1,21 @@
{#
/**
* @file
* Theme override to display a file form widget.
*
* Available variables:
* - element: Form element for the file upload.
* - attributes: HTML attributes for the containing element.
*
* @see template_preprocess_file_managed_file()
*/
#}
{%
set classes = [
'js-form-managed-file',
'form-managed-file',
]
%}
<div{{ attributes.addClass(classes) }}>
{{ element }}
</div>

View file

@ -0,0 +1,12 @@
{#
/**
* @file
* Theme override to display help text for file fields.
*
* Available variables:
* - descriptions: Lines of help text for uploading a file.
*
* @see template_preprocess_file_upload_help()
*/
#}
{{ descriptions|safe_join('<br />') }}

View file

@ -0,0 +1,14 @@
{#
/**
* @file
* Theme override to display a multi file form widget.
*
* Available variables:
* - table: Table of previously uploaded files.
* - element: The form element for uploading another file.
*
* @see template_preprocess_file_widget_multiple()
*/
#}
{{ table }}
{{ element }}

View file

@ -0,0 +1,15 @@
{#
/**
* @file
* Theme override to display a file widget.
*
* Available variables:
* - element: Form element for the managed file.
* - attributes: Remaining HTML attributes for the containing element.
*
* @see template_preprocess_file_widget()
*/
#}
<div{{ attributes }}>
{{ element }}
</div>

View file

@ -0,0 +1,18 @@
{#
/**
* @file
* Theme override for a filter caption.
*
* Returns HTML for a captioned image, audio, video or other tag.
*
* Available variables
* - string node: The complete HTML tag whose contents are being captioned.
* - string tag: The name of the HTML tag whose contents are being captioned.
* - string caption: The caption text.
* - string classes: The classes of the captioned HTML tag.
*/
#}
<figure class="caption caption-{{ tag }}{%- if classes %} {{ classes }}{%- endif %}">
{{ node }}
<figcaption>{{ caption }}</figcaption>
</figure>

View file

@ -0,0 +1,29 @@
{#
/**
* @file
* Theme override for guidelines for a text format.
*
* Available variables:
* - format: Contains information about the current text format, including the
* following:
* - name: The name of the text format, potentially unsafe and needs to be
* escaped.
* - format: The machine name of the text format, e.g. 'basic_html'.
* - attributes: HTML attributes for the containing element.
* - tips: Descriptions and a CSS ID in the form of 'module-name/filter-id'
* (only used when 'long' is TRUE) for each filter in one or more text
* formats.
*
* @see template_preprocess_filter_tips()
*/
#}
{%
set classes = [
'filter-guidelines-item',
'filter-guidelines-' ~ format.id,
]
%}
<div{{ attributes.addClass(classes) }}>
<h4 class="label">{{ format.label }}</h4>
{{ tips }}
</div>

View file

@ -0,0 +1,61 @@
{#
/**
* @file
* Theme override for a set of filter tips.
*
* Available variables:
* - tips: Descriptions and a CSS ID in the form of 'module-name/filter-id'
* (only used when 'long' is TRUE) for each filter in one or more text
* formats.
* - long: A flag indicating whether the passed-in filter tips contain extended
* explanations, i.e. intended to be output on the path 'filter/tips'
* (TRUE), or are in a short format, i.e. suitable to be displayed below a
* form element. Defaults to FALSE.
* - multiple: A flag indicating there is more than one filter tip.
*
* @see template_preprocess_filter_tips()
*/
#}
{% if multiple %}
<h2>{{ 'Text Formats'|t }}</h2>
{% endif %}
{% if tips|length %}
{% if multiple %}
<div class="compose-tips">
{% endif %}
{% for name, tip in tips %}
{% if multiple %}
{%
set tip_classes = [
'filter-type',
'filter-' ~ name|clean_class,
]
%}
<div{{ tip.attributes.addClass(tip_classes) }}>
<h3>{{ tip.name }}</h3>
{% endif %}
{% if tip.list|length %}
<ul class="tips">
{% for item in tip.list %}
{%
set item_classes = [
long ? 'filter-' ~ item.id|replace({'/': '-'}),
]
%}
<li{{ item.attributes.addClass(item_classes) }}>{{ item.tip }}</li>
{% endfor %}
</ul>
{% endif %}
{% if multiple %}
</div>
{% endif %}
{% endfor %}
{% if multiple %}
</div>
{% endif %}
{% endif %}

View file

@ -0,0 +1,23 @@
{#
/**
* @file
* Theme override for an image field widget.
*
* Available variables:
* - attributes: HTML attributes for the containing element.
* - data: Render elements of the image widget.
*
* @see template_preprocess_image_widget()
*/
#}
<div{{ attributes }}>
{% if data.preview %}
<div class="image-preview">
{{ data.preview }}
</div>
{% endif %}
<div class="image-widget-data">
{# Render widget data without the image preview that was output already. #}
{{ data|without('preview') }}
</div>
</div>

View file

@ -0,0 +1,30 @@
{#
/**
* @file
* Theme override to list node types available for adding content.
*
* This list is displayed on the Add content admin page.
*
* Available variables:
* - types: A list of content types, each with the following properties:
* - add_link: Link to create a piece of content of this type.
* - description: Description of this type of content.
*
* @see template_preprocess_node_add_list()
*/
#}
{% if types is not empty %}
<dl class="node-type-list">
{% for type in types %}
<dt>{{ type.add_link }}</dt>
<dd>{{ type.description }}</dd>
{% endfor %}
</dl>
{% else %}
<p>
{% set create_content = path('node.type_add') %}
{% trans %}
You have not created any content types yet. Go to the <a href="{{ create_content }}">content type creation page</a> to add a new content type.
{% endtrans %}
</p>
{% endif %}

View file

@ -0,0 +1,28 @@
{#
/**
* @file
* Theme override for a node edit form.
*
* Two column template for the node add/edit form.
*
* This template will be used when a node edit form specifies 'node_edit_form'
* as its #theme callback. Otherwise, by default, node add/edit forms will be
* themed by form.html.twig.
*
* Available variables:
* - form: The node add/edit form.
*
* @see seven_form_node_form_alter()
*/
#}
<div class="layout-node-form clearfix">
<div class="layout-region layout-region-node-main">
{{ form|without('advanced', 'actions') }}
</div>
<div class="layout-region layout-region-node-secondary">
{{ form.advanced }}
</div>
<div class="layout-region layout-region-node-footer">
{{ form.actions }}
</div>
</div>

View file

@ -0,0 +1,26 @@
{#
/**
* @file
* Theme override for a text format-enabled form element.
*
* Available variables:
* - children: Text format element children.
* - description: Text format element description.
* - attributes: HTML attributes for the containing element.
* - aria_description: Flag for whether or not an ARIA description has been
* added to the description container.
*
* @see template_preprocess_text_format_wrapper()
*/
#}
<div class="js-text-format-wrapper text-format-wrapper form-item">
{{ children }}
{% if description %}
{%
set classes = [
aria_description ? 'description',
]
%}
<div{{ attributes.addClass(classes) }}>{{ description }}</div>
{% endif %}
</div>

View file

@ -0,0 +1,24 @@
{#
/**
* @file
* Theme override to present a feed item in an aggregator page.
*
* Available variables:
* - url: URL to the originating feed item.
* - title: Title of the feed item.
* - content: All field items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given element.
*
* @see template_preprocess_aggregator_item()
*/
#}
<article{{ attributes.addClass('aggregator-item') }}>
{{ title_prefix }}
<h3 class="feed-item-title">
<a href="{{ url }}">{{ title }}</a>
</h3>
{{ title_suffix }}
{{ content }}
</article>

View file

@ -0,0 +1,20 @@
{#
/**
* @file
* Theme override for a single node in a printer-friendly outline.
*
* Available variables:
* - node: Fully loaded node.
* - depth: Depth of the current node inside the outline.
* - title: Node title.
* - content: Node content.
* - children: All the child nodes recursively rendered through this file.
*
* @see template_preprocess_book_node_export_html()
*/
#}
<article id="node-{{ node.id }}" class="section-{{ depth }}">
<h1 class="book-heading">{{ title }}</h1>
{{ content }}
{{ children }}
</article>

View file

@ -0,0 +1,119 @@
{#
/**
* @file
* Theme override for comments.
*
* Available variables:
* - author: Comment author. Can be a link or plain text.
* - content: The content-related items for the comment display. Use
* {{ content }} to print them all, or print a subset such as
* {{ content.field_example }}. Use the following code to temporarily suppress
* the printing of a given child element:
* @code
* {{ content|without('field_example') }}
* @endcode
* - created: Formatted date and time for when the comment was created.
* Preprocess functions can reformat it by calling format_date() with the
* desired parameters on the 'comment.created' variable.
* - changed: Formatted date and time for when the comment was last changed.
* Preprocess functions can reformat it by calling format_date() with the
* desired parameters on the 'comment.changed' variable.
* - permalink: Comment permalink.
* - submitted: Submission information created from author and created
* during template_preprocess_comment().
* - user_picture: The comment author's profile picture.
* - status: Comment status. Possible values are:
* unpublished, published, or preview.
* - title: Comment title, linked to the comment.
* - attributes: HTML attributes for the containing element.
* The attributes.class may contain one or more of the following classes:
* - comment: The current template type; e.g., 'theming hook'.
* - by-anonymous: Comment by an unregistered user.
* - by-{entity-type}-author: Comment by the author of the parent entity,
* eg. by-node-author.
* - preview: When previewing a new or edited comment.
* The following applies only to viewers who are registered users:
* - unpublished: An unpublished comment visible only to administrators.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - content_attributes: List of classes for the styling of the comment content.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - threaded: A flag indicating whether the comments are threaded or not.
*
* These variables are provided to give context about the parent comment (if
* any):
* - comment_parent: Full parent comment entity (if any).
* - parent_author: Equivalent to author for the parent comment.
* - parent_created: Equivalent to created for the parent comment.
* - parent_changed: Equivalent to changed for the parent comment.
* - parent_title: Equivalent to title for the parent comment.
* - parent_permalink: Equivalent to permalink for the parent comment.
* - parent: A text string of parent comment submission information created from
* 'parent_author' and 'parent_created' during template_preprocess_comment().
* This information is presented to help screen readers follow lengthy
* discussion threads. You can hide this from sighted users using the class
* visually-hidden.
*
* These two variables are provided for context:
* - comment: Full comment object.
* - entity: Entity the comments are attached to.
*
* @see template_preprocess_comment()
*/
#}
{% if threaded %}
{{ attach_library('classy/drupal.comment.threaded') }}
{% endif %}
{%
set classes = [
'comment',
status != 'published' ? status,
comment.owner.anonymous ? 'by-anonymous',
author_id and author_id == commented_entity.getOwnerId() ? 'by-' ~ commented_entity.getEntityTypeId() ~ '-author',
'clearfix',
]
%}
<article{{ attributes.addClass(classes) }}>
{% if title %}
{{ title_prefix }}
{% endif %}
{#
Hide the "new" indicator by default, let a piece of JavaScript ask
the server which comments are new for the user. Rendering the final
"new" indicator here would break the render cache.
#}
<mark class="hidden" data-comment-timestamp="{{ new_indicator_timestamp }}"></mark>
{% if title %}
<h3{{ title_attributes }}>{{ title }}</h3>
{{ title_suffix }}
{% endif %}
<footer>
{{ user_picture }}
<p class="submitted">{{ submitted }}</p>
{#
Indicate the semantic relationship between parent and child comments
for accessibility. The list is difficult to navigate in a screen
reader without this information.
#}
{% if parent %}
<p class="parent visually-hidden">{{ parent }}</p>
{% endif %}
{{ permalink }}
</footer>
<div{{ content_attributes.addClass('content') }}>
{{ content|without('links') }}
</div>
{% if content.links %}
{{ content.links }}
{% endif %}
</article>

View file

@ -0,0 +1,20 @@
{#
/**
* @file
* Theme override for a marker for new or updated content.
*
* Available variables:
* - status: Number representing the marker status to display. Use the constants
* below for comparison:
* - MARK_NEW
* - MARK_UPDATED
* - MARK_READ
*/
#}
{% if logged_in %}
{% if status is constant('MARK_NEW') %}
<span class="marker">{{ 'new'|t }}</span>
{% elseif status is constant('MARK_UPDATED') %}
<span class="marker">{{ 'updated'|t }}</span>
{% endif %}
{% endif %}

View file

@ -0,0 +1,108 @@
{#
/**
* @file
* Theme override to display a node.
*
* Available variables:
* - node: Full node entity.
* - id: The node ID.
* - bundle: The type of the node, for example, "page" or "article".
* - authorid: The user ID of the node author.
* - createdtime: Time the node was published formatted in Unix timestamp.
* - changedtime: Time the node was changed formatted in Unix timestamp.
* - label: The title of the node.
* - content: All node items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given child element.
* - author_picture: The node author user entity, rendered using the "compact"
* view mode.
* - metadata: Metadata for this node.
* - date: Themed creation date field.
* - author_name: Themed author name field.
* - url: Direct URL of the current node.
* - display_submitted: Whether submission information should be displayed.
* - attributes: HTML attributes for the containing element.
* The attributes.class element may contain one or more of the following
* classes:
* - node: The current template type (also known as a "theming hook").
* - node--type-[type]: The current node type. For example, if the node is an
* "Article" it would result in "node--type-article". Note that the machine
* name will often be in a short form of the human readable label.
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
* teaser would result in: "node--view-mode-teaser", and
* full: "node--view-mode-full".
* The following are controlled through the node publishing options.
* - node--promoted: Appears on nodes promoted to the front page.
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
* teaser listings.
* - node--unpublished: Appears on unpublished nodes visible only to site
* admins.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: Same as attributes, except applied to the main
* content tag that appears in the template.
* - author_attributes: Same as attributes, except applied to the author of
* the node tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - view_mode: View mode; for example, "teaser" or "full".
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
* - readmore: Flag for more state. Will be true if the teaser content of the
* node cannot hold the main body content.
* - logged_in: Flag for authenticated user status. Will be true when the
* current user is a logged-in member.
* - is_admin: Flag for admin user status. Will be true when the current user
* is an administrator.
*
* @see template_preprocess_node()
*
* @todo Remove the id attribute (or make it a class), because if that gets
* rendered twice on a page this is invalid CSS for example: two lists
* in different view modes.
*/
#}
{%
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,
]
%}
<article{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if not page %}
<h2{{ title_attributes }}>
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
</h2>
{% endif %}
{{ title_suffix }}
{% if display_submitted %}
<footer class="node__meta">
{{ author_picture }}
<div{{ author_attributes.addClass('node__submitted') }}>
{% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
{{ metadata }}
</div>
</footer>
{% endif %}
<div{{ content_attributes.addClass('node__content') }}>
{{ content|without('links') }}
</div>
{% if content.links %}
<div class="node__links">
{{ content.links }}
</div>
{% endif %}
</article>

View file

@ -0,0 +1,71 @@
{#
/**
* @file
* Theme override for displaying a single search result.
*
* This template renders a single search result. The list of results is
* rendered using '#theme' => 'item_list', with suggestions of:
* - item_list__search_results__(plugin_id)
* - item_list__search_results
*
* Available variables:
* - url: URL of the result.
* - title: Title of the result.
* - snippet: A small preview of the result. Does not apply to user searches.
* - info: String of all the meta information ready for print. Does not apply
* to user searches.
* - plugin_id: The machine-readable name of the plugin being executed,such
* as "node_search" or "user_search".
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - info_split: Contains same data as info, but split into separate parts.
* - info_split.type: Node type (or item type string supplied by module).
* - info_split.user: Author of the node linked to users profile. Depends
* on permission.
* - info_split.date: Last update of the node. Short formatted.
* - info_split.comment: Number of comments output as "% comments", %
* being the count. (Depends on comment.module).
* @todo The info variable needs to be made drillable and each of these sub
* items should instead be within info and renamed info.foo, info.bar, etc.
*
* Other variables:
* - title_attributes: HTML attributes for the title.
* - content_attributes: HTML attributes for the content.
*
* Since info_split is keyed, a direct print of the item is possible.
* This array does not apply to user searches so it is recommended to check
* for its existence before printing. The default keys of 'type', 'user' and
* 'date' always exist for node searches. Modules may provide other data.
* @code
* {% if (info_split.comment) %}
* <span class="info-comment">
* {{ info_split.comment }}
* </span>
* {% endif %}
* @endcode
*
* To check for all available data within info_split, use the code below.
* @code
* <pre>
* {{ dump(info_split) }}
* </pre>
* @endcode
*
* @see template_preprocess_search_result()
*/
#}
{{ title_prefix }}
<h3{{ title_attributes.addClass('search-result__title') }}>
<a href="{{ url }}">{{ title }}</a>
</h3>
{{ title_suffix }}
<div class="search-result__snippet-info">
{% if snippet %}
<p{{ content_attributes.addClass('search-result__snippet') }}>{{ snippet }}</p>
{% endif %}
{% if info %}
<p class="search-result__info">{{ info }}</p>
{% endif %}
</div>

View file

@ -0,0 +1,41 @@
{#
/**
* @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()
*/
#}
{%
set classes = [
'taxonomy-term',
'vocabulary-' ~ term.bundle|clean_class,
]
%}
<div{{ attributes.setAttribute('id', 'taxonomy-term-' ~ term.id).addClass(classes) }}>
{{ title_prefix }}
{% if not page %}
<h2><a href="{{ url }}">{{ name }}</a></h2>
{% endif %}
{{ title_suffix }}
<div class="content">
{{ content }}
</div>
</div>

View file

@ -0,0 +1,29 @@
{#
/**
* @file
* Theme override to present an aggregator feed.
*
* The contents are rendered above feed listings when browsing source feeds.
* For example, "example.com/aggregator/sources/1".
*
* Available variables:
* - title: Title of the feed item.
* - content: All field items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given element.
*
* @see template_preprocess_aggregator_feed()
*/
#}
<div{{ attributes.addClass('aggregator-feed') }}>
{{ title_prefix }}
{% if not full %}
<h2{{ title_attributes }}>{{ title }}</h2>
{% endif %}
{{ title_suffix }}
{{ content }}
</div>

View file

@ -0,0 +1,30 @@
{#
/**
* @file
* Theme override to display a status icon for a forum post.
*
* Available variables:
* - attributes: HTML attributes to be applied to the wrapper element.
* - class: HTML classes that determine which icon to display. May be one of
* 'hot', 'hot-new', 'new', 'default', 'closed', or 'sticky'.
* - title: Text alternative for the forum icon.
* - icon_title: Text alternative for the forum icon, same as above.
* - new_posts: '1' when this topic contains new posts, otherwise '0'.
* - first_new: '1' when this is the first topic with new posts, otherwise '0'.
* - icon_status: Indicates which status icon should be used.
*
* @see template_preprocess_forum_icon()
*/
#}
{%
set classes = [
'forum__icon',
'forum__topic-status--' ~ icon_status,
]
%}
<div{{ attributes.addClass(classes) }}>
{% if first_new -%}
<a id="new"></a>
{%- endif %}
<span class="visually-hidden">{{ icon_title }}</span>
</div>

View file

@ -0,0 +1,79 @@
{#
/**
* @file
* Theme override to display a list of forums and containers.
*
* Available variables:
* - forums: A collection of forums and containers to display. It is keyed to
* the numeric IDs of all child forums and containers. Each forum in forums
* contains:
* - is_container: A flag indicating if the forum can contain other
* forums. Otherwise, the forum can only contain topics.
* - depth: How deep the forum is in the current hierarchy.
* - zebra: 'even' or 'odd', used for row class.
* - icon_class: 'default' or 'new', used for forum icon class.
* - icon_title: Text alternative for the forum icon.
* - name: The name of the forum.
* - link: The URL to link to this forum.
* - description: The description field for the forum, containing:
* - value: The descriptive text for the forum.
* - new_topics: A flag indicating if the forum contains unread posts.
* - new_url: A URL to the forum's unread posts.
* - new_text: Text for the above URL, which tells how many new posts.
* - old_topics: A count of posts that have already been read.
* - num_posts: The total number of posts in the forum.
* - last_reply: Text representing the last time a forum was posted or
* commented in.
* - forum_id: Forum ID for the current forum. Parent to all items within the
* forums array.
*
* @see template_preprocess_forum_list()
*/
#}
<table id="forum-{{ forum_id }}">
<thead>
<tr>
<th>{{ 'Forum'|t }}</th>
<th>{{ 'Topics'|t }}</th>
<th>{{ 'Posts'|t }}</th>
<th>{{ 'Last post'|t }}</th>
</tr>
</thead>
<tbody>
{% for child_id, forum in forums %}
<tr id="forum-list-{{ child_id }}" class="{{ forum.zebra }}">
<td {% if forum.is_container == true -%}
colspan="4" class="container"
{%- else -%}
class="forum-list__forum"
{%- endif -%}>
{#
Enclose the contents of this cell with X divs, where X is the
depth this forum resides at. This will allow us to use CSS
left-margin for indenting.
#}
{% for i in 1..forum.depth if forum.depth > 0 %}<div class="indented">{% endfor %}
<div class="forum__icon forum-status-{{ forum.icon_class }}" title="{{ forum.icon_title }}">
<span class="visually-hidden">{{ forum.icon_title }}</span>
</div>
<div class="name"><a href="{{ forum.link }}">{{ forum.label }}</a></div>
{% if forum.description.value %}
<div class="forum__description">{{ forum.description.value }}</div>
{% endif %}
{% for i in 1..forum.depth if forum.depth > 0 %}</div>{% endfor %}
</td>
{% if forum.is_container == false %}
<td class="forum__topics">
{{ forum.num_topics }}
{% if forum.new_topics == true %}
<br />
<a href="{{ forum.new_url }}">{{ forum.new_text }}</a>
{% endif %}
</td>
<td class="forum__posts">{{ forum.num_posts }}</td>
<td class="forum__last-reply">{{ forum.last_reply }}</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>

Some files were not shown because too many files have changed in this diff Show more