diff --git a/src/public/assets/scripts/main.js b/src/public/assets/scripts/main.js index d528757..dacf22a 100644 --- a/src/public/assets/scripts/main.js +++ b/src/public/assets/scripts/main.js @@ -1 +1 @@ -angular.module("dias.transects",["dias.api","dias.ui"]),angular.module("dias.transects").config(["$compileProvider",function(e){"use strict";e.debugInfoEnabled(!1)}]),angular.module("dias.transects").controller("FilterController",["$scope","images","filter",function(e,t,n){"use strict";e.active=n.hasRules,e.data={negate:"false",filter:null,selected:null},e.setFilterMode=function(e){n.setMode(e),t.updateFiltering()},e.isFilterMode=function(e){return n.getMode()===e},e.getFilters=n.getAll,e.addRule=function(){var r={filter:e.data.filter,negate:"true"===e.data.negate,data:e.data.selected};n.hasRule(r)||n.addRule(r).then(t.updateFiltering)},e.getRules=n.getAllRules,e.removeRule=function(e){n.removeRule(e),t.updateFiltering()},e.rulesLoading=n.rulesLoading,e.numberImages=n.getNumberImages,e.selectData=function(t){e.data.selected=t},e.resetFiltering=function(){n.reset(),t.updateFiltering()}}]),angular.module("dias.transects").controller("ImagesController",["$scope","$element","images","filter","keyboard",function(e,t,n,r,o){"use strict";var i=function(){n.updateGrid(t[0].clientWidth,t[0].clientHeight)},s=function(t){n.scrollRows(t),e.$apply()},a=function(t){n.scrollToPercent(t),e.$apply()};e.imageHasFlag=r.hasFlag,e.getImageIds=n.getSequence,t.bind("wheel",function(e){s(e.deltaY>=0?1:-1)}),o.on(38,function(){s(-1)}),o.on(40,function(){s(1)});var c=function(){s(-1*n.getRows())};o.on(37,c),o.on(33,c);var l=function(){s(n.getRows())};o.on(39,l),o.on(34,l),o.on(36,function(){a(0)}),o.on(35,function(){a(1)}),window.addEventListener("resize",function(){e.$apply(i)}),i(),n.initialize()}]),angular.module("dias.transects").controller("ProgressController",["$scope","images","debounce",function(e,t,n){"use strict";var r,o=!1,i=function(e){e.preventDefault(),r=e.target.getBoundingClientRect(),t.scrollToPercent((e.clientY-r.top)/r.height)};e.beginScrolling=function(){o=!0},e.stopScrolling=function(t){e.scroll(t),o=!1},e.scroll=function(e){o&&n(function(){i(e)},25,"transects.progress.scroll")},e.progress=function(){return 100*t.progress()+"%"},e.top=function(){t.scrollToPercent(0)},e.prevPage=function(){t.scrollRows(-1*t.getRows())},e.prevRow=function(){t.scrollRows(-1)},e.nextRow=function(){t.scrollRows(1)},e.nextPage=function(){t.scrollRows(t.getRows())},e.bottom=function(){t.scrollToPercent(1)},e.isAtTop=function(){return 0===t.progress()},e.isAtBottom=function(){return 1===t.progress()}}]),angular.module("dias.transects").controller("SortByFilenameController",["$scope","sort","TRANSECT_IMAGES",function(e,t,n){"use strict";var r="filename";e.active=function(){return t.isSorterActive("filename")},e.toggle=function(){e.active()||e.activateSorter(r,n)}}]),angular.module("dias.transects").controller("SortController",["$scope","sort","images",function(e,t,n){"use strict";var r={},o=!1;e.setCache=function(e,t){r[e]=t},e.getCache=function(e){return r[e]},e.hasCache=function(e){return r.hasOwnProperty(e)},e.active=t.isActive,e.setSortAscending=function(){t.setAscending(),n.updateSorting()},e.setSortDescending=function(){t.setDescending(),n.updateSorting()},e.isSortAscending=t.isAscending,e.isSortDescending=t.isDescending,e.activateSorter=function(e,r){t.activateSorter(e,r),n.updateSorting()},e.resetSorting=function(){t.reset(),n.updateSorting()},e.setLoading=function(e){o=e},e.isLoading=function(){return o}}]),angular.module("dias.transects").controller("SortRandomController",["$scope","sort","TRANSECT_IMAGES",function(e,t,n){"use strict";var r="random",o=function(e){var t,n,r;for(t=e.length-1;t>0;t--)n=Math.floor(Math.random()*(t+1)),r=e[t],e[t]=e[n],e[n]=r;return e};e.active=function(){return t.isSorterActive("random")},e.toggle=function(){e.active()||e.activateSorter(r,o(n.slice(0)))}}]),angular.module("dias.transects").directive("fallbackSrc",function(){"use strict";return{restrict:"A",link:function(e,t,n){t[0].onerror=function(){this.src=n.fallbackSrc}}}}),angular.module("dias.transects").factory("TransectImageOrderByFilename",["$resource","URL",function(e,t){"use strict";return e(t+"/api/v1/transects/:transect_id/images/order-by/filename")}]),angular.module("dias.transects").service("filter",["TRANSECT_ID","TRANSECT_IMAGES","filterSubset","filterExclude",function(e,t,n,r){"use strict";var o="filter",i=this,s="dias.transects."+e+".filter.rules",a="dias.transects."+e+".filter.mode",c=[],l=window.localStorage.getItem(a);l||(l=o);var u=JSON.parse(window.localStorage.getItem(s));u||(u=[]);var g=[],f=function(){angular.copy(t,g);for(var e,o=u.length-1;o>=0;o--)e=u[o],e.negate?r(g,e.ids):n(g,e.ids);u.length>0?window.localStorage.setItem(s,JSON.stringify(u)):window.localStorage.removeItem(s)};this.setMode=function(e){l=e,l!==o?window.localStorage.setItem(a,l):window.localStorage.removeItem(a)},this.getMode=function(){return l},this.add=function(e){if(!e.hasOwnProperty("name"))throw"A filter needs a name property";if(!e.hasOwnProperty("resource"))throw"A filter needs a resource property";c.push({name:e.name,resource:e.resource,typeahead:e.typeahead,transformData:e.transformData||angular.identity})},this.getAll=function(){return c},this.addRule=function(t){var n={filter:t.filter,negate:t.negate,data:t.data},r=function(){i.removeRule(n)},o=t.filter.transformData(t.data);return n.ids=t.filter.resource.query({transect_id:e,data:o},f,r),u.push(n),n.ids.$promise},this.getAllRules=function(){return u},this.removeRule=function(e){var t=u.indexOf(e);t>=0&&u.splice(t,1),f()},this.hasRule=function(e){for(var t,n=u.length-1;n>=0;n--)if(t=u[n],t.filter==e.filter&&t.negate==e.negate&&t.data==e.data)return!0;return!1},this.hasRules=function(){return u.length>0},this.rulesLoading=function(){for(var e=u.length-1;e>=0;e--)if(u[e].ids.$resolved===!1)return!0;return!1},this.getNumberImages=function(){return g.length},this.getSequence=function(){return"filter"===l?g:t},this.hasFlag=function(e){return"flag"===l?g.indexOf(e)>=0:!1},this.reset=function(){u.length=0,f()},f()}]),angular.module("dias.transects").service("images",["TRANSECT_ID","TRANSECT_IMAGES","filterSubset","filter","sort","THUMB_DIMENSION","urlParams","debounce",function(e,t,n,r,o,i,s,a){"use strict";var c="dias.transects."+e+".images",l="dias.transects."+e+".offset",u=[];window.localStorage[c]?(u=JSON.parse(window.localStorage[c]),n(u,t)):angular.copy(t,u);var g={cols:0,rows:0},f=8,d=0,m=null,h=[],S=function(){h=u.slice(m,m+g.cols*g.rows)},w=0,v=function(){w=Math.ceil(u.length/g.cols)-g.rows,null!==m&&R(m)},p=function(){var e=!1;o.isActive()?(e=!0,angular.copy(o.getSequence(),u),n(u,t)):angular.copy(t,u),r.hasRules()&&(e=!0,n(u,r.getSequence())),S(),e?window.localStorage[c]=JSON.stringify(u):window.localStorage.removeItem(c)},R=function(e){m=Math.max(0,Math.min(w*g.cols,e)),S(),m===d?(window.localStorage.removeItem(l),s.unset("offset")):(window.localStorage[l]=m,s.set({offset:m}))};this.updateSorting=function(){p()},this.updateFiltering=function(){p(),v()},this.progress=function(){return Math.max(0,Math.min(1,m/(u.length-g.cols*g.rows)))},this.updateGrid=function(e,t){g.cols=Math.floor(e/(i.WIDTH+f)),g.rows=Math.floor(t/(i.HEIGHT+f)),S(),v()},this.scrollRows=function(e){R(m+g.cols*e)},this.scrollToPercent=function(e){R(g.cols*Math.round(w*e))},this.getSequence=function(){return h},this.getRows=function(){return g.rows},this.getCols=function(){return g.cols},this.getLength=function(){return u.length},this.initialize=function(){R(void 0!==s.get("offset")?parseInt(s.get("offset")):window.localStorage[l]?parseInt(window.localStorage[l]):d)}}]),angular.module("dias.transects").service("sort",["TRANSECT_ID","TRANSECT_IMAGES",function(e,t){"use strict";var n="dias.transects."+e+".sorting.sorter",r="dias.transects."+e+".sorting.sequence",o="dias.transects."+e+".sorting.direction",i="asc",s="desc",a={DIRECTION:i,SORTER:"filename",SEQUENCE:t},c=window.localStorage.getItem(o);c||(c=a.DIRECTION);var l=window.localStorage.getItem(n);l||(l=a.SORTER);var u=JSON.parse(window.localStorage.getItem(r));u||(u=a.SEQUENCE);var g=function(e){c=e,c===a.DIRECTION?window.localStorage.removeItem(o):window.localStorage.setItem(o,c)};this.setAscending=function(){g(i)},this.setDescending=function(){g(s)},this.isAscending=function(){return c===i},this.isDescending=function(){return c===s},this.isSorterActive=function(e){return l===e},this.isActive=function(){return l!==a.SORTER||c!==a.DIRECTION},this.reset=function(){l=a.SORTER,window.localStorage.removeItem(n),u=a.SEQUENCE,window.localStorage.removeItem(r),c=a.DIRECTION,window.localStorage.removeItem(o)},this.activateSorter=function(e,t){if(l!==e){if(t.length!==a.SEQUENCE.length)throw"Requested sorting sequence length does not match the number of images in the transect!";l=e,l===a.SORTER?window.localStorage.removeItem(n):window.localStorage.setItem(n,l),u=t,u===a.SEQUENCE?window.localStorage.removeItem(r):window.localStorage.setItem(r,JSON.stringify(u))}},this.getSequence=function(){return c===s?u.slice().reverse():u}}]); \ No newline at end of file +angular.module("dias.transects",["dias.api","dias.ui"]),angular.module("dias.transects").config(["$compileProvider",function(e){"use strict";e.debugInfoEnabled(!1)}]),angular.module("dias.transects").controller("FilterController",["$scope","images","filter",function(e,t,n){"use strict";e.active=n.hasRules,e.data={negate:"false",filter:null,selected:null},e.setFilterMode=function(e){n.setMode(e),t.updateFiltering()},e.isFilterMode=function(e){return n.getMode()===e},e.getFilters=n.getAll,e.addRule=function(){var r={filter:e.data.filter,negate:"true"===e.data.negate,data:e.data.selected};n.hasRule(r)||n.addRule(r).then(t.updateFiltering)},e.getRules=n.getAllRules,e.removeRule=function(e){n.removeRule(e),t.updateFiltering()},e.rulesLoading=n.rulesLoading,e.numberImages=n.getNumberImages,e.selectData=function(t){e.data.selected=t},e.resetFiltering=function(){n.reset(),t.updateFiltering()}}]),angular.module("dias.transects").controller("ImagesController",["$scope","$element","images","filter","keyboard",function(e,t,n,r,o){"use strict";var i=function(){n.updateGrid(t[0].clientWidth,t[0].clientHeight)},s=function(t){n.scrollRows(t),e.$apply()},a=function(t){n.scrollToPercent(t),e.$apply()};e.imageHasFlag=r.hasFlag,e.getImageIds=n.getSequence,t.bind("wheel",function(e){s(e.deltaY>=0?1:-1)}),o.on(38,function(){s(-1)}),o.on(40,function(){s(1)});var c=function(){s(-1*n.getRows())};o.on(37,c),o.on(33,c);var l=function(){s(n.getRows())};o.on(39,l),o.on(34,l),o.on(36,function(){a(0)}),o.on(35,function(){a(1)}),window.addEventListener("resize",function(){e.$apply(i)}),i(),n.initialize()}]),angular.module("dias.transects").controller("ProgressController",["$scope","images","debounce",function(e,t,n){"use strict";var r,o=!1,i=function(e){e.preventDefault(),r=e.target.getBoundingClientRect(),t.scrollToPercent((e.clientY-r.top)/r.height)};e.beginScrolling=function(){o=!0},e.stopScrolling=function(t){e.scroll(t),o=!1},e.scroll=function(e){o&&n(function(){i(e)},25,"transects.progress.scroll")},e.progress=function(){return 100*t.progress()+"%"},e.top=function(){t.scrollToPercent(0)},e.prevPage=function(){t.scrollRows(-1*t.getRows())},e.prevRow=function(){t.scrollRows(-1)},e.nextRow=function(){t.scrollRows(1)},e.nextPage=function(){t.scrollRows(t.getRows())},e.bottom=function(){t.scrollToPercent(1)},e.isAtTop=function(){return 0===t.progress()},e.isAtBottom=function(){return 1===t.progress()}}]),angular.module("dias.transects").controller("SortByFilenameController",["$scope","sort","TRANSECT_IMAGES",function(e,t,n){"use strict";var r="filename";e.active=function(){return t.isSorterActive("filename")},e.toggle=function(){e.active()||e.activateSorter(r,n)}}]),angular.module("dias.transects").controller("SortController",["$scope","sort","images",function(e,t,n){"use strict";var r={},o=!1;e.setCache=function(e,t){r[e]=t},e.getCache=function(e){return r[e]},e.hasCache=function(e){return r.hasOwnProperty(e)},e.active=t.isActive,e.setSortAscending=function(){t.setAscending(),n.updateSorting()},e.setSortDescending=function(){t.setDescending(),n.updateSorting()},e.isSortAscending=t.isAscending,e.isSortDescending=t.isDescending,e.activateSorter=function(e,r){t.activateSorter(e,r),n.updateSorting()},e.resetSorting=function(){t.reset(),n.updateSorting()},e.setLoading=function(e){o=e},e.isLoading=function(){return o}}]),angular.module("dias.transects").controller("SortRandomController",["$scope","sort","TRANSECT_IMAGES",function(e,t,n){"use strict";var r="random",o=function(e){var t,n,r;for(t=e.length-1;t>0;t--)n=Math.floor(Math.random()*(t+1)),r=e[t],e[t]=e[n],e[n]=r;return e};e.active=function(){return t.isSorterActive("random")},e.toggle=function(){e.active()||e.activateSorter(r,o(n.slice(0)))}}]),angular.module("dias.transects").directive("fallbackSrc",function(){"use strict";return{restrict:"A",link:function(e,t,n){t[0].onerror=function(){this.src=n.fallbackSrc}}}}),angular.module("dias.transects").factory("TransectImageOrderByFilename",["$resource","URL",function(e,t){"use strict";return e(t+"/api/v1/transects/:transect_id/images/order-by/filename")}]),angular.module("dias.transects").service("filter",["TRANSECT_ID","TRANSECT_IMAGES","filterSubset","filterExclude",function(e,t,n,r){"use strict";var o="filter",i=this,s="dias.transects."+e+".filter.rules",a="dias.transects."+e+".filter.mode",c=[],l=window.localStorage.getItem(a);l||(l=o);var u=JSON.parse(window.localStorage.getItem(s));u||(u=[]);var g=[],f=function(){angular.copy(t,g);for(var e,o=u.length-1;o>=0;o--)e=u[o],e.negate?r(g,e.ids):n(g,e.ids);u.length>0?window.localStorage.setItem(s,JSON.stringify(u)):window.localStorage.removeItem(s)};this.setMode=function(e){l=e,l!==o?window.localStorage.setItem(a,l):window.localStorage.removeItem(a)},this.getMode=function(){return l},this.add=function(e){if(!e.hasOwnProperty("name"))throw"A filter needs a name property";if(!e.hasOwnProperty("resource"))throw"A filter needs a resource property";c.push({name:e.name,resource:e.resource,template:e.template,typeahead:e.typeahead,transformData:e.transformData||angular.identity})},this.getAll=function(){return c},this.addRule=function(t){var n={filter:t.filter,negate:t.negate,data:t.data},r=function(){i.removeRule(n)},o=t.filter.transformData(t.data);return n.ids=t.filter.resource.query({transect_id:e,data:o},f,r),u.push(n),n.ids.$promise},this.getAllRules=function(){return u},this.removeRule=function(e){var t=u.indexOf(e);t>=0&&u.splice(t,1),f()},this.hasRule=function(e){for(var t,n=u.length-1;n>=0;n--)if(t=u[n],t.filter==e.filter&&t.negate==e.negate&&t.data==e.data)return!0;return!1},this.hasRules=function(){return u.length>0},this.rulesLoading=function(){for(var e=u.length-1;e>=0;e--)if(u[e].ids.$resolved===!1)return!0;return!1},this.getNumberImages=function(){return g.length},this.getSequence=function(){return"filter"===l?g:t},this.hasFlag=function(e){return"flag"===l?g.indexOf(e)>=0:!1},this.reset=function(){u.length=0,f()},f()}]),angular.module("dias.transects").service("images",["TRANSECT_ID","TRANSECT_IMAGES","filterSubset","filter","sort","THUMB_DIMENSION","urlParams","debounce",function(e,t,n,r,o,i,s,a){"use strict";var c="dias.transects."+e+".images",l="dias.transects."+e+".offset",u=[];window.localStorage[c]?(u=JSON.parse(window.localStorage[c]),n(u,t)):angular.copy(t,u);var g={cols:0,rows:0},f=8,d=0,m=null,h=[],S=function(){h=u.slice(m,m+g.cols*g.rows)},w=0,v=function(){w=Math.ceil(u.length/g.cols)-g.rows,null!==m&&R(m)},p=function(){var e=!1;o.isActive()?(e=!0,angular.copy(o.getSequence(),u),n(u,t)):angular.copy(t,u),r.hasRules()&&(e=!0,n(u,r.getSequence())),S(),e?window.localStorage[c]=JSON.stringify(u):window.localStorage.removeItem(c)},R=function(e){m=Math.max(0,Math.min(w*g.cols,e)),S(),m===d?(window.localStorage.removeItem(l),s.unset("offset")):(window.localStorage[l]=m,s.set({offset:m}))};this.updateSorting=function(){p()},this.updateFiltering=function(){p(),v()},this.progress=function(){return Math.max(0,Math.min(1,m/(u.length-g.cols*g.rows)))},this.updateGrid=function(e,t){g.cols=Math.floor(e/(i.WIDTH+f)),g.rows=Math.floor(t/(i.HEIGHT+f)),S(),v()},this.scrollRows=function(e){R(m+g.cols*e)},this.scrollToPercent=function(e){R(g.cols*Math.round(w*e))},this.getSequence=function(){return h},this.getRows=function(){return g.rows},this.getCols=function(){return g.cols},this.getLength=function(){return u.length},this.initialize=function(){R(void 0!==s.get("offset")?parseInt(s.get("offset")):window.localStorage[l]?parseInt(window.localStorage[l]):d)}}]),angular.module("dias.transects").service("sort",["TRANSECT_ID","TRANSECT_IMAGES",function(e,t){"use strict";var n="dias.transects."+e+".sorting.sorter",r="dias.transects."+e+".sorting.sequence",o="dias.transects."+e+".sorting.direction",i="asc",s="desc",a={DIRECTION:i,SORTER:"filename",SEQUENCE:t},c=window.localStorage.getItem(o);c||(c=a.DIRECTION);var l=window.localStorage.getItem(n);l||(l=a.SORTER);var u=JSON.parse(window.localStorage.getItem(r));u||(u=a.SEQUENCE);var g=function(e){c=e,c===a.DIRECTION?window.localStorage.removeItem(o):window.localStorage.setItem(o,c)};this.setAscending=function(){g(i)},this.setDescending=function(){g(s)},this.isAscending=function(){return c===i},this.isDescending=function(){return c===s},this.isSorterActive=function(e){return l===e},this.isActive=function(){return l!==a.SORTER||c!==a.DIRECTION},this.reset=function(){l=a.SORTER,window.localStorage.removeItem(n),u=a.SEQUENCE,window.localStorage.removeItem(r),c=a.DIRECTION,window.localStorage.removeItem(o)},this.activateSorter=function(e,t){if(l!==e){if(t.length!==a.SEQUENCE.length)throw"Requested sorting sequence length does not match the number of images in the transect!";l=e,l===a.SORTER?window.localStorage.removeItem(n):window.localStorage.setItem(n,l),u=t,u===a.SEQUENCE?window.localStorage.removeItem(r):window.localStorage.setItem(r,JSON.stringify(u))}},this.getSequence=function(){return c===s?u.slice().reverse():u}}]); \ No newline at end of file diff --git a/src/public/assets/styles/dashboard.css b/src/public/assets/styles/dashboard.css index 4e29c44..1d50524 100644 --- a/src/public/assets/styles/dashboard.css +++ b/src/public/assets/styles/dashboard.css @@ -1 +1,2 @@ -.transects-dashboard__thumb{position:relative;margin-bottom:30px}.transects-dashboard__thumb figcaption,.transects-dashboard__thumb img{border-radius:4px}.transects-dashboard__thumb img{width:100%}.transects-dashboard__thumb figcaption{width:100%;position:absolute;bottom:0;color:#fff;padding:.5em;background:linear-gradient(transparent,rgba(0,0,0,.8)) 50% no-repeat;opacity:.75;transition:opacity .25s ease}.transects-dashboard__thumb:hover figcaption{opacity:1} \ No newline at end of file +.transects-dashboard__thumb{position:relative;margin-bottom:30px}.transects-dashboard__thumb figcaption,.transects-dashboard__thumb img{border-radius:4px}.transects-dashboard__thumb img{width:100%}.transects-dashboard__thumb figcaption{width:100%;position:absolute;bottom:0;color:#fff;padding:.5em;background:linear-gradient(transparent,rgba(0,0,0,.8)) center no-repeat;opacity:.75;transition:opacity .25s ease}.transects-dashboard__thumb:hover figcaption{opacity:1} +/*# sourceMappingURL=dashboard.css.map */ diff --git a/src/public/assets/styles/dashboard.css.map b/src/public/assets/styles/dashboard.css.map index 653cf63..257fe1a 100644 --- a/src/public/assets/styles/dashboard.css.map +++ b/src/public/assets/styles/dashboard.css.map @@ -1 +1 @@ -{"version":3,"sources":["dashboard.scss"],"names":[],"mappings":"AAAA;EACI,mBAAmB;EACnB,oBAAoB,EAwBvB;EAtBG;IACI,mBAAmB,EACtB;EANL;IASQ,YAAY,EACf;EAED;IACI,YAAY;IACZ,mBAAmB;IACnB,UAAU;IACV,aAAa;IACb,eAAe;IACf,8EAA6E;IAC7E,cAAc;IACd,+BAA+B,EAClC;EArBL;IAwBQ,WAAW,EACd","file":"dashboard.css","sourcesContent":[".transects-dashboard__thumb {\n position: relative;\n margin-bottom: 30px;\n\n img, figcaption {\n border-radius: 4px;\n }\n\n img {\n width: 100%;\n }\n\n figcaption {\n width: 100%;\n position: absolute;\n bottom: 0;\n color: white;\n padding: 0.5em;\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)) center no-repeat;\n opacity: 0.75;\n transition: opacity 0.25s ease;\n }\n\n &:hover figcaption {\n opacity: 1;\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["dashboard.scss"],"names":[],"mappings":"AAAA,4BACI,SAAA,SACA,cAAA,KAwBH,uCAAA,gCArBO,cAAA,IACH,gCAGG,MAAA,KAGJ,uCACI,MAAA,KACA,SAAA,SACA,OAAA,EACA,MAAA,KACA,QAAA,KACA,WAAA,4CAAA,OAAA,UACA,QAAA,IACA,WAAA,QAAA,KAAA,KACH,6CAGG,QAAA","file":"dashboard.css","sourcesContent":[".transects-dashboard__thumb {\n position: relative;\n margin-bottom: 30px;\n\n img, figcaption {\n border-radius: 4px;\n }\n\n img {\n width: 100%;\n }\n\n figcaption {\n width: 100%;\n position: absolute;\n bottom: 0;\n color: white;\n padding: 0.5em;\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)) center no-repeat;\n opacity: 0.75;\n transition: opacity 0.25s ease;\n }\n\n &:hover figcaption {\n opacity: 1;\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/src/public/assets/styles/edit.css b/src/public/assets/styles/edit.css index fbd067f..3c4fbb1 100644 --- a/src/public/assets/styles/edit.css +++ b/src/public/assets/styles/edit.css @@ -1 +1,2 @@ -.transect-images-panel .images-list{max-height:300px;overflow-y:auto} \ No newline at end of file +.transect-images-panel .images-list{max-height:300px;overflow-y:auto} +/*# sourceMappingURL=edit.css.map */ diff --git a/src/public/assets/styles/edit.css.map b/src/public/assets/styles/edit.css.map index 5c99b3e..1e23d4e 100644 --- a/src/public/assets/styles/edit.css.map +++ b/src/public/assets/styles/edit.css.map @@ -1 +1 @@ -{"version":3,"sources":["edit.scss"],"names":[],"mappings":"AACI;EACI,kBAAkB;EAClB,iBAAiB,EACpB","file":"edit.css","sourcesContent":[".transect-images-panel {\n .images-list {\n max-height: 300px;\n overflow-y: auto;\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["edit.scss"],"names":[],"mappings":"AACI,oCACI,WAAA,MACA,WAAA","file":"edit.css","sourcesContent":[".transect-images-panel {\n .images-list {\n max-height: 300px;\n overflow-y: auto;\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/src/public/assets/styles/main.css b/src/public/assets/styles/main.css index ae63c2c..3e4c8fc 100644 --- a/src/public/assets/styles/main.css +++ b/src/public/assets/styles/main.css @@ -1 +1,2 @@ -.transect-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;position:absolute;top:0;width:100%;height:calc(100% - 50px);margin-top:50px}.transect-menubar{min-width:50px;padding:1em .5em}.transect-menubar__item{display:block;margin-bottom:1em}.transect__progress{padding:1px 0;height:100%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.transect__progress .progress__buttons--top>.btn:last-child{border-radius:0}.transect__progress .progress__buttons--top .glyphicon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.transect__progress .progress__buttons--bottom>.btn:first-child{border-radius:0}.transect__progress .progress__buttons--bottom .glyphicon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.transect__progress-bar{-webkit-flex:2;-ms-flex:2;flex:2;border-left:1px solid #555;border-right:1px solid #555;position:relative}.transect__progress-bar .progress-bar__wrapper{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}.transect__progress-bar .progress-bar__progress{height:0%;background-color:#555;transition:background-color .1s ease}.transect__progress-bar:hover{cursor:pointer}.transect__progress-bar:hover .progress-bar__progress{background-color:#888}.transect__images{overflow:hidden;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex:2;-ms-flex:2;flex:2}.transect-figure{height:135px;width:180px;display:inline-block;position:relative;margin:4px}.transect-figure img{width:100%;height:100%;border-radius:4px}.transect-figure a.info-link{position:absolute;top:.5em;right:.5em;color:#fff;padding:.3em .5em;background-color:rgba(0,0,0,.5);border-radius:4px;opacity:0;transition:all .25s ease}.transect-figure:hover a.info-link{opacity:.75}.transect-figure:hover a.info-link:hover{opacity:1}.transect-figure__flags{position:absolute;top:0;left:0;padding-top:.5em}.transect-figure__flags .figure-flag{position:relative;z-index:100;margin-left:.5em}.figure-flag{display:inline-block;width:15px;height:15px;border-radius:50%;background-color:#5bc0de;border:2px solid #fff}.transect-filter-popover .filter-list{margin-top:1em;max-height:100px;overflow-y:auto}.transect-filter-popover .figure-flag{vertical-align:middle}.transect-filter-popover .add-rule-form{white-space:nowrap}.transect-filter-menu-group .popover{max-width:none}.transect-sort-popover{min-width:200px}.transect-sort-popover .sorter-list-group{margin-top:.5em;margin-bottom:0;max-height:200px;overflow-y:auto}.navbar-text.navbar-transects-breadcrumbs,.navbar-text.navbar-transects-breadcrumbs a{color:#ccc} \ No newline at end of file +.transect__progress .progress__buttons--bottom>.btn:first-child,.transect__progress .progress__buttons--top>.btn:last-child{border-radius:0}.transect__progress .progress__buttons--bottom .glyphicon,.transect__progress .progress__buttons--top .glyphicon{transform:rotate(90deg)}.transect-container{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;position:absolute;top:0;width:100%;height:calc(100% - 50px);margin-top:50px}.transect-menubar{min-width:50px;padding:1em .5em}.transect-menubar__item{display:block;margin-bottom:1em}.transect__progress{padding:1px 0;height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.transect__progress-bar{-ms-flex:2;flex:2;border-left:1px solid #555;border-right:1px solid #555;position:relative}.transect__progress-bar .progress-bar__wrapper{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}.transect__progress-bar .progress-bar__progress{height:0%;background-color:#555;transition:background-color .1s ease}.transect__progress-bar:hover{cursor:pointer}.transect__progress-bar:hover .progress-bar__progress{background-color:#888}.transect__images{overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex:2;flex:2}.transect-figure{height:135px;width:180px;display:inline-block;position:relative;margin:4px}.transect-figure img{width:100%;height:100%;border-radius:4px}.transect-figure a.info-link{position:absolute;top:.5em;right:.5em;color:#fff;padding:.3em .5em;background-color:rgba(0,0,0,.5);border-radius:4px;opacity:0;transition:all .25s ease}.transect-figure:hover a.info-link{opacity:.75}.transect-figure:hover a.info-link:hover{opacity:1}.transect-figure__flags{position:absolute;top:0;left:0;padding-top:.5em}.transect-figure__flags .figure-flag{position:relative;z-index:100;margin-left:.5em}.figure-flag{display:inline-block;width:15px;height:15px;border-radius:50%;background-color:#5bc0de;border:2px solid #fff}.transect-filter-popover .filter-list{margin-top:1em;max-height:100px;overflow-y:auto}.transect-filter-popover .figure-flag{vertical-align:middle}.transect-filter-popover .add-rule-form{white-space:nowrap}.transect-filter-menu-group .popover{max-width:none}.transect-sort-popover{min-width:200px}.transect-sort-popover .sorter-list-group{margin-top:.5em;margin-bottom:0;max-height:200px;overflow-y:auto}.navbar-text.navbar-transects-breadcrumbs,.navbar-text.navbar-transects-breadcrumbs a{color:#ccc} +/*# sourceMappingURL=main.css.map */ diff --git a/src/public/assets/styles/main.css.map b/src/public/assets/styles/main.css.map index e448f52..49b3859 100644 --- a/src/public/assets/styles/main.css.map +++ b/src/public/assets/styles/main.css.map @@ -1 +1 @@ -{"version":3,"sources":["main.scss","_variables.scss"],"names":[],"mappings":"AAKA;EACI,sBAAc;EAAd,qBAAc;EAAd,cAAc;EACd,4BAAoB;EAApB,wBAAoB;EAApB,oBAAoB;EACpB,mBAAmB;EACnB,OAAO;EACP,YAAY;EACZ,0BAAY;EACZ,iBCgWmC,ED/VtC;;AAED;EACI,gBAAgB;EAChB,mBAAmB,EACtB;;AAED;EACI,eAAe;EACf,mBAAmB,EACtB;;AAED;EAEI,eAAe;EACf,aAAa;EACb,sBAAc;EAAd,qBAAc;EAAd,cAAc;EACd,+BAAuB;EAAvB,2BAAuB;EAAvB,uBAAuB,EAqB1B;EAlBe;IACJ,iBAAiB,EACpB;EAVT;IAaY,iCAAiB;IAAjB,yBAAiB,EACpB;EAdT;IAmBY,iBAAiB,EACpB;EApBT;IAuBY,iCAAiB;IAAjB,yBAAiB,EACpB;;AAIT;EACI,gBAAQ;EAAR,YAAQ;EAAR,QAAQ;EACR,4BCkGiC;EDjGjC,6BCiGiC;EDhGjC,mBAAmB,EA0BtB;EA9BD;IASQ,mBAAmB;IACnB,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,qBAAqB,EACxB;EAED;IACI,WAAW;IACX,uBCiF6B;IDhF7B,uCAAuC,EAC1C;EArBL;IAwBQ,gBAAgB,EAKnB;IA7BL;MA2BY,0BClEmB,EDmEtB;;AAIT;EACC,iBAAiB;EACd,sBAAc;EAAd,qBAAc;EAAd,cAAc;EACd,gCAAwB;EAAxB,sBAAwB;EAAxB,wBAAwB;EACxB,8BAAsB;EAAtB,2BAAsB;EAAtB,sBAAsB;EACtB,wBAAgB;EAAhB,oBAAgB;EAAhB,gBAAgB;EAChB,gBAAQ;EAAR,YAAQ;EAAR,QAAQ,EACX;;AAED;EACC,cAAc;EACd,aAAa;EACb,sBAAsB;EACnB,mBAAmB;EACnB,YAjGuB,EA4H1B;EAhCD;IAQE,YAAY;IACZ,aAAa;IACP,mBCKuB,EDJ7B;EAXF;IAcQ,mBAAmB;IACnB,WA1GsB;IA2GtB,aA3GsB;IA4GtB,aAAa;IACb,qBAAqB;IACrB,qCAAsB;IACtB,mBCLuB;IDMvB,WAAW;IACX,2BAA2B,EAC9B;EAvBL;IA0BQ,cAAc,EAKjB;IA/BL;MA6BY,WAAW,EACd;;AAIT;EACI,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,mBAjI0B,EAwI7B;EAXD;IAOQ,mBAAmB;IACnB,aAAa;IACb,mBAtIsB,EAuIzB;;AAGL;EACI,sBAAsB;EACtB,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,0BC/H2B;EDgI3B,wBAAwB,EAC3B;;AAED;EAGQ,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB,EACpB;;AANL;EASQ,uBAAuB,EAC1B;;AAED;EACI,oBAAoB,EACvB;;AAGL;EAEQ,gBAAgB,EACnB;;AAGL;EACI,iBAAiB,EAQpB;EATD;IAIQ,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB,EACpB;;AAGL;EAEQ,eC9KuB,ED+K1B","file":"main.css","sourcesContent":["@import \"variables\";\n\n$transect-image-margin: 4px;\n$transect-image-padding: 0.5em;\n\n.transect-container {\n display: flex;\n flex-direction: row;\n position: absolute;\n top: 0;\n width: 100%;\n height: calc(100% - #{$navbar-height});\n margin-top: $navbar-height;\n}\n\n.transect-menubar {\n min-width: 50px;\n padding: 1em 0.5em;\n}\n\n.transect-menubar__item {\n display: block;\n margin-bottom: 1em;\n}\n\n.transect__progress {\n // width: 10px;\n padding: 1px 0;\n height: 100%;\n display: flex;\n flex-direction: column;\n\n .progress__buttons--top {\n & > .btn:last-child {\n border-radius: 0;\n }\n\n .glyphicon {\n transform: rotate(90deg);\n }\n }\n\n .progress__buttons--bottom {\n & > .btn:first-child {\n border-radius: 0;\n }\n\n .glyphicon {\n transform: rotate(90deg);\n }\n }\n}\n\n.transect__progress-bar {\n flex: 2;\n border-left: 1px solid $btn-default-border;\n border-right: 1px solid $btn-default-border;\n position: relative;\n\n // this is a workaround because chrome doesn't respect percentage height of nested\n // child elements in a flexbox: https://github.com/philipwalton/flexbugs/issues/84\n .progress-bar__wrapper {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n }\n\n .progress-bar__progress {\n height: 0%;\n background-color: $btn-default-border;\n transition: background-color 0.1s ease;\n }\n\n &:hover {\n cursor: pointer;\n\n .progress-bar__progress {\n background-color: $gray-light;\n }\n }\n}\n\n.transect__images {\n\toverflow: hidden;\n display: flex;\n justify-content: center;\n align-content: center;\n flex-wrap: wrap;\n flex: 2;\n}\n\n.transect-figure {\n\theight: 135px;\n\twidth: 180px;\n\tdisplay: inline-block;\n position: relative;\n margin: $transect-image-margin;\n\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n border-radius: $border-radius-base;\n\t}\n\n & a.info-link {\n position: absolute;\n top: $transect-image-padding;\n right: $transect-image-padding;\n color: white;\n padding: 0.3em 0.5em;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: $border-radius-base;\n opacity: 0;\n transition: all 0.25s ease;\n }\n\n &:hover a.info-link {\n opacity: 0.75;\n\n &:hover {\n opacity: 1;\n }\n }\n}\n\n.transect-figure__flags {\n position: absolute;\n top: 0;\n left: 0;\n padding-top: $transect-image-padding;\n\n .figure-flag {\n position: relative;\n z-index: 100;\n margin-left: $transect-image-padding;\n }\n}\n\n.figure-flag {\n display: inline-block;\n width: 15px;\n height: 15px;\n border-radius: 50%;\n background-color: $brand-info;\n border: 2px solid white;\n}\n\n.transect-filter-popover {\n\n .filter-list {\n margin-top: 1em;\n max-height: 100px;\n overflow-y: auto;\n }\n\n .figure-flag {\n vertical-align: middle;\n }\n\n .add-rule-form {\n white-space: nowrap;\n }\n}\n\n.transect-filter-menu-group {\n .popover {\n max-width: none;\n }\n}\n\n.transect-sort-popover {\n min-width: 200px;\n\n .sorter-list-group {\n margin-top: .5em;\n margin-bottom: 0;\n max-height: 200px;\n overflow-y: auto;\n }\n}\n\n.navbar-text.navbar-transects-breadcrumbs {\n &, a {\n color: $text-color;\n }\n}\n","$bootstrap-sass-asset-helper: false !default;\n//\n// Variables\n// --------------------------------------------------\n\n\n//== Colors\n//\n//## Gray and brand colors for use across Bootstrap.\n\n$gray-base: #fff !default;\n$gray-darker: darken($gray-base, 13.5%) !default;\n$gray-dark: darken($gray-base, 20%) !default;\n$gray: darken($gray-base, 33.5%) !default;\n$gray-light: darken($gray-base, 46.7%) !default;\n$gray-lighter: darken($gray-base, 93.5%) !default;\n\n$brand-primary: darken(#428bca, 6.5%) !default;\n$brand-success: #5cb85c !default;\n$brand-info: #5bc0de !default;\n$brand-warning: #f0ad4e !default;\n$brand-danger: #d9534f !default;\n\n\n//== Scaffolding\n//\n//## Settings for some of the most global styles.\n\n//** Background color for ``.\n$body-bg: #222 !default;\n//** Global text color on ``.\n$text-color: $gray-dark !default;\n\n//** Global textual link color.\n$link-color: lighten(#428bca, 15%) !default;\n//** Link hover color set via `darken()` function.\n$link-hover-color: lighten($link-color, 10%) !default;\n//** Link hover decoration.\n$link-hover-decoration: underline !default;\n\n\n//== Typography\n//\n//## Font, line-height, and color for body text, headings, and more.\n\n$font-family-sans-serif: \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif !default;\n//** Default monospace fonts for ``, ``, and `
`.\n$font-family-monospace:   Menlo, Monaco, Consolas, \"Courier New\", monospace !default;\n$font-family-base:        $font-family-sans-serif !default;\n\n$font-size-base:          14px !default;\n$font-size-large:         ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-small:         ceil(($font-size-base * 0.85)) !default; // ~12px\n\n$font-size-h1:            floor(($font-size-base * 2.6)) !default; // ~36px\n$font-size-h2:            floor(($font-size-base * 2.15)) !default; // ~30px\n$font-size-h3:            ceil(($font-size-base * 1.7)) !default; // ~24px\n$font-size-h4:            ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-h5:            $font-size-base !default;\n$font-size-h6:            ceil(($font-size-base * 0.85)) !default; // ~12px\n\n//** Unit-less `line-height` for use in components like buttons.\n$line-height-base:        1.428571429 !default; // 20/14\n//** Computed \"line-height\" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.\n$line-height-computed:    floor(($font-size-base * $line-height-base)) !default; // ~20px\n\n//** By default, this inherits from the ``.\n$headings-font-family:    inherit !default;\n$headings-font-weight:    500 !default;\n$headings-line-height:    1.1 !default;\n$headings-color:          inherit !default;\n\n\n//== Iconography\n//\n//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.\n\n//** Load fonts from this directory.\n\n// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.\n// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.\n$icon-font-path: if($bootstrap-sass-asset-helper, \"bootstrap/\", \"../fonts/bootstrap/\") !default;\n\n//** File name for all font files.\n$icon-font-name:          \"glyphicons-halflings-regular\" !default;\n//** Element ID within SVG icon file.\n$icon-font-svg-id:        \"glyphicons_halflingsregular\" !default;\n\n\n//== Components\n//\n//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).\n\n$padding-base-vertical:     6px !default;\n$padding-base-horizontal:   12px !default;\n\n$padding-large-vertical:    10px !default;\n$padding-large-horizontal:  16px !default;\n\n$padding-small-vertical:    5px !default;\n$padding-small-horizontal:  10px !default;\n\n$padding-xs-vertical:       1px !default;\n$padding-xs-horizontal:     5px !default;\n\n$line-height-large:         1.3333333 !default; // extra decimals for Win 8.1 Chrome\n$line-height-small:         1.5 !default;\n\n$border-radius-base:        4px !default;\n$border-radius-large:       6px !default;\n$border-radius-small:       3px !default;\n\n//** Global color for active items (e.g., navs or dropdowns).\n$component-active-color:    #fff !default;\n//** Global background color for active items (e.g., navs or dropdowns).\n$component-active-bg:       $brand-primary !default;\n\n//** Width of the `border` for generating carets that indicator dropdowns.\n$caret-width-base:          4px !default;\n//** Carets increase slightly in size for larger components.\n$caret-width-large:         5px !default;\n\n\n//== Tables\n//\n//## Customizes the `.table` component with basic values, each used across all table variations.\n\n//** Padding for ``s and ``s.\n$table-cell-padding:            8px !default;\n//** Padding for cells in `.table-condensed`.\n$table-condensed-cell-padding:  5px !default;\n\n//** Default background color used for all tables.\n$table-bg:                      transparent !default;\n//** Background color used for `.table-striped`.\n$table-bg-accent:               #292929 !default;\n//** Background color used for `.table-hover`.\n$table-bg-hover:                #252525 !default;\n$table-bg-active:               $table-bg-hover !default;\n\n//** Border color for table and cell borders.\n$table-border-color:            #444 !default;\n\n\n//== Buttons\n//\n//## For each of Bootstrap's buttons, define text, background and border color.\n\n$btn-font-weight:                normal !default;\n\n$btn-default-color:              $text-color !default;\n$btn-default-bg:                 $body-bg !default;\n$btn-default-border:             #555 !default;\n\n$btn-primary-color:              #fff !default;\n$btn-primary-bg:                 $brand-primary !default;\n$btn-primary-border:             darken($btn-primary-bg, 5%) !default;\n\n$btn-success-color:              #fff !default;\n$btn-success-bg:                 $brand-success !default;\n$btn-success-border:             darken($btn-success-bg, 5%) !default;\n\n$btn-info-color:                 #fff !default;\n$btn-info-bg:                    $brand-info !default;\n$btn-info-border:                darken($btn-info-bg, 5%) !default;\n\n$btn-warning-color:              #fff !default;\n$btn-warning-bg:                 $brand-warning !default;\n$btn-warning-border:             darken($btn-warning-bg, 5%) !default;\n\n$btn-danger-color:               #fff !default;\n$btn-danger-bg:                  $brand-danger !default;\n$btn-danger-border:              darken($btn-danger-bg, 5%) !default;\n\n$btn-link-disabled-color:        $gray-light !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius-base:         $border-radius-base !default;\n$btn-border-radius-large:        $border-radius-large !default;\n$btn-border-radius-small:        $border-radius-small !default;\n\n\n//== Forms\n//\n//##\n\n//** `` background color\n$input-bg:                       #111 !default;\n//** `` background color\n$input-bg-disabled:              $body-bg !default;\n\n//** Text color for ``s\n$input-color:                    $gray !default;\n//** `` border color\n$input-border:                   #555 !default;\n\n// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4\n//** Default `.form-control` border radius\n// This has no effect on ``s in CSS.\n$input-border-radius:            $border-radius-base !default;\n//** Large `.form-control` border radius\n$input-border-radius-large:      $border-radius-large !default;\n//** Small `.form-control` border radius\n$input-border-radius-small:      $border-radius-small !default;\n\n//** Border color for inputs on focus\n$input-border-focus:             #66afe9 !default;\n\n//** Placeholder text color\n$input-color-placeholder:        #888 !default;\n\n//** Default `.form-control` height\n$input-height-base:              ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;\n//** Large `.form-control` height\n$input-height-large:             (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;\n//** Small `.form-control` height\n$input-height-small:             (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;\n\n//** `.form-group` margin\n$form-group-margin-bottom:       15px !default;\n\n$legend-color:                   $gray-dark !default;\n$legend-border-color:            #353535 !default;\n\n//** Background color for textual input addons\n$input-group-addon-bg:           $gray-lighter !default;\n//** Border color for textual input addons\n$input-group-addon-border-color: $input-border !default;\n\n//** Disabled cursor for form controls and buttons.\n$cursor-disabled:                not-allowed !default;\n\n\n//== Dropdowns\n//\n//## Dropdown menu container and contents.\n\n//** Background for the dropdown menu.\n$dropdown-bg:                    #111 !default;\n//** Dropdown menu `border-color`.\n$dropdown-border:                rgba(0,0,0,.15) !default;\n//** Dropdown menu `border-color` **for IE8**.\n$dropdown-fallback-border:       #555 !default;\n//** Divider color for between dropdown items.\n$dropdown-divider-bg:            #353535 !default;\n\n//** Dropdown link text color.\n$dropdown-link-color:            $gray-dark !default;\n//** Hover color for dropdown links.\n$dropdown-link-hover-color:      darken($gray-dark, 5%) !default;\n//** Hover background for dropdown links.\n$dropdown-link-hover-bg:         #353535 !default;\n\n//** Active dropdown menu item text color.\n$dropdown-link-active-color:     $component-active-color !default;\n//** Active dropdown menu item background color.\n$dropdown-link-active-bg:        $component-active-bg !default;\n\n//** Disabled dropdown menu item background color.\n$dropdown-link-disabled-color:   $gray-light !default;\n\n//** Text color for headers within dropdown menus.\n$dropdown-header-color:          $gray-light !default;\n\n//** Deprecated `$dropdown-caret-color` as of v3.1.0\n$dropdown-caret-color:           #000 !default;\n\n\n//-- Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n//\n// Note: These variables are not generated into the Customizer.\n\n$zindex-navbar:            1000 !default;\n$zindex-dropdown:          1000 !default;\n$zindex-popover:           1060 !default;\n$zindex-tooltip:           1070 !default;\n$zindex-navbar-fixed:      1030 !default;\n$zindex-modal-background:  1040 !default;\n$zindex-modal:             1050 !default;\n\n\n//== Media queries breakpoints\n//\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n// Extra small screen / phone\n//** Deprecated `$screen-xs` as of v3.0.1\n$screen-xs:                  480px !default;\n//** Deprecated `$screen-xs-min` as of v3.2.0\n$screen-xs-min:              $screen-xs !default;\n//** Deprecated `$screen-phone` as of v3.0.1\n$screen-phone:               $screen-xs-min !default;\n\n// Small screen / tablet\n//** Deprecated `$screen-sm` as of v3.0.1\n$screen-sm:                  768px !default;\n$screen-sm-min:              $screen-sm !default;\n//** Deprecated `$screen-tablet` as of v3.0.1\n$screen-tablet:              $screen-sm-min !default;\n\n// Medium screen / desktop\n//** Deprecated `$screen-md` as of v3.0.1\n$screen-md:                  992px !default;\n$screen-md-min:              $screen-md !default;\n//** Deprecated `$screen-desktop` as of v3.0.1\n$screen-desktop:             $screen-md-min !default;\n\n// Large screen / wide desktop\n//** Deprecated `$screen-lg` as of v3.0.1\n$screen-lg:                  1200px !default;\n$screen-lg-min:              $screen-lg !default;\n//** Deprecated `$screen-lg-desktop` as of v3.0.1\n$screen-lg-desktop:          $screen-lg-min !default;\n\n// So media queries don't overlap when required, provide a maximum\n$screen-xs-max:              ($screen-sm-min - 1) !default;\n$screen-sm-max:              ($screen-md-min - 1) !default;\n$screen-md-max:              ($screen-lg-min - 1) !default;\n\n\n//== Grid system\n//\n//## Define your custom responsive grid.\n\n//** Number of columns in the grid.\n$grid-columns:              12 !default;\n//** Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width:         30px !default;\n// Navbar collapse\n//** Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint:     $screen-sm-min !default;\n//** Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;\n\n\n//== Container sizes\n//\n//## Define the maximum width of `.container` for different screen sizes.\n\n// Small screen / tablet\n$container-tablet:             (720px + $grid-gutter-width) !default;\n//** For `$screen-sm-min` and up.\n$container-sm:                 $container-tablet !default;\n\n// Medium screen / desktop\n$container-desktop:            (940px + $grid-gutter-width) !default;\n//** For `$screen-md-min` and up.\n$container-md:                 $container-desktop !default;\n\n// Large screen / wide desktop\n$container-large-desktop:      (1140px + $grid-gutter-width) !default;\n//** For `$screen-lg-min` and up.\n$container-lg:                 $container-large-desktop !default;\n\n\n//== Navbar\n//\n//##\n\n// Basics of a navbar\n$navbar-height:                    50px !default;\n$navbar-margin-bottom:             $line-height-computed !default;\n$navbar-border-radius:             $border-radius-base !default;\n$navbar-padding-horizontal:        floor(($grid-gutter-width / 2)) !default;\n$navbar-padding-vertical:          (($navbar-height - $line-height-computed) / 2) !default;\n$navbar-collapse-max-height:       340px !default;\n\n$navbar-default-color:             #777 !default;\n$navbar-default-bg:                #282828 !default;\n$navbar-default-border:            darken($navbar-default-bg, 6.5%) !default;\n\n// Navbar links\n$navbar-default-link-color:                $gray !default;\n$navbar-default-link-hover-color:          #fff !default;\n$navbar-default-link-hover-bg:             transparent !default;\n$navbar-default-link-active-color:         $gray-dark !default;\n$navbar-default-link-active-bg:            darken($navbar-default-bg, 6.5%) !default;\n$navbar-default-link-disabled-color:       $gray-light !default;\n$navbar-default-link-disabled-bg:          transparent !default;\n\n// Navbar brand label\n$navbar-default-brand-color:               $navbar-default-link-color !default;\n$navbar-default-brand-hover-color:         #fff !default;\n$navbar-default-brand-hover-bg:            transparent !default;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg:           #333 !default;\n$navbar-default-toggle-icon-bar-bg:        #fff !default;\n$navbar-default-toggle-border-color:       #333 !default;\n\n\n//=== Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-color:                      darken($gray-light, 15%) !default;\n$navbar-inverse-bg:                         #fff !default;\n$navbar-inverse-border:                     lighten($navbar-inverse-bg, 10%) !default;\n\n// Inverted navbar links\n$navbar-inverse-link-color:                 $gray-light !default;\n$navbar-inverse-link-hover-color:           $gray !default;\n$navbar-inverse-link-hover-bg:              transparent !default;\n$navbar-inverse-link-active-color:          $navbar-inverse-link-hover-color !default;\n$navbar-inverse-link-active-bg:             darken($navbar-inverse-bg, 10%) !default;\n$navbar-inverse-link-disabled-color:        #ddd !default;\n$navbar-inverse-link-disabled-bg:           transparent !default;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color:                $navbar-inverse-link-color !default;\n$navbar-inverse-brand-hover-color:          $gray !default;\n$navbar-inverse-brand-hover-bg:             transparent !default;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg:            #ddd !default;\n$navbar-inverse-toggle-icon-bar-bg:         #888 !default;\n$navbar-inverse-toggle-border-color:        #ddd !default;\n\n\n//== Navs\n//\n//##\n\n//=== Shared nav styles\n$nav-link-padding:                          10px 15px !default;\n$nav-link-hover-bg:                         $gray-lighter !default;\n\n$nav-disabled-link-color:                   $gray-light !default;\n$nav-disabled-link-hover-color:             $gray-light !default;\n\n//== Tabs\n$nav-tabs-border-color:                     $gray-light !default;\n\n$nav-tabs-link-hover-border-color:          $gray-light !default;\n\n$nav-tabs-active-link-hover-bg:             $body-bg !default;\n$nav-tabs-active-link-hover-color:          $gray !default;\n$nav-tabs-active-link-hover-border-color:   $gray-light !default;\n\n$nav-tabs-justified-link-border-color:            $gray-light !default;\n$nav-tabs-justified-active-link-border-color:     $body-bg !default;\n\n//== Pills\n$nav-pills-border-radius:                   $border-radius-base !default;\n$nav-pills-active-link-hover-bg:            $component-active-bg !default;\n$nav-pills-active-link-hover-color:         $component-active-color !default;\n\n\n//== Pagination\n//\n//##\n\n$pagination-color:                     $link-color !default;\n$pagination-bg:                        $body-bg !default;\n$pagination-border:                    #353535 !default;\n\n$pagination-hover-color:               $link-hover-color !default;\n$pagination-hover-bg:                  $gray-lighter !default;\n$pagination-hover-border:              #000 !default;\n\n$pagination-active-color:              #fff !default;\n$pagination-active-bg:                 $brand-primary !default;\n$pagination-active-border:             $brand-primary !default;\n\n$pagination-disabled-color:            $gray-light !default;\n$pagination-disabled-bg:               $body-bg !default;\n$pagination-disabled-border:           $pagination-border !default;\n\n\n//== Pager\n//\n//##\n\n$pager-bg:                             $pagination-bg !default;\n$pager-border:                         $pagination-border !default;\n$pager-border-radius:                  15px !default;\n\n$pager-hover-bg:                       $pagination-hover-bg !default;\n\n$pager-active-bg:                      $pagination-active-bg !default;\n$pager-active-color:                   $pagination-active-color !default;\n\n$pager-disabled-color:                 $pagination-disabled-color !default;\n\n\n//== Jumbotron\n//\n//##\n\n$jumbotron-padding:              30px !default;\n$jumbotron-color:                inherit !default;\n$jumbotron-bg:                   $gray-lighter !default;\n$jumbotron-heading-color:        inherit !default;\n$jumbotron-font-size:            ceil(($font-size-base * 1.5)) !default;\n$jumbotron-heading-font-size:    ceil(($font-size-base * 4.5)) !default;\n\n\n//== Form states and alerts\n//\n//## Define colors for form feedback states and, by default, alerts.\n\n$state-success-text:             lighten(#3c763d, 20%) !default;\n$state-success-bg:               mix(#3c763d, $body-bg, 30%) !default;  //#dff0d8\n$state-success-border:           lighten(adjust-hue($state-success-bg, -10), 5%) !default;\n\n$state-info-text:                lighten(#31708f, 20%) !default;\n$state-info-bg:                  mix(#31708f, $body-bg, 30%) !default; //#d9edf7\n$state-info-border:              lighten(adjust-hue($state-info-bg, -10), 7%) !default;\n\n$state-warning-text:             lighten(#8a6d3b, 20%) !default;\n$state-warning-bg:               mix(#8a6d3b, $body-bg, 30%) !default; //#fcf8e3\n$state-warning-border:           lighten(adjust-hue($state-warning-bg, -10), 5%) !default;\n\n$state-danger-text:              lighten(#a94442, 20%) !default;\n$state-danger-bg:                mix(#a94442, $body-bg, 30%) !default; //#f2dede\n$state-danger-border:            lighten(adjust-hue($state-danger-bg, -10), 5%) !default;\n\n\n//== Tooltips\n//\n//##\n\n//** Tooltip max width\n$tooltip-max-width:           200px !default;\n//** Tooltip text color\n$tooltip-color:               #fff !default;\n//** Tooltip background color\n$tooltip-bg:                  #000 !default;\n$tooltip-opacity:             .9 !default;\n\n//** Tooltip arrow width\n$tooltip-arrow-width:         5px !default;\n//** Tooltip arrow color\n$tooltip-arrow-color:         $tooltip-bg !default;\n\n\n//== Popovers\n//\n//##\n\n//** Popover body background color\n$popover-bg:                          $body-bg !default;\n//** Popover maximum width\n$popover-max-width:                   276px !default;\n//** Popover border color\n$popover-border-color:                rgba(255, 255, 255, .1) !default;\n//** Popover fallback border color\n$popover-fallback-border-color:       #ccc !default;\n\n//** Popover title background color\n$popover-title-bg:                    lighten($popover-bg, 3%) !default;\n\n//** Popover arrow width\n$popover-arrow-width:                 10px !default;\n//** Popover arrow color\n$popover-arrow-color:                 $popover-bg !default;\n\n//** Popover outer arrow width\n$popover-arrow-outer-width:           ($popover-arrow-width + 1) !default;\n//** Popover outer arrow color\n$popover-arrow-outer-color:           fade_in($popover-border-color, 0.05) !default;\n//** Popover outer arrow fallback color\n$popover-arrow-outer-fallback-color:  darken($popover-fallback-border-color, 20%) !default;\n\n\n//== Labels\n//\n//##\n\n//** Default label background color\n$label-default-bg:            $gray-light !default;\n//** Primary label background color\n$label-primary-bg:            $brand-primary !default;\n//** Success label background color\n$label-success-bg:            $brand-success !default;\n//** Info label background color\n$label-info-bg:               $brand-info !default;\n//** Warning label background color\n$label-warning-bg:            $brand-warning !default;\n//** Danger label background color\n$label-danger-bg:             $brand-danger !default;\n\n//** Default label text color\n$label-color:                 #fff !default;\n//** Default text color of a linked label\n$label-link-hover-color:      #fff !default;\n\n\n//== Modals\n//\n//##\n\n//** Padding applied to the modal body\n$modal-inner-padding:         15px !default;\n\n//** Padding applied to the modal title\n$modal-title-padding:         15px !default;\n//** Modal title line-height\n$modal-title-line-height:     $line-height-base !default;\n\n//** Background color of modal content area\n$modal-content-bg:                             $body-bg !default;\n//** Modal content border color\n$modal-content-border-color:                   rgba(255,255,255,.1) !default;\n//** Modal content border color **for IE8**\n$modal-content-fallback-border-color:          #ccc !default;\n\n//** Modal backdrop background color\n$modal-backdrop-bg:           #000 !default;\n//** Modal backdrop opacity\n$modal-backdrop-opacity:      .5 !default;\n//** Modal header border color\n$modal-header-border-color:   #353535 !default;\n//** Modal footer border color\n$modal-footer-border-color:   $modal-header-border-color !default;\n\n$modal-lg:                    900px !default;\n$modal-md:                    600px !default;\n$modal-sm:                    300px !default;\n\n\n//== Alerts\n//\n//## Define alert colors, border radius, and padding.\n\n$alert-padding:               15px !default;\n$alert-border-radius:         $border-radius-base !default;\n$alert-link-font-weight:      bold !default;\n\n$alert-success-bg:            $state-success-bg !default;\n$alert-success-text:          $state-success-text !default;\n$alert-success-border:        $state-success-border !default;\n\n$alert-info-bg:               $state-info-bg !default;\n$alert-info-text:             $state-info-text !default;\n$alert-info-border:           $state-info-border !default;\n\n$alert-warning-bg:            $state-warning-bg !default;\n$alert-warning-text:          $state-warning-text !default;\n$alert-warning-border:        $state-warning-border !default;\n\n$alert-danger-bg:             $state-danger-bg !default;\n$alert-danger-text:           $state-danger-text !default;\n$alert-danger-border:         $state-danger-border !default;\n\n\n//== Progress bars\n//\n//##\n\n//** Background color of the whole progress component\n$progress-bg:                 #353535 !default;\n//** Progress bar text color\n$progress-bar-color:          #fff !default;\n//** Variable for setting rounded corners on progress bar.\n$progress-border-radius:      $border-radius-base !default;\n\n//** Default progress bar color\n$progress-bar-bg:             $brand-primary !default;\n//** Success progress bar color\n$progress-bar-success-bg:     $brand-success !default;\n//** Warning progress bar color\n$progress-bar-warning-bg:     $brand-warning !default;\n//** Danger progress bar color\n$progress-bar-danger-bg:      $brand-danger !default;\n//** Info progress bar color\n$progress-bar-info-bg:        $brand-info !default;\n\n\n//== List group\n//\n//##\n\n//** Background color on `.list-group-item`\n$list-group-bg:                 $body-bg !default;\n//** `.list-group-item` border color\n$list-group-border:             #444 !default;\n//** List group border radius\n$list-group-border-radius:      $border-radius-base !default;\n\n//** Background color of single list items on hover\n$list-group-hover-bg:           #353535 !default;\n//** Text color of active list items\n$list-group-active-color:       $component-active-color !default;\n//** Background color of active list items\n$list-group-active-bg:          $component-active-bg !default;\n//** Border color of active list elements\n$list-group-active-border:      $list-group-active-bg !default;\n//** Text color for content within active list items\n$list-group-active-text-color:  lighten($list-group-active-bg, 40%) !default;\n\n//** Text color of disabled list items\n$list-group-disabled-color:      $gray-light !default;\n//** Background color of disabled list items\n$list-group-disabled-bg:         $gray-lighter !default;\n//** Text color for content within disabled list items\n$list-group-disabled-text-color: $list-group-disabled-color !default;\n\n$list-group-link-color:         $gray !default;\n$list-group-link-hover-color:   $list-group-link-color !default;\n$list-group-link-heading-color: $gray-light !default;\n\n\n//== Panels\n//\n//##\n\n$panel-bg:                    $body-bg !default;\n$panel-body-padding:          15px !default;\n$panel-heading-padding:       10px 15px !default;\n$panel-footer-padding:        $panel-heading-padding !default;\n$panel-border-radius:         $border-radius-base !default;\n\n//** Border color for elements within panels\n$panel-inner-border:          #444 !default;\n$panel-footer-bg:             #353535 !default;\n\n$panel-default-text:          $gray-dark !default;\n$panel-default-border:        #444 !default;\n$panel-default-heading-bg:    #353535 !default;\n\n$panel-primary-text:          #fff !default;\n$panel-primary-border:        $brand-primary !default;\n$panel-primary-heading-bg:    $brand-primary !default;\n\n$panel-success-text:          $state-success-text !default;\n$panel-success-border:        $state-success-border !default;\n$panel-success-heading-bg:    $state-success-bg !default;\n\n$panel-info-text:             $state-info-text !default;\n$panel-info-border:           $state-info-border !default;\n$panel-info-heading-bg:       $state-info-bg !default;\n\n$panel-warning-text:          $state-warning-text !default;\n$panel-warning-border:        $state-warning-border !default;\n$panel-warning-heading-bg:    $state-warning-bg !default;\n\n$panel-danger-text:           $state-danger-text !default;\n$panel-danger-border:         $state-danger-border !default;\n$panel-danger-heading-bg:     $state-danger-bg !default;\n\n\n//== Thumbnails\n//\n//##\n\n//** Padding around the thumbnail image\n$thumbnail-padding:           4px !default;\n//** Thumbnail background color\n$thumbnail-bg:                $body-bg !default;\n//** Thumbnail border color\n$thumbnail-border:            #444 !default;\n//** Thumbnail border radius\n$thumbnail-border-radius:     $border-radius-base !default;\n\n//** Custom text color for thumbnail captions\n$thumbnail-caption-color:     $text-color !default;\n//** Padding around the thumbnail caption\n$thumbnail-caption-padding:   9px !default;\n\n\n//== Wells\n//\n//##\n\n$well-bg:                     #353535 !default;\n$well-border:                 darken($well-bg, 15%) !default;\n\n\n//== Badges\n//\n//##\n\n$badge-color:                 #fff !default;\n//** Linked badge text color on hover\n$badge-link-hover-color:      #fff !default;\n$badge-bg:                    $gray-light !default;\n\n//** Badge text color in active nav link\n$badge-active-color:          $component-active-bg !default;\n//** Badge background color in active nav link\n$badge-active-bg:             #fff !default;\n\n$badge-font-weight:           bold !default;\n$badge-line-height:           1 !default;\n$badge-border-radius:         10px !default;\n\n\n//== Breadcrumbs\n//\n//##\n\n$breadcrumb-padding-vertical:   8px !default;\n$breadcrumb-padding-horizontal: 15px !default;\n//** Breadcrumb background color\n$breadcrumb-bg:                 #353535 !default;\n//** Breadcrumb text color\n$breadcrumb-color:              $gray !default;\n//** Text color of current page in the breadcrumb\n$breadcrumb-active-color:       $gray-light !default;\n//** Textual separator for between breadcrumb elements\n$breadcrumb-separator:          \"/\" !default;\n\n\n//== Carousel\n//\n//##\n\n$carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6) !default;\n\n$carousel-control-color:                      #fff !default;\n$carousel-control-width:                      15% !default;\n$carousel-control-opacity:                    .5 !default;\n$carousel-control-font-size:                  20px !default;\n\n$carousel-indicator-active-bg:                #fff !default;\n$carousel-indicator-border-color:             #fff !default;\n\n$carousel-caption-color:                      #fff !default;\n\n\n//== Close\n//\n//##\n\n$close-font-weight:           bold !default;\n$close-color:                 #fff !default;\n$close-text-shadow:           0 1px 0 #000 !default;\n\n\n//== Code\n//\n//##\n\n$code-color:                  lighten(#c7254e, 20%) !default;\n$code-bg:                     #191214 !default;\n\n$kbd-color:                   #fff !default;\n$kbd-bg:                      #333 !default;\n\n$pre-bg:                      #353535 !default;\n$pre-color:                   $gray-dark !default;\n$pre-border-color:            #444 !default;\n$pre-scrollable-max-height:   340px !default;\n\n\n//== Type\n//\n//##\n\n//** Horizontal offset for forms and lists.\n$component-offset-horizontal: 180px !default;\n//** Text muted color\n$text-muted:                  $gray-light !default;\n//** Abbreviations and acronyms border color\n$abbr-border-color:           $gray-light !default;\n//** Headings small color\n$headings-small-color:        $gray-light !default;\n//** Blockquote small color\n$blockquote-small-color:      $gray-light !default;\n//** Blockquote font size\n$blockquote-font-size:        ($font-size-base * 1.25) !default;\n//** Blockquote border color\n$blockquote-border-color:     $gray-lighter !default;\n//** Page header border color\n$page-header-border-color:    $gray-lighter !default;\n//** Width of horizontal description list titles\n$dl-horizontal-offset:        $component-offset-horizontal !default;\n//** Point at which .dl-horizontal becomes horizontal\n$dl-horizontal-breakpoint:    $grid-float-breakpoint !default;\n//** Horizontal line color.\n$hr-border:                   $gray-lighter !default;\n"],"sourceRoot":"/source/"}
\ No newline at end of file
+{"version":3,"sources":["main.scss"],"names":[],"mappings":"AAuCS,gEAYR,4DAPW,cAAA,EACH,0DAVA,uDAaG,UAAA,cA3CZ,oBACI,QAAA,YAAA,QAAA,KACA,mBAAA,IAAA,eAAA,IACA,SAAA,SACA,IAAA,EACA,MAAA,KACA,OAAA,kBACA,WAAA,KAGJ,kBACI,UAAA,KACA,QAAA,IAAA,KAGJ,wBACI,QAAA,MACA,cAAA,IAGJ,oBAEI,QAAA,IAAA,EACA,OAAA,KACA,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAuBJ,wBACI,SAAA,EAAA,KAAA,EACA,YAAA,IAAA,MAAA,KACA,aAAA,IAAA,MAAA,KACA,SAAA,SAIA,+CACI,SAAA,SACA,KAAA,EACA,MAAA,EACA,IAAA,EACA,OAAA,EACA,eAAA,KAdR,gDAkBQ,OAAA,GACA,iBAAA,KACA,WAAA,iBAAA,IAAA,KApBR,8BAwBQ,OAAA,QAEA,sDACI,iBAAA,KAKZ,kBACC,SAAA,OACG,QAAA,YAAA,QAAA,KACA,cAAA,OAAA,gBAAA,OACA,mBAAA,OAAA,cAAA,OACA,cAAA,KAAA,UAAA,KACA,SAAA,EAAA,KAAA,EACH,iBAGA,OAAA,MACA,MAAA,MACA,QAAA,aACG,SAAA,SACA,OAAA,IAEH,qBACC,MAAA,KACA,OAAA,KACM,cAAA,IAVR,6BAcQ,SAAA,SACA,IAAA,KACA,MAAA,KACA,MAAA,KACA,QAAA,KAAA,KACA,iBAAA,eACA,cAAA,IACA,QAAA,EACA,WAAA,IAAA,KAAA,KACH,mCAGG,QAAA,IADK,yCAID,QAAA,EACH,wBAKL,SAAA,SACA,IAAA,EACA,KAAA,EACA,YAAA,KAEA,qCACI,SAAA,SACA,QAAA,IACA,YAAA,KAIR,aACI,QAAA,aACA,MAAA,KACA,OAAA,KACA,cAAA,IACA,iBAAA,QACA,OAAA,IAAA,MAAA,KAGJ,sCAGQ,WAAA,IACA,WAAA,MACA,WAAA,KACH,sCAGG,eAAA,OAGJ,wCACI,YAAA,OAIR,qCAEQ,UAAA,KAIR,uBACI,UAAA,MAEA,0CACI,WAAA,KACA,cAAA,EACA,WAAA,MACA,WAAA,KAIR,0CAAA,4CAEQ,MAAA","file":"main.css","sourcesContent":["@import \"variables\";\n\n$transect-image-margin: 4px;\n$transect-image-padding: 0.5em;\n\n.transect-container {\n    display: flex;\n    flex-direction: row;\n    position: absolute;\n    top: 0;\n    width: 100%;\n    height: calc(100% - #{$navbar-height});\n    margin-top: $navbar-height;\n}\n\n.transect-menubar {\n    min-width: 50px;\n    padding: 1em 0.5em;\n}\n\n.transect-menubar__item {\n    display: block;\n    margin-bottom: 1em;\n}\n\n.transect__progress {\n    // width: 10px;\n    padding: 1px 0;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n\n    .progress__buttons--top {\n        & > .btn:last-child {\n            border-radius: 0;\n        }\n\n        .glyphicon {\n            transform: rotate(90deg);\n        }\n    }\n\n    .progress__buttons--bottom {\n        & > .btn:first-child {\n            border-radius: 0;\n        }\n\n        .glyphicon {\n            transform: rotate(90deg);\n        }\n    }\n}\n\n.transect__progress-bar {\n    flex: 2;\n    border-left: 1px solid $btn-default-border;\n    border-right: 1px solid $btn-default-border;\n    position: relative;\n\n    // this is a workaround because chrome doesn't respect percentage height of nested\n    // child elements in a flexbox: https://github.com/philipwalton/flexbugs/issues/84\n    .progress-bar__wrapper {\n        position: absolute;\n        left: 0;\n        right: 0;\n        top: 0;\n        bottom: 0;\n        pointer-events: none;\n    }\n\n    .progress-bar__progress {\n        height: 0%;\n        background-color: $btn-default-border;\n        transition: background-color 0.1s ease;\n    }\n\n    &:hover {\n        cursor: pointer;\n\n        .progress-bar__progress {\n            background-color: $gray-light;\n        }\n    }\n}\n\n.transect__images {\n\toverflow: hidden;\n    display: flex;\n    justify-content: center;\n    align-content: center;\n    flex-wrap: wrap;\n    flex: 2;\n}\n\n.transect-figure {\n\theight: 135px;\n\twidth: 180px;\n\tdisplay: inline-block;\n    position: relative;\n    margin: $transect-image-margin;\n\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n        border-radius: $border-radius-base;\n\t}\n\n    & a.info-link {\n        position: absolute;\n        top: $transect-image-padding;\n        right: $transect-image-padding;\n        color: white;\n        padding: 0.3em 0.5em;\n        background-color: rgba(0, 0, 0, 0.5);\n        border-radius: $border-radius-base;\n        opacity: 0;\n        transition: all 0.25s ease;\n    }\n\n    &:hover a.info-link {\n        opacity: 0.75;\n\n        &:hover {\n            opacity: 1;\n        }\n    }\n}\n\n.transect-figure__flags {\n    position: absolute;\n    top: 0;\n    left: 0;\n    padding-top: $transect-image-padding;\n\n    .figure-flag {\n        position: relative;\n        z-index: 100;\n        margin-left: $transect-image-padding;\n    }\n}\n\n.figure-flag {\n    display: inline-block;\n    width: 15px;\n    height: 15px;\n    border-radius: 50%;\n    background-color: $brand-info;\n    border: 2px solid white;\n}\n\n.transect-filter-popover {\n\n    .filter-list {\n        margin-top: 1em;\n        max-height: 100px;\n        overflow-y: auto;\n    }\n\n    .figure-flag {\n        vertical-align: middle;\n    }\n\n    .add-rule-form {\n        white-space: nowrap;\n    }\n}\n\n.transect-filter-menu-group {\n    .popover {\n        max-width: none;\n    }\n}\n\n.transect-sort-popover {\n    min-width: 200px;\n\n    .sorter-list-group {\n        margin-top: .5em;\n        margin-bottom: 0;\n        max-height: 200px;\n        overflow-y: auto;\n    }\n}\n\n.navbar-text.navbar-transects-breadcrumbs {\n    &, a {\n        color: $text-color;\n    }\n}\n"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/src/resources/assets/js/transects/services/filter.js b/src/resources/assets/js/transects/services/filter.js
index 3d61271..34e9cb4 100644
--- a/src/resources/assets/js/transects/services/filter.js
+++ b/src/resources/assets/js/transects/services/filter.js
@@ -77,6 +77,7 @@ angular.module('dias.transects').service('filter', function (TRANSECT_ID, TRANSE
             filters.push({
                 name: newFilter.name,
                 resource: newFilter.resource,
+                template: newFilter.template,
                 typeahead: newFilter.typeahead,
                 // add the transform function or use identity if there is none
                 transformData: newFilter.transformData || angular.identity
diff --git a/src/resources/views/index/menubar.blade.php b/src/resources/views/index/menubar.blade.php
index 78a7c66..b6c15f0 100644
--- a/src/resources/views/index/menubar.blade.php
+++ b/src/resources/views/index/menubar.blade.php
@@ -41,7 +41,7 @@
 
         
  • - hashas no + hashas no
  • No filter rules