rowElement
+ * @param rowElement
+ */
+ let toggleTableRow = rowElement => {
+
+ let toggleTableRowExecutor = (resolve, reject) => {
+ let cellElements = rowElement.children('td');
+ let duration = 350;
+ // wrap each into a container (for better animation performance)
+ // slideUp new wrapper divs
+ if(rowElement.is(':visible')){
+ // hide row
+
+ // stop sig counter by adding a stopClass to each , remove padding
+ cellElements.addClass('stopCounter')
+ .velocity({
+ paddingTop: [0, '4px'],
+ paddingBottom: [0, '4px'],
+ opacity: [0, 1]
+ },{
+ duration: duration,
+ easing: 'linear'
+ }).wrapInner('')
+ .children()
+ .css({
+ 'willChange': 'height'
+ }).velocity('slideUp', {
+ duration: duration,
+ easing: 'linear',
+ complete: function(animationElements){
+ // remove wrapper
+ $(animationElements).children().unwrap();
+
+ resolve({
+ action: 'rowHidden',
+ row: rowElement
+ });
+ }
+ });
+ }else{
+ // show row
+
+ // remove padding on "hidden" cells for smother animation
+ cellElements.css({
+ 'padding-top': 0,
+ 'padding-bottom': 0,
+ 'willChange': 'padding-top, padding-top, height'
+ });
+
+ // add hidden wrapper for ea
+ cellElements.wrapInner($('
').hide());
+
+ // show row for padding animation
+ rowElement.show();
+
+ cellElements.velocity({
+ paddingTop: ['4px', 0],
+ paddingBottom: ['4px', 0]
+ },{
+ duration: duration,
+ queue: false,
+ complete: function(){
+ // animate
wrapper
+ cellElements.children()
+ .css({
+ 'willChange': 'height'
+ }).velocity('slideDown', {
+ duration: duration,
+ complete: function(animationElements){
+ // remove wrapper
+ for(let i = 0; i < animationElements.length; i++){
+ let currentWrapper = $(animationElements[i]);
+ if(currentWrapper.children().length > 0){
+ currentWrapper.children().unwrap();
+ }else{
+ currentWrapper.parent().html( currentWrapper.html() );
+ }
+ }
+
+ resolve({
+ action: 'rowShown',
+ row: rowElement
+ });
+ }
+ });
+ }
+ });
+ }
+ };
+
+ return new Promise(toggleTableRowExecutor);
+ };
+
+ /**
+ * update scanned signatures progress bar
+ * @param tableApi
+ * @param options
+ */
+ let updateScannedSignaturesBar = (tableApi, options) => {
+ let tableElement = tableApi.table().node();
+ let moduleElement = $(tableElement).parents('.' + config.moduleTypeClass);
+ let progressBar = moduleElement.find('.progress-bar');
+ let progressBarLabel = moduleElement.find('.progress-label-right');
+
+ let percent = 0;
+ let progressBarType = '';
+ let columnGroupData = tableApi.column('group:name').data();
+ let sigCount = columnGroupData.length;
+ let sigIncompleteCount = columnGroupData.filter((value, index) => !value).length;
+
+ if(sigCount){
+ percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount );
+ }
+
+ if(percent < 30){
+ progressBarType = 'progress-bar-danger' ;
+ }else if(percent < 100){
+ progressBarType = 'progress-bar-warning';
+ }else{
+ progressBarType = 'progress-bar-success';
+ }
+
+ progressBarLabel.text(percent + '%');
+ progressBar.removeClass().addClass('progress-bar').addClass(progressBarType);
+ progressBar.attr('aria-valuenow', percent);
+ progressBar.css({width: percent + '%'});
+
+ // show notifications
+ if(options.showNotice !== false){
+ let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned';
+
+ if(percent < 100){
+ Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'});
+ }else{
+ Util.showNotify({title: 'System is scanned', text: notification, type: 'success'});
+ }
+ }
+ };
+
+ /**
+ * open "signature reader" dialog for signature table
+ * @param systemData
+ */
+ $.fn.showSignatureReaderDialog = function(systemData){
+ let moduleElement = $(this);
+
+ requirejs(['text!templates/dialog/signature_reader.html', 'mustache'], (template, Mustache) => {
+ let signatureReaderDialog = bootbox.dialog({
+ title: 'Signature reader',
+ message: Mustache.render(template, {}),
+ buttons: {
+ close: {
+ label: 'cancel',
+ className: 'btn-default'
+ },
+ success: {
+ label: ' update signatures',
+ className: 'btn-success',
+ callback: function (){
+ let form = this.find('form');
+ let formData = form.getFormValues();
+ let signatureOptions = {
+ deleteOld: (formData.deleteOld) ? 1 : 0
+ };
+ updateSignatureTableByClipboard(moduleElement, systemData, formData.clipboard, signatureOptions);
+ }
+ }
+ }
+ });
+
+ // dialog shown event
+ signatureReaderDialog.on('shown.bs.modal', function(e){
+ signatureReaderDialog.initTooltips();
+
+ // set focus on sig-input textarea
+ signatureReaderDialog.find('textarea').focus();
+ });
+ });
+ };
+
+ /**
+ * parses a copy&paste string from ingame scanning window
+ * @param systemData
+ * @param clipboard
+ * @returns {Array}
+ */
+ let parseSignatureString = (systemData, clipboard) => {
+ let signatureData = [];
+
+ if(clipboard.length){
+ let signatureRows = clipboard.split(/\r\n|\r|\n/g);
+ let signatureGroupOptions = config.signatureGroupsNames;
+ let invalidSignatures = 0;
+
+ for(let i = 0; i < signatureRows.length; i++){
+ let rowData = signatureRows[i].split(/\t/g);
+ if(rowData.length === 6){
+ // check if sig Type = anomaly or combat site
+ if(validSignatureNames.indexOf( rowData[1] ) !== -1){
+
+ let sigGroup = $.trim(rowData[2]).toLowerCase();
+ let sigDescription = $.trim(rowData[3]);
+ let sigGroupId = 0;
+ let typeId = 0;
+
+ // get groupId by groupName
+ for(let groupOption of signatureGroupOptions){
+ let reg = new RegExp(groupOption.text, 'i');
+ if(reg.test(sigGroup)){
+ sigGroupId = groupOption.value;
+ break;
+ }
+ }
+
+ // wormhole type cant be extracted from signature string -> skip function call
+ if(sigGroupId !== 5){
+ // try to get "typeId" by description string
+ typeId = Util.getSignatureTypeIdByName(systemData, sigGroupId, sigDescription);
+
+ // set signature name as "description" if signature matching failed
+ sigDescription = (typeId === 0) ? sigDescription : '';
+ }else{
+ sigDescription = '';
+ }
+
+ // map array values to signature Object
+ let signatureObj = {
+ systemId: systemData.id,
+ name: $.trim( rowData[0] ).toLowerCase(),
+ groupId: sigGroupId,
+ typeId: typeId,
+ description: sigDescription
+ };
+
+ signatureData.push(signatureObj);
+ }else{
+ invalidSignatures++;
+ }
+ }
+ }
+
+ if(invalidSignatures > 0){
+ let notification = invalidSignatures + ' / ' + signatureRows.length + ' signatures invalid';
+ Util.showNotify({title: 'Invalid signature(s)', text: notification, type: 'warning'});
+ }
+ }
+
+ return signatureData;
+ };
+
+ /**
+ * updates the signature table with all signatures pasted into the "signature reader" dialog
+ * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well
+ * @param tableApi
+ * @param systemData
+ * @param clipboard data stream
+ * @param options
+ */
+ let updateSignatureTableByClipboard = (tableApi, systemData, clipboard, options) => {
+ if(isLockedTable(tableApi, 'clipboard')) return;
+
+ let saveSignatureData = signatureData => {
+ // lock update function until request is finished
+ lockTable(tableApi);
+
+ // lock copy during request (prevent spamming (ctrl + c )
+ lockTable(tableApi, 'clipboard');
+
+ let requestData = {
+ signatures: signatureData,
+ deleteOld: (options.deleteOld) ? 1 : 0,
+ systemId: parseInt(systemData.id)
+ };
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.saveSignatureData,
+ data: requestData,
+ dataType: 'json',
+ context: {
+ tableApi: tableApi
+ }
+ }).done(function(responseData){
+ // unlock table for update
+ unlockTable(this.tableApi);
+ // updates table with new/updated signature information
+ updateSignatureTable(this.tableApi, responseData.signatures, false);
+ }).fail(function( jqXHR, status, error){
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ }).always(function(){
+ unlockTable(this.tableApi);
+ unlockTable(this.tableApi, 'clipboard');
+ });
+ };
+
+ // parse input stream
+ let signatureData = parseSignatureString(systemData, clipboard);
+ if(signatureData.length > 0){
+ // valid signature data parsed
+
+ // check if signatures will be added to a system where character is currently in
+ // if user is not in any system -> id === undefined -> no "confirmation required
+ let currentLocationData = Util.getCurrentLocationData();
+ if(
+ currentLocationData.id &&
+ currentLocationData.id !== systemData.id
+ ){
+
+ let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')';
+ systemNameStr = '' + systemNameStr + ' ';
+
+ let msg = 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !';
+ bootbox.confirm(msg, function(result){
+ if(result){
+ saveSignatureData(signatureData);
+ }
+ });
+ }else{
+ // current system selected -> no "confirmation" required
+ saveSignatureData(signatureData);
+ }
+ }
+ };
+
+ /**
+ * deletes signature rows from signature table
+ * @param tableApi
+ * @param rows
+ */
+ let deleteSignatures = (tableApi, rows) => {
+ // get unique id array from rows -> in case there are 2 rows with same id -> you never know
+ let signatureIds = [...new Set(rows.data().toArray().map(rowData => rowData.id))];
+
+ let requestData = {
+ signatureIds: signatureIds
+ };
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.deleteSignatureData,
+ data: requestData,
+ dataType: 'json',
+ context: {
+ tableApi: tableApi
+ }
+ }).done(function(responseData){
+ // promises for all delete rows
+ let promisesToggleRow = [];
+ // get deleted rows -> match with response data
+ let rows = this.tableApi.rows((idx, rowData, node) => responseData.deletedSignatureIds.includes(rowData.id));
+ // toggle hide animation for rows one by one...
+ rows.every(function(rowIdx, tableLoop, rowLoop){
+ let row = this;
+ let rowElement = row.nodes().to$();
+
+ rowElement.pulseBackgroundColor('deleted');
+
+ promisesToggleRow.push(toggleTableRow(rowElement));
+ });
+
+ // ... all hide animations done ...
+ Promise.all(promisesToggleRow).then(payloads => {
+ // ... get deleted (hide animation done) and delete them
+ this.tableApi.rows(payloads.map(payload => payload.row)).remove().draw();
+
+ // update signature bar
+ updateScannedSignaturesBar(this.tableApi, {showNotice: false});
+
+ // update connection conflicts
+ checkConnectionConflicts();
+
+ let notificationOptions = {
+ type: 'success'
+ };
+ if(payloads.length === 1){
+ notificationOptions.title = 'Signature deleted';
+ }else{
+ notificationOptions.title = payloads.length + ' Signatures deleted ';
+ }
+ Util.showNotify(notificationOptions);
+ });
+ }).fail(function( jqXHR, status, error){
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ });
+ };
+
+ /**
+ * updates a single cell with new data (e.g. "updated" cell)
+ * @param tableApi
+ * @param rowIndex
+ * @param columnSelector
+ * @param data
+ */
+ let updateSignatureCell = (tableApi, rowIndex, columnSelector, data) => {
+ tableApi.cell(rowIndex, columnSelector).data(data);
+ };
+
+ /**
+ * check connectionIds for conflicts (multiple signatures -> same connection)
+ * -> show "conflict" icon next to select
+ */
+ let checkConnectionConflicts = () => {
+ setTimeout(() => {
+ let connectionSelects = $('.' + config.tableCellConnectionClass + '.editable');
+ let connectionIds = [];
+ let duplicateConnectionIds = [];
+ let groupedSelects = [];
+
+ connectionSelects.each(function(){
+ let select = $(this);
+ let value = parseInt(select.editable('getValue', true) )|| 0;
+
+ if(
+ connectionIds.indexOf(value) > -1 &&
+ duplicateConnectionIds.indexOf(value) === -1
+ ){
+ // duplicate found
+ duplicateConnectionIds.push(value);
+ }
+
+ if(groupedSelects[value] !== undefined){
+ groupedSelects[value].push(select[0]);
+ }else{
+ groupedSelects[value] = [select[0]];
+ }
+
+ connectionIds.push(value);
+ });
+
+ // update "conflict" icon next to select label for connectionIds
+ connectionSelects.each(function(){
+ let select = $(this);
+ let value = parseInt(select.editable('getValue', true) )|| 0;
+ let conflictIcon = select.find('.fa-exclamation-triangle');
+ if(
+ duplicateConnectionIds.indexOf(value) > -1 &&
+ groupedSelects[value].indexOf(select[0]) > -1
+ ){
+ conflictIcon.removeClass('hide');
+ }else{
+ conflictIcon.addClass('hide');
+ }
+ });
+ }, 200);
+ };
+
+ /**
+ * get group label by groupId
+ * @param groupId
+ * @returns {string}
+ */
+ let getGroupLabelById = (groupId) => {
+ let options = config.signatureGroupsLabels.filter(option => option.value === groupId);
+ return options.length ? options[0].text : '';
+ };
+
+ /**
+ * helper function - get cell by columnSelector from same row as cell
+ * @param tableApi
+ * @param cell
+ * @param columnSelector
+ * @returns {*}
+ */
+ let getNeighboringCell = (tableApi, cell, columnSelector) => {
+ return tableApi.cell(tableApi.row(cell).index(), columnSelector);
+ };
+
+ /**
+ * get next cell by columnSelector
+ * @param tableApi
+ * @param cell
+ * @param columnSelectors
+ * @returns {*}
+ */
+ let searchNextCell = (tableApi, cell, columnSelectors) => {
+ if(columnSelectors.length){
+ // copy selectors -> .shift() modifies the orig array, important!
+ columnSelectors = columnSelectors.slice(0);
+ let nextCell = getNeighboringCell(tableApi, cell, columnSelectors.shift());
+ let nextCellElement = nextCell.nodes().to$();
+ if( nextCellElement.data('editable') ){
+ // cell is xEditable field -> skip "disabled" OR check value
+ let nextCellValue = nextCellElement.editable('getValue', true);
+ if(
+ [0, null].includes(nextCellValue) &&
+ !nextCellElement.data('editable').options.disabled
+ ){
+ // xEditable value is empty
+ return nextCell;
+ }else{
+ // search next cell
+ return searchNextCell(tableApi, cell, columnSelectors);
+ }
+ }else if( nextCell.index().column === tableApi.column(-1).index() ){
+ // NO xEditable cell BUT last column (=> action cell) -> OK
+ return nextCell;
+ }else{
+ console.error('No cell found for activation!');
+ }
+ }else{
+ // return origin cell
+ return tableApi.cell(cell);
+ }
+ };
+
+ /**
+ * make cell active -> focus() + show xEditable
+ * @param cell
+ */
+ let activateCell = (cell) => {
+ let cellElement = cell.nodes().to$();
+ // NO xEditable
+ cellElement.focus();
+
+ if( cellElement.data('editable') ){
+ // cell is xEditable field -> show xEditable form
+ cellElement.editable('show');
+ }
+ };
+
+ /**
+ * search neighboring cell (same row) and set "active" -> show editable
+ * @param tableApi
+ * @param cell
+ * @param columnSelectors
+ */
+ let activateNextCell = (tableApi, cell, columnSelectors) => {
+ let nextCell = searchNextCell(tableApi, cell, columnSelectors);
+ activateCell(nextCell);
+ let test;
+ };
+
+ /**
+ * helper function - set 'save' observer for xEditable cell
+ * -> show "neighboring" xEditable field
+ * @param tableApi
+ * @param cell
+ * @param columnSelectorsAjax - used for Ajax save (edit signature)
+ * @param columnSelectorsDry - used for dry save (new signature)
+ */
+ let editableOnSave = (tableApi, cell, columnSelectorsAjax = [], columnSelectorsDry = []) => {
+ $(cell).on('save', function(e, params){
+ if(params.response){
+ // send by Ajax
+ activateNextCell(tableApi, cell, columnSelectorsAjax);
+ }else{
+ // dry save - no request
+ activateNextCell(tableApi, cell, columnSelectorsDry);
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'hidden' observer for xEditable cell
+ * -> set focus() on xEditable field
+ * @param tableApi
+ * @param cell
+ */
+ let editableOnHidden = (tableApi, cell) => {
+ $(cell).on('hidden', function(e, reason){
+ // re-focus element on close (keyboard navigation)
+ // 'save' event handles default focus (e.g. open new xEditable)
+ // 'hide' handles all the rest (experimental)
+ if(reason !== 'save'){
+ this.focus();
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable type cell
+ * -> enable Select2 for xEditable form
+ * @param cell
+ */
+ let editableGroupOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ let inputField = editable.input.$input;
+ inputField.addClass('pf-select2').initSignatureGroupSelect();
+ });
+ };
+
+ /**
+ * helper function - set 'save' observer for xEditable group cell
+ * -> update scanned signature bar
+ * @param tableApi
+ * @param cell
+ */
+ let editableGroupOnSave = (tableApi, cell) => {
+ $(cell).on('save', function(e, params){
+ if(params.response){
+ // send by Ajax
+ updateScannedSignaturesBar(tableApi, {showNotice: true});
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'init' observer for xEditable type cell
+ * -> disable xEditable field if no options available
+ * @param cell
+ */
+ let editableTypeOnInit = cell => {
+ $(cell).on('init', function(e, editable){
+ if(!editable.options.source().length){
+ editableDisable($(this));
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable type cell
+ * -> enable Select2 for xEditable form
+ * @param cell
+ */
+ let editableTypeOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ // destroy possible open popovers (e.g. wormhole types)
+ $(this).destroyPopover(true);
+
+ let inputField = editable.input.$input;
+ let hasOptGroups = inputField.has('optgroup').length > 0;
+ inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups);
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable description cell
+ * -> change height for "new signature" table wrapper
+ * @param cell
+ */
+ let editableDescriptionOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ $(this).parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' );
+ });
+ };
+
+ /**
+ * helper function - set 'hidden' observer for xEditable description cell
+ * -> change height for "new signature" table wrapper
+ * @param cell
+ */
+ let editableDescriptionOnHidden = cell => {
+ $(cell).on('hidden', function(e, editable){
+ $(this).parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' );
+ });
+ };
+
+ /**
+ * helper function - set 'init' observer for xEditable connection cell
+ * -> set focus() on xEditable field
+ * @param cell
+ */
+ let editableConnectionOnInit = cell => {
+ $(cell).on('init', function(e, editable){
+ if(editable.value > 0){
+ // empty connection selects ON INIT don´t make a difference for conflicts
+ checkConnectionConflicts();
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable connection cell
+ * -> enable Select2 for xEditable form
+ * @param cell
+ */
+ let editableConnectionOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ let inputField = editable.input.$input;
+ inputField.addClass('pf-select2').initSignatureConnectionSelect();
+ });
+ };
+
+ /**
+ * helper function - set 'save' observer for xEditable connection cell
+ * -> check connection conflicts
+ * @param cell
+ */
+ let editableConnectionOnSave = cell => {
+ $(cell).on('save', function(e, params){
+ checkConnectionConflicts();
+ });
+ };
+
+ /**
+ * enable xEditable element
+ * @param element
+ */
+ let editableEnable = element => {
+ element.editable('enable');
+ // (re)-enable focus on element by tabbing, xEditable removes "tabindex" on 'disable'
+ element.attr('tabindex', 0);
+ };
+
+ /**
+ * disable xEditable element
+ * @param element
+ */
+ let editableDisable = element => {
+ element.editable('disable');
+ // xEditable sets 'tabindex = -1'
+ };
+
+ /**
+ * get dataTables default options for signature tables
+ * @param mapId
+ * @param systemData
+ * @returns {{}}
+ */
+ let getSignatureDataTableDefaults = (mapId, systemData) => {
+
+ /**
+ * add map/system specific data for each editable field in the sig-table
+ * @param params
+ * @returns {*}
+ */
+ let modifyFieldParamsOnSend = params => {
+ params.systemId = systemData.id;
+ return params;
+ };
+
+ let dataTableDefaults = {
+ pfMeta: {
+ 'mapId': mapId,
+ 'systemId': systemData.id
+ },
+ order: [1, 'asc'],
+ rowId: rowData => config.sigTableRowIdPrefix + rowData.id,
+ language: {
+ emptyTable: 'No signatures added',
+ info: 'Showing _START_ to _END_ of _TOTAL_ signatures',
+ infoEmpty: 'Showing 0 to 0 of 0 signatures',
+ infoFiltered: '( from _MAX_ total)',
+ lengthMenu: 'Show _MENU_',
+ zeroRecords: 'No signatures recorded'
+ },
+ columnDefs: [
+ {
+ targets: 0,
+ name: 'status',
+ orderable: true,
+ searchable: false,
+ title: '',
+ width: 2,
+ class: ['text-center'].join(' '),
+ data: 'updated',
+ type: 'html',
+ render: {
+ _: (cellData, type, rowData, meta) => {
+ let value = '';
+ if(cellData && cellData.character){
+ value = Util.getStatusInfoForCharacter(cellData.character, 'class');
+ }
+
+ if(type === 'display'){
+ value = ' ';
+ }
+ return value;
+ }
+ }
+ },{
+ targets: 1,
+ name: 'id',
+ orderable: true,
+ searchable: true,
+ title: 'id',
+ type: 'string',
+ width: 15,
+ class: [config.tableCellFocusClass, config.sigTableEditSigNameInput].join(' '),
+ data: 'name',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ updateTooltip(cell, cellData);
+
+ editableOnSave(tableApi, cell, [], ['group:name', 'type:name', 'action:name']);
+ editableOnHidden(tableApi, cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'text',
+ title: 'signature id',
+ name: 'name',
+ pk: rowData.id || null,
+ emptytext: '? ? ?',
+ value: cellData,
+ inputclass: config.editableNameInputClass,
+ display: function(value){
+ // change display value to first 3 letters
+ $(this).text($.trim( value.substr(0, 3) ).toLowerCase());
+ },
+ validate: function(value){
+ let msg = false;
+ if($.trim(value).length < 3){
+ msg = 'Id is less than min of "3"';
+ }else if($.trim(value).length > 10){
+ msg = 'Id is more than max of "10"';
+ }
+
+ if(msg){
+ return {newValue: value, msg: msg, field: this};
+ }
+ },
+ params: modifyFieldParamsOnSend,
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+ updateTooltip(cell, newValue);
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 2,
+ name: 'group',
+ orderable: true,
+ searchable: true,
+ title: 'group',
+ type: 'string', // required for sort/filter because initial data type is numeric
+ width: 40,
+ class: [config.tableCellFocusClass].join(' '),
+ data: 'groupId',
+ render: {
+ sort: getGroupLabelById,
+ filter: getGroupLabelById
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, ['type:name'], ['type:name', 'action:name']);
+ editableOnHidden(tableApi, cell);
+ editableGroupOnShown(cell);
+ editableGroupOnSave(tableApi, cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'select',
+ title: 'group',
+ name: 'groupId',
+ pk: rowData.id || null,
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ value: cellData,
+ prepend: [{value: 0, text: ''}],
+ params: modifyFieldParamsOnSend,
+ source: config.signatureGroupsLabels,
+ display: function(value, sourceData){
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].value > 0){
+ $(this).html(selected[0].text);
+ }else{
+ $(this).empty();
+ }
+ },
+ validate: function(value){
+ // convert string to int -> important for further processing
+ // -> on submit record (new signature) validate() is called and no error should be returned
+ // value should already be integer
+ if( !Number.isInteger(value) ){
+ return {newValue: parseInt(value) || 0, msg: null};
+ }
+ },
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+
+ // find related "type" select (same row) and change options
+ let signatureTypeCell = getNeighboringCell(tableApi, cell, 'type:name');
+ let signatureTypeField = signatureTypeCell.nodes().to$();
+
+ let typeOptions = getAllSignatureNames(
+ systemData,
+ systemData.type.id,
+ Util.getAreaIdBySecurity(systemData.security),
+ newValue
+ );
+ signatureTypeField.editable('option', 'source', typeOptions);
+
+ if(
+ newValue > 0 &&
+ typeOptions.length > 0
+ ){
+ editableEnable(signatureTypeField);
+ }else{
+ editableDisable(signatureTypeField);
+ }
+ signatureTypeCell.data(0);
+ signatureTypeField.editable('setValue', 0);
+
+
+ // find "connection" select (same row) and change "enabled" flag
+ let signatureConnectionCell = getNeighboringCell(tableApi, cell, 'connection:name');
+ let signatureConnectionField = signatureConnectionCell.nodes().to$();
+
+ if(newValue === 5){
+ // wormhole
+ editableEnable(signatureConnectionField);
+ }else{
+ checkConnectionConflicts();
+ editableDisable(signatureConnectionField);
+ }
+ signatureConnectionCell.data(0);
+ signatureConnectionField.editable('setValue', 0);
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 3,
+ name: 'type',
+ orderable: false,
+ searchable: false,
+ title: 'type',
+ type: 'string', // required for sort/filter because initial data type is numeric
+ width: 180,
+ class: [config.tableCellFocusClass].join(' '),
+ data: 'typeId',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, ['connection:name'], ['action:name']);
+ editableOnHidden(tableApi, cell);
+ editableTypeOnInit(cell);
+ editableTypeOnShown(cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'select',
+ title: 'type',
+ name: 'typeId',
+ pk: rowData.id || null,
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ disabled: rowData.groupId <= 0, // initial disabled if groupId not set
+ value: cellData,
+ prepend: [{value: 0, text: ''}],
+ params: modifyFieldParamsOnSend,
+ source: function(){
+ // get current row data (important!)
+ // -> "rowData" param is not current state, values are "on createCell()" state
+ let rowData = tableApi.row($(cell).parents('tr')).data();
+
+ let typeOptions = getAllSignatureNames(
+ systemData,
+ systemData.type.id,
+ Util.getAreaIdBySecurity(systemData.security),
+ rowData.groupId
+ );
+ return typeOptions;
+ },
+ display: function(value, sourceData){
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].value > 0){
+ $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text}));
+ }else{
+ $(this).empty();
+ }
+ },
+ validate: function(value){
+ // convert string to int -> important for further processing
+ // -> on submit record (new signature) validate() is called and no error should be returned
+ // value should already be integer
+ if( !Number.isInteger(value) ){
+ return {newValue: parseInt(value) || 0, msg: null};
+ }
+ },
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 4,
+ name: 'description',
+ orderable: false,
+ searchable: false,
+ title: 'description',
+ class: [config.tableCellFocusClass, config.tableCellActionClass].join(' '),
+ type: 'html',
+ data: 'description',
+ defaultContent: '',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, [], ['action:name']);
+ editableOnHidden(tableApi, cell);
+ editableDescriptionOnShown(cell);
+ editableDescriptionOnHidden(cell);
+
+ $(cell).editable($.extend({
+ mode: 'inline',
+ type: 'textarea',
+ title: 'description',
+ name: 'description',
+ pk: rowData.id || null,
+ emptytext: ' ',
+ onblur: 'submit',
+ showbuttons: false,
+ inputclass: config.editableDescriptionInputClass,
+ emptyclass: config.moduleHeadlineIconClass,
+ params: modifyFieldParamsOnSend,
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 5,
+ name: 'connection',
+ orderable: false,
+ searchable: false,
+ title: 'leads to',
+ type: 'string', // required for sort/filter because initial data type is numeric
+ className: [config.tableCellFocusClass, config.tableCellConnectionClass].join(' '),
+ width: 80,
+ data: 'connection.id',
+ defaultContent: 0,
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, [], ['action:name']);
+ editableOnHidden(tableApi, cell);
+ editableConnectionOnInit(cell);
+ editableConnectionOnShown(cell);
+ editableConnectionOnSave(cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'select',
+ title: 'system',
+ name: 'connectionId',
+ pk: rowData.id || null,
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ disabled: rowData.groupId !== 5, // initial disabled if NON wh
+ value: cellData,
+ prepend: [{value: 0, text: ''}],
+ params: modifyFieldParamsOnSend,
+ source: function(){
+ let activeMap = Util.getMapModule().getActiveMap();
+ let mapId = activeMap.data('id');
+ let connectionOptions = getSignatureConnectionOptions(mapId, systemData);
+ return connectionOptions;
+ },
+ display: function(value, sourceData){
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].value > 0){
+ let errorIcon = ' ';
+ $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon);
+ }else{
+ $(this).empty() ;
+ }
+ },
+ validate: function(value, b, c){
+ // convert string to int -> important for further processing
+ // -> on submit record (new signature) validate() is called and no error should be returned
+ // value should already be integer
+ if( !Number.isInteger(value) ){
+ return {newValue: parseInt(value) || 0, msg: null};
+ }
+ },
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 6,
+ name: 'created',
+ title: 'created',
+ searchable: false,
+ width: 80,
+ className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '),
+ data: 'created.created',
+ defaultContent: ''
+ },{
+ targets: 7,
+ name: 'updated',
+ title: 'updated',
+ searchable: false,
+ width: 80,
+ className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '),
+ data: 'updated.updated',
+ defaultContent: '',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ // highlight cell
+ let diff = Math.floor((new Date()).getTime()) - cellData * 1000;
+
+ // age > 1 day
+ if( diff > 86400000){
+ $(cell).addClass('txt-color txt-color-warning');
+ }
+ }
+ },{
+ targets: 8,
+ name: 'info',
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', Util.config.helpClass , Util.config.popoverTriggerClass].join(' '),
+ data: 'created.created',
+ defaultContent: '',
+ render: {
+ display: (cellData, type, rowData, meta) => {
+ if(cellData){
+ return ' ';
+ }
+ }
+ }
+ },{
+ targets: 9,
+ name: 'action',
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', config.tableCellFocusClass, config.tableCellActionClass].join(' '),
+ data: null,
+ render: {
+ display: (cellData, type, rowData, meta) => {
+ let val = ' ';
+ if(rowData.id){
+ val = ' ';
+ }
+ return val;
+ }
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ if(rowData.id){
+ // delete signature -----------------------------------------------------------------------
+ let confirmationSettings = {
+ container: 'body',
+ placement: 'left',
+ btnCancelClass: 'btn btn-sm btn-default',
+ btnCancelLabel: 'cancel',
+ btnCancelIcon: 'fas fa-fw fa-ban',
+ title: 'delete signature',
+ btnOkClass: 'btn btn-sm btn-danger',
+ btnOkLabel: 'delete',
+ btnOkIcon: 'fas fa-fw fa-times',
+ onConfirm: function(e, target){
+ // top scroll to top
+ e.preventDefault();
+
+ let deleteRowElement = $(target).parents('tr');
+ let row = tableApi.rows(deleteRowElement);
+ deleteSignatures(tableApi, row);
+ }
+ };
+
+ $(cell).confirmation(confirmationSettings);
+ }else{
+ // add new signature ----------------------------------------------------------------------
+ $(cell).on('click', {tableApi: tableApi, rowIndex: rowIndex}, function(e){
+ e.stopPropagation();
+ e.preventDefault();
+
+ let secondaryTableApi = e.data.tableApi;
+ let metaData = getTableMetaData(secondaryTableApi);
+ let primaryTableApi = getDataTableInstance(metaData.mapId, metaData.systemId, 'primary');
+
+ let formFields = secondaryTableApi.row(e.data.rowIndex).nodes().to$().find('.editable');
+
+ // the "hide" makes sure to take care about open editable fields (e.g. description)
+ // otherwise, changes would not be submitted in this field (not necessary)
+ formFields.editable('hide');
+
+ // submit all xEditable fields
+ formFields.editable('submit', {
+ url: Init.path.saveSignatureData,
+ ajaxOptions: {
+ dataType: 'json', //assuming json response
+ beforeSend: function(xhr, settings){
+ lockTable(primaryTableApi);
+ },
+ context: {
+ primaryTableApi: primaryTableApi,
+ secondaryTableApi: secondaryTableApi,
+ }
+ },
+ data: {
+ systemId: metaData.systemId, // additional data to submit
+ pk: 0 // new data no primary key
+ },
+ error: editableDefaults.error, // user default xEditable error function
+ success: function(data, editableConfig){
+ let context = editableConfig.ajaxOptions.context;
+ let primaryTableApi = context.primaryTableApi;
+ let secondaryTableApi = context.secondaryTableApi;
+
+ unlockTable(primaryTableApi);
+
+ let signatureData = data.signatures[0];
+ let row = addSignatureRow(primaryTableApi, signatureData);
+ if(row){
+ primaryTableApi.draw();
+ // highlight
+ row.nodes().to$().pulseBackgroundColor('added');
+
+ // prepare "add signature" table for new entry -> reset -------------------
+ secondaryTableApi.clear().row.add($.extend(true, {}, emptySignatureData)).draw();
+
+ Util.showNotify({
+ title: 'Signature added',
+ text: 'Name: ' + signatureData.name,
+ type: 'success'
+ });
+
+ // update signature bar
+ updateScannedSignaturesBar(primaryTableApi, {showNotice: true});
+ }
+ }
+ });
+ });
+ }
+ }
+ }
+ ],
+ createdRow: function(row, data, dataIndex){
+ // enable tabbing for interactive cells
+ let focusCells = $(row).find('.' + config.tableCellFocusClass + ':not(.editable-disabled)').attr('tabindex', 0);
+ // enable "return" key -> click()
+ focusCells.on('keydown', function(e){
+ e.stopPropagation();
+ if(e.which === 13){
+ $(this).trigger('click');
+ }
+ });
+ }
+ };
+
+ return dataTableDefaults;
+ };
+
+ /**
+ * draw signature table toolbar (add signature button, scan progress bar
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let drawSignatureTableNew = (moduleElement, mapId, systemData) => {
+ let secondaryTableContainer = $('', {
+ class: config.tableToolsActionClass
+ });
+
+ // create "empty table for new signature
+ let table = $('
', {
+ id: getTableId(mapId, systemData.id, 'secondary'),
+ class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ')
+ });
+
+ secondaryTableContainer.append(table);
+
+ moduleElement.find('.' + config.moduleHeadClass).after(secondaryTableContainer);
+
+ let dataTableOptions = {
+ paging: false,
+ info: false,
+ searching: false,
+ tabIndex: -1,
+ data: [$.extend(true, {}, emptySignatureData)]
+ };
+
+ $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData));
+
+ let tableApi = table.DataTable(dataTableOptions);
+
+ // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit)
+ // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints
+ new $.fn.dataTable.Responsive(tableApi);
+ };
+
+ /**
+ * filter table "group" column
+ * @param tableApi
+ * @param newValue
+ * @param sourceOptions
+ */
+ let searchGroupColumn = (tableApi, newValue, sourceOptions) => {
+ let column = tableApi.column('group:name');
+ let pattern = '';
+
+ if(newValue.length <= sourceOptions.length){
+ // all options selected + "prepend" option
+ let selected = $.fn.editableutils.itemsByValue(newValue, sourceOptions);
+
+ pattern = selected.map(option => option.value !== 0 ? $.fn.dataTable.util.escapeRegex(option.text) : '^$').join('|');
+ }
+ column.search(pattern, true, false).draw();
+ };
+
+ /**
+ * init table filter button "group" column
+ * @param tableApi
+ */
+ let initGroupFilterButton = tableApi => {
+ let characterId = Util.getCurrentCharacterId();
+
+ let promiseStore = MapUtil.getLocaleData('character', Util.getCurrentCharacterId());
+ promiseStore.then(data => {
+ let filterButton = tableApi.button('tableTools', 'filterGroup:name').node();
+ let prependOptions = [{value: 0, text: 'unknown'}];
+ let sourceOptions = config.signatureGroupsLabels;
+ let selectedValues = [];
+
+ if(data && data.filterSignatureGroups && data.filterSignatureGroups.length){
+ // select local stored values
+ selectedValues = data.filterSignatureGroups;
+ }else{
+ // no default group filter options -> show all
+ selectedValues = sourceOptions.map(option => option.value);
+ selectedValues.unshift(0);
+ }
+
+ filterButton.editable({
+ mode: 'popup',
+ container: 'body',
+ type: 'checklist',
+ showbuttons: false,
+ onblur: 'submit',
+ highlight: false,
+ title: 'filter groups',
+ value: selectedValues,
+ prepend: prependOptions,
+ source: sourceOptions,
+ inputclass: config.editableUnknownInputClass,
+ display: function(value, sourceData){
+ // update filter button label
+ let html = ' group';
+ let allSelected = value.length >= sourceData.length;
+ if( !allSelected ){
+ html += ' (' + value.length + ')';
+ }
+ $(this).toggleClass('active', !allSelected).html(html);
+ },
+ validate: function(value){
+ // convert string to int -> important for further processing
+ return {newValue: value.map(num => parseInt(num)), msg: null};
+ }
+ });
+
+ let allOptions = prependOptions.concat(sourceOptions);
+
+ filterButton.on('save', {tableApi: tableApi, sourceOptions: allOptions}, function(e, params){
+ // store values local -> IndexDB
+ MapUtil.storeLocaleCharacterData('filterSignatureGroups', params.newValue);
+
+ searchGroupColumn(e.data.tableApi, params.newValue, e.data.sourceOptions);
+ });
+
+ // set initial search string -> even if table ist currently empty
+ searchGroupColumn(tableApi, selectedValues, allOptions);
+ });
+ };
+
+ /**
+ * draw empty signature table
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let drawSignatureTable = (moduleElement, mapId, systemData) => {
+ let table = $('', {
+ id: getTableId(mapId, systemData.id, 'primary'),
+ class: ['display', 'compact', 'nowrap', config.sigTableClass, config.sigTablePrimaryClass].join(' ')
+ });
+
+ moduleElement.append(table);
+
+ let dataTableOptions = {
+ tabIndex: -1,
+ dom: '<"row"<"col-xs-3"l><"col-xs-5"B><"col-xs-4"f>>' +
+ '<"row"<"col-xs-12"tr>>' +
+ '<"row"<"col-xs-5"i><"col-xs-7"p>>',
+ buttons: {
+ name: 'tableTools',
+ buttons: [
+ {
+ name: 'filterGroup',
+ className: config.moduleHeadlineIconClass,
+ text: '' // set by js (xEditable)
+ },
+ {
+ name: 'selectAll',
+ className: config.moduleHeadlineIconClass,
+ text: ' select all',
+ action: function(e, tableApi, node, conf){
+ let allRows = tableApi.rows();
+ let selectedRows = getSelectedRows(tableApi);
+ let allRowElements = allRows.nodes().to$();
+
+ if(allRows.data().length === selectedRows.data().length){
+ allRowElements.removeClass('selected');
+ }else{
+ allRowElements.addClass('selected');
+ }
+
+ // check delete button
+ checkDeleteSignaturesButton(tableApi);
+ }
+ },
+ {
+ name: 'delete',
+ className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '),
+ text: ' delete (0 )',
+ action: function(e, tableApi, node, conf){
+ let selectedRows = getSelectedRows(tableApi);
+ bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){
+ if(result){
+ deleteSignatures(tableApi, selectedRows);
+ }
+ });
+ }
+ }
+ ]
+ },
+ initComplete: function (settings, json){
+ let tableApi = this.api();
+
+ initGroupFilterButton(tableApi);
+
+ // init update counter for timestamp columns
+ // mark as init
+ this.attr('data-counter', 'init');
+ let refreshIntervalId = window.setInterval(() => {
+ tableApi.cells(null, ['created:name', 'updated:name']).every(function(rowIndex, colIndex, tableLoopCount, cellLoopCount){
+ let cell = this;
+ let node = cell.node();
+ let data = cell.data();
+ if(data && Number.isInteger(data) && !node.classList.contains('stopCounter')){
+ // timestamp expected int > 0
+ let date = new Date(data * 1000);
+ Counter.updateDateDiff( cell.nodes().to$(), date);
+ }
+ });
+ }, 500);
+ this.data('interval', refreshIntervalId);
+ }
+ };
+
+ $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData));
+
+ let tableApi = table.DataTable(dataTableOptions);
+
+ // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit)
+ // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints
+ new $.fn.dataTable.Responsive(tableApi);
+
+ // lock table until module is fully rendered
+ lockTable(tableApi);
+ };
+
+ /**
+ * open xEditable input field in "new Signature" table
+ * @param moduleElement
+ */
+ let focusNewSignatureEditableField = moduleElement => {
+ moduleElement.find('.' + config.sigTableSecondaryClass)
+ .find('td.' + config.sigTableEditSigNameInput).editable('show');
+ };
+
+ /**
+ * get all selected rows of a table
+ * @param tableApi
+ * @returns {*}
+ */
+ let getSelectedRows = tableApi => {
+ return tableApi.rows('.selected');
+ };
+
+ /**
+ * check the "delete signature" button. show/hide the button if a signature is selected
+ * @param tableApi
+ */
+ let checkDeleteSignaturesButton = tableApi => {
+ let selectedRows = getSelectedRows(tableApi);
+ let selectedRowCount = selectedRows.data().length;
+ let clearButton = tableApi.button('tableTools', 'delete:name').node();
+
+ if(selectedRowCount > 0){
+ let allRows = tableApi.rows();
+ let rowCount = allRows.data().length;
+
+ let countText = selectedRowCount;
+ if(selectedRowCount >= rowCount){
+ countText = 'all';
+ }
+ clearButton.find('i+span').text(countText);
+
+ // update clear signatures button text
+ clearButton.velocity('stop');
+
+ if( clearButton.is(':hidden') ){
+ // show button
+ clearButton.velocity('transition.expandIn', {
+ duration: 100
+ });
+ }else{
+ // highlight button
+ clearButton.velocity('callout.pulse', {
+ duration: 200
+ });
+ }
+ }else{
+ // hide button
+ clearButton.velocity('transition.expandOut', {
+ duration: 100
+ });
+ }
+ };
+
+ /**
+ * set module observer and look for relevant signature data to update
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let setModuleObserver = (moduleElement, mapId, systemData) => {
+ let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass);
+ let primaryTableApi = getDataTableInstance(mapId, systemData.id, 'primary');
+
+ // add signature toggle ---------------------------------------------------------------------------------------
+ let toggleAddSignature = (show = 'auto') => {
+ let button = moduleElement.find('.' + config.moduleHeadlineIconAddClass);
+ let toolsElement = moduleElement.find('.' + config.tableToolsActionClass);
+ button.toggleClass('active', show === 'auto' ? undefined : show);
+
+ if(toolsElement.is(':visible') && (!show || show === 'auto')){
+ // hide container
+ toolsElement.velocity('stop').velocity({
+ opacity: [0, 1],
+ height: [0, '70px']
+ },{
+ duration: 150,
+ display: 'none'
+ });
+ }else if(!toolsElement.is(':visible') && (show || show === 'auto')){
+ // show container
+ toolsElement.velocity('stop').velocity({
+ opacity: [1, 0],
+ height: ['70px', 0]
+ },{
+ duration: 150,
+ display: 'block',
+ complete: function(){
+ focusNewSignatureEditableField(moduleElement);
+ }
+ });
+ }else if(toolsElement.is(':visible') && show){
+ // still visible -> no animation
+ focusNewSignatureEditableField(moduleElement);
+ }
+ };
+
+ moduleElement.find('.' + config.moduleHeadlineIconAddClass).on('click', function(e){
+ toggleAddSignature('auto');
+ });
+
+ moduleElement.on('pf:showSystemSignatureModuleAddNew', function(e){
+ toggleAddSignature(true);
+ });
+
+ // signature reader dialog ------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e){
+ moduleElement.showSignatureReaderDialog(systemData);
+ });
+
+ // "lazy update" toggle ---------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e){
+ let button = $(this);
+ button.toggleClass('active');
+ });
+
+ // set multi row select ---------------------------------------------------------------------------------------
+ primaryTable.on('mousedown', 'td', {tableApi: primaryTableApi}, function(e){
+ if(e.ctrlKey){
+ e.preventDefault();
+ e.stopPropagation();
+ // xEditable field should not open -> on 'click'
+ // -> therefore disable "pointer-events" on "td" for some ms -> 'click' event is not triggered
+ $(this).css('pointer-events', 'none');
+ $(e.target.parentNode).toggleClass('selected');
+
+ // check delete button
+ checkDeleteSignaturesButton(e.data.tableApi);
+
+ setTimeout(() => {
+ $(this).css('pointer-events', 'auto');
+ }, 250);
+ }
+ });
+
+ // draw event for signature table -----------------------------------------------------------------------------
+ primaryTableApi.on('draw.dt', function(e, settings){
+ // check delete button
+ let tableApi = $(this).dataTable().api();
+ checkDeleteSignaturesButton(tableApi);
+ });
+
+ // event listener for global "paste" signatures into the page -------------------------------------------------
+ moduleElement.on('pf:updateSystemSignatureModuleByClipboard', {tableApi: primaryTableApi}, function(e, clipboard){
+ let signatureOptions = {
+ deleteOld: moduleElement.find('.' + config.moduleHeadlineIconLazyClass).hasClass('active') ? 1 : 0
+ };
+ updateSignatureTableByClipboard(e.data.tableApi, systemData, clipboard, signatureOptions);
+ });
+
+ // signature column - "type" popover --------------------------------------------------------------------------
+ moduleElement.find('.' + config.sigTableClass).hoverIntent({
+ over: function(e){
+ let staticWormholeElement = $(this);
+ let wormholeName = staticWormholeElement.attr('data-name');
+ let wormholeData = Util.getObjVal(Init, 'wormholes.' + wormholeName);
+ if(wormholeData){
+ staticWormholeElement.addWormholeInfoTooltip(wormholeData, {
+ trigger: 'manual',
+ placement: 'top',
+ show: true
+ });
+ }
+ },
+ out: function(e){
+ $(this).destroyPopover();
+ },
+ selector: '.editable-click:not(.editable-open) span[class^="pf-system-sec-"]'
+ });
+
+ // signature column - "info" popover --------------------------------------------------------------------------
+ moduleElement.find('.' + config.sigTablePrimaryClass).hoverIntent({
+ over: function(e){
+ let cellElement = $(this);
+ let rowData = primaryTableApi.row(cellElement.parents('tr')).data();
+ cellElement.addCharacterInfoTooltip(rowData, {
+ trigger: 'manual',
+ placement: 'top',
+ show: true
+ });
+ },
+ out: function(e){
+ $(this).destroyPopover();
+ },
+ selector: 'td.' + Util.config.helpClass
+ });
+ };
+
+ /**
+ * add new row to signature table
+ * @param tableApi
+ * @param signatureData
+ * @returns {*}
+ */
+ let addSignatureRow = (tableApi, signatureData) => {
+ let row = null;
+ if(tableApi){
+ row = tableApi.row.add(signatureData);
+ }
+ return row;
+ };
+
+ /**
+ * update signature table with new signatures
+ * -> add/update/delete rows
+ * @param tableApi
+ * @param signaturesDataOrig
+ * @param deleteOutdatedSignatures
+ */
+ let updateSignatureTable = (tableApi, signaturesDataOrig, deleteOutdatedSignatures = false) => {
+ if(isLockedTable(tableApi)) return;
+
+ // disable tableApi until update finished;
+ lockTable(tableApi);
+
+ // clone signature array because of further manipulation
+ let signaturesData = $.extend([], signaturesDataOrig);
+
+ let rowIdsExist = [];
+
+ let promisesAdded = [];
+ let promisesChanged = [];
+ let promisesDeleted = [];
+
+ let allRows = tableApi.rows();
+ let updateEmptyTable = !allRows.any();
+
+ let rowUpdate = function(rowIndex, colIndex, tableLoopCount, cellLoopCount){
+ let cell = this;
+ let node = cell.nodes().to$();
+ if(node.data('editable')){
+ // xEditable is active -> should always be active!
+ // set new value even if no change -> e.g. render selected Ids as text labels
+ let oldValue = node.editable('getValue', true);
+ node.editable('setValue', cell.data());
+
+ if(oldValue !== cell.data()){
+ // highlight cell on data change
+ node.pulseBackgroundColor('changed');
+ }
+ }else if(node.hasClass(config.tableCellCounterClass)){
+ // "updated" timestamp always changed
+ node.pulseBackgroundColor('changed');
+ }
+ };
+
+ // update signatures ------------------------------------------------------------------------------------------
+ allRows.every(function(rowIdx, tableLoop, rowLoop){
+ let row = this;
+ let rowData = row.data();
+ let rowElement = row.nodes().to$();
+
+ for(let i = 0; i < signaturesData.length; i++){
+ if(signaturesData[i].id === rowData.id){
+ let rowId = row.id(true);
+
+ // check if row was updated
+ if(signaturesData[i].updated.updated > rowData.updated.updated){
+ // set new row data -> draw() is executed after all changes made
+ row.data(signaturesData[i]);
+
+ // bind new signature dataTable data() -> to xEditable inputs
+ row.cells(row.id(true), ['id:name', 'group:name', 'type:name', 'description:name', 'connection:name', 'updated:name'])
+ .every(rowUpdate);
+
+ promisesChanged.push(new Promise((resolve, reject) => {
+ resolve({action: 'changed', rowId: rowId});
+ }));
+ }
+
+ rowIdsExist.push(rowId);
+
+ // remove signature data -> all left signatures will be added
+ signaturesData.splice(i, 1);
+ i--;
+ }
+ }
+ });
+
+ // delete signatures ------------------------------------------------------------------------------------------
+ if(deleteOutdatedSignatures){
+ let rows = tableApi.rows((rowIdx, rowData, node) => !rowIdsExist.includes('#' + config.sigTableRowIdPrefix + rowData.id));
+ rows.every(function(rowIdx, tableLoop, rowLoop){
+ let row = this;
+ let rowId = row.id(true);
+ let rowElement = row.nodes().to$();
+
+ // hide open editable fields on the row before removing them
+ rowElement.find('.editable').editable('destroy');
+
+ // destroy possible open popovers (e.g. wormhole types, update popover)
+ rowElement.destroyPopover(true);
+
+ rowElement.pulseBackgroundColor('deleted');
+
+ promisesDeleted.push(new Promise((resolve, reject) => {
+ toggleTableRow(rowElement).then(payload => resolve({action: 'deleted', rowIdx: rowId}));
+ }));
+ }).remove();
+ }
+
+ // add new signatures -----------------------------------------------------------------------------------------
+ for(let signatureData of signaturesData){
+ let row = addSignatureRow(tableApi, signatureData);
+ let rowId = row.id(true);
+ let rowElement = row.nodes().to$();
+ rowElement.pulseBackgroundColor('added');
+
+ promisesAdded.push(new Promise((resolve, reject) => {
+ resolve({action: 'added', rowId: rowId});
+ }));
+ }
+
+ // done -------------------------------------------------------------------------------------------------------
+ Promise.all(promisesAdded.concat(promisesChanged, promisesDeleted)).then(payloads => {
+ if(payloads.length){
+ // table data changed -> draw() table changes
+ tableApi.draw();
+
+ if(!updateEmptyTable){
+ // no notifications if table was empty just progressbar notification is needed
+ // sum payloads by "action"
+ let notificationCounter = payloads.reduce((acc, payload) => {
+ if(!acc[payload.action]){
+ acc[payload.action] = 0;
+ }
+ acc[payload.action]++;
+ return acc;
+ }, {});
+
+ let notification = '';
+ if(notificationCounter.added > 0){
+ notification += notificationCounter.added + ' added ';
+ }
+ if(notificationCounter.changed > 0){
+ notification += notificationCounter.changed + ' updated ';
+ }
+ if(notificationCounter.deleted > 0){
+ notification += notificationCounter.deleted + ' deleted ';
+ }
+ if(notification.length){
+ Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'});
+ }
+ }
+
+ updateScannedSignaturesBar(tableApi, {showNotice: true});
+ }
+
+ // unlock table
+ unlockTable(tableApi);
+ });
+ };
+
+ /**
+ * update trigger function for this module
+ * compare data and update module
+ * @param moduleElement
+ * @param systemData
+ */
+ let updateModule = (moduleElement, systemData) => {
+
+ if(systemData.signatures){
+ let mapId = moduleElement.data('mapId');
+ let systemId = moduleElement.data('systemId');
+ let tableApi = getDataTableInstance(mapId, systemId, 'primary');
+ updateSignatureTable(tableApi, systemData.signatures, true);
+ }
+
+ moduleElement.hideLoadingAnimation();
+ };
+
+ /**
+ * init callback
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let initModule = (moduleElement, mapId, systemData) => {
+ let tableApi = getDataTableInstance(mapId, systemData.id, 'primary');
+ unlockTable(tableApi);
+ };
+
+ /**
+ * get module toolbar element
+ * @returns {jQuery}
+ */
+ let getHeadlineToolbar = () => {
+ let headlineToolbar = $('', {
+ class: 'pull-right'
+ }).append(
+ $('', {
+ class: 'progress-label-right',
+ text: '0%'
+ }),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-plus', config.moduleHeadlineIconClass, config.moduleHeadlineIconAddClass].join(' '),
+ title: 'add'
+ }).attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-paste', config.moduleHeadlineIconClass, config.moduleHeadlineIconReaderClass].join(' '),
+ title: 'signature reader'
+ }).attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-exchange-alt', config.moduleHeadlineIconClass, config.moduleHeadlineIconLazyClass].join(' '),
+ title: 'lazy \'delete\' signatures'
+ }).attr('data-toggle', 'tooltip')
+ );
+
+ headlineToolbar.find('[data-toggle="tooltip"]').tooltip({
+ container: 'body'
+ });
+
+ return headlineToolbar;
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ * @returns {jQuery}
+ */
+ let getModule = (parentElement, mapId, systemData) => {
+ let moduleElement = $('').append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ text: 'Signatures'
+ }),
+ getHeadlineToolbar()
+ )
+ );
+
+ // scanned signatures progress bar ----------------------------------------------------------------------------
+ requirejs(['text!templates/form/progress.html', 'mustache'], (template, Mustache) => {
+ let data = {
+ label: true,
+ wrapperClass: config.moduleHeadlineProgressBarClass,
+ class: ['progress-bar-success'].join(' '),
+ percent: 0
+ };
+ moduleElement.find('.' + config.moduleHeadClass).append(Mustache.render(template, data));
+ });
+
+ moduleElement.data('mapId', mapId);
+ moduleElement.data('systemId', systemData.id);
+
+ moduleElement.showLoadingAnimation();
+
+ // draw "new signature" add table
+ drawSignatureTableNew(moduleElement, mapId, systemData);
+
+ // draw signature table
+ drawSignatureTable(moduleElement, mapId, systemData);
+
+ // set module observer
+ setModuleObserver(moduleElement, mapId, systemData);
+
+ return moduleElement;
+ };
+
+ /**
+ * before module hide callback
+ * @param moduleElement
+ */
+ let beforeHide = moduleElement => {
+ // disable update
+ let mapId = moduleElement.data('mapId');
+ let systemId = moduleElement.data('systemId');
+ let tableApi = getDataTableInstance(mapId, systemId, 'primary');
+ lockTable(tableApi);
+ };
+
+ /**
+ * before module destroy callback
+ * @param moduleElement
+ */
+ let beforeDestroy = moduleElement => {
+ // Destroying the data tables throws
+ // -> safety remove all dataTables
+ let mapId = moduleElement.data('mapId');
+ let systemId = moduleElement.data('systemId');
+ let primaryTableApi = getDataTableInstance(mapId, systemId, 'primary');
+ let secondaryTableApi = getDataTableInstance(mapId, systemId, 'secondary');
+ primaryTableApi.destroy();
+ secondaryTableApi.destroy();
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ initModule: initModule,
+ updateModule: updateModule,
+ beforeHide: beforeHide,
+ beforeDestroy: beforeDestroy,
+ getAllSignatureNamesBySystem: getAllSignatureNamesBySystem
+ };
+});
\ No newline at end of file
diff --git a/js/app/util.js b/js/app/util.js
index 8ec89d08..bf7b7242 100644
--- a/js/app/util.js
+++ b/js/app/util.js
@@ -33,7 +33,6 @@ define([
// head
headMapTrackingId: 'pf-head-map-tracking', // id for "map tracking" toggle (checkbox)
- headCharacterSwitchId: 'pf-head-character-switch', // id for "character switch" popover
headCurrentLocationId: 'pf-head-current-location', // id for "show current location" element
// menu
@@ -66,10 +65,12 @@ define([
// animation
animationPulseSuccessClass: 'pf-animation-pulse-success', // animation class
animationPulseWarningClass: 'pf-animation-pulse-warning', // animation class
+ animationPulseDangerClass: 'pf-animation-pulse-danger', // animation class
// popover
- popoverSmallClass: 'pf-popover-small', // class for "small" popover
popoverTriggerClass: 'pf-popover-trigger', // class for "popover" trigger elements
+ popoverSmallClass: 'pf-popover-small', // class for small "popover"
+ popoverCharacterClass: 'pf-popover-character', // class for character "popover"
// help
helpDefaultClass: 'pf-help-default', // class for "help" tooltip elements
@@ -231,7 +232,7 @@ define([
}else{
callback(responseData.img);
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': getCaptchaImage', text: reason, type: 'error'});
});
@@ -424,7 +425,7 @@ define([
let width = element.offsetWidth;
let height = element.offsetHeight;
- while(element.offsetParent) {
+ while(element.offsetParent){
element = element.offsetParent;
top += element.offsetTop;
left += element.offsetLeft;
@@ -494,7 +495,7 @@ define([
* @returns {*}
*/
$.fn.destroyTooltip = function(recursive){
- return this.each(function() {
+ return this.each(function(){
let element = $(this);
let tooltipSelector = '[title]';
let tooltipElements = element.filter(tooltipSelector);
@@ -502,18 +503,20 @@ define([
tooltipElements = tooltipElements.add(element.find(tooltipSelector));
}
- tooltipElements.each(function() {
+ tooltipElements.each(function(){
$(this).tooltip('destroy');
});
});
};
/**
- * adds a popup tooltip with character information (created/updated)
+ * add a popup tooltip with character information (created/updated)
* @param tooltipData
+ * @param options
+ * @returns {*}
*/
- $.fn.addCharacterInfoTooltip = function(tooltipData){
- let element = $(this);
+ $.fn.addCharacterInfoTooltip = function(tooltipData, options){
+ let data = {};
if(
tooltipData.created.character &&
@@ -522,59 +525,60 @@ define([
let createdData = tooltipData.created;
let updatedData = tooltipData.updated;
- // check if data has changed
- if(
- element.data('created') !== createdData.created ||
- element.data('updated') !== updatedData.updated
- ){
- // data changed
- // set new data for next check
- element.data('created', createdData.created);
- element.data('updated', updatedData.updated);
+ let statusCreatedClass = getStatusInfoForCharacter(createdData.character, 'class');
+ let statusUpdatedClass = getStatusInfoForCharacter(updatedData.character, 'class');
- let statusCreatedClass = getStatusInfoForCharacter(createdData.character, 'class');
- let statusUpdatedClass = getStatusInfoForCharacter(updatedData.character, 'class');
+ // convert timestamps
+ let dateCreated = new Date(createdData.created * 1000);
+ let dateUpdated = new Date(updatedData.updated * 1000);
+ let dateCreatedUTC = convertDateToUTC(dateCreated);
+ let dateUpdatedUTC = convertDateToUTC(dateUpdated);
- // convert timestamps
- let dateCreated = new Date(createdData.created * 1000);
- let dateUpdated = new Date(updatedData.updated * 1000);
- let dateCreatedUTC = convertDateToUTC(dateCreated);
- let dateUpdatedUTC = convertDateToUTC(dateUpdated);
-
- let data = {
- created: createdData,
- updated: updatedData,
- createdTime: convertDateToString(dateCreatedUTC),
- updatedTime: convertDateToString(dateUpdatedUTC),
- createdStatusClass: statusCreatedClass,
- updatedStatusClass: statusUpdatedClass
- };
-
- requirejs(['text!templates/tooltip/character_info.html', 'mustache'], function(template, Mustache) {
- let content = Mustache.render(template, data);
-
- element.popover({
- placement: 'top',
- html: true,
- trigger: 'hover',
- content: '',
- container: 'body',
- title: 'Created / Updated',
- delay: {
- show: 250,
- hide: 0
- }
- });
-
- // set new popover content
- let popover = element.data('bs.popover');
- popover.options.content = content;
- });
-
- }
+ data = {
+ popoverClass: config.popoverCharacterClass,
+ ccpImageServerUrl: Init.url.ccpImageServer,
+ created: createdData,
+ updated: updatedData,
+ createdTime: convertDateToString(dateCreatedUTC),
+ updatedTime: convertDateToString(dateUpdatedUTC),
+ createdStatusClass: statusCreatedClass,
+ updatedStatusClass: statusUpdatedClass
+ };
}
- return element;
+ let defaultOptions = {
+ placement: 'top',
+ html: true,
+ trigger: 'hover',
+ container: 'body',
+ title: 'Created / Updated',
+ delay: {
+ show: 150,
+ hide: 0
+ }
+ };
+
+ options = $.extend({}, defaultOptions, options);
+
+ return this.each(function(){
+ let element = $(this);
+
+ requirejs(['text!templates/tooltip/character_info.html', 'mustache'], (template, Mustache) => {
+ let content = Mustache.render(template, data);
+
+ element.popover(options);
+
+ // set new popover content
+ let popover = element.data('bs.popover');
+ popover.options.content = content;
+
+ if(options.show){
+ element.popover('show');
+ }
+
+ });
+
+ });
};
/**
@@ -585,10 +589,10 @@ define([
let elements = $(this);
let eventNamespace = 'hideCharacterPopup';
- requirejs(['text!templates/tooltip/character_switch.html', 'mustache'], function (template, Mustache) {
+ requirejs(['text!templates/tooltip/character_switch.html', 'mustache'], function (template, Mustache){
let data = {
- id: config.headCharacterSwitchId,
+ popoverClass: config.popoverCharacterClass,
browserTabId: getBrowserTabId(),
routes: Init.routes,
userData: userData,
@@ -608,7 +612,7 @@ define([
let content = Mustache.render(template, data);
- return elements.each(function() {
+ return elements.each(function(){
let element = $(this);
// check if popover already exists -> remove it
@@ -616,7 +620,7 @@ define([
element.off('click').popover('destroy');
}
- element.on('click', function(e) {
+ element.on('click', function(e){
e.preventDefault();
e.stopPropagation();
@@ -631,7 +635,7 @@ define([
if(popoverData === undefined){
- button.on('shown.bs.popover', function (e) {
+ button.on('shown.bs.popover', function (e){
let tmpPopupElement = $(this).data('bs.popover').tip();
tmpPopupElement.find('.btn').on('click', function(e){
// close popover
@@ -662,7 +666,7 @@ define([
// character switch detected
$('body').data('characterSwitch', true);
// ... and remove "characterSwitch" data again! after "unload"
- setTimeout(function() {
+ setTimeout(function(){
$('body').removeData('characterSwitch');
}, 500);
});
@@ -690,7 +694,7 @@ define([
* @returns {*}
*/
$.fn.destroyPopover = function(recursive){
- return this.each(function() {
+ return this.each(function(){
let element = $(this);
let popoverSelector = '.' + config.popoverTriggerClass;
let popoverElements = element.filter(popoverSelector);
@@ -698,7 +702,7 @@ define([
popoverElements = popoverElements.add(element.find(popoverSelector));
}
- popoverElements.each(function() {
+ popoverElements.each(function(){
let popoverElement = $(this);
if(popoverElement.data('bs.popover')){
popoverElement.popover('destroy');
@@ -713,9 +717,9 @@ define([
* @returns {*}
*/
$.fn.initPopoverClose = function(eventNamespace){
- return this.each(function() {
- $('body').off('click.' + eventNamespace).on('click.' + eventNamespace + ' contextmenu', function (e) {
- $('.' + config.popoverTriggerClass).each(function () {
+ return this.each(function(){
+ $('body').off('click.' + eventNamespace).on('click.' + eventNamespace + ' contextmenu', function (e){
+ $('.' + config.popoverTriggerClass).each(function (){
let popoverElement = $(this);
//the 'is' for buttons that trigger popups
//the 'has' for icons within a button that triggers a popup
@@ -743,7 +747,7 @@ define([
* @returns {*}
*/
$.fn.setPopoverSmall = function(){
- return this.each(function() {
+ return this.each(function(){
let element = $(this);
let popover = element.data('bs.popover');
if(popover){
@@ -760,7 +764,7 @@ define([
$.fn.showMessage = function(config){
let containerElement = $(this);
- requirejs(['text!templates/form/message.html', 'mustache'], function(template, Mustache) {
+ requirejs(['text!templates/form/message.html', 'mustache'], function(template, Mustache){
let messageTypeClass = 'alert-danger';
let messageTextClass = 'txt-color-danger';
@@ -809,7 +813,7 @@ define([
* add/remove css class for keyframe animation
* @returns {any|JQuery|*}
*/
- $.fn.pulseTableRow = function(status, clear){
+ $.fn.pulseBackgroundColor = function(status, clear){
let animationClass = '';
switch(status){
@@ -819,9 +823,12 @@ define([
case 'changed':
animationClass = config.animationPulseWarningClass;
break;
+ case 'deleted':
+ animationClass = config.animationPulseDangerClass;
+ break;
}
- let clearTimer = function(element) {
+ let clearTimer = element => {
element.removeClass( animationClass );
let currentTimer = element.data('animationTimer');
@@ -841,7 +848,7 @@ define([
}
if(clear !== true){
- element.addClass( animationClass );
+ element.addClass(animationClass);
let timer = setTimeout(clearTimer, 1500, element);
element.data('animationTimer', timer);
animationTimerCache[timer] = true;
@@ -902,14 +909,14 @@ define([
const prepareSafeListener = (listener, passive) => {
if (!passive) return listener;
- return function (e) {
+ return function (e){
e.preventDefault = () => {};
return listener.call(this, e);
};
};
const overwriteAddEvent = (superMethod) => {
- EventTarget.prototype.addEventListener = function (type, listener, options) { // jshint ignore:line
+ EventTarget.prototype.addEventListener = function (type, listener, options){ // jshint ignore:line
const usesListenerOptions = typeof options === 'object';
const useCapture = usesListenerOptions ? options.capture : options;
@@ -927,20 +934,20 @@ define([
try {
const opts = Object.defineProperty({}, 'passive', {
- get() {
+ get(){
supported = true;
}
});
window.addEventListener('test', null, opts);
window.removeEventListener('test', null, opts);
- } catch (e) {}
+ } catch (e){}
return supported;
};
let supportsPassive = eventListenerOptionsSupported ();
- if (supportsPassive) {
+ if (supportsPassive){
const addEvent = EventTarget.prototype.addEventListener; // jshint ignore:line
overwriteAddEvent(addEvent);
}
@@ -953,8 +960,8 @@ define([
// Array diff
// [1,2,3,4,5,6].diff( [3,4,5] );
// => [1, 2, 6]
- Array.prototype.diff = function(a) {
- return this.filter(function(i) {return a.indexOf(i) < 0;});
+ Array.prototype.diff = function(a){
+ return this.filter(function(i){return a.indexOf(i) < 0;});
};
/**
@@ -962,7 +969,7 @@ define([
* @param p
* @returns {Array.}
*/
- Array.prototype.sortBy = function(p) {
+ Array.prototype.sortBy = function(p){
return this.slice(0).sort((a,b) => {
return (a[p] > b[p]) ? 1 : (a[p] < b[p]) ? -1 : 0;
});
@@ -972,10 +979,10 @@ define([
* get hash from string
* @returns {number}
*/
- String.prototype.hashCode = function() {
+ String.prototype.hashCode = function(){
let hash = 0, i, chr;
if (this.length === 0) return hash;
- for (i = 0; i < this.length; i++) {
+ for (i = 0; i < this.length; i++){
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
@@ -1094,6 +1101,12 @@ define([
if(resultsWrapper){
resultsWrapper.mCustomScrollbar('destroy');
}
+
+ // select2 sets :focus to the select2 field. This is bad!
+ // we want to keep the focus where it is (e.g. signature table cell)
+ // the only way to prevent this is to remove the element
+ // https://stackoverflow.com/questions/17995057/prevent-select2-from-autmatically-focussing-its-search-input-when-dropdown-is-op
+ $(this).parents('.editableform').find(this).next().find('.select2-selection').remove();
});
};
@@ -1262,7 +1275,7 @@ define([
// line breaks are 2 characters!
let newLines = value.match(/(\r\n|\n|\r)/g);
let addition = 0;
- if (newLines != null) {
+ if(newLines != null){
addition = newLines.length;
}
inputLength += addition;
@@ -1300,7 +1313,7 @@ define([
* stop browser tab title "blinking"
*/
let stopTabBlink = function(){
- requirejs(['notification'], function(Notification) {
+ requirejs(['notification'], function(Notification){
Notification.stopTabBlink();
});
};
@@ -1388,7 +1401,7 @@ define([
*/
let ajaxSetup = () => {
$.ajaxSetup({
- beforeSend: function(jqXHR, settings) {
+ beforeSend: function(jqXHR, settings){
// store request URL for later use (e.g. in error messages)
jqXHR.url = location.protocol + '//' + location.host + settings.url;
@@ -1579,11 +1592,13 @@ define([
};
/**
- * get Area ID by security string
+ * get areaId by security string
+ * areaId is required as a key for signature names
+ * if areaId is 0, no signature data is available for this system
* @param security
* @returns {number}
*/
- let getAreaIdBySecurity = (security) => {
+ let getAreaIdBySecurity = security => {
let areaId = 0;
switch(security){
case 'H':
@@ -1646,7 +1661,6 @@ define([
* @returns {string}
*/
let getStatusInfoForCharacter = (characterData, option) => {
-
let statusInfo = '';
// character status can not be checked if there are no reference data
@@ -1898,20 +1912,17 @@ define([
/**
* get signature group information
* @param option
- * @returns {{}}
+ * @returns {Array}
*/
- let getSignatureGroupInfo = function(option){
-
- let groupInfo = {};
-
- for (let prop in Init.signatureGroups) {
- if(Init.signatureGroups.hasOwnProperty(prop)){
- prop = parseInt(prop);
- groupInfo[prop] = Init.signatureGroups[prop][option];
- }
+ let getSignatureGroupOptions = option => {
+ let options = [];
+ for(let [key, data] of Object.entries(Init.signatureGroups)){
+ options.push({
+ value: parseInt(key),
+ text: data[option]
+ });
}
-
- return groupInfo;
+ return options;
};
/**
@@ -1943,28 +1954,22 @@ define([
* @param name
* @returns {number}
*/
- let getSignatureTypeIdByName = function(systemData, sigGroupId, name){
-
+ let getSignatureTypeIdByName = (systemData, sigGroupId, name) => {
let signatureTypeId = 0;
-
let areaId = getAreaIdBySecurity(systemData.security);
-
if(areaId > 0){
- let signatureNames = getAllSignatureNames(systemData.type.id, areaId, sigGroupId );
+ let signatureNames = getAllSignatureNames(systemData.type.id, areaId, sigGroupId);
name = name.toLowerCase();
-
- for(let prop in signatureNames) {
-
+ for(let prop in signatureNames){
if(
signatureNames.hasOwnProperty(prop) &&
signatureNames[prop].toLowerCase() === name
){
- signatureTypeId = parseInt( prop );
+ signatureTypeId = parseInt(prop);
break;
}
}
}
-
return signatureTypeId;
};
@@ -1995,9 +2000,8 @@ define([
* to keep the data always up2data
* @param mapUserData
*/
- let setCurrentMapUserData = (mapUserData) => {
+ let setCurrentMapUserData = mapUserData => {
Init.currentMapUserData = mapUserData;
-
return getCurrentMapUserData();
};
@@ -2006,7 +2010,7 @@ define([
* @param mapId
* @returns {boolean}
*/
- let getCurrentMapUserData = (mapId) => {
+ let getCurrentMapUserData = mapId => {
let currentMapUserData = false;
if(Init.currentMapUserData){
@@ -2041,7 +2045,7 @@ define([
* @param mapId
* @returns {boolean|int}
*/
- let getCurrentMapUserDataIndex = (mapId) => {
+ let getCurrentMapUserDataIndex = mapId => {
return getDataIndexByMapId(Init.currentMapUserData, mapId);
};
@@ -2049,7 +2053,7 @@ define([
* update cached mapUserData for a single map
* @param mapUserData
*/
- let updateCurrentMapUserData = (mapUserData) => {
+ let updateCurrentMapUserData = mapUserData => {
let mapUserDataIndex = getCurrentMapUserDataIndex( mapUserData.config.id );
if( !Array.isArray(Init.currentMapUserData) ){
@@ -2072,7 +2076,7 @@ define([
* to keep the data always up2data
* @param mapData
*/
- let setCurrentMapData = (mapData) => {
+ let setCurrentMapData = mapData => {
Init.currentMapData = mapData;
return getCurrentMapData();
@@ -2083,7 +2087,7 @@ define([
* @param mapId
* @returns {boolean}
*/
- let getCurrentMapData = (mapId) => {
+ let getCurrentMapData = mapId => {
let currentMapData = false;
if( mapId === parseInt(mapId, 10) ){
@@ -2107,7 +2111,7 @@ define([
* @param mapId
* @returns {boolean|int}
*/
- let getCurrentMapDataIndex = (mapId) => {
+ let getCurrentMapDataIndex = mapId => {
return getDataIndexByMapId(Init.currentMapData, mapId);
};
@@ -2115,7 +2119,7 @@ define([
* update cached mapData for a single map
* @param mapData
*/
- let updateCurrentMapData = (mapData) => {
+ let updateCurrentMapData = mapData => {
let mapDataIndex = getCurrentMapDataIndex( mapData.config.id );
if(mapDataIndex !== false){
@@ -2146,7 +2150,7 @@ define([
* delete map data by mapId from currentMapData
* @param mapId
*/
- let deleteCurrentMapData = (mapId) => {
+ let deleteCurrentMapData = mapId => {
Init.currentMapData = Init.currentMapData.filter((mapData) => {
return (mapData.config.id !== mapId);
});
@@ -2176,7 +2180,7 @@ define([
* @param option
* @returns {boolean}
*/
- let getCurrentUserInfo = (option) => {
+ let getCurrentUserInfo = option => {
let currentUserData = getCurrentUserData();
let userInfo = false;
@@ -2297,7 +2301,7 @@ define([
characterData = characterData.filter(function(tmpCharacterData, index, allData){
let keepData = true;
- for(let tmpJump in data) {
+ for(let tmpJump in data){
// just scan systems with > jumps than current system
if(tmpJump > jumps){
let filteredFinalData = data[tmpJump].filter(filterFinalCharData, tmpCharacterData);
@@ -2325,7 +2329,7 @@ define([
}
jumps++;
- for(let prop in nearBySystems.tree) {
+ for(let prop in nearBySystems.tree){
if( nearBySystems.tree.hasOwnProperty(prop) ){
let tmpSystemData = nearBySystems.tree[prop];
data = getNearByCharacterData(tmpSystemData, userData, jumps, data);
@@ -2374,7 +2378,7 @@ define([
responseData.systemData &&
responseData.systemData.length > 0
){
- for (let j = 0; j < responseData.systemData.length; j++) {
+ for (let j = 0; j < responseData.systemData.length; j++){
showNotify({title: this.description, text: 'System: ' + responseData.systemData[j].name, type: 'success'});
}
}
@@ -2388,7 +2392,7 @@ define([
}
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': ' + this.description, text: reason, type: 'warning'});
});
@@ -2452,7 +2456,7 @@ define([
}else{
showNotify({title: 'Open window in client', text: 'Check your EVE client', type: 'success'});
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': openWindow', text: reason, type: 'error'});
});
@@ -2585,9 +2589,9 @@ define([
element.off(eventName).on(eventName, function(e){
clicks++;
- if (clicks === 1) {
+ if (clicks === 1){
setTimeout(element => {
- if(clicks === 1) {
+ if(clicks === 1){
singleClickCallback.call(element, e);
} else {
doubleClickCallback.call(element, e);
@@ -2666,7 +2670,7 @@ define([
if(data.reroute){
redirect(data.reroute, ['logout']);
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': logout', text: reason, type: 'error'});
});
@@ -2709,13 +2713,13 @@ define([
let name = cname + '=';
let ca = document.cookie.split(';');
- for(let i = 0; i li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:18px}dt,dd{line-height:1.5}dt{font-weight:bold}dd{margin-left:0}@media (min-width: 480px){.dl-horizontal dt{float:left;width:80px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:100px}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #63676a}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:9px 18px;margin:0 0 18px;font-size:15px;border-left:5px solid #5cb85c}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.5;color:#63676a}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #5cb85c;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:18px;font-style:normal;line-height:1.5}code,kbd,pre,samp{font-family:Consolas,monospace,Menlo,Monaco,"Courier New"}code{padding:2px 4px;font-size:90%;color:#1d1d1d;background-color:#63676a;white-space:nowrap;border-radius:3px}kbd{padding:2px 4px;font-size:90%;color:#adadad;background-color:#2b2b2b;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:11px;line-height:1.5;word-break:break-all;word-wrap:break-word;color:#1d1d1d;background-color:#63676a;border-radius:3px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:10px;padding-right:10px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 780px){.container{width:740px}}@media (min-width: 1200px){.container{width:1080px}}@media (min-width: 1600px){.container{width:1260px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:10px;padding-right:10px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-10px;margin-right:-10px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:10px;padding-right:10px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:0%}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:0%}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 780px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:0%}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:0%}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 1200px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:0%}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:0%}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 1600px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:0%}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:0%}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:0;border-spacing:0}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.5;vertical-align:top;border-top:1px solid #313335}.table>thead>tr>th{vertical-align:bottom;border-bottom:0px solid #313335}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #313335}.table .table{background-color:#1d1d1d}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:2px}.table-bordered{border:1px solid #313335}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #313335}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ecf3f8}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#ecf3f8}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#d9e7f1}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#d1e8d1}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#c0e0c0}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#abc9e2}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#98bcdc}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fdedd8}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#fbe3c0}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f6d1d0}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#f1bcba}@media (max-width: 779px){.table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #313335;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:18px;line-height:inherit;color:#313335;border:0;border-bottom:1px solid #e5e5e5}label,.editable-input .editable-checklist>div>label>span{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline-color:#568a89}output{display:block;padding-top:7px;font-size:12px;line-height:1.5;color:#adadad}.form-control{display:block;width:100%;height:32px;padding:6px 12px;font-size:12px;line-height:1.5;color:#adadad;background-color:#313335;background-image:none;border:1px solid #63676a;border-radius:0px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-out 0.15s,box-shadow ease-out 0.15s;transition:border-color ease-out 0.15s,box-shadow ease-out 0.15s}.form-control:focus{border-color:#568a89;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(86,138,137,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(86,138,137,0.6)}.form-control::-moz-placeholder{color:#63676a;opacity:1}.form-control:-ms-input-placeholder{color:#63676a}.form-control::-webkit-input-placeholder{color:#63676a}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#3c3f41;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}input[type="date"]{line-height:32px}.form-group{margin-bottom:15px}.radio,.checkbox,.editable-input .editable-checklist>div>label{display:block;min-height:18px;margin-top:10px;margin-bottom:10px;padding-left:20px}.radio label,.radio .editable-input .editable-checklist>div>label>span,.editable-input .radio .editable-checklist>div>label>span,.checkbox label,.editable-input .editable-checklist>div>label label,.editable-input .editable-checklist>div>label>span{display:inline;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.editable-input .editable-checklist>div>label input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px}.radio+.radio,.checkbox+.checkbox,.editable-input .editable-checklist>div>label+.checkbox,.editable-input .editable-checklist>div>.checkbox+label,.editable-input .editable-checklist>div>label+label{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],fieldset[disabled] input[type="checkbox"],.radio[disabled],fieldset[disabled] .radio,.radio-inline[disabled],fieldset[disabled] .radio-inline,.checkbox[disabled],.editable-input .editable-checklist>div>label[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .editable-input .editable-checklist>div>label,.editable-input fieldset[disabled] .editable-checklist>div>label,.checkbox-inline[disabled],fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:28px;line-height:28px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:42px;line-height:42px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.has-feedback .form-control-feedback{position:absolute;top:23px;right:0;display:block;width:32px;height:32px;line-height:32px;text-align:center}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .editable-input .editable-checklist>div>label,.editable-input .has-success .editable-checklist>div>label,.has-success .radio-inline,.has-success .checkbox-inline{color:#5cb85c}.has-success .form-control{border-color:#5cb85c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #a3d7a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #a3d7a3}.has-success .select2-selection{border:1px solid !important;border-color:#5cb85c !important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#d1e8d1}.has-success .form-control-feedback{color:#5cb85c}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .editable-input .editable-checklist>div>label,.editable-input .has-warning .editable-checklist>div>label,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#2b2b2b}.has-warning .form-control{border-color:#2b2b2b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #5e5e5e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #5e5e5e}.has-warning .select2-selection{border:1px solid !important;border-color:#2b2b2b !important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .input-group-addon{color:#2b2b2b;border-color:#2b2b2b;background-color:#fdedd8}.has-warning .form-control-feedback{color:#2b2b2b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .editable-input .editable-checklist>div>label,.editable-input .has-error .editable-checklist>div>label,.has-error .radio-inline,.has-error .checkbox-inline{color:#d9534f}.has-error .form-control{border-color:#d9534f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3}.has-error .select2-selection{border:1px solid !important;border-color:#d9534f !important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#f6d1d0}.has-error .form-control-feedback{color:#d9534f}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#7c8184}@media (min-width: 780px){.form-inline .form-group,.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group>.form-control,.navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.navbar-form .radio,.form-inline .checkbox,.navbar-form .checkbox,.form-inline .editable-input .editable-checklist>div>label,.editable-input .form-inline .editable-checklist>div>label,.navbar-form .editable-input .editable-checklist>div>label,.editable-input .navbar-form .editable-checklist>div>label{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .radio input[type="radio"],.navbar-form .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"],.navbar-form .checkbox input[type="checkbox"],.form-inline .editable-input .editable-checklist>div>label input[type="checkbox"],.editable-input .form-inline .editable-checklist>div>label input[type="checkbox"],.navbar-form .editable-input .editable-checklist>div>label input[type="checkbox"],.editable-input .navbar-form .editable-checklist>div>label input[type="checkbox"]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback,.navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .editable-input .editable-checklist>div>label,.editable-input .form-horizontal .editable-checklist>div>label,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .editable-input .editable-checklist>div>label,.editable-input .form-horizontal .editable-checklist>div>label{min-height:25px}.form-horizontal .form-group{margin-left:-10px;margin-right:-10px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media (min-width: 780px){.form-horizontal .control-label{text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:10px}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:12px;line-height:1.5;border-radius:0px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline-color:#568a89}.btn:hover,.btn:focus{color:#eaeaea;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#eaeaea;background-color:#63676a;border-color:#575a5d}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#777b7f;border-color:#74797c}.open .btn-default.dropdown-toggle{color:#eaeaea;background-color:#777b7f;border-color:#74797c}.btn-default:active,.btn-default.active{background-image:none}.open .btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active{background-color:#63676a;border-color:#575a5d}.btn-default .badge{color:#63676a;background-color:#eaeaea}.btn-primary{color:#eaeaea;background-color:#375959;border-color:#2d4949}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#477272;border-color:#456f6f}.open .btn-primary.dropdown-toggle{color:#eaeaea;background-color:#477272;border-color:#456f6f}.btn-primary:active,.btn-primary.active{background-image:none}.open .btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#375959;border-color:#2d4949}.btn-primary .badge{color:#375959;background-color:#eaeaea}.btn-success,.modal-content .pf-wizard-navigation li.active a:not(.btn-danger){color:#eaeaea;background-color:#4f9e4f;border-color:#478d47}.btn-success:hover,.modal-content .pf-wizard-navigation li.active a:hover:not(.btn-danger),.btn-success:focus,.modal-content .pf-wizard-navigation li.active a:focus:not(.btn-danger),.btn-success:active,.modal-content .pf-wizard-navigation li.active a:active:not(.btn-danger),.btn-success.active:not(.toggle-on):not(.toggle-off),.modal-content .pf-wizard-navigation li.active a.active:not(.toggle-on):not(.toggle-off):not(.btn-danger){color:#eaeaea;background-color:#64b264;border-color:#61b061}.open .btn-success.dropdown-toggle,.open .modal-content .pf-wizard-navigation li.active a.dropdown-toggle:not(.btn-danger),.modal-content .pf-wizard-navigation li.active .open a.dropdown-toggle:not(.btn-danger){color:#eaeaea;background-color:#64b264;border-color:#61b061}.btn-success:active,.modal-content .pf-wizard-navigation li.active a:active:not(.btn-danger),.btn-success.active,.modal-content .pf-wizard-navigation li.active a.active:not(.btn-danger){background-image:none}.open .btn-success.dropdown-toggle,.open .modal-content .pf-wizard-navigation li.active a.dropdown-toggle:not(.btn-danger),.modal-content .pf-wizard-navigation li.active .open a.dropdown-toggle:not(.btn-danger){background-image:none}.btn-success.disabled,.modal-content .pf-wizard-navigation li.active a.disabled:not(.btn-danger),.btn-success.disabled:hover,.modal-content .pf-wizard-navigation li.active a.disabled:hover:not(.btn-danger),.btn-success.disabled:focus,.modal-content .pf-wizard-navigation li.active a.disabled:focus:not(.btn-danger),.btn-success.disabled:active,.modal-content .pf-wizard-navigation li.active a.disabled:active:not(.btn-danger),.btn-success.disabled.active,.modal-content .pf-wizard-navigation li.active a.disabled.active:not(.btn-danger),.btn-success[disabled],.modal-content .pf-wizard-navigation li.active a[disabled]:not(.btn-danger),.btn-success[disabled]:hover,.modal-content .pf-wizard-navigation li.active a[disabled]:hover:not(.btn-danger),.btn-success[disabled]:focus,.modal-content .pf-wizard-navigation li.active a[disabled]:focus:not(.btn-danger),.btn-success[disabled]:active,.modal-content .pf-wizard-navigation li.active a[disabled]:active:not(.btn-danger),.btn-success[disabled].active,.modal-content .pf-wizard-navigation li.active a[disabled].active:not(.btn-danger),fieldset[disabled] .btn-success,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:not(.btn-danger),fieldset[disabled] .btn-success:hover,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:hover:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:hover:not(.btn-danger),fieldset[disabled] .btn-success:focus,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:focus:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:focus:not(.btn-danger),fieldset[disabled] .btn-success:active,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:active:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:active:not(.btn-danger),fieldset[disabled] .btn-success.active,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a.active:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a.active:not(.btn-danger){background-color:#4f9e4f;border-color:#478d47}.btn-success .badge,.modal-content .pf-wizard-navigation li.active a:not(.btn-danger) .badge{color:#4f9e4f;background-color:#eaeaea}.btn-info{color:#eaeaea;background-color:#316490;border-color:#2b577d}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#3b79ae;border-color:#3a76ab}.open .btn-info.dropdown-toggle{color:#eaeaea;background-color:#3b79ae;border-color:#3a76ab}.btn-info:active,.btn-info.active{background-image:none}.open .btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#316490;border-color:#2b577d}.btn-info .badge{color:#316490;background-color:#eaeaea}.btn-warning{color:#eaeaea;background-color:#c2760c;border-color:#aa670b}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#e88d0e;border-color:#e48a0e}.open .btn-warning.dropdown-toggle{color:#eaeaea;background-color:#e88d0e;border-color:#e48a0e}.btn-warning:active,.btn-warning.active{background-image:none}.open .btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#c2760c;border-color:#aa670b}.btn-warning .badge{color:#c2760c;background-color:#eaeaea}.btn-danger{color:#eaeaea;background-color:#a52521;border-color:#90201d}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#c72d28;border-color:#c32c27}.open .btn-danger.dropdown-toggle{color:#eaeaea;background-color:#c72d28;border-color:#c32c27}.btn-danger:active,.btn-danger.active{background-image:none}.open .btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#a52521;border-color:#90201d}.btn-danger .badge{color:#a52521;background-color:#eaeaea}.btn-link{color:#375959;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#1a2a2a;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#63676a;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:11px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;will-change:height;-webkit-transition:height 0.35s ease;transition:height 0.35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:12px;background-color:#adadad;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#63676a}.dropdown-menu>li>a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:1.5;color:#313335;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#1d1d1d;background-color:#63676a}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#adadad;text-decoration:none;outline:0;background-color:#375959}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#63676a}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:11px;line-height:1.5;color:#63676a}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width: 480px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:none}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:0px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:0px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:12px;font-weight:normal;line-height:1;color:#63676a;text-align:center;background-color:#2b2b2b;border:1px solid #63676a;border-radius:0px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:11px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:15px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:5px 6px 5px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#3c3f41}.nav>li.disabled>a{color:#63676a}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#63676a;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#3c3f41;border-color:#375959}.nav .nav-divider{height:1px;margin:5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #adadad}.nav-tabs>li{float:left;margin-bottom:-1px;margin-right:2px}.nav-tabs>li>a{line-height:1.5;border:1px solid transparent}.nav-tabs>li>a:hover{border-color:#adadad #adadad #adadad}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#313335;border:1px solid #adadad;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:0px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#375959}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 780px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:0px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 780px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:0px 0px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#1d1d1d}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:30px;margin-bottom:18px}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 480px){.navbar{border-radius:0px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 480px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:10px;padding-left:10px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 480px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-10px;margin-left:-10px}@media (min-width: 480px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 480px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 480px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:6px 10px;font-size:1.2em;line-height:18px;height:30px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width: 480px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{position:relative;float:right;margin-right:10px;margin-left:10px;padding:6px 12px;margin-top:-2px;margin-bottom:-2px;background-color:#313335;background-image:none;border:1px solid #a0a0a0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.navbar-toggle:focus{outline:none}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 480px){.navbar-toggle{display:none}}.navbar-nav{margin:3px -10px;float:left;margin:0}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width: 479px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:18px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}.navbar-nav>li{float:left;margin-right:2px}.navbar-nav>li>a{padding-top:6px;padding-bottom:6px}.navbar-nav.navbar-right:last-child{margin-right:-10px}@media (min-width: 480px){.navbar-left{float:left !important}.navbar-right{float:right !important}}.navbar-form{margin-left:-10px;margin-right:-10px;padding:10px 10px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:-1px;margin-bottom:-1px}@media (max-width: 479px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width: 480px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-10px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:-1px;margin-bottom:-1px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:1px;margin-bottom:1px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:4px;margin-bottom:4px}.navbar-text{margin-top:6px;margin-bottom:6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;float:left;margin-left:10px;margin-right:10px}.navbar-text.navbar-right:last-child{margin-right:0}.navbar-default{background:rgba(43,43,43,0.9);border-color:none}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#568a89;background-color:transparent}.navbar-default .navbar-text{color:#63676a}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#6caead;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus{color:#568a89;background-color:transparent}.navbar-default .navbar-nav>.active>a:hover{color:#6caead}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#3c3f41;background-color:transparent}.navbar-default .navbar-toggle{border-color:#477372;color:#2b2b2b;cursor:pointer}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{border-color:#518382;background-color:#3d4042}.navbar-default .navbar-toggle:hover .icon-bar,.navbar-default .navbar-toggle:focus .icon-bar{background-color:#568a89}.navbar-default .navbar-toggle .icon-bar{background-color:#477372}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:none}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#568a89}@media (max-width: 479px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#6caead;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#568a89;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#3c3f41;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#6caead}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#63676a}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#63676a}.navbar-inverse .navbar-nav>li>a{color:#63676a}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#090909;color:#fff}@media (max-width: 479px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#63676a}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#63676a}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:0px 0px;margin-bottom:18px;list-style:none;background-color:none;border-radius:0px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#63676a}.breadcrumb>.active{color:#5cb85c}.pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:0px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.5;text-decoration:none;color:#375959;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:0px;border-top-left-radius:0px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:0px;border-top-right-radius:0px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#1a2a2a;background-color:#adadad;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#375959;border-color:#375959;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#63676a;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:15px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:11px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#adadad}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#63676a;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:2px 5px;font-size:75%;font-weight:bold;line-height:1;color:#000;text-align:center;white-space:nowrap;vertical-align:baseline;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#63676a}.label-default[href]:hover,.label-default[href]:focus{background-color:#4a4d50}.label-primary{background-color:#375959}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#243939}.label-success{background-color:#4f9e4f}.label-success[href]:hover,.label-success[href]:focus{background-color:#3e7c3e}.label-info{background-color:#316490}.label-info[href]:hover,.label-info[href]:focus{background-color:#244a6a}.label-warning{background-color:#e28a0d}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#b26d0a}.label-danger{background-color:#a52521}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#7b1b19}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:11px;font-weight:bold;color:#eaeaea;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#63676a;text-indent:initial;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#375959;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.thumbnail{display:block;padding:4px;margin-bottom:18px;line-height:1.5;background-color:#1d1d1d;border:1px solid #ddd;border-radius:0px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#63676a}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#375959}.alert{padding:15px;margin-bottom:18px;border:1px solid transparent;border-radius:0px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#d1e8d1;border-color:#4f9e4f;color:#2b2b2b}.alert-success hr{border-top-color:#478d47}.alert-success .alert-link{color:#121212}.alert-info{background-color:#abc9e2;border-color:#316490;color:#2b2b2b}.alert-info hr{border-top-color:#2b577d}.alert-info .alert-link{color:#121212}.alert-warning{background-color:#fdedd8;border-color:#e28a0d;color:#2b2b2b}.alert-warning hr{border-top-color:#ca7b0c}.alert-warning .alert-link{color:#121212}.alert-danger{background-color:#f6d1d0;border-color:#a52521;color:#2b2b2b}.alert-danger hr{border-top-color:#90201d}.alert-danger .alert-link{color:#121212}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:0px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:11px;line-height:18px;color:#fff;text-align:center;background-color:#375959;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#4f9e4f}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-info{background-color:#316490}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-warning{background-color:#e28a0d}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-danger{background-color:#a52521}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:6px 8px;background-color:#adadad;border-bottom:1px solid #63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.list-group-item:first-child{border-top-right-radius:0px;border-top-left-radius:0px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0px;border-bottom-left-radius:0px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#63676a;color:#1d1d1d}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#eaeaea;background-color:#375959;border-color:#375959}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#9bc1c1}.list-group-item-success{color:#2b2b2b;background-color:#d1e8d1}a.list-group-item-success{color:#2b2b2b}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#2b2b2b;background-color:#c0e0c0}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-info{color:#2b2b2b;background-color:#abc9e2}a.list-group-item-info{color:#2b2b2b}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#2b2b2b;background-color:#98bcdc}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-warning{color:#2b2b2b;background-color:#fdedd8}a.list-group-item-warning{color:#2b2b2b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#2b2b2b;background-color:#fbe3c0}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-danger{color:#2b2b2b;background-color:#f6d1d0}a.list-group-item-danger{color:#2b2b2b}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#2b2b2b;background-color:#f1bcba}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:18px;background-color:#3c3f41;border:1px solid transparent;border-radius:5px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:4px;border-top-left-radius:4px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:13px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#353739;border-top:1px solid #313335;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:4px;border-top-left-radius:4px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:4px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:4px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:4px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:4px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #313335}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:18px}.panel-group .panel{margin-bottom:0;border-radius:5px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #313335}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #313335}.panel-default{border-color:#1d1d1d}.panel-default>.panel-heading{color:#63676a;background-color:#353739;border-color:#1d1d1d}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-primary{border-color:#1d1d1d}.panel-primary>.panel-heading{color:#1d1d1d;background-color:#375959;border-color:#1d1d1d}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-success{border-color:#1d1d1d}.panel-success>.panel-heading{color:#2b2b2b;background-color:#d1e8d1;border-color:#1d1d1d}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-info{border-color:#1d1d1d}.panel-info>.panel-heading{color:#2b2b2b;background-color:#abc9e2;border-color:#1d1d1d}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-warning{border-color:#1d1d1d}.panel-warning>.panel-heading{color:#1d1d1d;background-color:#e28a0d;border-color:#1d1d1d}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-danger{border-color:#1d1d1d}.panel-danger>.panel-heading{color:#2b2b2b;background-color:#f6d1d0;border-color:#1d1d1d}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.well{min-height:20px;padding:10px;margin-bottom:20px;background-color:#63676a;border:1px solid #313335;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;color:#2b2b2b;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well a{color:#6caead}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:18px;font-weight:bold;line-height:1;color:#a52521}.close:hover,.close:focus{color:#a52521;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:auto;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);-moz-transition:-moz-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);-o-transition:-o-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);transition:transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.modal-dialog{position:relative;width:auto;margin:10px;z-index:1050}.modal-content{position:relative;background-color:#3c3f41;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.3;filter:alpha(opacity=30)}.modal-header{padding:14px;border-bottom:1px solid #303234;min-height:15.5px;background-color:#353739}.modal-header .bootbox-close-button,.modal-body .bootbox-close-button{padding:0 5px;font-size:22px;margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:14px;color:#adadad}.modal-footer{padding:13px 14px 14px;text-align:right;border-top:1px solid #303234;background-color:#353739}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width: 780px){.modal-dialog{width:700px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 1200px){.modal-lg{width:1100px}}.tooltip{position:absolute;z-index:1010;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:0px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1030;display:none;max-width:276px;padding:1px;text-align:left;background-color:#3c3f41;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-7px}.popover.right{margin-left:7px}.popover.bottom{margin-top:7px}.popover.left{margin-left:-7px}.popover-title{margin:0;padding:8px 14px;font-size:12px;font-weight:normal;line-height:18px;background-color:#353739;border-bottom:1px solid #282a2c;border-radius:5px 5px 0 0;color:#63676a}.popover-content{padding:7px 10px}.popover-content pre{margin-bottom:5px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:8px}.popover>.arrow:after{border-width:7px;content:""}.popover.top>.arrow{left:50%;margin-left:-8px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-8px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-7px;border-bottom-width:0;border-top-color:#63676a}.popover.right>.arrow{top:50%;left:-8px;margin-top:-8px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-7px;border-left-width:0;border-right-color:#63676a}.popover.bottom>.arrow{left:50%;margin-left:-8px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-8px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-7px;border-top-width:0;border-bottom-color:#63676a}.popover.left>.arrow{top:50%;right:-8px;margin-top:-8px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#63676a;bottom:-7px}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}@media (max-width: 779px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (min-width: 780px) and (max-width: 1199px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 1200px) and (max-width: 1599px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 1600px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (max-width: 779px){.hidden-xs{display:none !important}}@media (min-width: 780px) and (max-width: 1199px){.hidden-sm{display:none !important}}@media (min-width: 1200px) and (max-width: 1599px){.hidden-md{display:none !important}}@media (min-width: 1600px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}@media print{.hidden-print{display:none !important}}/*!
+ */*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:transparent}body{font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;font-size:12px;line-height:1.5;color:#63676a;background-color:#1d1d1d}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#375959;text-decoration:none}a:hover,a:focus{color:#1a2a2a;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline-color:#568a89;text-decoration:none}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.5;background-color:#1d1d1d;border:1px solid #ddd;border-radius:0px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:18px;margin-bottom:18px;border:0;border-top:1px solid #adadad}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;line-height:1.1;color:inherit}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,h4 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#63676a}h1,.h1,h2,.h2,h3,.h3{margin-top:18px;margin-bottom:9px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:9px;margin-bottom:9px}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:22px}h2,.h2{font-size:20px}h3,.h3{font-size:17px}h4,.h4{font-size:12px}h5,.h5{font-size:14px}h6,.h6{font-size:13px}p{margin:0 0 9px}.lead{margin-bottom:18px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width: 780px){.lead{font-size:16px}}small,.small{font-size:85%}cite{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#63676a}.text-primary{color:#375959}a.text-primary:hover{color:#243939}.text-success{color:#2b2b2b}a.text-success:hover{color:#121212}.text-info{color:#2b2b2b}a.text-info:hover{color:#121212}.text-warning{color:#2b2b2b}a.text-warning:hover{color:#121212}.text-danger{color:#2b2b2b}a.text-danger:hover{color:#121212}.bg-primary{color:#fff}.bg-primary{background-color:#375959}a.bg-primary:hover{background-color:#243939}.bg-success{background-color:#d1e8d1}a.bg-success:hover{background-color:#afd7af}.bg-info{background-color:#abc9e2}a.bg-info:hover{background-color:#85b0d5}.bg-warning{background-color:#fdedd8}a.bg-warning:hover{background-color:#fad8a8}.bg-danger{background-color:#f6d1d0}a.bg-danger:hover{background-color:#eda7a5}.page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #adadad}ul,ol{margin-top:0;margin-bottom:9px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:18px}dt,dd{line-height:1.5}dt{font-weight:bold}dd{margin-left:0}@media (min-width: 480px){.dl-horizontal dt{float:left;width:80px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:100px}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #63676a}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:9px 18px;margin:0 0 18px;font-size:15px;border-left:5px solid #5cb85c}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.5;color:#63676a}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #5cb85c;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:18px;font-style:normal;line-height:1.5}code,kbd,pre,samp{font-family:Consolas,monospace,Menlo,Monaco,"Courier New"}code{padding:2px 4px;font-size:90%;color:#1d1d1d;background-color:#63676a;white-space:nowrap;border-radius:3px}kbd{padding:2px 4px;font-size:90%;color:#adadad;background-color:#2b2b2b;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:11px;line-height:1.5;word-break:break-all;word-wrap:break-word;color:#1d1d1d;background-color:#63676a;border-radius:3px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:10px;padding-right:10px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 780px){.container{width:740px}}@media (min-width: 1200px){.container{width:1080px}}@media (min-width: 1600px){.container{width:1260px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:10px;padding-right:10px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-10px;margin-right:-10px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:10px;padding-right:10px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:0%}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:0%}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 780px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:0%}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:0%}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 1200px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:0%}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:0%}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 1600px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:0%}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:0%}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:0;border-spacing:0}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.5;vertical-align:top;border-top:1px solid #313335}.table>thead>tr>th{vertical-align:bottom;border-bottom:0px solid #313335}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #313335}.table .table{background-color:#1d1d1d}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:2px}.table-bordered{border:1px solid #313335}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #313335}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ecf3f8}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#ecf3f8}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#d9e7f1}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#d1e8d1}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#c0e0c0}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#abc9e2}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#98bcdc}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fdedd8}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#fbe3c0}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f6d1d0}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#f1bcba}@media (max-width: 779px){.table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #313335;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:18px;line-height:inherit;color:#313335;border:0;border-bottom:1px solid #e5e5e5}label,.editable-input .editable-checklist>div>label>span{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline-color:#568a89}output{display:block;padding-top:7px;font-size:12px;line-height:1.5;color:#adadad}.form-control{display:block;width:100%;height:32px;padding:6px 12px;font-size:12px;line-height:1.5;color:#adadad;background-color:#313335;background-image:none;border:1px solid #63676a;border-radius:0px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-out 0.15s,box-shadow ease-out 0.15s;transition:border-color ease-out 0.15s,box-shadow ease-out 0.15s}.form-control:focus{border-color:#568a89;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(86,138,137,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(86,138,137,0.6)}.form-control::-moz-placeholder{color:#63676a;opacity:1}.form-control:-ms-input-placeholder{color:#63676a}.form-control::-webkit-input-placeholder{color:#63676a}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#3c3f41;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}input[type="date"]{line-height:32px}.form-group{margin-bottom:15px}.radio,.checkbox,.editable-input .editable-checklist>div>label{display:block;min-height:18px;margin-top:10px;margin-bottom:10px;padding-left:20px}.radio label,.radio .editable-input .editable-checklist>div>label>span,.editable-input .radio .editable-checklist>div>label>span,.checkbox label,.editable-input .editable-checklist>div>label label,.editable-input .editable-checklist>div>label>span{display:inline;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.editable-input .editable-checklist>div>label input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px}.radio+.radio,.checkbox+.checkbox,.editable-input .editable-checklist>div>label+.checkbox,.editable-input .editable-checklist>div>.checkbox+label,.editable-input .editable-checklist>div>label+label{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],fieldset[disabled] input[type="checkbox"],.radio[disabled],fieldset[disabled] .radio,.radio-inline[disabled],fieldset[disabled] .radio-inline,.checkbox[disabled],.editable-input .editable-checklist>div>label[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .editable-input .editable-checklist>div>label,.editable-input fieldset[disabled] .editable-checklist>div>label,.checkbox-inline[disabled],fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:28px;line-height:28px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:42px;line-height:42px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.has-feedback .form-control-feedback{position:absolute;top:23px;right:0;display:block;width:32px;height:32px;line-height:32px;text-align:center}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .editable-input .editable-checklist>div>label,.editable-input .has-success .editable-checklist>div>label,.has-success .radio-inline,.has-success .checkbox-inline{color:#5cb85c}.has-success .form-control{border-color:#5cb85c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #a3d7a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #a3d7a3}.has-success .select2-selection{border:1px solid !important;border-color:#5cb85c !important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#d1e8d1}.has-success .form-control-feedback{color:#5cb85c}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .editable-input .editable-checklist>div>label,.editable-input .has-warning .editable-checklist>div>label,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#2b2b2b}.has-warning .form-control{border-color:#2b2b2b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #5e5e5e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #5e5e5e}.has-warning .select2-selection{border:1px solid !important;border-color:#2b2b2b !important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .input-group-addon{color:#2b2b2b;border-color:#2b2b2b;background-color:#fdedd8}.has-warning .form-control-feedback{color:#2b2b2b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .editable-input .editable-checklist>div>label,.editable-input .has-error .editable-checklist>div>label,.has-error .radio-inline,.has-error .checkbox-inline{color:#d9534f}.has-error .form-control{border-color:#d9534f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3}.has-error .select2-selection{border:1px solid !important;border-color:#d9534f !important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#f6d1d0}.has-error .form-control-feedback{color:#d9534f}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#7c8184}@media (min-width: 780px){.form-inline .form-group,.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group>.form-control,.navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.navbar-form .radio,.form-inline .checkbox,.navbar-form .checkbox,.form-inline .editable-input .editable-checklist>div>label,.editable-input .form-inline .editable-checklist>div>label,.navbar-form .editable-input .editable-checklist>div>label,.editable-input .navbar-form .editable-checklist>div>label{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .radio input[type="radio"],.navbar-form .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"],.navbar-form .checkbox input[type="checkbox"],.form-inline .editable-input .editable-checklist>div>label input[type="checkbox"],.editable-input .form-inline .editable-checklist>div>label input[type="checkbox"],.navbar-form .editable-input .editable-checklist>div>label input[type="checkbox"],.editable-input .navbar-form .editable-checklist>div>label input[type="checkbox"]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback,.navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .editable-input .editable-checklist>div>label,.editable-input .form-horizontal .editable-checklist>div>label,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .editable-input .editable-checklist>div>label,.editable-input .form-horizontal .editable-checklist>div>label{min-height:25px}.form-horizontal .form-group{margin-left:-10px;margin-right:-10px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media (min-width: 780px){.form-horizontal .control-label{text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:10px}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:12px;line-height:1.5;border-radius:0px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline-color:#568a89}.btn:hover,.btn:focus{color:#eaeaea;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#eaeaea;background-color:#63676a;border-color:#575a5d}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#777b7f;border-color:#74797c}.open .btn-default.dropdown-toggle{color:#eaeaea;background-color:#777b7f;border-color:#74797c}.btn-default:active,.btn-default.active{background-image:none}.open .btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active{background-color:#63676a;border-color:#575a5d}.btn-default .badge{color:#63676a;background-color:#eaeaea}.btn-primary{color:#eaeaea;background-color:#375959;border-color:#2d4949}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#477272;border-color:#456f6f}.open .btn-primary.dropdown-toggle{color:#eaeaea;background-color:#477272;border-color:#456f6f}.btn-primary:active,.btn-primary.active{background-image:none}.open .btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#375959;border-color:#2d4949}.btn-primary .badge{color:#375959;background-color:#eaeaea}.btn-success,.modal-content .pf-wizard-navigation li.active a:not(.btn-danger){color:#eaeaea;background-color:#4f9e4f;border-color:#478d47}.btn-success:hover,.modal-content .pf-wizard-navigation li.active a:hover:not(.btn-danger),.btn-success:focus,.modal-content .pf-wizard-navigation li.active a:focus:not(.btn-danger),.btn-success:active,.modal-content .pf-wizard-navigation li.active a:active:not(.btn-danger),.btn-success.active:not(.toggle-on):not(.toggle-off),.modal-content .pf-wizard-navigation li.active a.active:not(.toggle-on):not(.toggle-off):not(.btn-danger){color:#eaeaea;background-color:#64b264;border-color:#61b061}.open .btn-success.dropdown-toggle,.open .modal-content .pf-wizard-navigation li.active a.dropdown-toggle:not(.btn-danger),.modal-content .pf-wizard-navigation li.active .open a.dropdown-toggle:not(.btn-danger){color:#eaeaea;background-color:#64b264;border-color:#61b061}.btn-success:active,.modal-content .pf-wizard-navigation li.active a:active:not(.btn-danger),.btn-success.active,.modal-content .pf-wizard-navigation li.active a.active:not(.btn-danger){background-image:none}.open .btn-success.dropdown-toggle,.open .modal-content .pf-wizard-navigation li.active a.dropdown-toggle:not(.btn-danger),.modal-content .pf-wizard-navigation li.active .open a.dropdown-toggle:not(.btn-danger){background-image:none}.btn-success.disabled,.modal-content .pf-wizard-navigation li.active a.disabled:not(.btn-danger),.btn-success.disabled:hover,.modal-content .pf-wizard-navigation li.active a.disabled:hover:not(.btn-danger),.btn-success.disabled:focus,.modal-content .pf-wizard-navigation li.active a.disabled:focus:not(.btn-danger),.btn-success.disabled:active,.modal-content .pf-wizard-navigation li.active a.disabled:active:not(.btn-danger),.btn-success.disabled.active,.modal-content .pf-wizard-navigation li.active a.disabled.active:not(.btn-danger),.btn-success[disabled],.modal-content .pf-wizard-navigation li.active a[disabled]:not(.btn-danger),.btn-success[disabled]:hover,.modal-content .pf-wizard-navigation li.active a[disabled]:hover:not(.btn-danger),.btn-success[disabled]:focus,.modal-content .pf-wizard-navigation li.active a[disabled]:focus:not(.btn-danger),.btn-success[disabled]:active,.modal-content .pf-wizard-navigation li.active a[disabled]:active:not(.btn-danger),.btn-success[disabled].active,.modal-content .pf-wizard-navigation li.active a[disabled].active:not(.btn-danger),fieldset[disabled] .btn-success,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:not(.btn-danger),fieldset[disabled] .btn-success:hover,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:hover:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:hover:not(.btn-danger),fieldset[disabled] .btn-success:focus,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:focus:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:focus:not(.btn-danger),fieldset[disabled] .btn-success:active,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a:active:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a:active:not(.btn-danger),fieldset[disabled] .btn-success.active,fieldset[disabled] .modal-content .pf-wizard-navigation li.active a.active:not(.btn-danger),.modal-content .pf-wizard-navigation li.active fieldset[disabled] a.active:not(.btn-danger){background-color:#4f9e4f;border-color:#478d47}.btn-success .badge,.modal-content .pf-wizard-navigation li.active a:not(.btn-danger) .badge{color:#4f9e4f;background-color:#eaeaea}.btn-info{color:#eaeaea;background-color:#316490;border-color:#2b577d}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#3b79ae;border-color:#3a76ab}.open .btn-info.dropdown-toggle{color:#eaeaea;background-color:#3b79ae;border-color:#3a76ab}.btn-info:active,.btn-info.active{background-image:none}.open .btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#316490;border-color:#2b577d}.btn-info .badge{color:#316490;background-color:#eaeaea}.btn-warning{color:#eaeaea;background-color:#c2760c;border-color:#aa670b}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#e88d0e;border-color:#e48a0e}.open .btn-warning.dropdown-toggle{color:#eaeaea;background-color:#e88d0e;border-color:#e48a0e}.btn-warning:active,.btn-warning.active{background-image:none}.open .btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#c2760c;border-color:#aa670b}.btn-warning .badge{color:#c2760c;background-color:#eaeaea}.btn-danger{color:#eaeaea;background-color:#a52521;border-color:#90201d}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active:not(.toggle-on):not(.toggle-off){color:#eaeaea;background-color:#c72d28;border-color:#c32c27}.open .btn-danger.dropdown-toggle{color:#eaeaea;background-color:#c72d28;border-color:#c32c27}.btn-danger:active,.btn-danger.active{background-image:none}.open .btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#a52521;border-color:#90201d}.btn-danger .badge{color:#a52521;background-color:#eaeaea}.btn-link{color:#375959;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#1a2a2a;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#63676a;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:11px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;will-change:height;-webkit-transition:height 0.35s ease;transition:height 0.35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:12px;background-color:#adadad;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#63676a}.dropdown-menu>li>a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:1.5;color:#313335;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#1d1d1d;background-color:#63676a}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#adadad;text-decoration:none;outline:0;background-color:#375959}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#63676a}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:11px;line-height:1.5;color:#63676a}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width: 480px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:none}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:0px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:0px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:12px;font-weight:normal;line-height:1;color:#63676a;text-align:center;background-color:#2b2b2b;border:1px solid #63676a;border-radius:0px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:11px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:15px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:5px 6px 5px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#3c3f41}.nav>li.disabled>a{color:#63676a}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#63676a;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#3c3f41;border-color:#375959}.nav .nav-divider{height:1px;margin:5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #adadad}.nav-tabs>li{float:left;margin-bottom:-1px;margin-right:2px}.nav-tabs>li>a{line-height:1.5;border:1px solid transparent}.nav-tabs>li>a:hover{border-color:#adadad #adadad #adadad}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#313335;border:1px solid #adadad;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:0px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#375959}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 780px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:0px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 780px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:0px 0px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#1d1d1d}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:30px;margin-bottom:18px}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 480px){.navbar{border-radius:0px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 480px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:10px;padding-left:10px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 480px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-10px;margin-left:-10px}@media (min-width: 480px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 480px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 480px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:6px 10px;font-size:1.2em;line-height:18px;height:30px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width: 480px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{position:relative;float:right;margin-right:10px;margin-left:10px;padding:6px 12px;margin-top:-2px;margin-bottom:-2px;background-color:#313335;background-image:none;border:1px solid #a0a0a0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.navbar-toggle:focus{outline:none}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 480px){.navbar-toggle{display:none}}.navbar-nav{margin:3px -10px;float:left;margin:0}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width: 479px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:18px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}.navbar-nav>li{float:left;margin-right:2px}.navbar-nav>li>a{padding-top:6px;padding-bottom:6px}.navbar-nav.navbar-right:last-child{margin-right:-10px}@media (min-width: 480px){.navbar-left{float:left !important}.navbar-right{float:right !important}}.navbar-form{margin-left:-10px;margin-right:-10px;padding:10px 10px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:-1px;margin-bottom:-1px}@media (max-width: 479px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width: 480px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-10px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:-1px;margin-bottom:-1px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:1px;margin-bottom:1px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:4px;margin-bottom:4px}.navbar-text{margin-top:6px;margin-bottom:6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;float:left;margin-left:10px;margin-right:10px}.navbar-text.navbar-right:last-child{margin-right:0}.navbar-default{background:rgba(43,43,43,0.9);border-color:none}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#568a89;background-color:transparent}.navbar-default .navbar-text{color:#63676a}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#6caead;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus{color:#568a89;background-color:transparent}.navbar-default .navbar-nav>.active>a:hover{color:#6caead}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#3c3f41;background-color:transparent}.navbar-default .navbar-toggle{border-color:#477372;color:#2b2b2b;cursor:pointer}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{border-color:#518382;background-color:#3d4042}.navbar-default .navbar-toggle:hover .icon-bar,.navbar-default .navbar-toggle:focus .icon-bar{background-color:#568a89}.navbar-default .navbar-toggle .icon-bar{background-color:#477372}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:none}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:transparent;color:#568a89}@media (max-width: 479px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#6caead;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#568a89;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#3c3f41;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#6caead}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#63676a}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#63676a}.navbar-inverse .navbar-nav>li>a{color:#63676a}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#090909;color:#fff}@media (max-width: 479px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#63676a}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#63676a}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:0px 0px;margin-bottom:18px;list-style:none;background-color:none;border-radius:0px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#63676a}.breadcrumb>.active{color:#5cb85c}.pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:0px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.5;text-decoration:none;color:#375959;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:0px;border-top-left-radius:0px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:0px;border-top-right-radius:0px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#1a2a2a;background-color:#adadad;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#375959;border-color:#375959;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#63676a;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:15px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:11px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#adadad}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#63676a;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:2px 5px;font-size:75%;font-weight:bold;line-height:1;color:#000;text-align:center;white-space:nowrap;vertical-align:baseline;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#63676a}.label-default[href]:hover,.label-default[href]:focus{background-color:#4a4d50}.label-primary{background-color:#375959}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#243939}.label-success{background-color:#4f9e4f}.label-success[href]:hover,.label-success[href]:focus{background-color:#3e7c3e}.label-info{background-color:#316490}.label-info[href]:hover,.label-info[href]:focus{background-color:#244a6a}.label-warning{background-color:#e28a0d}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#b26d0a}.label-danger{background-color:#a52521}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#7b1b19}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:11px;font-weight:bold;color:#eaeaea;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#63676a;text-indent:initial;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#375959;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.thumbnail{display:block;padding:4px;margin-bottom:18px;line-height:1.5;background-color:#1d1d1d;border:1px solid #ddd;border-radius:0px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#63676a}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#375959}.alert{padding:15px;margin-bottom:18px;border:1px solid transparent;border-radius:0px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#d1e8d1;border-color:#4f9e4f;color:#2b2b2b}.alert-success hr{border-top-color:#478d47}.alert-success .alert-link{color:#121212}.alert-info{background-color:#abc9e2;border-color:#316490;color:#2b2b2b}.alert-info hr{border-top-color:#2b577d}.alert-info .alert-link{color:#121212}.alert-warning{background-color:#fdedd8;border-color:#e28a0d;color:#2b2b2b}.alert-warning hr{border-top-color:#ca7b0c}.alert-warning .alert-link{color:#121212}.alert-danger{background-color:#f6d1d0;border-color:#a52521;color:#2b2b2b}.alert-danger hr{border-top-color:#90201d}.alert-danger .alert-link{color:#121212}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:0px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:11px;line-height:18px;color:#fff;text-align:center;background-color:#375959;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#4f9e4f}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-info{background-color:#316490}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-warning{background-color:#e28a0d}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-danger{background-color:#a52521}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:6px 8px;background-color:#adadad;border-bottom:1px solid #63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.list-group-item:first-child{border-top-right-radius:0px;border-top-left-radius:0px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0px;border-bottom-left-radius:0px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#63676a;color:#1d1d1d}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#eaeaea;background-color:#375959;border-color:#375959}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#9bc1c1}.list-group-item-success{color:#2b2b2b;background-color:#d1e8d1}a.list-group-item-success{color:#2b2b2b}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#2b2b2b;background-color:#c0e0c0}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-info{color:#2b2b2b;background-color:#abc9e2}a.list-group-item-info{color:#2b2b2b}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#2b2b2b;background-color:#98bcdc}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-warning{color:#2b2b2b;background-color:#fdedd8}a.list-group-item-warning{color:#2b2b2b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#2b2b2b;background-color:#fbe3c0}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-danger{color:#2b2b2b;background-color:#f6d1d0}a.list-group-item-danger{color:#2b2b2b}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#2b2b2b;background-color:#f1bcba}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:18px;background-color:#3c3f41;border:1px solid transparent;border-radius:5px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:4px;border-top-left-radius:4px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:13px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#353739;border-top:1px solid #313335;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:4px;border-top-left-radius:4px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:4px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:4px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:4px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:4px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #313335}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:18px}.panel-group .panel{margin-bottom:0;border-radius:5px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #313335}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #313335}.panel-default{border-color:#1d1d1d}.panel-default>.panel-heading{color:#63676a;background-color:#353739;border-color:#1d1d1d}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-primary{border-color:#1d1d1d}.panel-primary>.panel-heading{color:#1d1d1d;background-color:#375959;border-color:#1d1d1d}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-success{border-color:#1d1d1d}.panel-success>.panel-heading{color:#2b2b2b;background-color:#d1e8d1;border-color:#1d1d1d}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-info{border-color:#1d1d1d}.panel-info>.panel-heading{color:#2b2b2b;background-color:#abc9e2;border-color:#1d1d1d}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-warning{border-color:#1d1d1d}.panel-warning>.panel-heading{color:#1d1d1d;background-color:#e28a0d;border-color:#1d1d1d}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.panel-danger{border-color:#1d1d1d}.panel-danger>.panel-heading{color:#2b2b2b;background-color:#f6d1d0;border-color:#1d1d1d}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#1d1d1d}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#1d1d1d}.well{min-height:20px;padding:10px;margin-bottom:20px;background-color:#63676a;border:1px solid #313335;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;color:#2b2b2b;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well a{color:#6caead}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:7px;border-radius:3px}.close{float:right;font-size:18px;font-weight:bold;line-height:1;color:#a52521}.close:hover,.close:focus{color:#a52521;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:auto;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);-moz-transition:-moz-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);-o-transition:-o-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);transition:transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.modal-dialog{position:relative;width:auto;margin:10px;z-index:1050}.modal-content{position:relative;background-color:#3c3f41;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.3;filter:alpha(opacity=30)}.modal-header{padding:14px;border-bottom:1px solid #303234;min-height:15.5px;background-color:#353739}.modal-header .bootbox-close-button,.modal-body .bootbox-close-button{padding:0 5px;font-size:22px;margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:14px;color:#adadad}.modal-footer{padding:13px 14px 14px;text-align:right;border-top:1px solid #303234;background-color:#353739}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width: 780px){.modal-dialog{width:700px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 1200px){.modal-lg{width:1100px}}.tooltip{position:absolute;z-index:1010;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:0px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1030;display:none;max-width:276px;padding:1px;text-align:left;background-color:#3c3f41;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-7px}.popover.right{margin-left:7px}.popover.bottom{margin-top:7px}.popover.left{margin-left:-7px}.popover-title{margin:0;padding:8px 14px;font-size:12px;font-weight:normal;line-height:18px;background-color:#353739;border-bottom:1px solid #282a2c;border-radius:5px 5px 0 0;color:#63676a}.popover-content{padding:7px 10px}.popover-content pre{margin-bottom:5px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:8px}.popover>.arrow:after{border-width:7px;content:""}.popover.top>.arrow{left:50%;margin-left:-8px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-8px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-7px;border-bottom-width:0;border-top-color:#63676a}.popover.right>.arrow{top:50%;left:-8px;margin-top:-8px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-7px;border-left-width:0;border-right-color:#63676a}.popover.bottom>.arrow{left:50%;margin-left:-8px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-8px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-7px;border-top-width:0;border-bottom-color:#63676a}.popover.left>.arrow{top:50%;right:-8px;margin-top:-8px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#63676a;bottom:-7px}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}@media (max-width: 779px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (min-width: 780px) and (max-width: 1199px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 1200px) and (max-width: 1599px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 1600px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (max-width: 779px){.hidden-xs{display:none !important}}@media (min-width: 780px) and (max-width: 1199px){.hidden-sm{display:none !important}}@media (min-width: 1200px) and (max-width: 1599px){.hidden-md{display:none !important}}@media (min-width: 1600px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}@media print{.hidden-print{display:none !important}}/*!
* Font Awesome Free 5.2.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/.fa,.fas,.pf-landing .pf-landing-list li>i,.far,.fal,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw,.pf-landing .pf-landing-list li>i,.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li,.pf-landing .pf-landing-list li>i{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid 0.08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.pf-landing .pf-landing-list li>i.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.pf-landing .pf-landing-list li>i.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180,#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper.pf-character-active:after{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1, -1)}.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(-1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root #pf-landing-login .pf-dynamic-area .pf-character-image-wrapper.pf-character-active:after,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before,.pf-landing .pf-landing-list li>i:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-r-project:before{content:"\f4f7"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*!
@@ -30,10 +30,10 @@
*/@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:normal;src:url("../../fonts/fa-brands-400.eot");src:url("../../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"),url("../../fonts/fa-brands-400.woff2") format("woff2"),url("../../fonts/fa-brands-400.woff") format("woff"),url("../../fonts/fa-brands-400.ttf") format("truetype"),url("../../fonts/fa-brands-400.svg#fontawesome") format("svg")}.fab{font-family:'Font Awesome 5 Brands'}.mCustomScrollbar{-ms-touch-action:pinch-zoom;touch-action:pinch-zoom}.mCustomScrollbar.mCS_no_scrollbar,.mCustomScrollbar.mCS_touch_action{-ms-touch-action:auto;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:20px}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:20px}.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}.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;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.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;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.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}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:20px}.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:20px;margin-bottom:20px}.mCSB_container_wrapper>.mCSB_container{padding-right:20px;padding-bottom:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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:20px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0}.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{-webkit-transition:opacity .2s ease-in-out, background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out, background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out, background-color .2s ease-in-out;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{-webkit-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;-moz-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;-o-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;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}.mCSB_scrollTools{opacity:0.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-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)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#adadad;background-color:rgba(173,173,173,0.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#e28a0d;background-color:rgba(226,138,13,0.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#e28a0d;background-color:rgba(226,138,13,0.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACQCAYAAACPtWCAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxMURDMzE5NzIzQkNFMTExOTY0QkYwNzFDNzkwNTlDNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDOTMwRUZENEMxMUUxMUUzOUYxQkJGN0E1MDMzNTg1MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDOTMwRUZEM0MxMUUxMUUzOUYxQkJGN0E1MDMzNTg1MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MGJlMjMyZC1hNzgzLTI1NGQtOTI4Yy02NDI0YmQxNTg0YWEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTFEQzMxOTcyM0JDRTExMTk2NEJGMDcxQzc5MDU5QzQiLz4gPC9yZGY6RGVzY3Jp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');background-repeat:no-repeat;opacity:0.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp{background-position:0 0}.mCSB_scrollTools .mCSB_buttonDown{background-position:0 -20px}.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)";-ms-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)";-ms-filter:"alpha(opacity=90)"}.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}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #3c3f41}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #3c3f41}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../img/data-tables/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../img/data-tables/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../img/data-tables/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../img/data-tables/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../img/data-tables/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#212121}table.dataTable tbody tr.selected{background-color:#1b2326}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #3c3f41}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#2b2b2b}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#1b2326}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{outline:1px solid #c2760c;outline-offset:-1px}table.dataTable.hover tbody tr:hover td,table.dataTable.display tbody tr:hover td{background-color:rgba(194,118,12,0.08)}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#925909}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#2b2b2b}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#212C30}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#1b2326}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:#101517}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#171e20}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#212C30}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#1b2326}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#101517}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#171e20}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:rgba(2,1,0,0.2)}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:rgba(0,0,0,0.2)}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:rgba(0,0,0,0.2)}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#885308}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #3c3f41}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th:not(.sorting_disabled),table.dataTable.compact thead td:not(.sorting_disabled){padding:4px 17px 4px 4px}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 4px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.9em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.5em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.3em 0.8em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#6f7477 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#adadad !important;border:1px solid transparent;background-color:#313335;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #313335), color-stop(100%, #2b2b2b));background:-webkit-linear-gradient(top, #313335 0%, #2b2b2b 100%);background:-moz-linear-gradient(top, #313335 0%, #2b2b2b 100%);background:-ms-linear-gradient(top, #313335 0%, #2b2b2b 100%);background:-o-linear-gradient(top, #313335 0%, #2b2b2b 100%);background:linear-gradient(to bottom, #313335 0%,#2b2b2b 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#4f5355 !important;border:1px solid transparent;background:transparent;box-shadow:none;pointer-events:all;cursor:not-allowed}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:#313335 !important;border:1px solid transparent;background-color:#c2760c;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #c2760c), color-stop(100%, #c2760c));background:-webkit-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:-moz-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:-ms-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:-o-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:linear-gradient(to bottom, #c2760c 0%,#c2760c 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#c2760c;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #c2760c), color-stop(100%, #c2760c));background:-webkit-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:-moz-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:-ms-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:-o-linear-gradient(top, #c2760c 0%, #c2760c 100%);background:linear-gradient(to bottom, #c2760c 0%,#c2760c 100%)}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 25%,rgba(255,255,255,0.9) 75%,rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#63676a}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}ul.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2001}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}}/*!
* DataTables + Font Awesome integration
* License: MIT - http://datatables.net/license
- */table.dataTable thead th{position:relative;background-image:none !important}table.dataTable thead th.sorting:after,table.dataTable thead th.sorting_asc:after,table.dataTable thead th.sorting_desc:after{position:absolute;top:12px;right:5px;display:block;font-family:'Font Awesome 5 Free';margin-top:-8px}table.dataTable thead th.sorting:after{content:"\f0dc";color:#5cb85c;font-size:0.8em;margin-top:-8px}table.dataTable thead th.sorting_asc:after{content:"\f0de"}table.dataTable thead th.sorting_desc:after{content:"\f0dd"}div.dataTables_scrollBody table.dataTable thead th.sorting:after,div.dataTables_scrollBody table.dataTable thead th.sorting_asc:after,div.dataTables_scrollBody table.dataTable thead th.sorting_desc:after{content:""}div.dataTables_paginate a.paginate_button.first,div.dataTables_paginate a.paginate_button.previous{position:relative;padding-left:24px}div.dataTables_paginate a.paginate_button.next,div.dataTables_paginate a.paginate_button.last{position:relative;padding-right:24px}div.dataTables_paginate a.first:before,div.dataTables_paginate a.previous:before{position:absolute;top:4px;left:10px;display:block;font-weight:bold;font-family:'Font Awesome 5 Free'}div.dataTables_paginate a.next:after,div.dataTables_paginate a.last:after{position:absolute;top:4px;right:10px;display:block;font-weight:bold;font-family:'Font Awesome 5 Free'}div.dataTables_paginate a.first:before{content:"\f100"}div.dataTables_paginate a.previous:before{content:"\f104"}div.dataTables_paginate a.next:after{content:"\f105"}div.dataTables_paginate a.last:after{content:"\f101"}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed>tbody>tr.child td:before{display:none}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#1b2326}table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected,table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected{background-color:#1b2326}table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover,table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover{background-color:#925909}table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.order-column tbody>tr>.selected,table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#171e20}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#171e20}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#171e20}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#925909}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#a5b2cb}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#a2aec7}table.dataTable td.select-checkbox{position:relative}table.dataTable td.select-checkbox:before,table.dataTable td.select-checkbox:after{display:block;position:absolute;top:1.2em;left:50%;width:12px;height:12px;box-sizing:border-box}table.dataTable td.select-checkbox:before{content:' ';margin-top:-6px;margin-left:-6px;border:1px solid black;border-radius:3px}table.dataTable tr.selected td.select-checkbox:after{content:'\2714';margin-top:-11px;margin-left:-4px;text-align:center;text-shadow:1px 1px #B0BED9, -1px -1px #B0BED9, 1px -1px #B0BED9, -1px 1px #B0BED9}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0.5em}@media screen and (max-width: 640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0;display:block}}/*! X-editable - v1.5.0
+ */table.dataTable thead th{position:relative;background-image:none !important}table.dataTable thead th.sorting:after,table.dataTable thead th.sorting_asc:after,table.dataTable thead th.sorting_desc:after{position:absolute;top:12px;right:5px;display:block;font-family:'Font Awesome 5 Free';margin-top:-8px}table.dataTable thead th.sorting:after{content:"\f0dc";font-size:0.8em;margin-top:-8px}table.dataTable thead th.sorting_asc:after{content:"\f0de";color:#5cb85c}table.dataTable thead th.sorting_desc:after{content:"\f0dd";color:#5cb85c}div.dataTables_scrollBody table.dataTable thead th.sorting:after,div.dataTables_scrollBody table.dataTable thead th.sorting_asc:after,div.dataTables_scrollBody table.dataTable thead th.sorting_desc:after{content:""}div.dataTables_paginate a.paginate_button.first,div.dataTables_paginate a.paginate_button.previous{position:relative;padding-left:24px}div.dataTables_paginate a.paginate_button.next,div.dataTables_paginate a.paginate_button.last{position:relative;padding-right:24px}div.dataTables_paginate a.first:before,div.dataTables_paginate a.previous:before{position:absolute;top:4px;left:10px;display:block;font-weight:bold;font-family:'Font Awesome 5 Free'}div.dataTables_paginate a.next:after,div.dataTables_paginate a.last:after{position:absolute;top:4px;right:10px;display:block;font-weight:bold;font-family:'Font Awesome 5 Free'}div.dataTables_paginate a.first:before{content:"\f100"}div.dataTables_paginate a.previous:before{content:"\f104"}div.dataTables_paginate a.next:after{content:"\f105"}div.dataTables_paginate a.last:after{content:"\f101"}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed>tbody>tr.child td:before{display:none}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#1b2326}table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected,table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected{background-color:#1b2326}table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover,table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover{background-color:#925909}table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.order-column tbody>tr>.selected,table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#171e20}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#171e20}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#171e20}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#925909}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#a5b2cb}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#a2aec7}table.dataTable td.select-checkbox{position:relative}table.dataTable td.select-checkbox:before,table.dataTable td.select-checkbox:after{display:block;position:absolute;top:1.2em;left:50%;width:12px;height:12px;box-sizing:border-box}table.dataTable td.select-checkbox:before{content:' ';margin-top:-6px;margin-left:-6px;border:1px solid black;border-radius:3px}table.dataTable tr.selected td.select-checkbox:after{content:'\2714';margin-top:-11px;margin-left:-4px;text-align:center;text-shadow:1px 1px #B0BED9, -1px -1px #B0BED9, 1px -1px #B0BED9, -1px 1px #B0BED9}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0.5em}@media screen and (max-width: 640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0;display:block}}/*! X-editable - v1.5.0
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
-* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */.editableform{margin-bottom:0}.editableform .form-group{margin-left:0 !important}.editableform .control-group{margin-bottom:0;white-space:nowrap;line-height:20px}.editable-buttons{display:inline-block;vertical-align:top;margin-left:7px;zoom:1;*display:inline}.editable-buttons.editable-buttons-bottom{display:block;margin-top:7px;margin-left:0}.editable-input{vertical-align:top;display:inline-block;width:auto;white-space:normal;zoom:1;*display:inline}.editable-buttons .editable-cancel{margin-left:7px}.editable-buttons button.ui-button-icon-only{height:24px;width:30px}.editableform-loading{height:25px;width:auto;min-width:25px;text-align:center}.editableform-loading i{margin-top:10px}.editable-inline .editableform-loading{background-position:left 5px}.editable-error-block{max-width:300px;margin:5px 0 0 0;width:auto;white-space:normal}.editable-error-block.ui-state-error{padding:3px}.editable-error{color:red}.editableform .editable-date{padding:0;margin:0;float:left}.editable-inline .add-on .icon-th{margin-top:3px;margin-left:1px}.editable-checklist label input[type="checkbox"],.editable-input .editable-checklist>div>label>span input[type="checkbox"],.editable-checklist label span,.editable-input .editable-checklist>div>label>span span{vertical-align:middle;margin:0}.editable-checklist label,.editable-input .editable-checklist>div>label>span{white-space:nowrap}.editable-wysihtml5{width:566px;height:250px}.editable-clear{clear:both;font-size:0.9em;text-decoration:none;text-align:right}.editable-clear-x{display:block;width:13px;height:13px;position:absolute;opacity:0.6;z-index:100;top:50%;right:6px;margin-top:-6px}.editable-clear-x:hover{opacity:1}.editable-pre-wrapped{white-space:pre-wrap}.editable-container.editable-popup{max-width:none !important}.editable-container.popover{width:auto}.editable-container.editable-inline{display:inline-block;vertical-align:middle;width:auto;zoom:1;*display:inline}.editable-container.ui-widget{font-size:inherit;z-index:9990}.editable-click,a.editable-click,a.editable-click:hover{text-decoration:none}.editable-click.editable-disabled,a.editable-click.editable-disabled,a.editable-click.editable-disabled:hover{color:#585858;cursor:default;border-bottom:none}.editable-empty,.editable-empty:hover,.editable-empty:focus{font-style:italic;color:#d9534f;text-decoration:none}.editable-unsaved{font-weight:bold}.editable-bg-transition{-webkit-transition:background-color 1400ms ease-out;-moz-transition:background-color 1400ms ease-out;-o-transition:background-color 1400ms ease-out;-ms-transition:background-color 1400ms ease-out;transition:background-color 1400ms ease-out}.form-horizontal .editable{padding-top:5px;display:inline-block}/*!
+* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */.editableform{margin-bottom:0}.editableform .form-group{margin-left:0 !important}.editableform .control-group{margin-bottom:0;white-space:nowrap;line-height:20px}.editable-buttons{display:inline-block;vertical-align:top;margin-left:7px;zoom:1;*display:inline}.editable-buttons.editable-buttons-bottom{display:block;margin-top:7px;margin-left:0}.editable-input{vertical-align:top;display:inline-block;width:auto;white-space:normal;zoom:1;*display:inline}.editable-buttons .editable-cancel{margin-left:7px}.editable-buttons button.ui-button-icon-only{height:24px;width:30px}.editableform-loading{height:25px;width:auto;min-width:25px;display:flex;flex-direction:column;justify-content:center;align-items:center}.editable-inline .editableform-loading{background-position:left 5px}.editable-error-block{max-width:300px;margin:5px 0 0 0;width:auto;white-space:normal}.editable-error-block.ui-state-error{padding:3px}.editable-error{color:red}.editableform .editable-date{padding:0;margin:0;float:left}.editable-inline .add-on .icon-th{margin-top:3px;margin-left:1px}.editable-checklist label input[type="checkbox"],.editable-input .editable-checklist>div>label>span input[type="checkbox"],.editable-checklist label span,.editable-input .editable-checklist>div>label>span span{vertical-align:middle;margin:0}.editable-checklist label,.editable-input .editable-checklist>div>label>span{white-space:nowrap}.editable-wysihtml5{width:566px;height:250px}.editable-clear{clear:both;font-size:0.9em;text-decoration:none;text-align:right}.editable-clear-x{display:block;width:13px;height:13px;position:absolute;opacity:0.6;z-index:100;top:50%;right:6px;margin-top:-6px}.editable-clear-x:hover{opacity:1}.editable-pre-wrapped{white-space:pre-wrap}.editable-container.editable-popup{max-width:none !important}.editable-container.popover{width:auto}.editable-container.editable-inline{display:inline-block;vertical-align:middle;width:auto;zoom:1;*display:inline}.editable-container.ui-widget{font-size:inherit;z-index:9990}.editable-click,a.editable-click,a.editable-click:hover{text-decoration:none}.editable-click.editable-disabled,a.editable-click.editable-disabled,a.editable-click.editable-disabled:hover{color:#585858;cursor:default;border-bottom:none}.editable-empty,.editable-empty:hover,.editable-empty:focus{font-style:italic;color:#d9534f;text-decoration:none}.editable-unsaved{font-weight:bold}.editable-bg-transition{-webkit-transition:background-color 1400ms ease-out;-moz-transition:background-color 1400ms ease-out;-o-transition:background-color 1400ms ease-out;-ms-transition:background-color 1400ms ease-out;transition:background-color 1400ms ease-out}.form-horizontal .editable{padding-top:5px;display:inline-block}/*!
* Datepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
@@ -51,5 +51,5 @@ Link : http://sciactive.com/pnotify/
* ========================================================================
* Copyright 2014 Min Hur, The New York Times Company
* Licensed under MIT
- * ======================================================================== */.checkbox label .toggle,.editable-input .editable-checklist>div>label label .toggle,.editable-input .editable-checklist>div>label>span .toggle,.checkbox-inline .toggle{margin-left:-20px;margin-right:5px}.toggle{position:relative;overflow:hidden}.toggle input[type="checkbox"]{display:none}.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left 0.18s ease-in-out;-webkit-transition:left 0.18s ease-in-out;-moz-user-select:none;-webkit-user-select:none}.toggle.off .toggle-group{left:-100%}.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0}.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px;background:#54585a}.toggle.btn{min-width:59px;min-height:34px}.toggle-on.btn{padding-right:24px}.toggle-off.btn{padding-left:24px}.toggle.btn-lg,.btn-group-lg>.toggle.btn{min-width:79px;min-height:45px}.toggle-on.btn-lg,.btn-group-lg>.toggle-on.btn{padding-right:31px}.toggle-off.btn-lg,.btn-group-lg>.toggle-off.btn{padding-left:31px}.toggle-handle.btn-lg,.btn-group-lg>.toggle-handle.btn{width:40px}.toggle.btn-sm,.btn-group-sm>.toggle.btn{min-width:50px;min-height:28px}.toggle-on.btn-sm,.btn-group-sm>.toggle-on.btn{padding-right:10px;padding-left:0}.toggle-off.btn-sm,.btn-group-sm>.toggle-off.btn{padding-left:10px;padding-right:0}.toggle.btn-xs,.btn-group-xs>.toggle.btn{min-width:35px;min-height:22px}.toggle-on.btn-xs,.btn-group-xs>.toggle-on.btn{padding-right:5px}.toggle-off.btn-xs,.btn-group-xs>.toggle-off.btn{padding-left:5px}.checkbox,.editable-input .editable-checklist>div>label{padding-left:20px}.checkbox label,.editable-input .editable-checklist>div>label label,.editable-input .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.checkbox label::before,.editable-input .editable-checklist>div>label label::before,.editable-input .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:3px;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease;transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease}.checkbox label::after,.editable-input .editable-checklist>div>label label::after,.editable-input .editable-checklist>div>label>span::after{font-family:"Font Awesome 5 Free";content:"\f00c";font-weight:bold;display:inline-block;position:absolute;width:16px;height:16px;left:0;top:0;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease-out;will-change:transform, opacity;margin-left:-20px;padding-left:3px;padding-top:1px;font-size:calc(100% - 1px);color:#adadad}.checkbox input[type="checkbox"],.editable-input .editable-checklist>div>label input[type="checkbox"],.checkbox input[type="radio"],.editable-input .editable-checklist>div>label input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{font-family:"Font Awesome 5 Free";content:"\f00c"}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{transform:scale(1) rotateZ(0deg);opacity:1}.checkbox input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{display:block;content:"";width:10px;height:3px;background-color:#555555;border-radius:2px;margin-left:-16.5px;margin-top:7px}.checkbox input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span,.checkbox input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.checkbox input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span::before,.checkbox input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before{background-color:#3c3f41;cursor:not-allowed}.checkbox.checkbox-circle label::before,.editable-input .editable-checklist>div>label.checkbox-circle label::before,.checkbox.checkbox-circle .editable-input .editable-checklist>div>label>span::before,.editable-input .checkbox.checkbox-circle .editable-checklist>div>label>span::before,.editable-input .editable-checklist>div>label.checkbox-circle .editable-checklist>div>label>span::before{border-radius:50%}.checkbox.checkbox-inline,.editable-input .editable-checklist>div>label.checkbox-inline{margin-top:0}.checkbox-primary input[type="checkbox"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-primary input[type="radio"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-primary input[type="radio"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-danger input[type="checkbox"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-danger input[type="radio"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-danger input[type="radio"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-info input[type="checkbox"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-info input[type="radio"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-info input[type="radio"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-warning input[type="checkbox"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-warning input[type="radio"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-warning input[type="radio"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-success input[type="checkbox"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-success input[type="radio"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-success input[type="radio"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-primary input[type="checkbox"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-primary input[type="radio"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-primary input[type="radio"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-danger input[type="checkbox"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-danger input[type="radio"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-danger input[type="radio"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-info input[type="checkbox"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-info input[type="radio"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-info input[type="radio"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-warning input[type="checkbox"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-warning input[type="radio"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-warning input[type="radio"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-success input[type="checkbox"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-success input[type="radio"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-success input[type="radio"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.radio{padding-left:20px}.radio label,.radio .editable-input .editable-checklist>div>label>span,.editable-input .radio .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.radio label::before,.radio .editable-input .editable-checklist>div>label>span::before,.editable-input .radio .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:50%;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease;transition:border 0.18s ease,color 0.18s ease}.radio label::after,.radio .editable-input .editable-checklist>div>label>span::after,.editable-input .radio .editable-checklist>div>label>span::after{display:inline-block;position:absolute;content:" ";width:11px;height:11px;left:3px;top:3px;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease;will-change:transform, opacity;margin-left:-20px;border-radius:50%;background-color:#adadad;-webkit-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition:-webkit-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-moz-transition:-moz-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-o-transition:-o-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);transition:transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33)}.radio input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.radio input[type="radio"]:checked+label::after,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:checked+span::after{-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);opacity:1}.radio input[type="radio"]:disabled+label,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.radio input[type="radio"]:disabled+label::before,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span::before{cursor:not-allowed}.radio.radio-inline{margin-top:0}.radio-primary input[type="radio"]+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#375959}.radio-primary input[type="radio"]:checked+label::before,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#375959}.radio-primary input[type="radio"]:checked+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#375959}.radio-danger input[type="radio"]+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#a52521}.radio-danger input[type="radio"]:checked+label::before,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#a52521}.radio-danger input[type="radio"]:checked+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#a52521}.radio-info input[type="radio"]+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#316490}.radio-info input[type="radio"]:checked+label::before,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#316490}.radio-info input[type="radio"]:checked+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#316490}.radio-warning input[type="radio"]+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::before,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#e28a0d}.radio-success input[type="radio"]+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::before,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#4f9e4f}input[type="checkbox"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="checkbox"].styled:checked+span:after,input[type="radio"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="radio"].styled:checked+span:after{font-family:"Font Awesome 5 Free";content:"\f00c"}input[type="checkbox"] .styled:checked+label::before,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::before,input[type="radio"] .styled:checked+label::before,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::before{color:#fff}input[type="checkbox"] .styled:checked+label::after,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::after,input[type="radio"] .styled:checked+label::after,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::after{color:#fff}html{margin:0;padding:0;height:100%;position:relative}body{margin:0;padding:0;min-height:100%;direction:ltr}body.mobile-view-activated.hidden-menu{overflow-x:hidden}body.modal-open{overflow:hidden !important}a:hover,a:active,a:focus,button,button:active,button:focus,object,embed,input::-moz-focus-inner{outline:0}h1,h3,h4{margin:0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.page-title{margin:12px 0 28px}.page-title span{font-size:15px;color:#313335;display:inline-block;vertical-align:1px}label,.editable-input .editable-checklist>div>label>span{font-weight:normal}*:not(td):focus{outline:0 !important}a,input,button{-ms-touch-action:none !important}textarea:focus,select:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{outline:0;outline:thin dotted \9;box-shadow:inset -1px 1px 5px 0 rgba(0,0,0,0.8) !important}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-xs,.form-control{border-radius:0px !important;-webkit-border-radius:0px !important;-moz-border-radius:0px !important}.input-xs{height:24px;padding:2px 10px;font-size:11px;line-height:1.5}.btn-xs,.btn-group-xs>.btn{padding:0px 2px;font-size:10px;line-height:1.3}.btn-sm,.btn-group-sm>.btn{padding:5px 8px 4px}.btn-lg,.btn-group-lg>.btn{padding:10px 16px}.no-space{margin:0}.no-space>[class*="col-"]{margin:0 !important;padding-right:0;padding-left:0}h1{letter-spacing:-1px;font-size:22px;margin:10px 0}h1 small{font-size:12px;font-weight:300;letter-spacing:-1px}h2{font-size:20px;margin:20px 0;line-height:normal}h3{display:block;font-size:17px;font-weight:400;margin:20px 0;line-height:normal}h4{line-height:normal;margin:20px 0 10px 0}h5{font-size:14px;font-weight:300;margin-top:0;margin-bottom:10px;line-height:normal}h6{font-size:13px;margin:10px 0;font-weight:bold;line-height:normal}.row-seperator-header{margin:15px 14px 20px;border-bottom:none;display:block;color:#303133;font-size:20px;font-weight:400}.center-canvas,.center-child-canvas>canvas{display:block !important;margin:0 auto !important}.form-control{box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.form hr{margin-left:-13px;margin-right:-13px;border-color:rgba(0,0,0,0.1);margin-top:20px;margin-bottom:20px}.form fieldset{display:block;border:none;background:rgba(255,255,255,0.9);position:relative}fieldset{position:relative}.popover-content .form-actions{margin:0 -14px -9px;border-radius:0 0 3px 3px;padding:9px 14px}.no-padding .form .form-actions{margin:0;display:block;padding:13px 14px 15px;border-top:1px solid rgba(0,0,0,0.1);background:rgba(248,248,248,0.9);text-align:right;margin-top:25px}.form header,legend{display:block;padding:8px 0;border-bottom:1px dashed rgba(0,0,0,0.2);background:#fff;font-size:16px;font-weight:300;color:#2b2b2b;margin:25px 0px 20px}.no-padding .form header{margin:25px 14px 0}.form header:first-child{margin-top:10px}legend{font-weight:400;margin-top:0px;background:none}.input-group-addon{padding:6px 10px;will-change:background-color, border-color;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-transition:all ease-out 0.15s;transition:all ease-out 0.15s}.input-group-addon .fa{font-size:14px}.input-group-addon .fa-lg,.input-group-addon .fa-2x{font-size:2em}.input-group-addon .fa-3x,.input-group-addon .fa-4x,.input-group-addon .fa-5x{font-size:30px}input[type="text"]:focus+.input-group-addon,input[type="password"]:focus+.input-group-addon,input[type="email"]:focus+.input-group-addon{border-color:#568a89;color:#568a89}.has-warning input[type="text"],.has-warning input[type="text"]+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]+.input-group-addon{background-color:#fbe3c0;color:#2b2b2b}.has-warning input[type="text"]:focus,.has-warning input[type="text"]:focus+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]:focus+.input-group-addon{background-color:#e28a0d;color:#fff}.has-error .input-group-addon{border-color:#d9534f !important;background:#d9534f !important;color:#2b2b2b !important}.has-success .input-group-addon{border-color:#4f9e4f !important;background-color:#2b2b2b !important;color:#4f9e4f !important}.form fieldset .form-group:last-child,.form fieldset .form-group:last-child .note,.form .form-group:last-child,.form .form-group:last-child .note{margin-bottom:0}.note{margin-top:6px;padding:0 1px;font-size:11px;line-height:15px;color:#7c8184}.input-icon-right>i,.input-icon-left>i{position:absolute;right:10px;top:10px;font-size:12px;color:#63676a}.input-icon-left>i{right:auto;left:24px}.input-icon-right .form-control{padding-right:27px}.input-icon-left .form-control{padding-left:29px}input[type="text"].ui-autocomplete-loading,input[type="password"].ui-autocomplete-loading,input[type="datetime"].ui-autocomplete-loading,input[type="datetime-local"].ui-autocomplete-loading,input[type="date"].ui-autocomplete-loading,input[type="month"].ui-autocomplete-loading,input[type="time"].ui-autocomplete-loading,input[type="week"].ui-autocomplete-loading,input[type="number"].ui-autocomplete-loading,input[type="email"].ui-autocomplete-loading,input[type="url"].ui-autocomplete-loading,input[type="search"].ui-autocomplete-loading,input[type="tel"].ui-autocomplete-loading,input[type="color"].ui-autocomplete-loading{background-image:url("../../img/select2-spinner.gif") !important;background-repeat:no-repeat;background-position:99% 50%;padding-right:27px}.input-group-addon .checkbox,.input-group-addon .editable-input .editable-checklist>div>label,.editable-input .input-group-addon .editable-checklist>div>label,.input-group-addon .radio{min-height:0px;margin-right:0px !important;padding-top:0}.input-group-addon label input[type="checkbox"].checkbox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.input-group-addon label input[type="radio"].radiobox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span,.input-group-addon label input[type="radio"].radiobox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.input-group-addon label input[type="checkbox"].checkbox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before{margin-right:0px}.alert{margin-bottom:10px;margin-top:0px;padding:5px 15px 5px 34px;color:#675100;border-width:0px;border-left-width:3px;padding:10px}.alert .ui-pnotify-title{line-height:12px}.alert .ui-pnotify-text{font-size:10px}.alert .close{top:0px;right:-5px;line-height:18px}.alert-heading{font-weight:600}.alert-danger{border-color:#a52521;color:#2b2b2b;background:#f6d1d0;text-shadow:none}.alert-danger .ui-pnotify-icon{color:#a52521}.alert-warning{border-color:#e28a0d;color:#2b2b2b;background:#fdedd8}.alert-warning .ui-pnotify-icon{color:#e28a0d}.alert-success{border-color:#4f9e4f;color:#2b2b2b;background:#d1e8d1}.alert-success .ui-pnotify-icon{color:#4f9e4f}.alert-info{border-color:#316490;color:#2b2b2b;background:#abc9e2}.alert-info .ui-pnotify-icon{color:#316490}.progress-micro{height:2px !important;line-height:2px !important}.progress-xs{height:7px !important;line-height:7px !important}.progress-sm{height:14px !important;line-height:14px !important}.progress-lg{height:30px !important;line-height:30px !important}.progress .progress-bar{position:absolute;overflow:hidden;line-height:18px}.progress .progressbar-back-text{position:absolute;width:100%;height:100%;font-size:12px;line-height:20px;text-align:center}.progress .progressbar-front-text{display:block;width:100%;font-size:12px;line-height:20px;text-align:center}.progress.right .progress-bar{right:0}.progress.right .progressbar-front-text{position:absolute;right:0}.progress.vertical{width:25px;height:100%;min-height:150px;margin-right:20px;display:inline-block;margin-bottom:0px}.progress.wide-bar{width:40px}.progress.vertical.bottom{position:relative}.progress.vertical.bottom .progressbar-front-text{position:absolute;bottom:0}.progress.vertical .progress-bar{width:100%;height:0;-webkit-transition:height 0.6s ease;transition:height 0.6s ease}.progress.vertical.bottom .progress-bar{position:absolute;bottom:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{position:relative;margin-bottom:20px;overflow:hidden;height:18px;background:#63676a;-webkit-box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;-moz-border-radius:0px;-webkit-border-radius:0px;border-radius:0px}.progress-bar{float:left;width:0;height:100%;font-size:11px;color:#fff;text-align:center;background-color:#428bca;font-weight:bold;-webkit-transition:width 1s ease-in-out,background-color 1s ease-in-out;transition:width 1s ease-in-out,background-color 1s ease-in-out}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-danger{background-color:#a52521}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-success{background-color:#4f9e4f}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-warning{background-color:#e28a0d}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-info{background-color:#316490}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-info .bar,.progress .bar-info{background:#316490}.vertical-bars{padding:0;margin:0}.vertical-bars:after{content:"";display:block;height:0;clear:both}.vertical-bars li{padding:14px 0;width:25%;display:block;float:left;text-align:center}.vertical-bars li:first-child{border-left:none}.vertical-bars>li>.progress.vertical:first-child{margin-left:auto}.vertical-bars>li>.progress.vertical{margin:0 auto;float:none}.nav-tabs{border-bottom:none}.nav-tabs>li>a .badge{font-size:11px;padding:3px 5px 3px 5px;opacity:.5;margin-left:5px;min-width:17px;font-weight:normal}.tabs-left .nav-tabs>li>a .badge{margin-right:5px;margin-left:0px}.nav-tabs>li>a .label{display:inline-block;font-size:11px;margin-left:5px;opacity:.5}.nav-tabs>li>a{color:#63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.nav-tabs>li>a:hover{color:#adadad;border-color:transparent transparent #63676a transparent;margin-top:1px;border-top-width:0}.nav-tabs>li.active>a{background-color:#adadad;color:#1d1d1d;border-top-width:0px !important;margin-top:1px !important;font-weight:bold}.tabs-left .nav-tabs>li.active>a{-webkit-box-shadow:-2px 0 0 #428bca;-moz-box-shadow:-2px 0 0 #428bca;box-shadow:-2px 0 0 #428bca;border-top-width:1px !important;border-left:none !important;margin-left:1px !important}.tabs-left .nav-pills>li.active>a{border:none !important;box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.tabs-right .nav-tabs>li.active>a{-webkit-box-shadow:2px 0 0 #428bca;-moz-box-shadow:2px 0 0 #428bca;box-shadow:2px 0 0 #428bca;border-top-width:1px !important;border-right:none !important;margin-right:1px !important}.tabs-below .nav-tabs>li.active>a{-webkit-box-shadow:0 2px 0 #428bca;-moz-box-shadow:0 2px 0 #428bca;box-shadow:0 2px 0 #428bca;border-bottom-width:0px !important;border-top:none !important;margin-top:0px !important}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li,.tabs-left>.nav-pills>li,.tabs-right>.nav-pills>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a,.tabs-left>.nav-pills>li>a,.tabs-right>.nav-pills>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs,.tabs-left>.nav-pills{float:left;margin-right:19px;border-right:1px solid #9b9b9b}.tabs-left>.nav-pills{border-right:none}.tabs-left>.nav-tabs>li>a{margin-right:-1px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#adadad #949494 #adadad #adadad}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#949494 transparent #949494 #9b9b9b;*border-right-color:#fff}.tabs-left>.tab-content{margin-left:109px}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #9b9b9b}.tabs-right>.nav-tabs>li>a{margin-left:-1px}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#adadad #adadad #adadad #9b9b9b}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#9b9b9b #9b9b9b #9b9b9b transparent;*border-left-color:#fff}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#9b9b9b;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #9b9b9b #9b9b9b #9b9b9b}.nav-tabs.bordered{background:#fff;border:1px solid #9b9b9b}.nav-tabs.bordered>:first-child a{border-left-width:0px !important}.nav-tabs.bordered+.tab-content{border:1px solid #9b9b9b;border-top:none}.tabs-pull-right.nav-tabs>li,.tabs-pull-right.nav-pills>li{float:right}.tabs-pull-right.nav-tabs>li:first-child>a,.tabs-pull-right.nav-pills>li:first-child>a{margin-right:1px}.tabs-pull-right.bordered.nav-tabs>li:first-child>a,.tabs-pull-right.bordered.nav-pills>li:first-child>a{border-left-width:1px !important;margin-right:0px;border-right-width:0px}.dropdown-menu-xs{min-width:37px}.dropdown-menu-xs>li>a{padding:3px 10px}.dropdown-menu-xs>li>a:hover i{color:#fff !important}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:hover>a{background-color:#63676a;color:#1d1d1d}.dropdown-submenu:hover a:after{border-left-color:#5cb85c}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#2b2b2b;margin-top:4px;margin-right:3px}.dropdown-submenu>a:hover:after{border-left-color:#adadad}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}.pagination>li>a,.pagination>li>span{box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05)}.btn-default.disabled{color:#adadad}.btn{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;will-change:background-color, border-color;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out;transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out}.btn.btn-ribbon{background-color:#707070;background-image:-moz-linear-gradient(top, #777, #666);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#777), to(#666));background-image:-webkit-linear-gradient(top, #777, #666);background-image:-o-linear-gradient(top, #777, #666);background-image:linear-gradient(to bottom, #777777,#666666);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff777777', endColorstr='#ff666666', GradientType=0);color:white;padding:0 5px;line-height:20px;vertical-align:middle;height:20px;display:block;border:none;float:left;margin:0 8px 0 0;cursor:pointer}.btn.btn-ribbon>i{font-size:111%}.ribbon-button-alignment{padding-top:10px;display:inline-block}.ribbon-button-alignment.pull-right>.btn.btn-ribbon{margin:0 0 0 8px}.panel-purple{border-color:#6e587a}.panel-purple>.panel-heading{color:#fff;background-color:#6e587a;border-color:#6e587a}.panel-greenLight{border-color:#71843f}.panel-greenLight>.panel-heading{color:#fff;background-color:#71843f;border-color:#71843f}.panel-greenDark{border-color:#496949}.panel-greenDark>.panel-heading{color:#fff;background-color:#496949;border-color:#496949}.panel-darken{border-color:#313335}.panel-darken>.panel-heading{color:#fff;background-color:#404040;border-color:#404040}.panel-green{border-color:#5cb85c}.panel-green>.panel-heading{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.panel-red{border-color:#d9534f}.panel-red>.panel-heading{color:#fff;background-color:#d9534f;border-color:#d9534f}.panel-teal{border-color:#568a89}.panel-teal>.panel-heading{color:#fff;background-color:#568a89;border-color:#568a89}.panel-orange{border-color:#e28a0d}.panel-orange>.panel-heading{color:#fff;background-color:#e28a0d;border-color:#e28a0d}.panel-blueDark{border-color:#4c4f53}.panel-blueDark>.panel-heading{color:#fff;background-color:#4c4f53;border-color:#4c4f53}.panel-magenta{border-color:#6e3671}.panel-magenta>.panel-heading{color:#fff;background-color:#6e3671;border-color:#6e3671}.panel-blue{border-color:#428bca}.panel-blue>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-footer>.btn-block{border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px;border-bottom:none;border-left:none;border-right:none}.btn-circle{width:30px;height:30px;text-align:center;padding:6px 0;font-size:12px;line-height:18px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12);box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12)}.btn-circle.btn-sm,.btn-group-sm>.btn-circle.btn{width:22px;height:22px;padding:4px 0;font-size:12px;line-height:14px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-lg,.btn-group-lg>.btn-circle.btn{width:50px;height:50px;padding:10px 15px;font-size:18px;line-height:30px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-xl{width:70px;height:70px;padding:10px 15px;font-size:24px;line-height:50px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-label{position:relative;left:-8px;display:inline-block;padding:5px 8px;background:rgba(0,0,0,0.15);border-radius:2px 0 0 2px}.btn-labeled{padding-top:0;padding-bottom:0;padding-left:8px}.btn-link{box-shadow:none;-webkit-box-shadow:none;font-size:13px}.morris-hover.morris-default-style{border-radius:5px;padding:5px;color:#666;background:rgba(29,29,29,0.9);border:solid 2px #375959;font-family:'Oxygen Bold';font-size:10px;text-align:left;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold}.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap}.morris-hover{position:absolute;z-index:903}.fixed-page-footer .morris-hover{z-index:900}.txt-color.txt-color-blue,.txt-color-blue.pf-help-light,.pf-help-light:hover,.txt-color-blue.pf-help,.pf-help:hover,.txt-color.pf-help-default:hover,.dataTable td.pf-help-default.pf-table-link-cell:hover,.dataTable td.pf-table-link-cell.pf-help-light:hover,.dataTable td.pf-table-link-cell.pf-help:hover,.dataTable td.pf-table-action-cell>.pf-help-default.pf-table-action-icon-cell:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help:hover,.pf-landing .pf-landing-list li>i.pf-help-default:hover,.pf-landing .pf-landing-list li>i.pf-help-light:hover,.pf-landing .pf-landing-list li>i.pf-help:hover,.dataTable td.txt-color-blue.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blue.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blue{color:#428bca !important}.txt-color.txt-color-blueLight,.txt-color-blueLight.pf-help-light,.txt-color-blueLight.pf-help,.dataTable td.txt-color-blueLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueLight{color:#92a2a8 !important}.txt-color.txt-color-blueDark,.txt-color-blueDark.pf-help-light,.txt-color-blueDark.pf-help,.dataTable td.txt-color-blueDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueDark{color:#4c4f53 !important}.txt-color.txt-color-grayLightest,.txt-color-grayLightest.pf-help-light,.txt-color-grayLightest.pf-help,.dataTable td.txt-color-grayLightest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLightest{color:#eaeaea !important}.txt-color.txt-color-grayLighter,.txt-color-grayLighter.pf-help-light,.txt-color-grayLighter.pf-help,.dataTable td.txt-color-grayLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLighter{color:#adadad !important}.txt-color.txt-color-grayLight,.pf-help-light,.txt-color-grayLight.pf-help,.dataTable td.txt-color-grayLight.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help-light,.dataTable td.pf-table-action-cell>.txt-color-grayLight.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light,.pf-landing .pf-landing-list li>i.txt-color-grayLight,.pf-landing .pf-landing-list li>i.pf-help-light{color:#63676a !important}.txt-color.txt-color-gray,.txt-color-gray.pf-help-light,.pf-help,.dataTable td.txt-color-gray.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gray,.pf-landing .pf-landing-list li>i.pf-help{color:#3c3f41 !important}.txt-color.txt-color-grayDark,.txt-color-grayDark.pf-help-light,.txt-color-grayDark.pf-help,.dataTable td.txt-color-grayDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayDark{color:#313335 !important}.txt-color.txt-color-greenLight,.txt-color-greenLight.pf-help-light,.txt-color-greenLight.pf-help,.dataTable td.txt-color-greenLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenLight{color:#66c84f !important}.txt-color.txt-color-green,.txt-color-green.pf-help-light,.pf-help-light.pf-log-info,.txt-color-green.pf-help,.pf-help.pf-log-info,.dataTable td.txt-color-green.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-info,.dataTable td.pf-table-action-cell>.txt-color-green.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-info,.txt-color.pf-log-info,.pf-landing .pf-landing-list li>i.pf-log-info,.pf-landing .pf-landing-list li>i.txt-color-green{color:#5cb85c !important}.txt-color.txt-color-greenDark,.txt-color-greenDark.pf-help-light,.txt-color-greenDark.pf-help,.dataTable td.txt-color-greenDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenDark{color:#4f9e4f !important}.txt-color.txt-color-redLight,.txt-color-redLight.pf-help-light,.txt-color-redLight.pf-help,.dataTable td.txt-color-redLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redLight{color:#a65858 !important}.txt-color.txt-color-red,.txt-color-red.pf-help-light,.pf-help-light.pf-log-error,.txt-color-red.pf-help,.pf-help.pf-log-error,.dataTable td.txt-color-red.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-error,.dataTable td.pf-table-action-cell>.txt-color-red.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-error,.txt-color.pf-log-error,.pf-landing .pf-landing-list li>i.pf-log-error,.pf-landing .pf-landing-list li>i.txt-color-red{color:#d9534f !important}.txt-color.txt-color-redDarker,.txt-color-redDarker.pf-help-light,.txt-color-redDarker.pf-help,.dataTable td.txt-color-redDarker.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redDarker.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redDarker{color:#a52521 !important}.txt-color.txt-color-yellow,.txt-color-yellow.pf-help-light,.txt-color-yellow.pf-help,.dataTable td.txt-color-yellow.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellow.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellow{color:#e2ce48 !important}.txt-color.txt-color-yellowDark,.txt-color-yellowDark.pf-help-light,.txt-color-yellowDark.pf-help,.dataTable td.txt-color-yellowDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellowDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellowDark{color:#c8b847 !important}.txt-color.txt-color-orangeLight,.txt-color-orangeLight.pf-help-light,.txt-color-orangeLight.pf-help,.dataTable td.txt-color-orangeLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeLight{color:#f0ad4e !important}.txt-color.txt-color-orange,.txt-color-orange.pf-help-light,.txt-color-orange.pf-help,.dataTable td.txt-color-orange.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orange.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell:hover>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orange{color:#e28a0d !important}.txt-color.txt-color-orangeDark,.txt-color-orangeDark.pf-help-light,.txt-color-orangeDark.pf-help,.dataTable td.txt-color-orangeDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeDark{color:#c2760c !important}.txt-color.txt-color-pink,.txt-color-pink.pf-help-light,.txt-color-pink.pf-help,.dataTable td.txt-color-pink.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pink.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pink{color:#e06fdf !important}.txt-color.txt-color-pinkDark,.txt-color-pinkDark.pf-help-light,.txt-color-pinkDark.pf-help,.dataTable td.txt-color-pinkDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pinkDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pinkDark{color:#a8829f !important}.txt-color.txt-color-purple,.txt-color-purple.pf-help-light,.txt-color-purple.pf-help,.dataTable td.txt-color-purple.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-purple.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-purple{color:#6e587a !important}.txt-color.txt-color-darken,.txt-color-darken.pf-help-light,.txt-color-darken.pf-help,.dataTable td.txt-color-darken.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-darken.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-darken{color:#404040 !important}.txt-color.txt-color-lighten,.txt-color-lighten.pf-help-light,.txt-color-lighten.pf-help,.dataTable td.txt-color-lighten.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-lighten.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-lighten{color:#d5e7ec !important}.txt-color.txt-color-white,.txt-color-white.pf-help-light,.txt-color-white.pf-help,.dataTable td.txt-color-white.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-white.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-white{color:#fff !important}.txt-color.txt-color-magenta,.txt-color-magenta.pf-help-light,.txt-color-magenta.pf-help,.dataTable td.txt-color-magenta.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-magenta.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-magenta{color:#6e3671 !important}.txt-color.txt-color-tealLightest,.txt-color-tealLightest.pf-help-light,.txt-color-tealLightest.pf-help,.dataTable td.txt-color-tealLightest.pf-table-link-cell,.dataTable td.pf-table-link-cell:hover,.dataTable td.pf-table-action-cell>.txt-color-tealLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-tealLightest{color:#6caead !important}.txt-color.txt-color-tealLighter,.txt-color-tealLighter.pf-help-light,.txt-color-tealLighter.pf-help,.dataTable td.txt-color-tealLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-tealLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i{color:#568a89 !important}.txt-color.txt-color-teal,.txt-color-teal.pf-help-light,.txt-color-teal.pf-help,.dataTable td.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-teal.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>td.pf-table-action-icon-cell.pf-table-link-cell,.pf-landing .pf-landing-list li>i.txt-color-teal{color:#477372 !important}.txt-color.txt-color-indigoDark,.txt-color-indigoDark.pf-help-light,.txt-color-indigoDark.pf-help,.dataTable td.txt-color-indigoDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDark{color:#5c6bc0 !important}.txt-color.txt-color-indigoDarkest,.txt-color-indigoDarkest.pf-help-light,.txt-color-indigoDarkest.pf-help,.dataTable td.txt-color-indigoDarkest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDarkest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDarkest{color:#313966 !important}.txt-color.txt-color-gold,.txt-color-gold.pf-help-light,.txt-color-gold.pf-help,.dataTable td.txt-color-gold.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-gold.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gold{color:#cfb53b !important}.txt-color.txt-color-silver,.txt-color-silver.pf-help-light,.txt-color-silver.pf-help,.dataTable td.txt-color-silver.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-silver.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-silver{color:silver !important}.txt-color.txt-color-bronze,.txt-color-bronze.pf-help-light,.txt-color-bronze.pf-help,.dataTable td.txt-color-bronze.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-bronze.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-bronze{color:#8c7853 !important}.txt-color.txt-color-primary,.txt-color-primary.pf-help-light,.txt-color-primary.pf-help,.dataTable td.txt-color-primary.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-primary.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-primary{color:#375959 !important}.txt-color.txt-color-success,.txt-color-success.pf-help-light,.txt-color-success.pf-help,.dataTable td.txt-color-success.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-success.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-success{color:#4f9e4f !important}.txt-color.txt-color-information,.txt-color-information.pf-help-light,.txt-color-information.pf-help,.dataTable td.txt-color-information.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-information.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-information{color:#316490 !important}.txt-color.txt-color-info,.txt-color-info.pf-help-light,.txt-color-info.pf-help,.dataTable td.txt-color-info.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-info.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-info{color:#316490 !important}.txt-color.txt-color-warning,.txt-color-warning.pf-help-light,.pf-help-light.pf-log-warning,.txt-color-warning.pf-help,.pf-help.pf-log-warning,.dataTable td.txt-color-warning.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-warning,.dataTable td.pf-table-action-cell>.txt-color-warning.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-warning,.txt-color.pf-log-warning,.pf-landing .pf-landing-list li>i.pf-log-warning,.pf-landing .pf-landing-list li>i.txt-color-warning{color:#e28a0d !important}.txt-color.txt-color-danger,.txt-color-danger.pf-help-light,.txt-color-danger.pf-help,.dataTable td.txt-color-danger.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-danger.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-danger{color:#a52521 !important}.bg-color.bg-color-blue{background-color:#428bca !important}.bg-color.bg-color-blueLight{background-color:#92a2a8 !important}.bg-color.bg-color-blueDark{background-color:#4c4f53 !important}.bg-color.bg-color-green{background-color:#5cb85c !important}.bg-color.bg-color-greenLight{background-color:#71843f !important}.bg-color.bg-color-greenDark{background-color:#496949 !important}.bg-color.bg-color-red{background-color:#d9534f !important}.bg-color.bg-color-yellow{background-color:#e2ce48 !important}.bg-color.bg-color-orange{background-color:#e28a0d !important}.bg-color.bg-color-orangeDark{background-color:#c2760c !important}.bg-color.bg-color-pink{background-color:#e06fdf !important}.bg-color.bg-color-pinkDark{background-color:#a8829f !important}.bg-color.bg-color-purple{background-color:#6e587a !important}.bg-color.bg-color-darken{background-color:#404040 !important}.bg-color.bg-color-lighten{background-color:#d5e7ec !important}.bg-color.bg-color-white{background-color:#fff !important}.bg-color.bg-color-gray{background-color:#3c3f41 !important}.bg-color.bg-color-grayDark{background-color:#525252 !important}.bg-color.bg-color-grayDarker{background-color:#2b2b2b !important}.bg-color.bg-color-magenta{background-color:#6e3671 !important}.bg-color.bg-color-tealLighter{background-color:#568a89 !important}.bg-color.bg-color-tealDarker{background-color:#212C30 !important}.bg-color.bg-color-tealDarkest{background-color:#1b2326 !important}.bg-color.bg-color-redLight{background-color:#a65858 !important}.pf-animation-slide-in{-moz-animation-duration:1.2s;-webkit-animation-duration:1.2s;-moz-animation-name:pfSlideIn;-webkit-animation-name:pfSlideIn;position:relative}@-webkit-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-moz-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-ms-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-webkit-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-moz-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-ms-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}.pf-animation-pulse-success{-webkit-animation:pulseBackgroundSuccess 1s 1;animation:pulseBackgroundSuccess 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-success .sorting_1{-webkit-animation:pulseBackgroundSuccessActive 1s 1;animation:pulseBackgroundSuccessActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning{-webkit-animation:pulseBackgroundWarning 1s 1;animation:pulseBackgroundWarning 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning .sorting_1{-webkit-animation:pulseBackgroundWarningActive 1s 1;animation:pulseBackgroundWarningActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}@-webkit-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-moz-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-ms-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-webkit-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-moz-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-ms-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-webkit-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}.pf-animate-rotate,.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{-webkit-transition:all 0.08s linear;transition:all 0.08s linear}.pf-animate-rotate.right,.modal-content h2.right[data-toggle="collapse"]:after,.modal-content h4.right[data-toggle="collapse"]:after,.panel-body h2.right[data-toggle="collapse"]:after,.panel-body h4.right[data-toggle="collapse"]:after{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.pf-animate-rotate.left,.modal-content h2.left[data-toggle="collapse"]:after,.modal-content h4.left[data-toggle="collapse"]:after,.panel-body h2.left[data-toggle="collapse"]:after,.panel-body h4.left[data-toggle="collapse"]:after{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}@font-face{font-family:'Triglavian';font-style:normal;font-weight:900;src:url("../../fonts/triglavian-regular.eot");src:url("../../fonts/triglavian-regular.eot?#iefix") format("embedded-opentype"),url("../../fonts/triglavian-regular.woff2") format("woff2"),url("../../fonts/triglavian-regular.woff") format("woff"),url("../../fonts/triglavian-regular.ttf") format("truetype")}.pf-triglivian{font-family:'Triglavian';font-weight:900}body{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.pf-body{overflow:hidden}a,.pf-link{color:#477372;will-change:color;text-decoration:none;cursor:pointer;-webkit-transition:color 0.08s ease-out,background-color 0.08s ease-out;transition:color 0.08s ease-out,background-color 0.08s ease-out}a:hover,.pf-link:hover{color:#6caead;text-decoration:none}a:focus,.pf-link:focus{color:#477372}em{font-style:italic}em.pf-brand{text-transform:uppercase}.pf-font-capitalize{text-transform:capitalize}.pf-font-line-through{text-decoration:line-through}.no-padding{padding:0 !important}::-webkit-scrollbar{display:none;width:16px;height:16px}::-webkit-scrollbar-track{background-color:#2b2b2b;border-left:1px solid #313335;border-radius:2px;-webkit-transition:background-color 0.5s;transition:background-color 0.5s}::-webkit-scrollbar-thumb{height:6px;border:5px solid transparent;background-clip:padding-box;-webkit-border-radius:8px;background-color:#868c90}::-webkit-scrollbar-thumb:hover{background-color:#a1a5a8}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}::selection{background:#adadad;color:#1d1d1d}::-moz-selection{background:#adadad;color:#1d1d1d}.pf-help-default,.pf-help-light,.pf-help{cursor:help;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.pf-dialog-icon-button,.pf-signature-table-module .pf-sig-table .pf-sig-table-edit-desc-text.editable-empty,.pf-signature-table-module .pf-sig-table .fa-plus,.pf-system-route-module .pf-system-route-table td .fa-sync,.pf-system-route-module .pf-system-route-table td .fa-search{cursor:pointer;margin-top:2px;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-dialog-icon-button:not(.collapsed),.pf-signature-table-module .pf-sig-table .pf-sig-table-edit-desc-text.editable-empty:not(.collapsed),.pf-signature-table-module .pf-sig-table .fa-plus:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-sync:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-search:not(.collapsed),.pf-dialog-icon-button:hover,.pf-signature-table-module .pf-sig-table .pf-sig-table-edit-desc-text.editable-empty:hover,.pf-signature-table-module .pf-sig-table .fa-plus:hover,.pf-system-route-module .pf-system-route-table td .fa-sync:hover,.pf-system-route-module .pf-system-route-table td .fa-search:hover{color:#e28a0d}.pf-module-icon-button{cursor:pointer;color:#63676a;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-module-icon-button:hover,.pf-module-icon-button.active{color:#e28a0d !important}.pf-module-icon-button.editable{border-bottom:none !important}.pf-module-icon-button-copy{cursor:copy;-moz-user-select:text;user-select:text}a.disabled{color:#777;pointer-events:none;cursor:default}.alert{will-change:opacity, transform}.editable-input optgroup[label]{background-color:#3c3f41;color:#63676a}.editable-input optgroup[label] option{background-color:#313335;color:#adadad;font-family:Consolas,monospace,Menlo,Monaco,"Courier New"}.editable-input .editable-checklist>div>label{display:block !important;padding-left:20px !important;color:#adadad}.editable-input .editable-checklist>div>label>span:after{top:-2px}.editable-input .editable-checklist .pf-editable-unknown[value='0']+span{color:#d9534f}select:active,select:hover{outline:none}select:active,select:hover{outline-color:red}.select2-results .select2-results__options--nested .select2-results__option{padding-left:15px}.select2-results [class*="col-"]{padding-left:3px;padding-right:3px}.select2-results .clearfix.pf-result-image [class*="col-"]{line-height:22px}.select2 ::-webkit-search-cancel-button{-webkit-appearance:none !important}.select2 .select2-selection__choice__remove{float:left}.select2 .select2-selection--multiple input{box-shadow:none !important}.dataTables_wrapper .dataTables_length select{margin:0 3px}.dataTables_wrapper .dt-buttons .dt-button{padding:0 5px}.dataTables_wrapper .dt-buttons .dt-button:not(:last-child){margin-right:10px}.dataTables_wrapper .dt-buttons .dt-button .fa{margin-right:5px}.dataTable th.pf-table-image-cell,.dataTable th.pf-table-image-small-cell,.dataTable th.pf-table-image-smaller-cell{padding-left:0 !important;padding-right:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable th.sorting,.dataTable th.sorting_asc,.dataTable th.sorting_desc{padding-right:18px !important}.dataTable tr.group{background-color:rgba(43,43,43,0.4)}.dataTable td:focus-within{outline:1px solid #c2760c;background-color:rgba(194,118,12,0.08) !important;outline-offset:-1px}.dataTable td>.fa-circle{font-size:9px !important}.dataTable td.pf-table-link-cell{cursor:pointer;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-action-cell{cursor:pointer}.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell{-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-image-cell{padding:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable td.pf-table-image-cell img{width:26px;box-sizing:content-box;border-left:1px solid #3c3f41;border-right:1px solid #3c3f41}.dataTable td.pf-table-image-small-cell img{width:24px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-image-smaller-cell{padding:0 !important}.dataTable td.pf-table-image-smaller-cell img{width:25px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-button-sm-cell{padding:0 5px}.dataTable td.pf-table-counter-cell{color:#63676a}.dataTable td.pf-table-counter-cell .pf-digit-counter-small{width:20px;display:inline-block;font-size:10px}.dataTable td.pf-table-counter-cell .pf-digit-counter-large{width:26px;display:inline-block;font-size:10px}.dataTable td .pf-table-unknown-cell{color:#d9534f;font-style:italic}.dataTable td .pf-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataTable td .pf-table-cell-80{width:90px}.dataTable td .pf-table-cell-90{width:100px}.dataTable td .pf-table-cell-100{width:110px}.dataTable td.separator-right,.dataTable th.separator-right{border-right:1px solid #3c3f41}.dataTable td svg.peity,.dataTable th svg.peity{display:block}table.pf-table-fixed{width:100%;table-layout:fixed}table tr.collapsing{-webkit-transition:height 0.01s ease;transition:height 0.01s ease}table tr.collapse.in{display:table-row !important}table td.pf-table-cell-10,table th.pf-table-cell-10{width:10px}table td.pf-table-cell-20,table th.pf-table-cell-20{width:20px}table td.pf-table-cell-ellipses-auto,table th.pf-table-cell-ellipses-auto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-table-tools{height:45px}.pf-table-tools>.btn-labeled:not(:last-child){margin-right:10px}.pf-table-tools-action{will-change:height, opacity;opacity:0;display:none;height:0;overflow:hidden}.pf-loading-overlay{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;background:#2b2b2b;z-index:1060;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-loading-overlay .pf-loading-overlay-wrapper{width:25px;height:25px;margin:auto;text-align:center;position:absolute;top:0;left:0;bottom:0;right:0}.pf-loading-overlay .pf-loading-overlay-wrapper i{padding:3px}.navbar-header-block{width:100%}.navbar-header-block .navbar-nav{width:100%}.navbar-nav li:not(.disabled):not(.hide-before):hover:before,.navbar-nav li:not(.disabled):not(.hide-before).active:before{top:-4px;opacity:1}.navbar-nav li:not(.disabled):not(.hide-before):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,top;-webkit-transition:top 0.15s ease-out,opacity 0.15s ease-out;transition:top 0.15s ease-out,opacity 0.15s ease-out;width:100%;height:2px;top:0}.pf-navbar-version-info{cursor:pointer}.pf-site{will-change:transform}.sb-slidebar{will-change:transform}.sb-left .list-group-item{cursor:pointer;-webkit-box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4)}.sb-right .list-group-item{cursor:pointer;-webkit-box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4)}.list-group-item.disabled:after{content:'\f023';font-family:'Font Awesome 5 Free';font-weight:bold;color:#2b2b2b;position:absolute;right:8px}.mCSB_container,.mCSB_dragger{will-change:top, left}.pf-timestamp-counter{visibility:hidden}.pf-map-type-private{color:#7986cb}.pf-map-type-corporation{color:#5cb85c}.pf-map-type-alliance{color:#428bca}.pf-map-type-global{color:#568a89}#pf-map-module{margin:20px 10px 0 10px}#pf-map-module #pf-map-tabs a[role="tab"]:hover .pf-map-tab-handler:before{color:#e28a0d}#pf-map-module #pf-map-tabs .pf-map-tab-handler:before{content:'\22EE\22EE\00A0';display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;color:#63676a;width:12px;transition:color 0.15s ease-out, background-color 0.15s ease-out;pointer-events:all}#pf-map-module #pf-map-tabs .pf-map-type-tab-default{border-top:2px solid transparent}#pf-map-module #pf-map-tabs .pf-map-type-tab-private{border-top:2px solid #7986cb}#pf-map-module #pf-map-tabs .pf-map-type-tab-corporation{border-top:2px solid #5cb85c}#pf-map-module #pf-map-tabs .pf-map-type-tab-alliance{border-top:2px solid #428bca}#pf-map-module #pf-map-tabs .pf-map-type-tab-global{border-top:2px solid #568a89}#pf-map-module #pf-map-tabs .pf-map-tab-icon{margin-right:3px}#pf-map-module #pf-map-tabs .pf-map-tab-shared-icon{margin-left:3px}.pf-map-content-row{margin-top:10px;padding-bottom:40px}.pf-map-content-row .pf-module{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background:rgba(60,63,65,0.27);padding:10px;width:100%;margin-bottom:10px;will-change:height, transform, opacity;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-content-row .pf-module:before{content:'';position:absolute;top:0;left:0;border-style:solid;border-width:0 0 8px 8px;border-color:transparent transparent transparent #3c3f41;cursor:ns-resize}.pf-map-content-row .pf-module .label{margin-bottom:10px}.pf-map-content-row .pf-module .pf-dynamic-area{background:rgba(43,43,43,0.4)}.pf-map-content-row .pf-module .pf-module-head{margin-bottom:10px}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag{display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;transition:color 0.15s ease-out}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:before{content:'\22EE\22EE\00A0'}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:hover{color:#f0ad4e}.pf-map-content-row .pf-module .pf-module-head h5{display:inline-block;line-height:16px;margin-bottom:0}.pf-map-content-row .pf-module .pf-module-head h5 .pf-module-icon-button{margin-left:5px}.pf-map-content-row .pf-module .pf-module-table{font-size:11px;white-space:nowrap}.pf-map-content-row .pf-module-spacer{margin-bottom:10px}.pf-user-status{color:#a52521}.pf-user-status-corp{color:#5cb85c}.pf-user-status-ally{color:#428bca}.pf-user-status-own{color:#7986cb}.pf-system-effect{display:none;color:#adadad;cursor:help}.pf-system-effect-magnetar{color:#e06fdf;display:inline-block}.pf-system-effect-redgiant{color:#d9534f;display:inline-block}.pf-system-effect-pulsar{color:#428bca;display:inline-block}.pf-system-effect-wolfrayet{color:#e28a0d;display:inline-block}.pf-system-effect-cataclysmic{color:#ffb;display:inline-block}.pf-system-effect-blackhole{color:#000;display:inline-block}.pf-rally,.pf-system-info-rally .pf-system-head{text-shadow:1px 1px 2px #1d1d1d;background-color:#782d77;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjEuMCIgeDI9IjAuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiMzZTI2NGUiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzNlMjY0ZSIvPjxzdG9wIG9mZnNldD0iNzUlIiBzdG9wLWNvbG9yPSIjM2UyNjRlIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-moz-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:-webkit-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:linear-gradient(-45deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:25px 25px;-webkit-animation:move 2.5s linear infinite;-moz-animation:move 2.5s linear infinite;-ms-animation:move 2.5s linear infinite;animation:move 2.5s linear infinite}.pf-system-security-0-0{color:#be0000}.pf-system-security-0-1{color:#ab2600}.pf-system-security-0-2{color:#be3900}.pf-system-security-0-3{color:#c24e02}.pf-system-security-0-4{color:#ab5f00}.pf-system-security-0-5{color:#bebe00}.pf-system-security-0-6{color:#73bf26}.pf-system-security-0-7{color:#00bf00}.pf-system-security-0-8{color:#00bf39}.pf-system-security-0-9{color:#39bf99}.pf-system-security-1-0{color:#28c0bf}.pf-system-sec{margin-right:5px;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.pf-system-sec-highSec{color:#5cb85c}.pf-system-sec-lowSec{color:#e28a0d}.pf-system-sec-nullSec{color:#d9534f}.pf-system-sec-high{color:#d9534f}.pf-system-sec-mid{color:#e28a0d}.pf-system-sec-low{color:#428bca}.pf-system-sec-unknown{color:#7986cb}.pf-system-sec-abyssal{color:#e06fdf}.pf-system-status-friendly{border-color:#428bca !important;color:#428bca}.pf-system-status-occupied{border-color:#e28a0d !important;color:#e28a0d}.pf-system-status-hostile{border-color:#d9534f !important;color:#d9534f}.pf-system-status-empty{border-color:#5cb85c !important;color:#5cb85c}.pf-system-status-unscanned{border-color:#568a89 !important;color:#568a89}.pf-system-info-status-label{background-color:#63676a;color:#000;will-change:background-color;-webkit-transition:background-color 0.3s ease-out;transition:background-color 0.3s ease-out}.pf-system-info-status-label.pf-system-status-friendly{background-color:#428bca}.pf-system-info-status-label.pf-system-status-occupied{background-color:#e28a0d}.pf-system-info-status-label.pf-system-status-hostile{background-color:#d9534f}.pf-system-info-status-label.pf-system-status-empty{background-color:#5cb85c}.pf-system-info-status-label.pf-system-status-unscanned{background-color:#568a89}.pf-system-hidden{opacity:0.15 !important;pointer-events:none}.pf-system-effect-dialog-wrapper .table,.pf-jump-info-dialog .table{margin:15px 0}.pf-system-effect-dialog-wrapper .table td,.pf-jump-info-dialog .table td{text-transform:capitalize}.pf-fake-connection{box-sizing:content-box;display:inline-block;width:70px;height:4px;border-top:2px solid #63676a;border-bottom:2px solid #63676a;background-color:#3c3f41;position:relative;font-size:10px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-fake-connection.pf-map-connection-stargate{background-color:#313966;border-color:#63676a}.pf-fake-connection.pf-map-connection-jumpbridge{background-color:#6caead;border-color:#3c3f41;background:repeating-linear-gradient(to right, #6caead, #6caead 10px, #3c3f41 10px, #3c3f41 20px)}.pf-fake-connection.pf-map-connection-abyssal{background-color:#5a225a;border-color:#3c3f41;background:repeating-linear-gradient(to right, #5a225a, #5a225a 5px, #3c3f41 5px, #3c3f41 10px)}.pf-fake-connection.pf-map-connection-wh-eol{border-color:#d747d6}.pf-fake-connection.pf-map-connection-wh-reduced{background-color:#e28a0d}.pf-fake-connection.pf-map-connection-wh-critical{background-color:#a52521}.pf-fake-connection.pf-map-connection-frig{border-style:dashed;border-left:none;border-right:none}.pf-fake-connection.pf-map-connection-frig:after{content:'frig';background-color:#e28a0d;color:#1d1d1d;padding:0px 3px;position:absolute;left:25px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-fake-connection.pf-map-connection-preserve-mass:after{content:'save mass';background-color:#a52521;color:#eaeaea;padding:0px 3px;position:absolute;left:8px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-structure-status-unknown{color:#568a89}.pf-structure-status-online{color:#5cb85c}.pf-structure-status-offline{color:#a52521}.tooltip-inner{color:#adadad;background-color:#3c3f41;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;padding:5px 5px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.modal .tooltip{z-index:1060}.modal .tooltip .tooltip-inner{color:#313335;background-color:#adadad}.tooltip.top .tooltip-arrow{border-top-color:#63676a}.tooltip.right .tooltip-arrow{border-right-color:#63676a}.tooltip.bottom .tooltip-arrow{border-bottom-color:#63676a}.tooltip.left .tooltip-arrow{border-left-color:#63676a}td.pf-popover-trigger:hover{color:#477372}.pf-notransition{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.pf-dynamic-area{padding:10px;min-height:100px;position:relative;background-color:#313335;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-dynamic-area .dl-horizontal{margin-bottom:0}.pf-dynamic-area .dl-horizontal dd{min-width:100px}.pf-dynamic-area .dl-horizontal dd.txt-color,.pf-dynamic-area .dl-horizontal dd.pf-help-light,.pf-dynamic-area .dl-horizontal dd.pf-help,.pf-dynamic-area .dl-horizontal .dataTable td.pf-table-action-cell>dd.pf-table-action-icon-cell,.dataTable .pf-dynamic-area .dl-horizontal td.pf-table-action-cell>dd.pf-table-action-icon-cell{font-weight:bold}.pf-dynamic-area>[class~='alert']:last-of-type{margin-bottom:0}.pf-code-ObjectBrace{color:#782d77;font-weight:bold}.pf-code-ArrayBrace{color:#3e264e;font-weight:bold}.pf-code-PropertyName{color:#1d1d1d;font-weight:bold}.pf-code-String{color:#e28a0d}.pf-code-Number{color:#4f9e4f}.pf-code-Boolean{color:#313966;font-weight:bold}.pf-code-Function{color:#782d77}.pf-code-Null{color:#2b2b2b;font-weight:bold}.pf-code-Comma{color:#1d1d1d;font-weight:bold}code .fas,code .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list code li>i,code .far,code .fab{color:#3c3f41;cursor:pointer}#pf-logo-wrapper{display:block}#pf-head{margin-bottom:0px}#pf-head a{-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out;will-change:color}#pf-head a:focus{color:#477372}#pf-head a:focus img{border-color:#3c3f41}#pf-head a:hover{text-decoration:none}#pf-head a:hover .badge{color:#6caead}#pf-head a:hover img{border-color:#568a89}#pf-head i{margin-right:2px}#pf-head .pf-brand-desc{margin:6px 10px 0 90px;width:180px}#pf-head .pf-head-menu{padding:3px 10px;line-height:24px}#pf-head .pf-head-menu .pf-head-menu-logo{width:24px;height:24px;display:inline-block;float:left}#pf-head .pf-head-user-character,#pf-head .pf-head-user-ship{opacity:0;visibility:hidden}#pf-head .pf-head-active-user{cursor:pointer}#pf-head .pf-head-active-user,#pf-head #pf-head-current-location{display:none}#pf-head .pf-head-active-user .badge,#pf-head #pf-head-current-location .badge{-webkit-transition:color 0.3s ease-out;transition:color 0.3s ease-out}#pf-head .pf-head-user-character-image,#pf-head .pf-head-user-ship-image{display:inline-block;margin-top:-6px;margin-bottom:-6px;width:27px;border:1px solid #3c3f41;margin-right:3px;image-rendering:-webkit-optimize-contrast;-webkit-transition:border-color 0.15s ease-out;transition:border-color 0.15s ease-out;will-change:border-color}#pf-head .pf-head-program-status{cursor:pointer}#pf-head .navbar-text{min-width:60px}#pf-head .tooltip .tooltip-inner{color:#adadad}.pf-head{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-head .badge{background-color:#3c3f41;color:#adadad}.pf-head small{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}#pf-head-character-switch td{border:none}#pf-head-character-switch td:first-child+td{padding:0 5px}#pf-footer{position:absolute;bottom:0;left:0;width:100%;margin:0;background:rgba(60,63,65,0.3)}#pf-footer a{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#375959}#pf-footer a:hover{color:#477372;text-decoration:none}.navbar-fixed-bottom{padding:2px 0}.navbar-fixed-bottom .container-fluid{padding-left:0;padding-right:0}.pf-menu-clock{position:absolute;bottom:0;width:100%;padding:6px 8px;text-align:center}#pf-global-info{position:absolute;left:0;bottom:32px;width:100%;height:32px;margin-bottom:0}.panel-reverse-order{display:table;width:100%}.panel-reverse-order .reverse-order-header{display:table-header-group}.panel-reverse-order .reverse-order-footer{display:table-footer-group}.pf-sortable-ghost{will-change:opacity;transition:opacity 0.2s ease-out;opacity:0.7 !important}.pf-sortable-ghost .pf-module-handler-drag{color:#f0ad4e;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}@-webkit-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-moz-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-ms-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}.pf-animate{visibility:hidden;opacity:0}.pf-color-line{position:fixed;top:0;left:0;width:100%;height:3px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #66c84f),color-stop(100%, #66c84f));background-image:-moz-linear-gradient(left, #66c84f,#66c84f 100%);background-image:-webkit-linear-gradient(left, #66c84f,#66c84f 100%);background-image:linear-gradient(to right, #66c84f,#66c84f 100%)}.pf-color-line.warning{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #e28a0d),color-stop(100%, #e28a0d));background-image:-moz-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:-webkit-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:linear-gradient(to right, #e28a0d,#e28a0d 100%)}.pf-color-line.danger{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #a52521),color-stop(100%, #a52521));background-image:-moz-linear-gradient(left, #a52521,#a52521 100%);background-image:-webkit-linear-gradient(left, #a52521,#a52521 100%);background-image:linear-gradient(to right, #a52521,#a52521 100%)}.pf-splash{position:absolute;z-index:2000;background-color:#1d1d1d;color:#63676a;top:0;bottom:0;left:0;right:0;will-change:opacity}.pf-splash:not(.pf-splash-warning):not(.pf-splash-error){cursor:wait}.pf-splash .pf-splash-title{position:fixed;left:50%;top:30%;text-align:center;max-width:500px;padding:20px;-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pf-splash .pf-splash-debug{position:absolute;bottom:0;width:100%}.pf-splash .pf-splash-debug .pf-splash-debug-headline{padding:0 10px}.pf-splash .pf-splash-debug .pf-splash-pre{margin-bottom:0}@media (max-width: 1200px){.pf-landing #pf-logo-container{margin:5px auto}.pf-landing .pf-brand-desc{display:none}.pf-landing .navbar .navbar-brand{margin-left:10px}}.pf-landing section:not(:last-of-type){border-bottom:1px solid #2b2b2b}.pf-landing section{min-height:200px;padding:20px 0 40px 0}.pf-landing section h4:not(.pf-dynamic-area){font-size:18px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;margin:5px 0 10px 0;border-bottom:1px solid #2b2b2b;line-height:34px}.pf-landing .container>.row{margin-bottom:30px}.pf-landing .alert{box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]{position:relative;display:inline-block;overflow:hidden;margin:5px 0 15px 0;box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]:before{content:'\f06e';font-family:'Font Awesome 5 Free';font-size:20px;color:#e28a0d;position:absolute;height:100%;width:100%;z-index:10;-webkit-transition:transform 0.1s ease-out,opacity 0.1s ease-out;transition:transform 0.1s ease-out,opacity 0.1s ease-out;will-change:transform, opacity;transform:scale(1.3, 1.3);opacity:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.pf-landing a[data-gallery]:hover img{border-color:#6caead;-webkit-filter:brightness(50%);filter:brightness(50%)}.pf-landing a[data-gallery]:hover:before{-webkit-transition-delay:.05s;transition-delay:.05s;transform:scale(1, 1);opacity:1}.pf-landing a[data-gallery] .pf-landing-image-preview{border-width:1px;border-style:solid;border-color:#1d1d1d;display:inline-block;will-change:all;-webkit-filter:brightness(100%);filter:brightness(100%);-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-small{height:160px}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-medium{height:256px}#pf-landing-top{height:355px;border-bottom:1px solid #313335;position:relative}#pf-landing-top:before{content:'';width:100%;height:100%;position:absolute;background:url("../../img/pf-bg.jpg") #05050a;background-repeat:no-repeat;background-position:0 0;-webkit-filter:brightness(.9);filter:brightness(.9)}#pf-landing-top #pf-logo-container{-moz-transform:scale3d(0.8, 0.8, 1);-ms-transform:scale3d(0.8, 0.8, 1);-webkit-transform:scale3d(0.8, 0.8, 1);transform:scale3d(0.8, 0.8, 1)}#pf-landing-top #pf-header-container{position:absolute;width:100%;background-position:center center}#pf-landing-top #pf-header-container #pf-header-canvas{position:absolute;visibility:hidden;top:0;left:0}#pf-landing-top #pf-header-container #pf-logo-container{z-index:110}#pf-landing-top #pf-header-container #pf-header-preview-container{position:absolute;left:400px;width:590px;height:350px;top:37px}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element{position:relative;margin-left:12px;margin-top:12px;height:155px;width:180px;padding:7px;opacity:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-color:rgba(43,43,43,0.5)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:nth-child(n+4){box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:after{content:'';position:absolute;width:calc(100% - 14px);height:calc(100% - 14px);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-repeat:no-repeat;background-position:50% 50%;background-color:rgba(29,29,29,0.75)}#pf-landing-top .container{position:relative;margin-top:10px}#pf-header-preview-intel:after{background-image:url("../../img/landing/intel.png")}#pf-header-preview-map:after{background-image:url("../../img/landing/map.png")}#pf-header-preview-scope:after{background-image:url("../../img/landing/scope.png")}#pf-header-preview-signature:after{background-image:url("../../img/landing/signature.png")}#pf-header-preview-data:after{background-image:url("../../img/landing/data.png")}#pf-header-preview-gameplay:after{background-image:url("../../img/landing/gameplay.png")}#pf-landing-login{padding-top:40px;padding-bottom:30px}#pf-landing-login .row{margin-bottom:0}#pf-landing-login .pf-character-selection>div:not(.pf-character-row-animate){-webkit-transition:width 0.2s ease,margin 0.2s ease;transition:width 0.2s ease,margin 0.2s ease}#pf-landing-login .pf-dynamic-area{display:inline-block;margin:10px 5px 20px 5px;padding:10px 10px 5px 10px;min-width:155px;min-height:184px;overflow:visible;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-login .pf-dynamic-area .ribbon-wrapper{z-index:5}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper{opacity:0;width:128px;border:2px solid #63676a;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);will-change:border-color, transition;overflow:hidden;cursor:pointer;display:inline-block;background-color:#2b2b2b;box-sizing:content-box}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover{border-color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-name{color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-image{-webkit-filter:grayscale(50%);filter:grayscale(50%)}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper.pf-character-active:after{font-family:"Font Awesome 5 Free";content:"\f111";font-weight:bold;position:absolute;top:5px;left:5px;height:14px;width:14px;color:#5cb85c;font-size:10px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image{overflow:hidden;width:128px;height:128px;position:relative}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info{position:absolute;top:0;left:0;width:0;height:100%;color:#adadad;background:rgba(60,63,65,0.8);overflow:hidden;will-change:width, transition;padding:10px 0}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info .pf-character-info-text{line-height:25px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-name{font-size:13px;line-height:30px;border-top:1px solid #313335;color:#adadad;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-image{-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out;-webkit-filter:grayscale(0%);filter:grayscale(0%)}#pf-landing-login .pf-sso-login-button{position:relative;display:inline-block;width:270px;height:45px;border:none;margin-bottom:10px;background-color:transparent;background-image:url("../../img/landing/eve_sso_login_buttons_large_black_hover.png");cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,0.2);-webkit-transition:box-shadow 0.12s ease-out;transition:box-shadow 0.12s ease-out;will-change:box-shadow}#pf-landing-login .pf-sso-login-button:after{content:' ';position:absolute;width:270px;height:45px;left:0;top:0;background-image:url("../../img/landing/eve_sso_login_buttons_large_black.png");-webkit-transition:opacity 0.12s ease-in-out;transition:opacity 0.12s ease-in-out;will-change:opacity}#pf-landing-login .pf-sso-login-button:hover{box-shadow:0 4px 5px rgba(0,0,0,0.2)}#pf-landing-login .pf-sso-login-button:hover:after{opacity:0}#pf-landing-login .pf-sso-login-button.disabled{pointer-events:auto}#pf-landing-login #pf-notification-panel{display:none}#pf-header-map{position:relative;margin:0 auto;height:380px;width:600px;pointer-events:none}#pf-header-map .pf-header-svg-layer{position:absolute;top:0;left:0;right:0;bottom:0}#pf-header-map #pf-header-systems{z-index:100}#pf-header-map #pf-header-connectors{z-index:90}#pf-header-map #pf-header-connections{z-index:80}#pf-header-map #pf-header-background{z-index:70}#pf-header-map #pf-header-background .pf-header-system{display:none}#pf-header-map-bg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}#pf-header-map-bg img{pointer-events:none}#pf-header-map-bg #pf-map-bg-image{opacity:0;position:absolute;bottom:0;right:0;width:100%;height:100%}#pf-header-map-bg #pf-map-neocom{opacity:0;height:665px;width:21px}#pf-header-map-bg #pf-map-browser{opacity:0;position:absolute;top:110px;left:21px;height:560px;width:515px}#pf-landing-gallery-carousel{background-image:url("../../img/pf-header-bg.jpg")}#pf-landing-gallery-carousel .slide-content{border-radius:5px;pointer-events:none}#pf-landing-gallery-carousel h3{width:100%;text-align:left}.pf-landing-pricing-panel{margin-top:20px}.pricing-big{position:relative;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pricing-big .panel-heading{border-color:#3c3f41}.pricing-big .the-price{padding:1px 0;background:#2d3031;text-align:center}.pricing-big .the-price .subscript{font-size:12px;color:#63676a}.pricing-big .price-features{background:#3c3f41;color:#adadad;padding:20px 15px;line-height:22px}.pricing-big .price-features:not(.price-features-fluid){min-height:205px}.pricing-big .price-features .list-unstyled.text-left li,.pricing-big .price-features .text-left.list-inline li{text-indent:-1em;padding-left:1.5em}.pricing-big .price-features .list-unstyled.text-left li .fa,.pricing-big .price-features .text-left.list-inline li .fa{text-indent:0}.pricing-big table tr td{line-height:1}#pf-landing-admin .pf-landing-admin-login{margin-bottom:0}#pf-landing-about .pf-landing-about-me{width:256px;height:256px;border:none;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing-footer{padding:30px 0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background-color:#171717}.pf-landing-footer .row{margin-bottom:0 !important}.pf-landing-footer .pf-social-networks>li{display:inline-block;line-height:1}.pf-landing-footer .pf-social-networks>li a{display:inline-block;background:rgba(99,103,106,0.5);line-height:24px;text-align:center;font-size:14px;margin-right:3px;padding:6px 6px 2px 6px;width:36px}.pf-body[data-script='admin'] .navbar-brand:hover{color:#777}.pf-body[data-script='admin'] .panel{text-align:initial}.pf-body[data-script='admin'] .panel h3 img{position:absolute;right:0;top:0;margin:4px 14px 0 0;border-radius:30%}.pf-body[data-script='admin'] .form-horizontal .panel{color:#adadad}#pf-static-logo-svg{opacity:0;position:absolute;z-index:105;overflow:visible}#pf-static-logo-svg path{will-change:fill, opacity, transform, translateZ, translateX, translateY;pointer-events:all;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.logo-ploygon-top-right{fill:#477372;fill-rule:evenodd;stroke:#477372;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-left{fill:#5cb85c;fill-rule:evenodd;stroke:#5cb85c;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-right{fill:#375959;fill-rule:evenodd;stroke:#375959;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-top-left{fill:#63676a;fill-opacity:1;fill-rule:evenodd;stroke:#63676a;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1}@-webkit-keyframes bounce{0%, 20%, 50%, 80%, 100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-8px)}60%{-webkit-transform:translateY(-4px)}}@keyframes bounce{0%, 20%, 50%, 80%, 100%{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}#pf-map-tab-element{max-width:2535px;margin:0 auto}.pf-map-tab-content .pf-map-wrapper{position:relative;resize:vertical;width:100%;height:555px;max-width:2535px;max-height:1000px;min-height:250px;overflow:auto;padding:5px;background:rgba(43,43,43,0.93);box-shadow:inset -3px 3px 10px 0 rgba(0,0,0,0.3);will-change:width, height;border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-width:1px;border-style:solid;border-color:#313335}.pf-map-tab-content .pf-map-wrapper:before{content:'';position:absolute;bottom:0;right:0;border-style:solid;border-width:14px 14px 0 0;border-color:transparent #313335 transparent transparent;cursor:nwse-resize}.pf-map-tab-content .pf-map-wrapper:focus,.pf-map-tab-content .pf-map-wrapper:hover{border:1px solid #3c3f41}.pf-map-tab-content .pf-map-wrapper:focus:before,.pf-map-tab-content .pf-map-wrapper:hover:before{border-color:transparent #3c3f41 transparent transparent}.pf-map-overlay{position:absolute;display:none;z-index:10000;right:26px;background:rgba(0,0,0,0.25);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-overlay.pf-map-overlay-timer{bottom:23px;width:36px;height:36px}.pf-map-overlay.pf-map-overlay-info{top:8px;height:36px;min-height:36px;min-width:36px;padding:3px 3px 3px 8px;line-height:26px}.pf-map-overlay.pf-map-overlay-info i{margin:0;margin-top:5px;width:0;height:26px;opacity:0;color:#63676a;transform:scale(0);transform-origin:50% 50% 0px;-webkit-transition:color 0.18s ease-in-out;transition:color 0.18s ease-in-out;cursor:help;will-change:all}.pf-map-overlay.pf-map-overlay-info i.fas,.pf-map-overlay.pf-map-overlay-info .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list .pf-map-overlay.pf-map-overlay-info li>i,.pf-map-overlay.pf-map-overlay-info i.far{font-size:20px}.pf-map-overlay.pf-map-overlay-info i.glyphicon{margin-top:1px;font-size:22px;padding-left:3px}.pf-map-overlay.pf-map-overlay-info i.active,.pf-map-overlay.pf-map-overlay-info i:hover{color:#c2760c}.pf-map-overlay.pf-map-overlay-local{top:54px;min-height:80px;width:32px;display:block;will-change:width}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content{margin-right:36px;padding:5px 0 5px 5px;overflow:hidden}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline{font-size:12px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .badge{margin-left:5px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .pf-system-sec{cursor:default}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table{font-size:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table td{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_paginate,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_empty{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-icon{vertical-align:0;margin-top:14px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-checkbox{display:inline-block;margin-bottom:0}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main{position:absolute;top:0;right:0;height:100%;padding:3px;width:32px;cursor:pointer;text-align:center;border-left:1px solid #2b2b2b}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger{margin-bottom:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger:hover,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger.right{color:#c2760c}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main i{font-size:12px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-jumps{position:absolute;bottom:5px;width:calc(100% - 6px)}.pf-map-overlay.pf-map-overlay-local .badge{font-family:Arial, sans-serif;background-color:#2b2b2b}.pf-grid-small:before{content:' ';display:block;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0.6;background:url('data:image/png;base64,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') !important}.pf-map{width:2500px;height:1500px;position:relative;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-map .jsplumb-overlay{opacity:1;pointer-events:none;will-change:opacity;-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out}.pf-map .jsplumb-hover.jsplumb-overlay{opacity:0 !important}.pf-map .jsplumb-hover:not(.jsplumb-overlay){-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce}.pf-map .jsplumb-target-hover,.pf-map .jsplumb-source-hover{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3)}.pf-map .pf-system{position:absolute;min-width:60px;height:auto;overflow:hidden;background-color:#313335;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:100;will-change:top, left, opacity;border-width:2px;border-style:solid;border-color:#63676a;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.pf-map .pf-system:hover{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3);-moz-transform:translate3d(0, -1px, 0) !important;-ms-transform:translate3d(0, -1px, 0) !important;-webkit-transform:translate3d(0, -1px, 0) !important;transform:translate3d(0, -1px, 0) !important}.pf-map .pf-system:hover:not(.jsPlumb_dragged){z-index:1040 !important}.pf-map .pf-system .pf-system-head{padding:0 3px 0 3px;cursor:pointer;font-family:Arial, sans-serif;font-weight:bold;white-space:nowrap}.pf-map .pf-system .pf-system-head .pf-system-head-name{border:none;display:inline-block;min-width:50px;color:#adadad;margin-right:2px}.pf-map .pf-system .pf-system-head .pf-system-head-counter{display:inline-block;text-align:right;min-width:8px;margin-right:1px;color:#5cb85c;cursor:help}.pf-map .pf-system .pf-system-head .pf-system-head-counter:empty{display:none}.pf-map .pf-system .pf-system-head .pf-system-effect{font-size:11px}.pf-map .pf-system .pf-system-head .fa-lock{font-size:11px;display:none}.pf-map .pf-system .pf-system-head .pf-system-head-expand{margin-left:2px;color:#63676a;width:10px;display:none}.pf-map .pf-system .pf-system-head .editable-empty{font-style:normal}.pf-map .pf-system .pf-system-head-info{display:flex;color:#7c8184;font-size:10px;line-height:10px;padding-right:1px;margin-bottom:2px}.pf-map .pf-system .pf-system-head-info [class^="pf-system-sec-"]{cursor:help}.pf-map .pf-system .pf-system-head-info-left{flex:1}.pf-map .pf-system .pf-system-head-info-right{flex:1;text-align:right}.pf-map .pf-system .pf-system-body{height:0px;width:100%;overflow:hidden;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab;padding:0 4px;white-space:nowrap;display:none;will-change:width;border-top-width:1px;border-top-style:dashed;border-top-color:#63676a}.pf-map .pf-system .pf-system-body .pf-system-body-item{position:relative;color:#7c8184;font-size:10px;line-height:16px;height:16px}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-right{float:right;color:#f0ad4e;width:50px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:none}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-user-status{font-size:6px;width:10px;vertical-align:middle}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-item-name{position:absolute;display:inline-block;width:calc(100% - 10px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pf-map .pf-system .tooltip.in{opacity:1}.pf-map .pf-system .tooltip .tooltip-inner{color:#313335;background-color:#adadad;padding:3px 3px}.pf-map .pf-system-active:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#ffb 0px 0px 8px 0px;box-shadow:#ffb 0px 0px 8px 0px}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target),.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#58100d 0px 0px 8px 0px;box-shadow:#58100d 0px 0px 8px 0px;background-color:#58100d}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body{background-color:#58100d}.pf-map .pf-system-locked .pf-system-sec{cursor:default !important}.pf-map .pf-system-locked .pf-system-body{cursor:default !important}.pf-map .pf-system-locked .fa-lock{color:#63676a !important;display:inline-block !important}.pf-map .pf-system-debug{position:absolute;color:#fff;font-size:10px;line-height:22px;text-align:center;pointer-events:none;z-index:500}.pf-map .pf-map-endpoint-source,.pf-map .pf-map-endpoint-target{z-index:90}.pf-map .pf-map-endpoint-source svg,.pf-map .pf-map-endpoint-target svg{overflow:visible}.pf-map .pf-map-endpoint-source svg circle,.pf-map .pf-map-endpoint-target svg circle{-webkit-transition:stroke 0.18s ease-out,fill 0.18s ease-out;transition:stroke 0.18s ease-out,fill 0.18s ease-out}.pf-map .pf-map-endpoint-source svg *,.pf-map .pf-map-endpoint-target svg *{stroke:#63676a;stroke-width:2;fill:#3c3f41;cursor:pointer}.pf-map .pf-map-endpoint-source:hover circle,.pf-map .pf-map-endpoint-target:hover circle{stroke:#e28a0d !important}.pf-map .pf-map-endpoint-source.jsplumb-hover,.pf-map .pf-map-endpoint-target.jsplumb-hover{z-index:95}.pf-map .pf-map-endpoint-source.jsplumb-dragging circle,.pf-map .pf-map-endpoint-target.jsplumb-dragging circle{stroke:#e28a0d}.pf-map .jsplumb-endpoint-drop-allowed circle{stroke:#5cb85c !important;fill:#5cb85c !important}.pf-map .jsplumb-endpoint-drop-forbidden circle{stroke:#a52521 !important;fill:#a52521 !important}.pf-map svg.jsplumb-connector{cursor:pointer;stroke-linecap:round;-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out;will-change:all}.pf-map svg.jsplumb-connector path{-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out}.pf-map svg.jsplumb-connector path:nth-child(2){stroke:#3c3f41}.pf-map svg.jsplumb-connector path:first-child{stroke:#63676a}.pf-map svg.jsplumb-connector.jsplumb-hover{z-index:80;filter:drop-shadow(-3px 3px 4px rgba(0,0,0,0.3))}.pf-map svg.jsplumb-connector.jsplumb-hover:not(.pf-map-connection-jumpbridge):not(.pf-map-connection-abyssal) path:first-child{stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-jumpbridge path:nth-child(2),.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-abyssal path:nth-child(2){stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-dragging{-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out;opacity:0.4;z-index:80}.pf-map svg.pf-map-connection-abyssal{z-index:40}.pf-map svg.pf-map-connection-abyssal path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal path:nth-child(2){stroke:#5a225a}.pf-map svg.pf-map-connection-abyssal:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-jumpbridge{z-index:50}.pf-map svg.pf-map-connection-jumpbridge path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge path:nth-child(2){stroke:#568a89}.pf-map svg.pf-map-connection-jumpbridge:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-stargate{z-index:60}.pf-map svg.pf-map-connection-stargate path:first-child{stroke:#63676a}.pf-map svg.pf-map-connection-stargate path:nth-child(2){stroke:#313966}.pf-map svg.pf-map-connection-stargate:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-fresh,.pf-map svg.pf-map-connection-wh-reduced,.pf-map svg.pf-map-connection-wh-critical,.pf-map svg.pf-map-connection-wh-eol{z-index:70}.pf-map svg.pf-map-connection-wh-eol path:first-child{stroke:#d747d6}.pf-map svg.pf-map-connection-wh-eol:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-reduced path:nth-child(2){stroke:#e28a0d}.pf-map svg.pf-map-connection-wh-critical path:nth-child(2){stroke:#a52521}.pf-map svg.pf-map-connection-active{filter:drop-shadow(0px 0px 3px #ffb)}.pf-map .pf-map-connection-overlay{padding:1px 4px;font-size:10px;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-map .frig{background-color:#f0ad4e;color:#1d1d1d}.pf-map .mass{background-color:#a52521;color:#eaeaea}.pf-map .eol{background-color:#3c3f41;color:#d747d6}.pf-map .pf-map-connection-arrow-overlay{stroke:#313335;fill:#5cb85c}.pf-map .pf-map-connection-diamond-overlay{stroke:#313335;fill:#d9534f;animation-name:pfPulseDanger;animation-duration:4s;animation-iteration-count:infinite}.pf-map .pf-map-connection-small-overlay{filter:blur(0px);-webkit-font-smoothing:antialiased;font-family:Arial, sans-serif;padding:2px;font-size:9.5px;line-height:100%;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.3);box-shadow:0 3px 6px rgba(0,0,0,0.3)}.ui-dialog-content label,.ui-dialog-content .editable-input .editable-checklist>div>label>span,.editable-input .ui-dialog-content .editable-checklist>div>label>span{min-width:60px}.dropdown-menu{min-width:150px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:1050;will-change:opacity, top, left, transform}.dropdown-menu a{cursor:pointer}.dropdown-menu i{width:20px;pointer-events:none}.dropdown-menu .dropdown-menu{border-top-left-radius:0;border-bottom-left-radius:0;clip-path:inset(-12px -12px -12px 0px)}.dropdown-menu[role]>li:not(.disabled){position:relative}.dropdown-menu[role]>li:not(.disabled):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,left;-webkit-transition:left 0.15s ease-out,opacity 0.15s ease-out;transition:left 0.15s ease-out,opacity 0.15s ease-out;width:2px;height:100%;left:0}.dropdown-menu[role]>li:not(.disabled):hover:before{left:-4px;opacity:1}.dropdown-menu>li.disabled{cursor:not-allowed;pointer-events:none}.dropdown-menu>li>a{padding:3px 8px}.pf-system-tooltip-inner{color:#adadad;padding:2px 4px;min-width:25px;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}.pf-system-info-module h5{text-transform:capitalize}.pf-system-info-module .pf-system-info-description-area{min-height:124px}.pf-system-info-module .pf-system-info-description-area .editable-container{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input{width:calc(100% - 75px)}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input textarea{width:100%;max-height:200px;resize:vertical}.pf-signature-table-module .progress-label-right{margin-right:20px;vertical-align:middle;font-size:11px}.pf-signature-table-module .pf-system-progress-scanned{display:inline-block;margin-left:20px;width:calc(100% - 225px)}.pf-signature-table-module .pf-system-progress-scanned .progress{margin-bottom:3px}.pf-signature-table-module .pf-sig-table-clear-button{will-change:opacity, transform;display:none;color:#a52521}.pf-signature-table-module .pf-sig-table{font-size:10px}.pf-signature-table-module .pf-sig-table .pf-sig-table-edit-desc-text{white-space:normal}.pf-signature-table-module .pf-sig-table .pf-sig-table-edit-desc-text.editable-empty{border-bottom:none}.pf-signature-table-module .pf-sig-table .editable-container.editable-inline{display:inline}.pf-signature-table-module .pf-sig-table .editable-container.editable-inline .control-group{display:inline}.pf-signature-table-module .pf-sig-table .editable-container.editable-inline .control-group .editable-input{display:inline}.pf-signature-table-module .pf-sig-table .pf-editable-description{width:100%;background-color:#2b2b2b;max-height:50px;font-size:11px;line-height:14px;padding:3px 6px}.pf-signature-table-module .pf-sig-table .pf-sig-table-edit-name-input{text-transform:uppercase}.pf-signature-table-module .pf-sig-table-secondary th{pointer-events:none}.pf-signature-table-module .pf-sig-table-secondary th:after{display:none !important}.pf-signature-table-module .pf-sig-table-secondary th.pf-table-counter-cell{color:transparent}.pf-system-graph-module .pf-system-graph{position:relative;width:100%;height:100px}.pf-system-route-module .pf-system-route-table{width:100%;font-size:10px}.pf-system-route-module .pf-system-route-table td{text-transform:capitalize}.pf-system-route-module .pf-system-route-table td>.fas,.pf-system-route-module .pf-system-route-table td>.far{font-size:10px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection{display:none;width:12px;height:3px;cursor:pointer}.pf-system-route-module .pf-system-route-table td .pf-fake-connection[data-disabled]{cursor:initial}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig{width:32px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig:after{left:4px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass{width:26px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass:after{content:"\f071";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;left:4px}.pf-system-route-module .pf-system-route-table td.pf-table-jump-cell .pf-fake-connection{display:inline-block}.pf-system-intel-module .pf-system-structure-table{font-size:10px}.pf-system-killboard-module .pf-system-killboard-graph-kills{width:100%;height:100px;position:relative;margin-bottom:30px}.pf-system-killboard-module .pf-system-killboard-list{padding-bottom:10px;border-bottom:1px solid #2b2b2b}.pf-system-killboard-module .pf-system-killboard-list>li{margin-left:0;overflow:visible;min-height:50px;will-change:transform, opacity, margin-left;-webkit-transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7);transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7)}.pf-system-killboard-module .pf-system-killboard-list>li h5{white-space:nowrap}.pf-system-killboard-module .pf-system-killboard-list>li h3{width:120px;display:inline-block}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char{display:inline;width:32px;margin-top:9px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally{display:inline;width:20px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp:hover,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship{width:50px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li:before{content:"\f054";font-family:"Font Awesome 5 Free";font-weight:bold;position:absolute;z-index:10;left:-18px;top:15px;color:#477372;opacity:0;will-change:opacity, left;-webkit-transition:all 0.12s ease-out;transition:all 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li:hover{margin-left:10px}.pf-system-killboard-module .pf-system-killboard-list>li:hover:before{opacity:1;left:-15px}.pf-connection-info-module .row{display:flex;align-items:stretch;flex-wrap:wrap}.pf-connection-info-module .pf-dynamic-area{display:flex;justify-content:center;align-items:center;margin-bottom:10px;min-height:inherit}.pf-connection-info-module .pf-connection-info-table{width:100%;font-size:10px}.pf-connection-info-module .pf-connection-info-table td>.fas,.pf-connection-info-module .pf-connection-info-table td>.far{font-size:10px}input,select{background-color:#313335;color:#adadad;border:1px solid #63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}input:focus,select:focus{border-color:#568a89}input:-webkit-autofill,select:-webkit-autofill{background-color:#313335 !important;-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input:-webkit-autofill:focus,select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input::-webkit-file-upload-button,select::-webkit-file-upload-button{background-color:transparent;border:none;color:#63676a;outline:none}input[disabled]::-moz-placeholder,select[disabled]::-moz-placeholder{color:transparent;opacity:1}input[disabled]:-ms-input-placeholder,select[disabled]:-ms-input-placeholder{color:transparent}input[disabled]::-webkit-input-placeholder,select[disabled]::-webkit-input-placeholder{color:transparent}input.pf-select2,select.pf-select2{height:32px;padding:6px 12px}textarea{min-height:32px;max-height:400px;resize:vertical}fieldset[disabled] .form-control{color:#63676a}fieldset[disabled] .form-control::-moz-placeholder{color:transparent;opacity:1}fieldset[disabled] .form-control:-ms-input-placeholder{color:transparent}fieldset[disabled] .form-control::-webkit-input-placeholder{color:transparent}fieldset[disabled] .input-icon-left .fa-stack i:last-child,fieldset[disabled] .input-icon-right .fa-stack i:last-child{color:#3c3f41}#select2-pf-map-dialog-edit-icon-select-container,#select2-pf-map-dialog-new-icon-select-container,#select2-pf-map-dialog-new-icon-select-results,#select2-pf-map-dialog-edit-icon-select-results,.pf-form-icon-field{font-family:"Font Awesome 5 Free";font-weight:bold}#select2-pf-map-dialog-edit-icon-select-container option,#select2-pf-map-dialog-new-icon-select-container option,#select2-pf-map-dialog-new-icon-select-results option,#select2-pf-map-dialog-edit-icon-select-results option,.pf-form-icon-field option{font-family:inherit;font-weight:inherit}.input-icon-left:not(.input-icon-right) .fa-stack:first-child{left:14px}.input-icon-right:not(.input-icon-left) .fa-stack:first-child{right:14px}.input-icon-left.input-icon-right .fa-stack:first-child{left:14px}.input-icon-left.input-icon-right .fa-stack:nth-child(2){right:14px}.input-icon-left .fa-stack,.input-icon-right .fa-stack{position:absolute;top:4px}.input-icon-left .fa-stack i:first-child,.input-icon-right .fa-stack i:first-child{color:#63676a}.input-icon-left .fa-stack i:last-child,.input-icon-right .fa-stack i:last-child{color:#313335}.btn.btn-fake{border:none;text-align:left;cursor:default;opacity:1 !important;color:#63676a !important;background-color:#3c3f41 !important}.btn .btn-progress{position:absolute;display:block;height:100%;background-color:rgba(92,184,92,0.2);max-width:100%;width:0;top:0;left:0;overflow:hidden;line-height:30px;color:#f0ad4e;font-size:10px;text-align:left;-webkit-transition:width 0.1s linear;transition:width 0.1s linear}.pf-form-dropzone{border:2px dashed #2b2b2b;height:100px;background-color:#353739;text-align:center;font-size:20px;line-height:100px;margin:15px 0;color:#2b2b2b;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:color 0.18s ease-out,border-color 0.18s ease-out;transition:color 0.18s ease-out,border-color 0.18s ease-out}.pf-form-dropzone:hover{color:#568a89;border-color:#568a89;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.toggle.btn:active{box-shadow:none}.pf-form-field-char-count{display:block;margin-top:10px}.pf-icon{display:inline-block}.pf-icon.disabled{opacity:0.5;color:#63676a}.pf-icon-dotlan,.pf-icon-anoik{position:relative;display:inline-block;width:17px;height:17px;opacity:0.8;margin:-5px 0px 0 10px}.pf-icon-dotlan:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAwpJREFUeNqslE9oXFUUxr9z7333vZk3k3+1JGkyldI44KYKFbSIihbauBOrNkgXdeGqVnAhFnfiQgTFCtJNEQndVDDSFrRBWiGutEYFi2mlhQraP2km02by8ubdd/8cF8WJi+z0bA/nx3cO5/uImfFfSwHAwh9PbNR7EMBLBGoyuA3gKwCzAEAEbLu/gqkXLuLUFzchNhjeAuAXSWJBkXyFwcOSxOOK5FkCMYDnN1QSAoOIQIQnBdGcAP2a+3Kb8dbZYBuCZCcW0Y00io8IiBnP4QMCvSnEvyBbRxMstsuGKXiOJD5ZLlcP586cFJr3S025Z1vtlmY5s90HhpL6dKKi30wIf+W5/xjAvXWmTyzuyLJwvr8eXejYtcOZ6/4ZV2g/Z/rZsqVTu6wpEvJcUK7dLlYDI7zsLB+VUj3cU/L1mSX9yM6+YzzsjmeuOJHEary7pOjulURzoNPs8VN11E4NNnnROHdppcxHtsjKwSRWsgeJRDzvOMyvlMUmpXHAZvLVO5criiQPqzgMMeOd7LpuRqk/UBsPr+fGHOw68z4xobfO9ocIHXSQGzuhpECwdArAcRHxRQbWQAAJ3mdzqYnoZwC7looOCl+uQ9q3gIg1pKTbITCE4jEA37GjfhD2AgA7WpBRKAE0AviaFhKSxDqkdcuM9Im0OZCk10wRrug+/2H/RPGZL+mYzSTKVfl7bax8rD5unzEFb45IfTqcDqbBYqx3k92Tm8bjKmZil3xbkfGurjGt2hh/RIRDZkUdkjqg3jA7g+DzocRbg2maO8vZ5hG9F8B1YmbcyXfjdttO+hJnhcBky6zMd71t6YS8lDjHAROl4e0I9PaArr03OlQzP1y4Ozc0GO156tHv7ym5sViCCLMQeINIzN6XDBzJbFcYa/e5MjQF0Zm6VDPVOK5pEfHqmr3a2JrsSVOx/rFEPRsc9RxuEuhkf1R916sw7REuC9CIJPlNAO9w7E+zw3P1usQ/CaA2MODnDP7Ssn+NQC8KiKcBFI79jwCmAFwiArxfjxD6P/Lk7wEA9Dls2LsiUxoAAAAASUVORK5CYII=') no-repeat}.pf-icon-anoik:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMAUExURRoQEB4PERwRCx0SDRoTDSQQDiERDhgUExwTEx4UDyQUEiAWEiYVDSoUDigUFC4TEB0YEiIXEyAaFScYFiQZFSkYEi0XEzEWEzQXECAcGyYbGCoaGC4ZGSIdGDQZFyIeHSUeFS0cFiwcGjEbFiEgGiUfGioeFikeGjEeEzQdGTEfGTodFjkdGiwhHS4hGTUfHyojGTEhHiUlHjcgGykkHjMiGy8jIEIfGzkiHT8hGj4hHzsjGjkjIzEmIjMmHjUlIycpJTclHi8oHjwkIC4oI0MlHUIlIj4nIj0nJkglIjspIkEoHzIsJjYrJzsqJzkrI0wnHSwvLDAvKEcpIUYpJjYuJEAsIT8sJUMrJjouKjYwKkwtJUstKj8xKUcvKkYvLz4yLkIxLkQxKjo0LkYyJlMuKEsxKD01Ki85NFExKVAyL0I2MlgxJk00MEU3Ljo6Mkk2Lz85M0k3NFgzMlU2Lk45LVY3ND8+OEo8M007OU87NFQ6NUk9OVM6OkU/OUc/NERBNWI6L01BPUREPVpBQVxCPVNFPElJQVNGQldFQllFPk9IQlJJP0dNRHdDNE9ORlVOSF9MSVdPRGZLRVxPTWNOR1RTRlNTS09VTGBRR2RTRG1STGBYUWZXVFZcUmdYTmxXT15cUXBYXHRYUnBbTmhfVm1iUnpeWF9mXHVgWHFhX3JiWWdmXWxnVXhmV35pYXZtY31saYZqZHJwZINtVGxyZ2Z0aYBuX3tyYIRvZ2x8cYV1cX94bYh2Z4t1bYF5Z3Z8c5J2cop8ZY99bZZ7epN+dYiCdZ97d4WEfJOAfHmLf5CHdYaLgJqHeJaKc4KPfZeLeaCIgJ+KdaGJh5KPhZuVgo2ZiZKYjp2YjaqVja6XiKiag46jkrWYlbOdh6+elbWdlqiij8Gcl7ulj7mllaSslb2noLOsmayxo8ippLqyl6e3qMewq8K8p8i9sbnEttK/uszHtcXTx9vQsN/Nx+zQwd/ZxN/ez/Db1e7hvtjn4fPx5ub17P7w6vv++////59V2N4AAAE/SURBVHjaADIBzf4AElERERpMi3GLi2BZNQ0ODgUAGQkRNEQ9Wlp+T2CwVyEWFg0ABBE0CSBai5yCWXyfiFczDQ0AEjICNmOPs8rYknjDiu5fIyMAJREURFWPlqj+18beqtOKSCkABBAnLUSeb5r71ZnZxa97WCMAAiUlGkSHh8Kl6smv6aebeywAAhE0RD02cSqtYpP0vmJ7WEYAAhEaNi00EyIFa6l6WDVDajkAAgkRLRoUCgw1KpFXWDNHXDoAAggJCREGFE4cLE5XYjNYW0YABAACAgoJBgY2TiFXQ0czWFMAAggAAhEJFBQnKk5iR0NFXHQAAAAAAhEUCicxKjM1VyMsN1QAAgkGChsnKkFBSmJXS0VFUGwAAgIBBgoTGyIxISEjQx4YXEYAAgIAAgkbGxshIzUzDxgrQywDAKFaTfFe+Wg9AAAAAElFTkSuQmCC') no-repeat}.modal-content h2,.panel-body h2{font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:0;font-size:14px;margin:20px 0;line-height:normal}.modal-content h2.pf-dynamic-area,.modal-content h4.pf-dynamic-area,.panel-body h2.pf-dynamic-area,.panel-body h4.pf-dynamic-area{min-height:0;margin:0 0 10px 0}.modal-content h2.pf-dynamic-area>img,.modal-content h4.pf-dynamic-area>img,.panel-body h2.pf-dynamic-area>img,.panel-body h4.pf-dynamic-area>img{margin:-10px 5px -10px -10px;width:35px}.modal-content h2[data-toggle="collapse"],.modal-content h4[data-toggle="collapse"],.panel-body h2[data-toggle="collapse"],.panel-body h4[data-toggle="collapse"]{cursor:pointer}.modal-content h2[data-toggle="collapse"]:hover:after,.modal-content h4[data-toggle="collapse"]:hover:after,.panel-body h2[data-toggle="collapse"]:hover:after,.panel-body h4[data-toggle="collapse"]:hover:after{color:#e28a0d !important}.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{content:"\f078";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;font-size:13px;padding-right:10px;position:absolute;color:#e28a0d;top:10px;right:6px}.modal-content h2[data-toggle="collapse"].collapsed:after,.modal-content h4[data-toggle="collapse"].collapsed:after,.panel-body h2[data-toggle="collapse"].collapsed:after,.panel-body h4[data-toggle="collapse"].collapsed:after{top:13px;right:5px;color:#63676a;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.modal-content .dataTables_wrapper+.alert{margin-top:10px}.modal-content .dataTable,.modal-content .table{font-size:10px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.modal-content hr{margin:5px 0 15px 0;border-color:#63676a}.modal-content .well{margin-bottom:0}.modal-content .well .list-inline{margin-bottom:0}.modal-content .pf-wizard-navigation{margin:0}.modal-content .pf-wizard-navigation li:not(:last-child):before{border-top:1px solid #63676a;content:"";display:block;font-size:0;overflow:hidden;position:relative;top:12px;left:71px;right:1px;width:100%}.modal-content .pf-wizard-navigation li.finished:before{-moz-border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;-moz-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-o-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;-webkit-border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li.active:before{-moz-border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-moz-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-o-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-webkit-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li>h6{color:#63676a;font-size:11px;margin:5px}.modal-content .pf-wizard-navigation li a:hover+h6{color:#adadad}.modal-content .pf-wizard-navigation li.active a:not(.btn-danger)+h6{color:#adadad}#pf-settings-dialog .form-group .btn-sm,#pf-settings-dialog .form-group .btn-group-sm>.btn{padding:4px 7px 3px}#pf-settings-dialog #pf-dialog-captcha-wrapper{margin:0;padding:3px 0}#pf-map-dialog #pf-map-dialog-character-select,#pf-map-dialog #pf-map-dialog-corporation-select,#pf-map-dialog #pf-map-dialog-alliance-select{width:535px}#pf-route-dialog #pf-route-dialog-map-select{width:300px !important}#pf-shortcuts-dialog td kbd:last-of-type+i{display:none}#pf-manual-scrollspy{position:relative;height:700px;overflow:auto}.pf-system-dialog-select{width:300px !important}#pf-task-dialog .pf-task-dialog-status{min-height:inherit}#pf-map-info-logs{margin-bottom:10px}#pf-stats-dialog .pf-dynamic-area{margin-bottom:10px}#pf-structure-dialog #pf-structure-dialog-corporation-select,#pf-structure-dialog #pf-structure-dialog-type-select{width:267px !important}.pf-jump-info-dialog blockquote{margin-top:15px;margin-bottom:5px}.pf-changelog-dialog .pf-dynamic-message-container{margin-bottom:20px}.pf-credits-dialog .pf-credits-logo-background{overflow:visible;background:url("../../img/logo_bg.png");background-size:cover;padding:20px;margin-bottom:20px}.pf-credits-dialog #pf-logo-container{width:355px;height:366px;margin:0 auto}.pf-credits-dialog .pf-dynamic-area{min-height:50px}.pf-credits-dialog .dl-horizontal{display:inline-block;width:48%}.pf-credits-dialog .btn{padding:0}.pf-credits-dialog blockquote{font-size:14px}.pf-log-graph{height:100px;width:100%}.timeline{list-style:none;position:relative}.timeline:before{top:0;bottom:0;position:absolute;content:" ";width:1px;left:50%;margin-top:20px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRmOWU0ZiIvPjxzdG9wIG9mZnNldD0iMjUlIiBzdG9wLWNvbG9yPSIjNjM2NzZhIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4f9e4f),color-stop(25%, #63676a));background-image:-moz-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:-webkit-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:linear-gradient(to bottom, #4f9e4f,#63676a 25%)}.timeline>li{margin-bottom:20px;position:relative}.timeline>li.timeline-first .timeline-title{color:#4f9e4f}.timeline>li.timeline-first .timeline-badge{background-color:#4f9e4f}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li>.timeline-panel{width:47%;float:left;border:1px solid #313335;padding:8px;position:relative;background-color:#313335;font-size:11px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.timeline>li>.timeline-panel:before{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-panel:after{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-badge{color:#2b2b2b;width:22px;height:22px;line-height:22px;text-align:center;position:absolute;top:7px;left:50%;margin-left:-11px;background-color:#63676a;z-index:100;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.timeline>li>.timeline-badge>i{vertical-align:middle}.timeline>li.timeline-inverted>.timeline-panel{float:right}.timeline>li.timeline-inverted>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}.timeline>li.timeline-inverted>.timeline-panel:after{border-left-width:0;border-right-width:8px;left:-9px;right:auto}.timeline-title{margin-top:0;color:inherit}.timeline-body>hr{display:none}.timeline-body>hr ~ *{display:none}.timeline-body>p,.timeline-body>ul{margin-bottom:0;list-style-type:disc;margin-left:15px}.timeline-body>p+p{margin-top:5px}@media (max-width: 1200px){ul.timeline:before{left:40px}ul.timeline>li>.timeline-panel{width:calc(100% - 62px)}ul.timeline>li>.timeline-badge{left:29px;margin-left:0;top:6px}ul.timeline>li>.timeline-panel{float:right}ul.timeline>li>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}ul.timeline>li>.timeline-panel:after{border-left-width:0;border-right-width:7px;left:-8px;right:auto}}.popover{z-index:1060;max-width:600px}.popover .arrow{pointer-events:none}.popover .popover-title{text-transform:capitalize;font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif;font-weight:bold}.popover .popover-content{font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif}.popover img{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.popover h4{color:#adadad}.popover table{color:#adadad;line-height:16px;font-size:11px}.popover table td{padding:0 5px;vertical-align:middle !important}.popover .select2-container{margin-top:-1px;margin-left:-1px}.pf-popover-small .popover-title{padding:3px 6px}.pf-popover-small .popover-content{padding:6px 1px 3px}.pf-popover{display:initial}.pf-popover .popover-content{padding:0}.pf-popover h6{white-space:nowrap;margin-right:50px}.pf-popover h6:before,.pf-popover h6:after{content:" ";display:table}.pf-popover h6:after{clear:both}.pf-popover .well{margin-top:7px;margin-bottom:10px}.pf-popover .list-group{margin:0}.pf-popover .list-group .list-group-item{color:#313335}.pf-popover .list-group .list-group-item:hover{color:#1d1d1d}.pf-popover .list-group .list-group-item.disabled{background-color:#3c3f41;color:#63676a;cursor:not-allowed}.pf-popover .list-group .list-group-item img{width:30px;margin:-8px 10px -6px -8px;border-radius:0}.pf-popover .list-group .list-group-item i{margin-right:20px}.ribbon-wrapper{width:72px;height:88px;overflow:hidden;position:absolute;top:-3px;right:-3px;pointer-events:none}.ribbon{font:bold 12px "Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#2b2b2b;text-align:center;text-shadow:rgba(255,255,255,0.2) 0px 1px 0px;position:relative;padding:3px 0;left:-4px;top:16px;width:99px;-webkit-box-shadow:2px 3px 3px rgba(0,0,0,0.2);box-shadow:2px 3px 3px rgba(0,0,0,0.2);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ribbon:before,.ribbon:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;position:absolute;bottom:-3px}.ribbon.ribbon-default{color:#adadad;background-color:#353739;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzJkMzAzMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJhMmIyZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #2d3031),color-stop(100%, #2a2b2d));background-image:-moz-linear-gradient(top, #2d3031,#2a2b2d);background-image:-webkit-linear-gradient(top, #2d3031,#2a2b2d);background-image:linear-gradient(to bottom, #2d3031,#2a2b2d)}.ribbon.ribbon-default:before,.ribbon.ribbon-default:after{border-top:3px solid #000}.ribbon.ribbon-green{background-color:#5cb85c;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzUxYjM1MSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRhOTQ0YSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #51b351),color-stop(100%, #4a944a));background-image:-moz-linear-gradient(top, #51b351,#4a944a);background-image:-webkit-linear-gradient(top, #51b351,#4a944a);background-image:linear-gradient(to bottom, #51b351,#4a944a)}.ribbon.ribbon-green:before,.ribbon.ribbon-green:after{border-top:3px solid #285028}.ribbon.ribbon-orange{background-color:#e28a0d;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q0ODEwYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I0NmQwYiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d4810c),color-stop(100%, #b46d0b));background-image:-moz-linear-gradient(top, #d4810c,#b46d0b);background-image:-webkit-linear-gradient(top, #d4810c,#b46d0b);background-image:linear-gradient(to bottom, #d4810c,#b46d0b)}.ribbon.ribbon-orange:before,.ribbon.ribbon-orange:after{border-top:3px solid #6c4107}.ribbon.ribbon-red{background-color:#d9534f;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2M5MzAyYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E4MjgyNCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c9302c),color-stop(100%, #a82824));background-image:-moz-linear-gradient(top, #c9302c,#a82824);background-image:-webkit-linear-gradient(top, #c9302c,#a82824);background-image:linear-gradient(to bottom, #c9302c,#a82824)}.ribbon.ribbon-red:before,.ribbon.ribbon-red:after{border-top:3px solid #541412}.ribbon.ribbon-blue{background-color:#428bca;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM3ODRjNSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJkNWM4NSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3784c5),color-stop(100%, #2d5c85));background-image:-moz-linear-gradient(top, #3784c5,#2d5c85);background-image:-webkit-linear-gradient(top, #3784c5,#2d5c85);background-image:linear-gradient(to bottom, #3784c5,#2d5c85)}.ribbon.ribbon-blue:before,.ribbon.ribbon-blue:after{border-top:3px solid #1a344c}.ribbon:before{left:0}.ribbon:after{right:0}.pf-loading-bars-container{position:relative;z-index:4;margin:0 auto;left:5px;right:19px;width:70px;height:50px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader{position:absolute;z-index:3;margin:0 auto;left:0;right:0;top:50%;margin-top:-19px;width:56px;height:37px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader li{background-color:#5cb85c;width:6px;height:6px;float:right;margin-right:3px !important;-webkit-box-shadow:0px 12px 6px rgba(0,0,0,0.2);box-shadow:0px 12px 6px rgba(0,0,0,0.2)}.pf-loading-bars-container .pf-loading-bars-loader li:first-child{-webkit-animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s;animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(2){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(3){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(4){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(5){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(6){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s}@-webkit-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-moz-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-ms-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}.pf-landing-sticky-panel{position:fixed;min-width:100px;border-radius:5px;padding:7px;box-shadow:0 4px 10px rgba(0,0,0,0.4);background-color:rgba(43,43,43,0.7)}.pf-landing-sticky-panel h4{margin:5px 0 10px 0}.pf-landing-sticky-panel ul{margin-bottom:0}.pf-landing-sticky-panel ul li{text-transform:lowercase}#pf-landing-server-panel{top:50px;left:10px}#pf-landing-admin-panel{bottom:10px;right:10px}.youtube{background-position:center;background-repeat:no-repeat;position:relative;display:inline-block;overflow:hidden;transition:all 200ms ease-out;cursor:pointer}.youtube .play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAERklEQVR4nOWbTWhcVRTHb1IJVoxGtNCNdal2JYJReC6GWuO83PM/59yUS3FRFARdFlwYP1CfiojQWt36sRCUurRIdVFXIn41lAoVdRGrG1M01YpKrWjiYmaSl8ybZJL3cd+YA//NLObd3++eO8x79z5jSq5Gw+8kov0AP8vMR5l1BtBZQM4B8ks75wCdZdYZZj5qLZ4hov2Nht9Z9vhKKSIaB/gI4M4w62KeAO6Mte4lYOq20FxrlqqOibhHmeWbvNC9ZfDX1mLae391aN6limO/gwgvAPJbWeAZuSDingdwXTBw7/0IsyaA/Fkh+KqOkD+YNfHej1QKD+y7iVlOhgLvFqFfNJvNGyuBJ+KDAF8MDd0tgS8y64OlgSdJMsysL4cG7SOHkyQZLhTee7+d2R2rAVy/S+Jd7/32ouBHAP4gNNRGQyTHc/84NhqNywZp5rvjjnnvt21aABFeCQ+RLwAf2hQ8s7sv9OCLk6AHNgQvIrvbfzKCD76g/O6cu7lf/iER/aQGgy448pExZmhdegAPhR9sObFWH1gT3lp7DaA/5bkIgJhZPgsNmz02novj+KqeApj1ubwXWe4kdyeznAgNvTpE/HQmvKqOMeuFogTUVQSRno+iaLRLAJF7uIgL9O4ubgL8aWgB7S44mNX+35YpICUiAvS9sBLkq1WzT+NFffl6AuoiApi6NT37h6sWkBIRZGkQ8YtLgyji6e1mBYTqCEBPG2Naz+0BWQgtoGoRgCzEsd9hAN1X5BfnFZASUfrSAFQNsyZ1FJASUVpHiLinDJG8U2cBZYogkrcNs5waBAGdstbeU9zdqpw0gPwwSAI6VUxHyFlDpOcHUUBBIuYNs14aZAE5RVwyzPr3/0EAEY0TyfGNjBWQvwZ +CTSbehfAH29mrID8bET0+0EUkAd8WYDOmqJ3ecsG30yr9wqRfm6Y+a1BEFDEjHfHvWmY9ck6CygHvBVr8Xhtb4ZE5HZA3y8DvBNA1TjnrmXWf+sioMwZX5V/VHXMGGMMoKdDCxCRvRWBdzKzdHEO+EisilbPyopHYqp6S9UCAsz4iojI7hUDAtyXVQgIDd6KnOoaWNkbI6FaPSuZGyMArsi7MZoloB4zviI/Nhr3X95jltwTRQmoIfgisy5ai+me67OI7fE4nrqjrqfK1t0eby0FPRB6oGVlchL3rgnfrq19RKbVBdhV9IOSwJmfmJi4vi/4ThERitwyCxVAFqydshuCX5awhQ9KtmuIWd8IDZED/nXT77rvVVv6sHRKwjYi91poqP7Dr+Y6JJ1VSZIMA3wkPNy6bX+o8Bcm0sXMdwM8Fxo0A3xORPaWBp6uPXsmbxCRD0NDL0dOANhVCXy6iAjMcjbcrMt3RITKwdMVRdFo+y5yvkL4eWZ+zHt/ZVD4dEVRNGotpst+dZZZH8k86lqn2pIvT/eqrNfn2xuyqYPZ8mv7s8pfn/8Pybm4TIjanscAAAAASUVORK5CYII=") no-repeat center center;background-size:64px 64px;position:absolute;height:100%;width:100%;opacity:.8;filter:alpha(opacity=80);transition:all 0.2s ease-out}.youtube .play:hover{opacity:1;filter:alpha(opacity=100)}
+ * ======================================================================== */.checkbox label .toggle,.editable-input .editable-checklist>div>label label .toggle,.editable-input .editable-checklist>div>label>span .toggle,.checkbox-inline .toggle{margin-left:-20px;margin-right:5px}.toggle{position:relative;overflow:hidden}.toggle input[type="checkbox"]{display:none}.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left 0.18s ease-in-out;-webkit-transition:left 0.18s ease-in-out;-moz-user-select:none;-webkit-user-select:none}.toggle.off .toggle-group{left:-100%}.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0}.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px;background:#54585a}.toggle.btn{min-width:59px;min-height:34px}.toggle-on.btn{padding-right:24px}.toggle-off.btn{padding-left:24px}.toggle.btn-lg,.btn-group-lg>.toggle.btn{min-width:79px;min-height:45px}.toggle-on.btn-lg,.btn-group-lg>.toggle-on.btn{padding-right:31px}.toggle-off.btn-lg,.btn-group-lg>.toggle-off.btn{padding-left:31px}.toggle-handle.btn-lg,.btn-group-lg>.toggle-handle.btn{width:40px}.toggle.btn-sm,.btn-group-sm>.toggle.btn{min-width:50px;min-height:28px}.toggle-on.btn-sm,.btn-group-sm>.toggle-on.btn{padding-right:10px;padding-left:0}.toggle-off.btn-sm,.btn-group-sm>.toggle-off.btn{padding-left:10px;padding-right:0}.toggle.btn-xs,.btn-group-xs>.toggle.btn{min-width:35px;min-height:22px}.toggle-on.btn-xs,.btn-group-xs>.toggle-on.btn{padding-right:5px}.toggle-off.btn-xs,.btn-group-xs>.toggle-off.btn{padding-left:5px}.checkbox,.editable-input .editable-checklist>div>label{padding-left:20px}.checkbox label,.editable-input .editable-checklist>div>label label,.editable-input .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.checkbox label::before,.editable-input .editable-checklist>div>label label::before,.editable-input .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:3px;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease;transition:border 0.18s ease,color 0.18s ease,background-color 0.18s ease}.checkbox label::after,.editable-input .editable-checklist>div>label label::after,.editable-input .editable-checklist>div>label>span::after{font-family:"Font Awesome 5 Free";content:"\f00c";font-weight:bold;display:inline-block;position:absolute;width:16px;height:16px;left:0;top:0;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease-out;will-change:transform, opacity;margin-left:-20px;padding-left:3px;padding-top:1px;font-size:calc(100% - 1px);color:#adadad}.checkbox input[type="checkbox"],.editable-input .editable-checklist>div>label input[type="checkbox"],.checkbox input[type="radio"],.editable-input .editable-checklist>div>label input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{font-family:"Font Awesome 5 Free";content:"\f00c"}.checkbox input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:checked+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after{transform:scale(1) rotateZ(0deg);opacity:1}.checkbox input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="checkbox"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label input[type="radio"]:indeterminate+label::after,.editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{display:block;content:"";width:10px;height:3px;background-color:#555555;border-radius:2px;margin-left:-16.5px;margin-top:7px}.checkbox input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span,.checkbox input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.checkbox input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="checkbox"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="checkbox"]:disabled+span::before,.checkbox input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label input[type="radio"]:disabled+label::before,.editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before{background-color:#3c3f41;cursor:not-allowed}.checkbox.checkbox-circle label::before,.editable-input .editable-checklist>div>label.checkbox-circle label::before,.checkbox.checkbox-circle .editable-input .editable-checklist>div>label>span::before,.editable-input .checkbox.checkbox-circle .editable-checklist>div>label>span::before,.editable-input .editable-checklist>div>label.checkbox-circle .editable-checklist>div>label>span::before{border-radius:50%}.checkbox.checkbox-inline,.editable-input .editable-checklist>div>label.checkbox-inline{margin-top:0}.checkbox-primary input[type="checkbox"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-primary input[type="radio"]:checked+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-primary input[type="radio"]:checked+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-danger input[type="checkbox"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-danger input[type="radio"]:checked+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-danger input[type="radio"]:checked+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-info input[type="checkbox"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-info input[type="radio"]:checked+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-info input[type="radio"]:checked+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-warning input[type="checkbox"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-warning input[type="radio"]:checked+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-warning input[type="radio"]:checked+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-success input[type="checkbox"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::before,.checkbox-success input[type="radio"]:checked+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:checked+span::after,.checkbox-success input[type="radio"]:checked+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{color:#fff}.checkbox-primary input[type="checkbox"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-primary input[type="radio"]:indeterminate+label::before,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#375959;border-color:#375959}.checkbox-primary input[type="checkbox"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-primary input[type="radio"]:indeterminate+label::after,.checkbox-primary .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-primary .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-danger input[type="checkbox"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-danger input[type="radio"]:indeterminate+label::before,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#a52521;border-color:#a52521}.checkbox-danger input[type="checkbox"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-danger input[type="radio"]:indeterminate+label::after,.checkbox-danger .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-danger .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-info input[type="checkbox"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-info input[type="radio"]:indeterminate+label::before,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#316490;border-color:#316490}.checkbox-info input[type="checkbox"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-info input[type="radio"]:indeterminate+label::after,.checkbox-info .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-info .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-warning input[type="checkbox"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-warning input[type="radio"]:indeterminate+label::before,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#e28a0d;border-color:#e28a0d}.checkbox-warning input[type="checkbox"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-warning input[type="radio"]:indeterminate+label::after,.checkbox-warning .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-warning .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.checkbox-success input[type="checkbox"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::before,.checkbox-success input[type="radio"]:indeterminate+label::before,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::before{background-color:#4f9e4f;border-color:#4f9e4f}.checkbox-success input[type="checkbox"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="checkbox"]:indeterminate+span::after,.checkbox-success input[type="radio"]:indeterminate+label::after,.checkbox-success .editable-input .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after,.editable-input .checkbox-success .editable-checklist>div>label>input[type="radio"]:indeterminate+span::after{background-color:#fff}.radio{padding-left:20px}.radio label,.radio .editable-input .editable-checklist>div>label>span,.editable-input .radio .editable-checklist>div>label>span{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.radio label::before,.radio .editable-input .editable-checklist>div>label>span::before,.editable-input .radio .editable-checklist>div>label>span::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #63676a;border-radius:50%;background-color:#313335;-webkit-transition:border 0.18s ease,color 0.18s ease;transition:border 0.18s ease,color 0.18s ease}.radio label::after,.radio .editable-input .editable-checklist>div>label>span::after,.editable-input .radio .editable-checklist>div>label>span::after{display:inline-block;position:absolute;content:" ";width:11px;height:11px;left:3px;top:3px;opacity:0;transform:scale(2) rotateZ(-20deg);transition:all .18s ease;will-change:transform, opacity;margin-left:-20px;border-radius:50%;background-color:#adadad;-webkit-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition:-webkit-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-moz-transition:-moz-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);-o-transition:-o-transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33);transition:transform 0.18s cubic-bezier(0.8, -0.33, 0.2, 1.33)}.radio input[type="radio"]{opacity:0;z-index:1;cursor:pointer}.radio input[type="radio"]:checked+label::after,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:checked+span::after{-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);opacity:1}.radio input[type="radio"]:disabled+label,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span{opacity:0.65}.radio input[type="radio"]:disabled+label::before,.radio .editable-input .editable-checklist>div>label>input[type="radio"]:disabled+span::before,.editable-input .radio .editable-checklist>div>label>input[type="radio"]:disabled+span::before{cursor:not-allowed}.radio.radio-inline{margin-top:0}.radio-primary input[type="radio"]+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#375959}.radio-primary input[type="radio"]:checked+label::before,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#375959}.radio-primary input[type="radio"]:checked+label::after,.radio-primary .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-primary .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#375959}.radio-danger input[type="radio"]+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#a52521}.radio-danger input[type="radio"]:checked+label::before,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#a52521}.radio-danger input[type="radio"]:checked+label::after,.radio-danger .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-danger .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#a52521}.radio-info input[type="radio"]+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#316490}.radio-info input[type="radio"]:checked+label::before,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#316490}.radio-info input[type="radio"]:checked+label::after,.radio-info .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-info .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#316490}.radio-warning input[type="radio"]+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::before,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#e28a0d}.radio-warning input[type="radio"]:checked+label::after,.radio-warning .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-warning .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#e28a0d}.radio-success input[type="radio"]+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]+span::after{background-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::before,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::before,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::before{border-color:#4f9e4f}.radio-success input[type="radio"]:checked+label::after,.radio-success .editable-input .editable-checklist>div>label>input[type="radio"]:checked+span::after,.editable-input .radio-success .editable-checklist>div>label>input[type="radio"]:checked+span::after{background-color:#4f9e4f}input[type="checkbox"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="checkbox"].styled:checked+span:after,input[type="radio"].styled:checked+label:after,.editable-input .editable-checklist>div>label>input[type="radio"].styled:checked+span:after{font-family:"Font Awesome 5 Free";content:"\f00c"}input[type="checkbox"] .styled:checked+label::before,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::before,input[type="radio"] .styled:checked+label::before,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::before,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::before{color:#fff}input[type="checkbox"] .styled:checked+label::after,input[type="checkbox"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="checkbox"] .editable-checklist>div>label>.styled:checked+span::after,input[type="radio"] .styled:checked+label::after,input[type="radio"] .editable-input .editable-checklist>div>label>.styled:checked+span::after,.editable-input input[type="radio"] .editable-checklist>div>label>.styled:checked+span::after{color:#fff}html{margin:0;padding:0;height:100%;position:relative}body{margin:0;padding:0;min-height:100%;direction:ltr}body.mobile-view-activated.hidden-menu{overflow-x:hidden}body.modal-open{overflow:hidden !important}a:hover,a:active,a:focus,button,button:active,button:focus,object,embed,input::-moz-focus-inner{outline:0}h1,h3,h4{margin:0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.page-title{margin:12px 0 28px}.page-title span{font-size:15px;color:#313335;display:inline-block;vertical-align:1px}label,.editable-input .editable-checklist>div>label>span{font-weight:normal}*:not(td):focus{outline:0 !important}a,input,button{-ms-touch-action:none !important}textarea:focus,select:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{outline:0;outline:thin dotted \9;box-shadow:inset -1px 1px 5px 0 rgba(0,0,0,0.8) !important}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-xs,.form-control{border-radius:0px !important;-webkit-border-radius:0px !important;-moz-border-radius:0px !important}.input-xs{height:24px;padding:2px 10px;font-size:11px;line-height:1.5}.btn-xs,.btn-group-xs>.btn{padding:0px 2px;font-size:10px;line-height:1.3}.btn-sm,.btn-group-sm>.btn{padding:5px 8px 4px}.btn-lg,.btn-group-lg>.btn{padding:10px 16px}.no-space{margin:0}.no-space>[class*="col-"]{margin:0 !important;padding-right:0;padding-left:0}h1{letter-spacing:-1px;font-size:22px;margin:10px 0}h1 small{font-size:12px;font-weight:300;letter-spacing:-1px}h2{font-size:20px;margin:20px 0;line-height:normal}h3{display:block;font-size:17px;font-weight:400;margin:20px 0;line-height:normal}h4{line-height:normal;margin:20px 0 10px 0}h5{font-size:14px;font-weight:300;margin-top:0;margin-bottom:10px;line-height:normal}h6{font-size:13px;margin:10px 0;font-weight:bold;line-height:normal}.row-seperator-header{margin:15px 14px 20px;border-bottom:none;display:block;color:#303133;font-size:20px;font-weight:400}.center-canvas,.center-child-canvas>canvas{display:block !important;margin:0 auto !important}.form-control{box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.form hr{margin-left:-13px;margin-right:-13px;border-color:rgba(0,0,0,0.1);margin-top:20px;margin-bottom:20px}.form fieldset{display:block;border:none;background:rgba(255,255,255,0.9);position:relative}fieldset{position:relative}.popover-content .form-actions{margin:0 -14px -9px;border-radius:0 0 3px 3px;padding:9px 14px}.no-padding .form .form-actions{margin:0;display:block;padding:13px 14px 15px;border-top:1px solid rgba(0,0,0,0.1);background:rgba(248,248,248,0.9);text-align:right;margin-top:25px}.form header,legend{display:block;padding:8px 0;border-bottom:1px dashed rgba(0,0,0,0.2);background:#fff;font-size:16px;font-weight:300;color:#2b2b2b;margin:25px 0px 20px}.no-padding .form header{margin:25px 14px 0}.form header:first-child{margin-top:10px}legend{font-weight:400;margin-top:0px;background:none}.input-group-addon{padding:6px 10px;will-change:background-color, border-color;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-transition:all ease-out 0.15s;transition:all ease-out 0.15s}.input-group-addon .fa{font-size:14px}.input-group-addon .fa-lg,.input-group-addon .fa-2x{font-size:2em}.input-group-addon .fa-3x,.input-group-addon .fa-4x,.input-group-addon .fa-5x{font-size:30px}input[type="text"]:focus+.input-group-addon,input[type="password"]:focus+.input-group-addon,input[type="email"]:focus+.input-group-addon{border-color:#568a89;color:#568a89}.has-warning input[type="text"],.has-warning input[type="text"]+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]+.input-group-addon{background-color:#fbe3c0;color:#2b2b2b}.has-warning input[type="text"]:focus,.has-warning input[type="text"]:focus+.input-group-addon{border-color:#e28a0d}.has-warning input[type="text"]:focus+.input-group-addon{background-color:#e28a0d;color:#fff}.has-error .input-group-addon{border-color:#d9534f !important;background:#d9534f !important;color:#2b2b2b !important}.has-success .input-group-addon{border-color:#4f9e4f !important;background-color:#2b2b2b !important;color:#4f9e4f !important}.form fieldset .form-group:last-child,.form fieldset .form-group:last-child .note,.form .form-group:last-child,.form .form-group:last-child .note{margin-bottom:0}.note{margin-top:6px;padding:0 1px;font-size:11px;line-height:15px;color:#7c8184}.input-icon-right>i,.input-icon-left>i{position:absolute;right:10px;top:10px;font-size:12px;color:#63676a}.input-icon-left>i{right:auto;left:24px}.input-icon-right .form-control{padding-right:27px}.input-icon-left .form-control{padding-left:29px}input[type="text"].ui-autocomplete-loading,input[type="password"].ui-autocomplete-loading,input[type="datetime"].ui-autocomplete-loading,input[type="datetime-local"].ui-autocomplete-loading,input[type="date"].ui-autocomplete-loading,input[type="month"].ui-autocomplete-loading,input[type="time"].ui-autocomplete-loading,input[type="week"].ui-autocomplete-loading,input[type="number"].ui-autocomplete-loading,input[type="email"].ui-autocomplete-loading,input[type="url"].ui-autocomplete-loading,input[type="search"].ui-autocomplete-loading,input[type="tel"].ui-autocomplete-loading,input[type="color"].ui-autocomplete-loading{background-image:url("../../img/select2-spinner.gif") !important;background-repeat:no-repeat;background-position:99% 50%;padding-right:27px}.input-group-addon .checkbox,.input-group-addon .editable-input .editable-checklist>div>label,.editable-input .input-group-addon .editable-checklist>div>label,.input-group-addon .radio{min-height:0px;margin-right:0px !important;padding-top:0}.input-group-addon label input[type="checkbox"].checkbox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span,.input-group-addon label input[type="radio"].radiobox+span,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span,.input-group-addon label input[type="radio"].radiobox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="radio"].radiobox+span:before,.input-group-addon label input[type="checkbox"].checkbox+span:before,.input-group-addon .editable-input .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before,.editable-input .input-group-addon .editable-checklist>div>label>span input[type="checkbox"].checkbox+span:before{margin-right:0px}.alert{margin-bottom:10px;margin-top:0px;padding:5px 15px 5px 34px;color:#675100;border-width:0px;border-left-width:3px;padding:10px}.alert .ui-pnotify-title{line-height:12px}.alert .ui-pnotify-text{font-size:10px}.alert .close{top:0px;right:-5px;line-height:18px}.alert-heading{font-weight:600}.alert-danger{border-color:#a52521;color:#2b2b2b;background:#f6d1d0;text-shadow:none}.alert-danger .ui-pnotify-icon{color:#a52521}.alert-warning{border-color:#e28a0d;color:#2b2b2b;background:#fdedd8}.alert-warning .ui-pnotify-icon{color:#e28a0d}.alert-success{border-color:#4f9e4f;color:#2b2b2b;background:#d1e8d1}.alert-success .ui-pnotify-icon{color:#4f9e4f}.alert-info{border-color:#316490;color:#2b2b2b;background:#abc9e2}.alert-info .ui-pnotify-icon{color:#316490}.progress-micro{height:2px !important;line-height:2px !important}.progress-xs{height:7px !important;line-height:7px !important}.progress-sm{height:14px !important;line-height:14px !important}.progress-lg{height:30px !important;line-height:30px !important}.progress .progress-bar{position:absolute;overflow:hidden;line-height:18px}.progress .progressbar-back-text{position:absolute;width:100%;height:100%;font-size:12px;line-height:20px;text-align:center}.progress .progressbar-front-text{display:block;width:100%;font-size:12px;line-height:20px;text-align:center}.progress.right .progress-bar{right:0}.progress.right .progressbar-front-text{position:absolute;right:0}.progress.vertical{width:25px;height:100%;min-height:150px;margin-right:20px;display:inline-block;margin-bottom:0px}.progress.wide-bar{width:40px}.progress.vertical.bottom{position:relative}.progress.vertical.bottom .progressbar-front-text{position:absolute;bottom:0}.progress.vertical .progress-bar{width:100%;height:0;-webkit-transition:height 0.6s ease;transition:height 0.6s ease}.progress.vertical.bottom .progress-bar{position:absolute;bottom:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{position:relative;margin-bottom:20px;overflow:hidden;height:18px;background:#63676a;-webkit-box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;box-shadow:0 1px 0 transparent,0 0 0 1px #63676a inset;-moz-border-radius:0px;-webkit-border-radius:0px;border-radius:0px}.progress-bar{float:left;width:0;height:100%;font-size:11px;color:#fff;text-align:center;background-color:#428bca;font-weight:bold;-webkit-transition:width 1s ease-in-out,background-color 1s ease-in-out;transition:width 1s ease-in-out,background-color 1s ease-in-out}.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-danger{background-color:#a52521}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-success{background-color:#4f9e4f}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-warning{background-color:#e28a0d}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-bar-info{background-color:#316490}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255,255,255,0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255,255,255,0.15)), color-stop(0.75, rgba(255,255,255,0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0))}.progress-info .bar,.progress .bar-info{background:#316490}.vertical-bars{padding:0;margin:0}.vertical-bars:after{content:"";display:block;height:0;clear:both}.vertical-bars li{padding:14px 0;width:25%;display:block;float:left;text-align:center}.vertical-bars li:first-child{border-left:none}.vertical-bars>li>.progress.vertical:first-child{margin-left:auto}.vertical-bars>li>.progress.vertical{margin:0 auto;float:none}.nav-tabs{border-bottom:none}.nav-tabs>li>a .badge{font-size:11px;padding:3px 5px 3px 5px;opacity:.5;margin-left:5px;min-width:17px;font-weight:normal}.tabs-left .nav-tabs>li>a .badge{margin-right:5px;margin-left:0px}.nav-tabs>li>a .label{display:inline-block;font-size:11px;margin-left:5px;opacity:.5}.nav-tabs>li>a{color:#63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.nav-tabs>li>a:hover{color:#adadad;border-color:transparent transparent #63676a transparent;margin-top:1px;border-top-width:0}.nav-tabs>li.active>a{background-color:#adadad;color:#1d1d1d;border-top-width:0px !important;margin-top:1px !important;font-weight:bold}.tabs-left .nav-tabs>li.active>a{-webkit-box-shadow:-2px 0 0 #428bca;-moz-box-shadow:-2px 0 0 #428bca;box-shadow:-2px 0 0 #428bca;border-top-width:1px !important;border-left:none !important;margin-left:1px !important}.tabs-left .nav-pills>li.active>a{border:none !important;box-shadow:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important}.tabs-right .nav-tabs>li.active>a{-webkit-box-shadow:2px 0 0 #428bca;-moz-box-shadow:2px 0 0 #428bca;box-shadow:2px 0 0 #428bca;border-top-width:1px !important;border-right:none !important;margin-right:1px !important}.tabs-below .nav-tabs>li.active>a{-webkit-box-shadow:0 2px 0 #428bca;-moz-box-shadow:0 2px 0 #428bca;box-shadow:0 2px 0 #428bca;border-bottom-width:0px !important;border-top:none !important;margin-top:0px !important}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li,.tabs-left>.nav-pills>li,.tabs-right>.nav-pills>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a,.tabs-left>.nav-pills>li>a,.tabs-right>.nav-pills>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs,.tabs-left>.nav-pills{float:left;margin-right:19px;border-right:1px solid #9b9b9b}.tabs-left>.nav-pills{border-right:none}.tabs-left>.nav-tabs>li>a{margin-right:-1px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#adadad #949494 #adadad #adadad}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#949494 transparent #949494 #9b9b9b;*border-right-color:#fff}.tabs-left>.tab-content{margin-left:109px}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #9b9b9b}.tabs-right>.nav-tabs>li>a{margin-left:-1px}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#adadad #adadad #adadad #9b9b9b}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#9b9b9b #9b9b9b #9b9b9b transparent;*border-left-color:#fff}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #9b9b9b}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#9b9b9b;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #9b9b9b #9b9b9b #9b9b9b}.nav-tabs.bordered{background:#fff;border:1px solid #9b9b9b}.nav-tabs.bordered>:first-child a{border-left-width:0px !important}.nav-tabs.bordered+.tab-content{border:1px solid #9b9b9b;border-top:none}.tabs-pull-right.nav-tabs>li,.tabs-pull-right.nav-pills>li{float:right}.tabs-pull-right.nav-tabs>li:first-child>a,.tabs-pull-right.nav-pills>li:first-child>a{margin-right:1px}.tabs-pull-right.bordered.nav-tabs>li:first-child>a,.tabs-pull-right.bordered.nav-pills>li:first-child>a{border-left-width:1px !important;margin-right:0px;border-right-width:0px}.dropdown-menu-xs{min-width:37px}.dropdown-menu-xs>li>a{padding:3px 10px}.dropdown-menu-xs>li>a:hover i{color:#fff !important}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu:hover>a{background-color:#63676a;color:#1d1d1d}.dropdown-submenu:hover a:after{border-left-color:#5cb85c}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#2b2b2b;margin-top:4px;margin-right:3px}.dropdown-submenu>a:hover:after{border-left-color:#adadad}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px}.pagination>li>a,.pagination>li>span{box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -2px 0 rgba(0,0,0,0.05)}.btn-default.disabled{color:#adadad}.btn{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;will-change:background-color, border-color;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out;transition:color 0.18s ease-in-out,background-color 0.18s ease-in-out,border-color 0.18s ease-in-out,box-shadow 0.18s ease-in-out}.btn.btn-ribbon{background-color:#707070;background-image:-moz-linear-gradient(top, #777, #666);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#777), to(#666));background-image:-webkit-linear-gradient(top, #777, #666);background-image:-o-linear-gradient(top, #777, #666);background-image:linear-gradient(to bottom, #777777,#666666);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff777777', endColorstr='#ff666666', GradientType=0);color:white;padding:0 5px;line-height:20px;vertical-align:middle;height:20px;display:block;border:none;float:left;margin:0 8px 0 0;cursor:pointer}.btn.btn-ribbon>i{font-size:111%}.ribbon-button-alignment{padding-top:10px;display:inline-block}.ribbon-button-alignment.pull-right>.btn.btn-ribbon{margin:0 0 0 8px}.panel-purple{border-color:#6e587a}.panel-purple>.panel-heading{color:#fff;background-color:#6e587a;border-color:#6e587a}.panel-greenLight{border-color:#71843f}.panel-greenLight>.panel-heading{color:#fff;background-color:#71843f;border-color:#71843f}.panel-greenDark{border-color:#496949}.panel-greenDark>.panel-heading{color:#fff;background-color:#496949;border-color:#496949}.panel-darken{border-color:#313335}.panel-darken>.panel-heading{color:#fff;background-color:#404040;border-color:#404040}.panel-green{border-color:#5cb85c}.panel-green>.panel-heading{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.panel-red{border-color:#d9534f}.panel-red>.panel-heading{color:#fff;background-color:#d9534f;border-color:#d9534f}.panel-teal{border-color:#568a89}.panel-teal>.panel-heading{color:#fff;background-color:#568a89;border-color:#568a89}.panel-orange{border-color:#e28a0d}.panel-orange>.panel-heading{color:#fff;background-color:#e28a0d;border-color:#e28a0d}.panel-blueDark{border-color:#4c4f53}.panel-blueDark>.panel-heading{color:#fff;background-color:#4c4f53;border-color:#4c4f53}.panel-magenta{border-color:#6e3671}.panel-magenta>.panel-heading{color:#fff;background-color:#6e3671;border-color:#6e3671}.panel-blue{border-color:#428bca}.panel-blue>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-footer>.btn-block{border-radius:0px;-moz-border-radius:0px;-webkit-border-radius:0px;border-bottom:none;border-left:none;border-right:none}.btn-circle{width:30px;height:30px;text-align:center;padding:6px 0;font-size:12px;line-height:18px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12);box-shadow:0 1px 6px 0 rgba(0,0,0,0.12),0 1px 6px 0 rgba(0,0,0,0.12)}.btn-circle.btn-sm,.btn-group-sm>.btn-circle.btn{width:22px;height:22px;padding:4px 0;font-size:12px;line-height:14px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-lg,.btn-group-lg>.btn-circle.btn{width:50px;height:50px;padding:10px 15px;font-size:18px;line-height:30px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-circle.btn-xl{width:70px;height:70px;padding:10px 15px;font-size:24px;line-height:50px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.btn-label{position:relative;left:-8px;display:inline-block;padding:5px 8px;background:rgba(0,0,0,0.15);border-radius:2px 0 0 2px}.btn-labeled{padding-top:0;padding-bottom:0;padding-left:8px}.btn-link{box-shadow:none;-webkit-box-shadow:none;font-size:13px}.morris-hover.morris-default-style{border-radius:5px;padding:5px;color:#666;background:rgba(29,29,29,0.9);border:solid 2px #375959;font-family:'Oxygen Bold';font-size:10px;text-align:left;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold}.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap}.morris-hover{position:absolute;z-index:903}.fixed-page-footer .morris-hover{z-index:900}.txt-color.txt-color-blue,.txt-color-blue.pf-help-light,.pf-help-light:hover,.txt-color-blue.pf-help,.pf-help:hover,.txt-color.pf-help-default:hover,.dataTable td.pf-help-default.pf-table-link-cell:hover,.dataTable td.pf-table-link-cell.pf-help-light:hover,.dataTable td.pf-table-link-cell.pf-help:hover,.dataTable td.pf-table-action-cell>.pf-help-default.pf-table-action-icon-cell:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light:hover,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help:hover,.pf-landing .pf-landing-list li>i.pf-help-default:hover,.pf-landing .pf-landing-list li>i.pf-help-light:hover,.pf-landing .pf-landing-list li>i.pf-help:hover,.dataTable td.txt-color-blue.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blue.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blue{color:#428bca !important}.txt-color.txt-color-blueLight,.txt-color-blueLight.pf-help-light,.txt-color-blueLight.pf-help,.dataTable td.txt-color-blueLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueLight{color:#92a2a8 !important}.txt-color.txt-color-blueDark,.txt-color-blueDark.pf-help-light,.txt-color-blueDark.pf-help,.dataTable td.txt-color-blueDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-blueDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-blueDark{color:#4c4f53 !important}.txt-color.txt-color-grayLightest,.txt-color-grayLightest.pf-help-light,.txt-color-grayLightest.pf-help,.dataTable td.txt-color-grayLightest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLightest{color:#eaeaea !important}.txt-color.txt-color-grayLighter,.txt-color-grayLighter.pf-help-light,.txt-color-grayLighter.pf-help,.dataTable td.txt-color-grayLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayLighter{color:#adadad !important}.txt-color.txt-color-grayLight,.pf-help-light,.txt-color-grayLight.pf-help,.dataTable td.txt-color-grayLight.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help-light,.dataTable td.pf-table-action-cell>.txt-color-grayLight.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-help-light,.pf-landing .pf-landing-list li>i.txt-color-grayLight,.pf-landing .pf-landing-list li>i.pf-help-light{color:#63676a !important}.txt-color.txt-color-gray,.txt-color-gray.pf-help-light,.pf-help,.dataTable td.txt-color-gray.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-help,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gray,.pf-landing .pf-landing-list li>i.pf-help{color:#3c3f41 !important}.txt-color.txt-color-grayDark,.txt-color-grayDark.pf-help-light,.txt-color-grayDark.pf-help,.dataTable td.txt-color-grayDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-grayDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-grayDark{color:#313335 !important}.txt-color.txt-color-greenLight,.txt-color-greenLight.pf-help-light,.txt-color-greenLight.pf-help,.dataTable td.txt-color-greenLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenLight{color:#66c84f !important}.txt-color.txt-color-green,.txt-color-green.pf-help-light,.pf-help-light.pf-log-info,.txt-color-green.pf-help,.pf-help.pf-log-info,.dataTable td.txt-color-green.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-info,.dataTable td.pf-table-action-cell>.txt-color-green.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-info,.txt-color.pf-log-info,.pf-landing .pf-landing-list li>i.pf-log-info,.pf-landing .pf-landing-list li>i.txt-color-green{color:#5cb85c !important}.txt-color.txt-color-greenDark,.txt-color-greenDark.pf-help-light,.txt-color-greenDark.pf-help,.dataTable td.txt-color-greenDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-greenDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-greenDark{color:#4f9e4f !important}.txt-color.txt-color-redLight,.txt-color-redLight.pf-help-light,.txt-color-redLight.pf-help,.dataTable td.txt-color-redLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redLight{color:#a65858 !important}.txt-color.txt-color-red,.txt-color-red.pf-help-light,.pf-help-light.pf-log-error,.txt-color-red.pf-help,.pf-help.pf-log-error,.dataTable td.txt-color-red.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-error,.dataTable td.pf-table-action-cell>.txt-color-red.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-error,.txt-color.pf-log-error,.pf-landing .pf-landing-list li>i.pf-log-error,.pf-landing .pf-landing-list li>i.txt-color-red{color:#d9534f !important}.txt-color.txt-color-redDarker,.txt-color-redDarker.pf-help-light,.txt-color-redDarker.pf-help,.dataTable td.txt-color-redDarker.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-redDarker.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-redDarker{color:#a52521 !important}.txt-color.txt-color-yellow,.txt-color-yellow.pf-help-light,.txt-color-yellow.pf-help,.dataTable td.txt-color-yellow.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellow.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellow{color:#e2ce48 !important}.txt-color.txt-color-yellowDark,.txt-color-yellowDark.pf-help-light,.txt-color-yellowDark.pf-help,.dataTable td.txt-color-yellowDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-yellowDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-yellowDark{color:#c8b847 !important}.txt-color.txt-color-orangeLight,.txt-color-orangeLight.pf-help-light,.txt-color-orangeLight.pf-help,.dataTable td.txt-color-orangeLight.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeLight.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeLight{color:#f0ad4e !important}.txt-color.txt-color-orange,.txt-color-orange.pf-help-light,.txt-color-orange.pf-help,.dataTable td.txt-color-orange.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orange.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell:hover>.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orange{color:#e28a0d !important}.txt-color.txt-color-orangeDark,.txt-color-orangeDark.pf-help-light,.txt-color-orangeDark.pf-help,.dataTable td.txt-color-orangeDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-orangeDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-orangeDark{color:#c2760c !important}.txt-color.txt-color-pink,.txt-color-pink.pf-help-light,.txt-color-pink.pf-help,.dataTable td.txt-color-pink.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pink.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pink{color:#e06fdf !important}.txt-color.txt-color-pinkDark,.txt-color-pinkDark.pf-help-light,.txt-color-pinkDark.pf-help,.dataTable td.txt-color-pinkDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-pinkDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-pinkDark{color:#a8829f !important}.txt-color.txt-color-purple,.txt-color-purple.pf-help-light,.txt-color-purple.pf-help,.dataTable td.txt-color-purple.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-purple.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-purple{color:#6e587a !important}.txt-color.txt-color-darken,.txt-color-darken.pf-help-light,.txt-color-darken.pf-help,.dataTable td.txt-color-darken.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-darken.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-darken{color:#404040 !important}.txt-color.txt-color-lighten,.txt-color-lighten.pf-help-light,.txt-color-lighten.pf-help,.dataTable td.txt-color-lighten.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-lighten.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-lighten{color:#d5e7ec !important}.txt-color.txt-color-white,.txt-color-white.pf-help-light,.txt-color-white.pf-help,.dataTable td.txt-color-white.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-white.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-white{color:#fff !important}.txt-color.txt-color-magenta,.txt-color-magenta.pf-help-light,.txt-color-magenta.pf-help,.dataTable td.txt-color-magenta.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-magenta.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-magenta{color:#6e3671 !important}.txt-color.txt-color-tealLightest,.txt-color-tealLightest.pf-help-light,.txt-color-tealLightest.pf-help,.dataTable td.txt-color-tealLightest.pf-table-link-cell,.dataTable td.pf-table-link-cell:hover,.dataTable td.pf-table-action-cell>.txt-color-tealLightest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-tealLightest{color:#6caead !important}.txt-color.txt-color-tealLighter,.txt-color-tealLighter.pf-help-light,.txt-color-tealLighter.pf-help,.dataTable td.txt-color-tealLighter.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-tealLighter.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i{color:#568a89 !important}.txt-color.txt-color-teal,.txt-color-teal.pf-help-light,.txt-color-teal.pf-help,.dataTable td.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-teal.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>td.pf-table-action-icon-cell.pf-table-link-cell,.pf-landing .pf-landing-list li>i.txt-color-teal{color:#477372 !important}.txt-color.txt-color-indigoDark,.txt-color-indigoDark.pf-help-light,.txt-color-indigoDark.pf-help,.dataTable td.txt-color-indigoDark.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDark.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDark{color:#5c6bc0 !important}.txt-color.txt-color-indigoDarkest,.txt-color-indigoDarkest.pf-help-light,.txt-color-indigoDarkest.pf-help,.dataTable td.txt-color-indigoDarkest.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-indigoDarkest.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-indigoDarkest{color:#313966 !important}.txt-color.txt-color-gold,.txt-color-gold.pf-help-light,.txt-color-gold.pf-help,.dataTable td.txt-color-gold.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-gold.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-gold{color:#cfb53b !important}.txt-color.txt-color-silver,.txt-color-silver.pf-help-light,.txt-color-silver.pf-help,.dataTable td.txt-color-silver.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-silver.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-silver{color:silver !important}.txt-color.txt-color-bronze,.txt-color-bronze.pf-help-light,.txt-color-bronze.pf-help,.dataTable td.txt-color-bronze.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-bronze.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-bronze{color:#8c7853 !important}.txt-color.txt-color-primary,.txt-color-primary.pf-help-light,.txt-color-primary.pf-help,.dataTable td.txt-color-primary.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-primary.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-primary{color:#375959 !important}.txt-color.txt-color-success,.txt-color-success.pf-help-light,.txt-color-success.pf-help,.dataTable td.txt-color-success.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-success.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-success{color:#4f9e4f !important}.txt-color.txt-color-information,.txt-color-information.pf-help-light,.txt-color-information.pf-help,.dataTable td.txt-color-information.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-information.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-information{color:#316490 !important}.txt-color.txt-color-info,.txt-color-info.pf-help-light,.txt-color-info.pf-help,.dataTable td.txt-color-info.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-info.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-info{color:#316490 !important}.txt-color.txt-color-warning,.txt-color-warning.pf-help-light,.pf-help-light.pf-log-warning,.txt-color-warning.pf-help,.pf-help.pf-log-warning,.dataTable td.txt-color-warning.pf-table-link-cell,.dataTable td.pf-table-link-cell.pf-log-warning,.dataTable td.pf-table-action-cell>.txt-color-warning.pf-table-action-icon-cell,.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell.pf-log-warning,.txt-color.pf-log-warning,.pf-landing .pf-landing-list li>i.pf-log-warning,.pf-landing .pf-landing-list li>i.txt-color-warning{color:#e28a0d !important}.txt-color.txt-color-danger,.txt-color-danger.pf-help-light,.txt-color-danger.pf-help,.dataTable td.txt-color-danger.pf-table-link-cell,.dataTable td.pf-table-action-cell>.txt-color-danger.pf-table-action-icon-cell,.pf-landing .pf-landing-list li>i.txt-color-danger{color:#a52521 !important}.bg-color.bg-color-blue{background-color:#428bca !important}.bg-color.bg-color-blueLight{background-color:#92a2a8 !important}.bg-color.bg-color-blueDark{background-color:#4c4f53 !important}.bg-color.bg-color-green{background-color:#5cb85c !important}.bg-color.bg-color-greenLight{background-color:#71843f !important}.bg-color.bg-color-greenDark{background-color:#496949 !important}.bg-color.bg-color-red{background-color:#d9534f !important}.bg-color.bg-color-yellow{background-color:#e2ce48 !important}.bg-color.bg-color-orange{background-color:#e28a0d !important}.bg-color.bg-color-orangeDark{background-color:#c2760c !important}.bg-color.bg-color-pink{background-color:#e06fdf !important}.bg-color.bg-color-pinkDark{background-color:#a8829f !important}.bg-color.bg-color-purple{background-color:#6e587a !important}.bg-color.bg-color-darken{background-color:#404040 !important}.bg-color.bg-color-lighten{background-color:#d5e7ec !important}.bg-color.bg-color-white{background-color:#fff !important}.bg-color.bg-color-gray{background-color:#3c3f41 !important}.bg-color.bg-color-grayDark{background-color:#525252 !important}.bg-color.bg-color-grayDarker{background-color:#2b2b2b !important}.bg-color.bg-color-magenta{background-color:#6e3671 !important}.bg-color.bg-color-tealLighter{background-color:#568a89 !important}.bg-color.bg-color-tealDarker{background-color:#212C30 !important}.bg-color.bg-color-tealDarkest{background-color:#1b2326 !important}.bg-color.bg-color-redLight{background-color:#a65858 !important}.pf-animation-slide-in{-moz-animation-duration:1.2s;-webkit-animation-duration:1.2s;-moz-animation-name:pfSlideIn;-webkit-animation-name:pfSlideIn;position:relative}@-webkit-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-moz-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-ms-keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@keyframes pfSlideIn{from{opacity:0;top:-20px}to{opacity:1;top:0px}}@-webkit-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-moz-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@-ms-keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}@keyframes pfPulseDanger{0%{fill:#d9534f}50%{fill:#58100d}100%{fill:#d9534f}}.pf-animation-pulse-success{-webkit-animation:pulseBackgroundSuccess 1s 1;animation:pulseBackgroundSuccess 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-success .sorting_1{-webkit-animation:pulseBackgroundSuccessActive 1s 1;animation:pulseBackgroundSuccessActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning{-webkit-animation:pulseBackgroundWarning 1s 1;animation:pulseBackgroundWarning 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-warning .sorting_1{-webkit-animation:pulseBackgroundWarningActive 1s 1;animation:pulseBackgroundWarningActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-danger{-webkit-animation:pulseBackgroundDanger 1s 1;animation:pulseBackgroundDanger 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}.pf-animation-pulse-danger .sorting_1{-webkit-animation:pulseBackgroundDangerActive 1s 1;animation:pulseBackgroundDangerActive 1s 1;-webkit-animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38);animation-timing-function:cubic-bezier(0.53, -0.03, 0.68, 0.38)}@-webkit-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-moz-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-ms-keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@keyframes pulseBackgroundSuccess{10%{background-color:#4f9e4f;color:#313335}}@-webkit-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-moz-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-ms-keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@keyframes pulseBackgroundSuccessActive{10%{background-color:#478d47;color:#313335}}@-webkit-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@keyframes pulseBackgroundWarning{10%{background-color:#e28a0d;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-moz-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-ms-keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@keyframes pulseBackgroundWarningActive{10%{background-color:#ca7b0c;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-moz-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-ms-keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@keyframes pulseBackgroundDanger{10%{background-color:#d9534f;color:#2b2b2b}}@-webkit-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@-moz-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@-ms-keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}@keyframes pulseBackgroundDangerActive{10%{background-color:#d43f3a;color:#2b2b2b}}.pf-animate-rotate,.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{-webkit-transition:all 0.08s linear;transition:all 0.08s linear}.pf-animate-rotate.right,.modal-content h2.right[data-toggle="collapse"]:after,.modal-content h4.right[data-toggle="collapse"]:after,.panel-body h2.right[data-toggle="collapse"]:after,.panel-body h4.right[data-toggle="collapse"]:after{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.pf-animate-rotate.left,.modal-content h2.left[data-toggle="collapse"]:after,.modal-content h4.left[data-toggle="collapse"]:after,.panel-body h2.left[data-toggle="collapse"]:after,.panel-body h4.left[data-toggle="collapse"]:after{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}@font-face{font-family:'Triglavian';font-style:normal;font-weight:900;src:url("../../fonts/triglavian-regular.eot");src:url("../../fonts/triglavian-regular.eot?#iefix") format("embedded-opentype"),url("../../fonts/triglavian-regular.woff2") format("woff2"),url("../../fonts/triglavian-regular.woff") format("woff"),url("../../fonts/triglavian-regular.ttf") format("truetype")}.pf-triglivian{font-family:'Triglavian';font-weight:900}body{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.pf-body{overflow:hidden}a,.pf-link{color:#477372;will-change:color;text-decoration:none;cursor:pointer;-webkit-transition:color 0.08s ease-out,background-color 0.08s ease-out;transition:color 0.08s ease-out,background-color 0.08s ease-out}a:hover,.pf-link:hover{color:#6caead;text-decoration:none}a:focus,.pf-link:focus{color:#477372}em{font-style:italic}em.pf-brand{text-transform:uppercase}.pf-font-capitalize{text-transform:capitalize}.pf-font-line-through{text-decoration:line-through}.no-padding{padding:0 !important}::-webkit-scrollbar{display:none;width:16px;height:16px}::-webkit-scrollbar-track{background-color:#2b2b2b;border-left:1px solid #313335;border-radius:2px;-webkit-transition:background-color 0.5s;transition:background-color 0.5s}::-webkit-scrollbar-thumb{height:6px;border:5px solid transparent;background-clip:padding-box;-webkit-border-radius:8px;background-color:#868c90}::-webkit-scrollbar-thumb:hover{background-color:#a1a5a8}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}::selection{background:#adadad;color:#1d1d1d}::-moz-selection{background:#adadad;color:#1d1d1d}.pf-help-default,.pf-help-light,.pf-help{cursor:help;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.pf-dialog-icon-button,.pf-system-signature-module .pf-sig-table .fa-plus,.pf-system-route-module .pf-system-route-table td .fa-sync,.pf-system-route-module .pf-system-route-table td .fa-search{cursor:pointer;margin-top:2px;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-dialog-icon-button:not(.collapsed),.pf-system-signature-module .pf-sig-table .fa-plus:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-sync:not(.collapsed),.pf-system-route-module .pf-system-route-table td .fa-search:not(.collapsed),.pf-dialog-icon-button:hover,.pf-system-signature-module .pf-sig-table .fa-plus:hover,.pf-system-route-module .pf-system-route-table td .fa-sync:hover,.pf-system-route-module .pf-system-route-table td .fa-search:hover{color:#e28a0d}.pf-module-icon-button{cursor:pointer;color:#63676a;-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out}.pf-module-icon-button:hover,.pf-module-icon-button.active{color:#e28a0d !important}.pf-module-icon-button.editable{border-bottom:none !important}.pf-module-icon-button-copy{cursor:copy;-moz-user-select:text;user-select:text}a.disabled{color:#777;pointer-events:none;cursor:default}.alert{will-change:opacity, transform}.editable-input .pf-editable-name{text-transform:uppercase}.editable-input optgroup[label]{background-color:#3c3f41;color:#63676a}.editable-input optgroup[label] option{background-color:#313335;color:#adadad;font-family:Consolas,monospace,Menlo,Monaco,"Courier New"}.editable-input .editable-checklist>div>label{display:block !important;padding-left:20px !important;color:#adadad}.editable-input .editable-checklist>div>label>span:after{top:-2px}.editable-input .editable-checklist .pf-editable-unknown[value='0']+span{color:#d9534f}select:active,select:hover{outline:none}select:active,select:hover{outline-color:red}.select2-results .select2-results__options--nested .select2-results__option{padding-left:15px}.select2-results [class*="col-"]{padding-left:3px;padding-right:3px}.select2-results .clearfix.pf-result-image [class*="col-"]{line-height:22px}.select2 ::-webkit-search-cancel-button{-webkit-appearance:none !important}.select2 .select2-selection__choice__remove{float:left}.select2 .select2-selection--multiple input{box-shadow:none !important}.dataTables_wrapper .dataTables_length select{margin:0 3px}.dataTables_wrapper .dt-buttons .dt-button{padding:0 5px}.dataTables_wrapper .dt-buttons .dt-button:not(:last-child){margin-right:10px}.dataTables_wrapper .dt-buttons .dt-button .fa{margin-right:5px}.dataTable th.pf-table-image-cell,.dataTable th.pf-table-image-small-cell,.dataTable th.pf-table-image-smaller-cell{padding-left:0 !important;padding-right:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable th.sorting,.dataTable th.sorting_asc,.dataTable th.sorting_desc{padding-right:18px !important}.dataTable tr.group{background-color:rgba(43,43,43,0.4)}.dataTable td.editable-disabled:focus{outline:none;background-color:transparent}.dataTable td.editable-click:not(.editable-disabled){cursor:pointer}.dataTable td:focus,.dataTable td.editable-open{outline:1px solid #c2760c;outline-offset:-1px;background-color:rgba(194,118,12,0.08)}.dataTable td>.fa-circle{font-size:9px !important}.dataTable td.pf-table-link-cell{cursor:pointer;-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-action-cell{cursor:pointer}.dataTable td.pf-table-action-cell>.pf-table-action-icon-cell{-webkit-transition:color 0.08s ease-out;transition:color 0.08s ease-out}.dataTable td.pf-table-image-cell{padding:0 !important;image-rendering:-webkit-optimize-contrast}.dataTable td.pf-table-image-cell img{width:26px;box-sizing:content-box;border-left:1px solid #3c3f41;border-right:1px solid #3c3f41}.dataTable td.pf-table-image-small-cell img{width:24px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-image-smaller-cell{padding:0 !important}.dataTable td.pf-table-image-smaller-cell img{width:25px;border-left:1px solid transparent;border-right:1px solid transparent}.dataTable td.pf-table-button-sm-cell{padding:0 5px}.dataTable td.pf-table-counter-cell{color:#63676a}.dataTable td.pf-table-counter-cell .pf-digit-counter-small{width:20px;display:inline-block;font-size:10px}.dataTable td.pf-table-counter-cell .pf-digit-counter-large{width:26px;display:inline-block;font-size:10px}.dataTable td .pf-table-unknown-cell{color:#d9534f;font-style:italic}.dataTable td .pf-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataTable td .pf-table-cell-80{width:90px}.dataTable td .pf-table-cell-90{width:100px}.dataTable td .pf-table-cell-100{width:110px}.dataTable td.separator-right,.dataTable th.separator-right{border-right:1px solid #3c3f41}.dataTable td svg.peity,.dataTable th svg.peity{display:block}table.pf-table-fixed{width:100%;table-layout:fixed}table tr.collapsing{-webkit-transition:height 0.01s ease;transition:height 0.01s ease}table tr.collapse.in{display:table-row !important}table td.pf-table-cell-10,table th.pf-table-cell-10{width:10px}table td.pf-table-cell-20,table th.pf-table-cell-20{width:20px}table td.pf-table-cell-ellipses-auto,table th.pf-table-cell-ellipses-auto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-table-tools{height:45px}.pf-table-tools>.btn-labeled:not(:last-child){margin-right:10px}.pf-table-tools-action{will-change:height, opacity;opacity:0;display:none;height:0;overflow:hidden}.pf-loading-overlay{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;background:#2b2b2b;z-index:1060;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-loading-overlay .pf-loading-overlay-wrapper{width:25px;height:25px;margin:auto;text-align:center;position:absolute;top:0;left:0;bottom:0;right:0}.pf-loading-overlay .pf-loading-overlay-wrapper i{padding:3px}.navbar-header-block{width:100%}.navbar-header-block .navbar-nav{width:100%}.navbar-nav li:not(.disabled):not(.hide-before):hover:before,.navbar-nav li:not(.disabled):not(.hide-before).active:before{top:-4px;opacity:1}.navbar-nav li:not(.disabled):not(.hide-before):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,top;-webkit-transition:top 0.15s ease-out,opacity 0.15s ease-out;transition:top 0.15s ease-out,opacity 0.15s ease-out;width:100%;height:2px;top:0}.pf-navbar-version-info{cursor:pointer}.pf-site{will-change:transform}.sb-slidebar{will-change:transform}.sb-left .list-group-item{cursor:pointer;-webkit-box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset -10px 0px 5px -5px rgba(0,0,0,0.4)}.sb-right .list-group-item{cursor:pointer;-webkit-box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4);box-shadow:inset 10px 0px 5px -5px rgba(0,0,0,0.4)}.list-group-item.disabled:after{content:'\f023';font-family:'Font Awesome 5 Free';font-weight:bold;color:#2b2b2b;position:absolute;right:8px}.mCSB_container,.mCSB_dragger{will-change:top, left}.pf-timestamp-counter{visibility:hidden}.pf-map-type-private{color:#7986cb}.pf-map-type-corporation{color:#5cb85c}.pf-map-type-alliance{color:#428bca}.pf-map-type-global{color:#568a89}#pf-map-module{margin:20px 10px 0 10px}#pf-map-module #pf-map-tabs a[role="tab"]:hover .pf-map-tab-handler:before{color:#e28a0d}#pf-map-module #pf-map-tabs .pf-map-tab-handler:before{content:'\22EE\22EE\00A0';display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;color:#63676a;width:12px;transition:color 0.15s ease-out, background-color 0.15s ease-out;pointer-events:all}#pf-map-module #pf-map-tabs .pf-map-type-tab-default{border-top:2px solid transparent}#pf-map-module #pf-map-tabs .pf-map-type-tab-private{border-top:2px solid #7986cb}#pf-map-module #pf-map-tabs .pf-map-type-tab-corporation{border-top:2px solid #5cb85c}#pf-map-module #pf-map-tabs .pf-map-type-tab-alliance{border-top:2px solid #428bca}#pf-map-module #pf-map-tabs .pf-map-type-tab-global{border-top:2px solid #568a89}#pf-map-module #pf-map-tabs .pf-map-tab-icon{margin-right:3px}#pf-map-module #pf-map-tabs .pf-map-tab-shared-icon{margin-left:3px}.pf-map-content-row{margin-top:10px;padding-bottom:40px}.pf-map-content-row .pf-module{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background:rgba(60,63,65,0.27);padding:10px;width:100%;margin-bottom:10px;will-change:height, transform, opacity;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-content-row .pf-module:before{content:'';position:absolute;top:0;left:0;border-style:solid;border-width:0 0 9px 9px;border-color:transparent transparent transparent #3c3f41;cursor:ns-resize}.pf-map-content-row .pf-module .label{margin-bottom:10px}.pf-map-content-row .pf-module .pf-dynamic-area{background:rgba(43,43,43,0.4)}.pf-map-content-row .pf-module .pf-module-head{margin-bottom:10px}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag{display:inline-block;cursor:-moz-grab !important;cursor:-webkit-grab !important;cursor:grab !important;transition:color 0.15s ease-out}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:before{content:'\22EE\22EE\00A0'}.pf-map-content-row .pf-module .pf-module-head .pf-module-handler-drag:hover{color:#f0ad4e}.pf-map-content-row .pf-module .pf-module-head h5{display:inline-block;line-height:16px;margin-bottom:0}.pf-map-content-row .pf-module .pf-module-head h5 .pf-module-icon-button{margin-left:5px}.pf-map-content-row .pf-module .pf-module-table{font-size:11px;white-space:nowrap}.pf-map-content-row .pf-module-spacer{margin-bottom:10px}.pf-user-status{color:#a52521}.pf-user-status-corp{color:#5cb85c}.pf-user-status-ally{color:#428bca}.pf-user-status-own{color:#7986cb}.pf-system-effect{display:none;color:#adadad;cursor:help}.pf-system-effect-magnetar{color:#e06fdf;display:inline-block}.pf-system-effect-redgiant{color:#d9534f;display:inline-block}.pf-system-effect-pulsar{color:#428bca;display:inline-block}.pf-system-effect-wolfrayet{color:#e28a0d;display:inline-block}.pf-system-effect-cataclysmic{color:#ffb;display:inline-block}.pf-system-effect-blackhole{color:#000;display:inline-block}.pf-rally,.pf-system-info-rally .pf-system-head{text-shadow:1px 1px 2px #1d1d1d;background-color:#782d77;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjEuMCIgeDI9IjAuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiMzZTI2NGUiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzNlMjY0ZSIvPjxzdG9wIG9mZnNldD0iNzUlIiBzdG9wLWNvbG9yPSIjM2UyNjRlIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-moz-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:-webkit-linear-gradient(135deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-image:linear-gradient(-45deg, #3e264e 25%,rgba(0,0,0,0) 25%,rgba(0,0,0,0) 50%,#3e264e 50%,#3e264e 75%,rgba(0,0,0,0) 75%,rgba(0,0,0,0));background-size:25px 25px;-webkit-animation:move 2.5s linear infinite;-moz-animation:move 2.5s linear infinite;-ms-animation:move 2.5s linear infinite;animation:move 2.5s linear infinite}.pf-system-security-0-0{color:#be0000}.pf-system-security-0-1{color:#ab2600}.pf-system-security-0-2{color:#be3900}.pf-system-security-0-3{color:#c24e02}.pf-system-security-0-4{color:#ab5f00}.pf-system-security-0-5{color:#bebe00}.pf-system-security-0-6{color:#73bf26}.pf-system-security-0-7{color:#00bf00}.pf-system-security-0-8{color:#00bf39}.pf-system-security-0-9{color:#39bf99}.pf-system-security-1-0{color:#28c0bf}.pf-system-sec{margin-right:5px;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab}.pf-system-sec-highSec{color:#5cb85c}.pf-system-sec-lowSec{color:#e28a0d}.pf-system-sec-nullSec{color:#d9534f}.pf-system-sec-high{color:#d9534f}.pf-system-sec-mid{color:#e28a0d}.pf-system-sec-low{color:#428bca}.pf-system-sec-unknown{color:#7986cb}.pf-system-sec-abyssal{color:#e06fdf}.pf-system-status-friendly{border-color:#428bca !important;color:#428bca}.pf-system-status-occupied{border-color:#e28a0d !important;color:#e28a0d}.pf-system-status-hostile{border-color:#d9534f !important;color:#d9534f}.pf-system-status-empty{border-color:#5cb85c !important;color:#5cb85c}.pf-system-status-unscanned{border-color:#568a89 !important;color:#568a89}.pf-system-info-status-label{background-color:#63676a;color:#000;will-change:background-color;-webkit-transition:background-color 0.3s ease-out;transition:background-color 0.3s ease-out}.pf-system-info-status-label.pf-system-status-friendly{background-color:#428bca}.pf-system-info-status-label.pf-system-status-occupied{background-color:#e28a0d}.pf-system-info-status-label.pf-system-status-hostile{background-color:#d9534f}.pf-system-info-status-label.pf-system-status-empty{background-color:#5cb85c}.pf-system-info-status-label.pf-system-status-unscanned{background-color:#568a89}.pf-system-hidden{opacity:0.15 !important;pointer-events:none}.pf-system-effect-dialog-wrapper .table,.pf-jump-info-dialog .table{margin:15px 0}.pf-system-effect-dialog-wrapper .table td,.pf-jump-info-dialog .table td{text-transform:capitalize}.pf-fake-connection{box-sizing:content-box;display:inline-block;width:70px;height:4px;border-top:2px solid #63676a;border-bottom:2px solid #63676a;background-color:#3c3f41;position:relative;font-size:10px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-fake-connection.pf-map-connection-stargate{background-color:#313966;border-color:#63676a}.pf-fake-connection.pf-map-connection-jumpbridge{background-color:#6caead;border-color:#3c3f41;background:repeating-linear-gradient(to right, #6caead, #6caead 10px, #3c3f41 10px, #3c3f41 20px)}.pf-fake-connection.pf-map-connection-abyssal{background-color:#5a225a;border-color:#3c3f41;background:repeating-linear-gradient(to right, #5a225a, #5a225a 5px, #3c3f41 5px, #3c3f41 10px)}.pf-fake-connection.pf-map-connection-wh-eol{border-color:#d747d6}.pf-fake-connection.pf-map-connection-wh-reduced{background-color:#e28a0d}.pf-fake-connection.pf-map-connection-wh-critical{background-color:#a52521}.pf-fake-connection.pf-map-connection-frig{border-style:dashed;border-left:none;border-right:none}.pf-fake-connection.pf-map-connection-frig:after{content:'frig';background-color:#e28a0d;color:#1d1d1d;padding:0px 3px;position:absolute;left:25px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-fake-connection.pf-map-connection-preserve-mass:after{content:'save mass';background-color:#a52521;color:#eaeaea;padding:0px 3px;position:absolute;left:8px;top:-6px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.pf-structure-status-unknown{color:#568a89}.pf-structure-status-online{color:#5cb85c}.pf-structure-status-offline{color:#a52521}.tooltip-inner{color:#adadad;background-color:#3c3f41;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;padding:5px 5px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.modal .tooltip{z-index:1060}.modal .tooltip .tooltip-inner{color:#313335;background-color:#adadad}.tooltip.top .tooltip-arrow{border-top-color:#63676a}.tooltip.right .tooltip-arrow{border-right-color:#63676a}.tooltip.bottom .tooltip-arrow{border-bottom-color:#63676a}.tooltip.left .tooltip-arrow{border-left-color:#63676a}td.pf-popover-trigger:hover{color:#477372}.pf-notransition{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.pf-dynamic-area{padding:10px;min-height:100px;position:relative;background-color:#313335;overflow:hidden;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-dynamic-area .dl-horizontal{margin-bottom:0}.pf-dynamic-area .dl-horizontal dd{min-width:100px}.pf-dynamic-area .dl-horizontal dd.txt-color,.pf-dynamic-area .dl-horizontal dd.pf-help-light,.pf-dynamic-area .dl-horizontal dd.pf-help,.pf-dynamic-area .dl-horizontal .dataTable td.pf-table-action-cell>dd.pf-table-action-icon-cell,.dataTable .pf-dynamic-area .dl-horizontal td.pf-table-action-cell>dd.pf-table-action-icon-cell{font-weight:bold}.pf-dynamic-area>[class~='alert']:last-of-type{margin-bottom:0}.pf-code-ObjectBrace{color:#782d77;font-weight:bold}.pf-code-ArrayBrace{color:#3e264e;font-weight:bold}.pf-code-PropertyName{color:#1d1d1d;font-weight:bold}.pf-code-String{color:#e28a0d}.pf-code-Number{color:#4f9e4f}.pf-code-Boolean{color:#313966;font-weight:bold}.pf-code-Function{color:#782d77}.pf-code-Null{color:#2b2b2b;font-weight:bold}.pf-code-Comma{color:#1d1d1d;font-weight:bold}code .fas,code .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list code li>i,code .far,code .fab{color:#3c3f41;cursor:pointer}#pf-logo-wrapper{display:block}#pf-head{margin-bottom:0px}#pf-head a{-webkit-transition:color 0.15s ease-out;transition:color 0.15s ease-out;will-change:color}#pf-head a:focus{color:#477372}#pf-head a:focus img{border-color:#3c3f41}#pf-head a:hover{text-decoration:none}#pf-head a:hover .badge{color:#6caead}#pf-head a:hover img{border-color:#568a89}#pf-head i{margin-right:2px}#pf-head .pf-brand-desc{margin:6px 10px 0 90px;width:180px}#pf-head .pf-head-menu{padding:3px 10px;line-height:24px}#pf-head .pf-head-menu .pf-head-menu-logo{width:24px;height:24px;display:inline-block;float:left}#pf-head .pf-head-user-character,#pf-head .pf-head-user-ship{opacity:0;visibility:hidden}#pf-head .pf-head-active-user{cursor:pointer}#pf-head .pf-head-active-user,#pf-head #pf-head-current-location{display:none}#pf-head .pf-head-active-user .badge,#pf-head #pf-head-current-location .badge{-webkit-transition:color 0.3s ease-out;transition:color 0.3s ease-out}#pf-head .pf-head-user-character-image,#pf-head .pf-head-user-ship-image{display:inline-block;margin-top:-6px;margin-bottom:-6px;width:27px;border:1px solid #3c3f41;margin-right:3px;image-rendering:-webkit-optimize-contrast;-webkit-transition:border-color 0.15s ease-out;transition:border-color 0.15s ease-out;will-change:border-color}#pf-head .pf-head-program-status{cursor:pointer}#pf-head .navbar-text{min-width:60px}#pf-head .tooltip .tooltip-inner{color:#adadad}.pf-head{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-head .badge{background-color:#3c3f41;color:#adadad}.pf-head small{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}#pf-footer{position:absolute;bottom:0;left:0;width:100%;margin:0;background:rgba(60,63,65,0.3)}#pf-footer a{font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#375959}#pf-footer a:hover{color:#477372;text-decoration:none}.navbar-fixed-bottom{padding:2px 0}.navbar-fixed-bottom .container-fluid{padding-left:0;padding-right:0}.pf-menu-clock{position:absolute;bottom:0;width:100%;padding:6px 8px;text-align:center}#pf-global-info{position:absolute;left:0;bottom:32px;width:100%;height:32px;margin-bottom:0}.panel-reverse-order{display:table;width:100%}.panel-reverse-order .reverse-order-header{display:table-header-group}.panel-reverse-order .reverse-order-footer{display:table-footer-group}.pf-sortable-ghost{will-change:opacity;transition:opacity 0.2s ease-out;opacity:0.7 !important}.pf-sortable-ghost .pf-module-handler-drag{color:#f0ad4e;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}@-webkit-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-moz-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@-ms-keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}@keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}.pf-animate{visibility:hidden;opacity:0}.pf-color-line{position:fixed;top:0;left:0;width:100%;height:3px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzY2Yzg0ZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #66c84f),color-stop(100%, #66c84f));background-image:-moz-linear-gradient(left, #66c84f,#66c84f 100%);background-image:-webkit-linear-gradient(left, #66c84f,#66c84f 100%);background-image:linear-gradient(to right, #66c84f,#66c84f 100%)}.pf-color-line.warning{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2UyOGEwZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #e28a0d),color-stop(100%, #e28a0d));background-image:-moz-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:-webkit-linear-gradient(left, #e28a0d,#e28a0d 100%);background-image:linear-gradient(to right, #e28a0d,#e28a0d 100%)}.pf-color-line.danger{background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E1MjUyMSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #a52521),color-stop(100%, #a52521));background-image:-moz-linear-gradient(left, #a52521,#a52521 100%);background-image:-webkit-linear-gradient(left, #a52521,#a52521 100%);background-image:linear-gradient(to right, #a52521,#a52521 100%)}.pf-splash{position:absolute;z-index:2000;background-color:#1d1d1d;color:#63676a;top:0;bottom:0;left:0;right:0;will-change:opacity}.pf-splash:not(.pf-splash-warning):not(.pf-splash-error){cursor:wait}.pf-splash .pf-splash-title{position:fixed;left:50%;top:30%;text-align:center;max-width:500px;padding:20px;-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pf-splash .pf-splash-debug{position:absolute;bottom:0;width:100%}.pf-splash .pf-splash-debug .pf-splash-debug-headline{padding:0 10px}.pf-splash .pf-splash-debug .pf-splash-pre{margin-bottom:0}@media (max-width: 1200px){.pf-landing #pf-logo-container{margin:5px auto}.pf-landing .pf-brand-desc{display:none}.pf-landing .navbar .navbar-brand{margin-left:10px}}.pf-landing section:not(:last-of-type){border-bottom:1px solid #2b2b2b}.pf-landing section{min-height:200px;padding:20px 0 40px 0}.pf-landing section h4:not(.pf-dynamic-area){font-size:18px;font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;margin:5px 0 10px 0;border-bottom:1px solid #2b2b2b;line-height:34px}.pf-landing .container>.row{margin-bottom:30px}.pf-landing .alert{box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]{position:relative;display:inline-block;overflow:hidden;margin:5px 0 15px 0;box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing a[data-gallery]:before{content:'\f06e';font-family:'Font Awesome 5 Free';font-size:20px;color:#e28a0d;position:absolute;height:100%;width:100%;z-index:10;-webkit-transition:transform 0.1s ease-out,opacity 0.1s ease-out;transition:transform 0.1s ease-out,opacity 0.1s ease-out;will-change:transform, opacity;transform:scale(1.3, 1.3);opacity:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.pf-landing a[data-gallery]:hover img{border-color:#6caead;-webkit-filter:brightness(50%);filter:brightness(50%)}.pf-landing a[data-gallery]:hover:before{-webkit-transition-delay:.05s;transition-delay:.05s;transform:scale(1, 1);opacity:1}.pf-landing a[data-gallery] .pf-landing-image-preview{border-width:1px;border-style:solid;border-color:#1d1d1d;display:inline-block;will-change:all;-webkit-filter:brightness(100%);filter:brightness(100%);-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-small{height:160px}.pf-landing a[data-gallery] .pf-landing-image-preview.pf-landing-image-preview-medium{height:256px}#pf-landing-top{height:355px;border-bottom:1px solid #313335;position:relative}#pf-landing-top:before{content:'';width:100%;height:100%;position:absolute;background:url("../../img/pf-bg.jpg") #05050a;background-repeat:no-repeat;background-position:0 0;-webkit-filter:brightness(.9);filter:brightness(.9)}#pf-landing-top #pf-logo-container{-moz-transform:scale3d(0.8, 0.8, 1);-ms-transform:scale3d(0.8, 0.8, 1);-webkit-transform:scale3d(0.8, 0.8, 1);transform:scale3d(0.8, 0.8, 1)}#pf-landing-top #pf-header-container{position:absolute;width:100%;background-position:center center}#pf-landing-top #pf-header-container #pf-header-canvas{position:absolute;visibility:hidden;top:0;left:0}#pf-landing-top #pf-header-container #pf-logo-container{z-index:110}#pf-landing-top #pf-header-container #pf-header-preview-container{position:absolute;left:400px;width:590px;height:350px;top:37px}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element{position:relative;margin-left:12px;margin-top:12px;height:155px;width:180px;padding:7px;opacity:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-color:rgba(43,43,43,0.5)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:nth-child(n+4){box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-top #pf-header-container #pf-header-preview-container .pf-header-preview-element:after{content:'';position:absolute;width:calc(100% - 14px);height:calc(100% - 14px);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-repeat:no-repeat;background-position:50% 50%;background-color:rgba(29,29,29,0.75)}#pf-landing-top .container{position:relative;margin-top:10px}#pf-header-preview-intel:after{background-image:url("../../img/landing/intel.png")}#pf-header-preview-map:after{background-image:url("../../img/landing/map.png")}#pf-header-preview-scope:after{background-image:url("../../img/landing/scope.png")}#pf-header-preview-signature:after{background-image:url("../../img/landing/signature.png")}#pf-header-preview-data:after{background-image:url("../../img/landing/data.png")}#pf-header-preview-gameplay:after{background-image:url("../../img/landing/gameplay.png")}#pf-landing-login{padding-top:40px;padding-bottom:30px}#pf-landing-login .row{margin-bottom:0}#pf-landing-login .pf-character-selection>div:not(.pf-character-row-animate){-webkit-transition:width 0.2s ease,margin 0.2s ease;transition:width 0.2s ease,margin 0.2s ease}#pf-landing-login .pf-dynamic-area{display:inline-block;margin:10px 5px 20px 5px;padding:10px 10px 5px 10px;min-width:155px;min-height:184px;overflow:visible;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}#pf-landing-login .pf-dynamic-area .ribbon-wrapper{z-index:5}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper{opacity:0;width:128px;border:2px solid #63676a;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);will-change:border-color, transition;overflow:hidden;cursor:pointer;display:inline-block;background-color:#2b2b2b;box-sizing:content-box}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover{border-color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-name{color:#4f9e4f}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper:hover .pf-character-image{-webkit-filter:grayscale(50%);filter:grayscale(50%)}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper.pf-character-active:after{font-family:"Font Awesome 5 Free";content:"\f111";font-weight:bold;position:absolute;top:5px;left:5px;height:14px;width:14px;color:#5cb85c;font-size:10px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image{overflow:hidden;width:128px;height:128px;position:relative}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info{position:absolute;top:0;left:0;width:0;height:100%;color:#adadad;background:rgba(60,63,65,0.8);overflow:hidden;will-change:width, transition;padding:10px 0}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-select-image .pf-character-info .pf-character-info-text{line-height:25px}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-name{font-size:13px;line-height:30px;border-top:1px solid #313335;color:#adadad;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}#pf-landing-login .pf-dynamic-area .pf-character-image-wrapper .pf-character-image{-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out;-webkit-filter:grayscale(0%);filter:grayscale(0%)}#pf-landing-login .pf-sso-login-button{position:relative;display:inline-block;width:270px;height:45px;border:none;margin-bottom:10px;background-color:transparent;background-image:url("../../img/landing/eve_sso_login_buttons_large_black_hover.png");cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,0.2);-webkit-transition:box-shadow 0.12s ease-out;transition:box-shadow 0.12s ease-out;will-change:box-shadow}#pf-landing-login .pf-sso-login-button:after{content:' ';position:absolute;width:270px;height:45px;left:0;top:0;background-image:url("../../img/landing/eve_sso_login_buttons_large_black.png");-webkit-transition:opacity 0.12s ease-in-out;transition:opacity 0.12s ease-in-out;will-change:opacity}#pf-landing-login .pf-sso-login-button:hover{box-shadow:0 4px 5px rgba(0,0,0,0.2)}#pf-landing-login .pf-sso-login-button:hover:after{opacity:0}#pf-landing-login .pf-sso-login-button.disabled{pointer-events:auto}#pf-landing-login #pf-notification-panel{display:none}#pf-header-map{position:relative;margin:0 auto;height:380px;width:600px;pointer-events:none}#pf-header-map .pf-header-svg-layer{position:absolute;top:0;left:0;right:0;bottom:0}#pf-header-map #pf-header-systems{z-index:100}#pf-header-map #pf-header-connectors{z-index:90}#pf-header-map #pf-header-connections{z-index:80}#pf-header-map #pf-header-background{z-index:70}#pf-header-map #pf-header-background .pf-header-system{display:none}#pf-header-map-bg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}#pf-header-map-bg img{pointer-events:none}#pf-header-map-bg #pf-map-bg-image{opacity:0;position:absolute;bottom:0;right:0;width:100%;height:100%}#pf-header-map-bg #pf-map-neocom{opacity:0;height:665px;width:21px}#pf-header-map-bg #pf-map-browser{opacity:0;position:absolute;top:110px;left:21px;height:560px;width:515px}#pf-landing-gallery-carousel{background-image:url("../../img/pf-header-bg.jpg")}#pf-landing-gallery-carousel .slide-content{border-radius:5px;pointer-events:none}#pf-landing-gallery-carousel h3{width:100%;text-align:left}.pf-landing-pricing-panel{margin-top:20px}.pricing-big{position:relative;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pricing-big .panel-heading{border-color:#3c3f41}.pricing-big .the-price{padding:1px 0;background:#2d3031;text-align:center}.pricing-big .the-price .subscript{font-size:12px;color:#63676a}.pricing-big .price-features{background:#3c3f41;color:#adadad;padding:20px 15px;line-height:22px}.pricing-big .price-features:not(.price-features-fluid){min-height:205px}.pricing-big .price-features .list-unstyled.text-left li,.pricing-big .price-features .text-left.list-inline li{text-indent:-1em;padding-left:1.5em}.pricing-big .price-features .list-unstyled.text-left li .fa,.pricing-big .price-features .text-left.list-inline li .fa{text-indent:0}.pricing-big table tr td{line-height:1}#pf-landing-admin .pf-landing-admin-login{margin-bottom:0}#pf-landing-about .pf-landing-about-me{width:256px;height:256px;border:none;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4)}.pf-landing-footer{padding:30px 0;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;background-color:#171717}.pf-landing-footer .row{margin-bottom:0 !important}.pf-landing-footer .pf-social-networks>li{display:inline-block;line-height:1}.pf-landing-footer .pf-social-networks>li a{display:inline-block;background:rgba(99,103,106,0.5);line-height:24px;text-align:center;font-size:14px;margin-right:3px;padding:6px 6px 2px 6px;width:36px}.pf-body[data-script='admin'] .navbar-brand:hover{color:#777}.pf-body[data-script='admin'] .panel{text-align:initial}.pf-body[data-script='admin'] .panel h3 img{position:absolute;right:0;top:0;margin:4px 14px 0 0;border-radius:30%}.pf-body[data-script='admin'] .form-horizontal .panel{color:#adadad}#pf-static-logo-svg{opacity:0;position:absolute;z-index:105;overflow:visible}#pf-static-logo-svg path{will-change:fill, opacity, transform, translateZ, translateX, translateY;pointer-events:all;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.logo-ploygon-top-right{fill:#477372;fill-rule:evenodd;stroke:#477372;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-left{fill:#5cb85c;fill-rule:evenodd;stroke:#5cb85c;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-bottom-right{fill:#375959;fill-rule:evenodd;stroke:#375959;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1}.logo-ploygon-top-left{fill:#63676a;fill-opacity:1;fill-rule:evenodd;stroke:#63676a;stroke-width:0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1}@-webkit-keyframes bounce{0%, 20%, 50%, 80%, 100%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-8px)}60%{-webkit-transform:translateY(-4px)}}@keyframes bounce{0%, 20%, 50%, 80%, 100%{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}#pf-map-tab-element{max-width:2535px;margin:0 auto}.pf-map-tab-content .pf-map-wrapper{position:relative;resize:vertical;width:100%;height:555px;max-width:2535px;max-height:1000px;min-height:250px;overflow:auto;padding:5px;background:rgba(43,43,43,0.93);box-shadow:inset -3px 3px 10px 0 rgba(0,0,0,0.3);will-change:width, height;border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-width:1px;border-style:solid;border-color:#313335}.pf-map-tab-content .pf-map-wrapper:before{content:'';position:absolute;bottom:0;right:0;border-style:solid;border-width:14px 14px 0 0;border-color:transparent #313335 transparent transparent;cursor:nwse-resize}.pf-map-tab-content .pf-map-wrapper:focus,.pf-map-tab-content .pf-map-wrapper:hover{border:1px solid #3c3f41}.pf-map-tab-content .pf-map-wrapper:focus:before,.pf-map-tab-content .pf-map-wrapper:hover:before{border-color:transparent #3c3f41 transparent transparent}.pf-map-overlay{position:absolute;display:none;z-index:10000;right:26px;background:rgba(0,0,0,0.25);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.pf-map-overlay.pf-map-overlay-timer{bottom:23px;width:36px;height:36px}.pf-map-overlay.pf-map-overlay-info{top:8px;height:36px;min-height:36px;min-width:36px;padding:3px 3px 3px 8px;line-height:26px}.pf-map-overlay.pf-map-overlay-info i{margin:0;margin-top:5px;width:0;height:26px;opacity:0;color:#63676a;transform:scale(0);transform-origin:50% 50% 0px;-webkit-transition:color 0.18s ease-in-out;transition:color 0.18s ease-in-out;cursor:help;will-change:all}.pf-map-overlay.pf-map-overlay-info i.fas,.pf-map-overlay.pf-map-overlay-info .pf-landing .pf-landing-list li>i,.pf-landing .pf-landing-list .pf-map-overlay.pf-map-overlay-info li>i,.pf-map-overlay.pf-map-overlay-info i.far{font-size:20px}.pf-map-overlay.pf-map-overlay-info i.glyphicon{margin-top:1px;font-size:22px;padding-left:3px}.pf-map-overlay.pf-map-overlay-info i.active,.pf-map-overlay.pf-map-overlay-info i:hover{color:#c2760c}.pf-map-overlay.pf-map-overlay-local{top:54px;min-height:80px;width:32px;display:block;will-change:width}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content{margin-right:36px;padding:5px 0 5px 5px;overflow:hidden}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline{font-size:12px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .badge{margin-left:5px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-headline .pf-system-sec{cursor:default}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table{font-size:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-local-table td{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_paginate,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .dataTables_empty{white-space:nowrap}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-icon{vertical-align:0;margin-top:14px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-content .pf-map-overlay-toolbar .pf-map-overlay-toolbar-checkbox{display:inline-block;margin-bottom:0}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main{position:absolute;top:0;right:0;height:100%;padding:3px;width:32px;cursor:pointer;text-align:center;border-left:1px solid #2b2b2b}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger{margin-bottom:10px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger:hover,.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main .pf-map-overlay-local-trigger.right{color:#c2760c}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-main i{font-size:12px}.pf-map-overlay.pf-map-overlay-local .pf-map-overlay-local-jumps{position:absolute;bottom:5px;width:calc(100% - 6px)}.pf-map-overlay.pf-map-overlay-local .badge{font-family:Arial, sans-serif;background-color:#2b2b2b}.pf-grid-small:before{content:' ';display:block;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0.6;background:url('data:image/png;base64,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') !important}.pf-map{width:2500px;height:1500px;position:relative;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.pf-map .jsplumb-overlay{opacity:1;pointer-events:none;will-change:opacity;-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out}.pf-map .jsplumb-hover.jsplumb-overlay{opacity:0 !important}.pf-map .jsplumb-hover:not(.jsplumb-overlay){-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce}.pf-map .jsplumb-target-hover,.pf-map .jsplumb-source-hover{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:linear;animation-timing-function:linear;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-webkit-animation-name:bounce;animation-name:bounce;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3)}.pf-map .pf-system{position:absolute;min-width:60px;height:auto;overflow:hidden;background-color:#313335;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:100;will-change:top, left, opacity;border-width:2px;border-style:solid;border-color:#63676a;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;transition:border-color 0.2s ease-out,box-shadow 0.12s ease-out,opacity 0.12s ease-out;-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.pf-map .pf-system:hover{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.3);box-shadow:0 6px 12px rgba(0,0,0,0.3);-moz-transform:translate3d(0, -1px, 0) !important;-ms-transform:translate3d(0, -1px, 0) !important;-webkit-transform:translate3d(0, -1px, 0) !important;transform:translate3d(0, -1px, 0) !important}.pf-map .pf-system:hover:not(.jsPlumb_dragged){z-index:1040 !important}.pf-map .pf-system .pf-system-head{padding:0 3px 0 3px;cursor:pointer;font-family:Arial, sans-serif;font-weight:bold;white-space:nowrap}.pf-map .pf-system .pf-system-head .pf-system-head-name{border:none;display:inline-block;min-width:50px;color:#adadad;margin-right:2px}.pf-map .pf-system .pf-system-head .pf-system-head-counter{display:inline-block;text-align:right;min-width:8px;margin-right:1px;color:#5cb85c;cursor:help}.pf-map .pf-system .pf-system-head .pf-system-head-counter:empty{display:none}.pf-map .pf-system .pf-system-head .pf-system-effect{font-size:11px}.pf-map .pf-system .pf-system-head .fa-lock{font-size:11px;display:none}.pf-map .pf-system .pf-system-head .pf-system-head-expand{margin-left:2px;color:#63676a;width:10px;display:none}.pf-map .pf-system .pf-system-head .editable-empty{font-style:normal}.pf-map .pf-system .pf-system-head-info{display:flex;color:#7c8184;font-size:10px;line-height:10px;padding-right:1px;margin-bottom:2px}.pf-map .pf-system .pf-system-head-info [class^="pf-system-sec-"]{cursor:help}.pf-map .pf-system .pf-system-head-info-left{flex:1}.pf-map .pf-system .pf-system-head-info-right{flex:1;text-align:right}.pf-map .pf-system .pf-system-body{height:0px;width:100%;overflow:hidden;cursor:-moz-grab;cursor:-webkit-grab;cursor:grab;padding:0 4px;white-space:nowrap;display:none;will-change:width;border-top-width:1px;border-top-style:dashed;border-top-color:#63676a}.pf-map .pf-system .pf-system-body .pf-system-body-item{position:relative;color:#7c8184;font-size:10px;line-height:16px;height:16px}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-right{float:right;color:#f0ad4e;width:50px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:none}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-user-status{font-size:6px;width:10px;vertical-align:middle}.pf-map .pf-system .pf-system-body .pf-system-body-item .pf-system-body-item-name{position:absolute;display:inline-block;width:calc(100% - 10px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pf-map .pf-system .tooltip.in{opacity:1}.pf-map .pf-system .tooltip .tooltip-inner{color:#313335;background-color:#adadad;padding:3px 3px}.pf-map .pf-system-active:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#ffb 0px 0px 8px 0px;box-shadow:#ffb 0px 0px 8px 0px}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target),.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target){-webkit-box-shadow:#58100d 0px 0px 8px 0px;box-shadow:#58100d 0px 0px 8px 0px;background-color:#58100d}.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-head,.pf-map .pf-system-selected:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body,.pf-map .jsPlumb_dragged:not(.pf-map-endpoint-source):not(.pf-map-endpoint-target) .pf-system-body{background-color:#58100d}.pf-map .pf-system-locked .pf-system-sec{cursor:default !important}.pf-map .pf-system-locked .pf-system-body{cursor:default !important}.pf-map .pf-system-locked .fa-lock{color:#63676a !important;display:inline-block !important}.pf-map .pf-system-debug{position:absolute;color:#fff;font-size:10px;line-height:22px;text-align:center;pointer-events:none;z-index:500}.pf-map .pf-map-endpoint-source,.pf-map .pf-map-endpoint-target{z-index:90}.pf-map .pf-map-endpoint-source svg,.pf-map .pf-map-endpoint-target svg{overflow:visible}.pf-map .pf-map-endpoint-source svg circle,.pf-map .pf-map-endpoint-target svg circle{-webkit-transition:stroke 0.18s ease-out,fill 0.18s ease-out;transition:stroke 0.18s ease-out,fill 0.18s ease-out}.pf-map .pf-map-endpoint-source svg *,.pf-map .pf-map-endpoint-target svg *{stroke:#63676a;stroke-width:2;fill:#3c3f41;cursor:pointer}.pf-map .pf-map-endpoint-source:hover circle,.pf-map .pf-map-endpoint-target:hover circle{stroke:#e28a0d !important}.pf-map .pf-map-endpoint-source.jsplumb-hover,.pf-map .pf-map-endpoint-target.jsplumb-hover{z-index:95}.pf-map .pf-map-endpoint-source.jsplumb-dragging circle,.pf-map .pf-map-endpoint-target.jsplumb-dragging circle{stroke:#e28a0d}.pf-map .jsplumb-endpoint-drop-allowed circle{stroke:#5cb85c !important;fill:#5cb85c !important}.pf-map .jsplumb-endpoint-drop-forbidden circle{stroke:#a52521 !important;fill:#a52521 !important}.pf-map svg.jsplumb-connector{cursor:pointer;stroke-linecap:round;-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out;will-change:all}.pf-map svg.jsplumb-connector path{-webkit-transition:stroke 0.18s ease-out;transition:stroke 0.18s ease-out}.pf-map svg.jsplumb-connector path:nth-child(2){stroke:#3c3f41}.pf-map svg.jsplumb-connector path:first-child{stroke:#63676a}.pf-map svg.jsplumb-connector.jsplumb-hover{z-index:80;filter:drop-shadow(-3px 3px 4px rgba(0,0,0,0.3))}.pf-map svg.jsplumb-connector.jsplumb-hover:not(.pf-map-connection-jumpbridge):not(.pf-map-connection-abyssal) path:first-child{stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-jumpbridge path:nth-child(2),.pf-map svg.jsplumb-connector.jsplumb-hover.pf-map-connection-abyssal path:nth-child(2){stroke:#eaeaea}.pf-map svg.jsplumb-connector.jsplumb-dragging{-webkit-transition:opacity 0.18s ease-out;transition:opacity 0.18s ease-out;opacity:0.4;z-index:80}.pf-map svg.pf-map-connection-abyssal{z-index:40}.pf-map svg.pf-map-connection-abyssal path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal path:nth-child(2){stroke:#5a225a}.pf-map svg.pf-map-connection-abyssal:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-abyssal:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-jumpbridge{z-index:50}.pf-map svg.pf-map-connection-jumpbridge path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge path:nth-child(2){stroke:#568a89}.pf-map svg.pf-map-connection-jumpbridge:hover path:first-child{stroke:rgba(255,255,255,0)}.pf-map svg.pf-map-connection-jumpbridge:hover path:nth-child(2){stroke:#eaeaea}.pf-map svg.pf-map-connection-stargate{z-index:60}.pf-map svg.pf-map-connection-stargate path:first-child{stroke:#63676a}.pf-map svg.pf-map-connection-stargate path:nth-child(2){stroke:#313966}.pf-map svg.pf-map-connection-stargate:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-fresh,.pf-map svg.pf-map-connection-wh-reduced,.pf-map svg.pf-map-connection-wh-critical,.pf-map svg.pf-map-connection-wh-eol{z-index:70}.pf-map svg.pf-map-connection-wh-eol path:first-child{stroke:#d747d6}.pf-map svg.pf-map-connection-wh-eol:hover path:first-child{stroke:#eaeaea}.pf-map svg.pf-map-connection-wh-reduced path:nth-child(2){stroke:#e28a0d}.pf-map svg.pf-map-connection-wh-critical path:nth-child(2){stroke:#a52521}.pf-map svg.pf-map-connection-active{filter:drop-shadow(0px 0px 3px #ffb)}.pf-map .pf-map-connection-overlay{padding:1px 4px;font-size:10px;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.4);box-shadow:0 6px 12px rgba(0,0,0,0.4)}.pf-map .frig{background-color:#f0ad4e;color:#1d1d1d}.pf-map .mass{background-color:#a52521;color:#eaeaea}.pf-map .eol{background-color:#3c3f41;color:#d747d6}.pf-map .pf-map-connection-arrow-overlay{stroke:#313335;fill:#5cb85c}.pf-map .pf-map-connection-diamond-overlay{stroke:#313335;fill:#d9534f;animation-name:pfPulseDanger;animation-duration:4s;animation-iteration-count:infinite}.pf-map .pf-map-connection-small-overlay{filter:blur(0px);-webkit-font-smoothing:antialiased;font-family:Arial, sans-serif;padding:2px;font-size:9.5px;line-height:100%;z-index:1020;background-color:#3c3f41;color:#adadad;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.3);box-shadow:0 3px 6px rgba(0,0,0,0.3)}.ui-dialog-content label,.ui-dialog-content .editable-input .editable-checklist>div>label>span,.editable-input .ui-dialog-content .editable-checklist>div>label>span{min-width:60px}.dropdown-menu{min-width:150px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;z-index:1050;will-change:opacity, top, left, transform}.dropdown-menu a{cursor:pointer}.dropdown-menu i{width:20px;pointer-events:none}.dropdown-menu .dropdown-menu{border-top-left-radius:0;border-bottom-left-radius:0;clip-path:inset(-12px -12px -12px 0px)}.dropdown-menu[role]>li:not(.disabled){position:relative}.dropdown-menu[role]>li:not(.disabled):before{content:'';position:absolute;background-color:#5cb85c;opacity:0;will-change:opacity,left;-webkit-transition:left 0.15s ease-out,opacity 0.15s ease-out;transition:left 0.15s ease-out,opacity 0.15s ease-out;width:2px;height:100%;left:0}.dropdown-menu[role]>li:not(.disabled):hover:before{left:-4px;opacity:1}.dropdown-menu>li.disabled{cursor:not-allowed;pointer-events:none}.dropdown-menu>li>a{padding:3px 8px}.pf-system-tooltip-inner{color:#adadad;padding:2px 4px;min-width:25px;-webkit-transition:color 0.2s ease-out;transition:color 0.2s ease-out}.pf-system-info-module h5{text-transform:capitalize}.pf-system-info-module .pf-system-info-description-area{min-height:124px}.pf-system-info-module .pf-system-info-description-area .editable-container{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group{width:100%}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input{width:calc(100% - 75px)}.pf-system-info-module .pf-system-info-description-area .editable-container .editableform .form-group .editable-input textarea{width:100%;max-height:200px;resize:vertical}.pf-system-signature-module .progress-label-right{margin-right:20px;vertical-align:middle;font-size:11px}.pf-system-signature-module .pf-system-progress-scanned{display:inline-block;margin-left:20px;width:calc(100% - 225px)}.pf-system-signature-module .pf-system-progress-scanned .progress{margin-bottom:3px}.pf-system-signature-module .pf-sig-table-clear-button{will-change:opacity, transform;display:none;color:#a52521}.pf-system-signature-module .pf-sig-table{font-size:10px}.pf-system-signature-module .pf-sig-table .pf-sig-table-edit-name-input{text-transform:uppercase}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline{display:inline}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline .control-group{display:inline}.pf-system-signature-module .pf-sig-table .editable-container.editable-inline .control-group .editable-input{display:inline}.pf-system-signature-module .pf-sig-table .pf-editable-description{width:100%;background-color:#2b2b2b;max-height:50px;font-size:11px;line-height:14px;padding:3px 6px}.pf-system-signature-module .pf-sig-table-secondary th{pointer-events:none}.pf-system-signature-module .pf-sig-table-secondary th:after{display:none !important}.pf-system-signature-module .pf-sig-table-secondary th.pf-table-counter-cell{color:transparent}.pf-system-graph-module .pf-system-graph{position:relative;width:100%;height:100px}.pf-system-route-module .pf-system-route-table{width:100%;font-size:10px}.pf-system-route-module .pf-system-route-table td{text-transform:capitalize}.pf-system-route-module .pf-system-route-table td>.fas,.pf-system-route-module .pf-system-route-table td>.far{font-size:10px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection{display:none;width:12px;height:3px;cursor:pointer}.pf-system-route-module .pf-system-route-table td .pf-fake-connection[data-disabled]{cursor:initial}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig{width:32px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-frig:after{left:4px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass{width:26px}.pf-system-route-module .pf-system-route-table td .pf-fake-connection.pf-map-connection-preserve-mass:after{content:"\f071";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;left:4px}.pf-system-route-module .pf-system-route-table td.pf-table-jump-cell .pf-fake-connection{display:inline-block}.pf-system-intel-module .pf-system-structure-table{font-size:10px}.pf-system-killboard-module .pf-system-killboard-graph-kills{width:100%;height:100px;position:relative;margin-bottom:30px}.pf-system-killboard-module .pf-system-killboard-list{padding-bottom:10px;border-bottom:1px solid #2b2b2b}.pf-system-killboard-module .pf-system-killboard-list>li{margin-left:0;overflow:visible;min-height:50px;will-change:transform, opacity, margin-left;-webkit-transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7);transition:margin-left 0.12s cubic-bezier(0.3, 0.8, 0.8, 1.7)}.pf-system-killboard-module .pf-system-killboard-list>li h5{white-space:nowrap}.pf-system-killboard-module .pf-system-killboard-list>li h3{width:120px;display:inline-block}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char{display:inline;width:32px;margin-top:9px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-char:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally{display:inline;width:20px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-corp:hover,.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ally:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship{width:50px;margin-right:10px;border:1px solid #2b2b2b;will-change:border-color;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-webkit-transition:border-color 0.12s ease-out;transition:border-color 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li .pf-system-killboard-img-ship:hover{border-color:#568a89}.pf-system-killboard-module .pf-system-killboard-list>li:before{content:"\f054";font-family:"Font Awesome 5 Free";font-weight:bold;position:absolute;z-index:10;left:-18px;top:15px;color:#477372;opacity:0;will-change:opacity, left;-webkit-transition:all 0.12s ease-out;transition:all 0.12s ease-out}.pf-system-killboard-module .pf-system-killboard-list>li:hover{margin-left:10px}.pf-system-killboard-module .pf-system-killboard-list>li:hover:before{opacity:1;left:-15px}.pf-connection-info-module .row{display:flex;align-items:stretch;flex-wrap:wrap}.pf-connection-info-module .pf-dynamic-area{display:flex;justify-content:center;align-items:center;margin-bottom:10px;min-height:inherit}.pf-connection-info-module .pf-connection-info-table{width:100%;font-size:10px}.pf-connection-info-module .pf-connection-info-table td>.fas,.pf-connection-info-module .pf-connection-info-table td>.far{font-size:10px}input,select{background-color:#313335;color:#adadad;border:1px solid #63676a;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}input:focus,select:focus{border-color:#568a89}input:-webkit-autofill,select:-webkit-autofill{background-color:#313335 !important;-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input:-webkit-autofill:focus,select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 50px #313335 inset !important;box-shadow:0 0 0 50px #313335 inset !important;-webkit-text-fill-color:#adadad}input::-webkit-file-upload-button,select::-webkit-file-upload-button{background-color:transparent;border:none;color:#63676a;outline:none}input[disabled]::-moz-placeholder,select[disabled]::-moz-placeholder{color:transparent;opacity:1}input[disabled]:-ms-input-placeholder,select[disabled]:-ms-input-placeholder{color:transparent}input[disabled]::-webkit-input-placeholder,select[disabled]::-webkit-input-placeholder{color:transparent}input.pf-select2,select.pf-select2{height:32px;padding:6px 12px}textarea{min-height:32px;max-height:400px;resize:vertical}fieldset[disabled] .form-control{color:#63676a}fieldset[disabled] .form-control::-moz-placeholder{color:transparent;opacity:1}fieldset[disabled] .form-control:-ms-input-placeholder{color:transparent}fieldset[disabled] .form-control::-webkit-input-placeholder{color:transparent}fieldset[disabled] .input-icon-left .fa-stack i:last-child,fieldset[disabled] .input-icon-right .fa-stack i:last-child{color:#3c3f41}#select2-pf-map-dialog-edit-icon-select-container,#select2-pf-map-dialog-new-icon-select-container,#select2-pf-map-dialog-new-icon-select-results,#select2-pf-map-dialog-edit-icon-select-results,.pf-form-icon-field{font-family:"Font Awesome 5 Free";font-weight:bold}#select2-pf-map-dialog-edit-icon-select-container option,#select2-pf-map-dialog-new-icon-select-container option,#select2-pf-map-dialog-new-icon-select-results option,#select2-pf-map-dialog-edit-icon-select-results option,.pf-form-icon-field option{font-family:inherit;font-weight:inherit}.input-icon-left:not(.input-icon-right) .fa-stack:first-child{left:14px}.input-icon-right:not(.input-icon-left) .fa-stack:first-child{right:14px}.input-icon-left.input-icon-right .fa-stack:first-child{left:14px}.input-icon-left.input-icon-right .fa-stack:nth-child(2){right:14px}.input-icon-left .fa-stack,.input-icon-right .fa-stack{position:absolute;top:4px}.input-icon-left .fa-stack i:first-child,.input-icon-right .fa-stack i:first-child{color:#63676a}.input-icon-left .fa-stack i:last-child,.input-icon-right .fa-stack i:last-child{color:#313335}.btn.btn-fake{border:none;text-align:left;cursor:default;opacity:1 !important;color:#63676a !important;background-color:#3c3f41 !important}.btn .btn-progress{position:absolute;display:block;height:100%;background-color:rgba(92,184,92,0.2);max-width:100%;width:0;top:0;left:0;overflow:hidden;line-height:30px;color:#f0ad4e;font-size:10px;text-align:left;-webkit-transition:width 0.1s linear;transition:width 0.1s linear}.pf-form-dropzone{border:2px dashed #2b2b2b;height:100px;background-color:#353739;text-align:center;font-size:20px;line-height:100px;margin:15px 0;color:#2b2b2b;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:color 0.18s ease-out,border-color 0.18s ease-out;transition:color 0.18s ease-out,border-color 0.18s ease-out}.pf-form-dropzone:hover{color:#568a89;border-color:#568a89;cursor:-moz-grabbing;cursor:-webkit-grabbing;cursor:grabbing}.toggle.btn:active{box-shadow:none}.pf-form-field-char-count{display:block;margin-top:10px}.pf-icon{display:inline-block}.pf-icon.disabled{opacity:0.5;color:#63676a}.pf-icon-dotlan,.pf-icon-anoik{position:relative;display:inline-block;width:17px;height:17px;opacity:0.8;margin:-5px 0px 0 10px}.pf-icon-dotlan:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,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') no-repeat}.pf-icon-anoik:after{content:'';position:absolute;left:0;right:0;height:17px;width:17px;margin-top:4px;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMAUExURRoQEB4PERwRCx0SDRoTDSQQDiERDhgUExwTEx4UDyQUEiAWEiYVDSoUDigUFC4TEB0YEiIXEyAaFScYFiQZFSkYEi0XEzEWEzQXECAcGyYbGCoaGC4ZGSIdGDQZFyIeHSUeFS0cFiwcGjEbFiEgGiUfGioeFikeGjEeEzQdGTEfGTodFjkdGiwhHS4hGTUfHyojGTEhHiUlHjcgGykkHjMiGy8jIEIfGzkiHT8hGj4hHzsjGjkjIzEmIjMmHjUlIycpJTclHi8oHjwkIC4oI0MlHUIlIj4nIj0nJkglIjspIkEoHzIsJjYrJzsqJzkrI0wnHSwvLDAvKEcpIUYpJjYuJEAsIT8sJUMrJjouKjYwKkwtJUstKj8xKUcvKkYvLz4yLkIxLkQxKjo0LkYyJlMuKEsxKD01Ki85NFExKVAyL0I2MlgxJk00MEU3Ljo6Mkk2Lz85M0k3NFgzMlU2Lk45LVY3ND8+OEo8M007OU87NFQ6NUk9OVM6OkU/OUc/NERBNWI6L01BPUREPVpBQVxCPVNFPElJQVNGQldFQllFPk9IQlJJP0dNRHdDNE9ORlVOSF9MSVdPRGZLRVxPTWNOR1RTRlNTS09VTGBRR2RTRG1STGBYUWZXVFZcUmdYTmxXT15cUXBYXHRYUnBbTmhfVm1iUnpeWF9mXHVgWHFhX3JiWWdmXWxnVXhmV35pYXZtY31saYZqZHJwZINtVGxyZ2Z0aYBuX3tyYIRvZ2x8cYV1cX94bYh2Z4t1bYF5Z3Z8c5J2cop8ZY99bZZ7epN+dYiCdZ97d4WEfJOAfHmLf5CHdYaLgJqHeJaKc4KPfZeLeaCIgJ+KdaGJh5KPhZuVgo2ZiZKYjp2YjaqVja6XiKiag46jkrWYlbOdh6+elbWdlqiij8Gcl7ulj7mllaSslb2noLOsmayxo8ippLqyl6e3qMewq8K8p8i9sbnEttK/uszHtcXTx9vQsN/Nx+zQwd/ZxN/ez/Db1e7hvtjn4fPx5ub17P7w6vv++////59V2N4AAAE/SURBVHjaADIBzf4AElERERpMi3GLi2BZNQ0ODgUAGQkRNEQ9Wlp+T2CwVyEWFg0ABBE0CSBai5yCWXyfiFczDQ0AEjICNmOPs8rYknjDiu5fIyMAJREURFWPlqj+18beqtOKSCkABBAnLUSeb5r71ZnZxa97WCMAAiUlGkSHh8Kl6smv6aebeywAAhE0RD02cSqtYpP0vmJ7WEYAAhEaNi00EyIFa6l6WDVDajkAAgkRLRoUCgw1KpFXWDNHXDoAAggJCREGFE4cLE5XYjNYW0YABAACAgoJBgY2TiFXQ0czWFMAAggAAhEJFBQnKk5iR0NFXHQAAAAAAhEUCicxKjM1VyMsN1QAAgkGChsnKkFBSmJXS0VFUGwAAgIBBgoTGyIxISEjQx4YXEYAAgIAAgkbGxshIzUzDxgrQywDAKFaTfFe+Wg9AAAAAElFTkSuQmCC') no-repeat}.modal-content h2,.panel-body h2{font-family:"Oxygen","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:0;font-size:14px;margin:20px 0;line-height:normal}.modal-content h2.pf-dynamic-area,.modal-content h4.pf-dynamic-area,.panel-body h2.pf-dynamic-area,.panel-body h4.pf-dynamic-area{min-height:0;margin:0 0 10px 0}.modal-content h2.pf-dynamic-area>img,.modal-content h4.pf-dynamic-area>img,.panel-body h2.pf-dynamic-area>img,.panel-body h4.pf-dynamic-area>img{margin:-10px 5px -10px -10px;width:35px}.modal-content h2[data-toggle="collapse"],.modal-content h4[data-toggle="collapse"],.panel-body h2[data-toggle="collapse"],.panel-body h4[data-toggle="collapse"]{cursor:pointer}.modal-content h2[data-toggle="collapse"]:hover:after,.modal-content h4[data-toggle="collapse"]:hover:after,.panel-body h2[data-toggle="collapse"]:hover:after,.panel-body h4[data-toggle="collapse"]:hover:after{color:#e28a0d !important}.modal-content h2[data-toggle="collapse"]:after,.modal-content h4[data-toggle="collapse"]:after,.panel-body h2[data-toggle="collapse"]:after,.panel-body h4[data-toggle="collapse"]:after{content:"\f078";font-family:"Font Awesome 5 Free";font-style:normal;font-weight:bold;font-size:13px;padding-right:10px;position:absolute;color:#e28a0d;top:10px;right:6px}.modal-content h2[data-toggle="collapse"].collapsed:after,.modal-content h4[data-toggle="collapse"].collapsed:after,.panel-body h2[data-toggle="collapse"].collapsed:after,.panel-body h4[data-toggle="collapse"].collapsed:after{top:13px;right:5px;color:#63676a;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.modal-content .dataTables_wrapper+.alert{margin-top:10px}.modal-content .dataTable,.modal-content .table{font-size:10px;font-family:"Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif}.modal-content hr{margin:5px 0 15px 0;border-color:#63676a}.modal-content .well{margin-bottom:0}.modal-content .well .list-inline{margin-bottom:0}.modal-content .pf-wizard-navigation{margin:0}.modal-content .pf-wizard-navigation li:not(:last-child):before{border-top:1px solid #63676a;content:"";display:block;font-size:0;overflow:hidden;position:relative;top:12px;left:71px;right:1px;width:100%}.modal-content .pf-wizard-navigation li.finished:before{-moz-border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;-moz-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-o-border-image:linear-gradient(to right, #375959,#375959) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;-webkit-border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-image:-moz-linear-gradient(left, #375959,#375959) 1 1%;border-image:-webkit-linear-gradient(left, #375959,#375959) 1 1%;border-image:linear-gradient(to right, #375959,#375959) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li.active:before{-moz-border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-moz-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-o-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;-webkit-border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;-webkit-border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-image:-moz-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:-webkit-linear-gradient(left, #4f9e4f,#63676a) 1 1%;border-image:linear-gradient(to right, #4f9e4f,#63676a) 1 1%;border-bottom:0}.modal-content .pf-wizard-navigation li>h6{color:#63676a;font-size:11px;margin:5px}.modal-content .pf-wizard-navigation li a:hover+h6{color:#adadad}.modal-content .pf-wizard-navigation li.active a:not(.btn-danger)+h6{color:#adadad}#pf-settings-dialog .form-group .btn-sm,#pf-settings-dialog .form-group .btn-group-sm>.btn{padding:4px 7px 3px}#pf-settings-dialog #pf-dialog-captcha-wrapper{margin:0;padding:3px 0}#pf-map-dialog #pf-map-dialog-character-select,#pf-map-dialog #pf-map-dialog-corporation-select,#pf-map-dialog #pf-map-dialog-alliance-select{width:535px}#pf-route-dialog #pf-route-dialog-map-select{width:300px !important}#pf-shortcuts-dialog td kbd:last-of-type+i{display:none}#pf-manual-scrollspy{position:relative;height:700px;overflow:auto}.pf-system-dialog-select{width:300px !important}#pf-task-dialog .pf-task-dialog-status{min-height:inherit}#pf-map-info-logs{margin-bottom:10px}#pf-stats-dialog .pf-dynamic-area{margin-bottom:10px}#pf-structure-dialog #pf-structure-dialog-corporation-select,#pf-structure-dialog #pf-structure-dialog-type-select{width:267px !important}.pf-jump-info-dialog blockquote{margin-top:15px;margin-bottom:5px}.pf-changelog-dialog .pf-dynamic-message-container{margin-bottom:20px}.pf-credits-dialog .pf-credits-logo-background{overflow:visible;background:url("../../img/logo_bg.png");background-size:cover;padding:20px;margin-bottom:20px}.pf-credits-dialog #pf-logo-container{width:355px;height:366px;margin:0 auto}.pf-credits-dialog .pf-dynamic-area{min-height:50px}.pf-credits-dialog .dl-horizontal{display:inline-block;width:48%}.pf-credits-dialog .btn{padding:0}.pf-credits-dialog blockquote{font-size:14px}.pf-log-graph{height:100px;width:100%}.timeline{list-style:none;position:relative}.timeline:before{top:0;bottom:0;position:absolute;content:" ";width:1px;left:50%;margin-top:20px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRmOWU0ZiIvPjxzdG9wIG9mZnNldD0iMjUlIiBzdG9wLWNvbG9yPSIjNjM2NzZhIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4f9e4f),color-stop(25%, #63676a));background-image:-moz-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:-webkit-linear-gradient(top, #4f9e4f,#63676a 25%);background-image:linear-gradient(to bottom, #4f9e4f,#63676a 25%)}.timeline>li{margin-bottom:20px;position:relative}.timeline>li.timeline-first .timeline-title{color:#4f9e4f}.timeline>li.timeline-first .timeline-badge{background-color:#4f9e4f}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li>.timeline-panel{width:47%;float:left;border:1px solid #313335;padding:8px;position:relative;background-color:#313335;font-size:11px;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.4);box-shadow:0 4px 10px rgba(0,0,0,0.4);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.timeline>li>.timeline-panel:before{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-panel:after{content:" ";position:absolute;top:10px;right:-8px;display:inline-block;border-top:7px solid transparent;border-left:7px solid #63676a;border-right:0 solid #63676a;border-bottom:7px solid transparent}.timeline>li>.timeline-badge{color:#2b2b2b;width:22px;height:22px;line-height:22px;text-align:center;position:absolute;top:7px;left:50%;margin-left:-11px;background-color:#63676a;z-index:100;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.timeline>li>.timeline-badge>i{vertical-align:middle}.timeline>li.timeline-inverted>.timeline-panel{float:right}.timeline>li.timeline-inverted>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}.timeline>li.timeline-inverted>.timeline-panel:after{border-left-width:0;border-right-width:8px;left:-9px;right:auto}.timeline-title{margin-top:0;color:inherit}.timeline-body>hr{display:none}.timeline-body>hr ~ *{display:none}.timeline-body>p,.timeline-body>ul{margin-bottom:0;list-style-type:disc;margin-left:15px}.timeline-body>p+p{margin-top:5px}@media (max-width: 1200px){ul.timeline:before{left:40px}ul.timeline>li>.timeline-panel{width:calc(100% - 62px)}ul.timeline>li>.timeline-badge{left:29px;margin-left:0;top:6px}ul.timeline>li>.timeline-panel{float:right}ul.timeline>li>.timeline-panel:before{border-left-width:0;border-right-width:7px;left:-8px;right:auto}ul.timeline>li>.timeline-panel:after{border-left-width:0;border-right-width:7px;left:-8px;right:auto}}.popover{z-index:1060;max-width:600px}.popover .arrow{pointer-events:none}.popover .popover-title{text-transform:capitalize;font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif;font-weight:bold}.popover .popover-content{font-family:"Arial","Oxygen Bold","Helvetica Neue",Helvetica,sans-serif}.popover img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.popover h4{color:#adadad}.popover table{color:#adadad;line-height:16px;font-size:11px}.popover table td{padding:0 5px;vertical-align:middle !important}.popover .select2-container{margin-top:-1px;margin-left:-1px}.pf-popover-small .popover-title{padding:3px 6px}.pf-popover-small .popover-content{padding:6px 1px 3px}.pf-popover{display:initial}.pf-popover .popover-content{padding:0}.pf-popover h6{white-space:nowrap;margin-right:50px}.pf-popover h6:before,.pf-popover h6:after{content:" ";display:table}.pf-popover h6:after{clear:both}.pf-popover .well{margin-top:7px;margin-bottom:10px}.pf-popover .list-group{margin:0}.pf-popover .list-group .list-group-item{color:#313335}.pf-popover .list-group .list-group-item:hover{color:#1d1d1d}.pf-popover .list-group .list-group-item.disabled{background-color:#3c3f41;color:#63676a;cursor:not-allowed}.pf-popover .list-group .list-group-item img{width:30px;margin:-8px 10px -6px -8px;border-radius:0}.pf-popover .list-group .list-group-item i{margin-right:20px}.pf-popover-character .table>tbody>tr>td{border:none}.pf-popover-character .table>tbody>tr>td:first-child+td{padding:0 5px}.pf-popover-character .well{margin-bottom:0}.ribbon-wrapper{width:72px;height:88px;overflow:hidden;position:absolute;top:-3px;right:-3px;pointer-events:none}.ribbon{font:bold 12px "Oxygen Bold","Helvetica Neue",Helvetica,Arial,sans-serif;color:#2b2b2b;text-align:center;text-shadow:rgba(255,255,255,0.2) 0px 1px 0px;position:relative;padding:3px 0;left:-4px;top:16px;width:99px;-webkit-box-shadow:2px 3px 3px rgba(0,0,0,0.2);box-shadow:2px 3px 3px rgba(0,0,0,0.2);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ribbon:before,.ribbon:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;position:absolute;bottom:-3px}.ribbon.ribbon-default{color:#adadad;background-color:#353739;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzJkMzAzMSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJhMmIyZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #2d3031),color-stop(100%, #2a2b2d));background-image:-moz-linear-gradient(top, #2d3031,#2a2b2d);background-image:-webkit-linear-gradient(top, #2d3031,#2a2b2d);background-image:linear-gradient(to bottom, #2d3031,#2a2b2d)}.ribbon.ribbon-default:before,.ribbon.ribbon-default:after{border-top:3px solid #000}.ribbon.ribbon-green{background-color:#5cb85c;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzUxYjM1MSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRhOTQ0YSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #51b351),color-stop(100%, #4a944a));background-image:-moz-linear-gradient(top, #51b351,#4a944a);background-image:-webkit-linear-gradient(top, #51b351,#4a944a);background-image:linear-gradient(to bottom, #51b351,#4a944a)}.ribbon.ribbon-green:before,.ribbon.ribbon-green:after{border-top:3px solid #285028}.ribbon.ribbon-orange{background-color:#e28a0d;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Q0ODEwYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2I0NmQwYiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d4810c),color-stop(100%, #b46d0b));background-image:-moz-linear-gradient(top, #d4810c,#b46d0b);background-image:-webkit-linear-gradient(top, #d4810c,#b46d0b);background-image:linear-gradient(to bottom, #d4810c,#b46d0b)}.ribbon.ribbon-orange:before,.ribbon.ribbon-orange:after{border-top:3px solid #6c4107}.ribbon.ribbon-red{background-color:#d9534f;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2M5MzAyYyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2E4MjgyNCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c9302c),color-stop(100%, #a82824));background-image:-moz-linear-gradient(top, #c9302c,#a82824);background-image:-webkit-linear-gradient(top, #c9302c,#a82824);background-image:linear-gradient(to bottom, #c9302c,#a82824)}.ribbon.ribbon-red:before,.ribbon.ribbon-red:after{border-top:3px solid #541412}.ribbon.ribbon-blue{background-color:#428bca;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM3ODRjNSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzJkNWM4NSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3784c5),color-stop(100%, #2d5c85));background-image:-moz-linear-gradient(top, #3784c5,#2d5c85);background-image:-webkit-linear-gradient(top, #3784c5,#2d5c85);background-image:linear-gradient(to bottom, #3784c5,#2d5c85)}.ribbon.ribbon-blue:before,.ribbon.ribbon-blue:after{border-top:3px solid #1a344c}.ribbon:before{left:0}.ribbon:after{right:0}.pf-loading-bars-container{position:relative;z-index:4;margin:0 auto;left:5px;right:19px;width:70px;height:50px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader{position:absolute;z-index:3;margin:0 auto;left:0;right:0;top:50%;margin-top:-19px;width:56px;height:37px;list-style:none}.pf-loading-bars-container .pf-loading-bars-loader li{background-color:#5cb85c;width:6px;height:6px;float:right;margin-right:3px !important;-webkit-box-shadow:0px 12px 6px rgba(0,0,0,0.2);box-shadow:0px 12px 6px rgba(0,0,0,0.2)}.pf-loading-bars-container .pf-loading-bars-loader li:first-child{-webkit-animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s;animation:cssload-loadbars 1.75s cubic-bezier(0.645, 0.045, 0.355, 1) infinite 0s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(2){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.35s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(3){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s;animation:cssload-loadbars 1.75s ease-in-out infinite -0.7s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(4){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.05s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(5){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.4s}.pf-loading-bars-container .pf-loading-bars-loader li:nth-child(6){-webkit-animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s;animation:cssload-loadbars 1.75s ease-in-out infinite -1.75s}@-webkit-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-moz-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@-ms-keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}@keyframes cssload-loadbars{0%{height:6px;margin-top:16px}33%{height:6px;margin-top:16px}66%{height:31px;margin-top:0px}100%{height:6px;margin-top:16px}}.pf-landing-sticky-panel{position:fixed;min-width:100px;border-radius:5px;padding:7px;box-shadow:0 4px 10px rgba(0,0,0,0.4);background-color:rgba(43,43,43,0.7)}.pf-landing-sticky-panel h4{margin:5px 0 10px 0}.pf-landing-sticky-panel ul{margin-bottom:0}.pf-landing-sticky-panel ul li{text-transform:lowercase}#pf-landing-server-panel{top:50px;left:10px}#pf-landing-admin-panel{bottom:10px;right:10px}.youtube{background-position:center;background-repeat:no-repeat;position:relative;display:inline-block;overflow:hidden;transition:all 200ms ease-out;cursor:pointer}.youtube .play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAERklEQVR4nOWbTWhcVRTHb1IJVoxGtNCNdal2JYJReC6GWuO83PM/59yUS3FRFARdFlwYP1CfiojQWt36sRCUurRIdVFXIn41lAoVdRGrG1M01YpKrWjiYmaSl8ybZJL3cd+YA//NLObd3++eO8x79z5jSq5Gw+8kov0AP8vMR5l1BtBZQM4B8ks75wCdZdYZZj5qLZ4hov2Nht9Z9vhKKSIaB/gI4M4w62KeAO6Mte4lYOq20FxrlqqOibhHmeWbvNC9ZfDX1mLae391aN6limO/gwgvAPJbWeAZuSDingdwXTBw7/0IsyaA/Fkh+KqOkD+YNfHej1QKD+y7iVlOhgLvFqFfNJvNGyuBJ+KDAF8MDd0tgS8y64OlgSdJMsysL4cG7SOHkyQZLhTee7+d2R2rAVy/S+Jd7/32ouBHAP4gNNRGQyTHc/84NhqNywZp5rvjjnnvt21aABFeCQ+RLwAf2hQ8s7sv9OCLk6AHNgQvIrvbfzKCD76g/O6cu7lf/iER/aQGgy448pExZmhdegAPhR9sObFWH1gT3lp7DaA/5bkIgJhZPgsNmz02novj+KqeApj1ubwXWe4kdyeznAgNvTpE/HQmvKqOMeuFogTUVQSRno+iaLRLAJF7uIgL9O4ubgL8aWgB7S44mNX+35YpICUiAvS9sBLkq1WzT+NFffl6AuoiApi6NT37h6sWkBIRZGkQ8YtLgyji6e1mBYTqCEBPG2Naz+0BWQgtoGoRgCzEsd9hAN1X5BfnFZASUfrSAFQNsyZ1FJASUVpHiLinDJG8U2cBZYogkrcNs5waBAGdstbeU9zdqpw0gPwwSAI6VUxHyFlDpOcHUUBBIuYNs14aZAE5RVwyzPr3/0EAEY0TyfGNjBWQvwZ +CTSbehfAH29mrID8bET0+0EUkAd8WYDOmqJ3ecsG30yr9wqRfm6Y+a1BEFDEjHfHvWmY9ck6CygHvBVr8Xhtb4ZE5HZA3y8DvBNA1TjnrmXWf+sioMwZX5V/VHXMGGMMoKdDCxCRvRWBdzKzdHEO+EisilbPyopHYqp6S9UCAsz4iojI7hUDAtyXVQgIDd6KnOoaWNkbI6FaPSuZGyMArsi7MZoloB4zviI/Nhr3X95jltwTRQmoIfgisy5ai+me67OI7fE4nrqjrqfK1t0eby0FPRB6oGVlchL3rgnfrq19RKbVBdhV9IOSwJmfmJi4vi/4ThERitwyCxVAFqydshuCX5awhQ9KtmuIWd8IDZED/nXT77rvVVv6sHRKwjYi91poqP7Dr+Y6JJ1VSZIMA3wkPNy6bX+o8Bcm0sXMdwM8Fxo0A3xORPaWBp6uPXsmbxCRD0NDL0dOANhVCXy6iAjMcjbcrMt3RITKwdMVRdFo+y5yvkL4eWZ+zHt/ZVD4dEVRNGotpst+dZZZH8k86lqn2pIvT/eqrNfn2xuyqYPZ8mv7s8pfn/8Pybm4TIjanscAAAAASUVORK5CYII=") no-repeat center center;background-size:64px 64px;position:absolute;height:100%;width:100%;opacity:.8;filter:alpha(opacity=80);transition:all 0.2s ease-out}.youtube .play:hover{opacity:1;filter:alpha(opacity=100)}
/*# sourceMappingURL=pathfinder.css.map */
diff --git a/public/css/v1.4.1/pathfinder.css.map b/public/css/v1.4.1/pathfinder.css.map
index 1a05d185..08acdba5 100644
--- a/public/css/v1.4.1/pathfinder.css.map
+++ b/public/css/v1.4.1/pathfinder.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
-"mappings": "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",
+"mappings": "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",
"sources": ["../../../sass/pathfinder.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss","../../../sass/_variables.scss","../../../sass/_bootstrap.scss","../../../sass/bootstrap/_scaffolding.scss","../../../sass/bootstrap/_mixins.scss","../../../sass/bootstrap/_type.scss","../../../sass/bootstrap/_code.scss","../../../sass/bootstrap/_grid.scss","../../../sass/bootstrap/_tables.scss","../../../sass/bootstrap/_forms.scss","../../../sass/_colors.scss","../../../sass/bootstrap/_buttons.scss","../../../sass/bootstrap/_component-animations.scss","../../../sass/bootstrap/_dropdowns.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_border-radius.scss","../../../sass/bootstrap/_button-groups.scss","../../../sass/bootstrap/_input-groups.scss","../../../sass/bootstrap/_navs.scss","../../../sass/bootstrap/_navbar.scss","../../../sass/bootstrap/_breadcrumbs.scss","../../../sass/bootstrap/_pagination.scss","../../../sass/bootstrap/_pager.scss","../../../sass/bootstrap/_labels.scss","../../../sass/bootstrap/_badges.scss","../../../sass/bootstrap/_thumbnails.scss","../../../sass/bootstrap/_alerts.scss","../../../sass/bootstrap/_progress-bars.scss","../../../sass/bootstrap/_media.scss","../../../sass/bootstrap/_list-group.scss","../../../sass/bootstrap/_panels.scss","../../../sass/bootstrap/_wells.scss","../../../sass/bootstrap/_close.scss","../../../sass/bootstrap/_modals.scss","../../../sass/bootstrap/_tooltip.scss","../../../sass/bootstrap/_popovers.scss","../../../sass/bootstrap/_utilities.scss","../../../sass/bootstrap/_responsive-utilities.scss","../../../sass/library/fontawesome/_fontawesome.scss","../../../sass/library/fontawesome/_core.scss","../../../sass/library/fontawesome/_larger.scss","../../../sass/library/fontawesome/_fixed-width.scss","../../../sass/library/fontawesome/_list.scss","../../../sass/library/fontawesome/_variables.scss","../../../sass/library/fontawesome/_bordered-pulled.scss","../../../sass/library/fontawesome/_animated.scss","../../../sass/library/fontawesome/_rotated-flipped.scss","../../../sass/library/fontawesome/_mixins.scss","../../../sass/library/fontawesome/_stacked.scss","../../../sass/library/fontawesome/_icons.scss","../../../sass/library/fontawesome/_screen-reader.scss","../../../sass/library/fontawesome/_regular.scss","../../../sass/library/fontawesome/_solid.scss","../../../sass/library/fontawesome/_brands.scss","../../../sass/library/custom-scrollbar/_mCustomScrollbar.scss","../../../sass/library/data-tables/_dataTables.scss","../../../sass/library/data-tables/_dataTables-buttons.scss","../../../sass/library/data-tables/_dataTables-fontAwesome.scss","../../../sass/library/data-tables/_dataTables-responsive.scss","../../../sass/library/data-tables/_dataTables-select.scss","../../../sass/library/x-editable/_bootstrap-editable.scss","../../../sass/library/pnotify/_pnotify.scss","../../../sass/library/pnotify/_pnotify.nonblock.scss","../../../sass/library/pnotify/_pnotify.custom.scss","../../../sass/library/slidebars/_slidebars.scss","../../../sass/library/easy-pie-chart/_easyPieChart.scss","../../../sass/library/drag-to-select/_dragToSelect.scss","../../../sass/library/select2/_core.scss","../../../sass/library/select2/_single.scss","../../../sass/library/select2/_multiple.scss","../../../sass/library/select2/_dropdown.scss","../../../sass/library/select2/theme/pathfinder/_single.scss","../../../sass/library/select2/theme/pathfinder/_defaults.scss","../../../sass/library/select2/theme/pathfinder/_multiple.scss","../../../sass/library/select2/theme/pathfinder/_layout.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_appearance.scss","../../../sass/library/blue-imp-gallery/_blueimp-gallery.scss","../../../sass/library/blue-imp-gallery/_bootstrap-image-gallery.scss","../../../sass/library/bootstrap-toggle/_bootstrap-toggle.scss","../../../sass/library/bootstrap-checkbox/_awesome-bootstrap-checkbox.scss","../../../sass/_main.scss","../../../sass/_main-colorpallet.scss","../../../sass/layout/_animation.scss","../../../sass/layout/_fonts.scss","../../../sass/layout/_main.scss","file:///C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../../../sass/layout/_landing.scss","../../../sass/layout/_logo.scss","../../../sass/layout/_map.scss","../../../sass/layout/_system-info.scss","../../../sass/layout/_forms.scss","../../../sass/layout/_images.scss","../../../sass/layout/_dialogs.scss","../../../sass/layout/_log.scss","../../../sass/layout/_timeline.scss","../../../sass/layout/_popover.scss","../../../sass/layout/_ribbon.scss","../../../sass/layout/_loading-bar.scss","../../../sass/layout/_sticky-panel.scss","../../../sass/layout/_youtube.scss"],
"names": [],
"file": "pathfinder.css"
diff --git a/public/js/v1.4.1/app/counter.js b/public/js/v1.4.1/app/counter.js
index f54387ca..444538d5 100644
--- a/public/js/v1.4.1/app/counter.js
+++ b/public/js/v1.4.1/app/counter.js
@@ -2,7 +2,7 @@ define([
'jquery',
'app/init',
'app/util'
-], function($, Init, Util) {
+], ($, Init, Util) => {
'use strict';
let config = {
@@ -16,7 +16,7 @@ define([
* @param tempDate
* @param round
*/
- let updateDateDiff = function(element, tempDate, round){
+ let updateDateDiff = (element, tempDate, round) => {
let diff = Util.getTimeDiffParts(tempDate, new Date());
let days = diff.days;
let hrs = diff.hours;
@@ -65,17 +65,21 @@ define([
/**
* destroy all active counter recursive
*/
- $.fn.destroyTimestampCounter = function(){
+ $.fn.destroyTimestampCounter = function(recursive){
return this.each(function(){
- let parentElement = $(this);
- parentElement.find('[data-counter="init"]').each(function(){
+ let element = $(this);
+ let counterSelector = '[data-counter="init"]';
+ let counterElements = element.filter(counterSelector);
+ if(recursive){
+ counterElements = counterElements.add(element.find(counterSelector));
+ }
+
+ counterElements.each(function(){
let element = $(this);
let interval = element.data('interval');
if(interval){
clearInterval(interval);
- element.removeAttr('data-counter')
- .removeData('interval')
- .removeClass('stopCounter');
+ element.removeAttr('data-counter').removeData('interval').removeClass('stopCounter');
}
});
});
@@ -102,18 +106,27 @@ define([
// show element (if invisible) after first update
element.css({'visibility': 'initial'});
- let refreshIntervalId = window.setInterval(function(){
+ // calc ms until next second
+ // -> makes sure all counter update in sync no matter when init
+ let msUntilSecond = 1500 - new Date().getMilliseconds();
+ setTimeout(function(){
+ let refreshIntervalId = window.setInterval(function(){
- // update element with current time
- if( !element.hasClass('stopCounter')){
- updateDateDiff(element, date, round);
- }else{
- clearInterval( element.data('interval') );
- }
- }, 500);
+ // update element with current time
+ if( !element.hasClass('stopCounter')){
+ updateDateDiff(element, date, round);
+ }else{
+ clearInterval( element.data('interval') );
+ }
+ }, 500);
- element.data('interval', refreshIntervalId);
+ element.data('interval', refreshIntervalId);
+ }, msUntilSecond);
}
});
};
+
+ return {
+ updateDateDiff: updateDateDiff
+ };
});
diff --git a/public/js/v1.4.1/app/datatables.loader.js b/public/js/v1.4.1/app/datatables.loader.js
index 82f451bc..79873ffb 100644
--- a/public/js/v1.4.1/app/datatables.loader.js
+++ b/public/js/v1.4.1/app/datatables.loader.js
@@ -1,11 +1,41 @@
define([
+ 'jquery',
+ 'app/init',
'datatables.net',
'datatables.net-buttons',
'datatables.net-buttons-html',
'datatables.net-responsive',
'datatables.net-select'
-], (a, b) => {
+], ($, Init) => {
'use strict';
// all Datatables stuff is available...
+ let initDefaultDatatablesConfig = () => {
+
+
+
+ $.extend(true, $.fn.dataTable.defaults, {
+ pageLength: -1,
+ pagingType: 'simple_numbers',
+ lengthMenu: [[5, 10, 25, 50, -1], [5, 10, 25, 50, 'All']],
+ order: [], // no default order because columnDefs is empty
+ autoWidth: false,
+ responsive: {
+ breakpoints: Init.breakpoints,
+ details: false
+ },
+ columnDefs: [],
+ data: []
+ });
+
+ // global open event
+ $(document).on('destroy.dt', '.dataTable ', function(e, settings){
+ let table = $(this);
+
+ // remove all active counters in table
+ table.destroyTimestampCounter(true);
+ });
+ };
+
+ initDefaultDatatablesConfig();
});
\ No newline at end of file
diff --git a/public/js/v1.4.1/app/init.js b/public/js/v1.4.1/app/init.js
index d2cb50bc..77ff3329 100644
--- a/public/js/v1.4.1/app/init.js
+++ b/public/js/v1.4.1/app/init.js
@@ -60,10 +60,12 @@ define(['jquery'], ($) => {
gitHubReleases: '/api/github/releases' // ajax URL - get release info from GitHub
},
breakpoints: [
- { name: 'desktop', width: Infinity },
- { name: 'tablet', width: 1200 },
- { name: 'fablet', width: 780 },
- { name: 'phone', width: 480 }
+ { name: 'screen-xl', width: Infinity },
+ { name: 'screen-l', width: 1600 },
+ { name: 'screen-m', width: 1200 },
+ { name: 'screen-d', width: 1000 },
+ { name: 'screen-s', width: 780 },
+ { name: 'screen-xs', width: 480 }
],
animationSpeed: {
splashOverlay: 300, // "splash" loading overlay
diff --git a/public/js/v1.4.1/app/map/overlay.js b/public/js/v1.4.1/app/map/overlay.js
index 7a7be63b..2ce722c6 100644
--- a/public/js/v1.4.1/app/map/overlay.js
+++ b/public/js/v1.4.1/app/map/overlay.js
@@ -65,7 +65,7 @@ define([
* @param connectionsData
*/
let addConnectionsOverlay = (connections, connectionsData) => {
- let SystemSignatures = require('app/ui/system_signature');
+ let SystemSignatures = require('app/ui/module/system_signature_new');
/**
* add label to endpoint
diff --git a/public/js/v1.4.1/app/map/util.js b/public/js/v1.4.1/app/map/util.js
index b5092946..6c39c260 100644
--- a/public/js/v1.4.1/app/map/util.js
+++ b/public/js/v1.4.1/app/map/util.js
@@ -367,7 +367,7 @@ define([
connection &&
connectionData.signatures // signature data is required...
){
- let SystemSignatures = require('app/ui/system_signature');
+ let SystemSignatures = require('app/ui/module/system_signature_new');
let connectionId = connection.getParameter('connectionId');
let sourceEndpoint = connection.endpoints[0];
@@ -1426,6 +1426,7 @@ define([
/**
* add a wormhole tooltip with wh specific data to elements
* @param tooltipData
+ * @param options
* @returns {*}
*/
$.fn.addWormholeInfoTooltip = function(tooltipData, options){
diff --git a/public/js/v1.4.1/app/module_map.js b/public/js/v1.4.1/app/module_map.js
index 32687753..734c039d 100644
--- a/public/js/v1.4.1/app/module_map.js
+++ b/public/js/v1.4.1/app/module_map.js
@@ -5,13 +5,14 @@ define([
'app/map/map',
'app/map/util',
'sortable',
- 'app/ui/system_info',
- 'app/ui/system_graph',
- 'app/ui/system_signature',
- 'app/ui/system_route',
- 'app/ui/system_intel',
- 'app/ui/system_killboard',
- 'app/ui/connection_info',
+ 'app/ui/module/system_info',
+ 'app/ui/module/system_graph',
+ //'app/ui/module/system_signature',
+ 'app/ui/module/system_signature_new',
+ 'app/ui/module/system_route',
+ 'app/ui/module/system_intel',
+ 'app/ui/module/system_killboard',
+ 'app/ui/module/connection_info',
'app/counter'
], (
$,
@@ -180,11 +181,12 @@ define([
* @param moduleElement
* @param Module
* @param callback
+ * @param addSpacer
*/
let removeModule = (moduleElement, Module, callback, addSpacer) => {
if(moduleElement.length > 0){
- if(typeof Module.beforeReDraw === 'function'){
- Module.beforeReDraw();
+ if(typeof Module.beforeHide === 'function'){
+ Module.beforeHide(moduleElement);
}
moduleElement.velocity('reverse',{
@@ -336,8 +338,6 @@ define([
}
};
-
-
return new Promise(drawModuleExecutor);
};
@@ -539,23 +539,25 @@ define([
let clickY = e.pageY - posY;
// check for top-left click
- if(clickX <= 8 && clickY <= 8 && clickX >= 0 && clickY >= 0){
+ if(clickX <= 9 && clickY <= 9 && clickX >= 0 && clickY >= 0){
// remember height
- if(! moduleElement.data('origHeight')){
+ if( !moduleElement.data('origHeight') ){
moduleElement.data('origHeight', moduleElement.outerHeight());
}
- if(moduleElement.hasClass( config.moduleClosedClass )){
+ if(moduleElement.hasClass(config.moduleClosedClass)){
let moduleHeight = moduleElement.data('origHeight');
moduleElement.velocity('finish').velocity({
height: [ moduleHeight + 'px', [ 400, 15 ] ]
},{
duration: 400,
easing: 'easeOutSine',
- complete: function(){
- moduleElement.removeClass( config.moduleClosedClass );
+ complete: function(moduleElement){
+ moduleElement = $(moduleElement);
+ moduleElement.removeClass(config.moduleClosedClass);
moduleElement.removeData('origHeight');
+ moduleElement.css({height: ''});
}
});
}else{
@@ -564,8 +566,9 @@ define([
},{
duration: 400,
easing: 'easeOutSine',
- complete: function(){
- moduleElement.addClass( config.moduleClosedClass );
+ complete: function(moduleElement){
+ moduleElement = $(moduleElement);
+ moduleElement.addClass(config.moduleClosedClass);
}
});
}
diff --git a/public/js/v1.4.1/app/page.js b/public/js/v1.4.1/app/page.js
index 7caf12fb..223bafaf 100644
--- a/public/js/v1.4.1/app/page.js
+++ b/public/js/v1.4.1/app/page.js
@@ -70,7 +70,7 @@ define([
dynamicElementWrapperId: 'pf-dialog-wrapper', // class for container element that holds hidden "context menus"
// system signature module
- systemSignatureModuleClass: 'pf-signature-table-module', // module wrapper (signatures)
+ systemSignatureModuleClass: 'pf-system-signature-module', // module wrapper (signatures)
systemIntelModuleClass: 'pf-system-intel-module', // module wrapper (intel)
};
@@ -744,7 +744,7 @@ define([
// global "modal" callback (for all modals)
$('body').on('hide.bs.modal', '> .modal', function(e) {
let modalElement = $(this);
- modalElement.destroyTimestampCounter();
+ modalElement.destroyTimestampCounter(true);
// destroy all Select2
modalElement.find('.' + Util.config.select2Class)
diff --git a/public/js/v1.4.1/app/ui/dialog/map_info.js b/public/js/v1.4.1/app/ui/dialog/map_info.js
index 68841b20..dd92dc53 100644
--- a/public/js/v1.4.1/app/ui/dialog/map_info.js
+++ b/public/js/v1.4.1/app/ui/dialog/map_info.js
@@ -321,10 +321,6 @@ define([
tooltipElements.tooltip();
});
- systemTable.on('destroy.dt', function(){
- $(this).destroyTimestampCounter();
- });
-
// prepare data for dataTables
let systemsData = [];
for(let i = 0; i < mapData.data.systems.length; i++){
@@ -470,11 +466,6 @@ define([
lengthMenu: [[5, 10, 20, 50, -1], [5, 10, 20, 50, 'All']],
ordering: true,
order: [[ 9, 'desc' ], [ 3, 'asc' ]],
- autoWidth: false,
- responsive: {
- breakpoints: Init.breakpoints,
- details: false
- },
hover: false,
data: systemsData,
columnDefs: [],
@@ -488,7 +479,7 @@ define([
{
title: 'type',
width: '25px',
- className: ['min-desktop'].join(' '),
+ className: ['min-screen-l'].join(' '),
data: 'type',
render: {
_: 'type',
@@ -506,7 +497,7 @@ define([
},{
title: 'sec',
width: '18px',
- className: ['text-center', 'min-desktop'].join(' '),
+ className: ['text-center', 'min-screen-l'].join(' '),
searchable: false,
data: 'trueSec',
render: {
@@ -516,7 +507,7 @@ define([
},{
title: ' ',
width: '10px',
- className: ['text-center', 'min-desktop'].join(' '),
+ className: ['text-center', 'min-screen-l'].join(' '),
searchable: false,
data: 'shattered',
render: {
@@ -593,7 +584,7 @@ define([
title: 'updated',
width: '80px',
searchable: false,
- className: ['text-right', config.tableCellCounterClass, 'min-desktop'].join(' '),
+ className: ['text-right', config.tableCellCounterClass, 'min-screen-l'].join(' '),
data: 'updated',
createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
$(cell).initTimestampCounter();
@@ -863,11 +854,6 @@ define([
lengthMenu: [[5, 10, 20, 50, -1], [5, 10, 20, 50, 'All']],
ordering: true,
order: [[ 3, 'asc' ]],
- autoWidth: false,
- responsive: {
- breakpoints: Init.breakpoints,
- details: false
- },
hover: false,
data: usersData,
language: {
@@ -962,7 +948,7 @@ define([
width: 26,
orderable: false,
searchable: false,
- className: [config.tableCellImageClass, config.tableCellImageSmallClass, 'min-desktop'].join(' '),
+ className: [config.tableCellImageClass, config.tableCellImageSmallClass, 'min-screen-l'].join(' '),
data: 'corporation',
render: {
_: function(data, type, row, meta){
@@ -978,7 +964,7 @@ define([
title: 'corporation',
orderable: true,
searchable: true,
- className: [config.tableCellActionClass, 'min-desktop'].join(' '),
+ className: [config.tableCellActionClass, 'min-screen-l'].join(' '),
data: 'corporation',
render: {
_: function (data, type, row, meta) {
@@ -1041,7 +1027,7 @@ define([
width: 30,
orderable: true,
searchable: true,
- className: ['text-right', 'min-desktop'].join(' '),
+ className: ['text-right', 'min-screen-l'].join(' '),
data: 'role',
render: {
_: function (data, type, row, meta) {
diff --git a/public/js/v1.4.1/app/ui/form_element.js b/public/js/v1.4.1/app/ui/form_element.js
index 23345ac5..37d9d2ab 100644
--- a/public/js/v1.4.1/app/ui/form_element.js
+++ b/public/js/v1.4.1/app/ui/form_element.js
@@ -654,7 +654,7 @@ define([
*/
$.fn.initSignatureTypeSelect = function(options, hasOptGroups){
let defaultConfig = {
- minimumResultsForSearch: 6,
+ minimumResultsForSearch: 10,
width: '220px',
dropdownParent: this.parents('.popover-content')
};
diff --git a/public/js/v1.4.1/app/ui/module/connection_info.js b/public/js/v1.4.1/app/ui/module/connection_info.js
new file mode 100644
index 00000000..feba0d52
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/connection_info.js
@@ -0,0 +1,1013 @@
+/**
+ * Connection info module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'app/map/util'
+], ($, Init, Util, MapUtil) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 1,
+ moduleName: 'connectionInfo',
+ moduleHeadClass: 'pf-module-head', // class for module header
+ moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler
+
+ headUserShipClass: 'pf-head-user-ship', // class for "user settings" link
+
+ // connection info module
+ moduleTypeClass: 'pf-connection-info-module', // class for this module
+
+ // headline toolbar
+ moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
+ moduleHeadlineIconRefreshClass: 'pf-module-icon-button-refresh', // class for "refresh" icon
+ moduleHeadlineIconCurrentMassClass: 'pf-module-icon-button-mass', // class for "current ship mass" toggle icon
+
+ connectionInfoPanelClass: 'pf-connection-info-panel', // class for connection info panels
+ connectionInfoPanelId: 'pf-connection-info-panel-', // id prefix for connection info panels
+
+ // info table
+ moduleTableClass: 'pf-module-table', // class for module tables
+ connectionInfoTableLabelSourceClass: 'pf-connection-info-label-source', // class for source label
+ connectionInfoTableLabelTargetClass: 'pf-connection-info-label-target', // class for target label
+ connectionInfoTableRowMassLogClass: 'pf-connection-info-row-mass-log', // class for "logged mass" table row
+ connectionInfoTableRowMassShipClass: 'pf-connection-info-row-mass-ship', // class for "current ship mass" table row
+ connectionInfoTableCellConnectionClass: 'pf-connection-info-connection', // class for connection "fake" table cell
+ connectionInfoTableCellMassTotalTooltipClass: 'pf-connection-info-mass-total-tooltip', // class for "mass total tooltip" table cell
+ connectionInfoTableCellMassTotalClass: 'pf-connection-info-mass-total', // class for "mass total" table cell
+ connectionInfoTableCellMassLogClass: 'pf-connection-info-mass-log', // class for "mass logged" table cell
+ connectionInfoTableCellMassShipClass: 'pf-connection-info-mass-ship', // class for "current ship mass" table cell
+ connectionInfoTableCellMassLeftClass: 'pf-connection-info-mass-left', // class for "mass left" table cell
+
+ // dataTable
+ connectionInfoTableClass: 'pf-connection-info-table', // class for connection tables
+ tableCellImageClass: 'pf-table-image-cell', // class for table "image" cells
+ tableCellCounterClass: 'pf-table-counter-cell', // class for table "counter" cells
+
+ // config
+ showShip: true // default for "show current ship mass" toggle
+ };
+
+ /**
+ * get module toolbar element
+ * @returns {*|jQuery|HTMLElement|void}
+ */
+ let getHeadlineToolbar = () => {
+ let headlineToolbar = $('', {
+ class: 'pull-right'
+ }).append(
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-male',
+ config.showShip ? 'active' : '' ,
+ config.moduleHeadlineIconClass,
+ config.moduleHeadlineIconCurrentMassClass].join(' '),
+ title: 'toggle current ship mass'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-sync',
+ config.moduleHeadlineIconClass,
+ config.moduleHeadlineIconRefreshClass].join(' '),
+ title: 'refresh all'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip')
+ );
+
+ headlineToolbar.find('[data-toggle="tooltip"]').tooltip({
+ container: 'body'
+ });
+
+ return headlineToolbar;
+ };
+
+ /**
+ * get new connection element
+ * @param mapId
+ * @param connectionId
+ * @returns {jQuery}
+ */
+ let getConnectionElement = (mapId, connectionId) => {
+ let connectionElement = $('', {
+ id: getConnectionElementId(connectionId),
+ class: ['col-xs-12', 'col-sm-4', 'col-lg-3' , config.connectionInfoPanelClass].join(' ')
+ }).data({
+ mapId: mapId,
+ connectionId: connectionId
+ });
+
+ return connectionElement;
+ };
+
+ /**
+ * get info control panel element
+ * @param mapId
+ * @returns {void|jQuery|*}
+ */
+ let getInfoPanelControl = (mapId) => {
+ let connectionElement = getConnectionElement(mapId, 0).append($('
', {
+ class: 'pf-dynamic-area',
+ html: '
add connection
ctrl +
click '
+ }));
+
+ return connectionElement;
+ };
+
+ /**
+ * get connection information element
+ * @param connectionData
+ * @returns {void|*|jQuery|HTMLElement}
+ */
+ let getInformationElement = (connectionData) => {
+
+ // connection scope -----------------------------------------------------------------------
+ let scopeLabel = MapUtil.getScopeInfoForConnection(connectionData.scope, 'label');
+
+ let element = $('
', {
+ class: 'pf-dynamic-area'
+ }).append(
+ $('
', {
+ class: ['table', 'table-condensed', 'pf-table-fixed', config.moduleTableClass].join(' ')
+ }).data('showShip', config.showShip).append(
+ $('').append(
+ $('').append(
+ $('', {
+ class: ['pf-table-cell-20', 'text-right', Util.config.helpClass, 'pf-pie-chart'].join(' ')
+ }).attr('data-toggle', 'tooltip').attr('data-percent', '-100').easyPieChart({
+ barColor: (percent) => {
+ let color = '#e28a0d';
+ if((percent * -1) >= 100){
+ color = '#a52521';
+ }
+ return color;
+ },
+ overrideOptions: 'signed',
+ trackColor: '#5cb85c',
+ size: 14,
+ scaleColor: false,
+ lineWidth: 2,
+ lineCap: 'butt',
+ animate: false
+ }),
+ $(' ', {
+ class: ['text-right'].join(' ')
+ }).attr('colspan', 2).append(
+ $('', {
+ class: 'pf-link',
+ html: connectionData.sourceAlias + ' '
+ }).on('click', function(){
+ Util.getMapModule().getActiveMap().triggerMenuEvent('SelectSystem', {systemId: connectionData.source });
+ }),
+ $('', {
+ class: [config.connectionInfoTableLabelSourceClass].join(' ')
+ }),
+ $('', {
+ class: 'fas fa-fw fa-angle-double-right'
+ }),
+ $('', {
+ class: [config.connectionInfoTableLabelTargetClass].join(' ')
+ }),
+ $('', {
+ class: 'pf-link',
+ html: ' ' + connectionData.targetAlias
+ }).on('click', function(){
+ Util.getMapModule().getActiveMap().triggerMenuEvent('SelectSystem', {systemId: connectionData.target });
+ })
+ )
+ )
+ ),
+ $('').append(
+ $('').append(
+ $('', {
+ class: ['text-right', Util.config.helpClass, config.connectionInfoTableCellMassTotalTooltipClass].join(' '),
+ html: ' '
+ }),
+ $(' ', {
+ text: scopeLabel.charAt(0).toUpperCase() + scopeLabel.slice(1)
+ }),
+ $(' ', {
+ class: ['text-right', config.connectionInfoTableCellConnectionClass].join(' ')
+ }).append(
+ $('', {
+ class: MapUtil.getConnectionFakeClassesByTypes(connectionData.type).join(' ')
+ })
+ )
+ ),
+ $('
').append(
+ $('', {
+ class: ['text-right', Util.config.helpClass].join(' '),
+ html: ' ',
+ title: 'initial mass. From signature table'
+ }).attr('data-toggle', 'tooltip'),
+ $(' ', {
+ text: 'Total mass'
+ }),
+ $(' ', {
+ class: ['text-right', 'txt-color', config.connectionInfoTableCellMassTotalClass].join(' ')
+ })
+ ),
+ $(' ', {
+ class: config.connectionInfoTableRowMassLogClass
+ }).append(
+ $('', {
+ class: ['text-right', Util.config.helpClass].join(' '),
+ title: 'recorded total jump mass'
+ }).attr('data-toggle', 'tooltip').append(
+ $('', {
+ class: [
+ 'fas', 'fa-fw', 'fa-question-circle'
+ ].join(' ')
+ }),
+ $('', {
+ class: [
+ 'fas', 'fa-fw', 'fa-adjust',
+ 'txt-color', 'txt-color-warning',
+ 'hidden'
+ ].join(' ')
+ }),
+ $('', {
+ class: [
+ 'far', 'fa-fw', 'fa-circle',
+ 'txt-color', 'txt-color-danger',
+ 'hidden'
+ ].join(' ')
+ })
+ ),
+ $(' ', {
+ text: 'Logged mass'
+ }),
+ $(' ', {
+ class: ['text-right', config.connectionInfoTableCellMassLogClass].join(' ')
+ })
+ ),
+ $(' ', {
+ class: config.connectionInfoTableRowMassShipClass
+ }).append(
+ $('', {
+ class: ['text-right', Util.config.helpClass].join(' '),
+ title: 'current ship mass'
+ }).attr('data-toggle', 'tooltip').append(
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-question-circle'].join(' ')
+ }),
+ $('', {
+ class: [
+ 'fas', 'fa-fw', 'fa-exclamation-triangle',
+ 'txt-color', 'txt-color-danger',
+ 'hidden'
+ ].join(' ')
+ })
+ ),
+ $(' ', {
+ class: ['pf-table-cell-ellipses-auto'].join(' '),
+ text: 'Ship mass'
+ }),
+ $(' ', {
+ class: ['text-right', 'txt-color', config.connectionInfoTableCellMassShipClass].join(' ')
+ })
+ ),
+ $(' ').append(
+ $('', {
+ class: ['text-right', Util.config.helpClass].join(' '),
+ html: ' ',
+ title: 'max. mass left'
+ }).attr('data-toggle', 'tooltip'),
+ $(' ', {
+ text: 'Mass left'
+ }),
+ $(' ', {
+ class: ['text-right', 'txt-color', config.connectionInfoTableCellMassLeftClass].join(' ')
+ })
+ )
+ )
+ ).on('pf:updateInfoTable', function(e, data){
+ // update information table -------------------------------------------------------
+ let tableElement = $(this);
+ let connectionData = tableElement.data('connectionData');
+ if(connectionData){
+ if(connectionData.scope === 'wh'){
+ // update signature information -------------------------------------------
+ let sourceLabelElement = tableElement.find('.' + config.connectionInfoTableLabelSourceClass);
+ let targetLabelElement = tableElement.find('.' + config.connectionInfoTableLabelTargetClass);
+
+ // get related jsPlumb connection
+ let connection = $().getConnectionById(data.mapId, data.connectionId);
+ let signatureTypeNames = MapUtil.getConnectionDataFromSignatures(connection, connectionData);
+
+ let sourceLabel = signatureTypeNames.sourceLabels;
+ let targetLabel = signatureTypeNames.targetLabels;
+ sourceLabelElement.html(MapUtil.getEndpointOverlayContent(sourceLabel));
+ targetLabelElement.html(MapUtil.getEndpointOverlayContent(targetLabel));
+
+ // remove K162
+ sourceLabel = sourceLabel.diff(['K162']);
+ targetLabel = targetLabel.diff(['K162']);
+
+ // get static wormhole data by endpoint Labels
+ let wormholeName = '';
+ let wormholeData = null;
+ if(sourceLabel.length === 1 && targetLabel.length === 0){
+ wormholeName = sourceLabel[0];
+ }else if(sourceLabel.length === 0 && targetLabel.length === 1){
+ wormholeName = targetLabel[0];
+ }
+
+ if(
+ wormholeName &&
+ Init.wormholes.hasOwnProperty(wormholeName)
+ ){
+ wormholeData = Object.assign({}, Init.wormholes[wormholeName]);
+ wormholeData.class = Util.getSecurityClassForSystem(wormholeData.security);
+
+ // init wormhole tooltip ----------------------------------------------
+ let massTotalTooltipCell = tableElement.find('.' + config.connectionInfoTableCellMassTotalTooltipClass);
+ massTotalTooltipCell.addWormholeInfoTooltip(wormholeData);
+ }
+
+ // all required data is set -> re-calculate rows
+ tableElement.data('wormholeData', wormholeData);
+ tableElement.trigger('pf:calcInfoTable');
+ }
+
+ }
+ }).on('pf:calcInfoTable', function(e){
+ // re-calculate information table from .data() cell values ------------------------
+ let tableElement = $(this);
+ let connectionData = tableElement.data('connectionData');
+ let massChartCell = tableElement.find('[data-percent]');
+
+ let wormholeData = tableElement.data('wormholeData');
+ let shipData = null;
+ let shipName = '';
+ let showShip = Boolean(tableElement.data('showShip'));
+ let massLogRow = tableElement.find('.' + config.connectionInfoTableRowMassLogClass);
+ let massShipRow = tableElement.find('.' + config.connectionInfoTableRowMassShipClass);
+
+ // icons
+ let massLogTooltipIcon = massLogRow.find('i.fa-question-circle');
+ let massLogStage2Icon = massLogRow.find('i.fa-adjust');
+ let massLogStage3Icon = massLogRow.find('i.fa-circle');
+
+ let massShipTooltipIcon = massShipRow.find('i.fa-question-circle');
+ let massShipWarningIcon = massShipRow.find('i.fa-exclamation-triangle');
+
+ // table cells
+ let connectionCell = tableElement.find('.' + config.connectionInfoTableCellConnectionClass);
+ let massTotalCell = tableElement.find('.' + config.connectionInfoTableCellMassTotalClass);
+ let massLogCell = tableElement.find('.' + config.connectionInfoTableCellMassLogClass);
+ let massShipCell = tableElement.find('.' + config.connectionInfoTableCellMassShipClass);
+ let massLeftCell = tableElement.find('.' + config.connectionInfoTableCellMassLeftClass);
+ let massTotal = null; // initial connection mass
+ let massReduction = 0; // default reduction (e.g. reduced, crit) in percent
+ let massLog = massLogCell.data('mass'); // recorded mass
+ let massLogTotal = massLog; // recorded mass + current ship
+ let massIndividual = null; // mass mass per jump
+ let massShip = 0; // current ship
+ let massIndividualError = false;
+
+ // get wormhole data from signature binding ---------------------------------------
+ if(wormholeData){
+ massTotal = parseInt(wormholeData.massTotal);
+ massIndividual = parseInt(wormholeData.massIndividual);
+ }
+
+ // get connection type (show fake connection div) ---------------------------------
+ connectionCell.find('div').removeClass().addClass(MapUtil.getConnectionFakeClassesByTypes(connectionData.type).join(' '));
+
+ // get wormhole status ------------------------------------------------------------
+ if(connectionData.type.indexOf('wh_critical') !== -1){
+ massReduction = 90;
+ massLogTooltipIcon.toggleClass('hidden', true);
+ massLogStage2Icon.toggleClass('hidden', true);
+ massLogStage3Icon.toggleClass('hidden', false);
+ massLogStage3Icon.parent().attr('title', 'stage 3 (critical)').tooltip('fixTitle');
+ }else if(connectionData.type.indexOf('wh_reduced') !== -1){
+ massReduction = 50;
+ massLogTooltipIcon.toggleClass('hidden', true);
+ massLogStage2Icon.toggleClass('hidden', false);
+ massLogStage3Icon.toggleClass('hidden', true);
+ massLogStage3Icon.parent().attr('title', 'stage 2 (reduced)').tooltip('fixTitle');
+ }else{
+ massLogTooltipIcon.toggleClass('hidden', false);
+ massLogStage2Icon.toggleClass('hidden', true);
+ massLogStage3Icon.toggleClass('hidden', true);
+ massLogStage3Icon.parent().attr('title', 'recorded total jump mass').tooltip('fixTitle');
+ }
+
+ if(massReduction){
+ let massLogReduction = massTotal / 100 * massReduction;
+ if(massLogReduction > massLog){
+ massLog = massLogTotal = massLogReduction;
+ }
+ }
+
+ // get current ship data ----------------------------------------------------------
+ massShipCell.parent().toggle(showShip);
+ if(showShip){
+ shipData = $('.' + config.headUserShipClass).data('shipData');
+ if(shipData){
+ if(shipData.mass){
+ massShip = parseInt(shipData.mass);
+
+ // check individual mass jump
+ if(massIndividual){
+ massIndividualError = massShip > massIndividual;
+ }
+ }
+ if(shipData.typeId && shipData.typeName){
+ shipName = shipData.typeName;
+ }
+ }
+ }
+
+ // update ship mass and "individual mass" cells ----------------------------------
+ massShipTooltipIcon.toggleClass('hidden', massIndividualError);
+ massShipWarningIcon.toggleClass('hidden', !massIndividualError);
+ let shipMassTooltip = 'current ship mass ' + (shipName ? '"' + shipName + '"' : '');
+ if(massIndividualError){
+ shipMassTooltip = '"' + shipName + '" exceeds max jump mass for this connection: ' + Util.formatMassValue(massIndividual);
+ }else{
+ // current ship mass check is OK -> add to massLogTotal
+ massLogTotal += massShip;
+ }
+ massShipTooltipIcon.parent().attr('title', shipMassTooltip).tooltip('fixTitle');
+
+ // current ship mass --------------------------------------------------------------
+ massShipCell.html( function(){
+ let cell = $(this);
+ let value = ' ';
+ let error = false;
+ let textLineThrough = false;
+ if(massShip > 0){
+ value += Util.formatMassValue(massShip);
+ if(massIndividualError){
+ error = textLineThrough = true;
+ value = ' ' + value;
+ }else{
+ value = '-' + value;
+ }
+ }else{
+ error = true;
+ value = 'undefined';
+ }
+
+ // change cell style
+ cell.toggleClass('txt-color-red', error)
+ .toggleClass('txt-color-warning', !error)
+ .toggleClass('pf-font-line-through', textLineThrough);
+
+ return value;
+ });
+
+ // calculate mass left ------------------------------------------------------------
+ let massLeft = massTotal - massLogTotal;
+ massLeft = (massLeft < 0) ? 0 : massLeft;
+ let massPercentLog = (massTotal > 0) ? Math.floor((100 / massTotal) * massLogTotal) : 0;
+
+ // update easyPieChart and tooltip ------------------------------------------------
+ let massPercentLeft = (100 - massPercentLog <= 0) ? 0 : '< ' + (100 - massPercentLog);
+ massChartCell.data('easyPieChart').enableAnimation().update(massPercentLog * -1);
+ massChartCell.attr('title', massPercentLeft + '% mass left').tooltip('fixTitle');
+
+ // update mass cells --------------------------------------------------------------
+ massTotalCell.html(massTotal > 0 ? Util.formatMassValue(massTotal) : 'undefined')
+ .toggleClass('txt-color-red', massTotal <= 0);
+ massLogCell.html('- ' + Util.formatMassValue(massLog));
+ massLeftCell.html(
+ massLeft > 0 ?
+ '~ ' + Util.formatMassValue(massLeft) :
+ (massLeft === 0 && massTotal) ?
+ 'will collapse' : 'undefined')
+ .toggleClass('txt-color-red', massLeft <= 0)
+ .toggleClass('txt-color-success', massLeft > 0);
+ })
+ );
+
+ element.find('[data-toggle="tooltip"]').tooltip({
+ container: 'body'
+ });
+
+ return element;
+ };
+
+ /**
+ * get HTML id by connectionId
+ * @param connectionId
+ * @returns {string}
+ */
+ let getConnectionElementId = (connectionId) => {
+ return config.connectionInfoPanelId + connectionId;
+ };
+
+ /**
+ * get all visible connection panel elements
+ * @param moduleElement
+ * @returns {*|T|{}}
+ */
+ let getConnectionElements = (moduleElement) => {
+ return moduleElement.find('.' + config.connectionInfoPanelClass).not('#' + getConnectionElementId(0));
+ };
+
+ /**
+ * request connection log data
+ * @param requestData
+ * @param context
+ * @param callback
+ */
+ let requestConnectionLogData = (requestData, context, callback) => {
+ // show loading animation
+ for(let connectionId of requestData.connectionIds){
+ context.moduleElement.find('#' + getConnectionElementId(connectionId) + ' table').showLoadingAnimation();
+ }
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.getMapConnectionData,
+ data: requestData,
+ dataType: 'json',
+ context: context
+ }).done(function(connectionsData){
+ // enrich connectionData with "logs" data (if available) and other "missing" data
+ for(let i = 0; i < this.connectionsData.length; i++){
+ for(let connectionData of connectionsData) {
+ if(this.connectionsData[i].id === connectionData.id){
+ // copy some missing data
+ this.connectionsData[i].created = connectionData.created;
+ // check for mass logs and copy data
+ if(connectionData.logs && connectionData.logs.length){
+ this.connectionsData[i].logs = connectionData.logs;
+ }
+ // check for signatures and copy data
+ if(connectionData.signatures && connectionData.signatures.length){
+ this.connectionsData[i].signatures = connectionData.signatures;
+ }
+ break;
+ }
+ }
+ }
+
+ callback(this.moduleElement, this.connectionsData);
+ }).always(function(){
+ // hide loading animation
+ for(let contextData of this.connectionsData){
+ context.moduleElement.find('#' + getConnectionElementId(contextData.id) + ' table').hideLoadingAnimation();
+ }
+ });
+ };
+
+ /**
+ * @see requestConnectionLogData
+ * @param moduleElement
+ * @param mapId
+ * @param connectionsData
+ */
+ let getConnectionsLogData = (moduleElement, mapId, connectionsData) => {
+ let connectionIds = [];
+ for(let connectionData of connectionsData) {
+ connectionIds.push(connectionData.id);
+ }
+
+ let requestData = {
+ mapId: mapId,
+ connectionIds: connectionIds,
+ addData : ['signatures', 'logs'],
+ // filterData : ['logs'] // do not exclude connections with NO "logs" -> sig data will be used as well
+ };
+
+ let contextData = {
+ moduleElement: moduleElement,
+ connectionsData: connectionsData
+ };
+
+ requestConnectionLogData(requestData, contextData, addConnectionsData);
+ };
+
+ /**
+ * replace/insert dataTables log data
+ * @param moduleElement
+ * @param connectionsData
+ */
+ let addConnectionsData = (moduleElement, connectionsData) => {
+
+ let getRowIndexesByData = (dataTable, colName, value) => {
+ return dataTable.rows().eq(0).filter((rowIdx) => {
+ return (dataTable.cell(rowIdx, colName + ':name' ).data() === value);
+ });
+ };
+
+ for(let connectionData of connectionsData) {
+ // find related dom element for current connection
+ let connectionElement = moduleElement.find('#' + getConnectionElementId(connectionData.id));
+ if(connectionElement.length){
+ // attach connectionData to connection information for later use ------------------
+ let connectionInfoElement = connectionElement.find('.' + config.moduleTableClass);
+ connectionInfoElement.data('connectionData', connectionData);
+
+ // update dataTable ---------------------------------------------------------------
+ let dataTable = connectionElement.find('.dataTable').dataTable().api();
+
+ if(connectionData.logs && connectionData.logs.length > 0){
+ for(let i = 0; i < connectionData.logs.length; i++){
+ let rowData = connectionData.logs[i];
+ let row = null;
+ let animationStatus = null;
+ let indexes = getRowIndexesByData(dataTable, 'index', rowData.id);
+ if(indexes.length === 0){
+ // row not found -> add new row
+ row = dataTable.row.add( rowData );
+ animationStatus = 'added';
+ }
+ /* else{
+ // we DON´t expect changes -> no row update)
+ // update row with FIRST index
+ //row = dataTable.row( parseInt(indexes[0]) );
+ // update row data
+ //row.data(connectionData.logs[i]);
+ //animationStatus = 'changed';
+ } */
+
+ if(
+ animationStatus !== null &&
+ row.length > 0
+ ){
+ row.nodes().to$().data('animationStatus', animationStatus);
+ }
+ }
+ }else{
+ // clear table or leave empty
+ dataTable.clear();
+ }
+
+ // redraw dataTable
+ dataTable.draw(false);
+ }
+ }
+ };
+
+ /**
+ *
+ * @param moduleElement
+ * @param mapId
+ * @param connectionData
+ */
+ let updateConnectionPanel = (moduleElement, mapId, connectionData) => {
+ let rowElement = moduleElement.find('.row');
+ let connectionElement = rowElement.find('#' + getConnectionElementId(connectionData.id));
+
+ if( !connectionElement.length ){
+ connectionElement = getConnectionElement(mapId, connectionData.id);
+ connectionElement.append(getInformationElement(connectionData));
+
+ let table = $('', {
+ class: ['compact', 'stripe', 'order-column', 'row-border', 'nowrap', config.connectionInfoTableClass].join(' ')
+ }).append(' ');
+ connectionElement.append(table);
+
+ // init empty table
+ let logTable = table.DataTable({
+ pageLength: 8,
+ paging: true,
+ pagingType: 'simple',
+ lengthChange: false,
+ ordering: true,
+ order: [[ 4, 'desc' ]],
+ info: true,
+ searching: false,
+ hover: false,
+ autoWidth: false,
+ // rowId: 'systemTo',
+ language: {
+ emptyTable: 'No jumps recorded',
+ info: '_START_ to _END_ of _MAX_',
+ infoEmpty: ''
+ },
+ columnDefs: [
+ {
+ targets: 0,
+ name: 'index',
+ title: ' ',
+ orderable: false,
+ searchable: false,
+ width: 20,
+ class: 'text-center',
+ data: 'id'
+ },{
+ targets: 1,
+ title: '',
+ width: 26,
+ orderable: false,
+ className: [Util.config.helpDefaultClass, 'text-center', config.tableCellImageClass].join(' '),
+ data: 'ship',
+ render: {
+ _: function(data, type, row){
+ let value = data.typeId;
+ if(type === 'display'){
+ value = ' ';
+ }
+ return value;
+ }
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ $(cell).find('img').tooltip();
+ }
+ },{
+ targets: 2,
+ title: '',
+ width: 26,
+ orderable: false,
+ className: [Util.config.helpDefaultClass, 'text-center', config.tableCellImageClass].join(' '),
+ data: 'created.character',
+ render: {
+ _: function(data, type, row){
+ let value = data.name;
+ if(type === 'display'){
+ value = ' ';
+ }
+ return value;
+ }
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ $(cell).find('img').tooltip();
+ }
+ },{
+ targets: 3,
+ title: 'mass',
+ className: ['text-right'].join(' ') ,
+ data: 'ship.mass',
+ render: {
+ _: function(data, type, row){
+ let value = data;
+ if(type === 'display'){
+ value = Util.formatMassValue(value);
+ }
+ return value;
+ }
+ }
+ },{
+ targets: 4,
+ title: 'log',
+ width: 55,
+ className: ['text-right', config.tableCellCounterClass].join(' '),
+ data: 'created.created',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ $(cell).initTimestampCounter('d');
+ }
+ }
+ ],
+ drawCallback: function(settings){
+ let animationRows = this.api().rows().nodes().to$().filter(function(a,b ) {
+ return (
+ $(this).data('animationStatus') ||
+ $(this).data('animationTimer')
+ );
+ });
+
+ for(let i = 0; i < animationRows.length; i++){
+ $(animationRows[i]).pulseBackgroundColor($(animationRows[i]).data('animationStatus'));
+ $(animationRows[i]).removeData('animationStatus');
+ }
+
+ },
+ footerCallback: function ( row, data, start, end, display ) {
+
+ let api = this.api();
+ let sumColumnIndexes = [3];
+
+ // column data for "sum" columns over this page
+ let pageTotalColumns = api
+ .columns( sumColumnIndexes, { page: 'all'} )
+ .data();
+
+ // sum columns for "total" sum
+ pageTotalColumns.each((colData, index) => {
+ pageTotalColumns[index] = colData.reduce((a, b) => {
+ return parseInt(a) + parseInt(b);
+ }, 0);
+ });
+
+ $(sumColumnIndexes).each((index, value) => {
+ $( api.column( value ).footer() ).text( Util.formatMassValue(pageTotalColumns[index]) );
+
+ // save mass for further reCalculation of "info" table
+ connectionElement.find('.' + config.connectionInfoTableCellMassLogClass).data('mass', pageTotalColumns[index]);
+ });
+
+ // calculate "info" table -----------------------------------------------------
+ connectionElement.find('.' + config.moduleTableClass).trigger('pf:updateInfoTable', connectionElement.data());
+ }
+ });
+
+ // find position to insert
+ connectionElement.insertBefore(rowElement.find('#' + getConnectionElementId(0)));
+
+ logTable.on('order.dt search.dt', function(){
+ let pageInfo = logTable.page.info();
+ logTable.column(0, {search:'applied', order:'applied'}).nodes().each((cell, i) => {
+ let content = (pageInfo.recordsTotal - i) + '. ';
+ $(cell).html(content);
+ });
+ });
+ }
+ };
+
+ /**
+ * remove connection Panel from moduleElement
+ * @param connectionElement
+ */
+ let removeConnectionPanel = (connectionElement) => {
+ connectionElement = $(connectionElement);
+ if(connectionElement.length){
+ // destroy dataTable (and remove table from DOM)
+ let logTable = connectionElement.find('.' + config.connectionInfoTableClass);
+ logTable.dataTable().api().destroy(true);
+ // remove belonging connectionElement
+ connectionElement.remove();
+ }
+ };
+
+ /**
+ * get connections from ModuleElement
+ * -> validate with current map data
+ * @param moduleElement
+ * @param mapId
+ * @returns {{connectionsDataUpdate: Array, connectionsDataRemove: Array}}
+ */
+ let getConnectionsDataFromModule = (moduleElement, mapId) => {
+ let activeMap = Util.getMapModule().getActiveMap();
+ let mapData = activeMap.getMapDataFromClient({forceData: true});
+ let connectionsData = {
+ connectionsDataUpdate: [],
+ connectionsDataRemove: [],
+ };
+
+ if(mapData !== false){
+ getConnectionElements(moduleElement).each((i, connectionElement) => {
+ let removeConnectionPanel = true;
+ let connectionData = {id: $(connectionElement).data('connectionId') };
+
+ let connection = $().getConnectionById(mapId, connectionData.id);
+ if(connection){
+ let connectionDataTemp = MapUtil.getDataByConnection(connection);
+ if(connectionDataTemp.id > 0){
+ // connection still on map - OK
+ removeConnectionPanel = false;
+ connectionData = connectionDataTemp;
+ }
+ }
+
+ if(removeConnectionPanel){
+ connectionsData.connectionsDataRemove.push(connectionData);
+ }else{
+ connectionsData.connectionsDataUpdate.push(connectionData);
+ }
+ });
+ }
+
+ return connectionsData;
+ };
+
+ /**
+ * update/init multiple connection panels at once
+ * @param moduleElement
+ * @param mapId
+ * @param connectionsDataUpdate
+ * @param connectionsDataRemove
+ */
+ let updateConnectionPanels = (moduleElement, mapId, connectionsDataUpdate, connectionsDataRemove) => {
+ for(let connectionData of connectionsDataRemove){
+ let connectionElement = moduleElement.find('#' + getConnectionElementId(connectionData.id));
+ removeConnectionPanel(connectionElement);
+ }
+
+ for(let connectionData of connectionsDataUpdate){
+ updateConnectionPanel(moduleElement, mapId, connectionData);
+ }
+
+ // request connectionsLogData for each updated connection
+ if(connectionsDataUpdate.length){
+ getConnectionsLogData(moduleElement, mapId, connectionsDataUpdate);
+ }
+
+ // remove module if no connection panel left
+ // --> all connection deselected on map
+ let connectionElements = getConnectionElements(moduleElement);
+ if(connectionElements.length === 0){
+ MapUtil.getTabContentElementByMapElement(moduleElement).trigger('pf:removeConnectionModules');
+ }
+
+ // hide "control" panel when multiple connection
+ moduleElement.find('#' + getConnectionElementId(0)).toggle(connectionElements.length < 2);
+ };
+
+ /**
+ * set module observer
+ * @param moduleElement
+ * @param mapId
+ */
+ let setModuleObserver = (moduleElement, mapId) => {
+ $(document).off('pf:updateConnectionInfoModule').on('pf:updateConnectionInfoModule', function(e, data){
+ updateConnectionPanels(
+ moduleElement,
+ data.mapId,
+ MapUtil.getDataByConnections(data.connectionsUpdate),
+ MapUtil.getDataByConnections(data.connectionsRemove)
+ );
+ });
+
+ $(document).off('pf:activeShip').on('pf:activeShip', function(e){
+ moduleElement.find('.' + config.connectionInfoPanelClass).each((i, connectionElement) => {
+ $(connectionElement).find('.' + config.moduleTableClass).each((i, tableElement) => {
+ $(tableElement).trigger('pf:calcInfoTable');
+ });
+ });
+ });
+
+ // init toggle active ship ----------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconCurrentMassClass).on('click', function(e){
+ let currentMassIcon = $(this).toggleClass('active');
+ moduleElement.find('.' + config.connectionInfoPanelClass).each((i, connectionElement) => {
+ $(connectionElement).find('.' + config.moduleTableClass).each((i, tableElement) => {
+ $(tableElement).data('showShip', currentMassIcon.hasClass('active')).trigger('pf:calcInfoTable');
+ });
+ });
+ });
+
+ // init refresh connections ---------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconRefreshClass).on('click', function(e){
+ refreshConnectionPanels(moduleElement, mapId);
+ });
+ };
+
+ /**
+ * refresh all connection panels in a module
+ * @param moduleElement
+ * @param mapId
+ */
+ let refreshConnectionPanels = (moduleElement, mapId) => {
+ let connectionsData = getConnectionsDataFromModule(moduleElement, mapId);
+ updateConnectionPanels(moduleElement, mapId, connectionsData.connectionsDataUpdate, connectionsData.connectionsDataRemove);
+ };
+
+ /**
+ * before module destroy callback
+ * @param moduleElement
+ */
+ let beforeDestroy = (moduleElement) => {
+ getConnectionElements(moduleElement).each((i, connectionElement) => {
+ removeConnectionPanel(connectionElement);
+ });
+ };
+
+ /**
+ * init callback
+ * @param moduleElement
+ * @param mapId
+ * @param connectionData
+ */
+ let initModule = (moduleElement, mapId, connectionData) => {
+ setModuleObserver(moduleElement, mapId);
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param connections
+ * @returns {*|jQuery|HTMLElement}
+ */
+ let getModule = (parentElement, mapId, connections) => {
+ let moduleElement = $('').append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ text: 'Connection'
+ }),
+ getHeadlineToolbar()
+ )
+ );
+
+ let rowElement = $('', {
+ class: 'row'
+ });
+
+ moduleElement.append(rowElement);
+
+ rowElement.append(getInfoPanelControl(mapId));
+
+ updateConnectionPanels(moduleElement, mapId, MapUtil.getDataByConnections(connections), []);
+
+ return moduleElement;
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ initModule: initModule,
+ beforeDestroy: beforeDestroy
+ };
+});
\ No newline at end of file
diff --git a/public/js/v1.4.1/app/ui/module/system_graph.js b/public/js/v1.4.1/app/ui/module/system_graph.js
new file mode 100644
index 00000000..c18bb203
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/system_graph.js
@@ -0,0 +1,248 @@
+/**
+ * System graph module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'morris'
+], ($, Init, Util, Morris) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 3,
+ moduleName: 'systemGraph',
+ moduleHeadClass: 'pf-module-head', // class for module header
+ moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler
+
+ // system graph module
+ moduleTypeClass: 'pf-system-graph-module', // class for this module
+ systemGraphClass: 'pf-system-graph', // class for each graph
+
+ // system graph labels
+ systemGraphs: {
+ jumps: {
+ headline: 'Jumps',
+ units: 'jumps',
+ ykeys: ['y'],
+ labels: ['jumps'],
+ lineColors: ['#375959'],
+ pointFillColors: ['#477372']
+ },
+ shipKills: {
+ headline: 'Ship/POD Kills',
+ units: 'kills',
+ ykeys: ['y', 'z'],
+ labels: ['Ship kills', 'POD kills'],
+ lineColors: ['#375959', '#477372'],
+ pointFillColors: ['#477372', '#568a89']
+ },
+ factionKills: {
+ headline: 'NPC Kills',
+ units: 'kills',
+ ykeys: ['y'],
+ labels: ['kills'],
+ lineColors: ['#375959'],
+ pointFillColors: ['#477372']
+ }
+ }
+ };
+
+ /**
+ * get info for a given graph key
+ * @param graphKey
+ * @param option
+ * @returns {string}
+ */
+ let getInfoForGraph = function(graphKey, option){
+ let info = '';
+ if(config.systemGraphs.hasOwnProperty(graphKey)){
+ info = config.systemGraphs[graphKey][option];
+ }
+
+ return info;
+ };
+
+ /**
+ * init Morris Graph
+ * @param graphElement
+ * @param graphKey
+ * @param graphData
+ * @param eventLine
+ */
+ let initGraph = function(graphElement, graphKey, graphData, eventLine){
+ if(graphData.length > 0){
+ let labelYFormat = function(y){
+ return Math.round(y);
+ };
+
+ let graphConfig = {
+ element: graphElement,
+ data: graphData,
+ xkey: 'x',
+ ykeys: getInfoForGraph(graphKey, 'ykeys'),
+ labels: getInfoForGraph(graphKey, 'labels'),
+ parseTime: false,
+ ymin: 0,
+ yLabelFormat: labelYFormat,
+ padding: 10,
+ hideHover: true,
+ pointSize: 3,
+ lineColors: getInfoForGraph(graphKey, 'lineColors'),
+ pointFillColors: getInfoForGraph(graphKey, 'pointFillColors'),
+ pointStrokeColors: ['#141413'],
+ lineWidth: 2,
+ grid: true,
+ gridStrokeWidth: 0.3,
+ gridTextSize: 9,
+ gridTextFamily: 'Oxygen Bold',
+ gridTextColor: '#63676a',
+ behaveLikeLine: false,
+ goals: [],
+ goalLineColors: ['#5cb85c'],
+ smooth: true,
+ fillOpacity: 0.2,
+ resize: true,
+ redraw: true,
+ eventStrokeWidth: 2,
+ eventLineColors: ['#5CB85C']
+ };
+
+ if(eventLine >= 0){
+ graphConfig.events = [eventLine];
+ }
+
+ Morris.Area(graphConfig);
+ }
+ };
+
+ /**
+ * request graphs data
+ * @param requestData
+ * @param context
+ * @param callback
+ */
+ let requestGraphData = (requestData, context, callback) => {
+ // show loading animation
+ context.moduleElement.find('.' + config.systemGraphClass).showLoadingAnimation();
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.getSystemGraphData,
+ data: requestData,
+ dataType: 'json',
+ context: context
+ }).done(function(systemGraphsData){
+ callback(this, systemGraphsData);
+ }).fail(function( jqXHR, status, error) {
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': System graph data', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ this.moduleElement.hide();
+ }).always(function(){
+ // hide loading animation
+ context.moduleElement.find('.' + config.systemGraphClass).hideLoadingAnimation();
+ });
+ };
+
+ /**
+ * update graph elements with data
+ * @param context
+ * @param systemGraphsData
+ */
+ let addGraphData = (context, systemGraphsData) => {
+
+ // calculate time offset until system created -----------------------------------------------------------------
+ let serverData = Util.getServerTime();
+ let timestampNow = Math.floor(serverData.getTime() / 1000);
+ let timeSinceUpdate = timestampNow - context.systemData.updated.updated;
+
+ let timeInHours = Math.floor(timeSinceUpdate / 3600);
+ let timeInMinutes = Math.floor((timeSinceUpdate % 3600) / 60);
+ let timeInMinutesPercent = ( timeInMinutes / 60 ).toFixed(2);
+ let eventLine = timeInHours + timeInMinutesPercent;
+
+ // graph is from right to left -> convert event line
+ eventLine = 23 - eventLine;
+
+ // update graph data ------------------------------------------------------------------------------------------
+ for (let [systemId, graphsData] of Object.entries(systemGraphsData)){
+ for (let [graphKey, graphData] of Object.entries(graphsData)){
+ let graphElement = context.moduleElement.find('[data-graph="' + graphKey + '"]');
+ initGraph(graphElement, graphKey, graphData, eventLine);
+ }
+ }
+ };
+
+ /**
+ * @see requestGraphData
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let updateGraphPanel = (moduleElement, mapId, systemData) => {
+ let requestData = {
+ systemIds: [systemData.systemId]
+ };
+
+ let contextData = {
+ moduleElement: moduleElement,
+ systemData: systemData
+ };
+
+ requestGraphData(requestData, contextData, addGraphData);
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ * @returns {*}
+ */
+ let getModule = (parentElement, mapId, systemData) => {
+ // graph data is available for k-space systems
+ let moduleElement = null;
+ if(systemData.type.id === 2){
+ moduleElement = $('
');
+ let rowElement = $('
', {
+ class: 'row'
+ });
+
+ for (let [graphKey, graphConfig] of Object.entries(config.systemGraphs)){
+ rowElement.append(
+ $('
', {
+ class: ['col-xs-12', 'col-sm-6', 'col-md-4'].join(' ')
+ }).append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ text: getInfoForGraph(graphKey, 'headline')
+ })
+ ),
+ $('', {
+ class: config.systemGraphClass
+ }).attr('data-graph', graphKey)
+ )
+ );
+ }
+ moduleElement.append(rowElement);
+
+ updateGraphPanel(moduleElement, mapId, systemData);
+ }
+
+ return moduleElement;
+ };
+
+ return {
+ config: config,
+ getModule: getModule
+ };
+
+});
diff --git a/public/js/v1.4.1/app/ui/module/system_info.js b/public/js/v1.4.1/app/ui/module/system_info.js
new file mode 100644
index 00000000..8fc98496
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/system_info.js
@@ -0,0 +1,419 @@
+/**
+ * System info module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'app/render',
+ 'app/map/util'
+], ($, Init, Util, Render, MapUtil) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 2,
+ moduleName: 'systemInfo',
+
+ // system info module
+ moduleTypeClass: 'pf-system-info-module', // class for this module
+
+ // breadcrumb
+ constellationLinkClass: 'pf-system-info-constellation', // class for "constellation" name
+ regionLinkClass: 'pf-system-info-region', // class for "region" name
+ typeLinkClass: 'pf-system-info-type', // class for "type" name
+
+ // info table
+ systemInfoTableClass: 'pf-module-table', // class for system info table
+ systemInfoNameClass: 'pf-system-info-name', // class for "name" information element
+ systemInfoEffectClass: 'pf-system-info-effect', // class for "effect" information element
+ systemInfoPlanetsClass: 'pf-system-info-planets', // class for "planets" information element
+ systemInfoStatusLabelClass: 'pf-system-info-status-label', // class for "status" information element
+ systemInfoStatusAttributeName: 'data-status', // attribute name for status label
+ systemInfoWormholeClass: 'pf-system-info-wormhole-', // class prefix for static wormhole element
+
+ // description field
+ descriptionArea: 'pf-system-info-description-area', // class for "description" area
+ addDescriptionButtonClass: 'pf-system-info-description-button', // class for "add description" button
+ moduleElementToolbarClass: 'pf-table-tools', // class for "module toolbar" element
+ tableToolsActionClass: 'pf-table-tools-action', // class for "edit" action
+
+ descriptionTextareaElementClass: 'pf-system-info-description', // class for "description" textarea element (xEditable)
+ descriptionTextareaCharCounter: 'pf-form-field-char-count', // class for "character counter" element for form field
+
+ // fonts
+ fontTriglivianClass: 'pf-triglivian' // class for "Triglivian" names (e.g. Abyssal systems)
+ };
+
+ // disable Module update temporary (in case e.g. textarea is currently active)
+ let disableModuleUpdate = false;
+
+ // animation speed values
+ let animationSpeedToolbarAction = 200;
+
+ // max character length for system description
+ let maxDescriptionLength = 512;
+
+ /**
+ * shows the tool action element by animation
+ * @param toolsActionElement
+ */
+ let showToolsActionElement = (toolsActionElement) => {
+ toolsActionElement.velocity('stop').velocity({
+ opacity: 1,
+ height: '100%'
+ },{
+ duration: animationSpeedToolbarAction,
+ display: 'block',
+ visibility: 'visible'
+ });
+ };
+
+ /**
+ * hides the tool action element by animation
+ * @param toolsActionElement
+ */
+ let hideToolsActionElement = (toolsActionElement) => {
+ toolsActionElement.velocity('stop').velocity('reverse', {
+ display: 'none',
+ visibility: 'hidden'
+ });
+ };
+
+ /**
+ * update trigger function for this module
+ * compare data and update module
+ * @param moduleElement
+ * @param systemData
+ */
+ let updateModule = (moduleElement, systemData) => {
+ let systemId = moduleElement.data('id');
+
+ if(systemId === systemData.id){
+ // update system status -----------------------------------------------------------------------------------
+ let systemStatusLabelElement = moduleElement.find('.' + config.systemInfoStatusLabelClass);
+ let systemStatusId = parseInt( systemStatusLabelElement.attr( config.systemInfoStatusAttributeName ) );
+
+ if(systemStatusId !== systemData.status.id){
+ // status changed
+ let currentStatusClass = Util.getStatusInfoForSystem(systemStatusId, 'class');
+ let newStatusClass = Util.getStatusInfoForSystem(systemData.status.id, 'class');
+ let newStatusLabel = Util.getStatusInfoForSystem(systemData.status.id, 'label');
+ systemStatusLabelElement.removeClass(currentStatusClass).addClass(newStatusClass).text(newStatusLabel);
+
+ // set new status attribute
+ systemStatusLabelElement.attr( config.systemInfoStatusAttributeName, systemData.status.id);
+ }
+
+ // update description textarea ----------------------------------------------------------------------------
+ let descriptionTextareaElement = moduleElement.find('.' + config.descriptionTextareaElementClass);
+ let description = descriptionTextareaElement.editable('getValue', true);
+
+ if(
+ !disableModuleUpdate && // don´t update if field is active
+ description !== systemData.description
+ ){
+ // description changed
+ let descriptionButton = moduleElement.find('.' + config.addDescriptionButtonClass);
+
+ // set new value
+ descriptionTextareaElement.editable('setValue', systemData.description);
+
+ let actionElement = descriptionButton.siblings('.' + config.tableToolsActionClass);
+
+ if(systemData.description.length === 0){
+ // show/activate description field
+ // show button if value is empty
+ descriptionButton.show();
+ hideToolsActionElement(actionElement);
+ }else{
+ // hide/disable description field
+ // hide tool button
+ descriptionButton.hide();
+ showToolsActionElement(actionElement);
+ }
+ }
+
+ // created/updated tooltip --------------------------------------------------------------------------------
+ let nameRowElement = moduleElement.find('.' + config.systemInfoNameClass);
+
+ let tooltipData = {
+ created: systemData.created,
+ updated: systemData.updated
+ };
+
+ nameRowElement.addCharacterInfoTooltip( tooltipData );
+ }
+
+ moduleElement.find('.' + config.descriptionArea).hideLoadingAnimation();
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ */
+ let getModule = (parentElement, mapId, systemData) => {
+ let moduleElement = $('
');
+
+ // store systemId -> module can be updated with the correct data
+ moduleElement.data('id', systemData.id);
+
+ // system "static" wh data
+ let staticsData = [];
+ if(
+ systemData.statics &&
+ systemData.statics.length > 0
+ ){
+ for(let wormholeName of systemData.statics){
+ let wormholeData = Object.assign({}, Init.wormholes[wormholeName]);
+ wormholeData.class = Util.getSecurityClassForSystem(wormholeData.security);
+ staticsData.push(wormholeData);
+ }
+ }
+
+ let effectName = MapUtil.getEffectInfoForSystem(systemData.effect, 'name');
+ let effectClass = MapUtil.getEffectInfoForSystem(systemData.effect, 'class');
+
+ // systemInfo template config
+ let moduleConfig = {
+ name: 'modules/system_info',
+ position: moduleElement,
+ link: 'append',
+ functions: {
+ after: function(conf){
+ let tempModuleElement = conf.position;
+
+ // lock "description" field until first update
+ tempModuleElement.find('.' + config.descriptionArea).showLoadingAnimation();
+
+ // "add description" button
+ let descriptionButton = tempModuleElement.find('.' + config.addDescriptionButtonClass);
+
+ // description textarea element
+ let descriptionTextareaElement = tempModuleElement.find('.' + config.descriptionTextareaElementClass);
+
+ // init description textarea
+ descriptionTextareaElement.editable({
+ url: Init.path.saveSystem,
+ dataType: 'json',
+ pk: systemData.id,
+ type: 'textarea',
+ mode: 'inline',
+ emptytext: '',
+ onblur: 'cancel',
+ showbuttons: true,
+ value: '', // value is set by trigger function updateModule()
+ rows: 5,
+ name: 'description',
+ inputclass: config.descriptionTextareaElementClass,
+ tpl: '
',
+ params: function(params){
+ params.mapData = {
+ id: mapId
+ };
+
+ params.systemData = {};
+ params.systemData.id = params.pk;
+ params.systemData[params.name] = params.value;
+
+ // clear unnecessary data
+ delete params.pk;
+ delete params.name;
+ delete params.value;
+
+ return params;
+ },
+ validate: function(value){
+ if(value.length > 0 && $.trim(value).length === 0) {
+ return {newValue: ''};
+ }
+ },
+ success: function(response, newValue){
+ Util.showNotify({title: 'System updated', text: 'Name: ' + response.name, type: 'success'});
+ },
+ error: function(jqXHR, newValue){
+ let reason = '';
+ let status = '';
+ if(jqXHR.name){
+ // save error new sig (mass save)
+ reason = jqXHR.name;
+ status = 'Error';
+ }else{
+ reason = jqXHR.responseJSON.text;
+ status = jqXHR.status;
+ }
+
+ Util.showNotify({title: status + ': save system information', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ return reason;
+ }
+ });
+
+ // on xEditable open ------------------------------------------------------------------------------
+ descriptionTextareaElement.on('shown', function(e, editable){
+ let textarea = editable.input.$input;
+
+ // disable module update until description field is open
+ disableModuleUpdate = true;
+
+ // create character counter
+ let charCounter = $('
', {
+ class: [config.descriptionTextareaCharCounter, 'txt-color', 'text-right'].join(' ')
+ });
+ textarea.parent().next().append(charCounter);
+
+ // update character counter
+ Util.updateCounter(textarea, charCounter, maxDescriptionLength);
+
+ textarea.on('keyup', function(){
+ Util.updateCounter($(this), charCounter, maxDescriptionLength);
+ });
+ });
+
+ // on xEditable close -----------------------------------------------------------------------------
+ descriptionTextareaElement.on('hidden', function(e){
+ let value = $(this).editable('getValue', true);
+ if(value.length === 0){
+ // show button if value is empty
+ hideToolsActionElement(descriptionButton.siblings('.' + config.tableToolsActionClass));
+ descriptionButton.show();
+ }
+
+ // enable module update
+ disableModuleUpdate = false;
+ });
+
+ // enable xEditable field on Button click ---------------------------------------------------------
+ descriptionButton.on('click', function(e){
+ e.stopPropagation();
+ let descriptionButton = $(this);
+
+ // hide tool buttons
+ descriptionButton.hide();
+
+ // show field *before* showing the element
+ descriptionTextareaElement.editable('show');
+
+ showToolsActionElement(descriptionButton.siblings('.' + config.tableToolsActionClass));
+ });
+
+ // init tooltips ----------------------------------------------------------------------------------
+ let tooltipElements = tempModuleElement.find('[data-toggle="tooltip"]');
+ tooltipElements.tooltip();
+
+ // init system effect popover ---------------------------------------------------------------------
+ $(moduleElement).find('.' + config.systemInfoEffectClass).addSystemEffectTooltip(systemData.security, systemData.effect);
+
+ // init planets popover ---------------------------------------------------------------------------
+ $(moduleElement).find('.' + config.systemInfoPlanetsClass).addSystemPlanetsTooltip(systemData.planets);
+
+ // init static wormhole information ---------------------------------------------------------------
+ for(let staticData of staticsData){
+ let staticRowElement = tempModuleElement.find('.' + config.systemInfoWormholeClass + staticData.name);
+ staticRowElement.addWormholeInfoTooltip(staticData);
+ }
+
+ // constellation popover --------------------------------------------------------------------------
+ tempModuleElement.find('a.popup-ajax').popover({
+ html: true,
+ trigger: 'hover',
+ placement: 'top',
+ delay: 200,
+ container: 'body',
+ content: function(){
+ return details_in_popup(this);
+ }
+ });
+
+ function details_in_popup(popoverElement){
+ popoverElement = $(popoverElement);
+ let popover = popoverElement.data('bs.popover');
+
+ $.ajax({
+ url: popoverElement.data('url'),
+ success: function(data){
+ let systemEffectTable = Util.getSystemsInfoTable( data.systemsData );
+ popover.options.content = systemEffectTable;
+ // reopen popover (new content size)
+ popover.show();
+ }
+ });
+ return 'Loading...';
+ }
+
+ }
+ }
+ };
+
+ let moduleData = {
+ system: systemData,
+ static: staticsData,
+ tableClass: config.systemInfoTableClass,
+ nameInfoClass: config.systemInfoNameClass,
+ effectInfoClass: config.systemInfoEffectClass,
+ planetsInfoClass: config.systemInfoPlanetsClass,
+ wormholePrefixClass: config.systemInfoWormholeClass,
+ statusInfoClass: config.systemInfoStatusLabelClass,
+
+ systemTypeName: MapUtil.getSystemTypeInfo(systemData.type.id, 'name'),
+ systemIsWormhole: MapUtil.getSystemTypeInfo(systemData.type.id, 'name') === 'w-space',
+ systemStatusId: systemData.status.id,
+ systemStatusClass: Util.getStatusInfoForSystem(systemData.status.id, 'class'),
+ systemStatusLabel: Util.getStatusInfoForSystem(systemData.status.id, 'label'),
+ securityClass: Util.getSecurityClassForSystem( systemData.security ),
+ trueSec: systemData.trueSec.toFixed(1),
+ trueSecClass: Util.getTrueSecClassForSystem( systemData.trueSec ),
+ effectName: effectName,
+ effectClass: effectClass,
+ moduleToolbarClass: config.moduleElementToolbarClass,
+ descriptionButtonClass: config.addDescriptionButtonClass,
+ tableToolsActionClass: config.tableToolsActionClass,
+ descriptionTextareaClass: config.descriptionTextareaElementClass,
+ systemNameClass: () => {
+ return (val, render) => {
+ return render(val) === 'A' ? config.fontTriglivianClass : '';
+ };
+ },
+ formatUrl: () => {
+ return (val, render) => render(val).replace(/ /g, '_');
+ },
+ planetCount: systemData.planets ? systemData.planets.length : 0,
+
+ shatteredClass: Util.getSecurityClassForSystem('SH'),
+
+ ajaxConstellationInfoUrl: Init.path.getConstellationData,
+
+ systemConstellationLinkClass: config.constellationLinkClass,
+ systemRegionLinkClass: config.regionLinkClass,
+ systemTypeLinkClass: config.typeLinkClass
+
+ };
+
+ Render.showModule(moduleConfig, moduleData);
+
+ return moduleElement;
+ };
+
+ /**
+ * efore module destroy callback
+ * @param moduleElement
+ */
+ let beforeDestroy = (moduleElement) => {
+ // remove xEditable description textarea
+ let descriptionTextareaElement = moduleElement.find('.' + config.descriptionTextareaElementClass);
+ descriptionTextareaElement.editable('destroy');
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ updateModule: updateModule,
+ beforeDestroy: beforeDestroy
+ };
+});
+
+
+
diff --git a/public/js/v1.4.1/app/ui/module/system_intel.js b/public/js/v1.4.1/app/ui/module/system_intel.js
new file mode 100644
index 00000000..1b557f7a
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/system_intel.js
@@ -0,0 +1,841 @@
+/**
+ * System intel module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'bootbox'
+], ($, Init, Util, bootbox) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 1,
+ moduleName: 'systemIntel',
+ moduleHeadClass: 'pf-module-head', // class for module header
+ moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler
+
+ // system info module
+ moduleTypeClass: 'pf-system-intel-module', // class for this module
+
+ // headline toolbar
+ moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
+ moduleHeadlineIconAddClass: 'pf-module-icon-button-add', // class for "add structure" icon
+ moduleHeadlineIconReaderClass: 'pf-module-icon-button-reader', // class for "dScan reader" icon
+ moduleHeadlineIconRefreshClass: 'pf-module-icon-button-refresh', // class for "refresh" icon
+
+ // system intel module
+ systemStructuresTableClass: 'pf-system-structure-table', // class for route tables
+
+ // structure dialog
+ structureDialogId: 'pf-structure-dialog', // id for "structure" dialog
+ statusSelectId: 'pf-structure-dialog-status-select', // id for "status" select
+ typeSelectId: 'pf-structure-dialog-type-select', // id for "type" select
+ corporationSelectId: 'pf-structure-dialog-corporation-select', // id for "corporation" select
+ descriptionTextareaId: 'pf-structure-dialog-description-textarea', // id for "description" textarea
+ descriptionTextareaCharCounter: 'pf-form-field-char-count', // class for "character counter" element for form field
+
+ // dataTable
+ tableRowIdPrefix: 'pf-structure-row_', // id prefix for table rows
+ tableCellImageClass: 'pf-table-image-smaller-cell', // class for table "image" cells
+ tableCellCounterClass: 'pf-table-counter-cell', // class for table "counter" cells
+ tableCellEllipsisClass: 'pf-table-cell-ellipses-auto', // class for table "ellipsis" cells
+ dataTableActionCellClass: 'pf-table-action-cell' // class for "action" cells
+ };
+
+ let maxDescriptionLength = 512;
+
+ /**
+ * get status icon for structure
+ * @param statusData
+ * @returns {string}
+ */
+ let getStatusData = (statusData) => {
+ return ' ';
+ };
+
+ /**
+ * get DOM id by id
+ * @param tableApi
+ * @param id
+ * @returns {*}
+ */
+ let getRowId = (tableApi, id) => {
+ return tableApi.rows().ids().toArray().find(rowId => rowId === config.tableRowIdPrefix + id);
+ };
+
+ /**
+ * callback -> add structure rows from responseData
+ * @param context
+ * @param responseData
+ */
+ let callbackAddStructureRows = (context, responseData) => {
+ let systemData = Util.getObjVal(responseData, 'system');
+ callbackUpdateStructureRows(context, systemData);
+ };
+
+ /**
+ * callback -> add structure rows from systemData
+ * @param context
+ * @param systemData
+ */
+ let callbackUpdateStructureRows = (context, systemData) => {
+ let touchedRows = [];
+ let hadData = context.tableApi.rows().any();
+ let notificationCounter = {
+ added: 0,
+ changed: 0,
+ deleted: 0
+ };
+
+ if(systemData){
+ let corporations = Util.getObjVal(systemData, 'structures');
+ if(corporations) {
+ for (let [corporationId, corporationData] of Object.entries(corporations)){
+ if(corporationData.structures && corporationData.structures.length){
+ for(let structureData of corporationData.structures){
+ let rowId = getRowId(context.tableApi, structureData.id);
+
+ // add corporation data
+ structureData.corporation = {
+ id: corporationData.id,
+ name: corporationData.name
+ };
+
+ if(rowId){
+ // update row
+ let api = context.tableApi.row('#' + rowId);
+ let rowData = api.data();
+
+ // check for update
+ if(rowData.updated.updated !== structureData.updated.updated){
+ // row data changed -> update
+ api.data(structureData);
+ api.nodes().to$().data('animationStatus', 'changed').destroyTimestampCounter();
+ notificationCounter.changed++;
+ }
+
+ touchedRows.push(api.id());
+ }else{
+ // insert new row
+ let api = context.tableApi.row.add(structureData);
+ api.nodes().to$().data('animationStatus', 'added');
+ notificationCounter.added++;
+
+ touchedRows.push(api.id());
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if(context.removeMissing){
+ let api = context.tableApi.rows((idx, data, node) => !touchedRows.includes(node.id));
+ notificationCounter.deleted += api.ids().count();
+ api.remove();
+ }
+
+ context.tableApi.draw();
+
+ // show notification ------------------------------------------------------------------------------------------
+ let notification = '';
+ notification += notificationCounter.added > 0 ? notificationCounter.added + ' added ' : '';
+ notification += notificationCounter.changed > 0 ? notificationCounter.changed + ' changed ' : '';
+ notification += notificationCounter.deleted > 0 ? notificationCounter.deleted + ' deleted ' : '';
+
+ if(hadData && notification.length){
+ Util.showNotify({title: 'Structures updated', text: notification, type: 'success'});
+ }
+ };
+
+ /**
+ * callback -> delete structure rows
+ * @param context
+ * @param responseData
+ */
+ let callbackDeleteStructures = (context, responseData) => {
+ let structureIds = Util.getObjVal(responseData, 'deletedStructureIds');
+ let deletedCounter = 0;
+ if(structureIds && structureIds.length){
+ for(let structureId of structureIds){
+ let rowId = getRowId(context.tableApi, structureId);
+ if(rowId){
+ context.tableApi.row('#' + rowId).remove();
+ deletedCounter++;
+ }
+ }
+ }
+
+ if(deletedCounter){
+ context.tableApi.draw();
+ Util.showNotify({title: 'Structure deleted', text: deletedCounter + ' deleted', type: 'success'});
+ }
+ };
+
+ /**
+ * send ajax request
+ * @param url
+ * @param requestData
+ * @param context
+ * @param callback
+ */
+ let sendRequest = (url, requestData, context, callback) => {
+ context.moduleElement.showLoadingAnimation();
+
+ $.ajax({
+ url: url,
+ type: 'POST',
+ dataType: 'json',
+ data: requestData,
+ context: context
+ }).done(function(data){
+ callback(this, data);
+ }).fail(function( jqXHR, status, error) {
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': System intel data', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ }).always(function(){
+ // hide loading animation
+ this.moduleElement.hideLoadingAnimation();
+ });
+ };
+
+ /**
+ * requests system data
+ * @param requestData
+ * @param context
+ * @param callback
+ */
+ let getStructureData = (requestData, context, callback) => {
+ sendRequest(Init.path.getSystemData, requestData, context, callback);
+ };
+
+ /**
+ * save structure data
+ * @param requestData
+ * @param context
+ * @param callback
+ */
+ let saveStructureData = (requestData, context, callback) => {
+ sendRequest(Init.path.saveStructureData, requestData, context, callback);
+ };
+
+ /**
+ * delete structure
+ * @param requestData
+ * @param context
+ * @param callback
+ */
+ let deleteStructure = (requestData, context, callback) => {
+ sendRequest(Init.path.deleteStructureData, requestData, context, callback);
+ };
+
+ /**
+ * show structure dialog
+ * @param moduleElement
+ * @param tableApi
+ * @param systemId
+ * @param structureData
+ */
+ let showStructureDialog = (moduleElement, tableApi, systemId, structureData) => {
+ let structureStatusData = Util.getObjVal(Init, 'structureStatus');
+ let structureTypeData = Util.getObjVal(Init, 'structureStatus');
+
+ let statusData = Object.keys(structureStatusData).map((k) => {
+ let data = structureStatusData[k];
+ data.selected = data.id === Util.getObjVal(structureData, 'status.id');
+ return data;
+ });
+
+ let data = {
+ id: config.structureDialogId,
+ structureData: structureData,
+ structureStatus: statusData,
+ statusSelectId: config.statusSelectId,
+ typeSelectId: config.typeSelectId,
+ corporationSelectId: config.corporationSelectId,
+ descriptionTextareaId: config.descriptionTextareaId,
+ descriptionTextareaCharCounter: config.descriptionTextareaCharCounter,
+ maxDescriptionLength: maxDescriptionLength
+ };
+
+ requirejs(['text!templates/dialog/structure.html', 'mustache'], (template, Mustache) => {
+ let content = Mustache.render(template, data);
+
+ let structureDialog = bootbox.dialog({
+ title: 'Structure',
+ message: content,
+ show: false,
+ buttons: {
+ close: {
+ label: 'cancel',
+ className: 'btn-default'
+ },
+ success: {
+ label: ' save',
+ className: 'btn-success',
+ callback: function (){
+ let form = this.find('form');
+
+ // validate form
+ form.validator('validate');
+
+ // check whether the form is valid
+ let formValid = form.isValidForm();
+
+ if(formValid){
+ // get form data
+ let formData = form.getFormValues();
+ formData.id = Util.getObjVal(structureData, 'id') | 0;
+ formData.structureId = Util.getObjVal(formData, 'structureId') | 0;
+ formData.corporationId = Util.getObjVal(formData, 'corporationId') | 0;
+ formData.systemId = systemId | 0;
+
+ saveStructureData({
+ structures: [formData]
+ }, {
+ moduleElement: moduleElement,
+ tableApi: tableApi
+ }, callbackUpdateStructureRows);
+ }else{
+ return false;
+ }
+ }
+ }
+ }
+ });
+
+ structureDialog.on('show.bs.modal', function(e) {
+ let modalContent = $('#' + config.structureDialogId);
+
+ // init type select live search
+ let selectElementType = modalContent.find('#' + config.typeSelectId);
+ selectElementType.initUniverseTypeSelect({
+ categoryIds: [65],
+ maxSelectionLength: 1,
+ selected: [Util.getObjVal(structureData, 'structure.id')]
+ });
+
+ // init corporation select live search
+ let selectElementCorporation = modalContent.find('#' + config.corporationSelectId);
+ selectElementCorporation.initUniverseSearch({
+ categoryNames: ['corporation'],
+ maxSelectionLength: 1
+ });
+
+ // init status select2
+ modalContent.find('#' + config.statusSelectId).initStatusSelect({
+ data: statusData
+ });
+
+ // init character counter
+ let textarea = modalContent.find('#' + config.descriptionTextareaId);
+ let charCounter = modalContent.find('.' + config.descriptionTextareaCharCounter);
+ Util.updateCounter(textarea, charCounter, maxDescriptionLength);
+
+ textarea.on('keyup', function(){
+ Util.updateCounter($(this), charCounter, maxDescriptionLength);
+ });
+
+ // set form validator (after select2 init finish)
+ modalContent.find('form').initFormValidation();
+ });
+
+ // show dialog
+ structureDialog.modal('show');
+ });
+ };
+
+ /**
+ * show D-Scan reader dialog
+ * @param moduleElement
+ * @param tableApi
+ * @param systemData
+ */
+ let showDscanReaderDialog = (moduleElement, tableApi, systemData) => {
+ requirejs(['text!templates/dialog/dscan_reader.html', 'mustache'], (template, Mustache) => {
+ let structureDialog = bootbox.dialog({
+ title: 'D-Scan reader',
+ message: Mustache.render(template, {}),
+ show: true,
+ buttons: {
+ close: {
+ label: 'cancel',
+ className: 'btn-default'
+ },
+ success: {
+ label: ' update intel',
+ className: 'btn-success',
+ callback: function (){
+ let form = this.find('form');
+ let formData = form.getFormValues();
+
+ updateStructureTableByClipboard(systemData, formData.clipboard, {
+ moduleElement: moduleElement,
+ tableApi: tableApi
+ });
+ }
+ }
+ }
+ });
+
+ // dialog shown event
+ structureDialog.on('shown.bs.modal', function(e) {
+ // set focus on textarea
+ structureDialog.find('textarea').focus();
+ });
+ });
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ * @returns {jQuery}
+ */
+ let getModule = (parentElement, mapId, systemData) => {
+ let corporationId = Util.getCurrentUserInfo('corporationId');
+
+ let moduleElement = $('').append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ class: 'pull-right'
+ }).append(
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-plus', config.moduleHeadlineIconClass, config.moduleHeadlineIconAddClass].join(' '),
+ title: 'add'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-paste', config.moduleHeadlineIconClass, config.moduleHeadlineIconReaderClass].join(' '),
+ title: 'D-Scan reader'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-sync', config.moduleHeadlineIconClass, config.moduleHeadlineIconRefreshClass].join(' '),
+ title: 'refresh all'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip')
+ ),
+ $('', {
+ text: 'Intel'
+ })
+ )
+ );
+
+ let table = $(' ', {
+ class: ['compact', 'stripe', 'order-column', 'row-border', 'pf-table-fixed', config.systemStructuresTableClass].join(' ')
+ });
+ moduleElement.append(table);
+
+ let structureTable = table.DataTable({
+ paging: false,
+ lengthChange: false,
+ ordering: true,
+ order: [[ 10, 'desc' ], [ 0, 'asc' ]],
+ info: false,
+ searching: false,
+ hover: false,
+ autoWidth: false,
+ rowId: rowData => config.tableRowIdPrefix + rowData.id,
+ language: {
+ emptyTable: 'No structures recorded',
+ info: '_START_ to _END_ of _MAX_',
+ infoEmpty: ''
+ },
+ rowGroup: {
+ enable: true,
+ dataSrc: 'systemId'
+ },
+ columnDefs: [
+ {
+ targets: 0,
+ title: '',
+ width: 2,
+ class: 'text-center',
+ data: 'status',
+ render: {
+ display: data => getStatusData(data),
+ sort: data => data.id
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ $(cell).find('i').tooltip();
+ }
+ },{
+ targets: 1,
+ title: '',
+ width: 26,
+ orderable: false,
+ className: [config.tableCellImageClass, 'text-center'].join(' '),
+ data: 'structure.id',
+ defaultContent: ' ',
+ render: {
+ _: function(data, type, row, meta){
+ let value = data;
+ if(type === 'display' && value){
+ value = ' ';
+ }
+ return value;
+ }
+ }
+ },{
+ targets: 2,
+ title: 'type',
+ width: 30,
+ className: [config.tableCellEllipsisClass].join(' '),
+ data: 'structure.name',
+ defaultContent: ' ',
+ },{
+ targets: 3,
+ title: 'name',
+ width: 60,
+ className: [config.tableCellEllipsisClass].join(' '),
+ data: 'name'
+ },{
+ targets: 4,
+ title: '',
+ width: 26,
+ orderable: false,
+ className: [config.tableCellImageClass, 'text-center'].join(' '),
+ data: 'owner.id',
+ defaultContent: ' ',
+ render: {
+ _: function(data, type, row, meta){
+ let value = data;
+ if(type === 'display' && value){
+ value = '';
+ value += ' ';
+ value += ' ';
+ }
+ return value;
+ }
+ }
+ },{
+ targets: 5,
+ title: 'owner',
+ width: 50,
+ className: [config.tableCellEllipsisClass].join(' '),
+ data: 'owner.name',
+ defaultContent: ' ',
+ },{
+ targets: 6,
+ title: 'note',
+ className: [config.tableCellEllipsisClass].join(' '),
+ data: 'description'
+ },{
+ targets: 7,
+ title: 'updated',
+ width: 60,
+ className: ['text-right', config.tableCellCounterClass].join(' '),
+ data: 'updated.updated'
+ },{
+ targets: 8,
+ title: '',
+ orderable: false,
+ width: 10,
+ class: ['text-center', config.dataTableActionCellClass, config.moduleHeadlineIconClass].join(' '),
+ data: null,
+ render: {
+ display: data => {
+ let icon = ' ';
+ if(data.corporation.id !== corporationId){
+ icon = '';
+ }
+ return icon;
+ }
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ if($(cell).is(':empty')){
+ $(cell).removeClass(config.dataTableActionCellClass + ' ' + config.moduleHeadlineIconClass);
+ }else{
+ $(cell).on('click', function(e) {
+ // get current row data (important!)
+ // -> "rowData" param is not current state, values are "on createCell()" state
+ rowData = tableApi.row( $(cell).parents('tr')).data();
+ showStructureDialog(moduleElement, tableApi, systemData.systemId, rowData);
+ });
+ }
+ }
+ },{
+ targets: 9,
+ title: '',
+ orderable: false,
+ width: 10,
+ class: ['text-center', config.dataTableActionCellClass].join(' '),
+ data: null,
+ render: {
+ display: data => {
+ let icon = ' ';
+ if(data.corporation.id !== corporationId){
+ icon = ' ';
+ }
+ return icon;
+ }
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ if($(cell).find('.fa-ban').length){
+ $(cell).removeClass(config.dataTableActionCellClass + ' ' + config.moduleHeadlineIconClass);
+ $(cell).find('i').tooltip();
+ }else{
+ let confirmationSettings = {
+ container: 'body',
+ placement: 'left',
+ btnCancelClass: 'btn btn-sm btn-default',
+ btnCancelLabel: 'cancel',
+ btnCancelIcon: 'fas fa-fw fa-ban',
+ title: 'delete structure',
+ btnOkClass: 'btn btn-sm btn-danger',
+ btnOkLabel: 'delete',
+ btnOkIcon: 'fas fa-fw fa-times',
+ onConfirm : function(e, target){
+ // get current row data (important!)
+ // -> "rowData" param is not current state, values are "on createCell()" state
+ rowData = tableApi.row( $(cell).parents('tr')).data();
+
+ // let deleteRowElement = $(cell).parents('tr');
+ // tableApi.rows(deleteRowElement).remove().draw();
+ deleteStructure({
+ id: rowData.id
+ },{
+ moduleElement: moduleElement,
+ tableApi: tableApi
+ }, callbackDeleteStructures);
+ }
+ };
+
+ // init confirmation dialog
+ $(cell).confirmation(confirmationSettings);
+ }
+ }
+ },{
+ targets: 10,
+ name: 'corporation',
+ data: 'corporation',
+ visible: false,
+ render: {
+ sort: function(data){
+ return data.name;
+ }
+ }
+ }
+ ],
+ drawCallback: function (settings){
+ let tableApi = this.api();
+ let columnCount = tableApi.columns(':visible').count();
+ let rows = tableApi.rows( {page:'current'} ).nodes();
+ let last= null;
+
+ tableApi.column('corporation:name', {page:'current'} ).data().each( function ( group, i ) {
+ if ( !last || last.id !== group.id ) {
+ $(rows).eq(i).before(
+ '' +
+ ' ' +
+ '' +
+ ' ' +
+ ' ' +
+ '' + group.name + ' ' +
+ ' '
+ );
+ last = group;
+ }
+ });
+
+ rows.to$().find('.' + config.tableCellCounterClass + ':not([data-counter])').initTimestampCounter('d');
+
+ let animationRows = rows.to$().filter(function() {
+ return (
+ $(this).data('animationStatus') ||
+ $(this).data('animationTimer')
+ );
+ });
+
+ for(let i = 0; i < animationRows.length; i++){
+ let animationRow = $(animationRows[i]);
+ animationRow.pulseBackgroundColor(animationRow.data('animationStatus'));
+ animationRow.removeData('animationStatus');
+ }
+ },
+ initComplete: function(settings){
+ // table data is load in updateModule() method
+ // -> no need to trigger additional ajax call here for data
+ // -> in case table update failed -> each if this initComplete() function finished before table updata
+ // e.g. return now promise in getModule() function
+ }
+ });
+
+ // init tooltips for this module
+ let tooltipElements = moduleElement.find('[data-toggle="tooltip"]');
+ tooltipElements.tooltip({
+ container: 'body'
+ });
+
+ moduleElement.showLoadingAnimation();
+
+ return moduleElement;
+ };
+
+ /**
+ * get universe typeIds for given categoryIds
+ * @param categoryIds
+ * @returns {Array}
+ */
+ let getUniverseTypeIdsByCategoryIds = (categoryIds) => {
+ let typeIds = [];
+ let mapIds = type => type.id;
+ for(let categoryId of categoryIds){
+ let categoryData = Util.getObjVal(Init, 'universeCategories.' + categoryId);
+ if(categoryData && categoryData.groups){
+ for(let groupData of categoryData.groups){
+ if(groupData && groupData.types){
+ typeIds = typeIds.concat(groupData.types.map(mapIds));
+ }
+ }
+ }
+ }
+
+ return typeIds;
+ };
+
+ /**
+ * parse a copy&paste string from ingame dScan windows
+ * @param systemData
+ * @param clipboard
+ * @returns {Array}
+ */
+ let parseDscanString = (systemData, clipboard) => {
+ let dScanData = [];
+ let structureTypeIds = getUniverseTypeIdsByCategoryIds([65]);
+
+ if(clipboard.length){
+ let dScanRows = clipboard.split(/\r\n|\r|\n/g);
+
+ for(let rowData of dScanRows){
+ rowData = rowData.split(/\t/g);
+
+ if(rowData.length === 4){
+ rowData[0] = parseInt(rowData[0]);
+ // valid dScan result
+ if(structureTypeIds.indexOf( rowData[0] ) !== -1){
+ dScanData.push({
+ structureId: rowData[0],
+ name: rowData[1],
+ systemId: systemData.systemId
+ });
+ }
+ }
+ }
+ }
+
+ return dScanData;
+ };
+
+ /**
+ * parse clipboard data for structures and update table
+ * @param systemData
+ * @param clipboard
+ * @param context
+ */
+ let updateStructureTableByClipboard = (systemData, clipboard, context) => {
+ let structureData = parseDscanString(systemData, clipboard);
+ if(structureData.length){
+ saveStructureData({
+ structures: structureData
+ }, context, callbackUpdateStructureRows);
+ }
+ };
+
+ /**
+ * update trigger function for this module
+ * compare data and update module
+ * @param moduleElement
+ * @param systemData
+ */
+ let updateModule = (moduleElement, systemData) => {
+
+ // update structure table data
+ let structureTableElement = moduleElement.find('.' + config.systemStructuresTableClass);
+ let tableApi = structureTableElement.DataTable();
+
+ let context = {
+ tableApi: tableApi,
+ removeMissing: true
+ };
+
+ callbackUpdateStructureRows(context, systemData);
+
+ moduleElement.hideLoadingAnimation();
+ };
+
+ /**
+ * init intel module
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let initModule = (moduleElement, mapId, systemData) => {
+
+ let structureTableElement = moduleElement.find('.' + config.systemStructuresTableClass);
+ let tableApi = structureTableElement.DataTable();
+
+ // init structure dialog --------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconAddClass).on('click', function(e){
+ showStructureDialog(moduleElement, tableApi, systemData.systemId);
+ });
+
+ // init structure dialog --------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e){
+ showDscanReaderDialog(moduleElement, tableApi, systemData);
+ });
+
+ // init refresh button ----------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconRefreshClass).on('click', function(e){
+ getStructureData({
+ mapId: mapId,
+ systemId: systemData.id
+ },{
+ moduleElement: moduleElement,
+ tableApi: tableApi,
+ removeMissing: true
+ }, callbackAddStructureRows);
+ });
+
+ // init listener for global "past" dScan into this page -------------------------------------------------------
+ moduleElement.on('pf:updateIntelModuleByClipboard', function(e, clipboard){
+ updateStructureTableByClipboard(systemData, clipboard, {
+ moduleElement: moduleElement,
+ tableApi: tableApi
+ });
+ });
+ };
+
+ /**
+ * before module destroy callback
+ * @param moduleElement
+ */
+ let beforeDestroy = moduleElement => {
+ // Destroying the data tables throws
+ // -> safety remove all dataTables
+ let structureTableElement = moduleElement.find('.' + config.systemStructuresTableClass);
+ let tableApi = structureTableElement.DataTable();
+ tableApi.destroy();
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ initModule: initModule,
+ updateModule: updateModule,
+ beforeDestroy: beforeDestroy
+ };
+
+});
\ No newline at end of file
diff --git a/public/js/v1.4.1/app/ui/module/system_killboard.js b/public/js/v1.4.1/app/ui/module/system_killboard.js
new file mode 100644
index 00000000..6b2198f0
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/system_killboard.js
@@ -0,0 +1,407 @@
+/**
+ * System killboard module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'morris'
+], ($, Init, Util, Morris) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 2,
+ moduleName: 'systemKillboard',
+ moduleHeadClass: 'pf-module-head', // class for module header
+ moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler
+
+ // headline toolbar
+ moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
+
+ // system killboard module
+ moduleTypeClass: 'pf-system-killboard-module', // class for this module
+ systemKillboardGraphKillsClass: 'pf-system-killboard-graph-kills', // class for system kill graph
+
+ // system killboard list
+ systemKillboardListClass: 'pf-system-killboard-list', // class for a list with kill entries
+ systemKillboardListEntryClass: 'pf-system-killboard-list-entry', // class for a list entry
+ systemKillboardListImgShip: 'pf-system-killboard-img-ship', // class for all ship images
+ systemKillboardListImgChar: 'pf-system-killboard-img-char', // class for all character logos
+ systemKillboardListImgAlly: 'pf-system-killboard-img-ally', // class for all alliance logos
+ systemKillboardListImgCorp: 'pf-system-killboard-img-corp' // class for all corp logos
+ };
+
+ let cache = {
+ systemKillsGraphData: {} // data for system kills info graph
+ };
+
+ /**
+ *
+ * @param text
+ * @param options
+ * @returns {jQuery}
+ */
+ let getLabel = (text, options) => {
+ let label = $('', {
+ class: ['label', options.type, options.align].join(' ')
+ }).text( text );
+
+ return label;
+ };
+
+ /**
+ * show killMails
+ * @param moduleElement
+ * @param killboardData
+ */
+ let showKillmails = (moduleElement, killboardData) => {
+
+ // show number of killMails
+ let killMailCounterMax = 20;
+ let killMailCounter = 0;
+
+ // change order (show right to left)
+ killboardData.tableData.reverse();
+
+ let data = {
+ tableData: killboardData.tableData,
+ systemKillboardListClass: config.systemKillboardListClass,
+ systemKillboardListEntryClass: config.systemKillboardListEntryClass,
+ systemKillboardListImgShip: config.systemKillboardListImgShip,
+ systemKillboardListImgChar: config.systemKillboardListImgChar,
+ systemKillboardListImgAlly: config.systemKillboardListImgAlly,
+ systemKillboardListImgCorp: config.systemKillboardListImgCorp,
+ zKillboardUrl: 'https://zkillboard.com',
+ ccpImageServerUrl: Init.url.ccpImageServer,
+
+ dateFormat: () => {
+ return (val, render) => {
+ let killDate = Util.convertDateToUTC(new Date(render(val)));
+ return Util.convertDateToString(killDate);
+ };
+ },
+ iskFormat: () => {
+ return (val, render) => {
+ return Util.formatPrice(render(val));
+ };
+ },
+ checkRender : () => {
+ return (val, render) => {
+ if(killMailCounter < killMailCounterMax){
+ return render(val);
+ }
+ };
+ },
+ increaseCount : () => {
+ return (val, render) => {
+ killMailCounter++;
+ };
+ }
+ };
+
+ requirejs(['text!templates/modules/killboard.html', 'mustache'], function(template, Mustache) {
+ let content = Mustache.render(template, data);
+
+ moduleElement.append(content);
+
+ // animate kill li-elements
+ $('.' + config.systemKillboardListEntryClass).velocity('transition.expandIn', {
+ stagger: 50,
+ complete: function(){
+ // init tooltips
+ moduleElement.find('[title]').tooltip({
+ container: 'body'
+ });
+
+ }
+ });
+ });
+ };
+
+ /**
+ * updates the system info graph
+ * @param systemData
+ */
+ $.fn.updateSystemInfoGraphs = function(systemData){
+ let moduleElement = $(this);
+
+ let killboardGraphElement = $('', {
+ class: config.systemKillboardGraphKillsClass
+ });
+
+ moduleElement.append(killboardGraphElement);
+
+ let showHours = 24;
+ let maxKillmailCount = 200; // limited by API
+
+ let labelOptions = {
+ align: 'center-block'
+ };
+ let label = '';
+
+ // private function draws a "system kills" graph
+ let drawGraph = function(data){
+ let tableData = data.tableData;
+
+ // change order (show right to left)
+ tableData.reverse();
+
+ if(data.count === 0){
+ labelOptions.type = 'label-success';
+ label = getLabel( 'No kills found within the last 24h', labelOptions );
+ killboardGraphElement.append( label );
+
+ minifyKillboardGraphElement(killboardGraphElement);
+ return;
+ }
+
+ let labelYFormat = function(y){
+ return Math.round(y);
+ };
+
+ // draw chart
+ Morris.Bar({
+ element: killboardGraphElement,
+ resize: true,
+ redraw: true,
+ grid: true,
+ gridStrokeWidth: 0.3,
+ gridTextSize: 9,
+ gridTextColor: '#63676a',
+ gridTextFamily: 'Oxygen Bold',
+ hideHover: true,
+ data: tableData,
+ xkey: 'label',
+ ykeys: ['kills'],
+ labels: ['Kills'],
+ yLabelFormat: labelYFormat,
+ xLabelMargin: 10,
+ padding: 10,
+ parseTime: false,
+ barOpacity: 0.8,
+ barRadius: [2, 2, 0, 0],
+ barSizeRatio: 0.5,
+ barGap: 3,
+ barColors: function (row, series, type) {
+ if (type === 'bar') {
+ // highlight last row -> recent kills found
+ if(this.xmax === row.x){
+ return '#c2760c';
+ }
+ }
+
+ return '#375959';
+ }
+ });
+
+ // show hint for recent kills
+ if(tableData[tableData.length - 1].kills > 0){
+ labelOptions.type = 'label-warning';
+ label = getLabel( tableData[tableData.length - 1].kills + ' kills within the last hour', labelOptions );
+ killboardGraphElement.prepend( label );
+ }
+ };
+
+ // get recent KB stats (last 24h))
+ let localDate = new Date();
+
+ // cache result for 5min
+ let cacheKey = systemData.systemId + '_' + localDate.getHours() + '_' + ( Math.ceil( localDate.getMinutes() / 5 ) * 5);
+
+ if(cache.systemKillsGraphData.hasOwnProperty(cacheKey) ){
+ // cached results
+
+ drawGraph( cache.systemKillsGraphData[cacheKey] );
+
+ // show killmail information
+ showKillmails(moduleElement, cache.systemKillsGraphData[cacheKey]);
+ }else{
+
+ // chart data
+ let chartData = [];
+
+ for(let i = 0; i < showHours; i++){
+ let tempData = {
+ label: i + 'h',
+ kills: 0
+ };
+
+ chartData.push(tempData);
+ }
+
+ // get kills within the last 24h
+ let timeFrameInSeconds = 60 * 60 * 24;
+
+ // get current server time
+ let serverDate= Util.getServerTime();
+
+ // if system is w-space system -> add link modifier
+ let wSpaceLinkModifier = '';
+ if(systemData.type.id === 1){
+ wSpaceLinkModifier = 'w-space/';
+ }
+
+ let url = Init.url.zKillboard + '/';
+ url += 'no-items/' + wSpaceLinkModifier + 'no-attackers/solarSystemID/' + systemData.systemId + '/pastSeconds/' + timeFrameInSeconds + '/';
+
+ killboardGraphElement.showLoadingAnimation();
+
+ $.ajax({
+ url: url,
+ type: 'GET',
+ dataType: 'json'
+ }).done(function(kbData) {
+
+ // the API wont return more than 200KMs ! - remember last bar block with complete KM information
+ let lastCompleteDiffHourData = 0;
+
+ // loop kills and count kills by hour
+ for (let i = 0; i < kbData.length; i++) {
+ let killmailData = kbData[i];
+ let killDate = Util.convertDateToUTC(new Date(killmailData.killmail_time));
+
+ // get time diff
+ let timeDiffMin = Math.round(( serverDate - killDate ) / 1000 / 60);
+ let timeDiffHour = Math.floor(timeDiffMin / 60);
+
+ // update chart data
+ if (chartData[timeDiffHour]) {
+ chartData[timeDiffHour].kills++;
+
+ // add kill mail data
+ if (chartData[timeDiffHour].killmails === undefined) {
+ chartData[timeDiffHour].killmails = [];
+ }
+ chartData[timeDiffHour].killmails.push(killmailData);
+
+ if (timeDiffHour > lastCompleteDiffHourData) {
+ lastCompleteDiffHourData = timeDiffHour;
+ }
+ }
+
+ }
+
+ // remove empty chart Data
+ if (kbData.length >= maxKillmailCount) {
+ chartData = chartData.splice(0, lastCompleteDiffHourData + 1);
+ }
+
+ // fill cache
+ cache.systemKillsGraphData[cacheKey] = {};
+ cache.systemKillsGraphData[cacheKey].tableData = chartData;
+ cache.systemKillsGraphData[cacheKey].count = kbData.length;
+
+ // draw table
+ drawGraph(cache.systemKillsGraphData[cacheKey]);
+
+ // show killmail information
+ showKillmails(moduleElement, cache.systemKillsGraphData[cacheKey]);
+
+ killboardGraphElement.hideLoadingAnimation();
+ }).fail(function(e){
+
+ labelOptions.type = 'label-danger';
+ label = getLabel( 'zKillboard is not responding', labelOptions );
+ killboardGraphElement.prepend( label );
+
+ killboardGraphElement.hideLoadingAnimation();
+
+ minifyKillboardGraphElement(killboardGraphElement);
+
+ Util.showNotify({title: e.status + ': Get system kills', text: 'Loading failed', type: 'error'});
+ });
+ }
+
+
+
+ // init tooltips
+ let tooltipElements = moduleElement.find('[data-toggle="tooltip"]');
+ tooltipElements.tooltip({
+ container: 'body'
+ });
+
+ };
+
+ /**
+ * minify the killboard graph element e.g. if no kills where found, or on error
+ * @param killboardGraphElement
+ */
+ let minifyKillboardGraphElement = (killboardGraphElement) => {
+ killboardGraphElement.velocity({
+ height: '20px',
+ marginBottom: '0px'
+ },{
+ duration: Init.animationSpeed.mapModule
+ });
+ };
+
+ /**
+ * get module toolbar element
+ * @param systemData
+ * @returns {*|jQuery|HTMLElement|void}
+ */
+ let getHeadlineToolbar = (systemData) => {
+ let headlineToolbar = $('
', {
+ class: 'pull-right'
+ }).append(
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-external-link-alt ', config.moduleHeadlineIconClass].join(' '),
+ title: 'zkillboard.com'
+ }).on('click', function(e){
+ window.open(
+ '//zkillboard.com/system/' + systemData.systemId,
+ '_blank'
+ );
+ }).attr('data-toggle', 'tooltip')
+ );
+
+ headlineToolbar.find('[data-toggle="tooltip"]').tooltip({
+ container: 'body'
+ });
+
+ return headlineToolbar;
+ };
+
+ /**
+ * before module "show" callback
+ * @param moduleElement
+ * @param systemData
+ */
+ let beforeShow = (moduleElement, systemData) => {
+ // update graph
+ moduleElement.updateSystemInfoGraphs(systemData);
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ * @returns {jQuery}
+ */
+ let getModule = (parentElement, mapId, systemData) => {
+ let moduleElement = $('').append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ text: 'Killboard'
+ }),
+ getHeadlineToolbar(systemData)
+ )
+ );
+
+ return moduleElement;
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ beforeShow: beforeShow
+ };
+});
\ No newline at end of file
diff --git a/public/js/v1.4.1/app/ui/module/system_route.js b/public/js/v1.4.1/app/ui/module/system_route.js
new file mode 100644
index 00000000..2feb6979
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/system_route.js
@@ -0,0 +1,1367 @@
+/**
+ * System route module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'bootbox',
+ 'app/map/util'
+], ($, Init, Util, bootbox, MapUtil) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 1,
+ moduleName: 'systemRoute',
+ moduleHeadClass: 'pf-module-head', // class for module header
+ moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler
+
+ // system route module
+ moduleTypeClass: 'pf-system-route-module', // class for this module
+
+ // headline toolbar
+ moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
+ moduleHeadlineIconSearchClass: 'pf-module-icon-button-search', // class for "search" icon
+ moduleHeadlineIconSettingsClass: 'pf-module-icon-button-settings', // class for "settings" icon
+ moduleHeadlineIconRefreshClass: 'pf-module-icon-button-refresh', // class for "refresh" icon
+
+ systemSecurityClassPrefix: 'pf-system-security-', // prefix class for system security level (color)
+
+ // dialog
+ routeSettingsDialogId: 'pf-route-settings-dialog', // id for route "settings" dialog
+ routeDialogId: 'pf-route-dialog', // id for route "search" dialog
+ systemDialogSelectClass: 'pf-system-dialog-select', // class for system select Element
+ systemInfoRoutesTableClass: 'pf-system-route-table', // class for route tables
+ mapSelectId: 'pf-route-dialog-map-select', // id for "map" select
+
+ dataTableActionCellClass: 'pf-table-action-cell', // class for "action" cells
+ dataTableRouteCellClass: 'pf-table-route-cell', // class for "route" cells
+ dataTableJumpCellClass: 'pf-table-jump-cell', // class for "route jump" cells
+
+ rallyClass: 'pf-rally', // class for "rally point" style
+
+ routeCacheTTL: 5 // route cache timer (client) in seconds
+ };
+
+ // cache for system routes
+ let cache = {
+ systemRoutes: {}, // jump information between solar systems
+ mapConnections: {} // connection data read from UI
+ };
+
+ /**
+ * set cache data
+ * @param cacheType
+ * @param cacheKey
+ * @param data
+ */
+ let setCacheData = (cacheType, cacheKey, data) => {
+ cache[cacheType][cacheKey] = {
+ data: data,
+ updated: Util.getServerTime().getTime() / 1000
+ };
+ };
+
+ /**
+ * get cache data
+ * @param cacheType
+ * @param cacheKey
+ * @returns {*}
+ */
+ let getCacheData = (cacheType, cacheKey) => {
+ let cachedData = null;
+ let currentTimestamp = Util.getServerTime().getTime();
+
+ if(
+ cache[cacheType].hasOwnProperty(cacheKey) &&
+ Math.round(
+ ( currentTimestamp - (new Date( cache[cacheType][cacheKey].updated * 1000).getTime())) / 1000
+ ) <= config.routeCacheTTL
+ ){
+ cachedData = cache[cacheType][cacheKey].data;
+ }
+
+ return cachedData;
+ };
+
+ let getRouteDataCacheKey = (mapIds, sourceName, targetName) => {
+ return [mapIds.join('_'), sourceName.toLowerCase(), targetName.toLowerCase()].join('###');
+ };
+
+ /**
+ * get a unique cache key name for "source"/"target"-name
+ * @param sourceName
+ * @param targetName
+ * @returns {*}
+ */
+ let getConnectionDataCacheKey = (sourceName, targetName) => {
+ let key = false;
+ if(sourceName && targetName){
+ // names can be "undefined" in case system is currently on drag/drop
+ key = [sourceName.toLowerCase(), targetName.toLowerCase()].sort().join('###');
+ }
+ return key;
+ };
+
+ /**
+ * callback function, adds new row to a dataTable with jump information for a route
+ * @param context
+ * @param routesData
+ */
+ let callbackAddRouteRows = (context, routesData) => {
+ if(routesData.length > 0){
+ for(let routeData of routesData){
+ // format routeData
+ let rowData = formatRouteData(routeData);
+ if(rowData.route){
+ // update route cache
+ let cacheKey = getRouteDataCacheKey(rowData.mapIds, routeData.systemFromData.name, routeData.systemToData.name);
+ setCacheData('systemRoutes', cacheKey, rowData);
+
+ addRow(context, rowData);
+ }
+ }
+
+ // redraw dataTable
+ context.dataTable.draw();
+ }
+ };
+
+ /**
+ * add a new dataTable row to the routes table
+ * @param context
+ * @param rowData
+ * @returns {*}
+ */
+ let addRow = (context, rowData) => {
+ let dataTable = context.dataTable;
+ let rowElement = null;
+ let row = null;
+ let animationStatus = 'changed';
+
+ // search for an existing row (e.g. on mass "table refresh" [all routes])
+ // get rowIndex where column 1 (equals to "systemToData.name") matches rowData.systemToData.name
+ let indexes = dataTable.rows().eq(0).filter((rowIdx) => {
+ return (dataTable.cell(rowIdx, 1).data().name === rowData.systemToData.name);
+ });
+
+ if(indexes.length > 0){
+ // update row with FIRST index
+ // -> systemFrom should be unique!
+ row = dataTable.row( parseInt(indexes[0]) );
+ // update row data
+ row.data(rowData);
+ }else{
+ // no existing route found -> add new row
+ row = dataTable.row.add( rowData );
+
+ animationStatus = 'added';
+ }
+
+ if(row.length > 0){
+ rowElement = row.nodes().to$();
+ rowElement.data('animationStatus', animationStatus);
+
+ rowElement.initTooltips({
+ container: 'body'
+ });
+ }
+
+ return rowElement;
+ };
+
+ /**
+ * requests route data from eveCentral API and execute callback
+ * @param requestData
+ * @param context
+ * @param callback
+ */
+ let getRouteData = (requestData, context, callback) => {
+ context.moduleElement.showLoadingAnimation();
+
+ $.ajax({
+ url: Init.path.searchRoute,
+ type: 'POST',
+ dataType: 'json',
+ data: requestData,
+ context: context
+ }).done(function(routesData){
+ this.moduleElement.hideLoadingAnimation();
+
+ // execute callback
+ callback(this, routesData.routesData);
+ });
+ };
+
+ /**
+ * update complete routes table (refresh all)
+ * @param moduleElement
+ * @param dataTable
+ */
+ let updateRoutesTable = (moduleElement, dataTable) => {
+ let context = {
+ moduleElement: moduleElement,
+ dataTable: dataTable
+ };
+ let routeData = [];
+
+ dataTable.rows().every( function() {
+ routeData.push( getRouteRequestDataFromRowData( this.data() ));
+ });
+
+ getRouteData({routeData: routeData}, context, callbackAddRouteRows);
+ };
+
+ /**
+ * format rowData for route search/update request
+ * @param {Object} rowData
+ * @returns {Object}
+ */
+ let getRouteRequestDataFromRowData = (rowData) => {
+ return {
+ mapIds: (rowData.hasOwnProperty('mapIds')) ? rowData.mapIds : [],
+ systemFromData: (rowData.hasOwnProperty('systemFromData')) ? rowData.systemFromData : {},
+ systemToData: (rowData.hasOwnProperty('systemToData')) ? rowData.systemToData : {},
+ skipSearch: (rowData.hasOwnProperty('skipSearch')) ? rowData.skipSearch | 0 : 0,
+ stargates: (rowData.hasOwnProperty('stargates')) ? rowData.stargates | 0 : 1,
+ jumpbridges: (rowData.hasOwnProperty('jumpbridges')) ? rowData.jumpbridges | 0 : 1,
+ wormholes: (rowData.hasOwnProperty('wormholes')) ? rowData.wormholes | 0 : 1,
+ wormholesReduced: (rowData.hasOwnProperty('wormholesReduced')) ? rowData.wormholesReduced | 0 : 1,
+ wormholesCritical: (rowData.hasOwnProperty('wormholesCritical')) ? rowData.wormholesCritical | 0 : 1,
+ wormholesFrigate: (rowData.hasOwnProperty('wormholesFrigate')) ? rowData.wormholesFrigate | 0 : 1,
+ wormholesEOL: (rowData.hasOwnProperty('wormholesEOL')) ? rowData.wormholesEOL | 0 : 1,
+ connections: (rowData.hasOwnProperty('connections')) ? rowData.connections.value | 0 : 0,
+ flag: (rowData.hasOwnProperty('flag')) ? rowData.flag.value : 'shortest'
+ };
+ };
+
+ /**
+ * show route dialog. User can search for systems and jump-info for each system is added to a data table
+ * @param dialogData
+ */
+ let showFindRouteDialog = (dialogData) => {
+
+ let mapSelectOptions = [];
+ let currentMapData = Util.getCurrentMapData();
+ if(currentMapData !== false){
+ for(let i = 0; i < currentMapData.length; i++){
+ mapSelectOptions.push({
+ id: currentMapData[i].config.id,
+ name: currentMapData[i].config.name,
+ selected: (dialogData.mapId === currentMapData[i].config.id)
+ });
+ }
+ }
+ let data = {
+ id: config.routeDialogId,
+ selectClass: config.systemDialogSelectClass,
+ mapSelectId: config.mapSelectId,
+ systemFromData: dialogData.systemFromData,
+ systemToData: dialogData.systemToData,
+ mapSelectOptions: mapSelectOptions
+ };
+
+ requirejs(['text!templates/dialog/route.html', 'mustache'], (template, Mustache) => {
+
+ let content = Mustache.render(template, data);
+
+ let findRouteDialog = bootbox.dialog({
+ title: 'Route finder',
+ message: content,
+ show: false,
+ buttons: {
+ close: {
+ label: 'cancel',
+ className: 'btn-default'
+ },
+ success: {
+ label: ' search route',
+ className: 'btn-primary',
+ callback: function () {
+ // add new route to route table
+
+ // get form Values
+ let form = $('#' + config.routeDialogId).find('form');
+
+ let routeDialogData = $(form).getFormValues();
+
+ // validate form
+ form.validator('validate');
+
+ // check whether the form is valid
+ let formValid = form.isValidForm();
+
+ if(formValid === false){
+ // don't close dialog
+ return false;
+ }
+
+ // get all system data from select2
+ let systemSelectData = form.find('.' + config.systemDialogSelectClass).select2('data');
+
+ if(
+ systemSelectData &&
+ systemSelectData.length === 1
+ ){
+ let context = {
+ moduleElement: dialogData.moduleElement,
+ dataTable: dialogData.dataTable
+ };
+
+ let requestData = {
+ routeData: [{
+ mapIds: routeDialogData.mapIds,
+ systemFromData: dialogData.systemFromData,
+ systemToData: {
+ systemId: parseInt(systemSelectData[0].id),
+ name: systemSelectData[0].text
+ },
+ stargates: routeDialogData.hasOwnProperty('stargates') ? parseInt(routeDialogData.stargates) : 0,
+ jumpbridges: routeDialogData.hasOwnProperty('jumpbridges') ? parseInt(routeDialogData.jumpbridges) : 0,
+ wormholes: routeDialogData.hasOwnProperty('wormholes') ? parseInt(routeDialogData.wormholes) : 0,
+ wormholesReduced: routeDialogData.hasOwnProperty('wormholesReduced') ? parseInt(routeDialogData.wormholesReduced) : 0,
+ wormholesCritical: routeDialogData.hasOwnProperty('wormholesCritical') ? parseInt(routeDialogData.wormholesCritical) : 0,
+ wormholesFrigate: routeDialogData.hasOwnProperty('wormholesFrigate') ? parseInt(routeDialogData.wormholesFrigate) : 0,
+ wormholesEOL: routeDialogData.hasOwnProperty('wormholesEOL') ? parseInt(routeDialogData.wormholesEOL) : 0
+ }]
+ };
+
+ getRouteData(requestData, context, callbackAddRouteRows);
+ }
+ }
+ }
+ }
+ });
+
+ findRouteDialog.on('show.bs.modal', function(e) {
+ findRouteDialog.initTooltips();
+
+ // init some dialog/form observer
+ setDialogObserver( $(this) );
+
+ // init map select ----------------------------------------------------------------
+ let mapSelect = $(this).find('#' + config.mapSelectId);
+ mapSelect.initMapSelect();
+ });
+
+
+ findRouteDialog.on('shown.bs.modal', function(e) {
+
+ // init system select live search ------------------------------------------------
+ // -> add some delay until modal transition has finished
+ let systemTargetSelect = $(this).find('.' + config.systemDialogSelectClass);
+ systemTargetSelect.delay(240).initSystemSelect({key: 'id'});
+ });
+
+ // show dialog
+ findRouteDialog.modal('show');
+ });
+ };
+
+ /**
+ * draw route table
+ * @param mapId
+ * @param moduleElement
+ * @param systemFromData
+ * @param routesTable
+ * @param systemsToData
+ */
+ let drawRouteTable = (mapId, moduleElement, systemFromData, routesTable, systemsToData) => {
+ let requestRouteData = [];
+
+ // Skip some routes from search
+ // -> this should help to throttle requests (heavy CPU load for route calculation)
+ let defaultRoutesCount = Init.routeSearch.defaultCount;
+ let rowElements = [];
+
+ for(let systemToData of systemsToData){
+ if(systemFromData.name !== systemToData.name){
+ // check for cached rowData
+ let cacheKey = getRouteDataCacheKey([mapId], systemFromData.name, systemToData.name);
+ let rowData = getCacheData('systemRoutes', cacheKey);
+ if(rowData){
+ // route data is cached (client side)
+ let context = {
+ dataTable: routesTable
+ };
+
+ rowElements.push( addRow(context, rowData) );
+ }else{
+ // get route data -> ajax
+ let searchData = {
+ mapIds: [mapId],
+ systemFromData: systemFromData,
+ systemToData: systemToData,
+ skipSearch: requestRouteData.length >= defaultRoutesCount
+ };
+
+ requestRouteData.push( getRouteRequestDataFromRowData( searchData ));
+ }
+ }
+ }
+
+ // rows added from cache -> redraw() table
+ if(rowElements.length){
+ routesTable.draw();
+ }
+
+ // check if routes data is not cached and is requested
+ if(requestRouteData.length > 0){
+ let contextData = {
+ moduleElement: moduleElement,
+ dataTable: routesTable
+ };
+
+ let requestData = {
+ routeData: requestRouteData
+ };
+
+ getRouteData(requestData, contextData, callbackAddRouteRows);
+ }
+ };
+
+ /**
+ * show route settings dialog
+ * @param dialogData
+ * @param moduleElement
+ * @param systemFromData
+ * @param routesTable
+ */
+ let showSettingsDialog = (dialogData, moduleElement, systemFromData, routesTable) => {
+
+ let promiseStore = MapUtil.getLocaleData('map', dialogData.mapId);
+ promiseStore.then(dataStore => {
+ // selected systems (if already stored)
+ let systemSelectOptions = [];
+ if(
+ dataStore &&
+ dataStore.routes
+ ){
+ systemSelectOptions = dataStore.routes;
+ }
+
+ // max count of "default" target systems
+ let maxSelectionLength = Init.routeSearch.maxDefaultCount;
+
+ let data = {
+ id: config.routeSettingsDialogId,
+ selectClass: config.systemDialogSelectClass,
+ systemSelectOptions: systemSelectOptions,
+ maxSelectionLength: maxSelectionLength
+ };
+
+ requirejs(['text!templates/dialog/route_settings.html', 'mustache'], (template, Mustache) => {
+ let content = Mustache.render(template, data);
+
+ let settingsDialog = bootbox.dialog({
+ title: 'Route settings',
+ message: content,
+ show: false,
+ buttons: {
+ close: {
+ label: 'cancel',
+ className: 'btn-default'
+ },
+ success: {
+ label: ' save',
+ className: 'btn-success',
+ callback: function () {
+ let form = this.find('form');
+ // get all system data from select2
+ let systemSelectData = form.find('.' + config.systemDialogSelectClass).select2('data');
+ let systemsTo = [];
+
+ if( systemSelectData.length > 0 ){
+ systemsTo = formSystemSelectData(systemSelectData);
+ MapUtil.storeLocalData('map', dialogData.mapId, 'routes', systemsTo);
+ }else{
+ MapUtil.deleteLocalData('map', dialogData.mapId, 'routes');
+ }
+
+ Util.showNotify({title: 'Route settings stored', type: 'success'});
+
+ // (re) draw table
+ drawRouteTable(dialogData.mapId, moduleElement, systemFromData, routesTable, systemsTo);
+ }
+ }
+ }
+ });
+
+ settingsDialog.on('shown.bs.modal', function(e) {
+
+ // init default system select -----------------------------------------------------
+ // -> add some delay until modal transition has finished
+ let systemTargetSelect = $(this).find('.' + config.systemDialogSelectClass);
+ systemTargetSelect.delay(240).initSystemSelect({key: 'id', maxSelectionLength: maxSelectionLength});
+ });
+
+ // show dialog
+ settingsDialog.modal('show');
+ });
+ });
+ };
+
+ /**
+ * format select2 system data
+ * @param {Array} data
+ * @returns {Array}
+ */
+ let formSystemSelectData = (data) => {
+ let formattedData = [];
+ for(let i = 0; i < data.length; i++){
+ let tmpData = data[i];
+
+ formattedData.push({
+ systemId: parseInt(tmpData.id),
+ name: tmpData.text
+ });
+ }
+
+ return formattedData;
+ };
+
+ /**
+ * set event observer for route finder dialog
+ * @param routeDialog
+ */
+ let setDialogObserver = (routeDialog) => {
+ let wormholeCheckbox = routeDialog.find('input[type="checkbox"][name="wormholes"]');
+ let wormholeReducedCheckbox = routeDialog.find('input[type="checkbox"][name="wormholesReduced"]');
+ let wormholeCriticalCheckbox = routeDialog.find('input[type="checkbox"][name="wormholesCritical"]');
+ let wormholeFrigateCheckbox = routeDialog.find('input[type="checkbox"][name="wormholesFrigate"]');
+ let wormholeEolCheckbox = routeDialog.find('input[type="checkbox"][name="wormholesEOL"]');
+
+ // store current "checked" state for each box ---------------------------------------------
+ let storeCheckboxStatus = function(){
+ wormholeReducedCheckbox.data('selectState', wormholeReducedCheckbox.prop('checked'));
+ wormholeCriticalCheckbox.data('selectState', wormholeCriticalCheckbox.prop('checked'));
+ wormholeFrigateCheckbox.data('selectState', wormholeFrigateCheckbox.prop('checked'));
+ wormholeEolCheckbox.data('selectState', wormholeEolCheckbox.prop('checked'));
+ };
+
+ // on wormhole checkbox change ------------------------------------------------------------
+ let onWormholeCheckboxChange = function(){
+
+ if( $(this).is(':checked') ){
+ wormholeReducedCheckbox.prop('disabled', false);
+ wormholeCriticalCheckbox.prop('disabled', false);
+ wormholeFrigateCheckbox.prop('disabled', false);
+ wormholeEolCheckbox.prop('disabled', false);
+
+ wormholeReducedCheckbox.prop('checked', wormholeReducedCheckbox.data('selectState'));
+ wormholeCriticalCheckbox.prop('checked', wormholeCriticalCheckbox.data('selectState'));
+ wormholeFrigateCheckbox.prop('checked', wormholeFrigateCheckbox.data('selectState'));
+ wormholeEolCheckbox.prop('checked', wormholeEolCheckbox.data('selectState'));
+ }else{
+ storeCheckboxStatus();
+
+ wormholeReducedCheckbox.prop('checked', false);
+ wormholeReducedCheckbox.prop('disabled', true);
+ wormholeCriticalCheckbox.prop('checked', false);
+ wormholeCriticalCheckbox.prop('disabled', true);
+ wormholeFrigateCheckbox.prop('checked', false);
+ wormholeFrigateCheckbox.prop('disabled', true);
+ wormholeEolCheckbox.prop('checked', false);
+ wormholeEolCheckbox.prop('disabled', true);
+ }
+ }.bind(wormholeCheckbox);
+
+ wormholeCheckbox.on('change', onWormholeCheckboxChange);
+
+ // initial checkbox check
+ storeCheckboxStatus();
+ onWormholeCheckboxChange();
+ };
+
+ /**
+ * get a connectionsData object that holds all connections for given mapIds (used as cache for route search)
+ * @param mapIds
+ * @returns {{}}
+ */
+ let getConnectionsDataFromMaps = (mapIds) => {
+ let connectionsData = {};
+ for(let mapId of mapIds) {
+ let map = MapUtil.getMapInstance(mapId);
+ if(map){
+ let cacheKey = 'map_' + mapId;
+ let mapConnectionsData = getCacheData('mapConnections', cacheKey);
+
+ if(!mapConnectionsData){
+ mapConnectionsData = {};
+ let connections = map.getAllConnections();
+ if(connections.length){
+ let connectionsData = MapUtil.getDataByConnections(connections);
+ for(let connectionData of connectionsData){
+ let connectionDataCacheKey = getConnectionDataCacheKey(connectionData.sourceName, connectionData.targetName);
+
+ // skip double connections between same systems
+ if( !mapConnectionsData.hasOwnProperty(connectionDataCacheKey) ){
+ mapConnectionsData[connectionDataCacheKey] = {
+ map: {
+ id: mapId
+ },
+ connection: {
+ id: connectionData.id,
+ type: connectionData.type,
+ scope: connectionData.scope
+ },
+ source: {
+ id: connectionData.source,
+ name: connectionData.sourceName,
+ alias: connectionData.sourceAlias
+ },
+ target: {
+ id: connectionData.target,
+ name: connectionData.targetName,
+ alias: connectionData.targetAlias
+ }
+ };
+ }
+ }
+ }
+
+ // update cache
+ setCacheData('mapConnections', cacheKey, mapConnectionsData);
+ }
+
+ if(connectionsData !== null){
+ connectionsData = Object.assign({}, mapConnectionsData, connectionsData);
+ }
+ }
+ }
+
+ return connectionsData;
+ };
+
+ /**
+ * search for a specific connection by "source"/"target"-name inside connectionsData cache
+ * @param connectionsData
+ * @param sourceName
+ * @param targetName
+ * @returns {{}}
+ */
+ let findConnectionsData = (connectionsData, sourceName, targetName) => {
+ let connectionDataCacheKey = getConnectionDataCacheKey(sourceName, targetName);
+ return connectionsData.hasOwnProperty(connectionDataCacheKey) ?
+ connectionsData[connectionDataCacheKey] : {};
+ };
+
+ /**
+ * get stargate connection data (default connection type in case connection was not found on a map)
+ * @param sourceRouteNodeData
+ * @param targetRouteNodeData
+ * @returns {{connection: {id: number, type: string[], scope: string}, source: {id: number, name, alias}, target: {id: number, name, alias}}}
+ */
+ let getStargateConnectionData = (sourceRouteNodeData, targetRouteNodeData) => {
+ return {
+ connection: {
+ id: 0,
+ type: ['stargate'],
+ scope: 'stargate'
+ },
+ source: {
+ id: 0,
+ name: sourceRouteNodeData.system,
+ alias: sourceRouteNodeData.system
+ },
+ target: {
+ id: 0,
+ name: targetRouteNodeData.system,
+ alias: targetRouteNodeData.system
+ }
+ };
+ };
+
+ /**
+ * get fake connection Element
+ * @param connectionData
+ * @returns {string}
+ */
+ let getFakeConnectionElement = (connectionData) => {
+ let mapId = Util.getObjVal(connectionData, 'map.id') | 0;
+ let connectionId = Util.getObjVal(connectionData, 'connection.id') | 0;
+ let scope = Util.getObjVal(connectionData, 'connection.scope');
+ let classes = MapUtil.getConnectionFakeClassesByTypes(connectionData.connection.type);
+ let disabled = !mapId || !connectionId;
+
+ let connectionElement = '
';
+ return connectionElement;
+ };
+
+ /**
+ * format route data from API request into dataTable row format
+ * @param routeData
+ * @returns {{}}
+ */
+ let formatRouteData = (routeData) => {
+
+ /**
+ * get status icon for route
+ * @param status
+ * @returns {string}
+ */
+ let getStatusIcon= (status) => {
+ let color = 'txt-color-danger';
+ let title = 'route not found';
+ switch(status){
+ case 1:
+ color = 'txt-color-success';
+ title = 'route exists';
+ break;
+ case 2:
+ color = 'txt-color-warning';
+ title = 'not search performed';
+ break;
+ }
+
+ return ' ';
+ };
+
+ // route status:
+ // 0: not found
+ // 1: round (OK)
+ // 2: not searched
+ let routeStatus = routeData.skipSearch ? 2 : 0;
+
+ // button class for flag (e.g. "secure" routes)
+ let flagButtonClass = routeData.flag === 'secure' ? 'txt-color-success' : '';
+
+ let connectionButton = ' ';
+ let flagButton = ' ';
+ let reloadButton = ' ';
+ let searchButton = ' ';
+ let deleteButton = ' ';
+
+ // default row data (e.g. no route found)
+ let tableRowData = {
+ systemFromData: routeData.systemFromData,
+ systemToData: routeData.systemToData,
+ jumps: {
+ value: 9999, // for sorting
+ formatted: ''
+ },
+ avgTrueSec: {
+ value: '',
+ formatted: ''
+ },
+ route: {
+ value: routeStatus === 2 ? 'search now' : 'not found',
+ data: routeData.route
+ },
+ stargates: routeData.stargates,
+ jumpbridges: routeData.jumpbridges,
+ wormholes: routeData.wormholes,
+ wormholesReduced: routeData.wormholesReduced,
+ wormholesCritical: routeData.wormholesCritical,
+ wormholesFrigate: routeData.wormholesFrigate,
+ wormholesEOL: routeData.wormholesEOL,
+ connections: {
+ value: 0,
+ button: connectionButton
+ },
+ flag: {
+ value: routeData.flag,
+ button: flagButton
+ },
+ reload: {
+ button: routeData.skipSearch ? searchButton : reloadButton
+ },
+ clear: {
+ button: deleteButton
+ },
+ maps: routeData.maps,
+ mapIds: routeData.mapIds //map data (mapIds is "redundant")
+ };
+
+ if(
+ routeData.routePossible === true &&
+ routeData.route.length > 0
+ ){
+ // route data available
+ routeStatus = 1;
+
+ // add route Data
+ let routeJumpElements = [];
+ let avgSecTemp = 0;
+
+ let connectionsData = getConnectionsDataFromMaps(routeData.mapIds);
+ let prevRouteNodeData = null;
+ // loop all systems on this route
+ for(let i = 0; i < routeData.route.length; i++){
+ let routeNodeData = routeData.route[i];
+ let systemName = routeNodeData.system;
+
+ // fake connection elements between systems -----------------------------------------------------------
+ if(prevRouteNodeData){
+ let connectionData = findConnectionsData(connectionsData, prevRouteNodeData.system, systemName);
+ if(!connectionData.hasOwnProperty('connection')){
+ connectionData = getStargateConnectionData(prevRouteNodeData, routeNodeData);
+ }
+ let connectionElement = getFakeConnectionElement(connectionData);
+
+ routeJumpElements.push( connectionElement );
+ }
+
+ // system elements ------------------------------------------------------------------------------------
+ let systemSec = Number(routeNodeData.security).toFixed(1).toString();
+ let tempSystemSec = systemSec;
+
+ if(tempSystemSec <= 0){
+ tempSystemSec = '0-0';
+ }
+
+ let systemSecClass = config.systemSecurityClassPrefix + tempSystemSec.replace('.', '-');
+
+ // check for wormhole
+ let icon = 'fas fa-square';
+ if( /^J\d+$/.test(systemName) ){
+ icon = 'far fa-dot-circle';
+ }
+
+ let system = ' ';
+ routeJumpElements.push( system );
+
+ // "source" system is not relevant for average security
+ if(i > 0){
+ avgSecTemp += Number(routeNodeData.security);
+ }
+
+ prevRouteNodeData = routeNodeData;
+ }
+
+ let avgSec = ( avgSecTemp / (routeData.route.length - 1)).toFixed(2);
+ let avgSecForClass = Number(avgSec).toFixed(1);
+
+ if(avgSecForClass <= 0){
+ avgSecForClass = '0.0';
+ }
+
+ let avgSecClass = config.systemSecurityClassPrefix + avgSecForClass.toString().replace('.', '-');
+
+ tableRowData.jumps = {
+ value: routeData.routeJumps,
+ formatted: routeData.routeJumps
+ };
+
+ tableRowData.avgTrueSec = {
+ value: avgSec,
+ formatted: '' + avgSec + ' '
+ };
+
+ tableRowData.route.value = routeJumpElements.join(' ');
+ }
+
+ // route status data ----------------------------------------------------------------------
+ tableRowData.status = {
+ value: routeStatus,
+ formatted: getStatusIcon(routeStatus)
+ };
+
+ return tableRowData;
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ * @returns {jQuery}
+ */
+ let getModule = (parentElement, mapId, systemData) => {
+ let moduleElement = $('').append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ class: 'pull-right'
+ }).append(
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-sliders-h', config.moduleHeadlineIconClass, config.moduleHeadlineIconSettingsClass].join(' '),
+ title: 'settings'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-search', config.moduleHeadlineIconClass, config.moduleHeadlineIconSearchClass].join(' '),
+ title: 'find route'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-sync', config.moduleHeadlineIconClass, config.moduleHeadlineIconRefreshClass].join(' '),
+ title: 'refresh all'
+ }).attr('data-html', 'true').attr('data-toggle', 'tooltip')
+ ),
+ $('', {
+ text: 'Routes'
+ })
+ )
+ );
+
+ // save systemFromData to module (data never changes during module lifetime)
+ // -> we need this later in updateModule()
+ let systemFromData = {
+ systemId: systemData.systemId,
+ name: systemData.name,
+ };
+
+ moduleElement.data('systemFromData', systemFromData);
+
+ let table = $(' ', {
+ class: ['compact', 'stripe', 'order-column', 'row-border', config.systemInfoRoutesTableClass].join(' ')
+ });
+ moduleElement.append(table);
+
+ // init empty table
+ let routesTable = table.dataTable( {
+ paging: false,
+ ordering: true,
+ order: [[ 2, 'asc' ], [ 0, 'asc' ]],
+ info: false,
+ searching: false,
+ hover: false,
+ autoWidth: false,
+ rowId: 'systemTo',
+ language: {
+ emptyTable: 'No routes added'
+ },
+ columnDefs: [
+ {
+ targets: 0,
+ orderable: true,
+ title: '',
+ width: 2,
+ class: ['text-center'].join(' '),
+ data: 'status',
+ render: {
+ _: 'formatted',
+ sort: 'value'
+ }
+ },{
+ targets: 1,
+ orderable: true,
+ title: 'system ',
+ class: Util.config.popoverTriggerClass,
+ data: 'systemToData',
+ render: {
+ _: 'name',
+ sort: 'name'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex) {
+ // init context menu
+ $(cell).initSystemPopover({
+ systemToData: rowData.systemToData
+ });
+
+ $(cell).toggleClass(config.rallyClass, cellData.hasOwnProperty('rally'));
+ }
+ },{
+ targets: 2,
+ orderable: true,
+ title: ' ',
+ width: 16,
+ class: 'text-right',
+ data: 'jumps',
+ render: {
+ _: 'formatted',
+ sort: 'value'
+ }
+ },{
+ targets: 3,
+ orderable: true,
+ title: 'Ø ',
+ width: 14,
+ class: 'text-right',
+ data: 'avgTrueSec',
+ render: {
+ _: 'formatted',
+ sort: 'value'
+ }
+ },{
+ targets: 4,
+ orderable: false,
+ title: 'route',
+ class: [config.dataTableRouteCellClass].join(' '),
+ data: 'route',
+ render: {
+ _: 'value'
+ }
+ },{
+ targets: 5,
+ title: ' ',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', config.dataTableActionCellClass].join(' '),
+ data: 'connections',
+ render: {
+ _: 'button'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex) {
+ let tempTableApi = this.api();
+
+ $(cell).on('click', function(e) {
+ let routeCellElement = tempTableApi.cell( rowIndex, 4 ).nodes().to$();
+
+ if(routeCellElement.hasClass(config.dataTableJumpCellClass)){
+ routeCellElement.toggleClass(config.dataTableJumpCellClass, false);
+ $(this).find('i').toggleClass('txt-color-orange', false);
+ }else{
+ routeCellElement.toggleClass(config.dataTableJumpCellClass, true);
+ $(this).find('i').toggleClass('txt-color-orange', true);
+ }
+ });
+ }
+ },{
+ targets: 6,
+ title: ' ',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', config.dataTableActionCellClass].join(' '),
+ data: 'flag',
+ render: {
+ _: 'button'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex) {
+ let tempTableApi = this.api();
+
+ $(cell).on('click', function(e) {
+ // get current row data (important!)
+ // -> "rowData" param is not current state, values are "on createCell()" state
+ rowData = tempTableApi.row( $(cell).parents('tr')).data();
+ let routeData = getRouteRequestDataFromRowData( rowData );
+
+ // overwrite some params
+ routeData.skipSearch = 0;
+ routeData.flag = routeData.flag === 'shortest' ? 'secure' : 'shortest'; // toggle
+
+ let context = {
+ moduleElement: moduleElement,
+ dataTable: tempTableApi
+ };
+
+ let requestData = {
+ routeData: [routeData]
+ };
+
+ getRouteData(requestData, context, callbackAddRouteRows);
+ });
+ }
+ },{
+ targets: 7,
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', config.dataTableActionCellClass].join(' '),
+ data: 'reload',
+ render: {
+ _: 'button'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tempTableApi = this.api();
+
+ $(cell).on('click', function(e) {
+ // get current row data (important!)
+ // -> "rowData" param is not current state, values are "on createCell()" state
+ rowData = tempTableApi.row( $(cell).parents('tr')).data();
+ let routeData = getRouteRequestDataFromRowData( rowData );
+
+ // overwrite some params
+ routeData.skipSearch = 0;
+
+ let context = {
+ moduleElement: moduleElement,
+ dataTable: tempTableApi
+ };
+
+ let requestData = {
+ routeData: [routeData]
+ };
+
+ getRouteData(requestData, context, callbackAddRouteRows);
+ });
+ }
+ },{
+ targets: 8,
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', config.dataTableActionCellClass].join(' '),
+ data: 'clear',
+ render: {
+ _: 'button'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tempTableElement = this;
+
+ let confirmationSettings = {
+ container: 'body',
+ placement: 'left',
+ btnCancelClass: 'btn btn-sm btn-default',
+ btnCancelLabel: 'cancel',
+ btnCancelIcon: 'fas fa-fw fa-ban',
+ title: 'delete route',
+ btnOkClass: 'btn btn-sm btn-danger',
+ btnOkLabel: 'delete',
+ btnOkIcon: 'fas fa-fw fa-times',
+ onConfirm : function(e, target){
+ let deleteRowElement = $(cell).parents('tr');
+ tempTableElement.api().rows(deleteRowElement).remove().draw();
+ }
+ };
+
+ // init confirmation dialog
+ $(cell).confirmation(confirmationSettings);
+ }
+ }
+ ],
+ drawCallback: function(settings){
+
+ let animationRows = this.api().rows().nodes().to$().filter(function() {
+ return (
+ $(this).data('animationStatus') ||
+ $(this).data('animationTimer')
+ );
+ });
+
+ for(let i = 0; i < animationRows.length; i++){
+ let animationRow = $(animationRows[i]);
+ animationRow.pulseBackgroundColor(animationRow.data('animationStatus'));
+ animationRow.removeData('animationStatus');
+ }
+ },
+ initComplete: function(settings, json){
+ // click on "fake connection" -------------------------------------------------------------------------
+ $(this).on('click', '.pf-fake-connection', function(){
+ let fakeConnectionElement = $(this);
+ let mapId = fakeConnectionElement.attr('data-mapId');
+ let connectionId = fakeConnectionElement.attr('data-connectionId');
+ let connection = $().getConnectionById(mapId, connectionId);
+
+ if(connection){
+ let map = connection._jsPlumb.instance;
+ MapUtil.showConnectionInfo(map, [connection]);
+ }
+ });
+ },
+ data: [] // will be added dynamic
+ });
+
+ // init tooltips for this module
+ let tooltipElements = moduleElement.find('[data-toggle="tooltip"]');
+ tooltipElements.tooltip({
+ container: 'body'
+ });
+
+ return moduleElement;
+ };
+
+
+ /**
+ * init system popover (e.g. for setWaypoints)
+ * @param options
+ */
+ $.fn.initSystemPopover = function(options){
+ let elements = $(this);
+ let eventNamespace = 'hideSystemPopup';
+ let systemToData = options.systemToData;
+
+ requirejs(['text!templates/tooltip/system_popover.html', 'mustache'], function (template, Mustache) {
+ let data = {
+ systemToData: systemToData
+ };
+
+ let content = Mustache.render(template, data);
+
+ elements.each(function() {
+ let element = $(this);
+ // destroy "popover" and remove "click" event for animation
+ element.popover('destroy').off();
+
+ // init popover and add specific class to it (for styling)
+ element.popover({
+ html: true,
+ title: systemToData.name,
+ trigger: 'manual',
+ placement: 'top',
+ container: 'body',
+ content: content
+ }).data('bs.popover').tip().addClass('pf-popover');
+ });
+
+ // set popup "close" observer
+ elements.initPopoverClose(eventNamespace);
+
+ // set "open" trigger on "right click"
+ // -> this is not supported by the "trigger" param in .popover();
+ // -> therefore we need to set it up manually
+ elements.on('contextmenu', function(e){
+ e.preventDefault();
+ $(this).popover('show');
+ });
+
+ // set link observer "on shown" event
+ elements.on('shown.bs.popover', function () {
+ let popoverRoot = $(this);
+
+ popoverRoot.data('bs.popover').tip().find('a').on('click', function(){
+ // hint: "data" attributes should be in lower case!
+ let systemData = {
+ systemId: $(this).data('systemid'),
+ name: $(this).data('name')
+ };
+ Util.setDestination(systemData, 'set_destination');
+
+ // close popover
+ popoverRoot.popover('hide');
+ });
+ });
+ });
+ };
+
+ /**
+ * get data from all Rally Point systems
+ * @param mapId
+ * @returns {Array}
+ */
+ let getRallySystemsData = (mapId) => {
+ let systemsRallyData = [];
+ let map = MapUtil.getMapInstance(mapId);
+ if(map){
+ let mapContainer = $(map.getContainer());
+ let systems = mapContainer.find('.pf-system-info-rally');
+
+ for(let system of systems){
+ system = $(system);
+ systemsRallyData.push({
+ systemId: system.data('systemId'),
+ name: system.data('name'),
+ rally: 1
+ });
+ }
+ }
+
+ return systemsRallyData;
+ };
+
+ /**
+ * update trigger function for this module
+ * @param moduleElement
+ * @param data
+ */
+ let updateModule = (moduleElement, data) => {
+ let routesTableElement = moduleElement.find('.' + config.systemInfoRoutesTableClass);
+ let routesTable = routesTableElement.DataTable();
+
+ switch(data.task){
+ case 'showFindRouteDialog':
+ let dialogData = {
+ moduleElement: moduleElement,
+ mapId: data.mapId,
+ systemFromData: moduleElement.data('systemFromData'),
+ systemToData: data.systemToData,
+ dataTable: routesTable
+ };
+
+ showFindRouteDialog(dialogData);
+ break;
+ case 'findRoute':
+ drawRouteTable(data.mapId, moduleElement, moduleElement.data('systemFromData'), routesTable, [data.systemToData]);
+ break;
+ }
+ };
+
+ /**
+ * init route module
+ * -> request route path fore "default" trade hub systems
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let initModule = (moduleElement, mapId, systemData) => {
+
+ let systemFromData = {
+ systemId: systemData.systemId,
+ name: systemData.name
+ };
+
+ let routesTableElement = moduleElement.find('.' + config.systemInfoRoutesTableClass);
+ let routesTable = routesTableElement.DataTable();
+
+ // init refresh routes --------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconRefreshClass).on('click', function(e){
+ updateRoutesTable(moduleElement, routesTable);
+ });
+
+ // init search routes dialog --------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconSearchClass).on('click', function(e){
+ let maxRouteSearchLimit = this.Init.routeSearch.limit;
+
+ if(routesTable.rows().count() >= maxRouteSearchLimit){
+ // max routes limit reached -> show warning
+ Util.showNotify({title: 'Route limit reached', text: 'Search is limited by ' + maxRouteSearchLimit, type: 'warning'});
+ }else{
+ let dialogData = {
+ moduleElement: moduleElement,
+ mapId: mapId,
+ systemFromData: systemFromData,
+ dataTable: routesTable
+ };
+
+ showFindRouteDialog(dialogData);
+ }
+ }.bind({
+ Init: Init
+ }));
+
+ // init settings dialog -------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconSettingsClass).on('click', function(e){
+ let dialogData = {
+ mapId: mapId
+ };
+
+ showSettingsDialog(dialogData, moduleElement, systemFromData, routesTable);
+ });
+
+ // fill routesTable with data -------------------------------------------------------------
+ let promiseStore = MapUtil.getLocaleData('map', mapId);
+ promiseStore.then(function(dataStore) {
+ // selected systems (if already stored)
+ let systemsTo = [{
+ systemId: 30000142,
+ name: 'Jita'
+ }];
+
+ if(
+ dataStore &&
+ dataStore.routes
+ ){
+ systemsTo = dataStore.routes;
+ }
+
+ // add "Rally Point" systems to table
+ let systemsToData = getRallySystemsData(mapId);
+ systemsToData.push(...systemsTo);
+
+ drawRouteTable(mapId, moduleElement, systemFromData, routesTable, systemsToData);
+ });
+
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ initModule: initModule,
+ updateModule: updateModule
+ };
+
+});
\ No newline at end of file
diff --git a/public/js/v1.4.1/app/ui/module/system_signature.js b/public/js/v1.4.1/app/ui/module/system_signature.js
new file mode 100644
index 00000000..aae66ae9
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/system_signature.js
@@ -0,0 +1,2512 @@
+/**
+ * System signature module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'mustache',
+ 'bootbox',
+ 'app/map/map',
+ 'app/map/util',
+ 'app/ui/form_element'
+], ($, Init, Util, Mustache, bootbox, Map, MapUtil, FormElement) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 4,
+ moduleName: 'systemSignature',
+ moduleHeadClass: 'pf-module-head', // class for module header
+ moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler
+
+ moduleClass: 'pf-module', // class for each module
+
+ // system signature module
+ moduleTypeClass: 'pf-system-signature-module', // module wrapper
+
+ // headline toolbar
+ moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
+ moduleHeadlineIconAddClass: 'pf-module-icon-button-add', // class for "add signature" icon
+ moduleHeadlineIconReaderClass: 'pf-module-icon-button-reader', // class for "signature reader" icon
+ moduleHeadlineIconLazyClass: 'pf-module-icon-button-lazy', // class for "lazy delete" toggle icon
+
+ // tables
+ tableToolsActionClass: 'pf-table-tools-action', // class for table toolbar action
+
+ // signature progress bar
+ signatureScannedProgressBarClass: 'pf-system-progress-scanned', // class for signature progress bar
+
+ // table toolbar
+ sigTableClearButtonClass: 'pf-sig-table-clear-button', // class for "clear" signatures button
+
+ // signature table
+ sigTableClass: 'pf-sig-table', // Table class for all Signature Tables
+ sigTablePrimaryClass: 'pf-sig-table-primary', // class for primary sig table
+ sigTableSecondaryClass: 'pf-sig-table-secondary', // class for secondary sig table
+ sigTableEditSigNameInput: 'pf-sig-table-edit-name-input', // class for editable fields (input)
+ sigTableEditSigGroupSelect: 'pf-sig-table-edit-group-select', // class for editable fields (sig group)
+ sigTableEditSigTypeSelect: 'pf-sig-table-edit-type-select', // class for editable fields (sig type)
+ sigTableEditSigConnectionSelect: 'pf-sig-table-edit-connection-select', // class for editable fields (sig connection)
+ sigTableEditSigDescriptionTextarea: 'pf-sig-table-edit-desc-text', // class for editable fields (sig description)
+ sigTableCreatedCellClass: 'pf-sig-table-created', // class for "created" cells
+ sigTableUpdatedCellClass: 'pf-sig-table-updated', // class for "updated" cells
+
+ sigTableConnectionClass: 'pf-table-connection-cell', // class for "connection" cells
+ sigTableCounterClass: 'pf-table-counter-cell', // class for "counter" cells
+ sigTableActionCellClass: 'pf-table-action-cell', // class for "action" cells
+
+ // xEditable
+ editableDescriptionInputClass: 'pf-editable-description', // class for "description" textarea
+ editableUnknownInputClass: 'pf-editable-unknown', // class for input fields (e.g. checkboxes) with "unknown" status
+
+ signatureGroupsLabels: Util.getSignatureGroupInfo('label'),
+ signatureGroupsNames: Util.getSignatureGroupInfo('name')
+ };
+
+ // lock Signature Table update temporary (until. some requests/animations) are finished
+ let disableTableUpdate = true;
+
+ // disable "copy&paste" from clipboard (until request finished)
+ let disableCopyFromClipboard = false;
+
+ // cache for dataTable object6
+ let dataTableInstances = {};
+
+ // empty signatureData object -> for "add row" table
+ let emptySignatureData = {
+ id: 0,
+ name: '',
+ groupId: 0,
+ typeId: 0,
+ description: '',
+ created: {
+ created: null
+ },
+ updated: {
+ updated: null
+ }
+ };
+
+ let fullSignatureOptions = {
+ action: 'delete',
+ actionClass: ['fa-times', 'txt-color', 'txt-color-redDarker'].join(' ')
+ };
+
+ // empty signatureData row Options
+ let emptySignatureOptions = {
+ action: 'add',
+ actionClass: ['fa-plus'].join(' ')
+ };
+
+ let sigNameCache = {}; // cache signature names
+
+ let validSignatureNames = [ // allowed signature type/names
+ 'Cosmic Anomaly',
+ 'Cosmic Signature',
+ 'Kosmische Anomalie',
+ 'Kosmische Signatur',
+ 'Anomalie cosmique',
+ 'Signature cosmique',
+ 'Космическая аномалия', // == "Cosmic Anomaly"
+ 'Источники сигналов' // == "Cosmic Signature"
+ ];
+
+ // some static signature data
+ let signatureGroupsLabels = Util.getSignatureGroupInfo('label');
+ let signatureGroupsNames = Util.getSignatureGroupInfo('name');
+
+ /**
+ * get module toolbar element
+ * @returns {jQuery}
+ */
+ let getHeadlineToolbar = () => {
+ let headlineToolbar = $('', {
+ class: 'pull-right'
+ }).append(
+ $('', {
+ class: 'progress-label-right',
+ text: '0%'
+ }),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-plus',
+ config.moduleHeadlineIconClass,
+ config.moduleHeadlineIconAddClass].join(' '),
+ title: 'add'
+ }).attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-paste',
+ config.moduleHeadlineIconClass,
+ config.moduleHeadlineIconReaderClass].join(' '),
+ title: 'signature reader'
+ }).attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-exchange-alt',
+ config.moduleHeadlineIconClass,
+ config.moduleHeadlineIconLazyClass].join(' '),
+ title: 'lazy \'delete\' signatures'
+ }).attr('data-toggle', 'tooltip')
+ );
+
+ headlineToolbar.find('[data-toggle="tooltip"]').tooltip({
+ container: 'body'
+ });
+
+ return headlineToolbar;
+ };
+
+ /**
+ * check whether a dataTable API instance exists in the global cache
+ * args: 1. mapId, 2. systemId, 3, tableType (primary/secondary) string
+ * @param args
+ * @returns {boolean}
+ */
+ let checkDataTableInstance = (...args) => {
+ let obj = dataTableInstances;
+ for(let arg of args){
+ if ( !obj || !obj.hasOwnProperty(arg) ){
+ return false;
+ }
+ obj = obj[arg];
+ }
+ return true;
+ };
+
+ /**
+ * stores a dataTableApi instance to global cache ( overwrites existing)
+ * @param mapId
+ * @param systemId
+ * @param tableType
+ * @param instance
+ */
+ let setDataTableInstance = (mapId, systemId, tableType, instance) => {
+ let tmpObj = {
+ [mapId]: {
+ [systemId]: {
+ [tableType]: instance
+ }
+ }
+ };
+
+ $.extend(true, dataTableInstances, tmpObj);
+ };
+
+ /**
+ * get a dataTableApi instance from global cache
+ * @param mapId
+ * @param systemId
+ * @param tableType
+ * @returns {*}
+ */
+ let getDataTableInstance = (mapId, systemId, tableType) => {
+ let instance = null;
+ if( checkDataTableInstance(mapId, systemId, tableType) ){
+ instance = dataTableInstances[mapId][systemId][tableType];
+ }
+ return instance;
+ };
+
+ /**
+ * get dataTable instance from "moduleElement" (DOM node)
+ * @param moduleElement
+ * @param tableType
+ * @returns {*}
+ */
+ let getDataTableInstanceByModuleElement = (moduleElement, tableType) => {
+ return getDataTableInstance(moduleElement.data('mapId'), moduleElement.data('systemId'), tableType);
+ };
+
+ /**
+ * delete a dataTableApi instance from global cache
+ * -> see checkDataTableInstance() for parameter order
+ * @param args
+ */
+ let deleteDataTableInstance = (...args) => {
+ // check if instance exists
+ if( checkDataTableInstance.apply(null, args) ){
+
+ // callback for "leaf" delete callback
+ let deleteCallback = (dataTableApi) => {
+ dataTableApi.destroy();
+ };
+
+ // recursive delete from dataTableInstances Object cache
+ let deepDelete = (target, obj, callback) => {
+ if(target.length > 1){
+ // remove first target param for next recursive call
+ let currentTarget = target.shift();
+
+ deepDelete(target, obj[currentTarget], callback);
+
+ // delete "parent" key when current key became empty
+ if( !Object.keys( obj[currentTarget] ).length ){
+ delete obj[currentTarget];
+ }
+ }else{
+ // check for callback function
+ if( typeof callback === 'function' ){
+ callback(obj[target]);
+ }
+
+ delete obj[target];
+ }
+ };
+
+ deepDelete(args, dataTableInstances, deleteCallback);
+ }
+ };
+
+ /**
+ * collect all data of all editable fields in a signature table
+ * @param tableApi
+ * @returns {Array}
+ */
+ let getTableData = tableApi => {
+ let tableData = [];
+
+ if(tableApi){
+ tableApi.rows().eq(0).each(function(idx){
+ let row = tableApi.row(idx);
+ // default row data
+ let defaultRowData = row.data();
+ let rowElement = row.nodes().to$();
+
+ if(defaultRowData.id > 0){
+ // get all editable fields per row
+ let editableFields = rowElement.find('.editable');
+
+ if(editableFields.length > 0){
+ let values = $(editableFields).editable('getValue');
+
+ if(values.name){
+ // convert to lower for better compare options
+ values.name = values.name.toLowerCase();
+
+ // add pk for this row
+ values.id = defaultRowData.id;
+
+ // add updated for this row
+ values.updated = defaultRowData.updated;
+
+ // add row index
+ values.index = idx;
+
+ tableData.push( values );
+ }
+ }
+ }
+ });
+ }
+
+ return tableData;
+ };
+
+ /**
+ * updates a single cell with new data (e.g. "updated" cell)
+ * @param tableApi
+ * @param rowElement
+ * @param cellIndex
+ * @param data
+ */
+ let updateSignatureCell = (tableApi, rowElement, cellIndex, data) => {
+ let rowIndex = tableApi.row(rowElement).index();
+ let updateCell = tableApi.cell( rowIndex, cellIndex );
+ let updateCellElement = updateCell.nodes().to$();
+
+ if(cellIndex === 7){
+ // clear existing counter interval
+ clearInterval( updateCellElement.data('interval') );
+ }
+
+ // set new value
+ updateCell.data(data).draw();
+
+ if(cellIndex === 7){
+ updateCellElement.initTimestampCounter();
+ }
+ };
+
+ /**
+ * update trigger function for this module
+ * compare data and update module
+ * @param moduleElement
+ * @param systemData
+ */
+ let updateModule = (moduleElement, systemData) => {
+
+ if(systemData.signatures){
+ updateSignatureTable(moduleElement, systemData.signatures, true);
+ }
+
+ moduleElement.hideLoadingAnimation();
+ };
+
+ /**
+ * Updates a signature table, changes all signatures where name matches
+ * add all new signatures as a row
+ * @param moduleElement
+ * @param signatureDataOrig
+ * @param deleteOutdatedSignatures -> set to "true" if signatures should be deleted that are not included in "signatureData"
+ */
+ let updateSignatureTable = (moduleElement, signatureDataOrig, deleteOutdatedSignatures) => {
+ // check if table update is allowed
+ if(disableTableUpdate === true){
+ return;
+ }
+
+ // clone signature array because of further manipulation
+ let signatureData = $.extend([], signatureDataOrig);
+
+ // disable update until function is ready;
+ lockSignatureTable();
+
+ // get signature table API
+ let signatureTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary');
+
+ // get current system data
+ let currentSystemData = Util.getCurrentSystemData();
+
+ let tableData = getTableData(signatureTableApi);
+
+ let notificationCounter = {
+ added: 0,
+ changed: 0,
+ deleted: 0
+ };
+
+ for(let i = 0; i < signatureData.length; i++){
+ for(let j = 0; j < tableData.length; j++){
+ if(signatureData[i].id === tableData[j].id){
+
+ // check if row was updated
+ if(signatureData[i].updated.updated > tableData[j].updated.updated){
+ // row element to remove
+ let currentRowElement = signatureTableApi.row(tableData[j].index).nodes().to$();
+
+ // hide open editable fields on the row before removing them
+ currentRowElement.find('.editable').editable('destroy');
+
+ // remove "old" row
+ signatureTableApi.row(currentRowElement).remove().draw();
+
+ // and add "new" row
+ let changedRowElement = addSignatureRow(signatureTableApi, currentSystemData.systemData, signatureData[i], false);
+
+ if(changedRowElement){
+ // highlight
+ changedRowElement.pulseBackgroundColor('changed');
+ notificationCounter.changed++;
+ }
+ }
+
+ // remove signature data -> all left signatures will be added
+ signatureData.splice(i, 1);
+ i--;
+
+ // remove signature data -> all left signatures will be deleted
+ tableData.splice(j, 1);
+ j--;
+
+ break;
+ }
+ }
+ }
+
+ // delete signatures ------------------------------------------------------------------------------------------
+ if(deleteOutdatedSignatures === true){
+
+ // callback function after row deleted
+ let toggleTableRowCallback = function(tempRowElement){
+ // hide open editable fields on the row before removing them
+ tempRowElement.find('.editable').editable('destroy');
+
+ // delete signature row
+ signatureTableApi.row(tempRowElement).remove().draw();
+ };
+
+ for(let l = 0; l < tableData.length; l++){
+ let rowElement = signatureTableApi.row(tableData[l].index).nodes().to$();
+ rowElement.toggleTableRow(toggleTableRowCallback);
+ notificationCounter.deleted++;
+ }
+ }
+
+ // add new signatures -----------------------------------------------------------------------------------------
+ for(let k = 0; k < signatureData.length; k++){
+ // and add "new" row
+ let newRowElement = addSignatureRow(signatureTableApi, currentSystemData.systemData, signatureData[k], false);
+
+ if(newRowElement){
+ // highlight
+ newRowElement.pulseBackgroundColor('added');
+ notificationCounter.added++;
+ }
+ }
+
+ // show notification ------------------------------------------------------------------------------------------
+ if(
+ notificationCounter.added > 0 ||
+ notificationCounter.changed > 0 ||
+ notificationCounter.deleted > 0
+ ){
+ // update signature bar
+ moduleElement.updateScannedSignaturesBar({showNotice: true});
+
+ let notification = notificationCounter.added + ' added ';
+ notification += notificationCounter.changed + ' updated ';
+ notification += notificationCounter.deleted + ' deleted ';
+ Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'});
+
+ // wait until add/remove animations are finished before enable table for auto update again
+ unlockSignatureTable(false);
+ }else{
+ // enable table for next update
+ unlockSignatureTable(true);
+ }
+ };
+
+ /**
+ * lock system signature table for
+ */
+ let lockSignatureTable = () => {
+ disableTableUpdate = true;
+ };
+
+ /**
+ * unlock system signature table from been locked
+ * -> make table "update-able" again
+ * @param instant
+ */
+ let unlockSignatureTable = instant =>{
+ if(disableTableUpdate === true){
+ if(instant === true){
+ disableTableUpdate = false;
+ }else{
+ // wait until add/remove animations are finished before enable table for auto update again
+ setTimeout(function(){ disableTableUpdate = false; }, 2000);
+ }
+ }
+ };
+
+ /**
+ * update Progressbar for all scanned signatures in a system
+ * @param options
+ */
+ $.fn.updateScannedSignaturesBar = function(options){
+ let moduleElement = $(this);
+ let signatureTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary');
+
+ // get progress bar
+ let progressBarWrapper = moduleElement.find('.' + config.signatureScannedProgressBarClass);
+ let progressBar = $(progressBarWrapper).find('.progress-bar');
+ let progressBarLabel = moduleElement.find('.progress-label-right');
+
+ let tableData = getTableData(signatureTableApi);
+
+ let sigCount = 0;
+ let percent = 0;
+ let sigIncompleteCount = 0;
+ let progressBarType = 'progress-bar-danger';
+
+ if(tableData){
+ sigCount = tableData.length;
+
+ // check for signatures without "groupId" -> these are un scanned signatures
+
+ for(let i = 0; i < tableData.length; i++){
+ let groupId = parseInt(tableData[i].groupId);
+ if(groupId === 0){
+ sigIncompleteCount++;
+ }
+ }
+
+ if(sigCount > 0){
+ percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount );
+ }
+
+ if(percent < 30){
+ progressBarType = 'progress-bar-danger' ;
+ }else if(percent < 100){
+ progressBarType = 'progress-bar-warning';
+ }else{
+ progressBarType = 'progress-bar-success';
+ }
+ }
+
+ setTimeout(
+ function() {
+ progressBarLabel.text(percent + '%');
+ progressBar.removeClass().addClass('progress-bar').addClass(progressBarType);
+ progressBar.attr('aria-valuenow', percent);
+ progressBar.css({width: percent + '%'});
+
+ let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned';
+
+ // show notifications
+ if(options.showNotice !== false){
+ if(percent < 100){
+ Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'});
+ }else{
+ Util.showNotify({title: 'System is scanned', text: notification, type: 'success'});
+ }
+ }
+ }, 100);
+ };
+
+ /**
+ * open "signature reader" dialog for signature table
+ * @param systemData
+ */
+ $.fn.showSignatureReaderDialog = function(systemData){
+ let moduleElement = $(this);
+
+ requirejs(['text!templates/dialog/signature_reader.html', 'mustache'], (template, Mustache) => {
+ let signatureReaderDialog = bootbox.dialog({
+ title: 'Signature reader',
+ message: Mustache.render(template, {}),
+ buttons: {
+ close: {
+ label: 'cancel',
+ className: 'btn-default'
+ },
+ success: {
+ label: ' update signatures',
+ className: 'btn-success',
+ callback: function () {
+ let form = this.find('form');
+ let formData = form.getFormValues();
+ let signatureOptions = {
+ deleteOld: (formData.deleteOld) ? 1 : 0
+ };
+ moduleElement.updateSignatureTableByClipboard(systemData, formData.clipboard, signatureOptions);
+ }
+ }
+ }
+ });
+
+ // dialog shown event
+ signatureReaderDialog.on('shown.bs.modal', function(e) {
+ signatureReaderDialog.initTooltips();
+
+ // set focus on sig-input textarea
+ signatureReaderDialog.find('textarea').focus();
+ });
+ });
+ };
+
+ /**
+ * updates the signature table with all signatures pasted into the "signature reader" dialog
+ * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well
+ * @param systemData
+ * @param clipboard data stream
+ * @param options
+ */
+ $.fn.updateSignatureTableByClipboard = function(systemData, clipboard, options){
+ let moduleElement = $(this);
+
+ let saveSignatureData = function(signatureData){
+ // lock update function until request is finished
+ lockSignatureTable();
+
+ // lock copy during request (prevent spamming (ctrl + c )
+ disableCopyFromClipboard = true;
+
+ let requestData = {
+ signatures: signatureData,
+ deleteOld: (options.deleteOld) ? 1 : 0,
+ systemId: parseInt(systemData.id)
+ };
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.saveSignatureData,
+ data: requestData,
+ dataType: 'json',
+ context: {
+ moduleElement: moduleElement
+ }
+ }).done(function(responseData){
+ // unlock table for update
+ unlockSignatureTable(true);
+ // updates table with new/updated signature information
+ updateSignatureTable(this.moduleElement, responseData.signatures, false);
+ }).fail(function( jqXHR, status, error) {
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ }).always(function() {
+ unlockSignatureTable(true);
+ disableCopyFromClipboard = false;
+ });
+ };
+
+ // check if copy&paste is enabled
+ if( !disableCopyFromClipboard ){
+ // parse input stream
+ let signatureData = parseSignatureString(systemData, clipboard);
+ if(signatureData.length > 0){
+ // valid signature data parsed
+
+ // check if signatures will be added to a system where character is currently in
+ // if user is not in any system -> id === undefined -> no "confirmation required
+ let currentLocationData = Util.getCurrentLocationData();
+ if(
+ currentLocationData.id &&
+ currentLocationData.id !== systemData.id
+ ){
+
+ let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')';
+ systemNameStr = '' + systemNameStr + ' ';
+
+ let msg = '';
+ msg += 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !';
+ bootbox.confirm(msg, function(result) {
+ if(result){
+ saveSignatureData(signatureData);
+ }
+ });
+ }else{
+ // current system selected -> no "confirmation" required
+ saveSignatureData(signatureData);
+ }
+ }
+ }
+ };
+
+ /**
+ * parses a copy&paste string from ingame scanning window
+ * @param systemData
+ * @param clipboard
+ * @returns {Array}
+ */
+ let parseSignatureString = (systemData, clipboard) => {
+ let signatureData = [];
+
+ if(clipboard.length){
+ let signatureRows = clipboard.split(/\r\n|\r|\n/g);
+ let signatureGroupOptions = config.signatureGroupsNames;
+ let invalidSignatures = 0;
+
+ for(let i = 0; i < signatureRows.length; i++){
+ let rowData = signatureRows[i].split(/\t/g);
+ if(rowData.length === 6){
+ // check if sig Type = anomaly or combat site
+ if(validSignatureNames.indexOf( rowData[1] ) !== -1){
+
+ let sigGroup = $.trim(rowData[2]).toLowerCase();
+ let sigDescription = $.trim(rowData[3]);
+ let sigGroupId = 0;
+ let typeId = 0;
+
+ // get groupId by groupName
+ for (let prop in signatureGroupOptions) {
+ if(signatureGroupOptions.hasOwnProperty(prop)){
+ let reg = new RegExp(signatureGroupOptions[prop], 'i');
+ if (reg.test(sigGroup)) {
+ sigGroupId = parseInt( prop );
+ break;
+ }
+ }
+ }
+
+ // wormhole type cant be extracted from signature string -> skip function call
+ if(sigGroupId !== 5){
+ // try to get "typeId" by description string
+ typeId = Util.getSignatureTypeIdByName( systemData, sigGroupId, sigDescription );
+
+ // set signature name as "description" if signature matching failed
+ sigDescription = (typeId === 0) ? sigDescription : '';
+ }else{
+ sigDescription = '';
+ }
+
+ // map array values to signature Object
+ let signatureObj = {
+ systemId: systemData.id,
+ name: $.trim( rowData[0] ).toLowerCase(),
+ groupId: sigGroupId,
+ typeId: typeId,
+ description: sigDescription
+ };
+
+ signatureData.push(signatureObj);
+ }else{
+ invalidSignatures++;
+ }
+ }
+ }
+
+ if(invalidSignatures > 0){
+ let notification = invalidSignatures + ' / ' + signatureRows.length + ' signatures invalid';
+ Util.showNotify({title: 'Invalid signature(s)', text: notification, type: 'warning'});
+ }
+ }
+
+ return signatureData;
+ };
+
+ /**
+ * format signature data array into dataTable structure
+ * @param systemData
+ * @param signatureData
+ * @param options
+ * @returns {Array}
+ */
+ let formatSignatureData = (systemData, signatureData, options) => {
+ let formattedData = [];
+
+ // security check
+ if(
+ systemData &&
+ systemData.id &&
+ systemData.id > 0
+ ){
+ let systemTypeId = systemData.type.id;
+
+ // areaId is required as a key for signature names
+ // if areaId is 0, no signature data is available for this system
+ let areaId = Util.getAreaIdBySecurity(systemData.security);
+
+ for(let i = 0; i < signatureData.length; i++){
+ let data = signatureData[i];
+
+ let tempData = {};
+
+ // set id ---------------------------------------------------------------------------------------------
+ let sigId = 0;
+ if(data.id > 0){
+ sigId = data.id;
+ }
+ tempData.id = sigId;
+
+ // set status -----------------------------------------------------------------------------------------
+ let statusClass = '';
+ if(data.updated.character !== undefined){
+ statusClass = Util.getStatusInfoForCharacter(data.updated.character, 'class');
+ }
+ let status = ' ';
+
+ tempData.status = {
+ status: status,
+ status_sort: statusClass
+ };
+
+ // set name -------------------------------------------------------------------------------------------
+ let sigName = ' 0){
+ sigName += 'data-pk="' + data.id + '" ';
+ }
+ sigName += '>' + data.name + ' ';
+
+ tempData.name = {
+ render: sigName,
+ name: data.name
+ };
+
+ // set group id ---------------------------------------------------------------------------------------
+ let sigGroup = ' 0){
+ sigGroup += 'data-pk="' + data.id + '" ';
+ }
+ sigGroup += 'data-systemTypeId="' + systemTypeId + '" ';
+ sigGroup += 'data-areaId="' + areaId + '" ';
+ sigGroup += 'data-value="' + data.groupId + '" ';
+ sigGroup += '> ';
+
+ tempData.group = {
+ group: sigGroup,
+ sort: config.signatureGroupsLabels[data.groupId] || '',
+ filter: config.signatureGroupsLabels[data.groupId] ||''
+ };
+
+ // set type id ----------------------------------------------------------------------------------------
+ let sigType = ' 0){
+ sigType += 'data-pk="' + data.id + '" ';
+ }
+
+ // set disabled if sig type is not selected
+ if(data.groupId < 1){
+ sigType += 'data-disabled="1" ';
+ }
+
+ sigType += 'data-systemTypeId="' + systemTypeId + '" ';
+ sigType += 'data-areaId="' + areaId + '" ';
+ sigType += 'data-groupId="' + data.groupId + '" ';
+ sigType += 'data-value="' + data.typeId + '" ';
+ sigType += '> ';
+
+ tempData.type = sigType;
+
+ // set connection (to target system) ------------------------------------------------------------------
+ let sigConnection = ' 0){
+ sigConnection += 'data-pk="' + data.id + '" ';
+ }
+
+ // set disabled if group is not wormhole
+ if(data.groupId !== 5){
+ sigConnection += 'data-disabled="1" ';
+ }
+
+ if(data.connection){
+ sigConnection += 'data-value="' + data.connection.id + '" ';
+ }
+ sigConnection += '> ';
+
+ tempData.connection = {
+ render: sigConnection,
+ connection: data.connection
+ };
+
+ // set description ------------------------------------------------------------------------------------
+ let sigDescription = ' 0){
+ sigDescription += 'data-pk="' + data.id + '" ';
+ }
+ sigDescription += '>' + data.description + ' ';
+
+ tempData.description = sigDescription;
+
+ // set created ----------------------------------------------------------------------------------------
+ tempData.created = data.created;
+
+ // set updated ----------------------------------------------------------------------------------------
+ tempData.updated = data.updated;
+
+ // info icon ------------------------------------------------------------------------------------------
+ let infoButton = '';
+ if(data.id > 0){
+ infoButton = ' ';
+ }
+ tempData.info = infoButton;
+
+ // action icon ----------------------------------------------------------------------------------------
+
+ let actionButton = ' ';
+ tempData.action = {
+ action: options.action,
+ button: actionButton
+ };
+
+ formattedData.push(tempData);
+
+ }
+
+ }
+
+ return formattedData;
+ };
+
+ /**
+ * get all rows of a table
+ * @param tableApi
+ * @returns {*}
+ */
+ let getRows = tableApi => {
+ let rows = tableApi.rows();
+ return rows;
+ };
+
+ /**
+ * get all selected rows of a table
+ * @param tableApi
+ * @returns {*}
+ */
+ let getSelectedRows = tableApi => {
+ let selectedRows = tableApi.rows('.selected');
+ return selectedRows;
+ };
+
+ /**
+ * check the "delete signature" button. show/hide the button if a signature is selected
+ * @param tableApi
+ */
+ let checkDeleteSignaturesButton = tableApi => {
+ let selectedRows = getSelectedRows(tableApi);
+ let selectedRowCount = selectedRows.data().length;
+ let clearButton = tableApi.button('tableTools', 'delete:name').node();
+
+ if(selectedRowCount > 0){
+ let allRows = getRows(tableApi);
+ let rowCount = allRows.data().length;
+
+ let countText = selectedRowCount;
+ if(selectedRowCount >= rowCount){
+ countText = 'all';
+ }
+ clearButton.find('i+span').text(countText);
+
+ // update clear signatures button text
+ clearButton.velocity('stop');
+
+ if( clearButton.is(':hidden') ){
+ // show button
+ clearButton.velocity('transition.expandIn', {
+ duration: 100
+ });
+ }else{
+ // highlight button
+ clearButton.velocity('callout.pulse', {
+ duration: 200
+ });
+ }
+ }else{
+ // hide button
+ clearButton.velocity('transition.expandOut', {
+ duration: 100
+ });
+ }
+ };
+
+ /**
+ * draw signature table toolbar (add signature button, scan progress bar
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let drawSignatureTableNew = (moduleElement, mapId, systemData) => {
+ // add toolbar action for table -------------------------------------------------------------------------------
+ let tableToolbarAction = $('', {
+ class: config.tableToolsActionClass
+ });
+
+ // create "empty table for new signature
+ let table = $('
', {
+ class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ')
+ });
+
+ tableToolbarAction.append(table);
+
+ moduleElement.find('.' + config.moduleHeadClass).after(tableToolbarAction);
+
+ let signatureData = formatSignatureData(systemData, [emptySignatureData], emptySignatureOptions);
+ let signatureTable = table.dataTable( {
+ data: signatureData,
+ paging: false,
+ info: false,
+ searching: false,
+ tabIndex: -1
+ } );
+ let signatureTableApi = signatureTable.api();
+
+ setDataTableInstance(mapId, systemData.id, 'secondary', signatureTableApi);
+
+ table.makeEditable(signatureTableApi, systemData);
+ };
+
+ /**
+ * Update/set tooltip for an element
+ * @param element
+ * @param title
+ */
+ let updateTooltip = (element, title) => {
+ $(element).attr('data-container', 'body').attr('title', title.toUpperCase()).tooltip('fixTitle')
+ .tooltip('setContent');
+ };
+
+ /**
+ * helper function - jump to "next" editable field on save
+ * @param field
+ * @param selector
+ * @returns {*|jQuery|HTMLElement}
+ */
+ let getNextEditableField = (field, selector) => {
+ let nextEditableField = null;
+ if(selector){
+ // search specific sibling
+ nextEditableField = $(field).closest('td').nextAll(selector).find('.editable');
+ }else{
+ // get next sibling
+ nextEditableField = $(field).closest('td').next().find('.editable');
+ }
+
+ return $(nextEditableField);
+ };
+
+ /**
+ * helper function - get the next editable field in next table column
+ * @param fields
+ */
+ let openNextEditDialogOnSave = fields => {
+ fields.on('save', function(e, params){
+ let currentField = $(this);
+ let nextField = getNextEditableField(currentField);
+ nextField.editable('show');
+
+ setTimeout(() => {
+ // update scanning progressbar if sig "type" has changed AND
+ // the current field is in the "primary" table (not the "add" new sig row)
+ if(
+ $(e.target).hasClass(config.sigTableEditSigGroupSelect) &&
+ $(e.target).parents('.' + config.sigTableClass).hasClass(config.sigTablePrimaryClass)
+ ){
+ currentField.parents('.' + config.moduleClass).updateScannedSignaturesBar({showNotice: true});
+ }
+ }, 200);
+ });
+ };
+
+ /**
+ * make a table or row editable
+ * @param tableApi
+ * @param systemData
+ */
+ $.fn.makeEditable = function(tableApi, systemData){
+ // table element OR row element
+ let tableElement = $(this);
+
+ // find editable fields
+ let sigNameFields = tableElement.find('.' + config.sigTableEditSigNameInput);
+ let sigGroupFields = tableElement.find('.' + config.sigTableEditSigGroupSelect);
+ let sigTypeFields = tableElement.find('.' + config.sigTableEditSigTypeSelect);
+ let sigDescriptionFields = tableElement.find('.' + config.sigTableEditSigDescriptionTextarea);
+ let sigConnectionFields = tableElement.find('.' + config.sigTableEditSigConnectionSelect);
+
+ /**
+ * add map/system specific data for each editable field in the sig-table
+ * @param params
+ * @returns {*}
+ */
+ let modifyFieldParamsOnSend = params => {
+ params.systemId = systemData.id;
+ return params;
+ };
+
+ // set global xEditable options for all table fields
+ $.extend($.fn.editable.defaults, {
+ url: Init.path.saveSignatureData,
+ dataType: 'json',
+ mode: 'popup',
+ container: 'body',
+ error: function(jqXHR, newValue){
+ let reason = '';
+ let status = '';
+ if(jqXHR.name){
+ // save error new sig (mass save)
+ reason = jqXHR.name;
+ status = 'Error';
+ }else{
+ reason = jqXHR.responseJSON.text;
+ status = jqXHR.status;
+ }
+
+ Util.showNotify({title: status + ': save signature', text: reason, type: 'error'});
+ $(document).setProgramStatus('problem');
+ return reason;
+ }
+ });
+
+
+ // Input sig name ---------------------------------------------------------------------------------------------
+ sigNameFields.editable({
+ type: 'text',
+ title: 'signature id',
+ name: 'name',
+ emptytext: '? ? ?',
+ display: function(value) {
+ // change display value to first 3 letters
+ $(this).text($.trim( value.substr(0, 3) ).toLowerCase());
+ },
+ validate: function(value) {
+ if($.trim(value).length < 3) {
+ return 'Id is less than min of "3"';
+ }else if($.trim(value).length > 10){
+ return 'Id is more than max of "10"';
+ }
+ },
+ params: modifyFieldParamsOnSend,
+ success: function(response, newValue){
+ if(response){
+ let signatureNameField = $(this);
+ let columnElement = signatureNameField.parents('td');
+ let rowElement = signatureNameField.parents('tr');
+ let newRowData = response.signatures[0];
+
+ // update column tooltip
+ updateTooltip(columnElement, newValue);
+
+ // update "updated" cell
+ updateSignatureCell(tableApi, rowElement, 7, newRowData.updated);
+ }
+ }
+ });
+
+
+ // Select sig group (master) ----------------------------------------------------------------------------------
+ sigGroupFields.editable({
+ type: 'select',
+ title: 'group',
+ name: 'groupId',
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ prepend: [{value: '0', text: ''}],
+ params: modifyFieldParamsOnSend,
+ source: function(){
+ let signatureGroupField = $(this);
+ let systemTypeId = parseInt( signatureGroupField.attr('data-systemTypeId') );
+
+ // get all available Signature Types
+ let availableTypes = config.signatureGroupsLabels;
+
+ return availableTypes;
+ },
+ success: function(response, newValue){
+ let signatureGroupField = $(this);
+ let rowElement = signatureGroupField.parents('tr');
+ newValue = parseInt(newValue);
+
+ if(response){
+ let newRowData = response.signatures[0];
+
+ // update "updated" cell
+ updateSignatureCell(tableApi, rowElement, 7, newRowData.updated);
+ }
+
+ // find related "type" select (same row) and change options
+ let signatureTypeField = getNextEditableField(signatureGroupField);
+
+ let systemTypeId = parseInt( signatureGroupField.attr('data-systemTypeId') );
+ let areaId = parseInt( signatureGroupField.attr('data-areaid') );
+
+ let newSelectOptions = getAllSignatureNames(systemData, systemTypeId, areaId, newValue);
+ signatureTypeField.editable('option', 'source', newSelectOptions);
+
+ if(
+ newValue > 0 &&
+ newSelectOptions.length > 0
+ ){
+ signatureTypeField.editable('enable');
+ }else{
+ signatureTypeField.editable('disable');
+ }
+
+ signatureTypeField.editable('setValue', null);
+
+ // find "connection" select (same row) and change "enabled" flag
+ let signatureConnectionField = getNextEditableField(signatureGroupField, '.' + config.sigTableConnectionClass);
+ if(newValue === 5){
+ // wormhole
+ signatureConnectionField.editable('enable');
+ }else{
+ checkConnectionConflicts();
+ signatureConnectionField.editable('disable');
+ }
+
+ signatureConnectionField.editable('setValue', null);
+ }
+ });
+
+
+ // Select sig type (slave: depends on sig type) ---------------------------------------------------------------
+ sigTypeFields.on('init', function(e, editable) {
+ // check if there are initial options available
+ let options = editable.input.options.source.bind(e.target)();
+ if(options.length <= 0){
+ editable.disable();
+ }
+ });
+
+ sigTypeFields.editable({
+ type: 'select',
+ title: 'type',
+ name: 'typeId',
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ params: modifyFieldParamsOnSend,
+ display: function(value, sourceData){
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].text.length){
+ $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text}));
+ }else{
+ $(this).empty();
+ }
+ },
+ source: function(){
+ let signatureTypeField = $(this);
+
+ let systemTypeId = parseInt( signatureTypeField.attr('data-systemTypeId') );
+ let areaId = parseInt( signatureTypeField.attr('data-areaid') );
+ let groupId = parseInt( signatureTypeField.attr('data-groupId') );
+ let availableSigs = getAllSignatureNames(systemData, systemTypeId, areaId, groupId);
+
+ return availableSigs;
+ },
+ success: function(response, newValue){
+ let signatureTypeField = $(this);
+ let rowElement = signatureTypeField.parents('tr');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ // update "updated" cell
+ updateSignatureCell(tableApi, rowElement, 7, newRowData.updated);
+ }else{
+ // "add new" signature -> set "+" focus for keyboard control
+ setTimeout(() => {
+ rowElement.find('.pf-table-action-cell')[0].focus();
+ }, 50);
+ }
+ }
+ });
+
+ // Textarea sig description -----------------------------------------------------------------------------------
+ sigDescriptionFields.editable({
+ type: 'textarea',
+ title: 'description',
+ name: 'description',
+ emptytext: ' ',
+ onblur: 'submit',
+ mode: 'inline',
+ showbuttons: false,
+ inputclass: config.editableDescriptionInputClass,
+ params: modifyFieldParamsOnSend,
+ success: function(response, newValue){
+ if(response){
+ let signatureDescriptionField = $(this);
+ let rowElement = signatureDescriptionField.parents('tr');
+ let newRowData = response.signatures[0];
+
+ // update "updated" cell
+ updateSignatureCell(tableApi, rowElement, 7, newRowData.updated);
+ }
+ }
+ });
+
+ // Select connection (target system) --------------------------------------------------------------------------
+ let initCount = 0;
+ sigConnectionFields.on('init', function(e, editable) {
+ if(++initCount >= sigConnectionFields.length){
+ checkConnectionConflicts();
+ }
+ });
+
+ sigConnectionFields.editable({
+ type: 'select',
+ title: 'system',
+ name: 'connectionId',
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ prepend: [{value: '0', text: ''}],
+ params: modifyFieldParamsOnSend,
+ display: function(value, sourceData) {
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].text.length){
+ let errorIcon = ' ';
+ $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon);
+ }else{
+ $(this).empty() ;
+ }
+ },
+ source: function(a,b){
+ let activeMap = Util.getMapModule().getActiveMap();
+ let mapId = activeMap.data('id');
+
+ let availableConnections = getSignatureConnectionOptions(mapId, systemData);
+
+ return availableConnections;
+ },
+ success: function(response, newValue){
+ let signatureConnectionField = $(this);
+ let rowElement = signatureConnectionField.parents('tr');
+
+ if(response){
+ let newRowData = response.signatures[0];
+
+ // update "updated" cell
+ updateSignatureCell(tableApi, rowElement, 7, newRowData.updated);
+ }else{
+ // "add new" signature -> set "+" focus for keyboard control
+ setTimeout(() => {
+ rowElement.find('.pf-table-action-cell')[0].focus();
+ }, 50);
+ }
+ }
+ });
+
+ sigGroupFields.on('shown', function(e, editable){
+ let inputField = editable.input.$input;
+ inputField.addClass('pf-select2').initSignatureGroupSelect();
+ });
+
+ sigTypeFields.on('shown', function(e, editable){
+ // destroy possible open popovers (e.g. wormhole types)
+ $(this).destroyPopover(true);
+
+ let inputField = editable.input.$input;
+ let hasOptGroups = inputField.has('optgroup').length > 0;
+ inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups);
+ });
+
+ sigConnectionFields.on('shown', function(e, editable){
+ let inputField = editable.input.$input;
+ inputField.addClass('pf-select2').initSignatureConnectionSelect();
+ });
+
+ sigDescriptionFields.on('shown', function(e, editable){
+ // enlarge the tools-action container because the tables gets bigger
+ tableElement.parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' );
+ });
+
+ sigDescriptionFields.on('hidden', function(e, editable){
+ // enlarge the tools-action container because the tables gets bigger
+ tableElement.parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' );
+ });
+
+ sigConnectionFields.on('save', function(e, editable){
+ checkConnectionConflicts();
+ });
+
+ $().add(sigNameFields).add(sigGroupFields).add(sigTypeFields)
+ .add(sigDescriptionFields).add(sigConnectionFields).on('hidden', function(e, editable) {
+ // re-focus element on close (keyboard navigation)
+ this.focus();
+ });
+
+ // open next field dialog -------------------------------------------------------------------------------------
+ openNextEditDialogOnSave(sigNameFields);
+ openNextEditDialogOnSave(sigGroupFields);
+ };
+
+ /**
+ * get all connection select options
+ * @param mapId
+ * @param systemData
+ * @returns {Array}
+ */
+ let getSignatureConnectionOptions = (mapId, systemData) => {
+ let map = Map.getMapInstance( mapId );
+ let systemId = MapUtil.getSystemId(mapId, systemData.id);
+ let systemConnections = MapUtil.searchConnectionsBySystems(map, [systemId], 'wh');
+ let newSelectOptions = [];
+ let connectionOptions = [];
+
+ for(let i = 0; i < systemConnections.length; i++){
+ let connectionData = MapUtil.getDataByConnection(systemConnections[i]);
+
+ // connectionId is required (must be stored)
+ if(connectionData.id){
+ // check whether "source" or "target" system is relevant for this connection
+ // -> hint "source" === 'target' --> loop
+ if(systemData.id !== connectionData.target){
+ let targetSystemData = MapUtil.getSystemData(mapId, connectionData.target);
+ if(targetSystemData){
+ // take target...
+ connectionOptions.push({
+ value: connectionData.id,
+ text: connectionData.targetAlias + ' - ' + targetSystemData.security
+ });
+ }
+ }else if(systemData.id !== connectionData.source){
+ let sourceSystemData = MapUtil.getSystemData(mapId, connectionData.source);
+ if(sourceSystemData){
+ // take source...
+ connectionOptions.push({
+ value: connectionData.id,
+ text: connectionData.sourceAlias + ' - ' + sourceSystemData.security
+ });
+ }
+ }
+ }
+ }
+
+ if(connectionOptions.length > 0){
+ newSelectOptions.push({ text: 'System', children: connectionOptions});
+ }
+
+ return newSelectOptions;
+ };
+
+ /**
+ * check connectionIds for conflicts (multiple signatures -> same connection)
+ * -> show "conflict" icon next to select
+ */
+ let checkConnectionConflicts = () => {
+ setTimeout(() => {
+ let connectionSelects = $('.' + config.sigTableConnectionClass + ' .editable');
+ let connectionIds = [];
+ let duplicateConnectionIds = [];
+ let groupedSelects = [];
+
+ connectionSelects.each(function(){
+ let select = $(this);
+ let value = parseInt(select.editable('getValue', true) )|| 0;
+
+ if(
+ connectionIds.indexOf(value) > -1 &&
+ duplicateConnectionIds.indexOf(value) === -1
+ ){
+ // duplicate found
+ duplicateConnectionIds.push(value);
+ }
+
+ if(groupedSelects[value] !== undefined){
+ groupedSelects[value].push(select[0]);
+ }else{
+ groupedSelects[value] = [select[0]];
+ }
+
+ connectionIds.push(value);
+ });
+
+ // update "conflict" icon next to select label for connectionIds
+ connectionSelects.each(function(){
+ let select = $(this);
+ let value = parseInt(select.editable('getValue', true) )|| 0;
+ let conflictIcon = select.find('.fa-exclamation-triangle');
+ if(
+ duplicateConnectionIds.indexOf(value) > -1 &&
+ groupedSelects[value].indexOf(select[0]) > -1
+ ){
+ conflictIcon.removeClass('hide');
+ }else{
+ conflictIcon.addClass('hide');
+ }
+ });
+ }, 200);
+ };
+
+ /**
+ * get all signature types that can exist for a given system
+ * -> result is partially cached
+ * @param systemData
+ * @param systemTypeId
+ * @param areaId
+ * @param groupId
+ * @returns {Array}
+ */
+ let getAllSignatureNames = (systemData, systemTypeId, areaId, groupId) => {
+ let newSelectOptions = [];
+ let cacheKey = [systemTypeId, areaId, groupId].join('_');
+ let newSelectOptionsCount = 0;
+
+ // check for cached signature names
+ if(sigNameCache.hasOwnProperty( cacheKey )){
+ // cached signatures do not include static WHs!
+ // -> ".slice(0)" creates copy
+ newSelectOptions = sigNameCache[cacheKey].slice(0);
+ newSelectOptionsCount = getOptionsCount('children', newSelectOptions);
+ }else{
+ // get new Options ----------
+ // get all possible "static" signature names by the selected groupId
+ let tempSelectOptions = Util.getAllSignatureNames(systemTypeId, areaId, groupId);
+
+ // format options into array with objects advantages: keep order, add more options (whs), use optgroup
+ if(tempSelectOptions){
+ let fixSelectOptions = [];
+ for (let key in tempSelectOptions) {
+ if (
+ key > 0 &&
+ tempSelectOptions.hasOwnProperty(key)
+ ) {
+ newSelectOptionsCount++;
+ fixSelectOptions.push({value: parseInt(key), text: tempSelectOptions[key]});
+ }
+ }
+
+ if(newSelectOptionsCount > 0){
+ if(groupId === 5){
+ // "wormhole" selected => multiple available
+ newSelectOptions.push({ text: 'Wandering', children: fixSelectOptions});
+ }else{
+ newSelectOptions = fixSelectOptions;
+ }
+ }
+ }
+
+ // wormhole (cached signatures)
+ if( groupId === 5 ){
+
+ // add possible frigate holes
+ let frigateHoles = getFrigateHolesBySystem(areaId);
+ let frigateWHData = [];
+ for(let frigKey in frigateHoles){
+ if (
+ frigKey > 0 &&
+ frigateHoles.hasOwnProperty(frigKey)
+ ) {
+ newSelectOptionsCount++;
+ frigateWHData.push( {value: newSelectOptionsCount, text: frigateHoles[frigKey]} );
+ }
+ }
+
+ if(frigateWHData.length > 0){
+ newSelectOptions.push({ text: 'Frigate', children: frigateWHData});
+ }
+
+ // add possible incoming holes
+ let incomingWHData = [];
+ for(let incomingKey in Init.incomingWormholes){
+ if (
+ incomingKey > 0 &&
+ Init.incomingWormholes.hasOwnProperty(incomingKey)
+ ) {
+ newSelectOptionsCount++;
+ incomingWHData.push( {value: newSelectOptionsCount, text: Init.incomingWormholes[incomingKey]} );
+ }
+ }
+
+ if(incomingWHData.length > 0){
+ newSelectOptions.push({ text: 'Incoming', children: incomingWHData});
+ }
+ }else{
+ // groups without "children" (optgroup) should be sorted by "value"
+ // this is completely optional and not necessary!
+ newSelectOptions = newSelectOptions.sortBy('text');
+ }
+
+ // update cache (clone array) -> further manipulation to this array, should not be cached
+ sigNameCache[cacheKey] = newSelectOptions.slice(0);
+ }
+
+ // static wormholes (DO NOT CACHE) (not all C2 WHs have the same statics,...
+ if( groupId === 5 ){
+ // add static WH(s) for this system
+ if(systemData.statics){
+ let staticWHData = [];
+ for(let wormholeName of systemData.statics){
+ let wormholeData = Object.assign({}, Init.wormholes[wormholeName]);
+ let staticWHName = wormholeData.name + ' - ' + wormholeData.security;
+
+ newSelectOptionsCount++;
+ staticWHData.push( {value: newSelectOptionsCount, text: staticWHName} );
+ }
+
+ if(staticWHData.length > 0){
+ newSelectOptions.unshift({ text: 'Static', children: staticWHData});
+ }
+ }
+ }
+
+ // if selectOptions available -> add "empty" option as well
+ if(newSelectOptionsCount > 0){
+ newSelectOptions.unshift({ value: '0', text: ''});
+ }
+
+ return newSelectOptions;
+ };
+
+ /**
+ * get all signature types that can exist for a system (jQuery obj)
+ * @param systemElement
+ * @param groupId
+ * @returns {Array}
+ */
+ let getAllSignatureNamesBySystem = (systemElement, groupId) => {
+ let systemTypeId = systemElement.data('typeId');
+ let areaId = Util.getAreaIdBySecurity(systemElement.data('security'));
+ let systemData = {statics: systemElement.data('statics')};
+ return getAllSignatureNames(systemData, systemTypeId, areaId, groupId);
+ };
+
+ /**
+ * sum up all options in nested (or not nested) object of objects
+ * -> e.g.
+ * {
+ * first: {
+ * count = [4, 2, 1]
+ * test = { ... }
+ * },
+ * second: {
+ * count = [12, 13]
+ * test = { ... }
+ * }
+ * }
+ * -> getOptionsCount('count', obj) => 5;
+ * @param key
+ * @param obj
+ * @returns {number}
+ */
+ let getOptionsCount = (key, obj) => {
+ let sum = 0;
+ for(let entry of obj){
+ if(entry.hasOwnProperty(key)){
+ sum += entry[key].length;
+ }else{
+ sum++;
+ }
+ }
+ return sum;
+ };
+
+ /**
+ * get possible frig holes that could spawn in a system
+ * filtered by "systemTypeId"
+ * @param systemTypeId
+ * @returns {{}}
+ */
+ let getFrigateHolesBySystem = systemTypeId => {
+ let signatureNames = {};
+
+ if(Init.frigateWormholes[systemTypeId]){
+ signatureNames = Init.frigateWormholes[systemTypeId];
+ }
+
+ return signatureNames;
+ };
+
+ /**
+ * deletes signature rows from signature table
+ * @param tableApi
+ * @param rows
+ */
+ let deleteSignatures = (tableApi, rows) => {
+ let deletedSignatures = 0;
+
+ let moduleElement = $('.' + config.moduleTypeClass);
+ let data = rows.data();
+ let rowElements = rows.nodes().to$();
+ let signatureCount = data.length;
+
+ let signatureIds = [];
+ for(let i = 0; i < data.length; i++){
+ signatureIds.push(data[i].id);
+ }
+
+ let requestData = {
+ signatureIds: signatureIds
+ };
+
+ // animation callback function
+ let removeCallback = function(rowElement){
+ // delete signature row
+ tableApi.row(rowElement).remove().draw();
+
+ deletedSignatures++;
+
+ if(deletedSignatures === signatureCount){
+ // all animations finished
+
+ // update signature bar
+ moduleElement.updateScannedSignaturesBar({showNotice: false});
+
+ // update connection conflicts
+ checkConnectionConflicts();
+
+ Util.showNotify({title: 'Signature deleted', text: signatureCount + ' deleted', type: 'success'});
+ }
+ };
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.deleteSignatureData,
+ data: requestData,
+ dataType: 'json'
+ }).done(function(data){
+
+ for(let j = 0; j < rowElements.length; j++){
+ // removeRow
+ $(rowElements[j]).toggleTableRow(removeCallback);
+ }
+
+ }).fail(function( jqXHR, status, error) {
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ });
+ };
+
+ /**
+ * adds a new row to signature Table
+ * @param signatureTableApi
+ * @param systemData
+ * @param signatureData
+ * @param animate
+ * @returns {*}
+ */
+ let addSignatureRow = (signatureTableApi, systemData, signatureData, animate) => {
+ let newRowElement = null;
+ if(signatureTableApi){
+ let newSignatureData = formatSignatureData(systemData, [signatureData], fullSignatureOptions);
+ let newRowNode = signatureTableApi.row.add(newSignatureData.shift()).draw().nodes();
+ newRowElement = newRowNode.to$();
+
+ if(animate === true){
+ newRowElement.hide();
+ newRowElement.toggleTableRow(newRowElement => {
+ // make new row editable
+ newRowElement.makeEditable(signatureTableApi, systemData);
+
+ // update scan progress bar
+ newRowElement.parents('.' + config.moduleClass).updateScannedSignaturesBar({showNotice: true});
+ });
+ }else{
+ newRowElement.makeEditable(signatureTableApi, systemData);
+ }
+ }
+
+ return newRowElement;
+ };
+
+ /**
+ * show/hides a table tag
+ * @param callback
+ */
+ $.fn.toggleTableRow = function(callback){
+ let rowElement = $(this);
+ let cellElements = rowElement.children('td');
+ let duration = 100;
+
+ // wrap each into a container (for better animation performance)
+ // slideUp new wrapper divs
+ if(rowElement.is(':visible')){
+ // hide row
+
+ // stop sig counter by adding a stopClass to each , remove padding
+ cellElements.addClass('stopCounter')
+ .velocity({
+ paddingTop: 0,
+ paddingBottom: 0
+ },{
+ duration: duration
+ }).wrapInner('')
+ .children()
+ .css({
+ 'willChange': 'height'
+ }).velocity('slideUp', {
+ duration: duration,
+ complete: function(animationElements){
+ // remove wrapper
+ $(animationElements).children().unwrap();
+
+ if(callback !== undefined){
+ callback(rowElement);
+ }
+ }
+ });
+ }else{
+ // show row
+
+ // remove padding on "hidden" cells for smother animation
+ cellElements.css({
+ 'padding-top': 0,
+ 'padding-bottom': 0,
+ 'willChange': 'padding-top, padding-top, height'
+ });
+
+ // add hidden wrapper for ea
+ cellElements.wrapInner($('
').hide());
+
+ // show row for padding animation
+ rowElement.show();
+
+ cellElements.velocity({
+ paddingTop: '4px',
+ paddingBottom: '4px'
+ },{
+ duration: duration,
+ queue: false,
+ complete: function(){
+ // animate
wrapper
+ cellElements.children()
+ .css({
+ 'willChange': 'height'
+ }).velocity('slideDown', {
+ duration: duration,
+ complete: function(animationElements){
+ // remove wrapper
+ for(let i = 0; i < animationElements.length; i++){
+ let currentWrapper = $(animationElements[i]);
+ if(currentWrapper.children().length > 0){
+ currentWrapper.children().unwrap();
+ }else{
+ currentWrapper.parent().html( currentWrapper.html() );
+ }
+ }
+
+ if(callback !== undefined){
+ callback(rowElement);
+ }
+ }
+ });
+ }
+ });
+ }
+ };
+
+
+ /**
+ * get unique column data from column object for select filter options
+ * @param column
+ * @returns {{}}
+ */
+ /* currently not needed but could be helpful one day
+ let getColumnTableDataForFilter = column => {
+ // get all available options from column
+ let source = {};
+ column.data().unique().sort((a,b) => {
+ // sort alphabetically
+ let valA = a.filter.toLowerCase();
+ let valB = b.filter.toLowerCase();
+
+ if(valA < valB) return -1;
+ if(valA > valB) return 1;
+ return 0;
+ }).each(callData => {
+ if(callData.filter){
+ source[callData.filter] = callData.filter;
+ }
+ });
+
+ // add empty option
+ source[0] = '';
+
+ return source;
+ };*/
+
+ let searchGroupColumn = (tableApi, newValue, sourceOptions) => {
+ let column = tableApi.column('group:name');
+ let pattern = '';
+
+ if(newValue.length <= sourceOptions.length){
+ // all options selected + "prepend" option
+ pattern = newValue.map(val => val !== '0' ? $.fn.dataTable.util.escapeRegex(val) : '^$').join('|');
+ }
+ column.search(pattern, true, false).draw();
+ };
+
+ /**
+ * init table filter button "group" column
+ * @param tableApi
+ */
+ let initGroupFilterButton = tableApi => {
+ let characterId = Util.getCurrentCharacterId();
+
+ let promiseStore = MapUtil.getLocaleData('character', Util.getCurrentCharacterId());
+ promiseStore.then(data => {
+ let filterButton = tableApi.button('tableTools', 'filterGroup:name').node();
+ let prependOptions = [{value: '0', text: 'unknown'}];
+ let sourceOptions = [];
+ let selectedValues = [];
+
+ // format group filter options
+ let groups = Object.assign({}, config.signatureGroupsLabels);
+ for(let [value, label] of Object.entries(groups)){
+ if(label.length){
+ sourceOptions.push({value: label, text: label});
+ }
+ }
+
+ if(data && data.filterSignatureGroups && data.filterSignatureGroups.length){
+ // select local stored values
+ selectedValues = data.filterSignatureGroups;
+ }else{
+ // no default group filter options -> show all
+ selectedValues = sourceOptions.map(option => option.text);
+ selectedValues.unshift('0');
+ }
+
+ filterButton.editable({
+ mode: 'popup',
+ type: 'checklist',
+ showbuttons: false,
+ onblur: 'submit',
+ highlight: false,
+ title: 'filter groups',
+ value: selectedValues,
+ prepend: prependOptions,
+ source: sourceOptions,
+ inputclass: config.editableUnknownInputClass,
+ display: function(value, sourceData){
+ // update filter button label
+ let html = ' group';
+ let allSelected = value.length >= (sourceOptions.length + prependOptions.length);
+ if( !allSelected ){
+ html += ' (' + value.length + ')';
+ }
+ $(this).toggleClass('active', !allSelected).html(html);
+ }
+ });
+
+ filterButton.on('save', {tableApi: tableApi, sourceOptions: sourceOptions}, function(e, params){
+ // store values local -> IndexDB
+ MapUtil.storeLocaleCharacterData('filterSignatureGroups', params.newValue);
+
+ searchGroupColumn(e.data.tableApi, params.newValue, e.data.sourceOptions);
+ });
+
+ // set initial search string -> even if table ist currently empty
+ searchGroupColumn(tableApi, selectedValues, sourceOptions);
+ });
+ };
+
+ /**
+ * draw empty signature table
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let drawSignatureTable = (moduleElement, mapId, systemData) => {
+
+ let table = $('', {
+ class: ['display', 'compact', 'nowrap', config.sigTableClass, config.sigTablePrimaryClass].join(' ')
+ });
+
+ moduleElement.append(table);
+
+ let dataTableOptions = {
+ tabIndex: -1,
+ dom: '<"row"<"col-xs-3"l><"col-xs-5"B><"col-xs-4"f>>' +
+ '<"row"<"col-xs-12"tr>>' +
+ '<"row"<"col-xs-5"i><"col-xs-7"p>>',
+ buttons: {
+ name: 'tableTools',
+ buttons: [
+ {
+ name: 'filterGroup',
+ className: config.moduleHeadlineIconClass,
+ text: '' // set by js (xEditable)
+ },
+ {
+ name: 'selectAll',
+ className: config.moduleHeadlineIconClass,
+ text: ' select all',
+ action: function(e, tableApi, node, conf){
+ let allRows = getRows(tableApi);
+ let selectedRows = getSelectedRows(tableApi);
+ let allRowElements = allRows.nodes().to$();
+
+ if(allRows.data().length === selectedRows.data().length){
+ allRowElements.removeClass('selected');
+ }else{
+ allRowElements.addClass('selected');
+ }
+
+ // check delete button
+ checkDeleteSignaturesButton(tableApi);
+ }
+ },
+ {
+ name: 'delete',
+ className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '),
+ text: ' delete (0 )',
+ action: function(e, tableApi, node, conf){
+ let selectedRows = getSelectedRows(tableApi);
+ bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){
+ if(result){
+ deleteSignatures(tableApi, selectedRows);
+ }
+ });
+ }
+ }
+ ]
+ },
+ initComplete: function (settings, json){
+ let tableApi = this.api();
+ initGroupFilterButton(tableApi);
+ }
+ };
+
+ // create signature table and store the jquery object global for this module
+ let signatureTable = table.dataTable(dataTableOptions);
+ let signatureTableApi = signatureTable.api();
+ setDataTableInstance(mapId, systemData.id, 'primary', signatureTableApi);
+ };
+
+ /**
+ * setup dataTable options for all signatureTables
+ * @param systemData
+ */
+ let initSignatureDataTable = systemData => {
+
+ $.extend( true, $.fn.dataTable.defaults, {
+ pageLength: -1,
+ lengthMenu: [[5, 10, 25, 50, -1], [5, 10, 25, 50, 'All']],
+ order: [1, 'asc'],
+ autoWidth: false,
+ responsive: {
+ details: false
+ },
+ language: {
+ emptyTable: 'No signatures added',
+ zeroRecords: 'No signatures found',
+ lengthMenu: 'Show _MENU_ signatures',
+ info: 'Showing _START_ to _END_ of _TOTAL_ signatures'
+ },
+ columnDefs: [
+ {
+ targets: 0,
+ name: 'status',
+ orderable: true,
+ searchable: false,
+ title: '',
+ width: 2,
+ class: ['text-center', 'min-tablet-l'].join(' '),
+ data: 'status',
+ type: 'html',
+ render: {
+ _: 'status',
+ sort: 'status_sort'
+ }
+ },{
+ targets: 1,
+ name: 'id',
+ orderable: true,
+ searchable: true,
+ title: 'id',
+ type: 'html',
+ width: 15,
+ data: 'name',
+ render: {
+ _: 'render'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ // update column tooltip
+ updateTooltip(cell, cellData.name);
+ }
+ },{
+ targets: 2,
+ name: 'group',
+ orderable: true,
+ searchable: true,
+ title: 'group',
+ type: 'html',
+ width: 40,
+ data: 'group',
+ render: {
+ _: 'group',
+ sort: 'sort',
+ filter: 'filter'
+ }
+ },{
+ targets: 3,
+ name: 'type',
+ orderable: false,
+ searchable: false,
+ title: 'type',
+ type: 'html',
+ width: 180,
+ data: 'type'
+ },{
+ targets: 4,
+ name: 'description',
+ orderable: false,
+ searchable: false,
+ title: 'description',
+ type: 'html',
+ data: 'description'
+ },{
+ targets: 5,
+ name: 'connection',
+ orderable: false,
+ searchable: false,
+ className: [config.sigTableConnectionClass].join(' '),
+ title: 'leads to',
+ type: 'html',
+ width: 70,
+ data: 'connection',
+ render: {
+ _: 'render'
+ }
+ },{
+ targets: 6,
+ name: 'created',
+ title: 'created',
+ width: 90,
+ searchable: false,
+ className: ['text-right', config.sigTableCounterClass, config.sigTableCreatedCellClass, 'min-tablet-l'].join(' '),
+ data: 'created',
+ render: {
+ _: 'created',
+ sort: 'created'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ $(cell).initTimestampCounter();
+ }
+ },{
+ targets: 7,
+ name: 'updated',
+ title: 'updated',
+ width: 90,
+ searchable: false,
+ className: ['text-right', config.sigTableCounterClass, config.sigTableUpdatedCellClass, 'min-tablet-l'].join(' '),
+ data: 'updated',
+ render: {
+ _: 'updated',
+ sort: 'updated'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ $(cell).initTimestampCounter();
+
+ // highlight cell
+ let diff = Math.floor((new Date()).getTime()) - cellData.updated * 1000;
+
+ // age > 1 day
+ if( diff > 86400000){
+ $(cell).addClass('txt-color txt-color-warning');
+ }
+ }
+ },{
+ targets: 8,
+ name: 'info',
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', Util.config.helpClass].join(' '),
+ data: 'info',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ if(rowData.id > 0){
+ let tooltipData = {
+ created: rowData.created,
+ updated: rowData.updated
+ };
+
+ $(cell).addCharacterInfoTooltip( tooltipData );
+ }
+ }
+ },{
+ targets: 9,
+ name: 'action',
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', config.sigTableActionCellClass].join(' '),
+ data: 'action',
+ render: {
+ _: 'button',
+ sort: 'action'
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tempTableElement = this;
+ let rowElement = $(cell).parents('tr');
+
+ $(cell).attr('tabindex', 0).on('keydown', function(e){
+ e.stopPropagation();
+ if(e.which === 13){
+ $(this).trigger('click');
+ }
+ });
+
+ switch(cellData.action){
+ case 'add':
+ // add new signature ------------------------------------------------------------------
+ $(cell).on('click', function(e) {
+ e.stopPropagation();
+ e.preventDefault();
+
+ // submit all fields within a table row
+ let formFields = rowElement.find('.editable');
+
+ // get the current "primary table" for insert row on ajax callback
+ // -> important: in case of long response, target table might have changed...
+ let moduleElement = $(e.target).parents('.' + config.moduleClass);
+ let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass);
+ let secondaryTable = moduleElement.find('.' + config.sigTableSecondaryClass);
+
+ // the "hide" makes sure to take care about open editable fields (e.g. description)
+ // otherwise, changes would not be submitted in this field (not necessary)
+ formFields.editable('hide');
+
+ // submit all xEditable fields
+ formFields.editable('submit', {
+ url: Init.path.saveSignatureData,
+ ajaxOptions: {
+ dataType: 'json', //assuming json response
+ beforeSend: function( xhr, settings ){
+ lockSignatureTable();
+ },
+ context: {
+ primaryTable: primaryTable,
+ secondaryTable: secondaryTable
+ }
+ },
+ data: {
+ systemId: systemData.id, // additional data to submit
+ pk: 0 // new data no primary key
+ },
+ error: $.fn.editable.defaults.error, // user default xEditable error function
+ success: function (data, editableConfig) {
+ let context = editableConfig.ajaxOptions.context;
+ let primaryTableApi = context.primaryTable.DataTable();
+ let secondaryTableApi = context.secondaryTable.DataTable();
+
+ unlockSignatureTable(false);
+
+ let newRowElement = addSignatureRow(primaryTableApi, systemData, data.signatures[0], true);
+
+ if(newRowElement){
+ // highlight
+ newRowElement.pulseBackgroundColor('added');
+
+ // prepare "add signature" table for new entry -> reset -------------------
+ let signatureData = formatSignatureData(systemData, [emptySignatureData], emptySignatureOptions);
+ let newAddRowElement = secondaryTableApi.clear().row.add(signatureData.shift()).draw().nodes();
+
+ newAddRowElement.to$().makeEditable(secondaryTableApi, systemData);
+
+ Util.showNotify({
+ title: 'Signature added',
+ text: 'Name: ' + data.name,
+ type: 'success'
+ });
+ }
+ }
+ });
+ });
+ break;
+ case 'delete':
+ // delete signature -------------------------------------------------------------------
+ let confirmationSettings = {
+ container: 'body',
+ placement: 'left',
+ btnCancelClass: 'btn btn-sm btn-default',
+ btnCancelLabel: 'cancel',
+ btnCancelIcon: 'fas fa-fw fa-ban',
+ title: 'delete signature',
+ btnOkClass: 'btn btn-sm btn-danger',
+ btnOkLabel: 'delete',
+ btnOkIcon: 'fas fa-fw fa-times',
+ onConfirm: function(e, target){
+ // top scroll to top
+ e.preventDefault();
+
+ let tableApi = tempTableElement.DataTable();
+
+ let deleteRowElement = $(target).parents('tr');
+ let row = tableApi.rows(deleteRowElement);
+ deleteSignatures(tableApi, row);
+ }
+ };
+
+ // init confirmation dialog
+ $(cell).confirmation(confirmationSettings);
+
+ break;
+ }
+
+ }
+ }
+ ]
+ });
+ };
+
+ /**
+ * open xEditable input field in "new Signature" table
+ * @param moduleElement
+ */
+ let focusNewSignatureEditableField = moduleElement => {
+ let secondaryTable = moduleElement.find('.' + config.sigTableSecondaryClass);
+ secondaryTable.find('.' + config.sigTableEditSigNameInput).editable('show');
+ };
+
+ /**
+ * set module observer and look for relevant signature data to update
+ * @param moduleElement
+ * @param systemData
+ */
+ let setModuleObserver = (moduleElement, systemData) => {
+ let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass);
+ let primaryTableApi = getDataTableInstanceByModuleElement(moduleElement, 'primary');
+
+ // add signature toggle ---------------------------------------------------------------------------------------
+ let toggleAddSignature = (show = 'auto') => {
+ let button = moduleElement.find('.' + config.moduleHeadlineIconAddClass);
+ let toolsElement = moduleElement.find('.' + config.tableToolsActionClass);
+ button.toggleClass('active', show === 'auto' ? undefined : show);
+
+ if(toolsElement.is(':visible') && (!show || show === 'auto')){
+ // hide container
+ toolsElement.velocity('stop').velocity({
+ opacity: [0, 1],
+ height: [0, '70px']
+ },{
+ duration: 150,
+ display: 'none'
+ });
+ }else if(!toolsElement.is(':visible') && (show || show === 'auto')){
+ // show container
+ toolsElement.velocity('stop').velocity({
+ opacity: [1, 0],
+ height: ['70px', 0]
+ },{
+ duration: 150,
+ display: 'block',
+ complete: function(){
+ focusNewSignatureEditableField(moduleElement);
+ }
+ });
+ }else if(toolsElement.is(':visible') && show){
+ // still visible -> no animation
+ focusNewSignatureEditableField(moduleElement);
+ }
+ };
+
+ moduleElement.find('.' + config.moduleHeadlineIconAddClass).on('click', function(e){
+ toggleAddSignature('auto');
+ });
+
+ moduleElement.on('pf:showSystemSignatureModuleAddNew', function(e){
+ toggleAddSignature(true);
+ });
+
+ // signature reader dialog ------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e) {
+ moduleElement.showSignatureReaderDialog(systemData);
+ });
+
+ // "lazy update" toggle ---------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e) {
+ let button = $(this);
+ button.toggleClass('active');
+ });
+
+ // set multi row select ---------------------------------------------------------------------------------------
+ primaryTable.on('click', 'tr', {tableApi: primaryTableApi}, function(e){
+ if(e.ctrlKey) {
+ $(this).toggleClass('selected');
+
+ // check delete button
+ checkDeleteSignaturesButton(e.data.tableApi);
+ }
+ });
+
+ // draw event for signature table -----------------------------------------------------------------------------
+ primaryTableApi.on('draw.dt', function(e, settings){
+ // check delete button
+ let tableApi = $(this).dataTable().api();
+ checkDeleteSignaturesButton(tableApi);
+ });
+
+ // destroy dataTables event -----------------------------------------------------------------------------------
+ primaryTable.on('destroy.dt', function(){
+ $(this).destroyTimestampCounter();
+ });
+ primaryTableApi.on('destroy.dt', function(){
+ $(this).destroyTimestampCounter();
+ });
+
+ // event listener for global "paste" signatures into the page -------------------------------------------------
+ moduleElement.on('pf:updateSystemSignatureModuleByClipboard', function(e, clipboard){
+ // check "lazy update" toggle button
+ let signatureOptions = {
+ deleteOld: moduleElement.find('.' + config.moduleHeadlineIconLazyClass).hasClass('active') ? 1 : 0
+ };
+
+ $(this).updateSignatureTableByClipboard(systemData, clipboard, signatureOptions);
+ });
+
+ // signature cell - "type" popover ----------------------------------------------------------------------------
+ moduleElement.find('.' + config.sigTableClass).hoverIntent({
+ over: function(e){
+ let staticWormholeElement = $(this);
+ let wormholeName = staticWormholeElement.attr('data-name');
+ let wormholeData = Util.getObjVal(Init, 'wormholes.' + wormholeName);
+ if(wormholeData){
+ staticWormholeElement.addWormholeInfoTooltip(wormholeData, {
+ trigger: 'manual',
+ placement: 'top',
+ show: true
+ });
+ }
+ },
+ out: function(e){
+ $(this).destroyPopover();
+ },
+ selector: '.editable-click:not(.editable-open) span[class^="pf-system-sec-"]'
+ });
+ };
+
+ /**
+ * init callback
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let initModule = (moduleElement, mapId, systemData) => {
+ unlockSignatureTable(true);
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ * @returns {*|jQuery|HTMLElement}
+ */
+ let getModule = function(parentElement, mapId, systemData){
+ let moduleElement = $('').append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ text: 'Signatures'
+ }),
+ getHeadlineToolbar()
+ )
+ );
+
+ // scanned signatures progress bar ----------------------------------------------------------------------------
+ requirejs(['text!templates/form/progress.html', 'mustache'], (template, Mustache) => {
+ let data = {
+ label: true,
+ wrapperClass: config.signatureScannedProgressBarClass,
+ class: ['progress-bar-success'].join(' '),
+ percent: 0
+ };
+
+ let content = Mustache.render(template, data);
+
+ moduleElement.find('.' + config.moduleHeadClass).append(content);
+ });
+
+
+
+ moduleElement.data('mapId', mapId);
+ moduleElement.data('systemId', systemData.id);
+
+ moduleElement.showLoadingAnimation();
+
+ // init dataTables
+ initSignatureDataTable(systemData);
+
+ // draw "new signature" add table
+ drawSignatureTableNew(moduleElement, mapId, systemData);
+
+ // draw signature table
+ drawSignatureTable(moduleElement, mapId, systemData);
+
+ // set module observer
+ setModuleObserver(moduleElement, systemData);
+
+ return moduleElement;
+ };
+
+ /**
+ * before module hide callback
+ */
+ let beforeHide = () => {
+ // disable update
+ lockSignatureTable();
+ };
+
+ /**
+ * before module destroy callback
+ */
+ let beforeDestroy = (moduleElement) => {
+ // Destroying the data tables throws
+ // -> safety remove all dataTables
+ let mapId = moduleElement.data('mapId');
+ let systemId = moduleElement.data('systemId');
+ deleteDataTableInstance(mapId, systemId, 'primary');
+ deleteDataTableInstance(mapId, systemId, 'secondary');
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ initModule: initModule,
+ updateModule: updateModule,
+ beforeHide: beforeHide,
+ beforeDestroy: beforeDestroy,
+ getAllSignatureNamesBySystem: getAllSignatureNamesBySystem
+ };
+
+});
diff --git a/public/js/v1.4.1/app/ui/module/system_signature_new.js b/public/js/v1.4.1/app/ui/module/system_signature_new.js
new file mode 100644
index 00000000..ef192dd4
--- /dev/null
+++ b/public/js/v1.4.1/app/ui/module/system_signature_new.js
@@ -0,0 +1,2461 @@
+/**
+ * System signature module
+ */
+
+define([
+ 'jquery',
+ 'app/init',
+ 'app/util',
+ 'bootbox',
+ 'app/counter',
+ 'app/map/map',
+ 'app/map/util',
+ 'app/ui/form_element'
+], ($, Init, Util, bootbox, Counter, Map, MapUtil, FormElement) => {
+ 'use strict';
+
+ let config = {
+ // module info
+ modulePosition: 4,
+ moduleName: 'systemSignature',
+ moduleHeadClass: 'pf-module-head', // class for module header
+ moduleHandlerClass: 'pf-module-handler-drag', // class for "drag" handler
+
+ // system signature module
+ moduleTypeClass: 'pf-system-signature-module', // class for this module
+
+ // headline toolbar
+ moduleHeadlineIconClass: 'pf-module-icon-button', // class for toolbar icons in the head
+ moduleHeadlineIconAddClass: 'pf-module-icon-button-add', // class for "add signature" icon
+ moduleHeadlineIconReaderClass: 'pf-module-icon-button-reader', // class for "signature reader" icon
+ moduleHeadlineIconLazyClass: 'pf-module-icon-button-lazy', // class for "lazy delete" toggle icon
+ moduleHeadlineProgressBarClass: 'pf-system-progress-scanned', // class for signature progress bar
+
+ // tables
+ tableToolsActionClass: 'pf-table-tools-action', // class for "new signature" table (hidden)
+
+ // table toolbar
+ sigTableClearButtonClass: 'pf-sig-table-clear-button', // class for "clear" signatures button
+
+ // signature table
+ sigTableId: 'pf-sig-table-', // Table id prefix
+ sigTableClass: 'pf-sig-table', // Table class for all Signature Tables
+ sigTablePrimaryClass: 'pf-sig-table-primary', // class for primary sig table
+ sigTableSecondaryClass: 'pf-sig-table-secondary', // class for secondary sig table
+ sigTableRowIdPrefix: 'pf-sig-row_', // id prefix for table rows
+
+ sigTableEditSigNameInput: 'pf-sig-table-edit-name-input', // class for editable fields (sig name)
+
+ tableCellConnectionClass: 'pf-table-connection-cell', // class for "connection" cells
+ tableCellFocusClass: 'pf-table-focus-cell', // class for "tab-able" cells. enable focus()
+ tableCellCounterClass: 'pf-table-counter-cell', // class for "counter" cells
+ tableCellActionClass: 'pf-table-action-cell', // class for "action" cells
+
+ // xEditable
+ editableNameInputClass: 'pf-editable-name', // class for "name" input
+ editableDescriptionInputClass: 'pf-editable-description', // class for "description" textarea
+ editableUnknownInputClass: 'pf-editable-unknown', // class for input fields (e.g. checkboxes) with "unknown" status
+
+ signatureGroupsLabels: Util.getSignatureGroupOptions('label'),
+ signatureGroupsNames: Util.getSignatureGroupOptions('name')
+ };
+
+ let lockedTables = {}; // locked tables (e.g. disable cops&paste, disable table update)
+
+ let sigNameCache = {}; // cache signature names
+
+ let validSignatureNames = [ // allowed signature type/names
+ 'Cosmic Anomaly',
+ 'Cosmic Signature',
+ 'Kosmische Anomalie',
+ 'Kosmische Signatur',
+ 'Anomalie cosmique',
+ 'Signature cosmique',
+ 'Космическая аномалия', // == "Cosmic Anomaly"
+ 'Источники сигналов' // == "Cosmic Signature"
+ ];
+
+ let emptySignatureData = {
+ id: 0,
+ name: '',
+ groupId: 0,
+ typeId: 0
+ };
+
+ let editableDefaults = { // xEditable default options for signature fields
+ url: Init.path.saveSignatureData,
+ dataType: 'json',
+ container: 'body',
+ highlight: false, // i use a custom implementation. xEditable uses inline styles for bg color animation -> does not work properly on datatables "sort" cols
+ error: function(jqXHR, newValue){
+ let reason = '';
+ let status = 'Error';
+ if(jqXHR.statusText){
+ reason = jqXHR.statusText;
+ }else if(jqXHR.name){
+ // validation error new sig (new row data save function)
+ reason = jqXHR.name;
+ // re-open "name" fields (its a collection of fields but we need "id" field)
+ jqXHR.name.field.$element.editable('show');
+ }else{
+ reason = jqXHR.responseJSON.text;
+ status = jqXHR.status;
+ }
+
+ Util.showNotify({title: status + ': save signature', text: reason, type: 'error'});
+ $(document).setProgramStatus('problem');
+ return reason;
+ }
+ };
+
+ /**
+ * get custom "metaData" from dataTables API
+ * @param tableApi
+ * @returns {*}
+ */
+ let getTableMetaData = tableApi => {
+ let data = null;
+ if(tableApi){
+ data = tableApi.init().pfMeta;
+ }
+ return data;
+ };
+
+ /**
+ * lock signature tableApi and lockType
+ * @param tableApi
+ * @param lockType
+ */
+ let lockTable = (tableApi, lockType = 'update') => {
+ let metaData = getTableMetaData(tableApi);
+ if(metaData.systemId){
+ if( !lockedTables.hasOwnProperty(metaData.systemId) ){
+ lockedTables[metaData.systemId] = {};
+ }
+ lockedTables[metaData.systemId][lockType] = true;
+ }else{
+ console.warn('metaData.systemId required in lockTable()', metaData.systemId);
+ }
+ };
+
+ /**
+ * check whether a signature tableApi is locked by lockType
+ * @param tableApi
+ * @param lockType
+ * @returns {boolean}
+ */
+ let isLockedTable = (tableApi, lockType = 'update') => {
+ let locked = false;
+ if(tableApi){
+ let metaData = getTableMetaData(tableApi);
+ if(metaData.systemId){
+ if(
+ lockedTables.hasOwnProperty(metaData.systemId) &&
+ lockedTables[metaData.systemId].hasOwnProperty(lockType)
+ ){
+ locked = true;
+ }
+ }else{
+ console.warn('metaData.systemId required in isLockedTable()', metaData.systemId);
+ }
+ }
+
+ return locked;
+ };
+
+ /**
+ * unlock signature tableApi and lockType
+ * @param tableApi
+ * @param lockType
+ */
+ let unlockTable = (tableApi, lockType = 'update') => {
+ if(tableApi){
+ let metaData = getTableMetaData(tableApi);
+ if(isLockedTable(tableApi, lockType)){
+ delete lockedTables[metaData.systemId][lockType];
+ }
+ if(
+ lockedTables.hasOwnProperty(metaData.systemId) &&
+ !Object.getOwnPropertyNames(lockedTables[metaData.systemId]).length
+ ){
+ delete lockedTables[metaData.systemId];
+ }
+ }
+ };
+
+ /**
+ * get dataTable id
+ * @param mapId
+ * @param systemId
+ * @param tableType
+ * @returns {string}
+ */
+ let getTableId = (mapId, systemId, tableType) => config.sigTableId + [mapId, systemId, tableType].join('-');
+
+ /**
+ * get a dataTableApi instance from global cache
+ * @param mapId
+ * @param systemId
+ * @param tableType
+ * @returns {*}
+ */
+ let getDataTableInstance = (mapId, systemId, tableType) => {
+ let instance = null;
+ let table = $.fn.dataTable.tables({ visible: false, api: true }).table('#' + getTableId(mapId, systemId, tableType));
+ if(table.node()){
+ instance = table;
+ }
+ return instance;
+ };
+
+ /**
+ * Update/set tooltip for an element
+ * @param element
+ * @param title
+ */
+ let updateTooltip = (element, title) => {
+ $(element).attr('data-container', 'body')
+ .attr('title', title.toUpperCase())
+ .tooltip('fixTitle').tooltip('setContent');
+ };
+
+ /**
+ * sum up all options in nested (or not nested) object of objects
+ * -> e.g.
+ * {
+ * first: {
+ * count = [4, 2, 1]
+ * test = { ... }
+ * },
+ * second: {
+ * count = [12, 13]
+ * test = { ... }
+ * }
+ * }
+ * -> getOptionsCount('count', obj) => 5;
+ * @param key
+ * @param obj
+ * @returns {number}
+ */
+ let getOptionsCount = (key, obj) => {
+ let sum = 0;
+ for(let entry of obj){
+ if(entry.hasOwnProperty(key)){
+ sum += entry[key].length;
+ }else{
+ sum++;
+ }
+ }
+ return sum;
+ };
+
+ /**
+ * get possible frig holes that could spawn in a system
+ * filtered by "systemTypeId"
+ * @param systemTypeId
+ * @returns {{}}
+ */
+ let getFrigateHolesBySystem = systemTypeId => {
+ let signatureNames = {};
+ if(Init.frigateWormholes[systemTypeId]){
+ signatureNames = Init.frigateWormholes[systemTypeId];
+ }
+ return signatureNames;
+ };
+
+ /**
+ * get all signature types that can exist for a given system
+ * -> result is partially cached
+ * @param systemData
+ * @param systemTypeId
+ * @param areaId
+ * @param groupId
+ * @returns {Array}
+ */
+ let getAllSignatureNames = (systemData, systemTypeId, areaId, groupId) => {
+ systemTypeId = parseInt(systemTypeId || 0);
+ areaId = parseInt(areaId || 0);
+ groupId = parseInt(groupId || 0);
+ let newSelectOptions = [];
+ let newSelectOptionsCount = 0;
+
+ if(!systemTypeId || !areaId || !groupId){
+ return newSelectOptions;
+ }
+
+ let cacheKey = [systemTypeId, areaId, groupId].join('_');
+
+ // check for cached signature names
+ if(sigNameCache.hasOwnProperty( cacheKey )){
+ // cached signatures do not include static WHs!
+ // -> ".slice(0)" creates copy
+ newSelectOptions = sigNameCache[cacheKey].slice(0);
+ newSelectOptionsCount = getOptionsCount('children', newSelectOptions);
+ }else{
+ // get new Options ----------
+ // get all possible "static" signature names by the selected groupId
+ let tempSelectOptions = Util.getAllSignatureNames(systemTypeId, areaId, groupId);
+
+ // format options into array with objects advantages: keep order, add more options (whs), use optgroup
+ if(tempSelectOptions){
+ let fixSelectOptions = [];
+ for(let key in tempSelectOptions){
+ if (
+ key > 0 &&
+ tempSelectOptions.hasOwnProperty(key)
+ ){
+ newSelectOptionsCount++;
+ fixSelectOptions.push({value: newSelectOptionsCount, text: tempSelectOptions[key]});
+ }
+ }
+
+ if(newSelectOptionsCount > 0){
+ if(groupId === 5){
+ // "wormhole" selected => multiple available
+ newSelectOptions.push({ text: 'Wandering', children: fixSelectOptions});
+ }else{
+ newSelectOptions = fixSelectOptions;
+ }
+ }
+ }
+
+ // wormhole (cached signatures)
+ if( groupId === 5 ){
+
+ // add possible frigate holes
+ let frigateHoles = getFrigateHolesBySystem(areaId);
+ let frigateWHData = [];
+ for(let frigKey in frigateHoles){
+ if (
+ frigKey > 0 &&
+ frigateHoles.hasOwnProperty(frigKey)
+ ){
+ newSelectOptionsCount++;
+ frigateWHData.push( {value: newSelectOptionsCount, text: frigateHoles[frigKey]} );
+ }
+ }
+
+ if(frigateWHData.length > 0){
+ newSelectOptions.push({ text: 'Frigate', children: frigateWHData});
+ }
+
+ // add possible incoming holes
+ let incomingWHData = [];
+ for(let incomingKey in Init.incomingWormholes){
+ if (
+ incomingKey > 0 &&
+ Init.incomingWormholes.hasOwnProperty(incomingKey)
+ ){
+ newSelectOptionsCount++;
+ incomingWHData.push( {value: newSelectOptionsCount, text: Init.incomingWormholes[incomingKey]} );
+ }
+ }
+
+ if(incomingWHData.length > 0){
+ newSelectOptions.push({ text: 'Incoming', children: incomingWHData});
+ }
+ }else{
+ // groups without "children" (optgroup) should be sorted by "value"
+ // this is completely optional and not necessary!
+ newSelectOptions = newSelectOptions.sortBy('text');
+ }
+
+ // update cache (clone array) -> further manipulation to this array, should not be cached
+ sigNameCache[cacheKey] = newSelectOptions.slice(0);
+ }
+
+ // static wormholes (DO NOT CACHE) (not all C2 WHs have the same statics,...
+ if( groupId === 5 ){
+ // add static WH(s) for this system
+ if(systemData.statics){
+ let staticWHData = [];
+ for(let wormholeName of systemData.statics){
+ let wormholeData = Object.assign({}, Init.wormholes[wormholeName]);
+ let staticWHName = wormholeData.name + ' - ' + wormholeData.security;
+
+ newSelectOptionsCount++;
+ staticWHData.push( {value: newSelectOptionsCount, text: staticWHName} );
+ }
+
+ if(staticWHData.length > 0){
+ newSelectOptions.unshift({ text: 'Static', children: staticWHData});
+ }
+ }
+ }
+
+ return newSelectOptions;
+ };
+
+ /**
+ * get all signature types that can exist for a system (jQuery obj)
+ * @param systemElement
+ * @param groupId
+ * @returns {Array}
+ */
+ let getAllSignatureNamesBySystem = (systemElement, groupId) => {
+ let systemTypeId = systemElement.data('typeId');
+ let areaId = Util.getAreaIdBySecurity(systemElement.data('security'));
+ let systemData = {statics: systemElement.data('statics')};
+ return getAllSignatureNames(systemData, systemTypeId, areaId, groupId);
+ };
+
+ /**
+ * get all connection select options
+ * @param mapId
+ * @param systemData
+ * @returns {Array}
+ */
+ let getSignatureConnectionOptions = (mapId, systemData) => {
+ let map = Map.getMapInstance( mapId );
+ let systemId = MapUtil.getSystemId(mapId, systemData.id);
+ let systemConnections = MapUtil.searchConnectionsBySystems(map, [systemId], 'wh');
+ let newSelectOptions = [];
+ let connectionOptions = [];
+
+ for(let systemConnection of systemConnections){
+ let connectionData = MapUtil.getDataByConnection(systemConnection);
+
+ // connectionId is required (must be stored)
+ if(connectionData.id){
+ // check whether "source" or "target" system is relevant for this connection
+ // -> hint "source" === 'target' --> loop
+ if(systemData.id !== connectionData.target){
+ let targetSystemData = MapUtil.getSystemData(mapId, connectionData.target);
+ if(targetSystemData){
+ // take target...
+ connectionOptions.push({
+ value: connectionData.id,
+ text: connectionData.targetAlias + ' - ' + targetSystemData.security
+ });
+ }
+ }else if(systemData.id !== connectionData.source){
+ let sourceSystemData = MapUtil.getSystemData(mapId, connectionData.source);
+ if(sourceSystemData){
+ // take source...
+ connectionOptions.push({
+ value: connectionData.id,
+ text: connectionData.sourceAlias + ' - ' + sourceSystemData.security
+ });
+ }
+ }
+ }
+ }
+
+ if(connectionOptions.length > 0){
+ newSelectOptions.push({ text: 'System', children: connectionOptions});
+ }
+
+ return newSelectOptions;
+ };
+
+ /**
+ * show/hides a table rowElement
+ * @param rowElement
+ */
+ let toggleTableRow = rowElement => {
+
+ let toggleTableRowExecutor = (resolve, reject) => {
+ let cellElements = rowElement.children('td');
+ let duration = 350;
+ // wrap each into a container (for better animation performance)
+ // slideUp new wrapper divs
+ if(rowElement.is(':visible')){
+ // hide row
+
+ // stop sig counter by adding a stopClass to each , remove padding
+ cellElements.addClass('stopCounter')
+ .velocity({
+ paddingTop: [0, '4px'],
+ paddingBottom: [0, '4px'],
+ opacity: [0, 1]
+ },{
+ duration: duration,
+ easing: 'linear'
+ }).wrapInner('')
+ .children()
+ .css({
+ 'willChange': 'height'
+ }).velocity('slideUp', {
+ duration: duration,
+ easing: 'linear',
+ complete: function(animationElements){
+ // remove wrapper
+ $(animationElements).children().unwrap();
+
+ resolve({
+ action: 'rowHidden',
+ row: rowElement
+ });
+ }
+ });
+ }else{
+ // show row
+
+ // remove padding on "hidden" cells for smother animation
+ cellElements.css({
+ 'padding-top': 0,
+ 'padding-bottom': 0,
+ 'willChange': 'padding-top, padding-top, height'
+ });
+
+ // add hidden wrapper for ea
+ cellElements.wrapInner($('
').hide());
+
+ // show row for padding animation
+ rowElement.show();
+
+ cellElements.velocity({
+ paddingTop: ['4px', 0],
+ paddingBottom: ['4px', 0]
+ },{
+ duration: duration,
+ queue: false,
+ complete: function(){
+ // animate
wrapper
+ cellElements.children()
+ .css({
+ 'willChange': 'height'
+ }).velocity('slideDown', {
+ duration: duration,
+ complete: function(animationElements){
+ // remove wrapper
+ for(let i = 0; i < animationElements.length; i++){
+ let currentWrapper = $(animationElements[i]);
+ if(currentWrapper.children().length > 0){
+ currentWrapper.children().unwrap();
+ }else{
+ currentWrapper.parent().html( currentWrapper.html() );
+ }
+ }
+
+ resolve({
+ action: 'rowShown',
+ row: rowElement
+ });
+ }
+ });
+ }
+ });
+ }
+ };
+
+ return new Promise(toggleTableRowExecutor);
+ };
+
+ /**
+ * update scanned signatures progress bar
+ * @param tableApi
+ * @param options
+ */
+ let updateScannedSignaturesBar = (tableApi, options) => {
+ let tableElement = tableApi.table().node();
+ let moduleElement = $(tableElement).parents('.' + config.moduleTypeClass);
+ let progressBar = moduleElement.find('.progress-bar');
+ let progressBarLabel = moduleElement.find('.progress-label-right');
+
+ let percent = 0;
+ let progressBarType = '';
+ let columnGroupData = tableApi.column('group:name').data();
+ let sigCount = columnGroupData.length;
+ let sigIncompleteCount = columnGroupData.filter((value, index) => !value).length;
+
+ if(sigCount){
+ percent = 100 - Math.round( 100 / sigCount * sigIncompleteCount );
+ }
+
+ if(percent < 30){
+ progressBarType = 'progress-bar-danger' ;
+ }else if(percent < 100){
+ progressBarType = 'progress-bar-warning';
+ }else{
+ progressBarType = 'progress-bar-success';
+ }
+
+ progressBarLabel.text(percent + '%');
+ progressBar.removeClass().addClass('progress-bar').addClass(progressBarType);
+ progressBar.attr('aria-valuenow', percent);
+ progressBar.css({width: percent + '%'});
+
+ // show notifications
+ if(options.showNotice !== false){
+ let notification = (sigCount - sigIncompleteCount) + ' / ' + sigCount + ' (' + percent + '%) signatures scanned';
+
+ if(percent < 100){
+ Util.showNotify({title: 'Unscanned signatures', text: notification, type: 'info'});
+ }else{
+ Util.showNotify({title: 'System is scanned', text: notification, type: 'success'});
+ }
+ }
+ };
+
+ /**
+ * open "signature reader" dialog for signature table
+ * @param systemData
+ */
+ $.fn.showSignatureReaderDialog = function(systemData){
+ let moduleElement = $(this);
+
+ requirejs(['text!templates/dialog/signature_reader.html', 'mustache'], (template, Mustache) => {
+ let signatureReaderDialog = bootbox.dialog({
+ title: 'Signature reader',
+ message: Mustache.render(template, {}),
+ buttons: {
+ close: {
+ label: 'cancel',
+ className: 'btn-default'
+ },
+ success: {
+ label: ' update signatures',
+ className: 'btn-success',
+ callback: function (){
+ let form = this.find('form');
+ let formData = form.getFormValues();
+ let signatureOptions = {
+ deleteOld: (formData.deleteOld) ? 1 : 0
+ };
+ updateSignatureTableByClipboard(moduleElement, systemData, formData.clipboard, signatureOptions);
+ }
+ }
+ }
+ });
+
+ // dialog shown event
+ signatureReaderDialog.on('shown.bs.modal', function(e){
+ signatureReaderDialog.initTooltips();
+
+ // set focus on sig-input textarea
+ signatureReaderDialog.find('textarea').focus();
+ });
+ });
+ };
+
+ /**
+ * parses a copy&paste string from ingame scanning window
+ * @param systemData
+ * @param clipboard
+ * @returns {Array}
+ */
+ let parseSignatureString = (systemData, clipboard) => {
+ let signatureData = [];
+
+ if(clipboard.length){
+ let signatureRows = clipboard.split(/\r\n|\r|\n/g);
+ let signatureGroupOptions = config.signatureGroupsNames;
+ let invalidSignatures = 0;
+
+ for(let i = 0; i < signatureRows.length; i++){
+ let rowData = signatureRows[i].split(/\t/g);
+ if(rowData.length === 6){
+ // check if sig Type = anomaly or combat site
+ if(validSignatureNames.indexOf( rowData[1] ) !== -1){
+
+ let sigGroup = $.trim(rowData[2]).toLowerCase();
+ let sigDescription = $.trim(rowData[3]);
+ let sigGroupId = 0;
+ let typeId = 0;
+
+ // get groupId by groupName
+ for(let groupOption of signatureGroupOptions){
+ let reg = new RegExp(groupOption.text, 'i');
+ if(reg.test(sigGroup)){
+ sigGroupId = groupOption.value;
+ break;
+ }
+ }
+
+ // wormhole type cant be extracted from signature string -> skip function call
+ if(sigGroupId !== 5){
+ // try to get "typeId" by description string
+ typeId = Util.getSignatureTypeIdByName(systemData, sigGroupId, sigDescription);
+
+ // set signature name as "description" if signature matching failed
+ sigDescription = (typeId === 0) ? sigDescription : '';
+ }else{
+ sigDescription = '';
+ }
+
+ // map array values to signature Object
+ let signatureObj = {
+ systemId: systemData.id,
+ name: $.trim( rowData[0] ).toLowerCase(),
+ groupId: sigGroupId,
+ typeId: typeId,
+ description: sigDescription
+ };
+
+ signatureData.push(signatureObj);
+ }else{
+ invalidSignatures++;
+ }
+ }
+ }
+
+ if(invalidSignatures > 0){
+ let notification = invalidSignatures + ' / ' + signatureRows.length + ' signatures invalid';
+ Util.showNotify({title: 'Invalid signature(s)', text: notification, type: 'warning'});
+ }
+ }
+
+ return signatureData;
+ };
+
+ /**
+ * updates the signature table with all signatures pasted into the "signature reader" dialog
+ * -> Hint: copy&paste signature data (without any open dialog) will add signatures as well
+ * @param tableApi
+ * @param systemData
+ * @param clipboard data stream
+ * @param options
+ */
+ let updateSignatureTableByClipboard = (tableApi, systemData, clipboard, options) => {
+ if(isLockedTable(tableApi, 'clipboard')) return;
+
+ let saveSignatureData = signatureData => {
+ // lock update function until request is finished
+ lockTable(tableApi);
+
+ // lock copy during request (prevent spamming (ctrl + c )
+ lockTable(tableApi, 'clipboard');
+
+ let requestData = {
+ signatures: signatureData,
+ deleteOld: (options.deleteOld) ? 1 : 0,
+ systemId: parseInt(systemData.id)
+ };
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.saveSignatureData,
+ data: requestData,
+ dataType: 'json',
+ context: {
+ tableApi: tableApi
+ }
+ }).done(function(responseData){
+ // unlock table for update
+ unlockTable(this.tableApi);
+ // updates table with new/updated signature information
+ updateSignatureTable(this.tableApi, responseData.signatures, false);
+ }).fail(function( jqXHR, status, error){
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': Update signatures', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ }).always(function(){
+ unlockTable(this.tableApi);
+ unlockTable(this.tableApi, 'clipboard');
+ });
+ };
+
+ // parse input stream
+ let signatureData = parseSignatureString(systemData, clipboard);
+ if(signatureData.length > 0){
+ // valid signature data parsed
+
+ // check if signatures will be added to a system where character is currently in
+ // if user is not in any system -> id === undefined -> no "confirmation required
+ let currentLocationData = Util.getCurrentLocationData();
+ if(
+ currentLocationData.id &&
+ currentLocationData.id !== systemData.id
+ ){
+
+ let systemNameStr = (systemData.name === systemData.alias) ? '"' + systemData.name + '"' : '"' + systemData.alias + '" (' + systemData.name + ')';
+ systemNameStr = '' + systemNameStr + ' ';
+
+ let msg = 'Update signatures in ' + systemNameStr + ' ? This not your current location, "' + currentLocationData.name + '" !';
+ bootbox.confirm(msg, function(result){
+ if(result){
+ saveSignatureData(signatureData);
+ }
+ });
+ }else{
+ // current system selected -> no "confirmation" required
+ saveSignatureData(signatureData);
+ }
+ }
+ };
+
+ /**
+ * deletes signature rows from signature table
+ * @param tableApi
+ * @param rows
+ */
+ let deleteSignatures = (tableApi, rows) => {
+ // get unique id array from rows -> in case there are 2 rows with same id -> you never know
+ let signatureIds = [...new Set(rows.data().toArray().map(rowData => rowData.id))];
+
+ let requestData = {
+ signatureIds: signatureIds
+ };
+
+ $.ajax({
+ type: 'POST',
+ url: Init.path.deleteSignatureData,
+ data: requestData,
+ dataType: 'json',
+ context: {
+ tableApi: tableApi
+ }
+ }).done(function(responseData){
+ // promises for all delete rows
+ let promisesToggleRow = [];
+ // get deleted rows -> match with response data
+ let rows = this.tableApi.rows((idx, rowData, node) => responseData.deletedSignatureIds.includes(rowData.id));
+ // toggle hide animation for rows one by one...
+ rows.every(function(rowIdx, tableLoop, rowLoop){
+ let row = this;
+ let rowElement = row.nodes().to$();
+
+ rowElement.pulseBackgroundColor('deleted');
+
+ promisesToggleRow.push(toggleTableRow(rowElement));
+ });
+
+ // ... all hide animations done ...
+ Promise.all(promisesToggleRow).then(payloads => {
+ // ... get deleted (hide animation done) and delete them
+ this.tableApi.rows(payloads.map(payload => payload.row)).remove().draw();
+
+ // update signature bar
+ updateScannedSignaturesBar(this.tableApi, {showNotice: false});
+
+ // update connection conflicts
+ checkConnectionConflicts();
+
+ let notificationOptions = {
+ type: 'success'
+ };
+ if(payloads.length === 1){
+ notificationOptions.title = 'Signature deleted';
+ }else{
+ notificationOptions.title = payloads.length + ' Signatures deleted ';
+ }
+ Util.showNotify(notificationOptions);
+ });
+ }).fail(function( jqXHR, status, error){
+ let reason = status + ' ' + error;
+ Util.showNotify({title: jqXHR.status + ': Delete signature', text: reason, type: 'warning'});
+ $(document).setProgramStatus('problem');
+ });
+ };
+
+ /**
+ * updates a single cell with new data (e.g. "updated" cell)
+ * @param tableApi
+ * @param rowIndex
+ * @param columnSelector
+ * @param data
+ */
+ let updateSignatureCell = (tableApi, rowIndex, columnSelector, data) => {
+ tableApi.cell(rowIndex, columnSelector).data(data);
+ };
+
+ /**
+ * check connectionIds for conflicts (multiple signatures -> same connection)
+ * -> show "conflict" icon next to select
+ */
+ let checkConnectionConflicts = () => {
+ setTimeout(() => {
+ let connectionSelects = $('.' + config.tableCellConnectionClass + '.editable');
+ let connectionIds = [];
+ let duplicateConnectionIds = [];
+ let groupedSelects = [];
+
+ connectionSelects.each(function(){
+ let select = $(this);
+ let value = parseInt(select.editable('getValue', true) )|| 0;
+
+ if(
+ connectionIds.indexOf(value) > -1 &&
+ duplicateConnectionIds.indexOf(value) === -1
+ ){
+ // duplicate found
+ duplicateConnectionIds.push(value);
+ }
+
+ if(groupedSelects[value] !== undefined){
+ groupedSelects[value].push(select[0]);
+ }else{
+ groupedSelects[value] = [select[0]];
+ }
+
+ connectionIds.push(value);
+ });
+
+ // update "conflict" icon next to select label for connectionIds
+ connectionSelects.each(function(){
+ let select = $(this);
+ let value = parseInt(select.editable('getValue', true) )|| 0;
+ let conflictIcon = select.find('.fa-exclamation-triangle');
+ if(
+ duplicateConnectionIds.indexOf(value) > -1 &&
+ groupedSelects[value].indexOf(select[0]) > -1
+ ){
+ conflictIcon.removeClass('hide');
+ }else{
+ conflictIcon.addClass('hide');
+ }
+ });
+ }, 200);
+ };
+
+ /**
+ * get group label by groupId
+ * @param groupId
+ * @returns {string}
+ */
+ let getGroupLabelById = (groupId) => {
+ let options = config.signatureGroupsLabels.filter(option => option.value === groupId);
+ return options.length ? options[0].text : '';
+ };
+
+ /**
+ * helper function - get cell by columnSelector from same row as cell
+ * @param tableApi
+ * @param cell
+ * @param columnSelector
+ * @returns {*}
+ */
+ let getNeighboringCell = (tableApi, cell, columnSelector) => {
+ return tableApi.cell(tableApi.row(cell).index(), columnSelector);
+ };
+
+ /**
+ * get next cell by columnSelector
+ * @param tableApi
+ * @param cell
+ * @param columnSelectors
+ * @returns {*}
+ */
+ let searchNextCell = (tableApi, cell, columnSelectors) => {
+ if(columnSelectors.length){
+ // copy selectors -> .shift() modifies the orig array, important!
+ columnSelectors = columnSelectors.slice(0);
+ let nextCell = getNeighboringCell(tableApi, cell, columnSelectors.shift());
+ let nextCellElement = nextCell.nodes().to$();
+ if( nextCellElement.data('editable') ){
+ // cell is xEditable field -> skip "disabled" OR check value
+ let nextCellValue = nextCellElement.editable('getValue', true);
+ if(
+ [0, null].includes(nextCellValue) &&
+ !nextCellElement.data('editable').options.disabled
+ ){
+ // xEditable value is empty
+ return nextCell;
+ }else{
+ // search next cell
+ return searchNextCell(tableApi, cell, columnSelectors);
+ }
+ }else if( nextCell.index().column === tableApi.column(-1).index() ){
+ // NO xEditable cell BUT last column (=> action cell) -> OK
+ return nextCell;
+ }else{
+ console.error('No cell found for activation!');
+ }
+ }else{
+ // return origin cell
+ return tableApi.cell(cell);
+ }
+ };
+
+ /**
+ * make cell active -> focus() + show xEditable
+ * @param cell
+ */
+ let activateCell = (cell) => {
+ let cellElement = cell.nodes().to$();
+ // NO xEditable
+ cellElement.focus();
+
+ if( cellElement.data('editable') ){
+ // cell is xEditable field -> show xEditable form
+ cellElement.editable('show');
+ }
+ };
+
+ /**
+ * search neighboring cell (same row) and set "active" -> show editable
+ * @param tableApi
+ * @param cell
+ * @param columnSelectors
+ */
+ let activateNextCell = (tableApi, cell, columnSelectors) => {
+ let nextCell = searchNextCell(tableApi, cell, columnSelectors);
+ activateCell(nextCell);
+ let test;
+ };
+
+ /**
+ * helper function - set 'save' observer for xEditable cell
+ * -> show "neighboring" xEditable field
+ * @param tableApi
+ * @param cell
+ * @param columnSelectorsAjax - used for Ajax save (edit signature)
+ * @param columnSelectorsDry - used for dry save (new signature)
+ */
+ let editableOnSave = (tableApi, cell, columnSelectorsAjax = [], columnSelectorsDry = []) => {
+ $(cell).on('save', function(e, params){
+ if(params.response){
+ // send by Ajax
+ activateNextCell(tableApi, cell, columnSelectorsAjax);
+ }else{
+ // dry save - no request
+ activateNextCell(tableApi, cell, columnSelectorsDry);
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'hidden' observer for xEditable cell
+ * -> set focus() on xEditable field
+ * @param tableApi
+ * @param cell
+ */
+ let editableOnHidden = (tableApi, cell) => {
+ $(cell).on('hidden', function(e, reason){
+ // re-focus element on close (keyboard navigation)
+ // 'save' event handles default focus (e.g. open new xEditable)
+ // 'hide' handles all the rest (experimental)
+ if(reason !== 'save'){
+ this.focus();
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable type cell
+ * -> enable Select2 for xEditable form
+ * @param cell
+ */
+ let editableGroupOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ let inputField = editable.input.$input;
+ inputField.addClass('pf-select2').initSignatureGroupSelect();
+ });
+ };
+
+ /**
+ * helper function - set 'save' observer for xEditable group cell
+ * -> update scanned signature bar
+ * @param tableApi
+ * @param cell
+ */
+ let editableGroupOnSave = (tableApi, cell) => {
+ $(cell).on('save', function(e, params){
+ if(params.response){
+ // send by Ajax
+ updateScannedSignaturesBar(tableApi, {showNotice: true});
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'init' observer for xEditable type cell
+ * -> disable xEditable field if no options available
+ * @param cell
+ */
+ let editableTypeOnInit = cell => {
+ $(cell).on('init', function(e, editable){
+ if(!editable.options.source().length){
+ editableDisable($(this));
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable type cell
+ * -> enable Select2 for xEditable form
+ * @param cell
+ */
+ let editableTypeOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ // destroy possible open popovers (e.g. wormhole types)
+ $(this).destroyPopover(true);
+
+ let inputField = editable.input.$input;
+ let hasOptGroups = inputField.has('optgroup').length > 0;
+ inputField.addClass('pf-select2').initSignatureTypeSelect({}, hasOptGroups);
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable description cell
+ * -> change height for "new signature" table wrapper
+ * @param cell
+ */
+ let editableDescriptionOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ $(this).parents('.' + config.tableToolsActionClass).css( 'height', '+=35px' );
+ });
+ };
+
+ /**
+ * helper function - set 'hidden' observer for xEditable description cell
+ * -> change height for "new signature" table wrapper
+ * @param cell
+ */
+ let editableDescriptionOnHidden = cell => {
+ $(cell).on('hidden', function(e, editable){
+ $(this).parents('.' + config.tableToolsActionClass).css( 'height', '-=35px' );
+ });
+ };
+
+ /**
+ * helper function - set 'init' observer for xEditable connection cell
+ * -> set focus() on xEditable field
+ * @param cell
+ */
+ let editableConnectionOnInit = cell => {
+ $(cell).on('init', function(e, editable){
+ if(editable.value > 0){
+ // empty connection selects ON INIT don´t make a difference for conflicts
+ checkConnectionConflicts();
+ }
+ });
+ };
+
+ /**
+ * helper function - set 'shown' observer for xEditable connection cell
+ * -> enable Select2 for xEditable form
+ * @param cell
+ */
+ let editableConnectionOnShown = cell => {
+ $(cell).on('shown', function(e, editable){
+ let inputField = editable.input.$input;
+ inputField.addClass('pf-select2').initSignatureConnectionSelect();
+ });
+ };
+
+ /**
+ * helper function - set 'save' observer for xEditable connection cell
+ * -> check connection conflicts
+ * @param cell
+ */
+ let editableConnectionOnSave = cell => {
+ $(cell).on('save', function(e, params){
+ checkConnectionConflicts();
+ });
+ };
+
+ /**
+ * enable xEditable element
+ * @param element
+ */
+ let editableEnable = element => {
+ element.editable('enable');
+ // (re)-enable focus on element by tabbing, xEditable removes "tabindex" on 'disable'
+ element.attr('tabindex', 0);
+ };
+
+ /**
+ * disable xEditable element
+ * @param element
+ */
+ let editableDisable = element => {
+ element.editable('disable');
+ // xEditable sets 'tabindex = -1'
+ };
+
+ /**
+ * get dataTables default options for signature tables
+ * @param mapId
+ * @param systemData
+ * @returns {{}}
+ */
+ let getSignatureDataTableDefaults = (mapId, systemData) => {
+
+ /**
+ * add map/system specific data for each editable field in the sig-table
+ * @param params
+ * @returns {*}
+ */
+ let modifyFieldParamsOnSend = params => {
+ params.systemId = systemData.id;
+ return params;
+ };
+
+ let dataTableDefaults = {
+ pfMeta: {
+ 'mapId': mapId,
+ 'systemId': systemData.id
+ },
+ order: [1, 'asc'],
+ rowId: rowData => config.sigTableRowIdPrefix + rowData.id,
+ language: {
+ emptyTable: 'No signatures added',
+ info: 'Showing _START_ to _END_ of _TOTAL_ signatures',
+ infoEmpty: 'Showing 0 to 0 of 0 signatures',
+ infoFiltered: '( from _MAX_ total)',
+ lengthMenu: 'Show _MENU_',
+ zeroRecords: 'No signatures recorded'
+ },
+ columnDefs: [
+ {
+ targets: 0,
+ name: 'status',
+ orderable: true,
+ searchable: false,
+ title: '',
+ width: 2,
+ class: ['text-center'].join(' '),
+ data: 'updated',
+ type: 'html',
+ render: {
+ _: (cellData, type, rowData, meta) => {
+ let value = '';
+ if(cellData && cellData.character){
+ value = Util.getStatusInfoForCharacter(cellData.character, 'class');
+ }
+
+ if(type === 'display'){
+ value = ' ';
+ }
+ return value;
+ }
+ }
+ },{
+ targets: 1,
+ name: 'id',
+ orderable: true,
+ searchable: true,
+ title: 'id',
+ type: 'string',
+ width: 15,
+ class: [config.tableCellFocusClass, config.sigTableEditSigNameInput].join(' '),
+ data: 'name',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ updateTooltip(cell, cellData);
+
+ editableOnSave(tableApi, cell, [], ['group:name', 'type:name', 'action:name']);
+ editableOnHidden(tableApi, cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'text',
+ title: 'signature id',
+ name: 'name',
+ pk: rowData.id || null,
+ emptytext: '? ? ?',
+ value: cellData,
+ inputclass: config.editableNameInputClass,
+ display: function(value){
+ // change display value to first 3 letters
+ $(this).text($.trim( value.substr(0, 3) ).toLowerCase());
+ },
+ validate: function(value){
+ let msg = false;
+ if($.trim(value).length < 3){
+ msg = 'Id is less than min of "3"';
+ }else if($.trim(value).length > 10){
+ msg = 'Id is more than max of "10"';
+ }
+
+ if(msg){
+ return {newValue: value, msg: msg, field: this};
+ }
+ },
+ params: modifyFieldParamsOnSend,
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+ updateTooltip(cell, newValue);
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 2,
+ name: 'group',
+ orderable: true,
+ searchable: true,
+ title: 'group',
+ type: 'string', // required for sort/filter because initial data type is numeric
+ width: 40,
+ class: [config.tableCellFocusClass].join(' '),
+ data: 'groupId',
+ render: {
+ sort: getGroupLabelById,
+ filter: getGroupLabelById
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, ['type:name'], ['type:name', 'action:name']);
+ editableOnHidden(tableApi, cell);
+ editableGroupOnShown(cell);
+ editableGroupOnSave(tableApi, cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'select',
+ title: 'group',
+ name: 'groupId',
+ pk: rowData.id || null,
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ value: cellData,
+ prepend: [{value: 0, text: ''}],
+ params: modifyFieldParamsOnSend,
+ source: config.signatureGroupsLabels,
+ display: function(value, sourceData){
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].value > 0){
+ $(this).html(selected[0].text);
+ }else{
+ $(this).empty();
+ }
+ },
+ validate: function(value){
+ // convert string to int -> important for further processing
+ // -> on submit record (new signature) validate() is called and no error should be returned
+ // value should already be integer
+ if( !Number.isInteger(value) ){
+ return {newValue: parseInt(value) || 0, msg: null};
+ }
+ },
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+
+ // find related "type" select (same row) and change options
+ let signatureTypeCell = getNeighboringCell(tableApi, cell, 'type:name');
+ let signatureTypeField = signatureTypeCell.nodes().to$();
+
+ let typeOptions = getAllSignatureNames(
+ systemData,
+ systemData.type.id,
+ Util.getAreaIdBySecurity(systemData.security),
+ newValue
+ );
+ signatureTypeField.editable('option', 'source', typeOptions);
+
+ if(
+ newValue > 0 &&
+ typeOptions.length > 0
+ ){
+ editableEnable(signatureTypeField);
+ }else{
+ editableDisable(signatureTypeField);
+ }
+ signatureTypeCell.data(0);
+ signatureTypeField.editable('setValue', 0);
+
+
+ // find "connection" select (same row) and change "enabled" flag
+ let signatureConnectionCell = getNeighboringCell(tableApi, cell, 'connection:name');
+ let signatureConnectionField = signatureConnectionCell.nodes().to$();
+
+ if(newValue === 5){
+ // wormhole
+ editableEnable(signatureConnectionField);
+ }else{
+ checkConnectionConflicts();
+ editableDisable(signatureConnectionField);
+ }
+ signatureConnectionCell.data(0);
+ signatureConnectionField.editable('setValue', 0);
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 3,
+ name: 'type',
+ orderable: false,
+ searchable: false,
+ title: 'type',
+ type: 'string', // required for sort/filter because initial data type is numeric
+ width: 180,
+ class: [config.tableCellFocusClass].join(' '),
+ data: 'typeId',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, ['connection:name'], ['action:name']);
+ editableOnHidden(tableApi, cell);
+ editableTypeOnInit(cell);
+ editableTypeOnShown(cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'select',
+ title: 'type',
+ name: 'typeId',
+ pk: rowData.id || null,
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ disabled: rowData.groupId <= 0, // initial disabled if groupId not set
+ value: cellData,
+ prepend: [{value: 0, text: ''}],
+ params: modifyFieldParamsOnSend,
+ source: function(){
+ // get current row data (important!)
+ // -> "rowData" param is not current state, values are "on createCell()" state
+ let rowData = tableApi.row($(cell).parents('tr')).data();
+
+ let typeOptions = getAllSignatureNames(
+ systemData,
+ systemData.type.id,
+ Util.getAreaIdBySecurity(systemData.security),
+ rowData.groupId
+ );
+ return typeOptions;
+ },
+ display: function(value, sourceData){
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].value > 0){
+ $(this).html(FormElement.formatSignatureTypeSelectionData({text: selected[0].text}));
+ }else{
+ $(this).empty();
+ }
+ },
+ validate: function(value){
+ // convert string to int -> important for further processing
+ // -> on submit record (new signature) validate() is called and no error should be returned
+ // value should already be integer
+ if( !Number.isInteger(value) ){
+ return {newValue: parseInt(value) || 0, msg: null};
+ }
+ },
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 4,
+ name: 'description',
+ orderable: false,
+ searchable: false,
+ title: 'description',
+ class: [config.tableCellFocusClass, config.tableCellActionClass].join(' '),
+ type: 'html',
+ data: 'description',
+ defaultContent: '',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, [], ['action:name']);
+ editableOnHidden(tableApi, cell);
+ editableDescriptionOnShown(cell);
+ editableDescriptionOnHidden(cell);
+
+ $(cell).editable($.extend({
+ mode: 'inline',
+ type: 'textarea',
+ title: 'description',
+ name: 'description',
+ pk: rowData.id || null,
+ emptytext: ' ',
+ onblur: 'submit',
+ showbuttons: false,
+ inputclass: config.editableDescriptionInputClass,
+ emptyclass: config.moduleHeadlineIconClass,
+ params: modifyFieldParamsOnSend,
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 5,
+ name: 'connection',
+ orderable: false,
+ searchable: false,
+ title: 'leads to',
+ type: 'string', // required for sort/filter because initial data type is numeric
+ className: [config.tableCellFocusClass, config.tableCellConnectionClass].join(' '),
+ width: 80,
+ data: 'connection.id',
+ defaultContent: 0,
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ editableOnSave(tableApi, cell, [], ['action:name']);
+ editableOnHidden(tableApi, cell);
+ editableConnectionOnInit(cell);
+ editableConnectionOnShown(cell);
+ editableConnectionOnSave(cell);
+
+ $(cell).editable($.extend({
+ mode: 'popup',
+ type: 'select',
+ title: 'system',
+ name: 'connectionId',
+ pk: rowData.id || null,
+ emptytext: 'unknown',
+ onblur: 'submit',
+ showbuttons: false,
+ disabled: rowData.groupId !== 5, // initial disabled if NON wh
+ value: cellData,
+ prepend: [{value: 0, text: ''}],
+ params: modifyFieldParamsOnSend,
+ source: function(){
+ let activeMap = Util.getMapModule().getActiveMap();
+ let mapId = activeMap.data('id');
+ let connectionOptions = getSignatureConnectionOptions(mapId, systemData);
+ return connectionOptions;
+ },
+ display: function(value, sourceData){
+ let selected = $.fn.editableutils.itemsByValue(value, sourceData);
+ if(selected.length && selected[0].value > 0){
+ let errorIcon = ' ';
+ $(this).html(FormElement.formatSignatureConnectionSelectionData({text: selected[0].text})).prepend(errorIcon);
+ }else{
+ $(this).empty() ;
+ }
+ },
+ validate: function(value, b, c){
+ // convert string to int -> important for further processing
+ // -> on submit record (new signature) validate() is called and no error should be returned
+ // value should already be integer
+ if( !Number.isInteger(value) ){
+ return {newValue: parseInt(value) || 0, msg: null};
+ }
+ },
+ success: function(response, newValue){
+ tableApi.cell(cell).data(newValue);
+
+ $(this).pulseBackgroundColor('changed');
+
+ if(response){
+ let newRowData = response.signatures[0];
+ updateSignatureCell(tableApi, rowIndex, 'status:name', newRowData.updated);
+ updateSignatureCell(tableApi, rowIndex, 'updated:name', newRowData.updated.updated);
+ }
+ tableApi.draw();
+ }
+ }, editableDefaults));
+ }
+ },{
+ targets: 6,
+ name: 'created',
+ title: 'created',
+ searchable: false,
+ width: 80,
+ className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '),
+ data: 'created.created',
+ defaultContent: ''
+ },{
+ targets: 7,
+ name: 'updated',
+ title: 'updated',
+ searchable: false,
+ width: 80,
+ className: ['text-right', config.tableCellCounterClass, 'min-screen-d'].join(' '),
+ data: 'updated.updated',
+ defaultContent: '',
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ // highlight cell
+ let diff = Math.floor((new Date()).getTime()) - cellData * 1000;
+
+ // age > 1 day
+ if( diff > 86400000){
+ $(cell).addClass('txt-color txt-color-warning');
+ }
+ }
+ },{
+ targets: 8,
+ name: 'info',
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', Util.config.helpClass , Util.config.popoverTriggerClass].join(' '),
+ data: 'created.created',
+ defaultContent: '',
+ render: {
+ display: (cellData, type, rowData, meta) => {
+ if(cellData){
+ return ' ';
+ }
+ }
+ }
+ },{
+ targets: 9,
+ name: 'action',
+ title: '',
+ orderable: false,
+ searchable: false,
+ width: 10,
+ class: ['text-center', config.tableCellFocusClass, config.tableCellActionClass].join(' '),
+ data: null,
+ render: {
+ display: (cellData, type, rowData, meta) => {
+ let val = ' ';
+ if(rowData.id){
+ val = ' ';
+ }
+ return val;
+ }
+ },
+ createdCell: function(cell, cellData, rowData, rowIndex, colIndex){
+ let tableApi = this.api();
+
+ if(rowData.id){
+ // delete signature -----------------------------------------------------------------------
+ let confirmationSettings = {
+ container: 'body',
+ placement: 'left',
+ btnCancelClass: 'btn btn-sm btn-default',
+ btnCancelLabel: 'cancel',
+ btnCancelIcon: 'fas fa-fw fa-ban',
+ title: 'delete signature',
+ btnOkClass: 'btn btn-sm btn-danger',
+ btnOkLabel: 'delete',
+ btnOkIcon: 'fas fa-fw fa-times',
+ onConfirm: function(e, target){
+ // top scroll to top
+ e.preventDefault();
+
+ let deleteRowElement = $(target).parents('tr');
+ let row = tableApi.rows(deleteRowElement);
+ deleteSignatures(tableApi, row);
+ }
+ };
+
+ $(cell).confirmation(confirmationSettings);
+ }else{
+ // add new signature ----------------------------------------------------------------------
+ $(cell).on('click', {tableApi: tableApi, rowIndex: rowIndex}, function(e){
+ e.stopPropagation();
+ e.preventDefault();
+
+ let secondaryTableApi = e.data.tableApi;
+ let metaData = getTableMetaData(secondaryTableApi);
+ let primaryTableApi = getDataTableInstance(metaData.mapId, metaData.systemId, 'primary');
+
+ let formFields = secondaryTableApi.row(e.data.rowIndex).nodes().to$().find('.editable');
+
+ // the "hide" makes sure to take care about open editable fields (e.g. description)
+ // otherwise, changes would not be submitted in this field (not necessary)
+ formFields.editable('hide');
+
+ // submit all xEditable fields
+ formFields.editable('submit', {
+ url: Init.path.saveSignatureData,
+ ajaxOptions: {
+ dataType: 'json', //assuming json response
+ beforeSend: function(xhr, settings){
+ lockTable(primaryTableApi);
+ },
+ context: {
+ primaryTableApi: primaryTableApi,
+ secondaryTableApi: secondaryTableApi,
+ }
+ },
+ data: {
+ systemId: metaData.systemId, // additional data to submit
+ pk: 0 // new data no primary key
+ },
+ error: editableDefaults.error, // user default xEditable error function
+ success: function(data, editableConfig){
+ let context = editableConfig.ajaxOptions.context;
+ let primaryTableApi = context.primaryTableApi;
+ let secondaryTableApi = context.secondaryTableApi;
+
+ unlockTable(primaryTableApi);
+
+ let signatureData = data.signatures[0];
+ let row = addSignatureRow(primaryTableApi, signatureData);
+ if(row){
+ primaryTableApi.draw();
+ // highlight
+ row.nodes().to$().pulseBackgroundColor('added');
+
+ // prepare "add signature" table for new entry -> reset -------------------
+ secondaryTableApi.clear().row.add($.extend(true, {}, emptySignatureData)).draw();
+
+ Util.showNotify({
+ title: 'Signature added',
+ text: 'Name: ' + signatureData.name,
+ type: 'success'
+ });
+
+ // update signature bar
+ updateScannedSignaturesBar(primaryTableApi, {showNotice: true});
+ }
+ }
+ });
+ });
+ }
+ }
+ }
+ ],
+ createdRow: function(row, data, dataIndex){
+ // enable tabbing for interactive cells
+ let focusCells = $(row).find('.' + config.tableCellFocusClass + ':not(.editable-disabled)').attr('tabindex', 0);
+ // enable "return" key -> click()
+ focusCells.on('keydown', function(e){
+ e.stopPropagation();
+ if(e.which === 13){
+ $(this).trigger('click');
+ }
+ });
+ }
+ };
+
+ return dataTableDefaults;
+ };
+
+ /**
+ * draw signature table toolbar (add signature button, scan progress bar
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let drawSignatureTableNew = (moduleElement, mapId, systemData) => {
+ let secondaryTableContainer = $('', {
+ class: config.tableToolsActionClass
+ });
+
+ // create "empty table for new signature
+ let table = $('
', {
+ id: getTableId(mapId, systemData.id, 'secondary'),
+ class: ['stripe', 'row-border', 'compact', 'nowrap', config.sigTableClass, config.sigTableSecondaryClass].join(' ')
+ });
+
+ secondaryTableContainer.append(table);
+
+ moduleElement.find('.' + config.moduleHeadClass).after(secondaryTableContainer);
+
+ let dataTableOptions = {
+ paging: false,
+ info: false,
+ searching: false,
+ tabIndex: -1,
+ data: [$.extend(true, {}, emptySignatureData)]
+ };
+
+ $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData));
+
+ let tableApi = table.DataTable(dataTableOptions);
+
+ // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit)
+ // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints
+ new $.fn.dataTable.Responsive(tableApi);
+ };
+
+ /**
+ * filter table "group" column
+ * @param tableApi
+ * @param newValue
+ * @param sourceOptions
+ */
+ let searchGroupColumn = (tableApi, newValue, sourceOptions) => {
+ let column = tableApi.column('group:name');
+ let pattern = '';
+
+ if(newValue.length <= sourceOptions.length){
+ // all options selected + "prepend" option
+ let selected = $.fn.editableutils.itemsByValue(newValue, sourceOptions);
+
+ pattern = selected.map(option => option.value !== 0 ? $.fn.dataTable.util.escapeRegex(option.text) : '^$').join('|');
+ }
+ column.search(pattern, true, false).draw();
+ };
+
+ /**
+ * init table filter button "group" column
+ * @param tableApi
+ */
+ let initGroupFilterButton = tableApi => {
+ let characterId = Util.getCurrentCharacterId();
+
+ let promiseStore = MapUtil.getLocaleData('character', Util.getCurrentCharacterId());
+ promiseStore.then(data => {
+ let filterButton = tableApi.button('tableTools', 'filterGroup:name').node();
+ let prependOptions = [{value: 0, text: 'unknown'}];
+ let sourceOptions = config.signatureGroupsLabels;
+ let selectedValues = [];
+
+ if(data && data.filterSignatureGroups && data.filterSignatureGroups.length){
+ // select local stored values
+ selectedValues = data.filterSignatureGroups;
+ }else{
+ // no default group filter options -> show all
+ selectedValues = sourceOptions.map(option => option.value);
+ selectedValues.unshift(0);
+ }
+
+ filterButton.editable({
+ mode: 'popup',
+ container: 'body',
+ type: 'checklist',
+ showbuttons: false,
+ onblur: 'submit',
+ highlight: false,
+ title: 'filter groups',
+ value: selectedValues,
+ prepend: prependOptions,
+ source: sourceOptions,
+ inputclass: config.editableUnknownInputClass,
+ display: function(value, sourceData){
+ // update filter button label
+ let html = ' group';
+ let allSelected = value.length >= sourceData.length;
+ if( !allSelected ){
+ html += ' (' + value.length + ')';
+ }
+ $(this).toggleClass('active', !allSelected).html(html);
+ },
+ validate: function(value){
+ // convert string to int -> important for further processing
+ return {newValue: value.map(num => parseInt(num)), msg: null};
+ }
+ });
+
+ let allOptions = prependOptions.concat(sourceOptions);
+
+ filterButton.on('save', {tableApi: tableApi, sourceOptions: allOptions}, function(e, params){
+ // store values local -> IndexDB
+ MapUtil.storeLocaleCharacterData('filterSignatureGroups', params.newValue);
+
+ searchGroupColumn(e.data.tableApi, params.newValue, e.data.sourceOptions);
+ });
+
+ // set initial search string -> even if table ist currently empty
+ searchGroupColumn(tableApi, selectedValues, allOptions);
+ });
+ };
+
+ /**
+ * draw empty signature table
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let drawSignatureTable = (moduleElement, mapId, systemData) => {
+ let table = $('', {
+ id: getTableId(mapId, systemData.id, 'primary'),
+ class: ['display', 'compact', 'nowrap', config.sigTableClass, config.sigTablePrimaryClass].join(' ')
+ });
+
+ moduleElement.append(table);
+
+ let dataTableOptions = {
+ tabIndex: -1,
+ dom: '<"row"<"col-xs-3"l><"col-xs-5"B><"col-xs-4"f>>' +
+ '<"row"<"col-xs-12"tr>>' +
+ '<"row"<"col-xs-5"i><"col-xs-7"p>>',
+ buttons: {
+ name: 'tableTools',
+ buttons: [
+ {
+ name: 'filterGroup',
+ className: config.moduleHeadlineIconClass,
+ text: '' // set by js (xEditable)
+ },
+ {
+ name: 'selectAll',
+ className: config.moduleHeadlineIconClass,
+ text: ' select all',
+ action: function(e, tableApi, node, conf){
+ let allRows = tableApi.rows();
+ let selectedRows = getSelectedRows(tableApi);
+ let allRowElements = allRows.nodes().to$();
+
+ if(allRows.data().length === selectedRows.data().length){
+ allRowElements.removeClass('selected');
+ }else{
+ allRowElements.addClass('selected');
+ }
+
+ // check delete button
+ checkDeleteSignaturesButton(tableApi);
+ }
+ },
+ {
+ name: 'delete',
+ className: [config.moduleHeadlineIconClass, config.sigTableClearButtonClass].join(' '),
+ text: ' delete (0 )',
+ action: function(e, tableApi, node, conf){
+ let selectedRows = getSelectedRows(tableApi);
+ bootbox.confirm('Delete ' + selectedRows.data().length + ' signature?', function(result){
+ if(result){
+ deleteSignatures(tableApi, selectedRows);
+ }
+ });
+ }
+ }
+ ]
+ },
+ initComplete: function (settings, json){
+ let tableApi = this.api();
+
+ initGroupFilterButton(tableApi);
+
+ // init update counter for timestamp columns
+ // mark as init
+ this.attr('data-counter', 'init');
+ let refreshIntervalId = window.setInterval(() => {
+ tableApi.cells(null, ['created:name', 'updated:name']).every(function(rowIndex, colIndex, tableLoopCount, cellLoopCount){
+ let cell = this;
+ let node = cell.node();
+ let data = cell.data();
+ if(data && Number.isInteger(data) && !node.classList.contains('stopCounter')){
+ // timestamp expected int > 0
+ let date = new Date(data * 1000);
+ Counter.updateDateDiff( cell.nodes().to$(), date);
+ }
+ });
+ }, 500);
+ this.data('interval', refreshIntervalId);
+ }
+ };
+
+ $.extend(true, dataTableOptions, getSignatureDataTableDefaults(mapId, systemData));
+
+ let tableApi = table.DataTable(dataTableOptions);
+
+ // "Responsive" dataTables plugin did not load automatic (because table is invisible onInit)
+ // -> manually start "Responsive" extension -> see default dataTable setting for config e.g. breakpoints
+ new $.fn.dataTable.Responsive(tableApi);
+
+ // lock table until module is fully rendered
+ lockTable(tableApi);
+ };
+
+ /**
+ * open xEditable input field in "new Signature" table
+ * @param moduleElement
+ */
+ let focusNewSignatureEditableField = moduleElement => {
+ moduleElement.find('.' + config.sigTableSecondaryClass)
+ .find('td.' + config.sigTableEditSigNameInput).editable('show');
+ };
+
+ /**
+ * get all selected rows of a table
+ * @param tableApi
+ * @returns {*}
+ */
+ let getSelectedRows = tableApi => {
+ return tableApi.rows('.selected');
+ };
+
+ /**
+ * check the "delete signature" button. show/hide the button if a signature is selected
+ * @param tableApi
+ */
+ let checkDeleteSignaturesButton = tableApi => {
+ let selectedRows = getSelectedRows(tableApi);
+ let selectedRowCount = selectedRows.data().length;
+ let clearButton = tableApi.button('tableTools', 'delete:name').node();
+
+ if(selectedRowCount > 0){
+ let allRows = tableApi.rows();
+ let rowCount = allRows.data().length;
+
+ let countText = selectedRowCount;
+ if(selectedRowCount >= rowCount){
+ countText = 'all';
+ }
+ clearButton.find('i+span').text(countText);
+
+ // update clear signatures button text
+ clearButton.velocity('stop');
+
+ if( clearButton.is(':hidden') ){
+ // show button
+ clearButton.velocity('transition.expandIn', {
+ duration: 100
+ });
+ }else{
+ // highlight button
+ clearButton.velocity('callout.pulse', {
+ duration: 200
+ });
+ }
+ }else{
+ // hide button
+ clearButton.velocity('transition.expandOut', {
+ duration: 100
+ });
+ }
+ };
+
+ /**
+ * set module observer and look for relevant signature data to update
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let setModuleObserver = (moduleElement, mapId, systemData) => {
+ let primaryTable = moduleElement.find('.' + config.sigTablePrimaryClass);
+ let primaryTableApi = getDataTableInstance(mapId, systemData.id, 'primary');
+
+ // add signature toggle ---------------------------------------------------------------------------------------
+ let toggleAddSignature = (show = 'auto') => {
+ let button = moduleElement.find('.' + config.moduleHeadlineIconAddClass);
+ let toolsElement = moduleElement.find('.' + config.tableToolsActionClass);
+ button.toggleClass('active', show === 'auto' ? undefined : show);
+
+ if(toolsElement.is(':visible') && (!show || show === 'auto')){
+ // hide container
+ toolsElement.velocity('stop').velocity({
+ opacity: [0, 1],
+ height: [0, '70px']
+ },{
+ duration: 150,
+ display: 'none'
+ });
+ }else if(!toolsElement.is(':visible') && (show || show === 'auto')){
+ // show container
+ toolsElement.velocity('stop').velocity({
+ opacity: [1, 0],
+ height: ['70px', 0]
+ },{
+ duration: 150,
+ display: 'block',
+ complete: function(){
+ focusNewSignatureEditableField(moduleElement);
+ }
+ });
+ }else if(toolsElement.is(':visible') && show){
+ // still visible -> no animation
+ focusNewSignatureEditableField(moduleElement);
+ }
+ };
+
+ moduleElement.find('.' + config.moduleHeadlineIconAddClass).on('click', function(e){
+ toggleAddSignature('auto');
+ });
+
+ moduleElement.on('pf:showSystemSignatureModuleAddNew', function(e){
+ toggleAddSignature(true);
+ });
+
+ // signature reader dialog ------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconReaderClass).on('click', function(e){
+ moduleElement.showSignatureReaderDialog(systemData);
+ });
+
+ // "lazy update" toggle ---------------------------------------------------------------------------------------
+ moduleElement.find('.' + config.moduleHeadlineIconLazyClass).on('click', function(e){
+ let button = $(this);
+ button.toggleClass('active');
+ });
+
+ // set multi row select ---------------------------------------------------------------------------------------
+ primaryTable.on('mousedown', 'td', {tableApi: primaryTableApi}, function(e){
+ if(e.ctrlKey){
+ e.preventDefault();
+ e.stopPropagation();
+ // xEditable field should not open -> on 'click'
+ // -> therefore disable "pointer-events" on "td" for some ms -> 'click' event is not triggered
+ $(this).css('pointer-events', 'none');
+ $(e.target.parentNode).toggleClass('selected');
+
+ // check delete button
+ checkDeleteSignaturesButton(e.data.tableApi);
+
+ setTimeout(() => {
+ $(this).css('pointer-events', 'auto');
+ }, 250);
+ }
+ });
+
+ // draw event for signature table -----------------------------------------------------------------------------
+ primaryTableApi.on('draw.dt', function(e, settings){
+ // check delete button
+ let tableApi = $(this).dataTable().api();
+ checkDeleteSignaturesButton(tableApi);
+ });
+
+ // event listener for global "paste" signatures into the page -------------------------------------------------
+ moduleElement.on('pf:updateSystemSignatureModuleByClipboard', {tableApi: primaryTableApi}, function(e, clipboard){
+ let signatureOptions = {
+ deleteOld: moduleElement.find('.' + config.moduleHeadlineIconLazyClass).hasClass('active') ? 1 : 0
+ };
+ updateSignatureTableByClipboard(e.data.tableApi, systemData, clipboard, signatureOptions);
+ });
+
+ // signature column - "type" popover --------------------------------------------------------------------------
+ moduleElement.find('.' + config.sigTableClass).hoverIntent({
+ over: function(e){
+ let staticWormholeElement = $(this);
+ let wormholeName = staticWormholeElement.attr('data-name');
+ let wormholeData = Util.getObjVal(Init, 'wormholes.' + wormholeName);
+ if(wormholeData){
+ staticWormholeElement.addWormholeInfoTooltip(wormholeData, {
+ trigger: 'manual',
+ placement: 'top',
+ show: true
+ });
+ }
+ },
+ out: function(e){
+ $(this).destroyPopover();
+ },
+ selector: '.editable-click:not(.editable-open) span[class^="pf-system-sec-"]'
+ });
+
+ // signature column - "info" popover --------------------------------------------------------------------------
+ moduleElement.find('.' + config.sigTablePrimaryClass).hoverIntent({
+ over: function(e){
+ let cellElement = $(this);
+ let rowData = primaryTableApi.row(cellElement.parents('tr')).data();
+ cellElement.addCharacterInfoTooltip(rowData, {
+ trigger: 'manual',
+ placement: 'top',
+ show: true
+ });
+ },
+ out: function(e){
+ $(this).destroyPopover();
+ },
+ selector: 'td.' + Util.config.helpClass
+ });
+ };
+
+ /**
+ * add new row to signature table
+ * @param tableApi
+ * @param signatureData
+ * @returns {*}
+ */
+ let addSignatureRow = (tableApi, signatureData) => {
+ let row = null;
+ if(tableApi){
+ row = tableApi.row.add(signatureData);
+ }
+ return row;
+ };
+
+ /**
+ * update signature table with new signatures
+ * -> add/update/delete rows
+ * @param tableApi
+ * @param signaturesDataOrig
+ * @param deleteOutdatedSignatures
+ */
+ let updateSignatureTable = (tableApi, signaturesDataOrig, deleteOutdatedSignatures = false) => {
+ if(isLockedTable(tableApi)) return;
+
+ // disable tableApi until update finished;
+ lockTable(tableApi);
+
+ // clone signature array because of further manipulation
+ let signaturesData = $.extend([], signaturesDataOrig);
+
+ let rowIdsExist = [];
+
+ let promisesAdded = [];
+ let promisesChanged = [];
+ let promisesDeleted = [];
+
+ let allRows = tableApi.rows();
+ let updateEmptyTable = !allRows.any();
+
+ let rowUpdate = function(rowIndex, colIndex, tableLoopCount, cellLoopCount){
+ let cell = this;
+ let node = cell.nodes().to$();
+ if(node.data('editable')){
+ // xEditable is active -> should always be active!
+ // set new value even if no change -> e.g. render selected Ids as text labels
+ let oldValue = node.editable('getValue', true);
+ node.editable('setValue', cell.data());
+
+ if(oldValue !== cell.data()){
+ // highlight cell on data change
+ node.pulseBackgroundColor('changed');
+ }
+ }else if(node.hasClass(config.tableCellCounterClass)){
+ // "updated" timestamp always changed
+ node.pulseBackgroundColor('changed');
+ }
+ };
+
+ // update signatures ------------------------------------------------------------------------------------------
+ allRows.every(function(rowIdx, tableLoop, rowLoop){
+ let row = this;
+ let rowData = row.data();
+ let rowElement = row.nodes().to$();
+
+ for(let i = 0; i < signaturesData.length; i++){
+ if(signaturesData[i].id === rowData.id){
+ let rowId = row.id(true);
+
+ // check if row was updated
+ if(signaturesData[i].updated.updated > rowData.updated.updated){
+ // set new row data -> draw() is executed after all changes made
+ row.data(signaturesData[i]);
+
+ // bind new signature dataTable data() -> to xEditable inputs
+ row.cells(row.id(true), ['id:name', 'group:name', 'type:name', 'description:name', 'connection:name', 'updated:name'])
+ .every(rowUpdate);
+
+ promisesChanged.push(new Promise((resolve, reject) => {
+ resolve({action: 'changed', rowId: rowId});
+ }));
+ }
+
+ rowIdsExist.push(rowId);
+
+ // remove signature data -> all left signatures will be added
+ signaturesData.splice(i, 1);
+ i--;
+ }
+ }
+ });
+
+ // delete signatures ------------------------------------------------------------------------------------------
+ if(deleteOutdatedSignatures){
+ let rows = tableApi.rows((rowIdx, rowData, node) => !rowIdsExist.includes('#' + config.sigTableRowIdPrefix + rowData.id));
+ rows.every(function(rowIdx, tableLoop, rowLoop){
+ let row = this;
+ let rowId = row.id(true);
+ let rowElement = row.nodes().to$();
+
+ // hide open editable fields on the row before removing them
+ rowElement.find('.editable').editable('destroy');
+
+ // destroy possible open popovers (e.g. wormhole types, update popover)
+ rowElement.destroyPopover(true);
+
+ rowElement.pulseBackgroundColor('deleted');
+
+ promisesDeleted.push(new Promise((resolve, reject) => {
+ toggleTableRow(rowElement).then(payload => resolve({action: 'deleted', rowIdx: rowId}));
+ }));
+ }).remove();
+ }
+
+ // add new signatures -----------------------------------------------------------------------------------------
+ for(let signatureData of signaturesData){
+ let row = addSignatureRow(tableApi, signatureData);
+ let rowId = row.id(true);
+ let rowElement = row.nodes().to$();
+ rowElement.pulseBackgroundColor('added');
+
+ promisesAdded.push(new Promise((resolve, reject) => {
+ resolve({action: 'added', rowId: rowId});
+ }));
+ }
+
+ // done -------------------------------------------------------------------------------------------------------
+ Promise.all(promisesAdded.concat(promisesChanged, promisesDeleted)).then(payloads => {
+ if(payloads.length){
+ // table data changed -> draw() table changes
+ tableApi.draw();
+
+ if(!updateEmptyTable){
+ // no notifications if table was empty just progressbar notification is needed
+ // sum payloads by "action"
+ let notificationCounter = payloads.reduce((acc, payload) => {
+ if(!acc[payload.action]){
+ acc[payload.action] = 0;
+ }
+ acc[payload.action]++;
+ return acc;
+ }, {});
+
+ let notification = '';
+ if(notificationCounter.added > 0){
+ notification += notificationCounter.added + ' added ';
+ }
+ if(notificationCounter.changed > 0){
+ notification += notificationCounter.changed + ' updated ';
+ }
+ if(notificationCounter.deleted > 0){
+ notification += notificationCounter.deleted + ' deleted ';
+ }
+ if(notification.length){
+ Util.showNotify({title: 'Signatures updated', text: notification, type: 'success'});
+ }
+ }
+
+ updateScannedSignaturesBar(tableApi, {showNotice: true});
+ }
+
+ // unlock table
+ unlockTable(tableApi);
+ });
+ };
+
+ /**
+ * update trigger function for this module
+ * compare data and update module
+ * @param moduleElement
+ * @param systemData
+ */
+ let updateModule = (moduleElement, systemData) => {
+
+ if(systemData.signatures){
+ let mapId = moduleElement.data('mapId');
+ let systemId = moduleElement.data('systemId');
+ let tableApi = getDataTableInstance(mapId, systemId, 'primary');
+ updateSignatureTable(tableApi, systemData.signatures, true);
+ }
+
+ moduleElement.hideLoadingAnimation();
+ };
+
+ /**
+ * init callback
+ * @param moduleElement
+ * @param mapId
+ * @param systemData
+ */
+ let initModule = (moduleElement, mapId, systemData) => {
+ let tableApi = getDataTableInstance(mapId, systemData.id, 'primary');
+ unlockTable(tableApi);
+ };
+
+ /**
+ * get module toolbar element
+ * @returns {jQuery}
+ */
+ let getHeadlineToolbar = () => {
+ let headlineToolbar = $('', {
+ class: 'pull-right'
+ }).append(
+ $('', {
+ class: 'progress-label-right',
+ text: '0%'
+ }),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-plus', config.moduleHeadlineIconClass, config.moduleHeadlineIconAddClass].join(' '),
+ title: 'add'
+ }).attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-paste', config.moduleHeadlineIconClass, config.moduleHeadlineIconReaderClass].join(' '),
+ title: 'signature reader'
+ }).attr('data-toggle', 'tooltip'),
+ $('', {
+ class: ['fas', 'fa-fw', 'fa-exchange-alt', config.moduleHeadlineIconClass, config.moduleHeadlineIconLazyClass].join(' '),
+ title: 'lazy \'delete\' signatures'
+ }).attr('data-toggle', 'tooltip')
+ );
+
+ headlineToolbar.find('[data-toggle="tooltip"]').tooltip({
+ container: 'body'
+ });
+
+ return headlineToolbar;
+ };
+
+ /**
+ * get module element
+ * @param parentElement
+ * @param mapId
+ * @param systemData
+ * @returns {jQuery}
+ */
+ let getModule = (parentElement, mapId, systemData) => {
+ let moduleElement = $('').append(
+ $('
', {
+ class: config.moduleHeadClass
+ }).append(
+ $('
', {
+ class: config.moduleHandlerClass
+ }),
+ $('', {
+ text: 'Signatures'
+ }),
+ getHeadlineToolbar()
+ )
+ );
+
+ // scanned signatures progress bar ----------------------------------------------------------------------------
+ requirejs(['text!templates/form/progress.html', 'mustache'], (template, Mustache) => {
+ let data = {
+ label: true,
+ wrapperClass: config.moduleHeadlineProgressBarClass,
+ class: ['progress-bar-success'].join(' '),
+ percent: 0
+ };
+ moduleElement.find('.' + config.moduleHeadClass).append(Mustache.render(template, data));
+ });
+
+ moduleElement.data('mapId', mapId);
+ moduleElement.data('systemId', systemData.id);
+
+ moduleElement.showLoadingAnimation();
+
+ // draw "new signature" add table
+ drawSignatureTableNew(moduleElement, mapId, systemData);
+
+ // draw signature table
+ drawSignatureTable(moduleElement, mapId, systemData);
+
+ // set module observer
+ setModuleObserver(moduleElement, mapId, systemData);
+
+ return moduleElement;
+ };
+
+ /**
+ * before module hide callback
+ * @param moduleElement
+ */
+ let beforeHide = moduleElement => {
+ // disable update
+ let mapId = moduleElement.data('mapId');
+ let systemId = moduleElement.data('systemId');
+ let tableApi = getDataTableInstance(mapId, systemId, 'primary');
+ lockTable(tableApi);
+ };
+
+ /**
+ * before module destroy callback
+ * @param moduleElement
+ */
+ let beforeDestroy = moduleElement => {
+ // Destroying the data tables throws
+ // -> safety remove all dataTables
+ let mapId = moduleElement.data('mapId');
+ let systemId = moduleElement.data('systemId');
+ let primaryTableApi = getDataTableInstance(mapId, systemId, 'primary');
+ let secondaryTableApi = getDataTableInstance(mapId, systemId, 'secondary');
+ primaryTableApi.destroy();
+ secondaryTableApi.destroy();
+ };
+
+ return {
+ config: config,
+ getModule: getModule,
+ initModule: initModule,
+ updateModule: updateModule,
+ beforeHide: beforeHide,
+ beforeDestroy: beforeDestroy,
+ getAllSignatureNamesBySystem: getAllSignatureNamesBySystem
+ };
+});
\ No newline at end of file
diff --git a/public/js/v1.4.1/app/util.js b/public/js/v1.4.1/app/util.js
index 8ec89d08..bf7b7242 100644
--- a/public/js/v1.4.1/app/util.js
+++ b/public/js/v1.4.1/app/util.js
@@ -33,7 +33,6 @@ define([
// head
headMapTrackingId: 'pf-head-map-tracking', // id for "map tracking" toggle (checkbox)
- headCharacterSwitchId: 'pf-head-character-switch', // id for "character switch" popover
headCurrentLocationId: 'pf-head-current-location', // id for "show current location" element
// menu
@@ -66,10 +65,12 @@ define([
// animation
animationPulseSuccessClass: 'pf-animation-pulse-success', // animation class
animationPulseWarningClass: 'pf-animation-pulse-warning', // animation class
+ animationPulseDangerClass: 'pf-animation-pulse-danger', // animation class
// popover
- popoverSmallClass: 'pf-popover-small', // class for "small" popover
popoverTriggerClass: 'pf-popover-trigger', // class for "popover" trigger elements
+ popoverSmallClass: 'pf-popover-small', // class for small "popover"
+ popoverCharacterClass: 'pf-popover-character', // class for character "popover"
// help
helpDefaultClass: 'pf-help-default', // class for "help" tooltip elements
@@ -231,7 +232,7 @@ define([
}else{
callback(responseData.img);
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': getCaptchaImage', text: reason, type: 'error'});
});
@@ -424,7 +425,7 @@ define([
let width = element.offsetWidth;
let height = element.offsetHeight;
- while(element.offsetParent) {
+ while(element.offsetParent){
element = element.offsetParent;
top += element.offsetTop;
left += element.offsetLeft;
@@ -494,7 +495,7 @@ define([
* @returns {*}
*/
$.fn.destroyTooltip = function(recursive){
- return this.each(function() {
+ return this.each(function(){
let element = $(this);
let tooltipSelector = '[title]';
let tooltipElements = element.filter(tooltipSelector);
@@ -502,18 +503,20 @@ define([
tooltipElements = tooltipElements.add(element.find(tooltipSelector));
}
- tooltipElements.each(function() {
+ tooltipElements.each(function(){
$(this).tooltip('destroy');
});
});
};
/**
- * adds a popup tooltip with character information (created/updated)
+ * add a popup tooltip with character information (created/updated)
* @param tooltipData
+ * @param options
+ * @returns {*}
*/
- $.fn.addCharacterInfoTooltip = function(tooltipData){
- let element = $(this);
+ $.fn.addCharacterInfoTooltip = function(tooltipData, options){
+ let data = {};
if(
tooltipData.created.character &&
@@ -522,59 +525,60 @@ define([
let createdData = tooltipData.created;
let updatedData = tooltipData.updated;
- // check if data has changed
- if(
- element.data('created') !== createdData.created ||
- element.data('updated') !== updatedData.updated
- ){
- // data changed
- // set new data for next check
- element.data('created', createdData.created);
- element.data('updated', updatedData.updated);
+ let statusCreatedClass = getStatusInfoForCharacter(createdData.character, 'class');
+ let statusUpdatedClass = getStatusInfoForCharacter(updatedData.character, 'class');
- let statusCreatedClass = getStatusInfoForCharacter(createdData.character, 'class');
- let statusUpdatedClass = getStatusInfoForCharacter(updatedData.character, 'class');
+ // convert timestamps
+ let dateCreated = new Date(createdData.created * 1000);
+ let dateUpdated = new Date(updatedData.updated * 1000);
+ let dateCreatedUTC = convertDateToUTC(dateCreated);
+ let dateUpdatedUTC = convertDateToUTC(dateUpdated);
- // convert timestamps
- let dateCreated = new Date(createdData.created * 1000);
- let dateUpdated = new Date(updatedData.updated * 1000);
- let dateCreatedUTC = convertDateToUTC(dateCreated);
- let dateUpdatedUTC = convertDateToUTC(dateUpdated);
-
- let data = {
- created: createdData,
- updated: updatedData,
- createdTime: convertDateToString(dateCreatedUTC),
- updatedTime: convertDateToString(dateUpdatedUTC),
- createdStatusClass: statusCreatedClass,
- updatedStatusClass: statusUpdatedClass
- };
-
- requirejs(['text!templates/tooltip/character_info.html', 'mustache'], function(template, Mustache) {
- let content = Mustache.render(template, data);
-
- element.popover({
- placement: 'top',
- html: true,
- trigger: 'hover',
- content: '',
- container: 'body',
- title: 'Created / Updated',
- delay: {
- show: 250,
- hide: 0
- }
- });
-
- // set new popover content
- let popover = element.data('bs.popover');
- popover.options.content = content;
- });
-
- }
+ data = {
+ popoverClass: config.popoverCharacterClass,
+ ccpImageServerUrl: Init.url.ccpImageServer,
+ created: createdData,
+ updated: updatedData,
+ createdTime: convertDateToString(dateCreatedUTC),
+ updatedTime: convertDateToString(dateUpdatedUTC),
+ createdStatusClass: statusCreatedClass,
+ updatedStatusClass: statusUpdatedClass
+ };
}
- return element;
+ let defaultOptions = {
+ placement: 'top',
+ html: true,
+ trigger: 'hover',
+ container: 'body',
+ title: 'Created / Updated',
+ delay: {
+ show: 150,
+ hide: 0
+ }
+ };
+
+ options = $.extend({}, defaultOptions, options);
+
+ return this.each(function(){
+ let element = $(this);
+
+ requirejs(['text!templates/tooltip/character_info.html', 'mustache'], (template, Mustache) => {
+ let content = Mustache.render(template, data);
+
+ element.popover(options);
+
+ // set new popover content
+ let popover = element.data('bs.popover');
+ popover.options.content = content;
+
+ if(options.show){
+ element.popover('show');
+ }
+
+ });
+
+ });
};
/**
@@ -585,10 +589,10 @@ define([
let elements = $(this);
let eventNamespace = 'hideCharacterPopup';
- requirejs(['text!templates/tooltip/character_switch.html', 'mustache'], function (template, Mustache) {
+ requirejs(['text!templates/tooltip/character_switch.html', 'mustache'], function (template, Mustache){
let data = {
- id: config.headCharacterSwitchId,
+ popoverClass: config.popoverCharacterClass,
browserTabId: getBrowserTabId(),
routes: Init.routes,
userData: userData,
@@ -608,7 +612,7 @@ define([
let content = Mustache.render(template, data);
- return elements.each(function() {
+ return elements.each(function(){
let element = $(this);
// check if popover already exists -> remove it
@@ -616,7 +620,7 @@ define([
element.off('click').popover('destroy');
}
- element.on('click', function(e) {
+ element.on('click', function(e){
e.preventDefault();
e.stopPropagation();
@@ -631,7 +635,7 @@ define([
if(popoverData === undefined){
- button.on('shown.bs.popover', function (e) {
+ button.on('shown.bs.popover', function (e){
let tmpPopupElement = $(this).data('bs.popover').tip();
tmpPopupElement.find('.btn').on('click', function(e){
// close popover
@@ -662,7 +666,7 @@ define([
// character switch detected
$('body').data('characterSwitch', true);
// ... and remove "characterSwitch" data again! after "unload"
- setTimeout(function() {
+ setTimeout(function(){
$('body').removeData('characterSwitch');
}, 500);
});
@@ -690,7 +694,7 @@ define([
* @returns {*}
*/
$.fn.destroyPopover = function(recursive){
- return this.each(function() {
+ return this.each(function(){
let element = $(this);
let popoverSelector = '.' + config.popoverTriggerClass;
let popoverElements = element.filter(popoverSelector);
@@ -698,7 +702,7 @@ define([
popoverElements = popoverElements.add(element.find(popoverSelector));
}
- popoverElements.each(function() {
+ popoverElements.each(function(){
let popoverElement = $(this);
if(popoverElement.data('bs.popover')){
popoverElement.popover('destroy');
@@ -713,9 +717,9 @@ define([
* @returns {*}
*/
$.fn.initPopoverClose = function(eventNamespace){
- return this.each(function() {
- $('body').off('click.' + eventNamespace).on('click.' + eventNamespace + ' contextmenu', function (e) {
- $('.' + config.popoverTriggerClass).each(function () {
+ return this.each(function(){
+ $('body').off('click.' + eventNamespace).on('click.' + eventNamespace + ' contextmenu', function (e){
+ $('.' + config.popoverTriggerClass).each(function (){
let popoverElement = $(this);
//the 'is' for buttons that trigger popups
//the 'has' for icons within a button that triggers a popup
@@ -743,7 +747,7 @@ define([
* @returns {*}
*/
$.fn.setPopoverSmall = function(){
- return this.each(function() {
+ return this.each(function(){
let element = $(this);
let popover = element.data('bs.popover');
if(popover){
@@ -760,7 +764,7 @@ define([
$.fn.showMessage = function(config){
let containerElement = $(this);
- requirejs(['text!templates/form/message.html', 'mustache'], function(template, Mustache) {
+ requirejs(['text!templates/form/message.html', 'mustache'], function(template, Mustache){
let messageTypeClass = 'alert-danger';
let messageTextClass = 'txt-color-danger';
@@ -809,7 +813,7 @@ define([
* add/remove css class for keyframe animation
* @returns {any|JQuery|*}
*/
- $.fn.pulseTableRow = function(status, clear){
+ $.fn.pulseBackgroundColor = function(status, clear){
let animationClass = '';
switch(status){
@@ -819,9 +823,12 @@ define([
case 'changed':
animationClass = config.animationPulseWarningClass;
break;
+ case 'deleted':
+ animationClass = config.animationPulseDangerClass;
+ break;
}
- let clearTimer = function(element) {
+ let clearTimer = element => {
element.removeClass( animationClass );
let currentTimer = element.data('animationTimer');
@@ -841,7 +848,7 @@ define([
}
if(clear !== true){
- element.addClass( animationClass );
+ element.addClass(animationClass);
let timer = setTimeout(clearTimer, 1500, element);
element.data('animationTimer', timer);
animationTimerCache[timer] = true;
@@ -902,14 +909,14 @@ define([
const prepareSafeListener = (listener, passive) => {
if (!passive) return listener;
- return function (e) {
+ return function (e){
e.preventDefault = () => {};
return listener.call(this, e);
};
};
const overwriteAddEvent = (superMethod) => {
- EventTarget.prototype.addEventListener = function (type, listener, options) { // jshint ignore:line
+ EventTarget.prototype.addEventListener = function (type, listener, options){ // jshint ignore:line
const usesListenerOptions = typeof options === 'object';
const useCapture = usesListenerOptions ? options.capture : options;
@@ -927,20 +934,20 @@ define([
try {
const opts = Object.defineProperty({}, 'passive', {
- get() {
+ get(){
supported = true;
}
});
window.addEventListener('test', null, opts);
window.removeEventListener('test', null, opts);
- } catch (e) {}
+ } catch (e){}
return supported;
};
let supportsPassive = eventListenerOptionsSupported ();
- if (supportsPassive) {
+ if (supportsPassive){
const addEvent = EventTarget.prototype.addEventListener; // jshint ignore:line
overwriteAddEvent(addEvent);
}
@@ -953,8 +960,8 @@ define([
// Array diff
// [1,2,3,4,5,6].diff( [3,4,5] );
// => [1, 2, 6]
- Array.prototype.diff = function(a) {
- return this.filter(function(i) {return a.indexOf(i) < 0;});
+ Array.prototype.diff = function(a){
+ return this.filter(function(i){return a.indexOf(i) < 0;});
};
/**
@@ -962,7 +969,7 @@ define([
* @param p
* @returns {Array.}
*/
- Array.prototype.sortBy = function(p) {
+ Array.prototype.sortBy = function(p){
return this.slice(0).sort((a,b) => {
return (a[p] > b[p]) ? 1 : (a[p] < b[p]) ? -1 : 0;
});
@@ -972,10 +979,10 @@ define([
* get hash from string
* @returns {number}
*/
- String.prototype.hashCode = function() {
+ String.prototype.hashCode = function(){
let hash = 0, i, chr;
if (this.length === 0) return hash;
- for (i = 0; i < this.length; i++) {
+ for (i = 0; i < this.length; i++){
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
@@ -1094,6 +1101,12 @@ define([
if(resultsWrapper){
resultsWrapper.mCustomScrollbar('destroy');
}
+
+ // select2 sets :focus to the select2 field. This is bad!
+ // we want to keep the focus where it is (e.g. signature table cell)
+ // the only way to prevent this is to remove the element
+ // https://stackoverflow.com/questions/17995057/prevent-select2-from-autmatically-focussing-its-search-input-when-dropdown-is-op
+ $(this).parents('.editableform').find(this).next().find('.select2-selection').remove();
});
};
@@ -1262,7 +1275,7 @@ define([
// line breaks are 2 characters!
let newLines = value.match(/(\r\n|\n|\r)/g);
let addition = 0;
- if (newLines != null) {
+ if(newLines != null){
addition = newLines.length;
}
inputLength += addition;
@@ -1300,7 +1313,7 @@ define([
* stop browser tab title "blinking"
*/
let stopTabBlink = function(){
- requirejs(['notification'], function(Notification) {
+ requirejs(['notification'], function(Notification){
Notification.stopTabBlink();
});
};
@@ -1388,7 +1401,7 @@ define([
*/
let ajaxSetup = () => {
$.ajaxSetup({
- beforeSend: function(jqXHR, settings) {
+ beforeSend: function(jqXHR, settings){
// store request URL for later use (e.g. in error messages)
jqXHR.url = location.protocol + '//' + location.host + settings.url;
@@ -1579,11 +1592,13 @@ define([
};
/**
- * get Area ID by security string
+ * get areaId by security string
+ * areaId is required as a key for signature names
+ * if areaId is 0, no signature data is available for this system
* @param security
* @returns {number}
*/
- let getAreaIdBySecurity = (security) => {
+ let getAreaIdBySecurity = security => {
let areaId = 0;
switch(security){
case 'H':
@@ -1646,7 +1661,6 @@ define([
* @returns {string}
*/
let getStatusInfoForCharacter = (characterData, option) => {
-
let statusInfo = '';
// character status can not be checked if there are no reference data
@@ -1898,20 +1912,17 @@ define([
/**
* get signature group information
* @param option
- * @returns {{}}
+ * @returns {Array}
*/
- let getSignatureGroupInfo = function(option){
-
- let groupInfo = {};
-
- for (let prop in Init.signatureGroups) {
- if(Init.signatureGroups.hasOwnProperty(prop)){
- prop = parseInt(prop);
- groupInfo[prop] = Init.signatureGroups[prop][option];
- }
+ let getSignatureGroupOptions = option => {
+ let options = [];
+ for(let [key, data] of Object.entries(Init.signatureGroups)){
+ options.push({
+ value: parseInt(key),
+ text: data[option]
+ });
}
-
- return groupInfo;
+ return options;
};
/**
@@ -1943,28 +1954,22 @@ define([
* @param name
* @returns {number}
*/
- let getSignatureTypeIdByName = function(systemData, sigGroupId, name){
-
+ let getSignatureTypeIdByName = (systemData, sigGroupId, name) => {
let signatureTypeId = 0;
-
let areaId = getAreaIdBySecurity(systemData.security);
-
if(areaId > 0){
- let signatureNames = getAllSignatureNames(systemData.type.id, areaId, sigGroupId );
+ let signatureNames = getAllSignatureNames(systemData.type.id, areaId, sigGroupId);
name = name.toLowerCase();
-
- for(let prop in signatureNames) {
-
+ for(let prop in signatureNames){
if(
signatureNames.hasOwnProperty(prop) &&
signatureNames[prop].toLowerCase() === name
){
- signatureTypeId = parseInt( prop );
+ signatureTypeId = parseInt(prop);
break;
}
}
}
-
return signatureTypeId;
};
@@ -1995,9 +2000,8 @@ define([
* to keep the data always up2data
* @param mapUserData
*/
- let setCurrentMapUserData = (mapUserData) => {
+ let setCurrentMapUserData = mapUserData => {
Init.currentMapUserData = mapUserData;
-
return getCurrentMapUserData();
};
@@ -2006,7 +2010,7 @@ define([
* @param mapId
* @returns {boolean}
*/
- let getCurrentMapUserData = (mapId) => {
+ let getCurrentMapUserData = mapId => {
let currentMapUserData = false;
if(Init.currentMapUserData){
@@ -2041,7 +2045,7 @@ define([
* @param mapId
* @returns {boolean|int}
*/
- let getCurrentMapUserDataIndex = (mapId) => {
+ let getCurrentMapUserDataIndex = mapId => {
return getDataIndexByMapId(Init.currentMapUserData, mapId);
};
@@ -2049,7 +2053,7 @@ define([
* update cached mapUserData for a single map
* @param mapUserData
*/
- let updateCurrentMapUserData = (mapUserData) => {
+ let updateCurrentMapUserData = mapUserData => {
let mapUserDataIndex = getCurrentMapUserDataIndex( mapUserData.config.id );
if( !Array.isArray(Init.currentMapUserData) ){
@@ -2072,7 +2076,7 @@ define([
* to keep the data always up2data
* @param mapData
*/
- let setCurrentMapData = (mapData) => {
+ let setCurrentMapData = mapData => {
Init.currentMapData = mapData;
return getCurrentMapData();
@@ -2083,7 +2087,7 @@ define([
* @param mapId
* @returns {boolean}
*/
- let getCurrentMapData = (mapId) => {
+ let getCurrentMapData = mapId => {
let currentMapData = false;
if( mapId === parseInt(mapId, 10) ){
@@ -2107,7 +2111,7 @@ define([
* @param mapId
* @returns {boolean|int}
*/
- let getCurrentMapDataIndex = (mapId) => {
+ let getCurrentMapDataIndex = mapId => {
return getDataIndexByMapId(Init.currentMapData, mapId);
};
@@ -2115,7 +2119,7 @@ define([
* update cached mapData for a single map
* @param mapData
*/
- let updateCurrentMapData = (mapData) => {
+ let updateCurrentMapData = mapData => {
let mapDataIndex = getCurrentMapDataIndex( mapData.config.id );
if(mapDataIndex !== false){
@@ -2146,7 +2150,7 @@ define([
* delete map data by mapId from currentMapData
* @param mapId
*/
- let deleteCurrentMapData = (mapId) => {
+ let deleteCurrentMapData = mapId => {
Init.currentMapData = Init.currentMapData.filter((mapData) => {
return (mapData.config.id !== mapId);
});
@@ -2176,7 +2180,7 @@ define([
* @param option
* @returns {boolean}
*/
- let getCurrentUserInfo = (option) => {
+ let getCurrentUserInfo = option => {
let currentUserData = getCurrentUserData();
let userInfo = false;
@@ -2297,7 +2301,7 @@ define([
characterData = characterData.filter(function(tmpCharacterData, index, allData){
let keepData = true;
- for(let tmpJump in data) {
+ for(let tmpJump in data){
// just scan systems with > jumps than current system
if(tmpJump > jumps){
let filteredFinalData = data[tmpJump].filter(filterFinalCharData, tmpCharacterData);
@@ -2325,7 +2329,7 @@ define([
}
jumps++;
- for(let prop in nearBySystems.tree) {
+ for(let prop in nearBySystems.tree){
if( nearBySystems.tree.hasOwnProperty(prop) ){
let tmpSystemData = nearBySystems.tree[prop];
data = getNearByCharacterData(tmpSystemData, userData, jumps, data);
@@ -2374,7 +2378,7 @@ define([
responseData.systemData &&
responseData.systemData.length > 0
){
- for (let j = 0; j < responseData.systemData.length; j++) {
+ for (let j = 0; j < responseData.systemData.length; j++){
showNotify({title: this.description, text: 'System: ' + responseData.systemData[j].name, type: 'success'});
}
}
@@ -2388,7 +2392,7 @@ define([
}
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': ' + this.description, text: reason, type: 'warning'});
});
@@ -2452,7 +2456,7 @@ define([
}else{
showNotify({title: 'Open window in client', text: 'Check your EVE client', type: 'success'});
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': openWindow', text: reason, type: 'error'});
});
@@ -2585,9 +2589,9 @@ define([
element.off(eventName).on(eventName, function(e){
clicks++;
- if (clicks === 1) {
+ if (clicks === 1){
setTimeout(element => {
- if(clicks === 1) {
+ if(clicks === 1){
singleClickCallback.call(element, e);
} else {
doubleClickCallback.call(element, e);
@@ -2666,7 +2670,7 @@ define([
if(data.reroute){
redirect(data.reroute, ['logout']);
}
- }).fail(function( jqXHR, status, error) {
+ }).fail(function( jqXHR, status, error){
let reason = status + ' ' + error;
showNotify({title: jqXHR.status + ': logout', text: reason, type: 'error'});
});
@@ -2709,13 +2713,13 @@ define([
let name = cname + '=';
let ca = document.cookie.split(';');
- for(let i = 0; i Username
@@ -68,7 +68,7 @@
Email
-
+
{{#userData.email}}
{{userData.email}}
{{/userData.email}}
diff --git a/public/templates/dialog/signature_reader.html b/public/templates/dialog/signature_reader.html
index dc32d37b..766b0345 100644
--- a/public/templates/dialog/signature_reader.html
+++ b/public/templates/dialog/signature_reader.html
@@ -1,14 +1,14 @@