From 8cca505461fc6f0638e99fa55a526745f919e892 Mon Sep 17 00:00:00 2001 From: pakmanlh Date: Sat, 18 Oct 2014 13:41:46 +0200 Subject: [PATCH] Task #28 - Afegit nou theme de Drupal.cat. --- drupalcat/drupalcat.info.yml | 2 +- drupalcat/themes/drupalcat/Gemfile | 3 + drupalcat/themes/drupalcat/Gemfile.lock | 15 + drupalcat/themes/drupalcat/README.md | 21 + drupalcat/themes/drupalcat/color/color.inc | 126 + drupalcat/themes/drupalcat/color/preview.css | 183 ++ drupalcat/themes/drupalcat/color/preview.html | 65 + drupalcat/themes/drupalcat/color/preview.js | 45 + .../config/install/drupalcat.settings.yml | 4 + .../config/schema/drupalcat.schema.yml | 11 + .../themes/drupalcat/css/ckeditor-iframe.css | 35 + drupalcat/themes/drupalcat/css/colors.css | 58 + drupalcat/themes/drupalcat/css/layout.css | 232 ++ .../themes/drupalcat/css/maintenance-page.css | 74 + drupalcat/themes/drupalcat/css/print.css | 46 + drupalcat/themes/drupalcat/css/style.css | 2186 +++++++++++++++++ .../drupalcat/drupalcat.breakpoints.yml | 18 + drupalcat/themes/drupalcat/drupalcat.info.yml | 34 + .../themes/drupalcat/drupalcat.libraries.yml | 16 + drupalcat/themes/drupalcat/drupalcat.theme | 163 ++ drupalcat/themes/drupalcat/images/add.png | Bin 0 -> 94 bytes drupalcat/themes/drupalcat/images/buttons.png | Bin 0 -> 831 bytes .../drupalcat/images/comment-arrow-rtl.gif | Bin 0 -> 97 bytes .../themes/drupalcat/images/comment-arrow.gif | Bin 0 -> 97 bytes .../themes/drupalcat/images/required.svg | 1 + .../themes/drupalcat/images/tabs-border.png | Bin 0 -> 83 bytes drupalcat/themes/drupalcat/logo.png | Bin 0 -> 21808 bytes drupalcat/themes/drupalcat/sass/_config.scss | 47 + drupalcat/themes/drupalcat/sass/_init.scss | 6 + drupalcat/themes/drupalcat/screenshot.png | Bin 0 -> 19221 bytes .../block--system-branding-block.html.twig | 34 + .../block--system-menu-block.html.twig | 27 + .../drupalcat/templates/block.html.twig | 56 + .../drupalcat/templates/comment.html.twig | 132 + .../field--taxonomy-term-reference.html.twig | 29 + .../templates/maintenance-page.html.twig | 45 + .../themes/drupalcat/templates/node.html.twig | 111 + .../themes/drupalcat/templates/page.html.twig | 202 ++ 38 files changed, 4026 insertions(+), 1 deletion(-) create mode 100644 drupalcat/themes/drupalcat/Gemfile create mode 100644 drupalcat/themes/drupalcat/Gemfile.lock create mode 100644 drupalcat/themes/drupalcat/README.md create mode 100644 drupalcat/themes/drupalcat/color/color.inc create mode 100644 drupalcat/themes/drupalcat/color/preview.css create mode 100644 drupalcat/themes/drupalcat/color/preview.html create mode 100644 drupalcat/themes/drupalcat/color/preview.js create mode 100644 drupalcat/themes/drupalcat/config/install/drupalcat.settings.yml create mode 100644 drupalcat/themes/drupalcat/config/schema/drupalcat.schema.yml create mode 100644 drupalcat/themes/drupalcat/css/ckeditor-iframe.css create mode 100644 drupalcat/themes/drupalcat/css/colors.css create mode 100644 drupalcat/themes/drupalcat/css/layout.css create mode 100644 drupalcat/themes/drupalcat/css/maintenance-page.css create mode 100644 drupalcat/themes/drupalcat/css/print.css create mode 100644 drupalcat/themes/drupalcat/css/style.css create mode 100644 drupalcat/themes/drupalcat/drupalcat.breakpoints.yml create mode 100644 drupalcat/themes/drupalcat/drupalcat.info.yml create mode 100644 drupalcat/themes/drupalcat/drupalcat.libraries.yml create mode 100644 drupalcat/themes/drupalcat/drupalcat.theme create mode 100644 drupalcat/themes/drupalcat/images/add.png create mode 100644 drupalcat/themes/drupalcat/images/buttons.png create mode 100644 drupalcat/themes/drupalcat/images/comment-arrow-rtl.gif create mode 100644 drupalcat/themes/drupalcat/images/comment-arrow.gif create mode 100644 drupalcat/themes/drupalcat/images/required.svg create mode 100644 drupalcat/themes/drupalcat/images/tabs-border.png create mode 100644 drupalcat/themes/drupalcat/logo.png create mode 100644 drupalcat/themes/drupalcat/sass/_config.scss create mode 100644 drupalcat/themes/drupalcat/sass/_init.scss create mode 100644 drupalcat/themes/drupalcat/screenshot.png create mode 100644 drupalcat/themes/drupalcat/templates/block--system-branding-block.html.twig create mode 100644 drupalcat/themes/drupalcat/templates/block--system-menu-block.html.twig create mode 100644 drupalcat/themes/drupalcat/templates/block.html.twig create mode 100644 drupalcat/themes/drupalcat/templates/comment.html.twig create mode 100644 drupalcat/themes/drupalcat/templates/field--taxonomy-term-reference.html.twig create mode 100644 drupalcat/themes/drupalcat/templates/maintenance-page.html.twig create mode 100644 drupalcat/themes/drupalcat/templates/node.html.twig create mode 100644 drupalcat/themes/drupalcat/templates/page.html.twig diff --git a/drupalcat/drupalcat.info.yml b/drupalcat/drupalcat.info.yml index f50d0bd..d9d9066 100644 --- a/drupalcat/drupalcat.info.yml +++ b/drupalcat/drupalcat.info.yml @@ -10,5 +10,5 @@ dependencies: - dblog - toolbar themes: - - stark + - drupalcat - seven diff --git a/drupalcat/themes/drupalcat/Gemfile b/drupalcat/themes/drupalcat/Gemfile new file mode 100644 index 0000000..b7b1ed4 --- /dev/null +++ b/drupalcat/themes/drupalcat/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' +gem "sass", "3.2.9" +gem "bourbon" diff --git a/drupalcat/themes/drupalcat/Gemfile.lock b/drupalcat/themes/drupalcat/Gemfile.lock new file mode 100644 index 0000000..61913c2 --- /dev/null +++ b/drupalcat/themes/drupalcat/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + bourbon (3.2.3) + sass (~> 3.2) + thor + sass (3.2.9) + thor (0.19.1) + +PLATFORMS + ruby + +DEPENDENCIES + bourbon + sass (= 3.2.9) diff --git a/drupalcat/themes/drupalcat/README.md b/drupalcat/themes/drupalcat/README.md new file mode 100644 index 0000000..a40ad30 --- /dev/null +++ b/drupalcat/themes/drupalcat/README.md @@ -0,0 +1,21 @@ +Drupal.cat theme instruccions d'ús: + +Primer s'ha de tenir instal·lada la gema Bundle. +«gem install bundle» + +Després ens hem de assegurar de tenir totes les gemes necessàries definides a l'arxiu Gemfile +«bundle install» + +Finalment per generar els arxius CSS s'ha de fer servir la instrucció: +«sass --watch sass:css» + +Documentació: + + - Com fer servir breakpoints: + http://robots.thoughtbot.com/version-1-0-of-bourbon-neat-a-sass-based-responsive + + - Bourbon: + bourbon.io/docs/ + + - Neat + http://thoughtbot.github.io/neat-docs/latest/ diff --git a/drupalcat/themes/drupalcat/color/color.inc b/drupalcat/themes/drupalcat/color/color.inc new file mode 100644 index 0000000..251c0fc --- /dev/null +++ b/drupalcat/themes/drupalcat/color/color.inc @@ -0,0 +1,126 @@ + array('logo' => theme_get_setting('logo.url', 'bartik'))); +$js_attached['#attached']['js'][] = array('data' => $js, 'type' => 'setting'); +drupal_render($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.png', + ), + + // 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_css' => 'color/preview.css', + 'preview_js' => 'color/preview.js', + 'preview_html' => 'color/preview.html', +); diff --git a/drupalcat/themes/drupalcat/color/preview.css b/drupalcat/themes/drupalcat/color/preview.css new file mode 100644 index 0000000..38c694e --- /dev/null +++ b/drupalcat/themes/drupalcat/color/preview.css @@ -0,0 +1,183 @@ +/* ---------- Preview Styles ----------- */ +.js #preview { + clear: both; + float: none !important; +} +#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; +} +#preview-header { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + position: relative; +} +#preview-logo { + float: left; + padding: 15px 15px 15px 10px; +} +#preview-site-name { + color: #686868; + font-weight: normal; + font-size: 1.821em; + line-height: 1; + margin-bottom: 30px; + margin-left: 15px; + padding-top: 34px; +} +#preview-main-menu { + clear: both; + padding: 0 15px 3px; +} +#preview-main-menu-links a { + color: #d9d9d9; + padding: 0.6em 1em 0.4em; +} +#preview-main-menu-links { + font-size: 0.929em; + margin: 0; + padding: 0; +} +#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; +} +#preview-main-menu-links a:hover, +#preview-main-menu-links a:focus { + background: #eee; + background: rgba(255, 255, 255, 0.95); + text-decoration: none; + cursor: pointer; +} +#preview-main-menu-links li a.active { + background: #fff; + border-bottom: none; +} +#preview-main-menu-links li { + display: inline; + list-style-type: none; + padding: 0.6em 0 0.4em; +} +#preview-sidebar, +#preview-content { + display: inline; + float: left; + position: relative; +} +#preview-sidebar { + margin-left: 15px; + width: 210px; +} +#preview-content { + margin-left: 30px; + width: 26.5em; +} +#preview-sidebar .preview-block { + border: 1px solid; + margin: 20px 0; + padding: 15px 20px; +} +#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; +} +#preview .preview-block .preview-content { + margin-top: 1em; +} +#preview .preview-block-menu .preview-content, +#preview .preview-block-menu .preview-content ul { + margin-top: 0; +} +#preview-main { + margin-bottom: 40px; + margin-top: 20px; +} +#preview-page-title { + font-size: 2em; + font-weight: normal; + line-height: 1; + margin: 1em 0 0.5em; +} +#preview-footer-wrapper { + color: #c0c0c0; + color: rgba(255, 255, 255, 0.65); + display: block !important; + font-size: 0.857em; + padding: 20px 20px 25px; +} +#preview-footer-wrapper a { + color: #fcfcfc; + color: rgba(255, 255, 255, 0.8); +} +#preview-footer-wrapper a:hover, +#preview-footer-wrapper a:focus { + color: #fefefe; + color: rgba(255, 255, 255, 0.95); + text-decoration: underline; +} +#preview-footer-wrapper .preview-footer-column { + display: inline; + float: left; + padding: 0 10px; + position: relative; + width: 220px; +} +#preview-footer-wrapper .preview-block { + border: 1px solid #444; + border-color: rgba(255, 255, 255, 0.1); + margin: 20px 0; + padding: 10px; +} +#preview-footer-columns .preview-block-menu { + border: none; + margin: 0; + padding: 0; +} +#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; +} +#preview-footer-columns .preview-content { + margin-top: 0; +} +#preview-footer-columns .preview-content ul { + margin-left: 0; + padding-left: 0; +} +#preview-footer-columns .preview-content li { + list-style: none; + list-style-image: none; + margin: 0; + padding: 0; +} +#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; + text-indent: -15px; +} +#preview-footer-columns .preview-content li a:hover, +#preview-footer-columns .preview-content li a:focus { + background-color: #1f1f21; + background-color: rgba(255, 255, 255, 0.05); + text-decoration: none; +} diff --git a/drupalcat/themes/drupalcat/color/preview.html b/drupalcat/themes/drupalcat/color/preview.html new file mode 100644 index 0000000..ae9aa14 --- /dev/null +++ b/drupalcat/themes/drupalcat/color/preview.html @@ -0,0 +1,65 @@ +
+ +
+ +
Bartik
+ +
+ +
+
+
+

