diff --git a/.idea/deployment.xml b/.idea/deployment.xml new file mode 100644 index 00000000..6647537f --- /dev/null +++ b/.idea/deployment.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config.rb b/config.rb index 76936db3..63b43d67 100644 --- a/config.rb +++ b/config.rb @@ -1,6 +1,7 @@ require 'compass/import-once/activate' require 'bootstrap-sass' require 'compass/import-once/activate' + # Require any additional compass plugins here. diff --git a/img/custom-scrollbar/mCSB_buttons.png b/img/custom-scrollbar/mCSB_buttons.png new file mode 100644 index 00000000..985a9b8b Binary files /dev/null and b/img/custom-scrollbar/mCSB_buttons.png differ diff --git a/img/mybg.png b/img/mybg.png deleted file mode 100644 index e6569aaa..00000000 Binary files a/img/mybg.png and /dev/null differ diff --git a/img/pf-bg.jpg b/img/pf-bg.jpg new file mode 100644 index 00000000..a6778318 Binary files /dev/null and b/img/pf-bg.jpg differ diff --git a/index.htm b/index.htm index d8efbc78..32f935fb 100644 --- a/index.htm +++ b/index.htm @@ -12,6 +12,7 @@ + diff --git a/js/app.js b/js/app.js index ac229a67..ee39ee82 100644 --- a/js/app.js +++ b/js/app.js @@ -1,6 +1,6 @@ requirejs.config({ - "baseUrl": "js", // user build_js files, change to "js" for un-compressed source + "baseUrl": "build_js", // user build_js files, change to "js" for un-compressed source "paths": { //"lib": "lib", // "app": "app", @@ -11,7 +11,8 @@ requirejs.config({ "bootstrap": "lib/bootstrap", "text": "lib/requirejs/text", "templates": "../templates", - "jsPlumb": "lib/jsPlumb-1.6.4-min" + "jsPlumb": "lib/jsPlumb-1.6.4-min", + "customScrollbar": "lib/jquery.mCustomScrollbar.concat.min" }, shim: { "bootstrap": { @@ -20,6 +21,9 @@ requirejs.config({ "jqueryUI": { export:"$", deps: ["jquery"] + }, + "customScrollbar": { + deps: ["jquery"] } } }); diff --git a/js/app/main.js b/js/app/main.js index 8b0e0ce3..26e7d5be 100644 --- a/js/app/main.js +++ b/js/app/main.js @@ -1,31 +1,26 @@ -define(["jquery", "app/render", "app/ccp", "app/map"], function($, Render, CCP, Map) { +define(["jquery", "app/render", "app/ccp", "app/module_map", "customScrollbar"], function($, Render, CCP) { "use strict"; var config = { - mapModuleId: 'pf-map-module', - mapTabBarId: 'pf-map-tabs', - mapTabIdPrefix: 'pf-map-tab-' + mapModuleId: 'pf-map-module' }; $(function() { - //$('body').alpha().beta(); CCP.requestTrust(); - - - // Map init options var mapData =[{ map: {}, config: { - name: 'WH Test', + name: 'Polaris', id: 1, scope: 'wormhole', - icon: 'fa-desktop' + icon: 'fa-desktop', + type: 'alliance' // global, alliance, private }, data: { systems: [ @@ -84,10 +79,11 @@ define(["jquery", "app/render", "app/ccp", "app/map"], function($, Render, CCP, },{ map: {}, config: { - name: 'K-Space Test', + name: 'Providence', id: 2, scope: 'wormhole', - icon: 'fa-bookmark' + icon: 'fa-bookmark', + type: 'global' }, data: { systems: [ @@ -119,56 +115,76 @@ define(["jquery", "app/render", "app/ccp", "app/map"], function($, Render, CCP, type: 'wh' }] } - }]; + }, + { + map: {}, + config: { + name: 'Exodus 4D', + id: 3, + scope: 'wormhole', + icon: 'fa-cube', + type: 'private' + }, + data: { + systems: [], + connections: [] + } + }]; - - // load map navigation Bar and init map ========================================== - - var moduleConfig = { - name: 'modules/tabs', - position: $('#' + config.mapModuleId), - link: 'prepend', - functions: { - after: function(){ - // load first map i in first tab content container - var firstTabContentElement = $("div[data-map-tabs='" + config.mapTabBarId + "'] div:first-child"); - - firstTabContentElement.loadMap(mapData[0]); - - // load new map right after tab-change - $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { - var mapIndex = $(e.target).attr('data-map-index'); - var mapId = mapData[mapIndex].config.id; - $('#' + config.mapTabIdPrefix + mapId).loadMap(mapData[mapIndex]); - }); + var userData = [ + { + config: { // map config + id: 1 // map id + }, + data: { + systems:[ // systems in map + { + id: 4, // system id + user: [ + { + name: 'Exodus 4D', + ship: 'Legion', + status: 'corp' + } + ] + }, + { + id: 5, // system id + user: [ + { + name: 'Faye Fantastic', + ship: 'Armageddon', + status: 'ally' + },{ + name: 'Sibasomos', + ship: 'Proteus', + status: 'corp' + },{ + name: 'Xtrah gfdfgdfgfd', + ship: 'Pod', + status: 'ally' + } + ] + } + ] } } - }; + ]; - var moduleData = { - id: config.mapTabBarId, - tabs: [] - }; + // load map module ========================================== + $('#' + config.mapModuleId).loadMapModule(mapData); - // add new tab data for each map - $.each(mapData, function(i, data){ + // update map module ======================================== + setTimeout( + function() { + $('#' + config.mapModuleId).updateMapModule(userData); - var active = false; - if(i === 0){ - active = true; - } + console.log('update map done'); + }, 1000); - moduleData.tabs.push({ - id: data.config.id, - index: i, - name: data.config.name, - icon: data.config.icon, - active: active - }); - }); - - Render.showModule(moduleConfig, moduleData); }); + + }); \ No newline at end of file diff --git a/js/app/contextmenu.js b/js/app/map/contextmenu.js similarity index 100% rename from js/app/contextmenu.js rename to js/app/map/contextmenu.js diff --git a/js/app/map.js b/js/app/map/map.js similarity index 80% rename from js/app/map.js rename to js/app/map/map.js index 767cae43..d607138f 100644 --- a/js/app/map.js +++ b/js/app/map/map.js @@ -1,4 +1,4 @@ -define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Render) { +define(["jquery", "app/render", "jsPlumb", "app/map/contextmenu"], function($, Render) { "use strict"; @@ -11,13 +11,17 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende y: 0 }, + mapWrapperClass: 'pf-map-wrapper', // wrapper div (scrollable) mapClass: 'pf-map', // class for all maps mapIdPrefix: 'pf-map-', systemIdPrefix: 'pf-system-', // id prefix for a system systemClass: 'pf-system', systemActiveClass: 'pf-system-active', systemHeadClass: 'pf-system-head', - systemBody: 'pf-system-body', + systemBodyClass: 'pf-system-body', + systemBodyItemClass: 'pf-system-body-item', + systemBodyItemStatusClass: 'pf-user-status', + systemBodyRightClass: 'pf-system-body-right', dynamicElementWrapperId: 'pf-dialog-wrapper', // wrapper div for dynamic content (dialoges, context-menus,...) // endpoint classes @@ -73,7 +77,19 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende class: 'pf-system-status-unscanned', label: 'unscanned' } + }, + + // user status + userStatus: { + 'corp': { + class: 'pf-user-status-corp' + }, + 'ally': { + class: 'pf-user-status-ally' + } } + + }; // active jsPlumb instances currently running @@ -182,7 +198,7 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende cssClass: 'pf-map-connection-frig' } } - } + }; @@ -247,6 +263,11 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende return secClass; }; + /** + * get status class for a system + * @param status + * @returns {string} + */ var getStatusClassForSystem = function(status){ var statusClass = ''; @@ -258,6 +279,84 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende return statusClass; }; + /** + * get status class for a user + * @param status + * @returns {string} + */ + var getStatusClassForUser = function(status){ + + var statusClass = ''; + + if(config.userStatus[status]){ + statusClass = config.userStatus[status].class; + } + + return statusClass; + }; + + /** + * updates a system with current information + * @param system + * @param data + */ + var updateSystem = function(system, data){ + + // find system body + var systemBody = $( $(system).find('.' + config.systemBodyClass) ); + + // remove tooltip + $(system).removeAttr('title'); + + // remove all content + systemBody.empty(); + + // add user information + if(data.user){ + + var userCounter = 0; + + $.each(data.user, function(i, userData){ + + userCounter++; + + var statusClass = getStatusClassForUser(userData.status); + var userName = userData.name; + if(userName.length > 7){ + // userName = userName.substr(0,7) + '...'; + } + + + var item = $('
', { + class: config.systemBodyItemClass + }).append( + $('
  • ', { + class: ['fa', 'fa-circle', config.systemBodyItemStatusClass, statusClass].join(' ') + }) + ).append( + $('', { + text: ' ' + userName + }) + ).append( + $('', { + text: userData.ship, + class: config.systemBodyRightClass + }) + ); + + systemBody.append(item); + }); + + // show active user tooltip + $(system).attr('title', userCounter); + $(system).attr('data-placement', 'top'); + $(system).attr('data-toggle', 'tooltip'); + $(system).tooltip('show'); + } + + + }; + /** * get a new system by data object * @param data @@ -282,23 +381,28 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende class: config.systemHeadClass, text: data.name }).append( - // System effect color - $('', { - class: ['fa fa-square ', config.systemEffect, effectClass].join(' ') - }) - ).prepend( - $('', { - class: [config.systemSec, secClass].join(' '), - text: data.security - }) - ) + // System effect color + $('', { + class: ['fa fa-square ', config.systemEffect, effectClass].join(' ') + }) + ).prepend( + $('', { + class: [config.systemSec, secClass].join(' '), + text: data.security + }) + ) - ).append( + ).append( // system body $('
    ', { - class: config.systemBody - }) - ).css({ "left": data.position.x + "px", 'top': data.position.y + 'px' }); + class: config.systemBodyClass + }).append( + $('
    ', { + class: config.systemBodyInnerClass + }) + + ) + ).css({ "left": data.position.x + "px", 'top': data.position.y + 'px' }); system.attr('data-id', data.id); @@ -313,13 +417,13 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende // create map body var mapWrapper = $('
    ', { - class: 'pf-map-wrapper' + class: config.mapWrapperClass }); var mapContainer = $('
    ', { id: config.mapIdPrefix + mapConfig.config.id, class: config.mapClass - }); + }).attr('data-mapid', mapConfig.config.id); mapWrapper.append(mapContainer); @@ -333,6 +437,7 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende // draw a system to a map drawSystem(mapConfig.map, data); }); + }; /** @@ -400,7 +505,7 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende // make source makeSource(map, newSystem); - // Context menu on for Systems + // set system observer setSystemObserver(map, newSystem); // connect new system (if connection data is given) @@ -414,8 +519,8 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende type: 'wh' }; drawConnection(map, connectionData); - }) - }; + }); + } }; @@ -480,12 +585,12 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende $.each(systems, function(i, system){ // get connections where system is source connections = connections.concat( map.getConnections({source: system}) ); - // getconnections where system is target + // get connections where system is target connections = connections.concat( map.getConnections({target: system}) ); }); return connections; - } + }; /** * get all direct connections between two given systems @@ -583,19 +688,92 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende * set up contextmenu for all Systems within a given map * @param endpoints */ - var setSystemObserver = function(map, systems){ + var setSystemObserver = function(map, system){ - var mapContainer = $(map.getContainer()); + var systemBody = $( $(system).find('.' + config.systemBodyClass) ); + + // init system body expand + $(system).hover(function(e){ + // hover in + var hoverSystem = this; + + systemBody.animate( + { + height: '100px' + }, + { + queue:false, + duration: 100, + step: function(){ + // repaint connections of current system + map.repaint( hoverSystem ); + } + } + ); + }, function(e){ + // hover out + var hoverSystem = this; + systemBody.animate( + { height: '16px' }, + { + queue:false, + duration: 100, + step: function(){ + // repaint connections of current system + map.repaint( hoverSystem ); + } + } + ); + }); + + + // init system body item expand + systemBody.hover(function(){ + $(this).animate( + { + width: '150px' + }, + { + queue:false, + duration: 100, + step: function(){ + // repaint connections of current system + map.repaint( system ); + }, + complete: function(){ + $(this).find('.' + config.systemBodyRightClass).show(); + } + } + ); + + }, function(){ + $(this).animate( + { + width: '80px' + }, + { + queue:false, + duration: 100, + step: function(){ console.log(system) + // repaint connections of current system + map.repaint( system ); + }, + start: function(){ + $(this).find('.' + config.systemBodyRightClass).hide(); + } + } + ); + }); // trigger context menu - $(mapContainer).find(systems).on('contextmenu', function(e){ + $(system).on('contextmenu', function(e){ $(e.target).trigger('pf:openContextMenu', [e, this]); e.preventDefault(); return false; }); // init contextmenu - $(systems).contextMenu({ + $(system).contextMenu({ menuSelector: "#" + config.systemContextMenuId, menuSelected: function (params) { @@ -623,7 +801,7 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende 'Cancel': function(){ $(this).dialog('close'); }, - 'Add System': function(){ + 'Add system': function(){ // get form Values var form = $('#' + config.systemDialogId).find('form'); @@ -660,13 +838,12 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende $.each(config.systemStatus, function(status, statusData){ statusData.status = status; systemStatus.push(statusData); - }) + }); var moduleData = { id: config.systemDialogId, titel: 'Add new system', - status: systemStatus, - content: 'system dialog :)' + status: systemStatus }; Render.showModule(moduleConfig, moduleData); @@ -810,6 +987,32 @@ define(["jquery", "app/render", "jsPlumb", "app/contextmenu"], function($, Rende return activeInstances[mapId]; }; + /** + * updates all systems on map with current user Data + * @param userData + */ + $.fn.updateUserData = function(userData){ + + // get all systems + var systems = $(this).find('.' + config.systemClass); + + $.each(systems, function(i, system){ + // get user Data for System + var systemId = parseInt( $(system).attr('data-id') ); + + var data = {}; + $.each(userData.data.systems, function(j, systemData){ + if(systemId === systemData.id){ + data = systemData; + } + }); + + updateSystem(system, data); + + }); + + }; + /** * load system map into element * @param mapConfig diff --git a/js/app/module_map.js b/js/app/module_map.js new file mode 100644 index 00000000..9496788e --- /dev/null +++ b/js/app/module_map.js @@ -0,0 +1,272 @@ +define(["jquery", "app/render", "app/map/map", "customScrollbar"], function($, Render) { + + "use strict"; + + var config = { + dynamicElementWrapperId: 'pf-dialog-wrapper', // parent Element for dynamic content (dialoges,..) + mapTabBarId: 'pf-map-tabs', + mapTabIdPrefix: 'pf-map-tab-', + mapWrapperClass: 'pf-map-wrapper', // scrollable + mapClass: 'pf-map', // class for each map + newMapDialogId: 'pf-map-new-dialog', + + // map types + mapTypes: [ + {type: 'default', label: 'default', class: 'pf-map-type-default'}, + {type: 'global', label: 'global', class: 'pf-map-type-global'}, + {type: 'alliance', label: 'alliance', class: 'pf-map-type-alliance'}, + {type: 'private', label: 'private', class: 'pf-map-type-private'} + ], + + // map scopes + mapScopes: [ + {scope: 'wormhole', label: 'W-Space'} + ], + + mapIcons: [ + {class: 'fa-desktop', label: 'desktop'}, + {class: 'fa-bookmark', label: 'bookmark'}, + {class: 'fa-cube', label: 'cube'}, + {class: 'fa-warning', label: 'warning'}, + {class: 'fa-plane', label: 'plane'}, + {class: 'fa-rocket', label: 'rocket'} + ] + + + }; + + /** + * get map type class for a type + * @param type + * @returns {string} + */ + var getMapTypeClassForType = function(type){ + + var typeClass= ''; + + $.each(config.mapTypes, function(i, typeData){ + if(typeData.type === type){ + typeClass = typeData.class; + } + }); + + return typeClass; + }; + + /** + * shows the add new map dialog + */ + var showNewMapDialog = function(){ + + // confirm dialog + var moduleConfig = { + name: 'modules/map_dialog', + position: $('#' + config.dynamicElementWrapperId), + link: 'after', + functions: { + after: function(){ + $( "#" + config.newMapDialogId).dialog({ + modal: true, + resizable: false, + buttons: { + 'Cancel': function(){ + $(this).dialog('close'); + }, + 'Add map': function(){ + + // get form Values + var form = $('#' + config.newMapDialogId).find('form'); + + var newMapData = {}; + + $.each(form.serializeArray(), function(i, field) { + newMapData[field.name] = field.value; + }); + + saveMapData(newMapData); + + $(this).dialog('close'); + } + } + }); + } + } + }; + + var moduleData = { + id: config.newMapDialogId, + title: 'Add new map', + scope: config.mapScopes, + type: config.mapTypes, + icon: config.mapIcons + }; + + Render.showModule(moduleConfig, moduleData); + }; + + var saveMapData = function(mapData){ + + // TODO: save map + console.log(mapData); + }; + + /** + * get all maps for a module + * @param mapModule + * @returns {*} + */ + var getMaps = function(mapModule){ + + var maps = $(mapModule).find('.' + config.mapClass); + + return maps; + }; + + /** + * updates complete map module (all maps) + * @param userData + */ + $.fn.updateMapModule = function(userData){ + + // get all active map elements for module + var mapElements = getMaps(this); + + // get map Data + $.each(mapElements, function(i, mapElement){ + + var mapId = parseInt( $(mapElement).attr('data-mapid') ); + + var mapUserData = {}; + // get user data for each active map + $.each(userData, function(j, tempMapData){ + + if(tempMapData.config.id === mapId){ + // map userdata found + mapUserData = tempMapData; + } + }); + + // update map + $(mapElement).updateUserData(mapUserData); + }); + + + }; + + /** + * load map module into element (all maps) + * @param mapData + */ + $.fn.loadMapModule = function(mapData){ + + var moduleConfig = { + name: 'modules/tabs', + position: $(this), + link: 'prepend', + functions: { + after: function(){ + // load first map i in first tab content container + var firstTabContentElement = $("div[data-map-tabs='" + config.mapTabBarId + "'] div:first-child"); + + loadMap(firstTabContentElement, mapData[0]); + + // check for "new map" action before tap-change + $('#' + config.mapTabBarId).find('a[data-toggle="tab"]').on('show.bs.tab', function (e) { + + var mapIndex = parseInt( $(e.target).attr('data-map-index') ); + + if(mapIndex === -1){ + // add new Tab selected + showNewMapDialog(); + e.preventDefault(); + } + + + }); + + // load new map right after tab-change + $('#' + config.mapTabBarId).find('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { + + var mapIndex = parseInt( $(e.target).attr('data-map-index') ); + + if(mapIndex > 0){ + var mapId = mapData[mapIndex].config.id; + var currentTabContentElement = $('#' + config.mapTabIdPrefix + mapId); + + loadMap(currentTabContentElement, mapData[mapIndex]); + } + + }); + + + + } + } + }; + + var moduleData = { + id: config.mapTabBarId, + tabs: [] + }; + + // add new tab data for each map + $.each(mapData, function(i, data){ + + var active = false; + if(i === 0){ + active = true; + } + + moduleData.tabs.push({ + id: data.config.id, + index: i, + name: data.config.name, + icon: data.config.icon, + tabClass: getMapTypeClassForType(data.config.type), + active: active + }); + }); + + // add new tab + moduleData.tabs.push({ + id: 0, + index: -1, + name: 'add', + icon: 'fa-plus', + tabClass: getMapTypeClassForType('default'), + pullRight: true + }); + + Render.showModule(moduleConfig, moduleData); + }; + + /** + * load mapData into a container and init custom scrollbar + * @param container + * @param mapData + */ + var loadMap = function(container, mapData){ + + $(container).loadMap(mapData); + + // init custom scrollbars + var scrollableElement = $(container).find('.' + config.mapWrapperClass); + initCutomScrollbar( scrollableElement ); + + }; + + /** + * init a custom scrollbar + * @param scrollableElement + */ + var initCutomScrollbar = function( scrollableElement ){ + + // init custom scrollbars + $(scrollableElement).mCustomScrollbar({ + axis:"x", + theme:"light-thick" + }); + + }; + +}); \ No newline at end of file diff --git a/js/lib/jquery.mCustomScrollbar.concat.min.js b/js/lib/jquery.mCustomScrollbar.concat.min.js new file mode 100644 index 00000000..bf69039a --- /dev/null +++ b/js/lib/jquery.mCustomScrollbar.concat.min.js @@ -0,0 +1,5 @@ +/* == jquery mousewheel plugin == Version: 3.1.11, License: MIT License (MIT) */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.11",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b)["offsetParent"in a.fn?"offsetParent":"parent"]();return c.length||(c=a("body")),parseInt(c.css("fontSize"),10)},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}); +/* == malihu jquery custom scrollbar plugin == Version: 3.0.5, License: MIT License (MIT) */ +!function(e,t,o){!function(t){var a="function"==typeof define&&define.amd,n="https:"==o.location.protocol?"https:":"http:",r="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.11/jquery.mousewheel.min.js";a||e.event.special.mousewheel||e("head").append(decodeURI("%3Cscript src="+n+"//"+r+"%3E%3C/script%3E")),t()}(function(){var a="mCustomScrollbar",n="mCS",r=".mCustomScrollbar",i={setWidth:!1,setHeight:!1,setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,autoHideScrollbar:!1,autoExpandScrollbar:!1,alwaysShowScrollbar:0,snapAmount:null,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1,disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{enable:!1,scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,advanced:{autoExpandHorizontalScroll:!1,autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:!0,updateOnSelectorChange:!1,releaseDraggableSelectors:!1},theme:"light",callbacks:{onInit:!1,onScrollStart:!1,onScroll:!1,onTotalScroll:!1,onTotalScrollBack:!1,whileScrolling:!1,onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0,onOverflowY:!1,onOverflowX:!1,onOverflowYNone:!1,onOverflowXNone:!1},live:!1,liveSelector:null},l=0,s={},c=function(e){s[e]&&(clearTimeout(s[e]),h._delete.call(null,s[e]))},d=t.attachEvent&&!t.addEventListener?1:0,u=!1,f={init:function(t){var t=e.extend(!0,{},i,t),o=h._selector.call(this);if(t.live){var a=t.liveSelector||this.selector||r,d=e(a);if("off"===t.live)return void c(a);s[a]=setTimeout(function(){d.mCustomScrollbar(t),"once"===t.live&&d.length&&c(a)},500)}else c(a);return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":h._findAxis.call(null,t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!=typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=h._findScrollButtonsType.call(null,t.scrollButtons.scrollType),h._theme.call(null,t),e(o).each(function(){var o=e(this);if(!o.data(n)){o.data(n,{idx:++l,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:o.css("direction"),cbOffsets:null,trigger:null});var a=o.data(n).opt,r=o.data("mcs-axis"),i=o.data("mcs-scrollbar-position"),s=o.data("mcs-theme");r&&(a.axis=r),i&&(a.scrollbarPosition=i),s&&(a.theme=s,h._theme.call(null,a)),h._pluginMarkup.call(this),f.update.call(null,o)}})},update:function(t){var o=t||h._selector.call(this);return e(o).each(function(){var t=e(this);if(t.data(n)){var o=t.data(n),a=o.opt,r=e("#mCSB_"+o.idx+"_container"),i=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")];if(!r.length)return;o.tweenRunning&&h._stop.call(null,t),t.hasClass("mCS_disabled")&&t.removeClass("mCS_disabled"),t.hasClass("mCS_destroyed")&&t.removeClass("mCS_destroyed"),h._maxHeight.call(this),h._expandContentHorizontally.call(this),"y"===a.axis||a.advanced.autoExpandHorizontalScroll||r.css("width",h._contentWidth(r.children())),o.overflowed=h._overflowed.call(this),h._scrollbarVisibility.call(this),a.autoDraggerLength&&h._setDraggerLength.call(this),h._scrollRatio.call(this),h._bindEvents.call(this);var l=[Math.abs(r[0].offsetTop),Math.abs(r[0].offsetLeft)];"x"!==a.axis&&(o.overflowed[0]?i[0].height()>i[0].parent().height()?h._resetContentPosition.call(this):(h._scrollTo.call(this,t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}),o.contentReset.y=null):(h._resetContentPosition.call(this),"y"===a.axis?h._unbindEvents.call(this):"yx"===a.axis&&o.overflowed[1]&&h._scrollTo.call(this,t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==a.axis&&(o.overflowed[1]?i[1].width()>i[1].parent().width()?h._resetContentPosition.call(this):(h._scrollTo.call(this,t,l[1].toString(),{dir:"x",dur:0,overwrite:"none"}),o.contentReset.x=null):(h._resetContentPosition.call(this),"x"===a.axis?h._unbindEvents.call(this):"yx"===a.axis&&o.overflowed[0]&&h._scrollTo.call(this,t,l[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),h._autoUpdate.call(this)}})},scrollTo:function(t,o){if("undefined"!=typeof t&&null!=t){var a=h._selector.call(this);return e(a).each(function(){var a=e(this);if(a.data(n)){var r=a.data(n),i=r.opt,l={trigger:"external",scrollInertia:i.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},s=e.extend(!0,{},l,o),c=h._arr.call(this,t),d=s.scrollInertia>0&&s.scrollInertia<17?17:s.scrollInertia;c[0]=h._to.call(this,c[0],"y"),c[1]=h._to.call(this,c[1],"x"),s.moveDragger&&(c[0]*=r.scrollRatio.y,c[1]*=r.scrollRatio.x),s.dur=d,setTimeout(function(){null!==c[0]&&"undefined"!=typeof c[0]&&"x"!==i.axis&&r.overflowed[0]&&(s.dir="y",s.overwrite="all",h._scrollTo.call(this,a,c[0].toString(),s)),null!==c[1]&&"undefined"!=typeof c[1]&&"y"!==i.axis&&r.overflowed[1]&&(s.dir="x",s.overwrite="none",h._scrollTo.call(this,a,c[1].toString(),s))},s.timeout)}})}},stop:function(){var t=h._selector.call(this);return e(t).each(function(){var t=e(this);t.data(n)&&h._stop.call(null,t)})},disable:function(t){var o=h._selector.call(this);return e(o).each(function(){var o=e(this);if(o.data(n)){{var a=o.data(n);a.opt}h._autoUpdate.call(this,"remove"),h._unbindEvents.call(this),t&&h._resetContentPosition.call(this),h._scrollbarVisibility.call(this,!0),o.addClass("mCS_disabled")}})},destroy:function(){var t=h._selector.call(this);return e(t).each(function(){var o=e(this);if(o.data(n)){var r=o.data(n),i=r.opt,l=e("#mCSB_"+r.idx),s=e("#mCSB_"+r.idx+"_container"),d=e(".mCSB_"+r.idx+"_scrollbar");i.live&&c(t),h._autoUpdate.call(this,"remove"),h._unbindEvents.call(this),h._resetContentPosition.call(this),o.removeData(n),h._delete.call(null,this.mcs),d.remove(),l.replaceWith(s.contents()),o.removeClass(a+" _"+n+"_"+r.idx+" mCS-autoHide mCS-dir-rtl mCS_no_scrollbar mCS_disabled").addClass("mCS_destroyed")}})}},h={_selector:function(){return"object"!=typeof e(this)||e(this).length<1?r:this},_theme:function(t){var o=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],a=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],n=["minimal","minimal-dark"],r=["minimal","minimal-dark"],i=["minimal","minimal-dark"];t.autoDraggerLength=e.inArray(t.theme,o)>-1?!1:t.autoDraggerLength,t.autoExpandScrollbar=e.inArray(t.theme,a)>-1?!1:t.autoExpandScrollbar,t.scrollButtons.enable=e.inArray(t.theme,n)>-1?!1:t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,r)>-1?!0:t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,i)>-1?"outside":t.scrollbarPosition},_findAxis:function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y"},_findScrollButtonsType:function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless"},_pluginMarkup:function(){var t=e(this),o=t.data(n),r=o.opt,i=r.autoExpandScrollbar?" mCSB_scrollTools_onDrag_expand":"",l=["
    ","
    "],s="yx"===r.axis?"mCSB_vertical_horizontal":"x"===r.axis?"mCSB_horizontal":"mCSB_vertical",c="yx"===r.axis?l[0]+l[1]:"x"===r.axis?l[1]:l[0],d="yx"===r.axis?"
    ":"",u=r.autoHideScrollbar?" mCS-autoHide":"",f="x"!==r.axis&&"rtl"===o.langDir?" mCS-dir-rtl":"";r.setWidth&&t.css("width",r.setWidth),r.setHeight&&t.css("height",r.setHeight),r.setLeft="y"!==r.axis&&"rtl"===o.langDir?"989999px":r.setLeft,t.addClass(a+" _"+n+"_"+o.idx+u+f).wrapInner("
    ");var _=e("#mCSB_"+o.idx),m=e("#mCSB_"+o.idx+"_container");"y"===r.axis||r.advanced.autoExpandHorizontalScroll||m.css("width",h._contentWidth(m.children())),"outside"===r.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),_.addClass("mCSB_outside").after(c)):(_.addClass("mCSB_inside").append(c),m.wrap(d)),h._scrollButtons.call(this);var p=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")];p[0].css("min-height",p[0].height()),p[1].css("min-width",p[1].width())},_contentWidth:function(t){return Math.max.apply(Math,t.map(function(){return e(this).outerWidth(!0)}).get())},_expandContentHorizontally:function(){var t=e(this),o=t.data(n),a=o.opt,r=e("#mCSB_"+o.idx+"_container");a.advanced.autoExpandHorizontalScroll&&"y"!==a.axis&&r.css({position:"absolute",width:"auto"}).wrap("
    ").css({width:Math.ceil(r[0].getBoundingClientRect().right+.4)-Math.floor(r[0].getBoundingClientRect().left),position:"relative"}).unwrap()},_scrollButtons:function(){var t=e(this),o=t.data(n),a=o.opt,r=e(".mCSB_"+o.idx+"_scrollbar:first"),i=["","","",""],l=["x"===a.axis?i[2]:i[0],"x"===a.axis?i[3]:i[1],i[2],i[3]];a.scrollButtons.enable&&r.prepend(l[0]).append(l[1]).next(".mCSB_scrollTools").prepend(l[2]).append(l[3])},_maxHeight:function(){var t=e(this),o=t.data(n),a=(o.opt,e("#mCSB_"+o.idx)),r=t.css("max-height"),i=-1!==r.indexOf("%"),l=t.css("box-sizing");if("none"!==r){var s=i?t.parent().height()*parseInt(r)/100:parseInt(r);"border-box"===l&&(s-=t.innerHeight()-t.height()+(t.outerHeight()-t.innerHeight())),a.css("max-height",Math.round(s))}},_setDraggerLength:function(){var t=e(this),o=t.data(n),a=e("#mCSB_"+o.idx),r=e("#mCSB_"+o.idx+"_container"),i=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")],l=[a.height()/r.outerHeight(!1),a.width()/r.outerWidth(!1)],s=[parseInt(i[0].css("min-height")),Math.round(l[0]*i[0].parent().height()),parseInt(i[1].css("min-width")),Math.round(l[1]*i[1].parent().width())],c=d&&s[1]a.height(),l>a.width()]},_resetContentPosition:function(){var t=e(this),o=t.data(n),a=o.opt,r=e("#mCSB_"+o.idx),i=e("#mCSB_"+o.idx+"_container"),l=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")];if(h._stop(t),("x"!==a.axis&&!o.overflowed[0]||"y"===a.axis&&o.overflowed[0])&&(l[0].add(i).css("top",0),h._scrollTo(t,"_resetY")),"y"!==a.axis&&!o.overflowed[1]||"x"===a.axis&&o.overflowed[1]){var s=dx=0;"rtl"===o.langDir&&(s=r.width()-i.outerWidth(!1),dx=Math.abs(s/o.scrollRatio.x)),i.css("left",s),l[1].css("left",dx),h._scrollTo(t,"_resetX")}},_bindEvents:function(){function t(){i=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(i),h._mousewheel.call(o[0])):t()},1e3)}var o=e(this),a=o.data(n),r=a.opt;if(!a.bindEvents){if(h._draggable.call(this),r.contentTouchScroll&&h._contentDraggable.call(this),r.mouseWheel.enable){var i;t()}h._draggerRail.call(this),h._wrapperScroll.call(this),r.advanced.autoScrollOnFocus&&h._focus.call(this),r.scrollButtons.enable&&h._buttons.call(this),r.keyboard.enable&&h._keyboard.call(this),a.bindEvents=!0}},_unbindEvents:function(){var t=e(this),a=t.data(n),r=a.opt,i=n+"_"+a.idx,l=".mCSB_"+a.idx+"_scrollbar",s=e("#mCSB_"+a.idx+",#mCSB_"+a.idx+"_container,#mCSB_"+a.idx+"_container_wrapper,"+l+" .mCSB_draggerContainer,#mCSB_"+a.idx+"_dragger_vertical,#mCSB_"+a.idx+"_dragger_horizontal,"+l+">a"),c=e("#mCSB_"+a.idx+"_container");r.advanced.releaseDraggableSelectors&&s.add(e(r.advanced.releaseDraggableSelectors)),a.bindEvents&&(e(o).unbind("."+i),s.each(function(){e(this).unbind("."+i)}),clearTimeout(t[0]._focusTimeout),h._delete.call(null,t[0]._focusTimeout),clearTimeout(a.sequential.step),h._delete.call(null,a.sequential.step),clearTimeout(c[0].onCompleteTimeout),h._delete.call(null,c[0].onCompleteTimeout),a.bindEvents=!1)},_scrollbarVisibility:function(t){var o=e(this),a=o.data(n),r=a.opt,i=e("#mCSB_"+a.idx+"_container_wrapper"),l=i.length?i:e("#mCSB_"+a.idx+"_container"),s=[e("#mCSB_"+a.idx+"_scrollbar_vertical"),e("#mCSB_"+a.idx+"_scrollbar_horizontal")],c=[s[0].find(".mCSB_dragger"),s[1].find(".mCSB_dragger")];"x"!==r.axis&&(a.overflowed[0]&&!t?(s[0].add(c[0]).add(s[0].children("a")).css("display","block"),l.removeClass("mCS_no_scrollbar_y mCS_y_hidden")):(r.alwaysShowScrollbar?(2!==r.alwaysShowScrollbar&&c[0].add(s[0].children("a")).css("display","none"),l.removeClass("mCS_y_hidden")):(s[0].css("display","none"),l.addClass("mCS_y_hidden")),l.addClass("mCS_no_scrollbar_y"))),"y"!==r.axis&&(a.overflowed[1]&&!t?(s[1].add(c[1]).add(s[1].children("a")).css("display","block"),l.removeClass("mCS_no_scrollbar_x mCS_x_hidden")):(r.alwaysShowScrollbar?(2!==r.alwaysShowScrollbar&&c[1].add(s[1].children("a")).css("display","none"),l.removeClass("mCS_x_hidden")):(s[1].css("display","none"),l.addClass("mCS_x_hidden")),l.addClass("mCS_no_scrollbar_x"))),a.overflowed[0]||a.overflowed[1]?o.removeClass("mCS_no_scrollbar"):o.addClass("mCS_no_scrollbar")},_coordinates:function(e){var t=e.type;switch(t){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return[e.originalEvent.pageY,e.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var o=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a=e.originalEvent.touches.length||e.originalEvent.changedTouches.length;return[o.pageY,o.pageX,a>1];default:return[e.pageY,e.pageX,!1]}},_draggable:function(){function t(e){var t=p.find("iframe");if(t.length){var o=e?"auto":"none";t.css("pointer-events",o)}}function a(e,t,o,a){if(p[0].idleTimer=f.scrollInertia<233?250:0,r.attr("id")===m[1])var n="x",i=(r[0].offsetLeft-t+a)*c.scrollRatio.x;else var n="y",i=(r[0].offsetTop-e+o)*c.scrollRatio.y;h._scrollTo(s,i.toString(),{dir:n,drag:!0})}var r,i,l,s=e(this),c=s.data(n),f=c.opt,_=n+"_"+c.idx,m=["mCSB_"+c.idx+"_dragger_vertical","mCSB_"+c.idx+"_dragger_horizontal"],p=e("#mCSB_"+c.idx+"_container"),g=e("#"+m[0]+",#"+m[1]),v=f.advanced.releaseDraggableSelectors?g.add(e(f.advanced.releaseDraggableSelectors)):g;g.bind("mousedown."+_+" touchstart."+_+" pointerdown."+_+" MSPointerDown."+_,function(a){if(a.stopImmediatePropagation(),a.preventDefault(),h._mouseBtnLeft(a)){u=!0,d&&(o.onselectstart=function(){return!1}),t(!1),h._stop(s),r=e(this);var n=r.offset(),c=h._coordinates(a)[0]-n.top,_=h._coordinates(a)[1]-n.left,m=r.height()+n.top,p=r.width()+n.left;m>c&&c>0&&p>_&&_>0&&(i=c,l=_),h._onDragClasses(r,"active",f.autoExpandScrollbar)}}).bind("touchmove."+_,function(e){e.stopImmediatePropagation(),e.preventDefault();var t=r.offset(),o=h._coordinates(e)[0]-t.top,n=h._coordinates(e)[1]-t.left;a(i,l,o,n)}),e(o).bind("mousemove."+_+" pointermove."+_+" MSPointerMove."+_,function(e){if(r){var t=r.offset(),o=h._coordinates(e)[0]-t.top,n=h._coordinates(e)[1]-t.left;if(i===o)return;a(i,l,o,n)}}).add(v).bind("mouseup."+_+" touchend."+_+" pointerup."+_+" MSPointerUp."+_,function(){r&&(h._onDragClasses(r,"active",f.autoExpandScrollbar),r=null),u=!1,d&&(o.onselectstart=null),t(!0)})},_contentDraggable:function(){function t(e,t){var o=[1.5*t,2*t,t/1.5,t/2];return e>90?t>4?o[0]:o[3]:e>60?t>3?o[3]:o[2]:e>30?t>8?o[1]:t>6?o[0]:t>4?t:o[2]:t>8?t:o[3]}function o(e,t,o,a,n,r){e&&h._scrollTo(g,e.toString(),{dur:t,scrollEasing:o,dir:a,overwrite:n,drag:r})}var a,r,i,l,s,c,d,f,_,m,p,g=e(this),v=g.data(n),x=v.opt,S=n+"_"+v.idx,C=e("#mCSB_"+v.idx),b=e("#mCSB_"+v.idx+"_container"),w=[e("#mCSB_"+v.idx+"_dragger_vertical"),e("#mCSB_"+v.idx+"_dragger_horizontal")],y=[],B=[],T=0,M="yx"===x.axis?"none":"all",k=[];b.bind("touchstart."+S+" pointerdown."+S+" MSPointerDown."+S,function(e){if(h._pointerTouch(e)&&!u&&!h._coordinates(e)[2]){var t=b.offset();a=h._coordinates(e)[0]-t.top,r=h._coordinates(e)[1]-t.left,k=[h._coordinates(e)[0],h._coordinates(e)[1]]}}).bind("touchmove."+S+" pointermove."+S+" MSPointerMove."+S,function(e){if(h._pointerTouch(e)&&!u&&!h._coordinates(e)[2]){e.stopImmediatePropagation(),c=h._getTime();var t=C.offset(),n=h._coordinates(e)[0]-t.top,i=h._coordinates(e)[1]-t.left,l="mcsLinearOut";if(y.push(n),B.push(i),k[2]=Math.abs(h._coordinates(e)[0]-k[0]),k[3]=Math.abs(h._coordinates(e)[1]-k[1]),v.overflowed[0])var s=w[0].parent().height()-w[0].height(),d=a-n>0&&n-a>-(s*v.scrollRatio.y)&&(2*k[3]0&&i-r>-(f*v.scrollRatio.x)&&(2*k[2]30)){_=1e3/(d-s);var g="mcsEaseOut",S=2.5>_,w=S?[y[y.length-2],B[B.length-2]]:[0,0];f=S?[n-w[0],r-w[1]]:[n-i,r-l];var T=[Math.abs(f[0]),Math.abs(f[1])];_=S?[Math.abs(f[0]/4),Math.abs(f[1]/4)]:[_,_];var k=[Math.abs(b[0].offsetTop)-f[0]*t(T[0]/_[0],_[0]),Math.abs(b[0].offsetLeft)-f[1]*t(T[1]/_[1],_[1])];m="yx"===x.axis?[k[0],k[1]]:"x"===x.axis?[null,k[1]]:[k[0],null],p=[4*T[0]+x.scrollInertia,4*T[1]+x.scrollInertia];var O=parseInt(x.contentTouchScroll)||0;m[0]=T[0]>O?m[0]:0,m[1]=T[1]>O?m[1]:0,v.overflowed[0]&&o(m[0],p[0],g,"y",M,!1),v.overflowed[1]&&o(m[1],p[1],g,"x",M,!1)}}})},_mousewheel:function(){function t(e){var t=null;try{var o=e.contentDocument||e.contentWindow.document;t=o.body.innerHTML}catch(a){}return null!==t}var o=e(this),a=o.data(n);if(a){var r=a.opt,i=n+"_"+a.idx,l=e("#mCSB_"+a.idx),s=[e("#mCSB_"+a.idx+"_dragger_vertical"),e("#mCSB_"+a.idx+"_dragger_horizontal")],c=e("#mCSB_"+a.idx+"_container").find("iframe"),u=l;c.length&&c.each(function(){var o=this;t(o)&&(u=u.add(e(o).contents().find("body")))}),u.bind("mousewheel."+i,function(t,n){if(h._stop(o),!h._disableMousewheel(o,t.target)){var i="auto"!==r.mouseWheel.deltaFactor?parseInt(r.mouseWheel.deltaFactor):d&&t.deltaFactor<100?100:t.deltaFactor||100;if("x"===r.axis||"x"===r.mouseWheel.axis)var c="x",u=[Math.round(i*a.scrollRatio.x),parseInt(r.mouseWheel.scrollAmount)],f="auto"!==r.mouseWheel.scrollAmount?u[1]:u[0]>=l.width()?.9*l.width():u[0],_=Math.abs(e("#mCSB_"+a.idx+"_container")[0].offsetLeft),m=s[1][0].offsetLeft,p=s[1].parent().width()-s[1].width(),g=t.deltaX||t.deltaY||n;else var c="y",u=[Math.round(i*a.scrollRatio.y),parseInt(r.mouseWheel.scrollAmount)],f="auto"!==r.mouseWheel.scrollAmount?u[1]:u[0]>=l.height()?.9*l.height():u[0],_=Math.abs(e("#mCSB_"+a.idx+"_container")[0].offsetTop),m=s[0][0].offsetTop,p=s[0].parent().height()-s[0].height(),g=t.deltaY||n;"y"===c&&!a.overflowed[0]||"x"===c&&!a.overflowed[1]||(r.mouseWheel.invert&&(g=-g),r.mouseWheel.normalizeDelta&&(g=0>g?-1:1),(g>0&&0!==m||0>g&&m!==p||r.mouseWheel.preventDefault)&&(t.stopImmediatePropagation(),t.preventDefault()),h._scrollTo(o,(_-g*f).toString(),{dir:c}))}})}},_disableMousewheel:function(t,o){var a=o.nodeName.toLowerCase(),r=t.data(n).opt.mouseWheel.disableOver,i=["select","textarea"];return e.inArray(a,r)>-1&&!(e.inArray(a,i)>-1&&!e(o).is(":focus"))},_draggerRail:function(){var t=e(this),o=t.data(n),a=n+"_"+o.idx,r=e("#mCSB_"+o.idx+"_container"),i=r.parent(),l=e(".mCSB_"+o.idx+"_scrollbar .mCSB_draggerContainer");l.bind("touchstart."+a+" pointerdown."+a+" MSPointerDown."+a,function(){u=!0}).bind("touchend."+a+" pointerup."+a+" MSPointerUp."+a,function(){u=!1}).bind("click."+a,function(a){if(e(a.target).hasClass("mCSB_draggerContainer")||e(a.target).hasClass("mCSB_draggerRail")){h._stop(t);var n=e(this),l=n.find(".mCSB_dragger");if(n.parent(".mCSB_scrollTools_horizontal").length>0){if(!o.overflowed[1])return;var s="x",c=a.pageX>l.offset().left?-1:1,d=Math.abs(r[0].offsetLeft)-.9*c*i.width()}else{if(!o.overflowed[0])return;var s="y",c=a.pageY>l.offset().top?-1:1,d=Math.abs(r[0].offsetTop)-.9*c*i.height()}h._scrollTo(t,d.toString(),{dir:s,scrollEasing:"mcsEaseInOut"})}})},_focus:function(){var t=e(this),a=t.data(n),r=a.opt,i=n+"_"+a.idx,l=e("#mCSB_"+a.idx+"_container"),s=l.parent();l.bind("focusin."+i,function(){var a=e(o.activeElement),n=l.find(".mCustomScrollBox").length,i=0;a.is(r.advanced.autoScrollOnFocus)&&(h._stop(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=n?(i+17)*n:0,t[0]._focusTimeout=setTimeout(function(){var e=[a.offset().top-l.offset().top,a.offset().left-l.offset().left],o=[l[0].offsetTop,l[0].offsetLeft],n=[o[0]+e[0]>=0&&o[0]+e[0]=0&&o[0]+e[1]a");s.bind("mousedown."+i+" touchstart."+i+" pointerdown."+i+" MSPointerDown."+i+" mouseup."+i+" touchend."+i+" pointerup."+i+" MSPointerUp."+i+" mouseout."+i+" pointerout."+i+" MSPointerOut."+i+" click."+i,function(n){function i(e,o){r.scrollAmount=a.snapAmount||a.scrollButtons.scrollAmount,h._sequentialScroll.call(this,t,e,o)}if(n.preventDefault(),h._mouseBtnLeft(n)){var l=e(this).attr("class");switch(r.type=a.scrollButtons.scrollType,n.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===r.type)return;u=!0,o.tweenRunning=!1,i("on",l);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===r.type)return;u=!1,r.dir&&i("off",l);break;case"click":if("stepped"!==r.type||o.tweenRunning)return;i("on",l)}}})},_keyboard:function(){var t=e(this),a=t.data(n),r=a.opt,i=a.sequential,l=n+"_"+a.idx,s=e("#mCSB_"+a.idx),c=e("#mCSB_"+a.idx+"_container"),d=c.parent(),u="input,textarea,select,datalist,keygen,[contenteditable='true']";s.attr("tabindex","0").bind("blur."+l+" keydown."+l+" keyup."+l,function(n){function l(e,o){i.type=r.keyboard.scrollType,i.scrollAmount=r.snapAmount||r.keyboard.scrollAmount,"stepped"===i.type&&a.tweenRunning||h._sequentialScroll.call(this,t,e,o)}switch(n.type){case"blur":a.tweenRunning&&i.dir&&l("off",null);break;case"keydown":case"keyup":var s=n.keyCode?n.keyCode:n.which,f="on";if("x"!==r.axis&&(38===s||40===s)||"y"!==r.axis&&(37===s||39===s)){if((38===s||40===s)&&!a.overflowed[0]||(37===s||39===s)&&!a.overflowed[1])return;"keyup"===n.type&&(f="off"),e(o.activeElement).is(u)||(n.preventDefault(),n.stopImmediatePropagation(),l(f,s))}else if(33===s||34===s){if((a.overflowed[0]||a.overflowed[1])&&(n.preventDefault(),n.stopImmediatePropagation()),"keyup"===n.type){h._stop(t);var _=34===s?-1:1;if("x"===r.axis||"yx"===r.axis&&a.overflowed[1]&&!a.overflowed[0])var m="x",p=Math.abs(c[0].offsetLeft)-.9*_*d.width();else var m="y",p=Math.abs(c[0].offsetTop)-.9*_*d.height();h._scrollTo(t,p.toString(),{dir:m,scrollEasing:"mcsEaseInOut"})}}else if((35===s||36===s)&&!e(o.activeElement).is(u)&&((a.overflowed[0]||a.overflowed[1])&&(n.preventDefault(),n.stopImmediatePropagation()),"keyup"===n.type)){if("x"===r.axis||"yx"===r.axis&&a.overflowed[1]&&!a.overflowed[0])var m="x",p=35===s?Math.abs(d.width()-c.outerWidth(!1)):0;else var m="y",p=35===s?Math.abs(d.height()-c.outerHeight(!1)):0;h._scrollTo(t,p.toString(),{dir:m,scrollEasing:"mcsEaseInOut"})}}})},_sequentialScroll:function(t,o,a){function r(e){var o="stepped"!==c.type,a=e?o?s.scrollInertia/1.5:s.scrollInertia:1e3/60,n=e?o?7.5:40:2.5,i=[Math.abs(d[0].offsetTop),Math.abs(d[0].offsetLeft)],u=[l.scrollRatio.y>10?10:l.scrollRatio.y,l.scrollRatio.x>10?10:l.scrollRatio.x],f="x"===c.dir[0]?i[1]+c.dir[1]*u[1]*n:i[0]+c.dir[1]*u[0]*n,_="x"===c.dir[0]?i[1]+c.dir[1]*parseInt(c.scrollAmount):i[0]+c.dir[1]*parseInt(c.scrollAmount),m="auto"!==c.scrollAmount?_:f,p=e?o?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",g=e?!0:!1;return e&&17>a&&(m="x"===c.dir[0]?i[1]:i[0]),h._scrollTo(t,m.toString(),{dir:c.dir[0],scrollEasing:p,dur:a,onComplete:g}),e?void(c.dir=!1):(clearTimeout(c.step),void(c.step=setTimeout(function(){r()},a)))}function i(){clearTimeout(c.step),h._stop(t)}var l=t.data(n),s=l.opt,c=l.sequential,d=e("#mCSB_"+l.idx+"_container"),u="stepped"===c.type?!0:!1;switch(o){case"on":if(c.dir=["mCSB_buttonRight"===a||"mCSB_buttonLeft"===a||39===a||37===a?"x":"y","mCSB_buttonUp"===a||"mCSB_buttonLeft"===a||38===a||37===a?-1:1],h._stop(t),h._isNumeric(a)&&"stepped"===c.type)return;r(u);break;case"off":i(),(u||l.tweenRunning&&c.dir)&&r(!0)}},_arr:function(t){var o=e(this).data(n).opt,a=[];return"function"==typeof t&&(t=t()),t instanceof Array?a=t.length>1?[t[0],t[1]]:"x"===o.axis?[null,t[0]]:[t[0],null]:(a[0]=t.y?t.y:t.x||"x"===o.axis?null:t,a[1]=t.x?t.x:t.y||"y"===o.axis?null:t),"function"==typeof a[0]&&(a[0]=a[0]()),"function"==typeof a[1]&&(a[1]=a[1]()),a},_to:function(t,o){if(null!=t&&"undefined"!=typeof t){var a=e(this),r=a.data(n),i=r.opt,l=e("#mCSB_"+r.idx+"_container"),s=l.parent(),c=typeof t;o||(o="x"===i.axis?"x":"y");var d="x"===o?l.outerWidth(!1):l.outerHeight(!1),u="x"===o?l.offset().left:l.offset().top,_="x"===o?l[0].offsetLeft:l[0].offsetTop,m="x"===o?"left":"top";switch(c){case"function":return t();case"object":if(t.nodeType)var p="x"===o?e(t).offset().left:e(t).offset().top;else if(t.jquery){if(!t.length)return;var p="x"===o?t.offset().left:t.offset().top}return p-u;case"string":case"number":if(h._isNumeric.call(null,t))return Math.abs(t);if(-1!==t.indexOf("%"))return Math.abs(d*parseInt(t)/100);if(-1!==t.indexOf("-="))return Math.abs(_-parseInt(t.split("-=")[1]));if(-1!==t.indexOf("+=")){var g=_+parseInt(t.split("+=")[1]);return g>=0?0:Math.abs(g)}if(-1!==t.indexOf("px")&&h._isNumeric.call(null,t.split("px")[0]))return Math.abs(t.split("px")[0]);if("top"===t||"left"===t)return 0;if("bottom"===t)return Math.abs(s.height()-l.outerHeight(!1));if("right"===t)return Math.abs(s.width()-l.outerWidth(!1));if("first"===t||"last"===t){var v=l.find(":"+t),p="x"===o?e(v).offset().left:e(v).offset().top;return p-u}if(e(t).length){var p="x"===o?e(t).offset().left:e(t).offset().top;return p-u}return l.css(m,t),void f.update.call(null,a[0])}}},_autoUpdate:function(t){function o(){clearTimeout(u[0].autoUpdate),u[0].autoUpdate=setTimeout(function(){return d.advanced.updateOnSelectorChange&&(_=i(),_!==S)?(l(),void(S=_)):(d.advanced.updateOnContentResize&&(m=[u.outerHeight(!1),u.outerWidth(!1),g.height(),g.width(),x()[0],x()[1]],(m[0]!==C[0]||m[1]!==C[1]||m[2]!==C[2]||m[3]!==C[3]||m[4]!==C[4]||m[5]!==C[5])&&(l(),C=m)),d.advanced.updateOnImageLoad&&(p=a(),p!==b&&(u.find("img").each(function(){r(this.src)}),b=p)),void((d.advanced.updateOnSelectorChange||d.advanced.updateOnContentResize||d.advanced.updateOnImageLoad)&&o()))},60)}function a(){var e=0;return d.advanced.updateOnImageLoad&&(e=u.find("img").length),e}function r(e){function t(e,t){return function(){return t.apply(e,arguments)}}function o(){this.onload=null,l()}var a=new Image;a.onload=t(a,o),a.src=e}function i(){d.advanced.updateOnSelectorChange===!0&&(d.advanced.updateOnSelectorChange="*");var t=0,o=u.find(d.advanced.updateOnSelectorChange);return d.advanced.updateOnSelectorChange&&o.length>0&&o.each(function(){t+=e(this).height()+e(this).width()}),t}function l(){clearTimeout(u[0].autoUpdate),f.update.call(null,s[0])}var s=e(this),c=s.data(n),d=c.opt,u=e("#mCSB_"+c.idx+"_container");if(t)return clearTimeout(u[0].autoUpdate),void h._delete.call(null,u[0].autoUpdate);var _,m,p,g=u.parent(),v=[e("#mCSB_"+c.idx+"_scrollbar_vertical"),e("#mCSB_"+c.idx+"_scrollbar_horizontal")],x=function(){return[v[0].is(":visible")?v[0].outerHeight(!0):0,v[1].is(":visible")?v[1].outerWidth(!0):0]},S=i(),C=[u.outerHeight(!1),u.outerWidth(!1),g.height(),g.width(),x()[0],x()[1]],b=a();o()},_snapAmount:function(e,t,o){return Math.round(e/t)*t-o},_stop:function(t){var o=t.data(n),a=e("#mCSB_"+o.idx+"_container,#mCSB_"+o.idx+"_container_wrapper,#mCSB_"+o.idx+"_dragger_vertical,#mCSB_"+o.idx+"_dragger_horizontal");a.each(function(){h._stopTween.call(this)})},_scrollTo:function(t,o,a){function r(e){return s&&c.callbacks[e]&&"function"==typeof c.callbacks[e]}function i(){return[c.callbacks.alwaysTriggerOffsets||S>=C[0]+w,c.callbacks.alwaysTriggerOffsets||-y>=S]}function l(){var e=[_[0].offsetTop,_[0].offsetLeft],o=[v[0].offsetTop,v[0].offsetLeft],n=[_.outerHeight(!1),_.outerWidth(!1)],r=[f.height(),f.width()];t[0].mcs={content:_,top:e[0],left:e[1],draggerTop:o[0],draggerLeft:o[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(n[0])-r[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(n[1])-r[1])),direction:a.dir}}var s=t.data(n),c=s.opt,d={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:c.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},a=e.extend(d,a),u=[a.dur,a.drag?0:a.dur],f=e("#mCSB_"+s.idx),_=e("#mCSB_"+s.idx+"_container"),m=_.parent(),p=c.callbacks.onTotalScrollOffset?h._arr.call(t,c.callbacks.onTotalScrollOffset):[0,0],g=c.callbacks.onTotalScrollBackOffset?h._arr.call(t,c.callbacks.onTotalScrollBackOffset):[0,0]; +if(s.trigger=a.trigger,(0!==m.scrollTop()||0!==m.scrollLeft())&&(e(".mCSB_"+s.idx+"_scrollbar").css("visibility","visible"),m.scrollTop(0).scrollLeft(0)),"_resetY"!==o||s.contentReset.y||(r("onOverflowYNone")&&c.callbacks.onOverflowYNone.call(t[0]),s.contentReset.y=1),"_resetX"!==o||s.contentReset.x||(r("onOverflowXNone")&&c.callbacks.onOverflowXNone.call(t[0]),s.contentReset.x=1),"_resetY"!==o&&"_resetX"!==o){switch(!s.contentReset.y&&t[0].mcs||!s.overflowed[0]||(r("onOverflowY")&&c.callbacks.onOverflowY.call(t[0]),s.contentReset.x=null),!s.contentReset.x&&t[0].mcs||!s.overflowed[1]||(r("onOverflowX")&&c.callbacks.onOverflowX.call(t[0]),s.contentReset.x=null),c.snapAmount&&(o=h._snapAmount(o,c.snapAmount,c.snapOffset)),a.dir){case"x":var v=e("#mCSB_"+s.idx+"_dragger_horizontal"),x="left",S=_[0].offsetLeft,C=[f.width()-_.outerWidth(!1),v.parent().width()-v.width()],b=[o,0===o?0:o/s.scrollRatio.x],w=p[1],y=g[1],B=w>0?w/s.scrollRatio.x:0,T=y>0?y/s.scrollRatio.x:0;break;case"y":var v=e("#mCSB_"+s.idx+"_dragger_vertical"),x="top",S=_[0].offsetTop,C=[f.height()-_.outerHeight(!1),v.parent().height()-v.height()],b=[o,0===o?0:o/s.scrollRatio.y],w=p[0],y=g[0],B=w>0?w/s.scrollRatio.y:0,T=y>0?y/s.scrollRatio.y:0}b[1]<0||0===b[0]&&0===b[1]?b=[0,0]:b[1]>=C[1]?b=[C[0],C[1]]:b[0]=-b[0],t[0].mcs||(l(),r("onInit")&&c.callbacks.onInit.call(t[0])),clearTimeout(_[0].onCompleteTimeout),(s.tweenRunning||!(0===S&&b[0]>=0||S===C[0]&&b[0]<=C[0]))&&(h._tweenTo.call(null,v[0],x,Math.round(b[1]),u[1],a.scrollEasing),h._tweenTo.call(null,_[0],x,Math.round(b[0]),u[0],a.scrollEasing,a.overwrite,{onStart:function(){a.callbacks&&a.onStart&&!s.tweenRunning&&(r("onScrollStart")&&(l(),c.callbacks.onScrollStart.call(t[0])),s.tweenRunning=!0,h._onDragClasses(v),s.cbOffsets=i())},onUpdate:function(){a.callbacks&&a.onUpdate&&r("whileScrolling")&&(l(),c.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(a.callbacks&&a.onComplete){"yx"===c.axis&&clearTimeout(_[0].onCompleteTimeout);var e=_[0].idleTimer||0;_[0].onCompleteTimeout=setTimeout(function(){r("onScroll")&&(l(),c.callbacks.onScroll.call(t[0])),r("onTotalScroll")&&b[1]>=C[1]-B&&s.cbOffsets[0]&&(l(),c.callbacks.onTotalScroll.call(t[0])),r("onTotalScrollBack")&&b[1]<=T&&s.cbOffsets[1]&&(l(),c.callbacks.onTotalScrollBack.call(t[0])),s.tweenRunning=!1,_[0].idleTimer=0,h._onDragClasses(v,"hide")},e)}}}))}},_tweenTo:function(e,o,a,n,r,i,l){function s(){w.stop||(S||p.call(),S=h._getTime()-x,c(),S>=w.time&&(w.time=S>w.time?S+_-(S-w.time):S+_-1,w.time0?(w.currVal=f(w.time,C,y,n,r),b[o]=Math.round(w.currVal)+"px"):b[o]=a+"px",g.call()}function d(){_=1e3/60,w.time=S+_,m=t.requestAnimationFrame?t.requestAnimationFrame:function(e){return c(),setTimeout(e,.01)},w.id=m(s)}function u(){null!=w.id&&(t.requestAnimationFrame?t.cancelAnimationFrame(w.id):clearTimeout(w.id),w.id=null)}function f(e,t,o,a,n){switch(n){case"linear":case"mcsLinear":return o*e/a+t;case"mcsLinearOut":return e/=a,e--,o*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=a/2,1>e?o/2*e*e+t:(e--,-o/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=a/2,1>e?o/2*Math.pow(2,10*(e-1))+t:(e--,o/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=a/2,1>e?o/2*e*e*e+t:(e-=2,o/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=a,e--,-o*(e*e*e*e-1)+t;case"easeOutStrong":return o*(-Math.pow(2,-10*e/a)+1)+t;case"easeOut":case"mcsEaseOut":default:var r=(e/=a)*e,i=r*e;return t+o*(.499999999999997*i*r+-2.5*r*r+5.5*i+-6.5*r+4*e)}}e._malihuTween||(e._malihuTween={top:{},left:{}});var _,m,l=l||{},p=l.onStart||function(){},g=l.onUpdate||function(){},v=l.onComplete||function(){},x=h._getTime(),S=0,C=e.offsetTop,b=e.style,w=e._malihuTween[o];"left"===o&&(C=e.offsetLeft);var y=a-C;w.stop=0,"none"!==i&&u(),d()},_getTime:function(){return t.performance&&t.performance.now?t.performance.now():t.performance&&t.performance.webkitNow?t.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},_stopTween:function(){var e=this;e._malihuTween||(e._malihuTween={top:{},left:{}}),e._malihuTween.top.id&&(t.requestAnimationFrame?t.cancelAnimationFrame(e._malihuTween.top.id):clearTimeout(e._malihuTween.top.id),e._malihuTween.top.id=null,e._malihuTween.top.stop=1),e._malihuTween.left.id&&(t.requestAnimationFrame?t.cancelAnimationFrame(e._malihuTween.left.id):clearTimeout(e._malihuTween.left.id),e._malihuTween.left.id=null,e._malihuTween.left.stop=1)},_delete:function(e){try{delete e}catch(t){e=null}},_mouseBtnLeft:function(e){return!(e.which&&1!==e.which)},_pointerTouch:function(e){var t=e.originalEvent.pointerType;return!(t&&"touch"!==t&&2!==t)},_isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)}};e.fn[a]=function(t){return f[t]?f[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof t&&t?void e.error("Method "+t+" does not exist"):f.init.apply(this,arguments)},e[a]=function(t){return f[t]?f[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof t&&t?void e.error("Method "+t+" does not exist"):f.init.apply(this,arguments)},e[a].defaults=i,t[a]=!0,e(t).load(function(){e(r)[a]()})})}(jQuery,window,document); \ No newline at end of file diff --git a/node_modules/.bin/build.js b/node_modules/.bin/build.js index 1f8a5268..84d2e695 100644 --- a/node_modules/.bin/build.js +++ b/node_modules/.bin/build.js @@ -26,16 +26,24 @@ { name: "app/main", exclude: [ - "jquery", - "jqueryUI", + // "jquery", + // "jqueryUI", // "jsPlumb" ] } ], - paths: { - jquery: "empty:", - jqueryUI: "empty:", - jsPlumb: "empty:" + "paths": { + //"lib": "lib", + // "app": "app", + "layout": "layout", + "jquery": "lib/jquery-1.11.1.min", + //"jquery": "lib/jquery-2.1.1.min", + "jqueryUI": "lib/jquery-ui.min", + "bootstrap": "lib/bootstrap", + "text": "lib/requirejs/text", + "templates": "../templates", + "jsPlumb": "lib/jsPlumb-1.6.4-min", + "customScrollbar": "lib/jquery.mCustomScrollbar.concat.min" }, //How to optimize all the JS files in the build output directory. diff --git a/sass/_colors.scss b/sass/_colors.scss index 5afb2338..1fdecd60 100644 --- a/sass/_colors.scss +++ b/sass/_colors.scss @@ -1,6 +1,8 @@ $black: black; $white: white; +$bg-color: #05050a; + // gray $gray-lightest: #eaeaea; $gray-lighter: #adadad; diff --git a/sass/_variables.scss b/sass/_variables.scss index 2adffdb2..03e79a84 100644 --- a/sass/_variables.scss +++ b/sass/_variables.scss @@ -785,11 +785,11 @@ $animation-ajax-dropdown: "flipInY"; $base-url: "../img"; //urage: background-image: url("#{$base-url}/images/bg.png"); -$html-background-image: "mybg.png"; -$html-background-color: $white; +$html-background-image: ""; +$html-background-color: $bg-color; -$body-background-image: "mybg.png"; -$body-background-color: $white; +$body-background-image: "pf-bg.jpg"; +$body-background-color: $bg-color; //== HEADER // diff --git a/sass/bootstrap/_navs.scss b/sass/bootstrap/_navs.scss index 820e116b..09fe7587 100644 --- a/sass/bootstrap/_navs.scss +++ b/sass/bootstrap/_navs.scss @@ -79,13 +79,13 @@ float: left; // Make the list-items overlay the bottom border margin-bottom: -1px; + margin-right: 2px; // Actual tabs (as links) > a { - margin-right: 2px; line-height: $line-height-base; border: 1px solid transparent; - border-radius: $border-radius-base $border-radius-base 0 0; + //border-radius: $border-radius-base $border-radius-base 0 0; &:hover { border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color; } diff --git a/sass/layout/_main.scss b/sass/layout/_main.scss index 9294e15e..ffb23977 100644 --- a/sass/layout/_main.scss +++ b/sass/layout/_main.scss @@ -5,5 +5,30 @@ body{ } #pf-map-module{ - margin: 10px; + margin: 0px; + padding: 10px; + background: rgba($gray, 0.3); + + // Tabs (colored) + #pf-map-tabs { + .pf-map-type-default{ + border-top: 2px solid transparent; + } + + .pf-map-type-global{ + border-top: 2px solid $green; + } + + .pf-map-type-alliance{ + border-top: 2px solid $blue; + } + + .pf-map-type-private{ + border-top: 2px solid $teal; + } + } + + .tab-pane{ + background: rgba($gray-darker, 0.95); + } } \ No newline at end of file diff --git a/sass/layout/_map.scss b/sass/layout/_map.scss index 5bdb0492..e37bc306 100644 --- a/sass/layout/_map.scss +++ b/sass/layout/_map.scss @@ -1,9 +1,8 @@ -.pf-map{ - background-color: $gray-darker; - width: 1200px; - height: 500px; - position: relative; - overflow: hidden; +.pf-map-wrapper{ + width: 100%; + height: 530px; + overflow: auto; + padding: 5px; @include border-bottom-radius(5px); border: { @@ -11,11 +10,18 @@ style: solid; color: $gray-lighter; } +} + +.pf-map{ + + width: 1200px; + height: 500px; + position: relative; .pf-system{ position: absolute; - min-width: 50px; + min-width: 80px; height: auto; background-color: $gray-dark; z-index: 100; @@ -98,8 +104,12 @@ // =============================================================== .pf-system-body{ - min-height: 10px; + height: 16px; + width: 80px; + overflow: hidden; cursor: move; + padding: 0 2px; + white-space: nowrap; border: { top: { @@ -108,6 +118,33 @@ color: $gray-light; } } + + + + .pf-system-body-item{ + color: $gray-light; + font-size: 10px; + + .pf-system-body-right{ + float: right; + color: $teal; + display: none; // hover effect + } + // user status ================================================= + .pf-user-status{ + font-size: 7px; + } + + .pf-user-status-corp{ + color: $green; + } + + .pf-user-status-ally{ + color: $blue; + } + + } + } } @@ -116,7 +153,7 @@ @include transition-duration(0.2s); } - // System status =============================================== + // system status ====================================================== .pf-system-status-friendly{ border-color: $blue; @@ -235,8 +272,8 @@ } -// system dialog ================================================= -#pf-system-dialog{ +// dialoges ================================================= +.ui-dialog-content{ label{ min-width: 60px; } diff --git a/sass/library/custom-scrollbar/mCustomScrollbar.scss b/sass/library/custom-scrollbar/mCustomScrollbar.scss new file mode 100644 index 00000000..bb146ef5 --- /dev/null +++ b/sass/library/custom-scrollbar/mCustomScrollbar.scss @@ -0,0 +1,1229 @@ +.mCustomScrollbar { + touch-action: none; +} + +.mCustomScrollbar.mCS_no_scrollbar { + touch-action: auto; +} + +.mCustomScrollBox { + position: relative; + overflow: hidden; + height: 100%; + max-width: 100%; + outline: none; + direction: ltr; +} + +.mCSB_container { + overflow: hidden; + width: auto; + height: auto; +} + +.mCSB_inside > .mCSB_container { + margin-right: 30px; +} + +.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden { + margin-right: 0; +} + +.mCS-dir-rtl > .mCSB_inside > .mCSB_container { + margin-right: 0; + margin-left: 30px; +} + +.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden { + margin-left: 0; +} + +.mCSB_scrollTools { + position: absolute; + width: 16px; + height: auto; + left: auto; + top: 0; + right: 0; + bottom: 0; + opacity: 0.75; + filter: "alpha(opacity=75)"; +} + +.mCSB_outside + .mCSB_scrollTools { + right: -26px; +} + +.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools, .mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools { + right: auto; + left: 0; +} + +.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools { + left: -26px; +} + +.mCSB_scrollTools .mCSB_draggerContainer { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + height: auto; +} + +.mCSB_scrollTools a + .mCSB_draggerContainer { + margin: 20px 0; +} + +.mCSB_scrollTools .mCSB_draggerRail { + width: 2px; + height: 100%; + margin: 0 auto; + border-radius: 16px; + background-color: #000; + background-color: rgba(0,0,0,0.4); + filter: "alpha(opacity=40)"; +} + +.mCSB_scrollTools .mCSB_dragger { + cursor: pointer; + width: 100%; + height: 30px; + z-index: 1; +} + +.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + position: relative; + width: 4px; + height: 100%; + margin: 0 auto; + border-radius: 16px; + text-align: center; + background-color: #fff; + background-color: rgba(255,255,255,0.75); + filter: "alpha(opacity=75)"; +} + +.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar { + width: 12px; +} + +.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail { + width: 8px; +} + +.mCSB_scrollTools .mCSB_buttonUp, .mCSB_scrollTools .mCSB_buttonDown { + display: block; + position: absolute; + height: 20px; + width: 100%; + overflow: hidden; + margin: 0 auto; + cursor: pointer; +} + +.mCSB_scrollTools .mCSB_buttonDown { + bottom: 0; + background-position: 0 -20px; +} + +.mCSB_horizontal.mCSB_inside > .mCSB_container { + margin-right: 0; + margin-bottom: 30px; +} + +.mCSB_horizontal.mCSB_outside > .mCSB_container { + min-height: 100%; +} + +.mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden { + margin-bottom: 0; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal { + width: auto; + height: 16px; + top: auto; + right: 0; + bottom: 0; + left: 0; +} + +.mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal { + bottom: -26px; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer { + margin: 0 20px; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail { + width: 100%; + height: 2px; + margin: 7px 0; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger { + width: 30px; + height: 100%; + left: 0; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + width: 100%; + height: 4px; + margin: 6px auto; +} + +.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar { + height: 12px; + margin: 2px auto; +} + +.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail { + height: 8px; + margin: 4px 0; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft, .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight { + display: block; + position: absolute; + width: 20px; + height: 100%; + overflow: hidden; + margin: 0 auto; + cursor: pointer; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft { + left: 0; +} + +.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight { + right: 0; +} + +.mCSB_container_wrapper { + position: absolute; + height: auto; + width: auto; + overflow: hidden; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin-right: 30px; + margin-bottom: 30px; +} + +.mCSB_container_wrapper > .mCSB_container { + padding-right: 30px; + padding-bottom: 30px; +} + +.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_vertical { + bottom: 20px; +} + +.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_horizontal { + right: 20px; +} + +.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden + .mCSB_scrollTools.mCSB_scrollTools_vertical { + bottom: 0; +} + +.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal { + right: 0; +} + +.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal { + left: 20px; +} + +.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal { + left: 0; +} + +.mCS-dir-rtl > .mCSB_inside > .mCSB_container_wrapper { + margin-right: 0; + margin-left: 30px; +} + +.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden > .mCSB_container { + padding-right: 0; + box-sizing: border-box; +} + +.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden > .mCSB_container { + padding-bottom: 0; + box-sizing: border-box; +} + +.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden { + margin-right: 0; + margin-left: 0; +} + +.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden { + margin-bottom: 0; +} + +.mCSB_scrollTools, .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_buttonUp, .mCSB_scrollTools .mCSB_buttonDown, .mCSB_scrollTools .mCSB_buttonLeft, .mCSB_scrollTools .mCSB_buttonRight { + transition: opacity .2s ease-in-out, background-color .2s ease-in-out; +} + +.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar, .mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail, .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar, .mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail { + transition: width .2s ease-out .2s, height .2s ease-out .2s, margin-left .2s ease-out .2s, margin-right .2s ease-out .2s, margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, opacity .2s ease-in-out, background-color .2s ease-in-out; +} + +.mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools, .mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools { + opacity: 0; + filter: "alpha(opacity=0)"; +} + +.mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag, .mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag, .mCustomScrollBox:hover > .mCSB_scrollTools, .mCustomScrollBox:hover ~ .mCSB_scrollTools, .mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools, .mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools { + opacity: 1; + filter: "alpha(opacity=100)"; +} + +.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.85); + filter: "alpha(opacity=85)"; +} + +.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.9); + filter: "alpha(opacity=90)"; +} + +.mCSB_scrollTools .mCSB_buttonUp, .mCSB_scrollTools .mCSB_buttonDown, .mCSB_scrollTools .mCSB_buttonLeft, .mCSB_scrollTools .mCSB_buttonRight { + background-image: url(mCSB_buttons.png); + background-repeat: no-repeat; + opacity: 0.4; + filter: "alpha(opacity=40)"; +} + +.mCSB_scrollTools .mCSB_buttonUp { + background-position: 0 0; +} + +.mCSB_scrollTools .mCSB_buttonLeft { + background-position: 0 -40px; +} + +.mCSB_scrollTools .mCSB_buttonRight { + background-position: 0 -56px; +} + +.mCSB_scrollTools .mCSB_buttonUp:hover, .mCSB_scrollTools .mCSB_buttonDown:hover, .mCSB_scrollTools .mCSB_buttonLeft:hover, .mCSB_scrollTools .mCSB_buttonRight:hover { + opacity: 0.75; + filter: "alpha(opacity=75)"; +} + +.mCSB_scrollTools .mCSB_buttonUp:active, .mCSB_scrollTools .mCSB_buttonDown:active, .mCSB_scrollTools .mCSB_buttonLeft:active, .mCSB_scrollTools .mCSB_buttonRight:active { + opacity: 0.9; + filter: "alpha(opacity=90)"; +} + +.mCS-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.15); +} + +.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); +} + +.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: rgba(0,0,0,0.85); +} + +.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: rgba(0,0,0,0.9); +} + +.mCS-dark.mCSB_scrollTools .mCSB_buttonUp { + background-position: -80px 0; +} + +.mCS-dark.mCSB_scrollTools .mCSB_buttonDown { + background-position: -80px -20px; +} + +.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -80px -40px; +} + +.mCS-dark.mCSB_scrollTools .mCSB_buttonRight { + background-position: -80px -56px; +} + +.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail, .mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail { + width: 4px; + background-color: #fff; + background-color: rgba(255,255,255,0.1); + border-radius: 1px; +} + +.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + width: 4px; + background-color: #fff; + background-color: rgba(255,255,255,0.75); + border-radius: 1px; +} + +.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + width: 100%; + height: 4px; + margin: 6px auto; +} + +.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.85); +} + +.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.9); +} + +.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp { + background-position: -32px 0; +} + +.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown { + background-position: -32px -20px; +} + +.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -40px -40px; +} + +.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight { + background-position: -40px -56px; +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.1); + border-radius: 1px; +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); + border-radius: 1px; +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.85); +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.9); +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp { + background-position: -112px 0; +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown { + background-position: -112px -20px; +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -120px -40px; +} + +.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight { + background-position: -120px -56px; +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail, .mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail { + width: 4px; + background-color: #fff; + background-color: rgba(255,255,255,0.1); + border-radius: 2px; +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + width: 6px; + background-color: #fff; + background-color: rgba(255,255,255,0.75); + border-radius: 2px; +} + +.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail { + width: 100%; + height: 4px; + margin: 6px 0; +} + +.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + width: 100%; + height: 6px; + margin: 5px auto; +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.85); +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.9); +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp { + background-position: -16px 0; +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown { + background-position: -16px -20px; +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -20px -40px; +} + +.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight { + background-position: -20px -56px; +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.1); + border-radius: 2px; +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); + border-radius: 2px; +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.85); +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.9); +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp { + background-position: -96px 0; +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown { + background-position: -96px -20px; +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -100px -40px; +} + +.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight { + background-position: -100px -56px; +} + +.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail { + background-color: #fff; + background-color: rgba(255,255,255,0.1); +} + +.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + width: 2px; +} + +.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail { + width: 100%; +} + +.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + width: 100%; + height: 2px; + margin: 7px auto; +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.15); +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.85); +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.9); +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp { + background-position: -80px 0; +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown { + background-position: -80px -20px; +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -80px -40px; +} + +.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight { + background-position: -80px -56px; +} + +.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail { + background-color: #fff; + background-color: rgba(255,255,255,0.15); +} + +.mCS-rounded.mCSB_scrollTools .mCSB_dragger, .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger, .mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger { + height: 14px; +} + +.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + width: 14px; + margin: 0 1px; +} + +.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger { + width: 14px; +} + +.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + height: 14px; + margin: 1px 0; +} + +.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar { + width: 16px; + height: 16px; + margin: -1px 0; +} + +.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail { + width: 4px; +} + +.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar { + height: 16px; + width: 16px; + margin: 0 -1px; +} + +.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail { + height: 4px; + margin: 6px 0; +} + +.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp { + background-position: 0 -72px; +} + +.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown { + background-position: 0 -92px; +} + +.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft { + background-position: 0 -112px; +} + +.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight { + background-position: 0 -128px; +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.15); +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.85); +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.9); +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp { + background-position: -80px -72px; +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown { + background-position: -80px -92px; +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -80px -112px; +} + +.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight { + background-position: -80px -128px; +} + +.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail, .mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail { + width: 4px; +} + +.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail { + background-color: transparent; + background-position: center; +} + +.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail, .mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg=="); + background-repeat: repeat-y; + opacity: 0.3; + filter: "alpha(opacity=30)"; +} + +.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail { + height: 4px; + margin: 6px 0; + background-repeat: repeat-x; +} + +.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp { + background-position: -16px -72px; +} + +.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown { + background-position: -16px -92px; +} + +.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -20px -112px; +} + +.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight { + background-position: -20px -128px; +} + +.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII="); +} + +.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp { + background-position: -96px -72px; +} + +.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown { + background-position: -96px -92px; +} + +.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -100px -112px; +} + +.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight { + background-position: -100px -128px; +} + +.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-repeat: repeat-y; + background-image: linear-gradient(to right, rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%); +} + +.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + background-repeat: repeat-x; + background-image: linear-gradient(to bottom, rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%); +} + +.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger, .mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger { + height: 70px; +} + +.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger { + width: 70px; +} + +.mCS-3d.mCSB_scrollTools, .mCS-3d-dark.mCSB_scrollTools { + opacity: 1; + filter: "alpha(opacity=30)"; +} + +.mCS-3d.mCSB_scrollTools .mCSB_draggerRail, .mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + border-radius: 16px; +} + +.mCS-3d.mCSB_scrollTools .mCSB_draggerRail, .mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail { + width: 8px; + background-color: #000; + background-color: rgba(0,0,0,0.2); + box-shadow: inset 1px 0 1px rgba(0,0,0,0.5), inset -1px 0 1px rgba(255,255,255,0.2); +} + +.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #555; +} + +.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + width: 8px; +} + +.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail { + width: 100%; + height: 8px; + margin: 4px 0; + box-shadow: inset 0 1px 1px rgba(0,0,0,0.5), inset 0 -1px 1px rgba(255,255,255,0.2); +} + +.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + width: 100%; + height: 8px; + margin: 4px auto; +} + +.mCS-3d.mCSB_scrollTools .mCSB_buttonUp { + background-position: -32px -72px; +} + +.mCS-3d.mCSB_scrollTools .mCSB_buttonDown { + background-position: -32px -92px; +} + +.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -40px -112px; +} + +.mCS-3d.mCSB_scrollTools .mCSB_buttonRight { + background-position: -40px -128px; +} + +.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.1); + box-shadow: inset 1px 0 1px rgba(0,0,0,0.1); +} + +.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail { + box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); +} + +.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp { + background-position: -112px -72px; +} + +.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown { + background-position: -112px -92px; +} + +.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -120px -112px; +} + +.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight { + background-position: -120px -128px; +} + +.mCS-3d-thick.mCSB_scrollTools, .mCS-3d-thick-dark.mCSB_scrollTools { + opacity: 1; + filter: "alpha(opacity=30)"; +} + +.mCS-3d-thick.mCSB_scrollTools, .mCS-3d-thick-dark.mCSB_scrollTools, .mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer { + border-radius: 7px; +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + border-radius: 5px; + box-shadow: inset 1px 0 0 rgba(255,255,255,0.4); + width: 12px; + margin: 2px; + position: absolute; + height: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +.mCSB_inside + .mCS-3d-thick.mCSB_scrollTools_vertical, .mCSB_inside + .mCS-3d-thick-dark.mCSB_scrollTools_vertical { + right: 1px; +} + +.mCS-3d-thick.mCSB_scrollTools_vertical, .mCS-3d-thick-dark.mCSB_scrollTools_vertical { + box-shadow: inset 1px 0 1px rgba(0,0,0,0.1), inset 0 0 14px rgba(0,0,0,0.5); +} + +.mCS-3d-thick.mCSB_scrollTools_horizontal, .mCS-3d-thick-dark.mCSB_scrollTools_horizontal { + bottom: 1px; + box-shadow: inset 0 1px 1px rgba(0,0,0,0.1), inset 0 0 14px rgba(0,0,0,0.5); +} + +.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + box-shadow: inset 0 1px 0 rgba(255,255,255,0.4); + height: 12px; + width: auto; +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #555; +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer { + background-color: #000; + background-color: rgba(0,0,0,0.05); + box-shadow: inset 1px 1px 16px rgba(0,0,0,0.1); +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail { + background-color: transparent; +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp { + background-position: -32px -72px; +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown { + background-position: -32px -92px; +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -40px -112px; +} + +.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight { + background-position: -40px -128px; +} + +.mCS-3d-thick-dark.mCSB_scrollTools { + box-shadow: inset 0 0 14px rgba(0,0,0,0.2); +} + +.mCS-3d-thick-dark.mCSB_scrollTools_horizontal { + box-shadow: inset 0 1px 1px rgba(0,0,0,0.1), inset 0 0 14px rgba(0,0,0,0.2); +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + box-shadow: inset 1px 0 0 rgba(255,255,255,0.4), inset -1px 0 0 rgba(0,0,0,0.2); +} + +.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + box-shadow: inset 0 1px 0 rgba(255,255,255,0.4), inset 0 -1px 0 rgba(0,0,0,0.2); +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #777; +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer { + background-color: #fff; + background-color: rgba(0,0,0,0.05); + box-shadow: inset 1px 1px 16px rgba(0,0,0,0.1); +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: transparent; +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp { + background-position: -112px -72px; +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown { + background-position: -112px -92px; +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -120px -112px; +} + +.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight { + background-position: -120px -128px; +} + +.mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical, .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical { + right: 0; + margin: 12px 0; +} + +.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox.mCS-minimal + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools.mCSB_scrollTools_horizontal, .mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal { + bottom: 0; + margin: 0 12px; +} + +.mCS-dir-rtl > .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical, .mCS-dir-rtl > .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical { + left: 0; + right: auto; +} + +.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail, .mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: transparent; +} + +.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger, .mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger { + height: 50px; +} + +.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger, .mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger { + width: 50px; +} + +.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.2); + filter: "alpha(opacity=20)"; +} + +.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.5); + filter: "alpha(opacity=50)"; +} + +.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.2); + filter: "alpha(opacity=20)"; +} + +.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.5); + filter: "alpha(opacity=50)"; +} + +.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail { + width: 6px; + background-color: #000; + background-color: rgba(0,0,0,0.2); +} + +.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + width: 6px; +} + +.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail { + width: 100%; + height: 6px; + margin: 5px 0; +} + +.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail { + width: 12px; +} + +.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail { + height: 12px; + margin: 2px 0; +} + +.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp { + background-position: -32px -72px; +} + +.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown { + background-position: -32px -92px; +} + +.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -40px -112px; +} + +.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight { + background-position: -40px -128px; +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.85); +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.9); +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.1); +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp { + background-position: -112px -72px; +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown { + background-position: -112px -92px; +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -120px -112px; +} + +.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight { + background-position: -120px -128px; +} + +.mCS-inset.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail { + width: 12px; + background-color: #000; + background-color: rgba(0,0,0,0.2); +} + +.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + width: 6px; + margin: 3px 5px; + position: absolute; + height: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar { + height: 6px; + margin: 5px 3px; + position: absolute; + width: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail, .mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail { + width: 100%; + height: 12px; + margin: 2px 0; +} + +.mCS-inset.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp { + background-position: -32px -72px; +} + +.mCS-inset.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown { + background-position: -32px -92px; +} + +.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -40px -112px; +} + +.mCS-inset.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight { + background-position: -40px -128px; +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.85); +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.9); +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.1); +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp { + background-position: -112px -72px; +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown { + background-position: -112px -92px; +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft { + background-position: -120px -112px; +} + +.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight { + background-position: -120px -128px; +} + +.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail, .mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: transparent; + border-width: 1px; + border-style: solid; + border-color: #fff; + border-color: rgba(255,255,255,0.2); + box-sizing: border-box; +} + +.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail { + border-color: #000; + border-color: rgba(0,0,0,0.2); +} + +.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail { + background-color: #fff; + background-color: rgba(255,255,255,0.6); +} + +.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail { + background-color: #000; + background-color: rgba(0,0,0,0.6); +} + +.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.75); +} + +.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.85); +} + +.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #000; + background-color: rgba(0,0,0,0.9); +} + +.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.75); +} + +.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.85); +} + +.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar { + background-color: #fff; + background-color: rgba(255,255,255,0.9); +} diff --git a/sass/production.css b/sass/production.css deleted file mode 100644 index 4aaaf0a7..00000000 --- a/sass/production.css +++ /dev/null @@ -1,88 +0,0 @@ -/* -Error: File to import not found or unreadable: compass/css3/border-radius. - Load paths: - - on line 1 of layout/_main.scss - from line 1 of layout/_all.scss - from line 83 of production.scss - -1: -2: // Core variables and mixins -3: @import "colors"; -4: @import "variables"; -5: @import "bootstrap/mixins"; -6: - -Backtrace: -layout/_main.scss:1 -layout/_all.scss:1 -production.scss:83 -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/import_node.rb:66:in `rescue in import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/import_node.rb:45:in `import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/import_node.rb:28:in `imported_file' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/import_node.rb:37:in `css_import?' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:301:in `visit_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:36:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:158:in `block in visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:79:in `block in with_base' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:115:in `with_frame' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:79:in `with_base' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:158:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:315:in `block (2 levels) in visit_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:315:in `map' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:315:in `block in visit_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:88:in `block in with_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:115:in `with_frame' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:88:in `with_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:312:in `visit_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:36:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:158:in `block in visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:79:in `block in with_base' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:115:in `with_frame' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:79:in `with_base' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:158:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:315:in `block (2 levels) in visit_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:315:in `map' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:315:in `block in visit_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:88:in `block in with_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:115:in `with_frame' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:88:in `with_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:312:in `visit_import' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:36:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:158:in `block in visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:79:in `block in with_base' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:115:in `with_frame' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/stack.rb:79:in `with_base' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:158:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:52:in `block in visit_children' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:52:in `map' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:52:in `visit_children' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:179:in `with_environment' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:166:in `visit_children' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:36:in `block in visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:186:in `visit_root' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/base.rb:36:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:157:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/visitors/perform.rb:8:in `visit' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/root_node.rb:36:in `css_tree' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/tree/root_node.rb:29:in `render_with_sourcemap' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/engine.rb:368:in `_render_with_sourcemap' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/engine.rb:285:in `render_with_sourcemap' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/plugin/compiler.rb:489:in `update_stylesheet' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/plugin/compiler.rb:209:in `each' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/plugin/compiler.rb:209:in `update_stylesheets' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/plugin.rb:82:in `update_stylesheets' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/exec/sass_scss.rb:350:in `watch_or_update' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/exec/sass_scss.rb:50:in `process_result' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/exec/base.rb:52:in `parse' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/lib/sass/exec/base.rb:19:in `parse!' -C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/sass-3.4.6/bin/scss:13:in `' -C:/Ruby21-x64/bin/scss:23:in `load' -C:/Ruby21-x64/bin/scss:23:in `
    ' -*/ -body:before { - white-space: pre; - font-family: monospace; - content: "Error: File to import not found or unreadable: compass/css3/border-radius.\A Load paths:\A \A on line 1 of layout/_main.scss\A from line 1 of layout/_all.scss\A from line 83 of production.scss\A \A 1: \A 2: // Core variables and mixins\A 3: @import \"colors\";\A 4: @import \"variables\";\A 5: @import \"bootstrap/mixins\";\A 6: "; } diff --git a/sass/production.scss b/sass/production.scss index 42077d91..24f1a3c7 100644 --- a/sass/production.scss +++ b/sass/production.scss @@ -8,35 +8,36 @@ // Plugins imported alphabatically and by order (remove if not needed) -@import "smartadmin/plugin-bootstrap-markdown"; -@import "smartadmin/plugin-bootstrap-slider"; -@import "smartadmin/plugin-bootstrap-tagsinput"; -@import "smartadmin/plugin-bootstrap-timepicker"; -@import "smartadmin/plugin-clockpicker"; -@import "smartadmin/plugin-colorpicker"; -@import "smartadmin/plugin-dataTables.bootstrap"; -@import "smartadmin/plugin-dataTables.colReorder"; -@import "smartadmin/plugin-dataTables.colVis"; -@import "smartadmin/plugin-dataTables.tableTools"; -@import "smartadmin/plugin-dataTables.responsive"; -@import "smartadmin/plugin-dataTables-cust"; -@import "smartadmin/plugin-dropzone"; -@import "smartadmin/plugin-fd-slider"; -@import "smartadmin/plugin-fullcalendar"; -@import "smartadmin/plugin-ion"; -@import "smartadmin/plugin-jarviswidget"; -@import "smartadmin/plugin-jcrop"; -@import "smartadmin/plugin-jqgrid"; -@import "smartadmin/plugin-select2"; -@import "smartadmin/plugin-xeditable"; -@import "smartadmin/plugin-smart-notifications"; -@import "smartadmin/plugin-summernote"; -@import "smartadmin/plugin-superbox"; -@import "smartadmin/plugin-voicecommand"; +// @import "smartadmin/plugin-bootstrap-markdown"; +// @import "smartadmin/plugin-bootstrap-slider"; +// @import "smartadmin/plugin-bootstrap-tagsinput"; +// @import "smartadmin/plugin-bootstrap-timepicker"; +// @import "smartadmin/plugin-clockpicker"; +// @import "smartadmin/plugin-colorpicker"; +// @import "smartadmin/plugin-dataTables.bootstrap"; +// @import "smartadmin/plugin-dataTables.colReorder"; +// @import "smartadmin/plugin-dataTables.colVis"; +// @import "smartadmin/plugin-dataTables.tableTools"; +// @import "smartadmin/plugin-dataTables.responsive"; +// @import "smartadmin/plugin-dataTables-cust"; +// @import "smartadmin/plugin-dropzone"; +// @import "smartadmin/plugin-fd-slider"; +// @import "smartadmin/plugin-fullcalendar"; +// @import "smartadmin/plugin-ion"; +// @import "smartadmin/plugin-jarviswidget"; +// @import "smartadmin/plugin-jcrop"; +// @import "smartadmin/plugin-jqgrid"; +// @import "smartadmin/plugin-select2"; +// @import "smartadmin/plugin-xeditable"; +// @import "smartadmin/plugin-smart-notifications"; +// @import "smartadmin/plugin-summernote"; +// @import "smartadmin/plugin-superbox"; +// @import "smartadmin/plugin-voicecommand"; // Libraries (Remove if not needed) @import "library/animation/animation-engine"; @import "library/jqueryui/jquery-ui-1.10.3.custom"; +@import "library/custom-scrollbar/mCustomScrollbar"; // malihu-custom-scrollbar-plugin // Individual pages, sections, and components. You can remove any of these sections you don't use diff --git a/sass/smartadmin/_main.scss b/sass/smartadmin/_main.scss index 5d8b0cb6..4c147f6c 100644 --- a/sass/smartadmin/_main.scss +++ b/sass/smartadmin/_main.scss @@ -1,8 +1,7 @@ html { margin: 0; padding: 0; - min-height: 100%; - background:url("#{$base-url}/#{$html-background-image}") $html-background-color; + height: 100%; position:relative; } @@ -11,6 +10,7 @@ body { padding: 0; min-height: 100%; background:url("#{$base-url}/#{$body-background-image}") $body-background-color; + background-repeat: no-repeat; direction:ltr; } @@ -1861,15 +1861,14 @@ input[type="text"]:focus + .input-group-addon { } .nav-tabs>li>a { - @include border-top-radius(5px); color: $gray-lighter; &:hover{ color: $gray-darkest; + border-color: transparent transparent $gray-lighter transparent; } } .nav-tabs > li.active > a { - @include box-shadow($orange 0 -2px 0); background-color: $gray-lighter; color: $gray-darker; diff --git a/templates/modules/map_dialog.html b/templates/modules/map_dialog.html new file mode 100644 index 00000000..c182f109 --- /dev/null +++ b/templates/modules/map_dialog.html @@ -0,0 +1,37 @@ +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + + + +
    +
    +
    \ No newline at end of file diff --git a/templates/modules/tabs.html b/templates/modules/tabs.html index c85a2eb8..1bb09966 100644 --- a/templates/modules/tabs.html +++ b/templates/modules/tabs.html @@ -1,6 +1,11 @@