From a771fd9d74a5a8b884445b576f15ca78a4828cd6 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 11 Jun 2019 18:04:46 +0200 Subject: [PATCH] made card image switcher --- .../src/Form/MaterioSapiSearchForm.php | 1 + .../custom/materiotheme/assets/dist/main.js | 14 ++-- .../custom/materiotheme/assets/img/blank.gif | Bin 0 -> 1097 bytes .../materiotheme/assets/scripts/main.js | 3 - .../materiotheme/assets/styles/main.scss | 20 +++-- .../custom/materiotheme/materiotheme.theme | 58 +++++++------- .../vuejs/components/Content/Base.vue | 2 +- .../vuejs/components/Content/Card.vue | 71 ++++++++++++++++-- .../vuejs/components/Form/SearchForm.vue | 12 ++- .../vuejs/store/modules/search.js | 1 + 10 files changed, 132 insertions(+), 50 deletions(-) create mode 100644 web/themes/custom/materiotheme/assets/img/blank.gif diff --git a/web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php b/web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php index b714164..aaaed09 100644 --- a/web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php +++ b/web/modules/custom/materio_sapi/src/Form/MaterioSapiSearchForm.php @@ -33,6 +33,7 @@ class MaterioSapiSearchForm extends FormBase { // "@keyup" => "keyup", "@keyup.enter" => "submit", "v-model" => "typed", + "v-focus" => "", // "v-on:select" => "typed", ], '#autocomplete_route_name' => 'materio_sapi.search_autocomplete', diff --git a/web/themes/custom/materiotheme/assets/dist/main.js b/web/themes/custom/materiotheme/assets/dist/main.js index 8e3b74f..3ee0d79 100644 --- a/web/themes/custom/materiotheme/assets/dist/main.js +++ b/web/themes/custom/materiotheme/assets/dist/main.js @@ -429,7 +429,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n name: \"Card\",\n props: ['item'],\n data: function data() {\n return {};\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n name: \"Card\",\n props: ['item'],\n data: function data() {\n return {\n blanksrc: \"\".concat(drupalSettings.path.themePath, \"/assets/img/blank.gif\")\n };\n },\n directives: {\n lazy: {\n bind: function bind(img, binding) {\n // console.log('lazy bind', img, binding);\n if (binding.value === 0) {\n img.setAttribute('src', img.getAttribute('data-src'));\n img.removeAttribute('data-src');\n img.classList.remove('lazy');\n }\n }\n },\n switcher: {\n inserted: function inserted(el, binding) {\n // switch images on mousemove\n el.addEventListener('mousemove', function (event) {\n var figs = this.querySelectorAll('figure'); // console.log('mousemove', this, event, figs.length);\n // let len = figs.length\n // let w = this.clientWidth;\n // let g = w / len;\n // let delta = Math.floor(event.layerX / g)\n\n var delta = Math.floor(event.layerX / (this.clientWidth / figs.length)); // console.log('delta', delta);\n\n figs.forEach(function (fig, index) {\n // console.log(index);\n if (index == delta) {\n fig.style.display = \"block\";\n } else {\n fig.style.display = \"none\";\n }\n });\n });\n }\n }\n },\n mounted: function mounted() {\n // lazy load images on mouseover\n this.$el.addEventListener('mouseover', function (event) {\n var imgs = this.querySelectorAll('.images figure img.lazy');\n console.log('mouseover', this, imgs);\n imgs.forEach(function (img) {\n // console.log('forEach img',img);\n img.setAttribute('src', img.getAttribute('data-src'));\n img.removeAttribute('data-src');\n img.classList.remove('lazy');\n });\n }, {\n once: true\n });\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), @@ -465,7 +465,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n router: _route.default,\n props: ['form'],\n data: function data() {\n return {\n template: null,\n typed: null,\n autocomplete: null // basePath: drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix\n\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n keys: function keys(state) {\n return state.Search.keys;\n },\n term: function term(state) {\n return state.Search.term;\n }\n })),\n methods: {\n submit: function submit() {\n console.log(\"search clicked\", this.typed, this.autocomplete); // New search is triggered by Base.vue with router (which will also fill the store)\n\n this.$router.push({\n name: 'base',\n query: {\n keys: this.typed,\n term: this.autocomplete\n }\n }); // this.$router.push({\n // path:`${this.basePath}/base`,\n // query:{keys:this.typed,term:this.autocomplete}\n // })\n },\n onAutoCompleteSelect: function onAutoCompleteSelect(event, ui) {\n event.preventDefault(); // console.log('autoCompleteSelect', event, ui);\n\n this.typed = ui.item.label;\n this.autocomplete = ui.item.value;\n }\n },\n beforeMount: function beforeMount() {\n var _this = this;\n\n // console.log('SearchForm beforeMount');\n if (this._props.form) {\n // console.log('SearchForm beforeMount if this._props.form ok');\n this.template = _vue.default.compile(this._props.form); // https://github.com/vuejs/vue/issues/9911\n\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(function (fn) {\n return _this.$options.staticRenderFns.push(fn);\n });\n }\n },\n watch: {\n keys: function keys(n, o) {\n console.log('keys changed', n, o);\n this.typed = n;\n },\n term: function term(n, o) {\n console.log('autocomplete changed', n, o);\n this.autocomplete = n;\n }\n },\n created: function created() {\n this.typed = this.keys;\n this.autocomplete = this.term;\n },\n mounted: function mounted() {\n // console.log('SearchForm mounted');\n Drupal.attachBehaviors(this.$el); // get the search input\n\n var $input = this.$el.querySelector('#edit-search'); // focus on input\n\n $input.focus(); // Catch the jquery ui events for autocmplete widget\n\n jQuery($input).on('autocompleteselect', this.onAutoCompleteSelect);\n },\n render: function render(h) {\n // console.log('searchForm render');\n if (!this.template) {\n return h('span', 'Loading ...');\n } else {\n return this.template.render.call(this);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n router: _route.default,\n props: ['form'],\n data: function data() {\n return {\n template: null,\n typed: null,\n autocomplete: null // basePath: drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix\n\n };\n },\n computed: _objectSpread({}, (0, _vuex.mapState)({\n keys: function keys(state) {\n return state.Search.keys;\n },\n term: function term(state) {\n return state.Search.term;\n }\n })),\n methods: {\n submit: function submit() {\n console.log(\"search clicked\", this.typed, this.autocomplete); // New search is triggered by Base.vue with router (which will also fill the store)\n\n this.$router.push({\n name: 'base',\n query: {\n keys: this.typed,\n term: this.autocomplete\n }\n }); // this.$router.push({\n // path:`${this.basePath}/base`,\n // query:{keys:this.typed,term:this.autocomplete}\n // })\n },\n onAutoCompleteSelect: function onAutoCompleteSelect(event, ui) {\n event.preventDefault(); // console.log('autoCompleteSelect', event, ui);\n\n this.typed = ui.item.label;\n this.autocomplete = ui.item.value;\n }\n },\n directives: {\n focus: {\n // directive definition\n inserted: function inserted(el) {\n el.focus();\n }\n }\n },\n beforeMount: function beforeMount() {\n var _this = this;\n\n // console.log('SearchForm beforeMount');\n if (this._props.form) {\n // console.log('SearchForm beforeMount if this._props.form ok');\n this.template = _vue.default.compile(this._props.form); // https://github.com/vuejs/vue/issues/9911\n\n this.$options.staticRenderFns = [];\n this._staticTrees = [];\n this.template.staticRenderFns.map(function (fn) {\n return _this.$options.staticRenderFns.push(fn);\n });\n }\n },\n watch: {\n keys: function keys(n, o) {\n console.log('keys changed', n, o);\n this.typed = n;\n },\n term: function term(n, o) {\n console.log('autocomplete changed', n, o);\n this.autocomplete = n;\n }\n },\n created: function created() {\n this.typed = this.keys;\n this.autocomplete = this.term;\n },\n mounted: function mounted() {\n // console.log('SearchForm mounted');\n Drupal.attachBehaviors(this.$el); // get the search input\n\n var $input = this.$el.querySelector('#edit-search'); // // focus on input\n // $input.focus()\n // Catch the jquery ui events for autocmplete widget\n\n jQuery($input).on('autocompleteselect', this.onAutoCompleteSelect);\n },\n render: function render(h) {\n // console.log('searchForm render');\n if (!this.template) {\n return h('span', 'Loading ...');\n } else {\n return this.template.render.call(this);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), @@ -488,7 +488,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.i, \"body {\\n background: white; }\\n\\na {\\n color: inherit;\\n text-decoration: none; }\\n\\na, a:focus, a:active {\\n outline: none; }\\n\\na:focus {\\n -moz-outline-style: none; }\\n\\n.col-1, .small-col-1, .med-col-1, .large-col-1, .col-2, .small-col-2, .med-col-2, .large-col-2, .col-3, .small-col-3, .med-col-3, .large-col-3, .col-4, .small-col-4, .med-col-4, .large-col-4, .col-5, .small-col-5, .med-col-5, .large-col-5, .col-6, .small-col-6, .med-col-6, .large-col-6, .col-7, .small-col-7, .med-col-7, .large-col-7, .col-8, .small-col-8, .med-col-8, .large-col-8, .col-9, .small-col-9, .med-col-9, .large-col-9, .col-10, .small-col-10, .med-col-10, .large-col-10, .col-11, .small-col-11, .med-col-11, .large-col-11, .col-12, .small-col-12, .med-col-12, .large-col-12, .col-1-offset-1, .col-1-offset-2, .col-1-offset-3, .col-1-offset-4, .col-1-offset-5, .col-1-offset-6, .col-1-offset-7, .col-1-offset-8, .col-1-offset-9, .col-1-offset-10, .col-1-offset-11, .col-2-offset-1, .col-2-offset-2, .col-2-offset-3, .col-2-offset-4, .col-2-offset-5, .col-2-offset-6, .col-2-offset-7, .col-2-offset-8, .col-2-offset-9, .col-2-offset-10, .col-3-offset-1, .col-3-offset-2, .col-3-offset-3, .col-3-offset-4, .col-3-offset-5, .col-3-offset-6, .col-3-offset-7, .col-3-offset-8, .col-3-offset-9, .col-4-offset-1, .col-4-offset-2, .col-4-offset-3, .col-4-offset-4, .col-4-offset-5, .col-4-offset-6, .col-4-offset-7, .col-4-offset-8, .col-5-offset-1, .col-5-offset-2, .col-5-offset-3, .col-5-offset-4, .col-5-offset-5, .col-5-offset-6, .col-5-offset-7, .col-6-offset-1, .col-6-offset-2, .col-6-offset-3, .col-6-offset-4, .col-6-offset-5, .col-6-offset-6, .col-7-offset-1, .col-7-offset-2, .col-7-offset-3, .col-7-offset-4, .col-7-offset-5, .col-8-offset-1, .col-8-offset-2, .col-8-offset-3, .col-8-offset-4, .col-9-offset-1, .col-9-offset-2, .col-9-offset-3, .col-10-offset-1, .col-10-offset-2, .col-11-offset-1 {\\n width: 100%;\\n float: left;\\n box-sizing: border-box; }\\n\\n.row {\\n position: relative; }\\n .row > * {\\n font-size: 16px; }\\n\\n.col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .col-1:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .small-col-1:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .med-col-1:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .large-col-1:last-child {\\n padding-right: 0; } }\\n\\n.col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .col-2:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .small-col-2:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .med-col-2:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .large-col-2:last-child {\\n padding-right: 0; } }\\n\\n.col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .col-3:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .small-col-3:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .med-col-3:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .large-col-3:last-child {\\n padding-right: 0; } }\\n\\n.col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .col-4:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .small-col-4:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .med-col-4:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .large-col-4:last-child {\\n padding-right: 0; } }\\n\\n.col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .col-5:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .small-col-5:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .med-col-5:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .large-col-5:last-child {\\n padding-right: 0; } }\\n\\n.col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .col-6:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .small-col-6:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .med-col-6:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .large-col-6:last-child {\\n padding-right: 0; } }\\n\\n.col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .col-7:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .small-col-7:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .med-col-7:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .large-col-7:last-child {\\n padding-right: 0; } }\\n\\n.col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .col-8:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .small-col-8:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .med-col-8:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .large-col-8:last-child {\\n padding-right: 0; } }\\n\\n.col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .col-9:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .small-col-9:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .med-col-9:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .large-col-9:last-child {\\n padding-right: 0; } }\\n\\n.col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .col-10:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .small-col-10:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .med-col-10:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .large-col-10:last-child {\\n padding-right: 0; } }\\n\\n.col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .col-11:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .small-col-11:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .med-col-11:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .large-col-11:last-child {\\n padding-right: 0; } }\\n\\n.col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .col-12:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .small-col-12:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .med-col-12:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .large-col-12:last-child {\\n padding-right: 0; } }\\n\\n.col-1-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 8.33333%;\\n width: 8.33333%; }\\n .col-1-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 16.66667%;\\n width: 8.33333%; }\\n .col-1-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 25%;\\n width: 8.33333%; }\\n .col-1-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 33.33333%;\\n width: 8.33333%; }\\n .col-1-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 41.66667%;\\n width: 8.33333%; }\\n .col-1-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 8.33333%; }\\n .col-1-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 58.33333%;\\n width: 8.33333%; }\\n .col-1-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 8.33333%; }\\n .col-1-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-9 {\\n padding-left: 9em;\\n padding-right: 1em;\\n margin-left: 75%;\\n width: 8.33333%; }\\n .col-1-offset-9:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-10 {\\n padding-left: 10em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 8.33333%; }\\n .col-1-offset-10:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-11 {\\n padding-left: 11em;\\n padding-right: 1em;\\n margin-left: 91.66667%;\\n width: 8.33333%; }\\n .col-1-offset-11:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 16.66667%;\\n width: 16.66667%; }\\n .col-2-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 33.33333%;\\n width: 16.66667%; }\\n .col-2-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 16.66667%; }\\n .col-2-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 16.66667%; }\\n .col-2-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 16.66667%; }\\n .col-2-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 16.66667%; }\\n .col-2-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 116.66667%;\\n width: 16.66667%; }\\n .col-2-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 133.33333%;\\n width: 16.66667%; }\\n .col-2-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-9 {\\n padding-left: 9em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 16.66667%; }\\n .col-2-offset-9:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-10 {\\n padding-left: 10em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 16.66667%; }\\n .col-2-offset-10:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 25%;\\n width: 25%; }\\n .col-3-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 25%; }\\n .col-3-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 75%;\\n width: 25%; }\\n .col-3-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 25%; }\\n .col-3-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 125%;\\n width: 25%; }\\n .col-3-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 25%; }\\n .col-3-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 175%;\\n width: 25%; }\\n .col-3-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 25%; }\\n .col-3-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-9 {\\n padding-left: 9em;\\n padding-right: 1em;\\n margin-left: 225%;\\n width: 25%; }\\n .col-3-offset-9:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 33.33333%;\\n width: 33.33333%; }\\n .col-4-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 33.33333%; }\\n .col-4-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 33.33333%; }\\n .col-4-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 133.33333%;\\n width: 33.33333%; }\\n .col-4-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 33.33333%; }\\n .col-4-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 33.33333%; }\\n .col-4-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 233.33333%;\\n width: 33.33333%; }\\n .col-4-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 266.66667%;\\n width: 33.33333%; }\\n .col-4-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 41.66667%;\\n width: 41.66667%; }\\n .col-5-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 41.66667%; }\\n .col-5-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 125%;\\n width: 41.66667%; }\\n .col-5-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 41.66667%; }\\n .col-5-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 208.33333%;\\n width: 41.66667%; }\\n .col-5-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 250%;\\n width: 41.66667%; }\\n .col-5-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 291.66667%;\\n width: 41.66667%; }\\n .col-5-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 50%; }\\n .col-6-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 50%; }\\n .col-6-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 50%; }\\n .col-6-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 50%; }\\n .col-6-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 250%;\\n width: 50%; }\\n .col-6-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 300%;\\n width: 50%; }\\n .col-6-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 58.33333%;\\n width: 58.33333%; }\\n .col-7-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 116.66667%;\\n width: 58.33333%; }\\n .col-7-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 175%;\\n width: 58.33333%; }\\n .col-7-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 233.33333%;\\n width: 58.33333%; }\\n .col-7-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 291.66667%;\\n width: 58.33333%; }\\n .col-7-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 66.66667%; }\\n .col-8-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 133.33333%;\\n width: 66.66667%; }\\n .col-8-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 66.66667%; }\\n .col-8-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 266.66667%;\\n width: 66.66667%; }\\n .col-8-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-9-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 75%;\\n width: 75%; }\\n .col-9-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-9-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 75%; }\\n .col-9-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-9-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 225%;\\n width: 75%; }\\n .col-9-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-10-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 83.33333%; }\\n .col-10-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-10-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 83.33333%; }\\n .col-10-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-11-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 91.66667%;\\n width: 91.66667%; }\\n .col-11-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col.float-right {\\n float: right;\\n padding-right: 0;\\n padding-left: 1em; }\\n\\nbody, html {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n font-family: sans-serif;\\n font-style: normal;\\n margin: 0;\\n padding: 0; }\\n\\nbody.toolbar-horizontal.toolbar-themes.toolbar-no-tabs {\\n padding-top: 24px !important; }\\n\\nheader[role=\\\"banner\\\"] {\\n background-color: #fff;\\n overflow: visible;\\n position: fixed;\\n z-index: 10;\\n width: 100vw;\\n height: 80px; }\\n header[role=\\\"banner\\\"] .wrapper .header-block {\\n min-height: 15px;\\n font-size: 0; }\\n header[role=\\\"banner\\\"] .wrapper .header-block.header-right {\\n text-align: right; }\\n header[role=\\\"banner\\\"] .wrapper .header-block > * {\\n display: inline-block;\\n vertical-align: top;\\n font-size: 16px;\\n text-align: left; }\\n\\nmain[role=\\\"main\\\"] {\\n padding-top: 80px; }\\n\\nbody {\\n font-size: 16px;\\n font-family: \\\"Ubuntu\\\",Arial,\\\"MS Trebuchet\\\",sans-serif;\\n font-weight: 500;\\n font-style: normal;\\n line-height: 1.3; }\\n\\naside.messages {\\n border: none; }\\n\\nheader[role=\\\"banner\\\"] {\\n padding: 0.2em 0 0 0; }\\n header[role=\\\"banner\\\"] #block-sitebranding h1 {\\n margin: 0;\\n line-height: 1; }\\n header[role=\\\"banner\\\"] #block-userlogin {\\n position: relative;\\n width: 8em;\\n overflow: visible; }\\n header[role=\\\"banner\\\"] #block-userlogin h2 {\\n margin: 0;\\n font-size: 1em;\\n font-weight: 400; }\\n header[role=\\\"banner\\\"] #block-userlogin > section {\\n background-color: #fff;\\n overflow: hidden;\\n width: 11em;\\n height: 1px;\\n padding: 0.01em 1em;\\n box-sizing: content-box;\\n transition: all 0.4s ease-in-out;\\n transition-delay: 2s;\\n position: absolute;\\n right: 0;\\n top: 1.7em;\\n box-sizing: content-box; }\\n header[role=\\\"banner\\\"] #block-userlogin:hover > section {\\n transition-delay: 0s;\\n height: 12em;\\n padding: 1em 1em;\\n box-shadow: 0 0 10px #ccc; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item {\\n margin: 0;\\n position: relative;\\n width: 100%; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-name {\\n margin: 2px 0 0.5em 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-name input {\\n width: 90%;\\n padding: 0;\\n box-sizing: content-box; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-pass {\\n margin: 0 0 0.5em 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-pass input {\\n width: 90%;\\n padding: 0;\\n box-sizing: content-box; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-persistent-login {\\n font-size: 0.756em; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-persistent-login label {\\n vertical-align: top; }\\n header[role=\\\"banner\\\"] #block-userlogin #edit-actions {\\n margin: 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .item-list ul {\\n margin: 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .item-list ul li {\\n list-style: none;\\n margin: 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .item-list ul li a {\\n font-size: 0.756em; }\\n header[role=\\\"banner\\\"] #block-languageswitcher h2 {\\n margin: 0.1em 0 0 0;\\n font-size: 0.756em;\\n font-weight: 400;\\n padding: 0.1em 0.4em 0.2em;\\n border-radius: 3px;\\n background-color: #444;\\n color: #fff;\\n display: inline-block;\\n vertical-align: top; }\\n header[role=\\\"banner\\\"] #block-languageswitcher > ul.links {\\n overflow: hidden;\\n width: 5em;\\n height: 1px;\\n padding: 0.01em 0;\\n margin: 0;\\n box-sizing: content-box;\\n transition: all 0.4s ease-in-out; }\\n header[role=\\\"banner\\\"] #block-languageswitcher:hover > ul.links {\\n transition-delay: 0s;\\n height: 2em;\\n padding: 0.3em 0; }\\n header[role=\\\"banner\\\"] #block-languageswitcher li {\\n list-style: none;\\n padding: 0; }\\n header[role=\\\"banner\\\"] #block-languageswitcher li.is-active {\\n display: none; }\\n header[role=\\\"banner\\\"] #block-languageswitcher li a {\\n margin: 0;\\n font-size: 0.756em;\\n font-weight: 400;\\n padding: 0.2em 0.4em;\\n border-radius: 3px;\\n background-color: #444;\\n color: #fff; }\\n\\naside.messages {\\n padding: 0; }\\n\\n#materio-sapi-search-form .form-item, #materio-sapi-search-form input.button {\\n display: inline-block; }\\n\\narticle.node--type-frontpage .node__content .field--name-field-what-is-materio:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-a-database:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-showrooms:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-blabla:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-pricing:not(:nth-child(1)) {\\n margin-top: 1em; }\\n\\narticle.node--type-frontpage .node__content .field--name-field-what-is-materio .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-a-database .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-showrooms .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-blabla .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-pricing .field__label {\\n font-size: 2.2em;\\n font-weight: bold; }\\n\\narticle.node--type-frontpage .node__content .field--name-computed-materials-reference .field__item,\\narticle.node--type-frontpage .node__content .field--name-computed-showrooms-reference .field__item,\\narticle.node--type-frontpage .node__content .field--name-computed-articles-reference .field__item {\\n display: inline-block;\\n vertical-align: top;\\n max-width: 250px; }\\n\\n.cards-list > ul {\\n margin: 0;\\n padding: 0; }\\n .cards-list > ul > li {\\n list-style: none;\\n margin: 0 1em 1em 0;\\n padding: 0;\\n display: inline-block;\\n vertical-align: top; }\\n\\n.card {\\n position: relative;\\n width: 210px;\\n height: 295px; }\\n .card header {\\n position: absolute;\\n bottom: 0;\\n z-index: 10;\\n color: #fff;\\n background-color: rgba(0, 0, 0, 0.5);\\n width: 100%; }\\n .card header h1, .card header h4 {\\n margin: 0;\\n padding: 0; }\\n .card header h1 {\\n font-size: 1.5em; }\\n .card header h4 {\\n font-size: 1em;\\n font-weight: normal; }\\n .card section.images {\\n position: relative; }\\n .card section.images img:first-of-type {\\n z-index: 5; }\\n .card section.images img:not(:first-of-type) {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1; }\\n\", \"\"]);\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/assets/styles/main.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/lib/loader.js"); +eval("exports = module.exports = __webpack_require__(/*! ../../../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.i, \"body {\\n background: white; }\\n\\na {\\n color: inherit;\\n text-decoration: none; }\\n\\na, a:focus, a:active {\\n outline: none; }\\n\\na:focus {\\n -moz-outline-style: none; }\\n\\n.col-1, .small-col-1, .med-col-1, .large-col-1, .col-2, .small-col-2, .med-col-2, .large-col-2, .col-3, .small-col-3, .med-col-3, .large-col-3, .col-4, .small-col-4, .med-col-4, .large-col-4, .col-5, .small-col-5, .med-col-5, .large-col-5, .col-6, .small-col-6, .med-col-6, .large-col-6, .col-7, .small-col-7, .med-col-7, .large-col-7, .col-8, .small-col-8, .med-col-8, .large-col-8, .col-9, .small-col-9, .med-col-9, .large-col-9, .col-10, .small-col-10, .med-col-10, .large-col-10, .col-11, .small-col-11, .med-col-11, .large-col-11, .col-12, .small-col-12, .med-col-12, .large-col-12, .col-1-offset-1, .col-1-offset-2, .col-1-offset-3, .col-1-offset-4, .col-1-offset-5, .col-1-offset-6, .col-1-offset-7, .col-1-offset-8, .col-1-offset-9, .col-1-offset-10, .col-1-offset-11, .col-2-offset-1, .col-2-offset-2, .col-2-offset-3, .col-2-offset-4, .col-2-offset-5, .col-2-offset-6, .col-2-offset-7, .col-2-offset-8, .col-2-offset-9, .col-2-offset-10, .col-3-offset-1, .col-3-offset-2, .col-3-offset-3, .col-3-offset-4, .col-3-offset-5, .col-3-offset-6, .col-3-offset-7, .col-3-offset-8, .col-3-offset-9, .col-4-offset-1, .col-4-offset-2, .col-4-offset-3, .col-4-offset-4, .col-4-offset-5, .col-4-offset-6, .col-4-offset-7, .col-4-offset-8, .col-5-offset-1, .col-5-offset-2, .col-5-offset-3, .col-5-offset-4, .col-5-offset-5, .col-5-offset-6, .col-5-offset-7, .col-6-offset-1, .col-6-offset-2, .col-6-offset-3, .col-6-offset-4, .col-6-offset-5, .col-6-offset-6, .col-7-offset-1, .col-7-offset-2, .col-7-offset-3, .col-7-offset-4, .col-7-offset-5, .col-8-offset-1, .col-8-offset-2, .col-8-offset-3, .col-8-offset-4, .col-9-offset-1, .col-9-offset-2, .col-9-offset-3, .col-10-offset-1, .col-10-offset-2, .col-11-offset-1 {\\n width: 100%;\\n float: left;\\n box-sizing: border-box; }\\n\\n.row {\\n position: relative; }\\n .row > * {\\n font-size: 16px; }\\n\\n.col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .col-1:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .small-col-1:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .med-col-1:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-1 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 8.33333%; }\\n .large-col-1:last-child {\\n padding-right: 0; } }\\n\\n.col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .col-2:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .small-col-2:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .med-col-2:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-2 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 16.66667%; }\\n .large-col-2:last-child {\\n padding-right: 0; } }\\n\\n.col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .col-3:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .small-col-3:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .med-col-3:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-3 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 25%; }\\n .large-col-3:last-child {\\n padding-right: 0; } }\\n\\n.col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .col-4:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .small-col-4:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .med-col-4:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-4 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 33.33333%; }\\n .large-col-4:last-child {\\n padding-right: 0; } }\\n\\n.col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .col-5:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .small-col-5:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .med-col-5:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-5 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 41.66667%; }\\n .large-col-5:last-child {\\n padding-right: 0; } }\\n\\n.col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .col-6:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .small-col-6:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .med-col-6:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-6 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 50%; }\\n .large-col-6:last-child {\\n padding-right: 0; } }\\n\\n.col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .col-7:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .small-col-7:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .med-col-7:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-7 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 58.33333%; }\\n .large-col-7:last-child {\\n padding-right: 0; } }\\n\\n.col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .col-8:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .small-col-8:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .med-col-8:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-8 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 66.66667%; }\\n .large-col-8:last-child {\\n padding-right: 0; } }\\n\\n.col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .col-9:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .small-col-9:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .med-col-9:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-9 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 75%; }\\n .large-col-9:last-child {\\n padding-right: 0; } }\\n\\n.col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .col-10:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .small-col-10:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .med-col-10:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-10 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 83.33333%; }\\n .large-col-10:last-child {\\n padding-right: 0; } }\\n\\n.col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .col-11:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .small-col-11:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .med-col-11:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-11 {\\n padding-left: 0em;\\n padding-right: 1em;\\n margin-left: 0%;\\n width: 91.66667%; }\\n .large-col-11:last-child {\\n padding-right: 0; } }\\n\\n.col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .col-12:last-child {\\n padding-right: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .small-col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .small-col-12:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 769px) and (max-width: 1080px) {\\n .med-col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .med-col-12:last-child {\\n padding-right: 0; } }\\n\\n@media only screen and (min-width: 1081px) {\\n .large-col-12 {\\n padding-left: 0em;\\n padding-right: 0;\\n margin-left: 0%;\\n width: 100%; }\\n .large-col-12:last-child {\\n padding-right: 0; } }\\n\\n.col-1-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 8.33333%;\\n width: 8.33333%; }\\n .col-1-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 16.66667%;\\n width: 8.33333%; }\\n .col-1-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 25%;\\n width: 8.33333%; }\\n .col-1-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 33.33333%;\\n width: 8.33333%; }\\n .col-1-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 41.66667%;\\n width: 8.33333%; }\\n .col-1-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 8.33333%; }\\n .col-1-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 58.33333%;\\n width: 8.33333%; }\\n .col-1-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 8.33333%; }\\n .col-1-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-9 {\\n padding-left: 9em;\\n padding-right: 1em;\\n margin-left: 75%;\\n width: 8.33333%; }\\n .col-1-offset-9:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-10 {\\n padding-left: 10em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 8.33333%; }\\n .col-1-offset-10:last-child {\\n padding-right: 0; }\\n\\n.col-1-offset-11 {\\n padding-left: 11em;\\n padding-right: 1em;\\n margin-left: 91.66667%;\\n width: 8.33333%; }\\n .col-1-offset-11:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 16.66667%;\\n width: 16.66667%; }\\n .col-2-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 33.33333%;\\n width: 16.66667%; }\\n .col-2-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 16.66667%; }\\n .col-2-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 16.66667%; }\\n .col-2-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 16.66667%; }\\n .col-2-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 16.66667%; }\\n .col-2-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 116.66667%;\\n width: 16.66667%; }\\n .col-2-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 133.33333%;\\n width: 16.66667%; }\\n .col-2-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-9 {\\n padding-left: 9em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 16.66667%; }\\n .col-2-offset-9:last-child {\\n padding-right: 0; }\\n\\n.col-2-offset-10 {\\n padding-left: 10em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 16.66667%; }\\n .col-2-offset-10:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 25%;\\n width: 25%; }\\n .col-3-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 25%; }\\n .col-3-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 75%;\\n width: 25%; }\\n .col-3-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 25%; }\\n .col-3-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 125%;\\n width: 25%; }\\n .col-3-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 25%; }\\n .col-3-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 175%;\\n width: 25%; }\\n .col-3-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 25%; }\\n .col-3-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-3-offset-9 {\\n padding-left: 9em;\\n padding-right: 1em;\\n margin-left: 225%;\\n width: 25%; }\\n .col-3-offset-9:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 33.33333%;\\n width: 33.33333%; }\\n .col-4-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 33.33333%; }\\n .col-4-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 33.33333%; }\\n .col-4-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 133.33333%;\\n width: 33.33333%; }\\n .col-4-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 33.33333%; }\\n .col-4-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 33.33333%; }\\n .col-4-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 233.33333%;\\n width: 33.33333%; }\\n .col-4-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-4-offset-8 {\\n padding-left: 8em;\\n padding-right: 1em;\\n margin-left: 266.66667%;\\n width: 33.33333%; }\\n .col-4-offset-8:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 41.66667%;\\n width: 41.66667%; }\\n .col-5-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 41.66667%; }\\n .col-5-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 125%;\\n width: 41.66667%; }\\n .col-5-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 41.66667%; }\\n .col-5-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 208.33333%;\\n width: 41.66667%; }\\n .col-5-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 250%;\\n width: 41.66667%; }\\n .col-5-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-5-offset-7 {\\n padding-left: 7em;\\n padding-right: 1em;\\n margin-left: 291.66667%;\\n width: 41.66667%; }\\n .col-5-offset-7:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 50%;\\n width: 50%; }\\n .col-6-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 100%;\\n width: 50%; }\\n .col-6-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 50%; }\\n .col-6-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 50%; }\\n .col-6-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 250%;\\n width: 50%; }\\n .col-6-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-6-offset-6 {\\n padding-left: 6em;\\n padding-right: 1em;\\n margin-left: 300%;\\n width: 50%; }\\n .col-6-offset-6:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 58.33333%;\\n width: 58.33333%; }\\n .col-7-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 116.66667%;\\n width: 58.33333%; }\\n .col-7-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 175%;\\n width: 58.33333%; }\\n .col-7-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 233.33333%;\\n width: 58.33333%; }\\n .col-7-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-7-offset-5 {\\n padding-left: 5em;\\n padding-right: 1em;\\n margin-left: 291.66667%;\\n width: 58.33333%; }\\n .col-7-offset-5:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 66.66667%;\\n width: 66.66667%; }\\n .col-8-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 133.33333%;\\n width: 66.66667%; }\\n .col-8-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 200%;\\n width: 66.66667%; }\\n .col-8-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-8-offset-4 {\\n padding-left: 4em;\\n padding-right: 1em;\\n margin-left: 266.66667%;\\n width: 66.66667%; }\\n .col-8-offset-4:last-child {\\n padding-right: 0; }\\n\\n.col-9-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 75%;\\n width: 75%; }\\n .col-9-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-9-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 150%;\\n width: 75%; }\\n .col-9-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-9-offset-3 {\\n padding-left: 3em;\\n padding-right: 1em;\\n margin-left: 225%;\\n width: 75%; }\\n .col-9-offset-3:last-child {\\n padding-right: 0; }\\n\\n.col-10-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 83.33333%;\\n width: 83.33333%; }\\n .col-10-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col-10-offset-2 {\\n padding-left: 2em;\\n padding-right: 1em;\\n margin-left: 166.66667%;\\n width: 83.33333%; }\\n .col-10-offset-2:last-child {\\n padding-right: 0; }\\n\\n.col-11-offset-1 {\\n padding-left: 1em;\\n padding-right: 1em;\\n margin-left: 91.66667%;\\n width: 91.66667%; }\\n .col-11-offset-1:last-child {\\n padding-right: 0; }\\n\\n.col.float-right {\\n float: right;\\n padding-right: 0;\\n padding-left: 1em; }\\n\\nbody, html {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n font-family: sans-serif;\\n font-style: normal;\\n margin: 0;\\n padding: 0; }\\n\\nbody.toolbar-horizontal.toolbar-themes.toolbar-no-tabs {\\n padding-top: 24px !important; }\\n\\nheader[role=\\\"banner\\\"] {\\n background-color: #fff;\\n overflow: visible;\\n position: fixed;\\n z-index: 10;\\n width: 100vw;\\n height: 80px; }\\n header[role=\\\"banner\\\"] .wrapper .header-block {\\n min-height: 15px;\\n font-size: 0; }\\n header[role=\\\"banner\\\"] .wrapper .header-block.header-right {\\n text-align: right; }\\n header[role=\\\"banner\\\"] .wrapper .header-block > * {\\n display: inline-block;\\n vertical-align: top;\\n font-size: 16px;\\n text-align: left; }\\n\\nmain[role=\\\"main\\\"] {\\n padding-top: 80px; }\\n\\nbody {\\n font-size: 16px;\\n font-family: \\\"Ubuntu\\\",Arial,\\\"MS Trebuchet\\\",sans-serif;\\n font-weight: 500;\\n font-style: normal;\\n line-height: 1.3; }\\n\\naside.messages {\\n border: none; }\\n\\nheader[role=\\\"banner\\\"] {\\n padding: 0.2em 0 0 0; }\\n header[role=\\\"banner\\\"] #block-sitebranding h1 {\\n margin: 0;\\n line-height: 1; }\\n header[role=\\\"banner\\\"] #block-userlogin {\\n position: relative;\\n width: 8em;\\n overflow: visible; }\\n header[role=\\\"banner\\\"] #block-userlogin h2 {\\n margin: 0;\\n font-size: 1em;\\n font-weight: 400; }\\n header[role=\\\"banner\\\"] #block-userlogin > section {\\n background-color: #fff;\\n overflow: hidden;\\n width: 11em;\\n height: 1px;\\n padding: 0.01em 1em;\\n box-sizing: content-box;\\n transition: all 0.4s ease-in-out;\\n transition-delay: 2s;\\n position: absolute;\\n right: 0;\\n top: 1.7em;\\n box-sizing: content-box; }\\n header[role=\\\"banner\\\"] #block-userlogin:hover > section {\\n transition-delay: 0s;\\n height: 12em;\\n padding: 1em 1em;\\n box-shadow: 0 0 10px #ccc; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item {\\n margin: 0;\\n position: relative;\\n width: 100%; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-name {\\n margin: 2px 0 0.5em 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-name input {\\n width: 90%;\\n padding: 0;\\n box-sizing: content-box; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-pass {\\n margin: 0 0 0.5em 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-pass input {\\n width: 90%;\\n padding: 0;\\n box-sizing: content-box; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-persistent-login {\\n font-size: 0.756em; }\\n header[role=\\\"banner\\\"] #block-userlogin .form-item.form-item-persistent-login label {\\n vertical-align: top; }\\n header[role=\\\"banner\\\"] #block-userlogin #edit-actions {\\n margin: 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .item-list ul {\\n margin: 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .item-list ul li {\\n list-style: none;\\n margin: 0; }\\n header[role=\\\"banner\\\"] #block-userlogin .item-list ul li a {\\n font-size: 0.756em; }\\n header[role=\\\"banner\\\"] #block-languageswitcher h2 {\\n margin: 0.1em 0 0 0;\\n font-size: 0.756em;\\n font-weight: 400;\\n padding: 0.1em 0.4em 0.2em;\\n border-radius: 3px;\\n background-color: #444;\\n color: #fff;\\n display: inline-block;\\n vertical-align: top; }\\n header[role=\\\"banner\\\"] #block-languageswitcher > ul.links {\\n overflow: hidden;\\n width: 5em;\\n height: 1px;\\n padding: 0.01em 0;\\n margin: 0;\\n box-sizing: content-box;\\n transition: all 0.4s ease-in-out; }\\n header[role=\\\"banner\\\"] #block-languageswitcher:hover > ul.links {\\n transition-delay: 0s;\\n height: 2em;\\n padding: 0.3em 0; }\\n header[role=\\\"banner\\\"] #block-languageswitcher li {\\n list-style: none;\\n padding: 0; }\\n header[role=\\\"banner\\\"] #block-languageswitcher li.is-active {\\n display: none; }\\n header[role=\\\"banner\\\"] #block-languageswitcher li a {\\n margin: 0;\\n font-size: 0.756em;\\n font-weight: 400;\\n padding: 0.2em 0.4em;\\n border-radius: 3px;\\n background-color: #444;\\n color: #fff; }\\n\\naside.messages {\\n padding: 0; }\\n\\n#materio-sapi-search-form .form-item, #materio-sapi-search-form input.button {\\n display: inline-block; }\\n\\narticle.node--type-frontpage .node__content .field--name-field-what-is-materio:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-a-database:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-showrooms:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-blabla:not(:nth-child(1)),\\narticle.node--type-frontpage .node__content .field--name-field-pricing:not(:nth-child(1)) {\\n margin-top: 1em; }\\n\\narticle.node--type-frontpage .node__content .field--name-field-what-is-materio .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-a-database .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-showrooms .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-blabla .field__label,\\narticle.node--type-frontpage .node__content .field--name-field-pricing .field__label {\\n font-size: 2.2em;\\n font-weight: bold; }\\n\\narticle.node--type-frontpage .node__content .field--name-computed-materials-reference .field__item,\\narticle.node--type-frontpage .node__content .field--name-computed-showrooms-reference .field__item,\\narticle.node--type-frontpage .node__content .field--name-computed-articles-reference .field__item {\\n display: inline-block;\\n vertical-align: top;\\n max-width: 250px; }\\n\\n.cards-list > ul {\\n margin: 0;\\n padding: 0; }\\n .cards-list > ul > li {\\n list-style: none;\\n margin: 0 1em 1em 0;\\n padding: 0;\\n display: inline-block;\\n vertical-align: top; }\\n\\n.card {\\n position: relative;\\n width: 210px;\\n height: 295px; }\\n .card header {\\n position: absolute;\\n bottom: 0;\\n z-index: 10;\\n color: #fff;\\n background-color: rgba(0, 0, 0, 0.5);\\n width: 100%; }\\n .card header h1, .card header h4 {\\n margin: 0;\\n padding: 0; }\\n .card header h1 {\\n font-size: 1.5em; }\\n .card header h4 {\\n font-size: 1em;\\n font-weight: normal; }\\n .card section.images {\\n position: relative; }\\n .card section.images, .card section.images * {\\n width: 100%;\\n height: 100%; }\\n .card section.images figure {\\n margin: 0;\\n position: absolute;\\n top: 0;\\n left: 0; }\\n .card section.images figure:first-of-type {\\n z-index: 5; }\\n .card section.images figure img.blank {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 20; }\\n\", \"\"]);\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/assets/styles/main.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/lib/loader.js"); /***/ }), @@ -638,7 +638,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"Base\" } }, [\n _c(\"h1\", { staticClass: \"page-title\" }, [_vm._v(_vm._s(_vm.pagetitle))]),\n _vm._v(\" \"),\n !_vm.items.length\n ? _c(\"div\", { staticClass: \"loading\" }, [\n _c(\"span\", [_vm._v(\"Loading ...\")])\n ])\n : _c(\"div\", { staticClass: \"cards-list\" }, [\n _c(\"aside\", { staticClass: \"search-info\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.searchinfos) + \"\\n \")\n ]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n _vm._l(_vm.items, function(item) {\n return _c(\n \"li\",\n { key: item.nid },\n [_c(\"Card\", { attrs: { item: item } })],\n 1\n )\n }),\n 0\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Base.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"Base\" } }, [\n _c(\"h1\", { staticClass: \"page-title\" }, [_vm._v(_vm._s(_vm.pagetitle))]),\n _vm._v(\" \"),\n !_vm.items.length\n ? _c(\"div\", { staticClass: \"loading\" }, [\n _c(\"span\", [_vm._v(\"Loading ...\")])\n ])\n : _c(\"div\", { staticClass: \"cards-list\" }, [\n _c(\"aside\", { staticClass: \"search-info\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.searchinfos) + \"\\n \")\n ]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n _vm._l(_vm.items, function(item) {\n return _c(\n \"li\",\n { key: item.uuid },\n [_c(\"Card\", { attrs: { item: item } })],\n 1\n )\n }),\n 0\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Base.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), @@ -650,7 +650,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"card\" }, [\n _c(\"header\", [\n _c(\"h1\", [_vm._v(_vm._s(_vm.item.title))]),\n _vm._v(\" \"),\n _c(\"h4\", [_vm._v(_vm._s(_vm.item.description))])\n ]),\n _vm._v(\" \"),\n _c(\n \"section\",\n { staticClass: \"images\" },\n _vm._l(_vm.item.images, function(img) {\n return _c(\"img\", {\n staticClass: \"images\",\n attrs: { src: img.url, title: img.title }\n })\n }),\n 0\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"card\" }, [\n _c(\"header\", [\n _c(\"h1\", [_vm._v(_vm._s(_vm.item.title))]),\n _vm._v(\" \"),\n _c(\"h4\", [_vm._v(_vm._s(_vm.item.description))])\n ]),\n _vm._v(\" \"),\n _c(\n \"section\",\n {\n directives: [{ name: \"switcher\", rawName: \"v-switcher\" }],\n staticClass: \"images\"\n },\n _vm._l(_vm.item.images, function(img, index) {\n return _c(\"figure\", { key: img.url }, [\n _c(\"img\", {\n directives: [\n {\n name: \"lazy\",\n rawName: \"v-lazy\",\n value: index,\n expression: \"index\"\n }\n ],\n staticClass: \"lazy\",\n attrs: { \"data-src\": img.url, title: img.title }\n }),\n _vm._v(\" \"),\n _c(\"img\", { staticClass: \"blank\", attrs: { src: _vm.blanksrc } })\n ])\n }),\n 0\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/components/Content/Card.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), @@ -790,7 +790,7 @@ eval("var g; // This works in non-strict mode\n\ng = function () {\n return thi /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _store = _interopRequireDefault(__webpack_require__(/*! vuejs/store */ \"./web/themes/custom/materiotheme/vuejs/store/index.js\"));\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _UserBlock = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Block/UserBlock */ \"./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue\"));\n\nvar _MainContent = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/MainContent */ \"./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue\"));\n\nvar _SearchBlock = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Block/SearchBlock */ \"./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n__webpack_require__(/*! theme/assets/styles/main.scss */ \"./web/themes/custom/materiotheme/assets/styles/main.scss\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// import autofocus from 'vue-autofocus-directive';\n// Vue.directive('autofocus', autofocus);\n// require('theme/assets/styles/main.scss');\n(function (Drupal, drupalSettings) {\n var MaterioTheme = function MaterioTheme() {\n var _v_sitebranding_block, _v_user_block, _v_main_content, _v_search_block;\n\n var _is_front = drupalSettings.path.isFront;\n console.log('drupalSettings', drupalSettings); // ___ _ _\n // |_ _|_ _ (_) |_\n // | || ' \\| | _|\n // |___|_||_|_|\\__|\n\n function init() {\n console.log(\"MaterioTheme init()\");\n initVues();\n }\n\n function initVues() {\n initVSiteBrandingBlock();\n initVUserBlock();\n initVMainContent();\n initVSearchBlock();\n }\n\n function initVSiteBrandingBlock() {\n _v_sitebranding_block = new _vue.default({\n store: _store.default,\n router: _route.default,\n el: '#block-sitebranding',\n methods: {\n onclick: function onclick(event) {\n // console.log(\"Clicked on logo event\", event);\n var href = event.target.getAttribute('href'); // console.log(\"Clicked on logo href\", href);\n\n this.$router.push(href);\n }\n }\n });\n }\n\n function initVUserBlock() {\n var mount_point = drupalSettings.user.uid !== 0 ? 'block-userblock' : 'block-userlogin';\n var props = {\n title: \"\",\n loginblock: \"\"\n };\n\n switch (mount_point) {\n case 'block-userlogin':\n var $block = document.getElementById(mount_point);\n console.log('initVUserBlock login form html', $block);\n props.loginblock = $block.outerHTML.trim();\n break;\n\n case 'block-userblock':\n default:\n break;\n }\n\n _v_user_block = new _vue.default({\n store: _store.default,\n // computed: {\n // ...mapState({\n // isloggedin: state => state.User.isloggedin\n // })\n // },\n created: function created() {\n // if already loggedin, call store.user to get the user infos\n if (drupalSettings.user.uid !== 0) {\n this.$store.commit('User/setUid', drupalSettings.user.uid);\n this.$store.dispatch('User/getUser');\n }\n },\n render: function render(h) {\n return h(_UserBlock.default, {\n props: props\n });\n }\n }).$mount('#' + mount_point); // console.log('initVUserBlock', _v_user_block);\n }\n\n function initVMainContent() {\n var id = \"main-content\";\n var $main_content = document.querySelector('#' + id); // console.log('main-content', $main_content);\n\n var main_html = $main_content.innerHTML;\n _v_main_content = new _vue.default({\n store: _store.default,\n render: function render(h) {\n return h(_MainContent.default, {\n props: {\n id: id,\n html: main_html,\n isfront: drupalSettings.path.isFront\n }\n });\n }\n }).$mount('#' + id); // console.log('initTestVContent', v_test_content);\n }\n\n function initVSearchBlock() {\n // console.log('initVSearchBlock');\n var id = \"block-materiosapisearchblock\";\n var $search_block = document.getElementById(id);\n var formhtml = null;\n\n if ($search_block) {\n // get the search form html to pass it as template to the vue\n // we gain display speed vs async downloaded data\n formhtml = $search_block.innerHTML;\n } else {\n // else create the empty block to fill it later with async data\n $search_block = document.createElement('div');\n $search_block.setAttribute('id', id);\n var $region = document.getElementById('content-top');\n $region.appendChild($search_block);\n } // in any case create the vue\n\n\n _v_search_block = new _vue.default({\n store: _store.default,\n render: function render(h) {\n return h(_SearchBlock.default, {\n props: {\n blockid: id,\n formhtml: formhtml\n }\n });\n }\n }).$mount('#' + id);\n }\n\n init();\n }; // end MaterioTheme()\n\n\n var materiotheme = new MaterioTheme();\n})(Drupal, drupalSettings);\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/assets/scripts/main.js?"); +eval("\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.js\"));\n\nvar _store = _interopRequireDefault(__webpack_require__(/*! vuejs/store */ \"./web/themes/custom/materiotheme/vuejs/store/index.js\"));\n\nvar _route = _interopRequireDefault(__webpack_require__(/*! vuejs/route */ \"./web/themes/custom/materiotheme/vuejs/route/index.js\"));\n\nvar _UserBlock = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Block/UserBlock */ \"./web/themes/custom/materiotheme/vuejs/components/Block/UserBlock.vue\"));\n\nvar _MainContent = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Content/MainContent */ \"./web/themes/custom/materiotheme/vuejs/components/Content/MainContent.vue\"));\n\nvar _SearchBlock = _interopRequireDefault(__webpack_require__(/*! vuejs/components/Block/SearchBlock */ \"./web/themes/custom/materiotheme/vuejs/components/Block/SearchBlock.vue\"));\n\nvar _vuex = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n__webpack_require__(/*! theme/assets/styles/main.scss */ \"./web/themes/custom/materiotheme/assets/styles/main.scss\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// require('theme/assets/styles/main.scss');\n(function (Drupal, drupalSettings) {\n var MaterioTheme = function MaterioTheme() {\n var _v_sitebranding_block, _v_user_block, _v_main_content, _v_search_block;\n\n var _is_front = drupalSettings.path.isFront;\n console.log('drupalSettings', drupalSettings); // ___ _ _\n // |_ _|_ _ (_) |_\n // | || ' \\| | _|\n // |___|_||_|_|\\__|\n\n function init() {\n console.log(\"MaterioTheme init()\");\n initVues();\n }\n\n function initVues() {\n initVSiteBrandingBlock();\n initVUserBlock();\n initVMainContent();\n initVSearchBlock();\n }\n\n function initVSiteBrandingBlock() {\n _v_sitebranding_block = new _vue.default({\n store: _store.default,\n router: _route.default,\n el: '#block-sitebranding',\n methods: {\n onclick: function onclick(event) {\n // console.log(\"Clicked on logo event\", event);\n var href = event.target.getAttribute('href'); // console.log(\"Clicked on logo href\", href);\n\n this.$router.push(href);\n }\n }\n });\n }\n\n function initVUserBlock() {\n var mount_point = drupalSettings.user.uid !== 0 ? 'block-userblock' : 'block-userlogin';\n var props = {\n title: \"\",\n loginblock: \"\"\n };\n\n switch (mount_point) {\n case 'block-userlogin':\n var $block = document.getElementById(mount_point);\n console.log('initVUserBlock login form html', $block);\n props.loginblock = $block.outerHTML.trim();\n break;\n\n case 'block-userblock':\n default:\n break;\n }\n\n _v_user_block = new _vue.default({\n store: _store.default,\n // computed: {\n // ...mapState({\n // isloggedin: state => state.User.isloggedin\n // })\n // },\n created: function created() {\n // if already loggedin, call store.user to get the user infos\n if (drupalSettings.user.uid !== 0) {\n this.$store.commit('User/setUid', drupalSettings.user.uid);\n this.$store.dispatch('User/getUser');\n }\n },\n render: function render(h) {\n return h(_UserBlock.default, {\n props: props\n });\n }\n }).$mount('#' + mount_point); // console.log('initVUserBlock', _v_user_block);\n }\n\n function initVMainContent() {\n var id = \"main-content\";\n var $main_content = document.querySelector('#' + id); // console.log('main-content', $main_content);\n\n var main_html = $main_content.innerHTML;\n _v_main_content = new _vue.default({\n store: _store.default,\n render: function render(h) {\n return h(_MainContent.default, {\n props: {\n id: id,\n html: main_html,\n isfront: drupalSettings.path.isFront\n }\n });\n }\n }).$mount('#' + id); // console.log('initTestVContent', v_test_content);\n }\n\n function initVSearchBlock() {\n // console.log('initVSearchBlock');\n var id = \"block-materiosapisearchblock\";\n var $search_block = document.getElementById(id);\n var formhtml = null;\n\n if ($search_block) {\n // get the search form html to pass it as template to the vue\n // we gain display speed vs async downloaded data\n formhtml = $search_block.innerHTML;\n } else {\n // else create the empty block to fill it later with async data\n $search_block = document.createElement('div');\n $search_block.setAttribute('id', id);\n var $region = document.getElementById('content-top');\n $region.appendChild($search_block);\n } // in any case create the vue\n\n\n _v_search_block = new _vue.default({\n store: _store.default,\n render: function render(h) {\n return h(_SearchBlock.default, {\n props: {\n blockid: id,\n formhtml: formhtml\n }\n });\n }\n }).$mount('#' + id);\n }\n\n init();\n }; // end MaterioTheme()\n\n\n var materiotheme = new MaterioTheme();\n})(Drupal, drupalSettings);\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/assets/scripts/main.js?"); /***/ }), @@ -1185,7 +1185,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _jsonAxios = __webpack_require__(/*! vuejs/api/json-axios */ \"./web/themes/custom/materiotheme/vuejs/api/json-axios.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _querystring = _interopRequireDefault(__webpack_require__(/*! querystring */ \"./node_modules/querystring-es3/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n namespaced: true,\n // initial state\n state: {\n keys: \"\",\n term: \"\",\n uuids: [],\n items: [],\n offset: 0,\n limit: 15,\n infos: null,\n count: 0\n },\n // getters\n getters: {},\n // mutations\n mutations: {\n setUuids: function setUuids(state, uuids) {\n state.uuids = uuids;\n },\n resetUuids: function resetUuids(state) {\n state.uuids = [];\n },\n setItems: function setItems(state, items) {\n state.items = items;\n },\n resetItems: function resetItems(state) {\n state.items = [];\n },\n setKeys: function setKeys(state, keys) {\n state.keys = keys;\n },\n setTerm: function setTerm(state, term) {\n state.term = term;\n },\n setInfos: function setInfos(state, infos) {\n state.infos = infos;\n },\n setCount: function setCount(state, count) {\n state.count = count;\n },\n resetOffset: function resetOffset(state) {\n state.offset = 0;\n },\n incrementOffset: function incrementOffset(state) {\n state.offset += state.limit;\n }\n },\n // actions\n actions: {\n newSearch: function newSearch(_ref) {\n var dispatch = _ref.dispatch,\n commit = _ref.commit,\n state = _ref.state;\n console.log('Search newSearch');\n commit('resetUuids');\n commit('resetItems');\n commit('resetOffset');\n dispatch('getResults');\n },\n getResults: function getResults(_ref2) {\n var dispatch = _ref2.dispatch,\n commit = _ref2.commit,\n state = _ref2.state;\n var params = {\n keys: state.keys,\n term: state.term,\n offset: state.offset,\n limit: state.limit // console.log('Search getResults params', params);\n\n };\n\n var q = _querystring.default.stringify(params);\n\n return _maAxios.MA.get(\"/materio_sapi/getresults?\" + q).then(function (_ref3) {\n var data = _ref3.data;\n console.log('search MA getresults data', data); // commit('setItems', data.items)\n\n commit('setInfos', data.infos);\n commit('setCount', data.count);\n commit('setUuids', data.uuids);\n dispatch('getItems', data.uuids);\n }).catch(function (error) {\n console.warn('Issue with getResults', error);\n Promise.reject(error);\n });\n },\n getItems: function getItems(_ref4, uuids) {\n var dispatch = _ref4.dispatch,\n commit = _ref4.commit,\n state = _ref4.state;\n var params = {\n // include: 'images', // no needs to include thanks to consumers_image_styles module\n 'filter[uuids-groupe][group][conjunction]': 'OR'\n };\n\n for (var i = 0; i < uuids.length; i++) {\n var uuid = uuids[i];\n params[\"filter[\".concat(uuid, \"][condition][path]\")] = 'id';\n params[\"filter[\".concat(uuid, \"][condition][value]\")] = uuid;\n params[\"filter[\".concat(uuid, \"][condition][operator]\")] = '=';\n params[\"filter[\".concat(uuid, \"][condition][memberOf]\")] = 'uuids-groupe';\n }\n\n console.log('search JSONAPI params', params);\n\n var q = _querystring.default.stringify(params);\n\n return _jsonAxios.JSONAPI.get('node/materiau?' + q).then(function (_ref5) {\n var data = _ref5.data;\n console.log('search getItems data', data);\n dispatch('parseItems', {\n data: data.data,\n uuids: uuids\n }); // commit('setItems', data.items)\n }).catch(function (error) {\n console.warn('Issue with getItems', error);\n Promise.reject(error);\n });\n },\n parseItems: function parseItems(_ref6, _ref7) {\n var dispatch = _ref6.dispatch,\n commit = _ref6.commit,\n state = _ref6.state;\n var data = _ref7.data,\n uuids = _ref7.uuids;\n // data comes from jsonapi query\n // uuids comes from solr search query (we loop from uuids to conserve the search results order)\n console.log('search parseItems data, uuids', data, uuids);\n var items = []; // for (var i = 0; i < data.length; i++) {\n\n var _loop = function _loop() {\n var uuid = uuids[i];\n var item_index = data.findIndex(function (p) {\n return p.id == uuid;\n });\n var item_src = data[item_index];\n var attrs = item_src.attributes;\n var relations = item_src.relationships; // get field values\n\n var item = {\n title: attrs.title,\n description: attrs.field_short_description,\n body: attrs.body,\n reference: attrs.field_reference // get images included values\n\n };\n var img_src = relations.images.data;\n item.images = [];\n\n for (j = 0; j < img_src.length; j++) {\n // // https://stackoverflow.com/questions/11258077/how-to-find-index-of-an-object-by-key-and-value-in-an-javascript-array\n // let index = included.findIndex(p => p.id == img_src[j].id)\n // let img = included[index]\n item.images.push({\n title: img_src[j].meta.title,\n url: img_src[j].meta.imageDerivatives.links.card_medium.href\n });\n }\n\n items.push(item);\n };\n\n for (var i = 0; i < uuids.length; i++) {\n var j;\n\n _loop();\n }\n\n console.log('items', items);\n commit('setItems', items);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/store/modules/search.js?"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _jsonAxios = __webpack_require__(/*! vuejs/api/json-axios */ \"./web/themes/custom/materiotheme/vuejs/api/json-axios.js\");\n\nvar _maAxios = __webpack_require__(/*! vuejs/api/ma-axios */ \"./web/themes/custom/materiotheme/vuejs/api/ma-axios.js\");\n\nvar _querystring = _interopRequireDefault(__webpack_require__(/*! querystring */ \"./node_modules/querystring-es3/index.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n namespaced: true,\n // initial state\n state: {\n keys: \"\",\n term: \"\",\n uuids: [],\n items: [],\n offset: 0,\n limit: 15,\n infos: null,\n count: 0\n },\n // getters\n getters: {},\n // mutations\n mutations: {\n setUuids: function setUuids(state, uuids) {\n state.uuids = uuids;\n },\n resetUuids: function resetUuids(state) {\n state.uuids = [];\n },\n setItems: function setItems(state, items) {\n state.items = items;\n },\n resetItems: function resetItems(state) {\n state.items = [];\n },\n setKeys: function setKeys(state, keys) {\n state.keys = keys;\n },\n setTerm: function setTerm(state, term) {\n state.term = term;\n },\n setInfos: function setInfos(state, infos) {\n state.infos = infos;\n },\n setCount: function setCount(state, count) {\n state.count = count;\n },\n resetOffset: function resetOffset(state) {\n state.offset = 0;\n },\n incrementOffset: function incrementOffset(state) {\n state.offset += state.limit;\n }\n },\n // actions\n actions: {\n newSearch: function newSearch(_ref) {\n var dispatch = _ref.dispatch,\n commit = _ref.commit,\n state = _ref.state;\n console.log('Search newSearch');\n commit('resetUuids');\n commit('resetItems');\n commit('resetOffset');\n dispatch('getResults');\n },\n getResults: function getResults(_ref2) {\n var dispatch = _ref2.dispatch,\n commit = _ref2.commit,\n state = _ref2.state;\n var params = {\n keys: state.keys,\n term: state.term,\n offset: state.offset,\n limit: state.limit // console.log('Search getResults params', params);\n\n };\n\n var q = _querystring.default.stringify(params);\n\n return _maAxios.MA.get(\"/materio_sapi/getresults?\" + q).then(function (_ref3) {\n var data = _ref3.data;\n console.log('search MA getresults data', data); // commit('setItems', data.items)\n\n commit('setInfos', data.infos);\n commit('setCount', data.count);\n commit('setUuids', data.uuids);\n dispatch('getItems', data.uuids);\n }).catch(function (error) {\n console.warn('Issue with getResults', error);\n Promise.reject(error);\n });\n },\n getItems: function getItems(_ref4, uuids) {\n var dispatch = _ref4.dispatch,\n commit = _ref4.commit,\n state = _ref4.state;\n var params = {\n // include: 'images', // no needs to include thanks to consumers_image_styles module\n 'filter[uuids-groupe][group][conjunction]': 'OR'\n };\n\n for (var i = 0; i < uuids.length; i++) {\n var uuid = uuids[i];\n params[\"filter[\".concat(uuid, \"][condition][path]\")] = 'id';\n params[\"filter[\".concat(uuid, \"][condition][value]\")] = uuid;\n params[\"filter[\".concat(uuid, \"][condition][operator]\")] = '=';\n params[\"filter[\".concat(uuid, \"][condition][memberOf]\")] = 'uuids-groupe';\n }\n\n console.log('search JSONAPI params', params);\n\n var q = _querystring.default.stringify(params);\n\n return _jsonAxios.JSONAPI.get('node/materiau?' + q).then(function (_ref5) {\n var data = _ref5.data;\n console.log('search getItems data', data);\n dispatch('parseItems', {\n data: data.data,\n uuids: uuids\n }); // commit('setItems', data.items)\n }).catch(function (error) {\n console.warn('Issue with getItems', error);\n Promise.reject(error);\n });\n },\n parseItems: function parseItems(_ref6, _ref7) {\n var dispatch = _ref6.dispatch,\n commit = _ref6.commit,\n state = _ref6.state;\n var data = _ref7.data,\n uuids = _ref7.uuids;\n // data comes from jsonapi query\n // uuids comes from solr search query (we loop from uuids to conserve the search results order)\n console.log('search parseItems data, uuids', data, uuids);\n var items = []; // for (var i = 0; i < data.length; i++) {\n\n var _loop = function _loop() {\n var uuid = uuids[i];\n var item_index = data.findIndex(function (p) {\n return p.id == uuid;\n });\n var item_src = data[item_index];\n var attrs = item_src.attributes;\n var relations = item_src.relationships; // get field values\n\n var item = {\n uuid: uuid,\n title: attrs.title,\n description: attrs.field_short_description,\n body: attrs.body,\n reference: attrs.field_reference // get images included values\n\n };\n var img_src = relations.images.data;\n item.images = [];\n\n for (j = 0; j < img_src.length; j++) {\n // // https://stackoverflow.com/questions/11258077/how-to-find-index-of-an-object-by-key-and-value-in-an-javascript-array\n // let index = included.findIndex(p => p.id == img_src[j].id)\n // let img = included[index]\n item.images.push({\n title: img_src[j].meta.title,\n url: img_src[j].meta.imageDerivatives.links.card_medium.href\n });\n }\n\n items.push(item);\n };\n\n for (var i = 0; i < uuids.length; i++) {\n var j;\n\n _loop();\n }\n\n console.log('items', items);\n commit('setItems', items);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./web/themes/custom/materiotheme/vuejs/store/modules/search.js?"); /***/ }), diff --git a/web/themes/custom/materiotheme/assets/img/blank.gif b/web/themes/custom/materiotheme/assets/img/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..c450ae4faa1104028109c013315545d1226a96aa GIT binary patch literal 1097 zcmZ?wbhEHbWMyDwXkcLY|NlP&1B2p!?g-xi1((Eh+i z#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaozEwNPs zx)kDt+yc0knMZjdu`2XMEKfizd{PF$U*Ds$x zef;qL-P<>>U%h}$>=IY|?BVyw literal 0 HcmV?d00001 diff --git a/web/themes/custom/materiotheme/assets/scripts/main.js b/web/themes/custom/materiotheme/assets/scripts/main.js index a61ec39..9443b33 100644 --- a/web/themes/custom/materiotheme/assets/scripts/main.js +++ b/web/themes/custom/materiotheme/assets/scripts/main.js @@ -3,9 +3,6 @@ import Vue from 'vue' import store from 'vuejs/store' import router from 'vuejs/route' -// import autofocus from 'vue-autofocus-directive'; -// Vue.directive('autofocus', autofocus); - import VUserBlock from 'vuejs/components/Block/UserBlock' import VMainContent from 'vuejs/components/Content/MainContent' import VSearchBlock from 'vuejs/components/Block/SearchBlock' diff --git a/web/themes/custom/materiotheme/assets/styles/main.scss b/web/themes/custom/materiotheme/assets/styles/main.scss index e302dec..816bd5e 100644 --- a/web/themes/custom/materiotheme/assets/styles/main.scss +++ b/web/themes/custom/materiotheme/assets/styles/main.scss @@ -251,13 +251,23 @@ article.node--type-frontpage{ } section.images{ position: relative; - img:first-of-type{ - z-index:5 - } - img:not(:first-of-type){ + &, *{width: 100%; height:100%;} + figure{ + margin:0; position: absolute; top:0; left:0; - z-index:1; + // width: 100%; height:100%; + &:first-of-type{ + z-index:5 + } + img{ + // width: 100%; height:100%; + &.blank{ + position: absolute; + top:0; left:0; + z-index: 20; + } + } } } } diff --git a/web/themes/custom/materiotheme/materiotheme.theme b/web/themes/custom/materiotheme/materiotheme.theme index f854662..391ca66 100644 --- a/web/themes/custom/materiotheme/materiotheme.theme +++ b/web/themes/custom/materiotheme/materiotheme.theme @@ -2,7 +2,7 @@ /** * @file - * Functions to support theming in the edlp theme. + * Functions to support theming in the materio theme. */ use Drupal\Core\Url; @@ -41,6 +41,10 @@ function materiotheme_preprocess_html(&$vars) { // ]); // $vars['head_title'] = $head_title; + global $base_url; + $theme = \Drupal::theme()->getActiveTheme(); + $vars['#attached']['drupalSettings']['path']['themePath'] = $base_url .'/'. $theme->getPath(); + $description = [ '#tag' => 'meta', '#attributes' => [ @@ -65,15 +69,15 @@ function materiotheme_preprocess_page(&$vars){ // dsm($vars, 'vars'); } -function materiotheme_preprocess_node(&$vars){ - $node = $vars['elements']['#node']; - $options = ['absolute' => TRUE]; - $url = Url::fromRoute('entity.node.canonical', ['node' => $node->id()], $options); - $system_path = $url->getInternalPath(); - $vars['link_attributes'] = new Attribute(array( - 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path - )); -} +// function materiotheme_preprocess_node(&$vars){ +// $node = $vars['elements']['#node']; +// $options = ['absolute' => TRUE]; +// $url = Url::fromRoute('entity.node.canonical', ['node' => $node->id()], $options); +// $system_path = $url->getInternalPath(); +// $vars['link_attributes'] = new Attribute(array( +// 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path +// )); +// } /** * Implements hook_form_alter @@ -104,21 +108,21 @@ function materiotheme_form_user_login_form_alter(&$form, FormStateInterface $for * - image_style: An optional image style. * - url: An optional \Drupal\Core\Url object. */ -function materiotheme_preprocess_image_formatter(&$vars){ - if(isset($vars['url'])){ - $system_path = $vars['url']->getInternalPath(); - $vars['link_attributes'] = new Attribute(array( - 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path, - 'class' => array('ajax-link') - )); - // dpm($vars); - } -} +// function materiotheme_preprocess_image_formatter(&$vars){ +// if(isset($vars['url'])){ +// $system_path = $vars['url']->getInternalPath(); +// $vars['link_attributes'] = new Attribute(array( +// 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path, +// 'class' => array('ajax-link') +// )); +// // dpm($vars); +// } +// } -function materiotheme_preprocess_links__language_block(&$vars){ - // dpm($vars); - // foreach ($vars['links'] as $lang_code => $link) { - // $vars['links'][$lang_code]['text'] = $lang_code; - // $vars['links'][$lang_code]['link']['#title'] = $lang_code; - // } -} +// function materiotheme_preprocess_links__language_block(&$vars){ +// // dpm($vars); +// // foreach ($vars['links'] as $lang_code => $link) { +// // $vars['links'][$lang_code]['text'] = $lang_code; +// // $vars['links'][$lang_code]['link']['#title'] = $lang_code; +// // } +// } diff --git a/web/themes/custom/materiotheme/vuejs/components/Content/Base.vue b/web/themes/custom/materiotheme/vuejs/components/Content/Base.vue index 67b624e..0a9425b 100644 --- a/web/themes/custom/materiotheme/vuejs/components/Content/Base.vue +++ b/web/themes/custom/materiotheme/vuejs/components/Content/Base.vue @@ -9,7 +9,7 @@ {{ searchinfos }}
    -
  • +
diff --git a/web/themes/custom/materiotheme/vuejs/components/Content/Card.vue b/web/themes/custom/materiotheme/vuejs/components/Content/Card.vue index 7146ed6..8fa9449 100644 --- a/web/themes/custom/materiotheme/vuejs/components/Content/Card.vue +++ b/web/themes/custom/materiotheme/vuejs/components/Content/Card.vue @@ -4,8 +4,19 @@

{{ item.title }}

{{ item.description }}

-
- +
+
+ + +
@@ -15,9 +26,59 @@ export default { name: "Card", props: ['item'], - data: () => ({ - - }) + data() { + return { + blanksrc:`${drupalSettings.path.themePath}/assets/img/blank.gif` + } + }, + directives: { + lazy: { + bind(img,binding){ + // console.log('lazy bind', img, binding); + if(binding.value === 0){ + img.setAttribute('src', img.getAttribute('data-src')) + img.removeAttribute('data-src') + img.classList.remove('lazy') + } + } + }, + switcher: { + inserted(el,binding){ + // switch images on mousemove + el.addEventListener('mousemove', function(event) { + let figs = this.querySelectorAll('figure') + // console.log('mousemove', this, event, figs.length); + // let len = figs.length + // let w = this.clientWidth; + // let g = w / len; + // let delta = Math.floor(event.layerX / g) + let delta = Math.floor(event.layerX / (this.clientWidth / figs.length)) + // console.log('delta', delta); + figs.forEach((fig, index) => { + // console.log(index); + if(index == delta){ + fig.style.display = "block" + }else{ + fig.style.display = "none" + } + }) + }) + } + } + }, + mounted() { + // lazy load images on mouseover + this.$el.addEventListener('mouseover', function(event) { + let imgs = this.querySelectorAll('.images figure img.lazy') + console.log('mouseover', this, imgs); + imgs.forEach((img) => { + // console.log('forEach img',img); + img.setAttribute('src', img.getAttribute('data-src')) + img.removeAttribute('data-src') + img.classList.remove('lazy') + }) + }, {once : true}) + } } diff --git a/web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue b/web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue index 083f1f3..13987a1 100644 --- a/web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue +++ b/web/themes/custom/materiotheme/vuejs/components/Form/SearchForm.vue @@ -40,6 +40,14 @@ export default { this.autocomplete = ui.item.value } }, + directives: { + focus: { + // directive definition + inserted: function (el) { + el.focus() + } + } + }, beforeMount() { // console.log('SearchForm beforeMount'); if(this._props.form){ @@ -70,8 +78,8 @@ export default { Drupal.attachBehaviors(this.$el); // get the search input let $input = this.$el.querySelector('#edit-search') - // focus on input - $input.focus() + // // focus on input + // $input.focus() // Catch the jquery ui events for autocmplete widget jQuery($input).on('autocompleteselect', this.onAutoCompleteSelect); }, diff --git a/web/themes/custom/materiotheme/vuejs/store/modules/search.js b/web/themes/custom/materiotheme/vuejs/store/modules/search.js index a63892a..9de4c96 100644 --- a/web/themes/custom/materiotheme/vuejs/store/modules/search.js +++ b/web/themes/custom/materiotheme/vuejs/store/modules/search.js @@ -126,6 +126,7 @@ export default { // get field values let item = { + uuid: uuid, title: attrs.title, description: attrs.field_short_description, body: attrs.body,