Etiam est risus

+
+ Maecenas id porttitor Ut enim ad minim veniam, quis nostrudfelis. + Laboris nisi ut aliquip ex ea. +
+
+
+
+

Lorem ipsum dolor

+
+
+ Sit amet, consectetur adipisicing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip ex ea + commodo consequat. Maecenas id porttitor Ut enim ad minim veniam, quis nostr udfelis. +
+
+
+
+ + + +
diff --git a/drupalcat/themes/drupalcat/color/preview.js b/drupalcat/themes/drupalcat/color/preview.js new file mode 100644 index 0000000..b9fb4d1 --- /dev/null +++ b/drupalcat/themes/drupalcat/color/preview.js @@ -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) { + $('#preview #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('#preview-logo'); + } + + // Solid background. + form.find('#preview').css('backgroundColor', $('#palette input[name="palette[bg]"]').val()); + + // Text preview. + form.find('#preview #preview-main h2, #preview .preview-content').css('color', form.find('#palette input[name="palette[text]"]').val()); + form.find('#preview #preview-content a').css('color', form.find('#palette input[name="palette[link]"]').val()); + + // Sidebar block. + form.find('#preview #preview-sidebar #preview-block').css('background-color', form.find('#palette input[name="palette[sidebar]"]').val()); + form.find('#preview #preview-sidebar #preview-block').css('border-color', form.find('#palette input[name="palette[sidebarborders]"]').val()); + + // Footer wrapper background. + form.find('#preview #preview-footer-wrapper', form).css('background-color', form.find('#palette input[name="palette[footer]"]').val()); + + // CSS3 Gradients. + var gradient_start = form.find('#palette input[name="palette[top]"]').val(); + var gradient_end = form.find('#palette input[name="palette[bottom]"]').val(); + + form.find('#preview #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('#preview #preview-site-name').css('color', form.find('#palette input[name="palette[titleslogan]"]').val()); + } + }; +})(jQuery, Drupal, drupalSettings); diff --git a/drupalcat/themes/drupalcat/config/install/drupalcat.settings.yml b/drupalcat/themes/drupalcat/config/install/drupalcat.settings.yml new file mode 100644 index 0000000..48877a3 --- /dev/null +++ b/drupalcat/themes/drupalcat/config/install/drupalcat.settings.yml @@ -0,0 +1,4 @@ +# @todo There is no UI yet for configuring this, but the setting is included +# here, because ConfigImportUITest requires a non-empty bartik.settings.yml +# file: https://drupal.org/node/2235901. +shortcut_module_link: false diff --git a/drupalcat/themes/drupalcat/config/schema/drupalcat.schema.yml b/drupalcat/themes/drupalcat/config/schema/drupalcat.schema.yml new file mode 100644 index 0000000..ea22629 --- /dev/null +++ b/drupalcat/themes/drupalcat/config/schema/drupalcat.schema.yml @@ -0,0 +1,11 @@ +# Schema for the configuration files of the drupalcat theme. + +bartik.settings: + type: theme_settings + label: 'drupalcat settings' + mapping: + # @todo Module-specific settings should be defined by the module: + # https://drupal.org/node/2235901. + shortcut_module_link: + type: boolean + label: 'Shortcut module link' diff --git a/drupalcat/themes/drupalcat/css/ckeditor-iframe.css b/drupalcat/themes/drupalcat/css/ckeditor-iframe.css new file mode 100644 index 0000000..892515b --- /dev/null +++ b/drupalcat/themes/drupalcat/css/ckeditor-iframe.css @@ -0,0 +1,35 @@ +/** + * @file + * Approximate Bartik's style in CKEditor instances on the Drupal back-end. + */ + +/* -------------- Captions -------------- */ + +.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; +} +[dir="rtl"] .caption-blockquote > figcaption { + text-align: right; +} diff --git a/drupalcat/themes/drupalcat/css/colors.css b/drupalcat/themes/drupalcat/css/colors.css new file mode 100644 index 0000000..f2ef534 --- /dev/null +++ b/drupalcat/themes/drupalcat/css/colors.css @@ -0,0 +1,58 @@ +/* ---------- Color Module Styles ----------- */ + +body { + color: #3b3b3b; +} +.comment .comment-arrow { + border-color: #ffffff; +} +#page, +#main-wrapper, +.region-primary-menu .menu li a.active, +.region-primary-menu .menu li .active-trail a { + background: #ffffff; +} +.tabs ul.primary li a.active { + background-color: #ffffff; +} +.tabs ul.primary li.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; +} +#page-wrapper, +#footer-wrapper { + background: #292929; +} +.region-header, +.region-header a, +.region-header li a.active, +#name-and-slogan, +.site-branding-block, +#name-and-slogan a, +.site-branding-block a, +.region-secondary-menu .menu li a { + color: #fffeff; +} diff --git a/drupalcat/themes/drupalcat/css/layout.css b/drupalcat/themes/drupalcat/css/layout.css new file mode 100644 index 0000000..91576dc --- /dev/null +++ b/drupalcat/themes/drupalcat/css/layout.css @@ -0,0 +1,232 @@ + +/* ---------- Basic Layout Styles ----------- */ + +html, +body, +#page { + height: 100%; +} +#page-wrapper { + min-height: 100%; +} +#header div.section, +#featured div.section, +#messages div.section, +#main, +#triptych, +#footer-columns, +#footer { + width: 100%; + max-width: 860px; + margin-left: auto; + margin-right: auto; +} +#header div.section { + position: relative; +} +.region-header { + float: right; /* LTR */ + margin: .5em 5px .75em; +} +[dir="rtl"] .region-header { + float: left; +} +.region-secondary-menu .block-menu { + width: 100%; + margin: 0 auto; +} +#main-wrapper { + min-height: 300px; +} +#content .section, +.sidebar .section { + padding: 0 15px; +} +.breadcrumb { + margin: 0 15px; +} +#footer-wrapper { + padding: 35px 0 30px; +} +#footer-wrapper .section { + box-sizing: border-box; + padding: 0 15px; +} +.region-triptych-first, +.region-triptych-middle, +.region-triptych-last { + box-sizing: border-box; + padding: 0 20px 0; +} +.region-footer-firstcolumn, +.region-footer-secondcolumn, +.region-footer-thirdcolumn, +.region-footer-fourthcolumn { + box-sizing: border-box; + padding: 0 10px; +} + +@media all and (min-width: 560px) and (max-width: 850px) { + + #sidebar-first, + .region-triptych-first, + .region-triptych-middle, + .region-triptych-last, + .region-footer-firstcolumn, + .region-footer-secondcolumn, + .region-footer-thirdcolumn, + .region-footer-fourthcolumn { + display: inline; + float: left; /* LTR */ + position: relative; + } + [dir="rtl"] #sidebar-first, + [dir="rtl"] .region-triptych-first, + [dir="rtl"] .region-triptych-middle, + [dir="rtl"] .region-triptych-last, + [dir="rtl"] .region-footer-firstcolumn, + [dir="rtl"] .region-footer-secondcolumn, + [dir="rtl"] .region-footer-thirdcolumn, + [dir="rtl"] .region-footer-fourthcolumn { + float: right; + } + #sidebar-first, + #sidebar-second { + width: 50%; + } + #sidebar-second { + margin-left: 50%; /* LTR */ + } + [dir="rtl"] #sidebar-second { + margin-right: 50%; + } + .one-sidebar #sidebar-first, + .one-sidebar #sidebar-second { + width: 100%; + } + .one-sidebar #sidebar-second { + margin-left: 0; /* LTR */ + } + [dir="rtl"] .one-sidebar #sidebar-second { + margin-right: 0; + } + .region-triptych-first, + .region-triptych-middle, + .region-triptych-last { + box-sizing: border-box; + padding: 20px 15px 30px; + width: 33%; + } + .region-triptych-middle { + padding: 20px 5px 30px; + } + .region-footer-firstcolumn, + .region-footer-secondcolumn { + box-sizing: border-box; + padding: 0 10px; + width: 50%; + } + .region-footer-thirdcolumn, + .region-footer-fourthcolumn { + box-sizing: border-box; + padding: 0 10px; + width: 50%; + } + .region-footer-thirdcolumn { + clear: both; + } +} + +@media all and (min-width: 851px) { + + #header div.section, + #featured div.section, + #messages div.section, + #main, + #triptych, + #footer-columns, + #footer { + max-width: 1290px; + } + #content, + #sidebar-first, + #sidebar-second, + .region-triptych-first, + .region-triptych-middle, + .region-triptych-last, + .region-footer-firstcolumn, + .region-footer-secondcolumn, + .region-footer-thirdcolumn, + .region-footer-fourthcolumn { + display: inline; + float: left; /* LTR */ + position: relative; + } + [dir="rtl"] #content, + [dir="rtl"] #sidebar-first, + [dir="rtl"] #sidebar-second, + [dir="rtl"] .region-triptych-first, + [dir="rtl"] .region-triptych-middle, + [dir="rtl"] .region-triptych-last, + [dir="rtl"] .region-footer-firstcolumn, + [dir="rtl"] .region-footer-secondcolumn, + [dir="rtl"] .region-footer-thirdcolumn, + [dir="rtl"] .region-footer-fourthcolumn { + float: right; + } + .layout-two-sidebars #content { + margin-left: 25%; + margin-right: 25%; + width: 50%; + } + .layout-one-sidebar #content { + width: 75%; + } + .layout-no-sidebars #content { + width: 100%; + } + .layout-sidebar-first #content { + margin-left: 25%; /* LTR */ + margin-right: 0; /* LTR */ + } + [dir="rtl"] .layout-sidebar-first #content { + margin-left: 0; + margin-right: 25%; + } + .layout-sidebar-second #content { + margin-right: 25%; /* LTR */ + margin-left: 0; /* LTR */ + } + [dir="rtl"] .layout-sidebar-second #content { + margin-right: 0; + margin-left: 25%; + } + #sidebar-first { + width: 25%; + margin-left: -100%; /* LTR */ + } + [dir="rtl"] #sidebar-first { + margin-right: -100%; + } + #sidebar-second { + width: 25%; + margin-left: -25%; /* LTR */ + clear: none; + } + [dir="rtl"] #sidebar-second { + margin-right: -25%; + } + .region-triptych-first, + .region-triptych-middle, + .region-triptych-last { + width: 33%; + } + .region-footer-firstcolumn, + .region-footer-secondcolumn, + .region-footer-thirdcolumn, + .region-footer-fourthcolumn { + box-sizing: border-box; + padding: 0 10px; + width: 25%; + } +} diff --git a/drupalcat/themes/drupalcat/css/maintenance-page.css b/drupalcat/themes/drupalcat/css/maintenance-page.css new file mode 100644 index 0000000..ce5c9f5 --- /dev/null +++ b/drupalcat/themes/drupalcat/css/maintenance-page.css @@ -0,0 +1,74 @@ +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; +} +.maintenance-page #header { + background-color: #fff; + background-image: none; +} +.maintenance-page #name-and-slogan { + margin-bottom: 50px; + margin-left: 0; + padding-top: 20px; + font-size: 90%; +} +.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; + } +} diff --git a/drupalcat/themes/drupalcat/css/print.css b/drupalcat/themes/drupalcat/css/print.css new file mode 100644 index 0000000..fbe386a --- /dev/null +++ b/drupalcat/themes/drupalcat/css/print.css @@ -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, +#footer-wrapper, +.tabs, +.add-or-remove-shortcuts { + display: none; +} +.one-sidebar #content, +.two-sidebars #content { + width: 100%; +} +#triptych-wrapper { + width: 960px; + margin: 0; + padding: 0; + border: none; +} +#triptych-first, #triptych-middle, #triptych-last { + width: 250px; +} + +/* ---------- Node Pages ---------- */ + +#comments .title, +#comments form, +.comment-forbidden { + display: none; +} diff --git a/drupalcat/themes/drupalcat/css/style.css b/drupalcat/themes/drupalcat/css/style.css new file mode 100644 index 0000000..c55134d --- /dev/null +++ b/drupalcat/themes/drupalcat/css/style.css @@ -0,0 +1,2186 @@ +/* ---------- Overall Specifications ---------- */ + +body { + line-height: 1.5; + font-size: 87.5%; + word-wrap: break-word; + margin: 0; + padding: 0; + border: 0; +} +a { + 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; +} +.field-type-image a, +h1 a, +h2 a, +[role*=banner] a, +.feed-icon, +.contextual-links a, +.toolbar a { + border-bottom: none !important; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 1.0em 0 0.5em; + font-weight: inherit; +} +h1 { + font-size: 1.357em; + color: #000; +} +h2 { + font-size: 1.143em; +} +h3 { + font-size: 1.092em; +} +h4 { + font-size: 1.05em; +} +h5 { + font-size: 0.889em; + text-transform: uppercase; + letter-spacing: 0.1em; +} +h6 { + font-size: 0.67em; + text-transform: uppercase; + letter-spacing: 0.1em; +} +p { + margin: 0 0 1.2em; +} +del { + text-decoration: line-through; +} + +/** + * The generic monospace font family is listed before Courier new to avoid a + * a bug in font-size rendering: + * http://meyerweb.com/eric/thoughts/2010/02/12/fixed-monospace-sizing + */ +code, +pre, +kbd, +samp, +var { + padding: 0 0.4em; + font-size: 0.857em; + font-family: Menlo, Consolas, "Andale Mono", "Lucida Console", "Nimbus Mono L", "DejaVu Sans Mono", monospace, "Courier New"; +} +code { + background-color: #f2f2f2; + background-color: rgba(40, 40, 0, 0.06); +} +pre code, +pre kbd, +pre samp, +pre var, +kbd kbd, +kbd samp, +code var { + font-size: 100%; + background-color: transparent; +} +pre code, +pre samp, +pre var { + padding: 0; +} +.description code { + font-size: 1em; +} +kbd { + background-color: #f2f2f2; + border: 1px outset #575757; + margin: 0 3px; + color: #666; + display: inline-block; + padding: 0 6px; + border-radius: 5px; +} +pre { + background-color: #f2f2f2; + background-color: rgba(40, 40, 0, 0.06); + margin: 10px 0; + overflow: hidden; + padding: 15px; + white-space: pre-wrap; +} + + +/* ------------------ Fonts ------------------ */ + +body, +#site-slogan, +.site-slogan, +#page .ui-widget, +.comment-form label, +.node-form label, +.node-form .description { + font-family: Georgia, "Times New Roman", Times, serif; +} +#header, +#footer-wrapper, +.skip-link, +ul.contextual-links, +ul.links, +ul.primary, +.pager__items, +div.field-type-taxonomy-term-reference, +div.messages, +.node__meta, +p.comment-time, +table, +.breadcrumb, +.link { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +input, +textarea, +select, +.form-button, +a.button, +button { + font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif; +} + +/* ------------------ Reset Styles ------------------ */ + +blockquote { + background: #f7f7f7; + border-left: 1px solid #bbb; + font-style: italic; + margin: 1.5em 10px; + padding: 0.5em 10px; +} +[dir="rtl"] blockquote { + border-left: none; + border-right: 4px solid #afafaf; +} +blockquote:before { + color: #bbb; + content: "\201C"; + font-size: 3em; + line-height: 0.1em; + margin-right: 0.2em; + vertical-align: -.4em; +} +[dir="rtl"] blockquote:before { + content: "\201D"; +} +blockquote:after { + color: #bbb; + content: "\201D"; + font-size: 3em; + line-height: 0.1em; + vertical-align: -.45em; +} +[dir="rtl"] blockquote:after { + content: "\201C"; +} +blockquote > p:first-child { + display: inline; +} +a.feed-icon { + display: inline-block; + padding: 15px 0 0 0; +} +img { + max-width: 100%; + height: auto; + border: 0; +} + +/* ------------------ Table Styles ------------------ */ + +table { + border: 0; + border-spacing: 0; + font-size: 0.857em; + margin: 10px 0; + width: 100%; +} +table table { + font-size: 1em; +} +#footer-wrapper 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; +} +#footer-wrapper tr td, +#footer-wrapper tr th { + border-color: #555; + border-color: rgba(255, 255, 255, 0.18); +} +table ul.links { + margin: 0; + padding: 0; + font-size: 1em; +} +table ul.links li { + padding: 0 1em 0 0; +} + +/* ------------------ List Styles ------------------ */ + +.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; +} +.contextual-region .contextual .contextual-links a { + font-size: 0.923em; + text-shadow: 0 0 0 !important; +} +.pager .pager__items { + padding: 0; +} +.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; +} +.pager__item--ellipsis { + padding: 10px 0; +} +.pager__item--last, +.pager__item--next { + padding: 10px 0 10px 10px; +} +ul.menu li { + margin: 0; +} +.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; +} +.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; +} +ul.tips { + padding: 0 0 0 1.25em; /* LTR */ +} +[dir="rtl"] ul.tips { + padding: 0 1.25em 0 0; +} + +/* ------------------ Header ------------------ */ +.skip-link, +.skip-link.visually-hidden.focusable { + left: 50%; + margin-left: -5.25em; + margin-top: 0; + position: absolute !important; + width: auto; + z-index: 50; +} +.skip-link, +.skip-link:link, +.skip-link:visited { + background: #444; + background: rgba(0, 0, 0, 0.6); + color: #fff; + display: inline-block; + font-size: 0.94em; + line-height: 1.7; + padding: 1px 10px 2px 10px; + text-decoration: none; + border-radius: 0 0 10px 10px; +} +.skip-link:hover, +.skip-link:active, +.skip-link:focus { + outline: 0; +} +#logo, +.site-logo { + float: left; /* LTR */ + padding-left: 5px; /* LTR */ +} +[dir="rtl"] #logo, +[dir="rtl"] .site-logo { + padding: 15px 10px 15px 15px; +} + +#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; +} + +#site-name, +.site-name { + font-size: 1.6em; + color: #686868; + line-height: 1; +} +h1#site-name, +h1.site-name { + margin: 0; +} +#site-name a, +.site-name a { + font-weight: normal; +} +#site-slogan, +.site-slogan { + 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; +} +.region-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; +} + +[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; +} + +/* --------------- 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 li { + 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 li a.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 */ +} +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 li { + height: 0; + overflow: hidden; +} +body:not(:target) .region-primary-menu .menu-toggle-target-show:target ~ .menu li { + height: auto; + overflow: visible; +} + +/* --------------- 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 li { + 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; +} + +/* ------------------- Main ------------------- */ + +#main { + margin-top: 20px; + margin-bottom: 40px; +} + +/* ----------------- Featured ----------------- */ + +#featured { + 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 h2 { + font-size: 1.2em; + line-height: 1; +} +#featured p { + margin: 0; + padding: 0; +} + +/* --------------- Highlighted ---------------- */ + +#highlighted { + border-bottom: 1px solid #d3d7d9; + font-size: 120%; +} + +/* ------------------- Help ------------------- */ + +.region-help { + border: 1px solid #d3d7d9; + padding: 0 1.5em; + margin-bottom: 30px; +} + +/* ----------------- Content ------------------ */ + +.content, +.node__content { + margin-top: 10px; +} +h1#page-title { + font-size: 2em; + line-height: 1; +} +#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-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-type-taxonomy-term-reference { + margin: 0 0 1.2em; +} +.field-type-taxonomy-term-reference .field-label { + font-weight: normal; + margin: 0; + padding-right: 5px; /* LTR */ +} +[dir="rtl"] .field-type-taxonomy-term-reference .field-label { + padding-left: 5px; + padding-right: 0; +} +.field-type-taxonomy-term-reference .field-label, +.field-type-taxonomy-term-reference ul.links { + font-size: 0.8em; +} +.node--view-mode-teaser .field-type-taxonomy-term-reference .field-label, +.node--view-mode-teaser .field-type-taxonomy-term-reference ul.links { + font-size: 0.821em; +} +.field-type-taxonomy-term-reference ul.links { + padding: 0; + margin: 0; + list-style: none; +} +.field-type-taxonomy-term-reference ul.links li { + float: left; /* LTR */ + padding: 0 1em 0 0; /* LTR */ + white-space: nowrap; +} +[dir="rtl"] .field-type-taxonomy-term-reference ul.links li { + padding: 0 0 0 1em; + float: right; +} +.node__links { + text-align: right; +} +[dir="rtl"] .node__links { + text-align: left; + margin-right: 236px; + margin-left: 0; +} +.field-type-image img, +.field-name-field-user-picture img { + margin: 0 0 1em; +} +ul.links { + color: #68696b; + font-size: 0.821em; +} +.node--unpublished, +.unpublished { + padding: 20px 15px 0; +} +.node--unpublished .comment-text .comment-arrow, +.unpublished .comment-text .comment-arrow { + border-left: 1px solid #fff4f4; + border-right: 1px solid #fff4f4; +} +.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; +} + +/* ----------------- Comments ----------------- */ + +.comment h2.title { + margin-bottom: 1em; +} +.comment .field-name-field-user-picture img { + margin-left: 0; /* LTR */ +} +[dir="rtl"] .comment .field-name-field-user-picture img { + margin-right: 0; +} +.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 { + margin: 0; + border: 1px solid #d3d7d9; +} +.comment .attribution .username { + white-space: nowrap; +} +.comment .submitted p { + margin: 4px 0; + font-size: 1.071em; + line-height: 1.2; +} +.comment .submitted .comment-time { + font-size: 0.786em; + color: #68696b; +} +.comment .submitted .comment-permalink { + font-size: 0.786em; +} +.comment .content { + font-size: 0.929em; + line-height: 1.6; +} +.comment .comment-arrow { + background: url(../images/comment-arrow.gif) no-repeat 0 center transparent; /* LTR */ + border-left: 1px solid; + border-right: 1px solid; + height: 40px; + margin-left: -47px; /* LTR */ + margin-top: 10px; + position: absolute; + width: 20px; +} +[dir="rtl"] .comment .comment-arrow { + background-image: url(../images/comment-arrow-rtl.gif); + margin-left: 0; + margin-right: -47px; +} +.comment .comment-text { + padding: 10px 25px; + border: 1px solid #d3d7d9; + display: table-cell; + vertical-align: top; + position: relative; + width: 100%; +} +.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.5em; +} +.comment.unpublished { + margin-right: 5px; /* LTR */ + padding: 5px 2px 5px 5px; /* LTR */ +} +[dir="rtl"] .comment.unpublished { + margin-left: 5px; + margin-right: 0; + padding: 5px 5px 5px 2px; +} +.comment.unpublished .comment-text .comment-arrow { + border-left: 1px solid #fff4f4; + border-right: 1px solid #fff4f4; +} + +.comment-footer { + display: table-row; +} + +/* ------------------ Sidebar ----------------- */ +.sidebar .section { + padding-top: 10px; +} +.sidebar .block { + border: 1px solid; + 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; +} + +/* ----------------- Triptych ----------------- */ + +#triptych-wrapper { + background-color: #f0f0f0; + background: rgba(30, 50, 10, 0.08); + border-top: 1px solid #e7e7e7; +} +#triptych h2 { + color: #000; + font-size: 1.4em; + margin-bottom: 0.6em; + text-shadow: 0 1px 0 #fff; + text-align: center; + line-height: 1; +} +#triptych .block { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid #dfdfdf; + line-height: 1.3; +} +#triptych .block:last-child { + border-bottom: none; +} +#triptych .block ul li, +#triptych .block ol li { + list-style: none; +} +#triptych .block ul, +#triptych .block ol { + padding-left: 0; +} +#triptych #block-user-login .form-text { + width: 185px; +} +#triptych #block-user-online p { + margin-bottom: 0; +} +#triptych #block-node-syndicate h2 { + overflow: hidden; + width: 0; + height: 0; +} +#triptych-last #block-node-syndicate { + text-align: right; +} +#triptych #block-search-form .form-type-search input { + width: 185px; +} +#triptych-middle #block-system-powered-by { + text-align: center; +} +#triptych-last #block-system-powered-by { + text-align: right; +} + +/* ------------------ Footer ------------------ */ + +#footer-wrapper .block .content { + color: #c0c0c0; + color: rgba(255, 255, 255, 0.65); + font-size: 0.857em; +} +#footer-wrapper .block .content a { + color: #fcfcfc; + color: rgba(255, 255, 255, 0.8); +} +#footer-wrapper .block .content a:hover, +#footer-wrapper .block .content a:focus { + color: #fefefe; + color: rgba(255, 255, 255, 0.95); +} +#footer-wrapper .block { + margin: 20px 0; + border: 1px solid #444; + border-color: rgba(255, 255, 255, 0.1); + padding: 10px; +} +#footer-columns .block-menu, +#footer .block { + margin: 0; + padding: 0; + border: none; +} +#footer .block { + margin: 0.5em 0; +} +#footer .block .content { + padding: 0.5em 0; + margin-top: 0; +} +#footer .block > h2 { + /* @extend .visually-hidden */ + position: absolute !important; + clip: rect(1px, 1px, 1px, 1px); + overflow: hidden; + height: 1px; +} +#footer .block h2 { + margin: 0; +} +#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; +} +#footer-columns .content { + margin-top: 0; +} +#footer-columns p { + margin-top: 1em; +} +#footer-columns .content ul { + list-style: none; + padding-left: 0; /* LTR */ + margin-left: 0; +} +[dir="rtl"] #footer-columns .content ul { + padding-right: 0; +} +#footer-columns .content li { + list-style: none; + margin: 0; + padding: 0; +} +#footer-columns .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"] #footer-columns .content li a { + padding: 0.8em 20px 0.8em 2px; +} +#footer-columns .content li a:hover, +#footer-columns .content li a:focus { + background-color: #1f1f21; + background-color: rgba(255, 255, 255, 0.05); + text-decoration: none; +} +#footer { + letter-spacing: 0.2px; + margin-top: 30px; + border-top: 1px solid #555; + border-color: rgba(255, 255, 255, 0.15); +} +#footer .region { + margin-top: 20px; +} +#footer .block { + clear: both; +} +#footer .menu , +#footer .menu li { + list-style: none; + margin: 0; + padding: 0; +} +#footer .menu li 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"] #footer .menu li a { + float: right; + border-left: 1px solid #555; + border-color: rgba(255, 255, 255, 0.15); + border-right: none; +} +#footer .menu li:first-child a { + padding-left: 0; /* LTR */ +} +[dir="rtl"] #footer .menu li:first-child a { + padding-right: 0; + padding-left: 12px; +} +#footer .menu li:last-child a { + padding-right: 0; /* LTR */ + border-right: none; /* LTR */ +} +[dir="rtl"] #footer .menu li:last-child a { + padding-left: 0; + padding-right: 12px; + border-left: none; +} +#footer-wrapper tr.odd { + background-color: transparent; +} +#footer-wrapper tr.even { + background-color: #2c2c2c; + background-color: rgba(0, 0, 0, 0.15); +} + +/* --------------- System Tabs --------------- */ + +div.tabs { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + margin-bottom: 20px; +} +.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.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.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; + zoom: 1; + } + .tabs ul.primary li a { + float: left; /* not LTR */ + border-top-left-radius: 6px; + border-top-right-radius: 6px; + } + .tabs ul.primary li.active a { + border-bottom: 1px solid #fff; + } +} +.tabs ul.secondary { + border-bottom: none; + margin: 5px; + padding: 0.5em 0; +} +.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.active { + background: #f2f2f2; + border-bottom: none; + border-radius: 5px; +} + +/* ---------------- Messages ----------------- */ + +#messages { + padding: 20px 0 5px; + margin: 0 auto; +} +.featured #messages { + background: #f0f0f0; + background: rgba(30, 50, 10, 0.08); +} +div.messages, +[dir="rtl"] div.messages { + margin: 8px 15px; +} + +/* -------------- Breadcrumbs -------------- */ + +.breadcrumb { + font-size: 0.929em; +} + +/* -------------- User Profile -------------- */ + +.profile .field-name-field-user-picture { + float: none; +} + +/* -------------- Password Field ------------- */ + +.password-field { + margin: 0; +} + +/* ---------------- Buttons ---------------- */ + +.button { + background: #fff url(../images/buttons.png) 0 0 repeat-x; + border: 1px solid #e4e4e4; + border-bottom: 1px solid #b4b4b4; + border-left-color: #d2d2d2; + border-right-color: #d2d2d2; + color: #3a3a3a; + cursor: pointer; + font-size: 0.929em; + font-weight: normal; + text-align: center; + padding: 4px 17px; + border-radius: 15px; +} +.button:hover, +.button:active, +.button:focus { + text-decoration: none; + color: #5a5a5a; + background: #dedede; +} + +/* -------------- 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; +} +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 { + 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; +} +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-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; +} +.form-type-radio .description, +.form-type-checkbox .description { + margin-left: 2px; +} +.form-actions { + padding-top: 10px; +} + +/* Node Form */ +#edit-body { + margin-bottom: 2em; +} + +.node-form .form-wrapper { + margin-bottom: 2em; +} + +/* Vertical Tabs Reset */ +ul.vertical-tabs-list { + margin: -1px 0 -1px -15em; + padding: 0; +} + +/* 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, +.form-button-disabled, +.form-button-disabled:hover, +.form-button-disabled:active, +.form-button-disabled:focus + { + background: #ededed; + border-color: #bbb; + color: #717171; +} +.image-button-disabled, +.image-button-disabled:hover, +.image-button-disabled:active, +.image-button-disabled:focus { + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + opacity: .5; +} +.form-disabled label { + color: #717171; +} + +/* Comment form */ +.comment-form label { + float: left; /* LTR */ + 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; +} + +/* -------------- Other Overrides ------------- */ + +div.password-suggestions { + border: 0; +} +#forum .name { + font-size: 1.083em; +} +#forum .description { + font-size: 1em; +} +#header .contextual .trigger, +#footer-wrapper .contextual .trigger { + border: none; +} + +/* ---------- Color Form ----------- */ + +[dir="rtl"] .color-form #palette { + margin-left: 0; + margin-right: 20px; +} +[dir="rtl"] .color-form .form-item label { + float: right; +} +[dir="rtl"] .color-form #palette .lock { + right: -20px; + left: 0; +} + +/* --------------- 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; +} +[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; +} + +/* --------------- Search Results ---------------- */ +ol.search-results { + padding-left: 0; + list-style-position: inside; +} +.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-results .search-snippet-info { + padding-left: 0; +} + +/* -------------- 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; +} +[dir="rtl"] .caption-blockquote > figcaption { + text-align: right; +} + +/* -------------- 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; +} +div.add-or-remove-shortcuts { + padding-top: 0.9em; +} + +/* ---------- Admin-specific Theming ---------- */ +.path-admin #content img { + margin-right: 15px; /* LTR */ +} +.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 .demo-block { + font-size: 0.55em; +} +#header .demo-block { + width: 500px; +} + +/* Configuration. */ +div.admin .right, +div.admin .left { + width: 49%; + margin: 0; +} +div.admin-panel { + background: #fbfbfb; + border: 1px solid #ccc; + margin: 10px 0; + padding: 0 5px 5px; +} +div.admin-panel h3 { + margin: 16px 7px; +} +div.admin-panel dt { + border-top: 1px solid #ccc; + padding: 7px 0 0; +} +div.admin-panel dd { + margin: 0 0 10px; +} +div.admin-panel .description { + margin: 0 0 14px 7px; +} + +/* ---------- book ----------- */ +.book-navigation .menu { + border-top: 1px solid #d6d6d6; +} +.book-navigation .book-pager { + border-bottom: 1px solid #d6d6d6; + border-top: 1px solid #d6d6d6; + margin: 0; +} + +/* ---------- Dropbutton ----------- */ +.js .dropbutton-widget { + background-color: white; + border-radius: 5px; +} +.js .dropbutton-widget:hover, +.js .dropbutton-widget:focus { + background-color: #f8f8f8; + border-color: #b8b8b8; +} +.js .dropbutton-multiple.open .dropbutton-widget:hover, +.js .dropbutton-multiple.open .dropbutton-widget:focus { + background-color: white; +} + +/* ----------- media queries ------------------------------- */ + +@media all and (min-width: 461px) and (max-width: 900px) { + /* ------------ Header and Menus -------------------------- */ + + .region-header { + margin: .5em 5px .75em; + } + #logo, + .site-logo { + padding: 5px 0 0 5px; /* LTR */ + } + [dir="rtl"] #logo, + [dir="rtl"] .site-logo { + padding: 5px 5px 0 0; + } + #name-and-slogan, + .site-branding-text { + padding: 10px 10px 8px; + } + .region-primary-menu .menu { + margin: 0 5px; + padding: 0; + text-align: center; + } + .region-primary-menu .menu li, + body:not(:target) .region-primary-menu .menu li { + 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 li { + float: right; + margin-left: 5px; + margin-right: 0; + } + .region-primary-menu .menu li:nth-child(3n) { + margin-right: -5px; /* LTR */ + } + [dir="rtl"] .region-primary-menu .menu li: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-header { + margin: 1em 5px 1.5em; + } + #logo, + .site-logo { + padding: 15px 15px 15px 10px; /* LTR */ + } + [dir="rtl"] #logo, + [dir="rtl"] .site-logo { + padding: 15px 10px 15px 15px; + } + #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.821em; + } + .region-primary-menu .block-menu .menu { + font-size: 0.929em; + margin: 0; + padding: 0 15px; + } + .region-primary-menu .menu li, + body:not(:target) .region-primary-menu .menu li { + float: left; /* LTR */ + list-style: none; + padding: 0 1px; + margin: 0 1px; + width: auto; + height: auto; + overflow: visible; + } + [dir="rtl"] .region-primary-menu .menu li, + [dir="rtl"] body:not(:target) .region-primary-menu .menu li { + 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 li a:active, + .featured .region-primary-menu .menu li a.active { + background: #f0f0f0; + background: rgba(240, 240, 240, 1.0); + } + body:not(:target) .region-primary-menu .menu-toggle { + display: none; + } +} + +@media all and (min-width: 520px) { + + /* ----------------- Featured ----------------- */ + #featured { + font-size: 1.643em; + } + #featured h2 { + font-size: 1.174em; + } + + /* ------------------ Triptych ----------------- */ + #triptych h2 { + font-size: 1.714em; + margin-bottom: 0.9em; + } + #triptych .block { + margin-bottom: 2em; + padding-bottom: 2em; + } +} + +/** + * 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; + } +} + +/* ---------- Input fields ---------- */ +@media screen and (max-width: 60em) { /* 920px */ + input, + textarea { + font-size: 1.142857143em; + } +} + +/* ---------- 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; +} + +.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; + margin-top: 0; +} + +/* @end */ diff --git a/drupalcat/themes/drupalcat/drupalcat.breakpoints.yml b/drupalcat/themes/drupalcat/drupalcat.breakpoints.yml new file mode 100644 index 0000000..17b9fc8 --- /dev/null +++ b/drupalcat/themes/drupalcat/drupalcat.breakpoints.yml @@ -0,0 +1,18 @@ +bartik.mobile: + label: mobile + mediaQuery: '(min-width: 0px)' + weight: 0 + 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: 2 + multipliers: + - 1x diff --git a/drupalcat/themes/drupalcat/drupalcat.info.yml b/drupalcat/themes/drupalcat/drupalcat.info.yml new file mode 100644 index 0000000..fb2ba47 --- /dev/null +++ b/drupalcat/themes/drupalcat/drupalcat.info.yml @@ -0,0 +1,34 @@ +name: Drupal.cat theme +type: theme +base theme: classy +description: 'Theme of Drupal.cat based on Bartik theme' +package: Core +version: VERSION +core: 8.x +libraries: + - drupalcat/base +ckeditor_stylesheets: + - css/ckeditor-iframe.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: Featured + content: Content + sidebar_first: 'Sidebar first' + sidebar_second: 'Sidebar second' + triptych_first: 'Triptych first' + triptych_middle: 'Triptych middle' + triptych_last: 'Triptych last' + footer_firstcolumn: 'Footer first column' + footer_secondcolumn: 'Footer second column' + footer_thirdcolumn: 'Footer third column' + footer_fourthcolumn: 'Footer fourth column' + footer: Footer + +settings: + shortcut_module_link: false diff --git a/drupalcat/themes/drupalcat/drupalcat.libraries.yml b/drupalcat/themes/drupalcat/drupalcat.libraries.yml new file mode 100644 index 0000000..410c21c --- /dev/null +++ b/drupalcat/themes/drupalcat/drupalcat.libraries.yml @@ -0,0 +1,16 @@ +base: + version: VERSION + css: + theme: + css/layout.css: {} + css/style.css: {} + css/colors.css: {} + css/print.css: { media: print } + +maintenance_page: + version: VERSION + css: + theme: + css/maintenance-page.css: {} + dependencies: + - system/maintenance diff --git a/drupalcat/themes/drupalcat/drupalcat.theme b/drupalcat/themes/drupalcat/drupalcat.theme new file mode 100644 index 0000000..2ef5c1e --- /dev/null +++ b/drupalcat/themes/drupalcat/drupalcat.theme @@ -0,0 +1,163 @@ +getBodyAttributes(); + $classes = $attributes['class']; + if (!empty($variables['page']['sidebar_first']) && !empty($variables['page']['sidebar_second'])) { + $classes[] = 'layout-two-sidebars'; + } + elseif (!empty($variables['page']['sidebar_first'])) { + $classes[] = 'layout-one-sidebar'; + $classes[] = 'layout-sidebar-first'; + } + elseif (!empty($variables['page']['sidebar_second'])) { + $classes[] = 'layout-one-sidebar'; + $classes[] = 'layout-sidebar-second'; + } + else { + $classes[] = 'layout-no-sidebars'; + } + + if (!empty($variables['page']['featured'])) { + $classes[] = 'featured'; + } + + if (!empty($variables['page']['triptych_first']) + || !empty($variables['page']['triptych_middle']) + || !empty($variables['page']['triptych_last'])) { + $classes[] = 'triptych'; + } + + if (!empty($variables['page']['footer_firstcolumn']) + || !empty($variables['page']['footer_secondcolumn']) + || !empty($variables['page']['footer_thirdcolumn']) + || !empty($variables['page']['footer_fourthcolumn'])) { + $classes[] = 'footer-columns'; + } + + // Store back the classes to the htmlpage object. + $attributes['class'] = $classes; + + // Set the options that apply to both page and maintenance page. + _drupalcat_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' => '
', + '#weight' => 100, + ); + $variables['title_suffix']['shortcut_wrapper'] = array( + '#markup' => '
', + '#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 drupalcat_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. + _drupalcat_process_page($variables); +} + +/** + * Implements hook_preprocess_HOOK() for node.html.twig. + */ +function drupalcat_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 drupalcat_preprocess_block(&$variables) { + // Add a clearfix class to system branding blocks. + if ($variables['plugin_id'] == 'system_branding_block') { + $variables['attributes']['class'][] = 'clearfix'; + } + // Add a container-inline class to keep consistent visual styles + if ($variables['plugin_id'] == 'search_form_block') { + $variables['content_attributes']['class'][] = 'container-inline'; + } +} + +/** + * Implements hook_preprocess_HOOK() for menu.html.twig. + */ +function drupalcat_preprocess_menu(&$variables) { + $variables['attributes']['class'][] = 'clearfix'; +} + +/** + * Implements hook_preprocess_HOOK() for field.html.twig. + * + * @see template_preprocess_field() + */ +function drupalcat_preprocess_field(&$variables) { + $element = $variables['element']; + if ($element['#field_type'] == 'taxonomy_term_reference') { + $variables['title_attributes']['class'][] = 'field-label'; + if ($variables['element']['#label_display'] == 'inline') { + $variables['title_attributes']['class'][] = 'inline'; + } + } +} + +/** + * Helper function for handling the site name and slogan. + */ +function _drupalcat_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'] = String::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')); + } +} diff --git a/drupalcat/themes/drupalcat/images/add.png b/drupalcat/themes/drupalcat/images/add.png new file mode 100644 index 0000000000000000000000000000000000000000..3e167ebd0fea8015a4e6ecde15d4e99a99092a48 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4|3?y&GPYDK6YymzYuK)l4PfJVddzZ5SC?f3X q;uyjaojj%T5QpP`>4h9>Obk88xw?)iE1U;PGkCiCxvXazUS&zwE3hOieqF@Ga%ysF0$=Nf)ONnc1!-K<)6+9EGn12(2!c#ZOn5w= zv9U3?+wF3>oKC01;jr87Hk-|AwT_OCj*pK|O-*^dUQlB%@AwX>oq*i@s%NxF+*jK6 z4bnOa8?-Omhw_E0;^ux(Wh;{zs+1O9>(|%4*21PQm5LFrR9_+)sOUDa8#EQ2KMF)& zK(({H>nHa!%og^5DhH>&m)8OpHR{-nDo&%0)2QVL)vr~K{Q4eNy}Cf8tLPr)e%4nh ztyMj?63HN2fSonKl@78RdJCKTiX{CUks9dw33M7Ol~!IWTqQSFb`P@zN%j6CK@4S&g$Wkho#sTpi%9r5T1C&%iv+9^88ZjC&8>BI2Hi zdm`?Mf!%NqMe;0JhPg1=8lli|`v6TEZCb4;-f^d1{%k0l7#b(aBBuGNN#XOsx&HVN zS>1gwlVpk7Z;6u4!EvI8H}$ePbU4Yk6|Fg#SNe}ND5HCU1b=o?b>*Y9SlvFRi9eLR z{fZ&|SIs(ZNtPJ^>}{>hBN1@xuAD8*HV>+L=SieV7b0`$d%~3&o%e2;fq43zyu6Pn z>1iS&A%o!A)U8Mc*4$sbg*l&Ijx}%TW8n8Ous9}YqnMHO_FRk3VvN8hye(!%n*uBf z#`r2d_lXIdHJ!0z_t4B|E_|wqUeJy^HwlbobV}Lz_3qg>#}UakehP}@CLTj1lYQ>T ze6v1FjBrB*Mi?Tse>hrqnkJ=_j?}boTF1J}6kJe*35=pk5VZ3Fl)oS_}-<0KvK= A!~g&Q literal 0 HcmV?d00001 diff --git a/drupalcat/themes/drupalcat/images/comment-arrow.gif b/drupalcat/themes/drupalcat/images/comment-arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce48d0ccd97af40058599b1536ee1878ecfef64c GIT binary patch literal 97 zcmZ?wbhEHb6k*U{XkcVGbM_nq1B2pE7DfgJMg|=qn*k)lz+}ODyOXb;N zW$pVKXI4y{qFLEpwV-eH#`!j<3w-YH@Rhc@zWQmCz0dj`RzlNHJ-d*p&A?y{0Iy~v A%m4rY literal 0 HcmV?d00001 diff --git a/drupalcat/themes/drupalcat/images/required.svg b/drupalcat/themes/drupalcat/images/required.svg new file mode 100644 index 0000000..04e1865 --- /dev/null +++ b/drupalcat/themes/drupalcat/images/required.svg @@ -0,0 +1 @@ + diff --git a/drupalcat/themes/drupalcat/images/tabs-border.png b/drupalcat/themes/drupalcat/images/tabs-border.png new file mode 100644 index 0000000000000000000000000000000000000000..25f95356a62c0a945bfd1bda9bd3325aef65c253 GIT binary patch literal 83 zcmeAS@N?(olHy`uVBq!ia0vp^AT}c-GmyM%z19{;F$egBxbEJ)+w`+x43Nw1>Eal| cA)B0#0Fq;1^!MOe4`eZTy85}Sb4q9e0C~d@$N&HU literal 0 HcmV?d00001 diff --git a/drupalcat/themes/drupalcat/logo.png b/drupalcat/themes/drupalcat/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..18d0ff2b613dd34c5d218ae7a0ca74535b25d4e2 GIT binary patch literal 21808 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 literal 0 HcmV?d00001 diff --git a/drupalcat/themes/drupalcat/sass/_config.scss b/drupalcat/themes/drupalcat/sass/_config.scss new file mode 100644 index 0000000..6f675d1 --- /dev/null +++ b/drupalcat/themes/drupalcat/sass/_config.scss @@ -0,0 +1,47 @@ +// Config +// --------- +// Use the same color all over the place? Need to do +// some math with height and width and text size? +// Sass supports variables as well as basic math +// operations and many useful functions. +// +// For complete documentation: +// http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#variables_ +// +// Available functions: +// http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html + +// Available functions: +// SASS: http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html +// Bourbon: http://bourbon.io/docs/ +// Boubon Neat (grid): https://github.com/thoughtbot/neat#using-the-grid + +// Import variables and mixins to be used (Bourbon) +@import "components/bourbon/bourbon" +@import "components/neat/neat-helpers" + +// Bourbon grid display. Comment out to remove display. +$visual-grid: true +$visual-grid-color: #EEEEEE + +// Set to false if you'd like to remove the responsiveness. +$responsive: true + +// Setup the column, grid, and gutter amounts. +$column: 90px +$gutter: 30px +$grid-columns: 12 +// We set the max width of the page using the px to em function in Bourbon. +// the first value is the pixel value of the width and the second is the base font size of your theme. +// In this instance we want the max width to be 1088px and on Line 6 of style.sass we have reset the base +// font size to 13px so the first value would be 1088 and the second 13 +// ex. em(1088, 13) +$max-width: em(1088, 13) + +// Define your breakpoints. +$mobile: new-breakpoint(max-width 480px 4) +$tablet: new-breakpoint(max-width 768px 8) + +// Import grid to be used (Bourbon Neat). +// We load this after we provide our overrides: https://github.com/thoughtbot/neat#changing-the-defaults +@import "components/neat/neat" diff --git a/drupalcat/themes/drupalcat/sass/_init.scss b/drupalcat/themes/drupalcat/sass/_init.scss new file mode 100644 index 0000000..d1f67c9 --- /dev/null +++ b/drupalcat/themes/drupalcat/sass/_init.scss @@ -0,0 +1,6 @@ +/** + * Inital variables: + */ + +$font_base: "Raleway", sans-serif; +$blue: #016796; diff --git a/drupalcat/themes/drupalcat/screenshot.png b/drupalcat/themes/drupalcat/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..be1fe1db2c0dade5a8df32ac6dfbb02dea657a35 GIT binary patch literal 19221 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 literal 0 HcmV?d00001 diff --git a/drupalcat/themes/drupalcat/templates/block--system-branding-block.html.twig b/drupalcat/themes/drupalcat/templates/block--system-branding-block.html.twig new file mode 100644 index 0000000..f6147a6 --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/block--system-branding-block.html.twig @@ -0,0 +1,34 @@ +{% extends "@block/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 %} + + {% endif %} + {% if site_name or site_slogan %} +

+ {% if site_name %} + + {{ site_name }} + + {% endif %} + {% if site_slogan %} +
{{ site_slogan }}
+ {% endif %} +
+ {% endif %} +{% endblock %} diff --git a/drupalcat/themes/drupalcat/templates/block--system-menu-block.html.twig b/drupalcat/themes/drupalcat/templates/block--system-menu-block.html.twig new file mode 100644 index 0000000..4bbab76 --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/block--system-menu-block.html.twig @@ -0,0 +1,27 @@ +{% extends "@system/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 %} + {# If a label is displayed, wrap it in
. #} + {% if configuration.label_display %} + + {% else %} + {# When rendering a menu without label, render a menu toggle. #} + + + {{ 'Menu'|t }} + {{ 'Menu'|t }} + {% endif %} + {{ content }} + {% if configuration.label_display %} +
+ {% endif %} +{% endblock %} diff --git a/drupalcat/themes/drupalcat/templates/block.html.twig b/drupalcat/themes/drupalcat/templates/block.html.twig new file mode 100644 index 0000000..31a95c0 --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/block.html.twig @@ -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, + ] +%} + + {{ title_prefix }} + {% if label %} + {{ label }} + {% endif %} + {{ title_suffix }} + {% block content %} + + {{ content }} + + {% endblock %} + diff --git a/drupalcat/themes/drupalcat/templates/comment.html.twig b/drupalcat/themes/drupalcat/templates/comment.html.twig new file mode 100644 index 0000000..c5c0a7a --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/comment.html.twig @@ -0,0 +1,132 @@ +{# +/** + * @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. + * - signature: The comment author's signature. + * - status: Comment status. Possible values are: + * unpublished, published, or preview. + * - title: Comment title, linked to the comment. + * - attributes: HTML attributes for the containing element. + * The attributes.class may contain one or more of the following classes: + * - comment: The current template type; e.g., 'theming hook'. + * - by-anonymous: Comment by an unregistered user. + * - by-{entity-type}-author: Comment by the author of the parent entity, + * eg. by-node-author. + * - preview: When previewing a new or edited comment. + * The following applies only to viewers who are registered users: + * - unpublished: An unpublished comment visible only to administrators. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - 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. + * + * 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() + */ +#} +
+ +
+
+ {{ user_picture }} + + +
+
+ +
+
+ + {# + Hide the "new" indicator by default, let a piece of JavaScript ask + the server which comments are new for the user. Rendering the final + "new" indicator here would break the render cache. + #} + + + {% if title %} + {{ title_prefix }} + {{ title }} + {{ title_suffix }} + {% endif %} + + + {{ content|without('links') }} +
+ +
+ {% if signature %} +
+ {{ signature }} +
+ {% endif %} + + {% if content.links %} + + {% endif %} +
+ + +
diff --git a/drupalcat/themes/drupalcat/templates/field--taxonomy-term-reference.html.twig b/drupalcat/themes/drupalcat/templates/field--taxonomy-term-reference.html.twig new file mode 100644 index 0000000..f1289ee --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/field--taxonomy-term-reference.html.twig @@ -0,0 +1,29 @@ +{# +/** + * @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. + * + * @see template_preprocess_field() + * @see bartik_preprocess_field() + */ +#} + + {% if not label_hidden %} + {{ label }}: + {% endif %} + + {% for item in items %} + {{ item.content }} + {% endfor %} + + diff --git a/drupalcat/themes/drupalcat/templates/maintenance-page.html.twig b/drupalcat/themes/drupalcat/templates/maintenance-page.html.twig new file mode 100644 index 0000000..5de50cc --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/maintenance-page.html.twig @@ -0,0 +1,45 @@ +{# +/** + * @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() + */ + #} +
+ + + +
+
+ + {% if title %}

{{ title }}

{% endif %} + {{ page.content }} + {% if messages %} +
+ {{ messages }} +
+ {% endif %} +
+
+ +
diff --git a/drupalcat/themes/drupalcat/templates/node.html.twig b/drupalcat/themes/drupalcat/templates/node.html.twig new file mode 100644 index 0000000..3150206 --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/node.html.twig @@ -0,0 +1,111 @@ +{# +/** + * @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: Formatted creation date. Preprocess functions can + * reformat it by calling format_date() with the desired parameters on + * $variables['node']->getCreatedTime(). + * - label: The title of the node. + * - content: All node items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - author_picture: The node author user entity, rendered using the "compact" + * view mode. + * - metadata: Metadata for this node. + * - date: Themed creation date field. + * - author_name: Themed author name field. + * - url: Direct URL of the current node. + * - display_submitted: Whether submission information should be displayed. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - node: The current template type (also known as a "theming hook"). + * - node--type-[type]: The current node type. For example, if the node is an + * "Article" it would result in "node--type-article". Note that the machine + * name will often be in a short form of the human readable label. + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a + * teaser would result in: "node--view-mode-teaser", and + * full: "node--view-mode-full". + * The following are controlled through the node publishing options. + * - node--promoted: Appears on nodes promoted to the front page. + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in + * teaser listings. + * - node--unpublished: Appears on unpublished nodes visible only to site + * admins. + * - title_attributes: Same as attributes, except applied to the main title + * tag that appears in the template. + * - content_attributes: Same as attributes, except applied to the main + * content tag that appears in the template. + * - author_attributes: Same as attributes, except applied to the author of + * the node tag that appears in the template. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - view_mode: View mode; for example, "teaser" or "full". + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - is_front: Flag for front. Will be true when presented on the front page. + * - 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', + ] +%} + + +
+ {{ title_prefix }} + {% if not page %} + + {{ label }} + + {% endif %} + {{ title_suffix }} + + {% if display_submitted %} +
+ {{ author_picture }} + + {% trans %}Submitted by {{ author_name|passthrough }} on {{ date|passthrough }}{% endtrans %} + + {{ metadata }} +
+ {% endif %} +
+ + + {{ content|without('comment', 'links') }} + + + {% if content.links %} + + {% endif %} + + {{ content.comment }} + + diff --git a/drupalcat/themes/drupalcat/templates/page.html.twig b/drupalcat/themes/drupalcat/templates/page.html.twig new file mode 100644 index 0000000..d52d3db --- /dev/null +++ b/drupalcat/themes/drupalcat/templates/page.html.twig @@ -0,0 +1,202 @@ +{# +/** + * @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. + * + * Navigation: + * - breadcrumb: The breadcrumb trail for the current page. + * + * Page content (in order of occurrence in the default page.html.twig): + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title: The page title, for use in the actual content. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - messages: Status and error messages. Should be displayed prominently. + * - tabs: Tabs linking to any sub-pages beneath the current page (e.g., the + * view and edit tabs when displaying a node). + * - action_links: Actions local to the page, such as "Add menu" on the menu + * administration interface. + * - feed_icons: All feed icons for the current page. + * - node: Fully loaded node, if there is an automatically-loaded node + * associated with the page and the node ID is the second argument in the + * page's path (e.g. node/12345 and node/12345/revisions, but not + * comment/reply/12345). + * + * Regions: + * - page.header: Items for the header region. + * - page.primary_menu: Items for the primary menu region. + * - page.secondary_menu: Items for the secondary menu region. + * - page.featured: Items for the featured region. + * - page.highlighted: Items for the highlighted content region. + * - page.help: Dynamic help text, mostly for admin pages. + * - page.content: The main content of the current page. + * - page.sidebar_first: Items for the first sidebar. + * - page.sidebar_second: Items for the second sidebar. + * - page.triptych_first: Items for the first triptych. + * - page.triptych_middle: Items for the middle triptych. + * - page.triptych_last: Items for the last triptych. + * - page.footer_firstcolumn: Items for the first footer column. + * - page.footer_secondcolumn: Items for the second footer column. + * - page.footer_thirdcolumn: Items for the third footer column. + * - page.footer_fourthcolumn: Items for the fourth footer column. + * - page.footer: Items for the footer region. + * + * @see template_preprocess_page() + * @see bartik_preprocess_page() + * @see html.html.twig + */ +#} +
+ + + + {% if messages %} +
+ {{ messages }} +
+ {% endif %} + + {% if page.featured %} + + {% endif %} + +
+ {{ breadcrumb }} + +
+ {% if page.highlighted %}
{{ page.highlighted }}
{% endif %} + + {{ title_prefix }} + {% if title %} +

+ {{ title }} +

+ {% endif %} + {{ title_suffix }} + {% if tabs %} + + {% endif %} + {{ page.help }} + {% if action_links %} + + {% endif %} + {{ page.content }} + {{ feed_icons }} +
+ + {% if page.sidebar_first %} + + {% endif %} + + {% if page.sidebar_second %} + + {% endif %} + +
+ + {% if page.triptych_first or page.triptych_middle or page.triptych_last %} +
+ {% endif %} + + + +