From c9493acb766f1b6cfd91bb21a41aef9d27865339 Mon Sep 17 00:00:00 2001 From: Slaven Stancic Date: Fri, 15 May 2020 17:53:59 +0200 Subject: [PATCH] - JS full rework and removed jquery - Css full rework and removed bootstrap --- .gitignore | 3 +- wcms-admin.js | 376 +++++++++++++++++++++++++++++++++------------ wcms-admin.min.css | 2 +- wcms-admin.min.js | 4 +- 4 files changed, 280 insertions(+), 105 deletions(-) diff --git a/.gitignore b/.gitignore index b512c09..34977ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -node_modules \ No newline at end of file +node_modules +.idea \ No newline at end of file diff --git a/wcms-admin.js b/wcms-admin.js index f0c2561..7475579 100644 --- a/wcms-admin.js +++ b/wcms-admin.js @@ -1,106 +1,282 @@ -function fieldSave(id, newContent, dataTarget, dataMenu, dataVisibility, oldContent) { - if (newContent !== oldContent) { - $("#save").show(), $.post("", { - fieldname: id, - token: token, - content: newContent, - target: dataTarget, - menu: dataMenu, - visibility: dataVisibility - }, function (a) { - }).always(function () { - window.location.reload(); +class wcmsAdmin { + constructor() { + const self = this; + + // Modals + const openModalButton = document.querySelectorAll('[data-toggle="wcms-modal"]'); + const closeModalButton = document.querySelectorAll('[data-dismiss="wcms-modal"]'); + const modals = document.getElementsByClassName('wcms-modal'); + + openModalButton.forEach((element) => { + element.addEventListener('click', function () { + wcmsAdminActions.toggleModal(this, true); + }) + }); + + document.addEventListener('click', function(e) { + if([...modals].includes(e.target) || [...closeModalButton].includes(e.target)) { + wcmsAdminActions.toggleModal(this, false); + } + }); + + // Tabs + const navTabs = document.querySelectorAll('ul.nav-tabs > li > a'); + navTabs.forEach((element) => { + element.addEventListener('click', function (e) { + e.preventDefault(); + wcmsAdminActions.openTabAction(this); + }) + }); + + // Loader + const loaderLinks = document.querySelectorAll('[data-loader-id]'); + loaderLinks.forEach((link) => { + link.addEventListener('click', function (event) { + wcmsAdminActions.showLoader(true, this.dataset.loaderId); + }) + }); + + // Editable fields content save + const editableText = document.querySelectorAll('div.editText:not(.editTextOpen)'); + editableText.forEach((editableElement) => { + editableElement.addEventListener('click', self.constructEditableFieldsAction); + }); + + // Menu item hidden or visible + const menuToggling = document.querySelectorAll('i.menu-toggle'); + menuToggling.forEach((menuToggle) => { + menuToggle.addEventListener('click', self.hideOrShowMenuItemsAction) }); - } else { - const target = $('#' + id); - target.removeClass('editTextOpen'); - target.html(newContent); + + // Add new page + document.getElementById('menuItemAdd').addEventListener('click', wcmsAdminActions.createNewPage); + + // Reorder menu item + const menuSortTriggers = document.querySelectorAll('.menu-item-up, .menu-item-down'); + menuSortTriggers.forEach((sortTrigger) => { + sortTrigger.addEventListener('click', self.reorderMenuItemsAction) + }); + + // Change default page + document.getElementById('changeDefaultPage').addEventListener('change', wcmsAdminActions.changeDefaultPage); } -} -function editableTextArea(editableTarget) { - const data = ( - target = editableTarget, - content = target.html(), - title = target.attr("title") ? '"' + target.attr("title") + '" ' : '', - targetId = target.attr('id'), - "" - ); - - editableTarget.html(data); + /** + * Method for creating textarea instead of selected editable fields + */ + constructEditableFieldsAction() { + const target = this; + if (target.classList.contains('editTextOpen')) { + return; + } + + target.classList.add('editTextOpen'); + wcmsAdminActions.editableTextArea(target); + target.firstChild.focus(); + + const textarea = target.getElementsByTagName('textarea'); + autosize(textarea); + tabOverride.set(textarea); + } + + /** + * Method for reordering the items from menu + */ + reorderMenuItemsAction() { + const target = this; + const position = target.classList.contains('menu-item-up') ? '-1' : '1'; + + wcmsAdminActions.sendPostRequest('menuItems', position, 'menuItemOrder', target.dataset.menu); + } + + /** + * Method for hiding or showing the items from menu + */ + hideOrShowMenuItemsAction() { + const target = this; + let visibility = null; + + if (target.classList.contains('menu-item-hide')) { + target.classList.remove('eyeShowIcon', 'menu-item-hide'); + target.classList.add('eyeHideIcon', 'menu-item-show'); + target.setAttribute('title', 'Hide page from menu'); + visibility = 'hide'; + } else if (target.classList.contains('menu-item-show')) { + target.classList.add('eyeShowIcon', 'menu-item-hide'); + target.classList.remove('eyeHideIcon', 'menu-item-show'); + target.setAttribute('title', 'Show page in menu'); + visibility = 'show'; + } else { + return; + } + + target.setAttribute('data-visibility', visibility); + wcmsAdminActions.sendPostRequest('menuItems', ' ', 'menuItemVsbl', target.dataset.menu, visibility); + } } -// Open direct tab in modal -$("#settingsModal").on("show.bs.modal", function (t) { - var e = $(t.relatedTarget); - $("a[href='" + e.data("target-tab") + "']").tab("show") -}); - -$(document).tabOverride(!0, "textarea"); - -$(document).ready(function () { - // Loader - $("body").on("click", "[data-loader-id]", function (t) { - $("#" + $(t.target).data("loader-id")).show() - }); - - // Editable fields content save - $("body").on("click", "div.editText:not(.editTextOpen)", function () { - const target = $(this); - target.addClass('editTextOpen'); - editableTextArea(target); - target.children(':first').focus(); - autosize($('textarea')); - }); - - // Menu item hidden or visible - $("body").on("click", "i.menu-toggle", function () { - var t = $(this), e = (setTimeout(function () { - window.location.reload() - }, 500), t.attr("data-menu")); - t.hasClass("menu-item-hide") ? (t.removeClass("glyphicon-eye-open menu-item-hide").addClass("glyphicon-eye-close menu-item-show"), t.attr("title", "Hide page from menu").attr("data-visibility", "hide"), $.post("", { - fieldname: "menuItems", - token: token, - content: " ", - target: "menuItemVsbl", - menu: e, - visibility: "hide" - }, function (t) { - })) : t.hasClass("menu-item-show") && (t.removeClass("glyphicon-eye-close menu-item-show").addClass("glyphicon-eye-open menu-item-hide"), t.attr("title", "Show page in menu").attr("data-visibility", "show"), $.post("", { - fieldname: "menuItems", - token: token, - content: " ", - target: "menuItemVsbl", - menu: e, - visibility: "show" - }, function (t) { - })) - }); - - // Add new page - $("body").on("click", ".menu-item-add", function () { - var t = prompt("Enter page name"); - if (!t) return !1; - t = t.replace(/[`~;:'",.<>\{\}\[\]\\\/]/gi, "").trim(), $.post("", { - fieldname: "menuItems", +/** + * Wcms action method + */ +const wcmsAdminActions = { + /** + * Method to open tab content + */ + openTabAction(target) { + const tabsNavContainer = target.closest('.nav-tabs'); + const tabContentId = target.getAttribute('href').replace('#', ''); + const tabContent = document.getElementById(tabContentId); + const tabsContentContainer = tabContent.closest('.tab-content'); + + tabsNavContainer.querySelector('.active').classList.remove('active'); + tabsContentContainer.querySelector('.active').classList.remove('active'); + tabContent.classList.add('active'); + target.classList.add('active'); + }, + + /** + * Toggle modal based on clicked element + * @param target + * @param show + */ + toggleModal(target, show) { + if (show) { + const modalId = target.getAttribute('href').replace('#', ''); + document.body.classList.add('modal-open'); + document.getElementById(modalId).style.display = 'block'; + + const targetTab = target.dataset.targetTab; + if (targetTab) { + const navTab = document.querySelector('ul.nav-tabs > li > a[href="' + targetTab + '"]'); + if (navTab) { + wcmsAdminActions.openTabAction(navTab); + } + } + return; + } + + document.body.classList.remove('modal-open'); + if (target.dataset && target.dataset.dismiss) { + target.closest('.wcms-modal').style.display = 'none'; + return; + } + + // close all modals + [].forEach.call(document.getElementsByClassName('wcms-modal'), function(el) { + el.style.display = 'none'; + }); + }, + + /** + * Method for creating new page + * + * @returns {boolean} + */ + createNewPage: () => { + let newPageName = prompt('Enter page name'); + if (!newPageName) { + return false; + } + + newPageName = newPageName.replace(/[`~;:'",.<>\{\}\[\]\\\/]/gi, '').trim(); + wcmsAdminActions.sendPostRequest('menuItems', newPageName, 'menuItem', 'none', 'hide'); + }, + + /** + * Method for changing default page + * + * @returns {boolean} + */ + changeDefaultPage: () => { + wcmsAdminActions.sendPostRequest('defaultPage', this.value, 'config'); + }, + + /** + * Ajax saving method + */ + contentSave: (id, newContent, dataTarget, dataMenu, dataVisibility, oldContent) => { + if (newContent !== oldContent) { + encodeURIComponent(wcmsAdminActions.sendPostRequest(id, newContent, dataTarget, dataMenu, dataVisibility)); + return; + } + + const target = document.getElementById(id); + target.classList.remove('editTextOpen'); + target.innerHTML = newContent; + }, + + /** + * Post data to API and reload + * + * @param fieldname + * @param content + * @param target + * @param menu + * @param visibility + */ + sendPostRequest: (fieldname, content, target, menu, visibility = null) => { + wcmsAdminActions.showLoader(true); + + const dataRaw = { + fieldname: fieldname, token: token, - content: t, - target: "menuItem", - menu: "none" - }, function (t) { - }).done(setTimeout(function () { - window.location.reload() - }, 500)) - }); - - // Reorder menu item - $("body").on("click", ".menu-item-up,.menu-item-down", function () { - var t = $(this), e = t.hasClass("menu-item-up") ? "-1" : "1", n = t.attr("data-menu"); - $.post("", {fieldname: "menuItems", token: token, content: e, target: "menuItemOrder", menu: n}, function (t) { - }).done(function () { - $("#menuSettings").parent().load("index.php #menuSettings") - }) - }) -}); + content: content, + target: target, + menu: menu, + visibility: visibility + }; + const data = Object.keys(dataRaw).map(function (key, index) { + return [key, dataRaw[key]].join('='); + }).join('&'); + + // Send request + const request = new XMLHttpRequest(); + request.onreadystatechange = function () { + setTimeout(() => window.location.reload(), 50); + } + request.open('POST', '', false); + request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); + request.send(data); + }, + + /** + * Show saving loader + * @param show + * @param loaderId + */ + showLoader: (show, loaderId = 'save') => { + const loader = document.getElementById(loaderId); + loader.style.display = show ? 'block' : 'none'; + }, + + /** + * Create editable field after clicking on div + * @param editableTarget + */ + editableTextArea: (editableTarget) => { + const target = editableTarget; + const content = target.innerHTML; + const targetId = target.getAttribute('id'); + + const newElement = document.createElement('textarea'); + newElement.onblur = function () { + wcmsAdminActions.contentSave( + targetId, + this.value, + target.dataset.target, + target.dataset.menu, + target.dataset.visibility, + content + ); + } + newElement.setAttribute('id', targetId + '_field'); + newElement.innerHTML = content; + + editableTarget.innerHTML = ''; + editableTarget.appendChild(newElement); + } +} + +document.addEventListener("DOMContentLoaded", function () { + new wcmsAdmin(); +}); \ No newline at end of file diff --git a/wcms-admin.min.css b/wcms-admin.min.css index ab691e2..c7b8d4c 100644 --- a/wcms-admin.min.css +++ b/wcms-admin.min.css @@ -1 +1 @@ -.alert{margin-bottom:0}div.editText{word-wrap:break-word;border:2px dashed #ccc;display:block}div.editText textarea{outline:0;border:none;width:100%;resize:none;color:inherit;font-size:inherit;font-family:inherit;background-color:transparent;overflow:hidden;box-sizing:content-box}div.editText:empty{min-height:20px}#save,.loader-overlay{color:#ccc;left:0;width:100%;height:100%;display:none;position:fixed;text-align:center;padding-top:100px;background:rgba(51,51,51,.8);z-index:2448}.change{padding-left:15px}.marginTop5{margin-top:5px}.marginTop20{margin-top:20px}.marginLeft5{margin-left:5px}.padding20{padding:20px}.subTitle{color:#aaa;font-size:24px;margin:20px 0 5px;font-variant:all-small-caps}.menu-item-hide{color:#5bc0de}.menu-item-delete,.menu-item-hide,.menu-item-show{padding:0 10%}.tab-content{padding:20px}#adminPanel{background:#e5e5e5;color:#aaa;font-family:Lucida Sans Unicode,Verdana;font-size:14px;text-align:left;font-variant:small-caps}#adminPanel .fas,.cursorPointer,div.editText{cursor:pointer}#adminPanel .btn{overflow:hidden;white-space:nowrap;display:inline-block;text-overflow:ellipsis}#adminPanel .fontSize21{font-size:21px}#adminPanel a{color:#aaa;outline:0;border:0;text-decoration:none}#adminpanel .alert a,#adminPanel a.btn{color:#fff}#adminPanel div.editText{color:#555;font-variant:normal}#adminPanel .normalFont{font-variant:normal;word-wrap:break-word}#adminPanel .nav-tabs{border-bottom:2px solid #ddd}#adminPanel .nav-tabs>li>a:after{content:"";background:#1ab;height:2px;position:absolute;width:100%;left:0;bottom:-2px;transition:all .25s ease 0s;transform:scale(0)}#adminPanel .nav-tabs>li.active>a:after,#adminPanel .nav-tabs>li:hover>a,#adminPanel .nav-tabs>li:hover>a:after,#adminPanel .nav-tabs>li>a{transform:scale(1)}#adminPanel .nav-tabs>li>a.active{border-bottom:2px solid #1ab!important}#adminPanel .modal-content{background-color:#eee}#adminPanel .modal-header{border:0}#adminPanel .nav li{font-size:30px;float:none;display:inline-block}#adminPanel .tab-pane.active a.btn{color:#fff}#adminPanel .btn-info{background-color:#5bc0de;border-color:#5bc0de}#adminPanel .nav-link.active,#adminPanel .nav-tabs>li.active a,#adminPanel .tab-pane.active{background:0!important;border:0!important;color:#aaa!important}#adminPanel .clear{clear:both}#adminPanel .custom-cards>div{margin:15px 0}#adminPanel .custom-cards>div>div{box-shadow:-1px -1px 6px 0 rgba(0,0,0,.1);padding:.5em}#adminPanel .custom-cards>div>div h4{font-weight:700;margin-bottom:.2em;line-height:1em;min-height:40px}#adminPanel .custom-cards .col-sm-4:nth-child(3n+1){clear:left}.adminTab.col-xs-12{display:flex;flex-direction:column-reverse;padding:0}@media (min-width:768px){#adminPanel .modal-xl{width:90%;max-width:1200px}} \ No newline at end of file +#settingsModal{background-color:rgba(0,0,0,.36)}.settingsIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg aria-hidden='true' data-prefix='fas' data-icon='cog' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z'/%3E%3C/svg%3E");width:1em;height:1em;padding:8px 8px 11px 17px;margin:1px 1px 1px -2px}.logoutIcon,.settingsIcon{display:block;float:left;background-repeat:no-repeat}.logoutIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-box-arrow-right' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M11.646 11.354a.5.5 0 010-.708L14.293 8l-2.647-2.646a.5.5 0 01.708-.708l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708 0z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M4.5 8a.5.5 0 01.5-.5h9a.5.5 0 010 1H5a.5.5 0 01-.5-.5z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M2 13.5A1.5 1.5 0 01.5 12V4A1.5 1.5 0 012 2.5h7A1.5 1.5 0 0110.5 4v1.5a.5.5 0 01-1 0V4a.5.5 0 00-.5-.5H2a.5.5 0 00-.5.5v8a.5.5 0 00.5.5h7a.5.5 0 00.5-.5v-1.5a.5.5 0 011 0V12A1.5 1.5 0 019 13.5H2z' clip-rule='evenodd'/%3E%3C/svg%3E");width:1.3em;height:1.3em}.animationLoader{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 45 45' xmlns='http://www.w3.org/2000/svg' stroke='%231ab'%3E%3Cg fill='none' fill-rule='evenodd' transform='translate(1 1)' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='6' stroke='none'%3E%3Canimate attributeName='r' begin='1.5s' dur='3s' values='6;22' calcMode='linear' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='1.5s' dur='3s' values='1;0' calcMode='linear' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-width' begin='1.5s' dur='3s' values='2;0' calcMode='linear' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='6' stroke='none'%3E%3Canimate attributeName='r' begin='3s' dur='3s' values='6;22' calcMode='linear' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='3s' dur='3s' values='1;0' calcMode='linear' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-width' begin='3s' dur='3s' values='2;0' calcMode='linear' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='8'%3E%3Canimate attributeName='r' begin='0s' dur='1.5s' values='6;1;2;3;4;5;6' calcMode='linear' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");width:5em;height:5em;display:block;text-align:center;margin:0 auto}.animationLoader,.editIcon{background-repeat:no-repeat}.editIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-pencil-square' viewBox='0 0 16 16' stroke='%23555' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.502 1.94a.5.5 0 010 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 01.707 0l1.293 1.293zm-1.75 2.456l-2-2L4.939 9.21a.5.5 0 00-.121.196l-.805 2.414a.25.25 0 00.316.316l2.414-.805a.5.5 0 00.196-.12l6.813-6.814z'/%3E%3Cpath fill-rule='evenodd' d='M1 13.5A1.5 1.5 0 002.5 15h11a1.5 1.5 0 001.5-1.5v-6a.5.5 0 00-1 0v6a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5H9a.5.5 0 000-1H2.5A1.5 1.5 0 001 2.5v11z' clip-rule='evenodd'/%3E%3C/svg%3E");width:1.5em;height:1.5em;display:inline-block;margin:10px 0 0 -4px;float:left}.editIcon a,a:active,a:focus{outline:none!important}#save,.loader-overlay{color:#ccc;left:0;width:100%;height:100%;display:none;position:fixed;text-align:center;padding-top:100px;background:rgba(51,51,51,.8);z-index:2448}#adminPanel .deleteIcon,#adminPanel .deleteIconInButton{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-trash' width='1em' height='1em' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 5.5A.5.5 0 016 6v6a.5.5 0 01-1 0V6a.5.5 0 01.5-.5zm2.5 0a.5.5 0 01.5.5v6a.5.5 0 01-1 0V6a.5.5 0 01.5-.5zm3 .5a.5.5 0 00-1 0v6a.5.5 0 001 0V6z'/%3E%3Cpath fill-rule='evenodd' d='M14.5 3a1 1 0 01-1 1H13v9a2 2 0 01-2 2H5a2 2 0 01-2-2V4h-.5a1 1 0 01-1-1V2a1 1 0 011-1H6a1 1 0 011-1h2a1 1 0 011 1h3.5a1 1 0 011 1v1zM4.118 4L4 4.059V13a1 1 0 001 1h6a1 1 0 001-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z' clip-rule='evenodd'/%3E%3C/svg%3E");display:block;width:1.1em;height:1.1em;float:left;background-repeat:no-repeat}#adminPanel .deleteIconInButton{margin:4px 6px 0 0}#adminPanel .eyeShowIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-eye' viewBox='0 0 16 16' fill='%231ab' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.134 13.134 0 001.66 2.043C4.12 11.332 5.88 12.5 8 12.5c2.12 0 3.879-1.168 5.168-2.457A13.134 13.134 0 0014.828 8a13.133 13.133 0 00-1.66-2.043C11.879 4.668 10.119 3.5 8 3.5c-2.12 0-3.879 1.168-5.168 2.457A13.133 13.133 0 001.172 8z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M8 5.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zM4.5 8a3.5 3.5 0 117 0 3.5 3.5 0 01-7 0z' clip-rule='evenodd'/%3E%3C/svg%3E")}#adminPanel .eyeHideIcon,#adminPanel .eyeShowIcon{width:1.4em;height:1.4em;float:right;background-repeat:no-repeat;padding:10px!important;margin-top:5px}#adminPanel .eyeHideIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-eye-slash' viewBox='0 0 16 16' fill='%23aaa' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 00-2.79.588l.77.771A5.944 5.944 0 018 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0114.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z'/%3E%3Cpath d='M11.297 9.176a3.5 3.5 0 00-4.474-4.474l.823.823a2.5 2.5 0 012.829 2.829l.822.822zm-2.943 1.299l.822.822a3.5 3.5 0 01-4.474-4.474l.823.823a2.5 2.5 0 002.829 2.829z'/%3E%3Cpath d='M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 001.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 018 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709z'/%3E%3Cpath fill-rule='evenodd' d='M13.646 14.354l-12-12 .708-.708 12 12-.708.708z' clip-rule='evenodd'/%3E%3C/svg%3E")}#adminPanel .addNewIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-plus-circle' width='1em' height='1em' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M8 3.5a.5.5 0 01.5.5v4a.5.5 0 01-.5.5H4a.5.5 0 010-1h3.5V4a.5.5 0 01.5-.5z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M7.5 8a.5.5 0 01.5-.5h4a.5.5 0 010 1H8.5V12a.5.5 0 01-1 0V8z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M8 15A7 7 0 108 1a7 7 0 000 14zm0 1A8 8 0 108 0a8 8 0 000 16z' clip-rule='evenodd'/%3E%3C/svg%3E");margin:-2px 4px -4px 0}#adminPanel .addNewIcon,#adminPanel .checkmarkIcon{display:inline-block;width:1.2em;height:1.2em;background-repeat:no-repeat}#adminPanel .checkmarkIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-check' width='1em' height='1em' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M13.854 3.646a.5.5 0 010 .708l-7 7a.5.5 0 01-.708 0l-3.5-3.5a.5.5 0 11.708-.708L6.5 10.293l6.646-6.647a.5.5 0 01.708 0z' clip-rule='evenodd'/%3E%3C/svg%3E");margin:-2px 4px -2px 0}#adminPanel .installIcon,.alertWrapper .installIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-download' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M.5 8a.5.5 0 01.5.5V12a1 1 0 001 1h12a1 1 0 001-1V8.5a.5.5 0 011 0V12a2 2 0 01-2 2H2a2 2 0 01-2-2V8.5A.5.5 0 01.5 8z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M5 7.5a.5.5 0 01.707 0L8 9.793 10.293 7.5a.5.5 0 11.707.707l-2.646 2.647a.5.5 0 01-.708 0L5 8.207A.5.5 0 015 7.5z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M8 1a.5.5 0 01.5.5v8a.5.5 0 01-1 0v-8A.5.5 0 018 1z' clip-rule='evenodd'/%3E%3C/svg%3E");display:inline-block;width:1.5em;height:1.5em;background-repeat:no-repeat;margin:0 8px -6px 0}#adminPanel .refreshIcon,.alertWrapper .refreshIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-arrow-repeat' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M2.854 7.146a.5.5 0 00-.708 0l-2 2a.5.5 0 10.708.708L2.5 8.207l1.646 1.647a.5.5 0 00.708-.708l-2-2zm13-1a.5.5 0 00-.708 0L13.5 7.793l-1.646-1.647a.5.5 0 00-.708.708l2 2a.5.5 0 00.708 0l2-2a.5.5 0 000-.708z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M8 3a4.995 4.995 0 00-4.192 2.273.5.5 0 01-.837-.546A6 6 0 0114 8a.5.5 0 01-1.001 0 5 5 0 00-5-5zM2.5 7.5A.5.5 0 013 8a5 5 0 009.192 2.727.5.5 0 11.837.546A6 6 0 012 8a.5.5 0 01.501-.5z' clip-rule='evenodd'/%3E%3C/svg%3E");width:1.5em;height:1.5em;background-repeat:no-repeat;margin:0 8px -6px 0;float:left}#adminPanel .lockIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-lock' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M11.5 8h-7a1 1 0 00-1 1v5a1 1 0 001 1h7a1 1 0 001-1V9a1 1 0 00-1-1zm-7-1a2 2 0 00-2 2v5a2 2 0 002 2h7a2 2 0 002-2V9a2 2 0 00-2-2h-7zm0-3a3.5 3.5 0 117 0v3h-1V4a2.5 2.5 0 00-5 0v3h-1V4z' clip-rule='evenodd'/%3E%3C/svg%3E");margin:-2px}#adminPanel .lockIcon,#adminPanel .uploadIcon{display:inline-block;width:1.2em;height:1.2em;background-repeat:no-repeat}#adminPanel .uploadIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-upload' width='1em' height='1em' viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M.5 8a.5.5 0 01.5.5V12a1 1 0 001 1h12a1 1 0 001-1V8.5a.5.5 0 011 0V12a2 2 0 01-2 2H2a2 2 0 01-2-2V8.5A.5.5 0 01.5 8zM5 4.854a.5.5 0 00.707 0L8 2.56l2.293 2.293A.5.5 0 1011 4.146L8.354 1.5a.5.5 0 00-.708 0L5 4.146a.5.5 0 000 .708z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M8 2a.5.5 0 01.5.5v8a.5.5 0 01-1 0v-8A.5.5 0 018 2z' clip-rule='evenodd'/%3E%3C/svg%3E");margin:-2px 7px -3px 0}#adminPanel .linkIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-link-45deg' width='1em' height='1em' viewBox='0 0 16 16' fill='%23aaa' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.715 6.542L3.343 7.914a3 3 0 104.243 4.243l1.828-1.829A3 3 0 008.586 5.5L8 6.086a1.001 1.001 0 00-.154.199 2 2 0 01.861 3.337L6.88 11.45a2 2 0 11-2.83-2.83l.793-.792a4.018 4.018 0 01-.128-1.287z'/%3E%3Cpath d='M5.712 6.96l.167-.167a1.99 1.99 0 01.896-.518 1.99 1.99 0 01.518-.896l.167-.167A3.004 3.004 0 006 5.499c-.22.46-.316.963-.288 1.46z'/%3E%3Cpath d='M6.586 4.672A3 3 0 007.414 9.5l.775-.776a2 2 0 01-.896-3.346L9.12 3.55a2 2 0 012.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 00-4.243-4.243L6.586 4.672z'/%3E%3Cpath d='M10 9.5a2.99 2.99 0 00.288-1.46l-.167.167a1.99 1.99 0 01-.896.518 1.99 1.99 0 01-.518.896l-.167.167A3.004 3.004 0 0010 9.501z'/%3E%3C/svg%3E");width:1.2em;height:1.2em;background-repeat:no-repeat;padding:3px 3px 0 12px;margin-top:5px;display:inline-block}#adminPanel .upArrowIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-arrow-up-short' viewBox='0 0 16 16' fill='%23aaa' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M8 5.5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V6a.5.5 0 01.5-.5z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L8 5.707 5.354 8.354a.5.5 0 11-.708-.708l3-3z' clip-rule='evenodd'/%3E%3C/svg%3E")}#adminPanel .downArrowIcon,#adminPanel .upArrowIcon{width:2.5em;height:2.5em;background-repeat:no-repeat;margin:0 3px 0 -15px;display:inline-block;float:left}#adminPanel .downArrowIcon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-arrow-down-short' viewBox='0 0 16 16' fill='%23aaa' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M4.646 7.646a.5.5 0 01.708 0L8 10.293l2.646-2.647a.5.5 0 01.708.708l-3 3a.5.5 0 01-.708 0l-3-3a.5.5 0 010-.708z' clip-rule='evenodd'/%3E%3Cpath fill-rule='evenodd' d='M8 4.5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V5a.5.5 0 01.5-.5z' clip-rule='evenodd'/%3E%3C/svg%3E")}.alertWrapper{position:fixed;left:50%;transform:translate(-50%);z-index:501;max-width:50%;font-size:14px;top:0}.editText{word-wrap:break-word;border:2px dashed #ccc;display:block;min-height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-pencil-square' viewBox='0 0 16 16' stroke='%23555' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.502 1.94a.5.5 0 010 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 01.707 0l1.293 1.293zm-1.75 2.456l-2-2L4.939 9.21a.5.5 0 00-.121.196l-.805 2.414a.25.25 0 00.316.316l2.414-.805a.5.5 0 00.196-.12l6.813-6.814z'/%3E%3Cpath fill-rule='evenodd' d='M1 13.5A1.5 1.5 0 002.5 15h11a1.5 1.5 0 001.5-1.5v-6a.5.5 0 00-1 0v6a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5H9a.5.5 0 000-1H2.5A1.5 1.5 0 001 2.5v11z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:99.8% 4px;background-size:20px 20px;padding:10px 25px 10px 10px}.editTextOpen:focus-within{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg class='bi bi-pencil-square' viewBox='0 0 16 16' stroke='%2314cde1' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.502 1.94a.5.5 0 010 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 01.707 0l1.293 1.293zm-1.75 2.456l-2-2L4.939 9.21a.5.5 0 00-.121.196l-.805 2.414a.25.25 0 00.316.316l2.414-.805a.5.5 0 00.196-.12l6.813-6.814z'/%3E%3Cpath fill-rule='evenodd' d='M1 13.5A1.5 1.5 0 002.5 15h11a1.5 1.5 0 001.5-1.5v-6a.5.5 0 00-1 0v6a.5.5 0 01-.5.5h-11a.5.5 0 01-.5-.5v-11a.5.5 0 01.5-.5H9a.5.5 0 000-1H2.5A1.5 1.5 0 001 2.5v11z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:99.8% 4px;background-size:20px 20px}.editText textarea{outline:0;border:none;width:100%;color:inherit;font-size:inherit;font-family:inherit;background-color:transparent;padding-bottom:10px;resize:none;text-align:inherit}.editTextOpen{border:2px dashed #0eb9cc}.editText:empty{min-height:35px}#adminPanel .change{padding-left:20px}#adminPanel .marginTop5,.alertWrapper .marginTop5{margin-top:5px}#adminPanel .marginTop20,.alertWrapper .marginTop20{margin-top:20px}#adminPanel .marginTop40{margin-top:40px}#adminPanel .marginBottom20{margin-bottom:20px!important}#adminPanel .marginLeft5{margin-left:5px}#adminPanel .subTitle{color:#aaa;font-size:24px;margin:30px 0 8px}#adminPanel .subTitle,#adminpanel select,.btn,.form-control{font-variant:all-small-caps}#adminPanel .menu-item-hide{color:#5bc0de}#adminPanel .menu-item-delete,.menu-item-hide,.menu-item-show{padding:0 10%}#adminPanel .tab-content{margin-top:20px}#adminPanel .fas,.cursorPointer,.editText{cursor:pointer}#adminPanel .fontSize21{font-size:21px}#adminPanel a{color:#aaa;outline:0;border:0;text-decoration:none}#adminpanel .alert a,#adminPanel a.btn{color:#fff}#adminPanel .editText{color:#555;font-variant:normal}#adminPanel .normalFont{font-variant:normal;word-wrap:break-word}#adminPanel .nav-tabs>li>a:after{content:"";background:#1ab;height:2px;position:absolute;width:100%;left:0;bottom:-2px;transition:all .25s ease 0s;transform:scale(0)}#adminPanel .nav-tabs>li.active>a:after,#adminPanel .nav-tabs>li:hover>a,#adminPanel .nav-tabs>li:hover>a:after,#adminPanel .nav-tabs>li>a{transform:scale(1)}#adminPanel .nav-tabs>li>a.active{border-bottom:2px solid #1ab!important}#adminPanel .modal-content{background-color:#eee}#adminPanel .modal-header{border:0}#adminPanel .nav li{font-size:30px;float:none;display:inline-block}#adminPanel .tab-pane.active a.btn{color:#fff}#adminPanel .nav-link.active,#adminPanel .nav-tabs>li.active a,#adminPanel .tab-pane.active{background:0!important;border:0!important;color:#aaa!important}#adminPanel .clear{clear:both}#adminPanel .custom-cards>div{margin:15px 0}#adminPanel .custom-cards>div>div{box-shadow:-1px -1px 6px 0 rgba(0,0,0,.1);padding:.8em;font-size:.9em}#adminPanel .custom-cards>div>div h4{font-weight:700;font-size:1.5em;margin-bottom:.2em;line-height:1em;min-height:40px;margin-top:1em}#adminPanel .custom-cards .btn{font-size:1em}#adminPanel .custom-cards .deleteIcon{font-size:1.1em}#adminPanel .custom-cards .col-sm-4:nth-child(3n+1){clear:left}#adminPanel .button{position:fixed;z-index:1040;padding:5px 10px;font-size:15px!important}#adminPanel .settings{top:20px;right:105px;min-height:36px;max-height:36px}#adminPanel .logout{top:20px;right:50px;min-height:36px;max-height:36px}#adminPanel footer,header,nav,section,summary{display:block}#adminPanel textarea{overflow:auto}#adminPanel *,#adminPanel:after,:before{box-sizing:border-box}#adminPanel{font-family:Lucida Sans Unicode,Verdana,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333;background-color:#fff;font-variant:small-caps;text-shadow:none}#adminPanel button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}#adminPanel p{margin:0 0 10px}#adminPanel .small{font-size:85%}#adminPanel .text-left{text-align:left}#adminPanel .text-right{text-align:right}#adminPanel .text-center{text-align:center!important}#adminPanel .container,#adminPanel .container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}#adminPanel .row{margin-right:-15px;margin-left:-15px}#adminPanel .col-xs-1,.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,.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,.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,.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{position:relative;min-height:1px;padding-right:15px;padding-left:15px}#adminPanel .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}#adminPanel .col-xs-12{width:100%}#adminPanel .col-xs-11{width:91.66666667%}#adminPanel .col-xs-10{width:83.33333333%}#adminPanel .col-xs-9{width:75%}#adminPanel .col-xs-8{width:66.66666667%}#adminPanel .col-xs-7{width:58.33333333%}#adminPanel .col-xs-6{width:50%}#adminPanel .col-xs-5{width:41.66666667%}#adminPanel .col-xs-4{width:33.33333333%}#adminPanel .col-xs-3{width:25%}#adminPanel .col-xs-2{width:16.66666667%}#adminPanel .col-xs-1{width:8.33333333%}#adminPanel .col-xs-pull-12{right:100%}#adminPanel .col-xs-pull-11{right:91.66666667%}#adminPanel .col-xs-pull-10{right:83.33333333%}#adminPanel .col-xs-pull-9{right:75%}#adminPanel .col-xs-pull-8{right:66.66666667%}#adminPanel .col-xs-pull-7{right:58.33333333%}#adminPanel .col-xs-pull-6{right:50%}#adminPanel .col-xs-pull-5{right:41.66666667%}#adminPanel .col-xs-pull-4{right:33.33333333%}#adminPanel .col-xs-pull-3{right:25%}#adminPanel .col-xs-pull-2{right:16.66666667%}#adminPanel .col-xs-pull-1{right:8.33333333%}#adminPanel .col-xs-pull-0{right:auto}#adminPanel .col-xs-push-12{left:100%}#adminPanel .col-xs-push-11{left:91.66666667%}#adminPanel .col-xs-push-10{left:83.33333333%}#adminPanel .col-xs-push-9{left:75%}#adminPanel .col-xs-push-8{left:66.66666667%}#adminPanel .col-xs-push-7{left:58.33333333%}#adminPanel .col-xs-push-6{left:50%}#adminPanel .col-xs-push-5{left:41.66666667%}#adminPanel .col-xs-push-4{left:33.33333333%}#adminPanel .col-xs-push-3{left:25%}#adminPanel .col-xs-push-2{left:16.66666667%}#adminPanel .col-xs-push-1{left:8.33333333%}#adminPanel .col-xs-push-0{left:auto}#adminPanel .col-xs-offset-12{margin-left:100%}#adminPanel .col-xs-offset-11{margin-left:91.66666667%}#adminPanel .col-xs-offset-10{margin-left:83.33333333%}#adminPanel .col-xs-offset-9{margin-left:75%}#adminPanel .col-xs-offset-8{margin-left:66.66666667%}#adminPanel .col-xs-offset-7{margin-left:58.33333333%}#adminPanel .col-xs-offset-6{margin-left:50%}#adminPanel .col-xs-offset-5{margin-left:41.66666667%}#adminPanel .col-xs-offset-4{margin-left:33.33333333%}#adminPanel .col-xs-offset-3{margin-left:25%}#adminPanel .col-xs-offset-2{margin-left:16.66666667%}#adminPanel .col-xs-offset-1{margin-left:8.33333333%}#adminPanel .col-xs-offset-0{margin-left:0}@media (min-width:768px){#adminPanel .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}#adminPanel .col-sm-12{width:100%}#adminPanel .col-sm-11{width:91.66666667%}#adminPanel .col-sm-10{width:83.33333333%}#adminPanel .col-sm-9{width:75%}#adminPanel .col-sm-8{width:66.66666667%}#adminPanel .col-sm-7{width:58.33333333%}#adminPanel .col-sm-6{width:50%}#adminPanel .col-sm-5{width:41.66666667%}#adminPanel .col-sm-4{width:33.33333333%}#adminPanel .col-sm-3{width:25%}#adminPanel .col-sm-2{width:16.66666667%}#adminPanel .col-sm-1{width:8.33333333%}#adminPanel .col-sm-pull-12{right:100%}#adminPanel .col-sm-pull-11{right:91.66666667%}#adminPanel .col-sm-pull-10{right:83.33333333%}#adminPanel .col-sm-pull-9{right:75%}#adminPanel .col-sm-pull-8{right:66.66666667%}#adminPanel .col-sm-pull-7{right:58.33333333%}#adminPanel .col-sm-pull-6{right:50%}#adminPanel .col-sm-pull-5{right:41.66666667%}#adminPanel .col-sm-pull-4{right:33.33333333%}#adminPanel .col-sm-pull-3{right:25%}#adminPanel .col-sm-pull-2{right:16.66666667%}#adminPanel .col-sm-pull-1{right:8.33333333%}#adminPanel .col-sm-pull-0{right:auto}#adminPanel .col-sm-push-12{left:100%}#adminPanel .col-sm-push-11{left:91.66666667%}#adminPanel .col-sm-push-10{left:83.33333333%}#adminPanel .col-sm-push-9{left:75%}#adminPanel .col-sm-push-8{left:66.66666667%}#adminPanel .col-sm-push-7{left:58.33333333%}#adminPanel .col-sm-push-6{left:50%}#adminPanel .col-sm-push-5{left:41.66666667%}#adminPanel .col-sm-push-4{left:33.33333333%}#adminPanel .col-sm-push-3{left:25%}#adminPanel .col-sm-push-2{left:16.66666667%}#adminPanel .col-sm-push-1{left:8.33333333%}#adminPanel .col-sm-push-0{left:auto}#adminPanel .col-sm-offset-12{margin-left:100%}#adminPanel .col-sm-offset-11{margin-left:91.66666667%}#adminPanel .col-sm-offset-10{margin-left:83.33333333%}#adminPanel .col-sm-offset-9{margin-left:75%}#adminPanel .col-sm-offset-8{margin-left:66.66666667%}#adminPanel .col-sm-offset-7{margin-left:58.33333333%}#adminPanel .col-sm-offset-6{margin-left:50%}#adminPanel .col-sm-offset-5{margin-left:41.66666667%}#adminPanel .col-sm-offset-4{margin-left:33.33333333%}#adminPanel .col-sm-offset-3{margin-left:25%}#adminPanel .col-sm-offset-2{margin-left:16.66666667%}#adminPanel .col-sm-offset-1{margin-left:8.33333333%}#adminPanel .col-sm-offset-0{margin-left:0}}@media (min-width:992px){#adminPanel .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}#adminPanel .col-md-12{width:100%}#adminPanel .col-md-11{width:91.66666667%}#adminPanel .col-md-10{width:83.33333333%}#adminPanel .col-md-9{width:75%}#adminPanel .col-md-8{width:66.66666667%}#adminPanel .col-md-7{width:58.33333333%}#adminPanel .col-md-6{width:50%}#adminPanel .col-md-5{width:41.66666667%}#adminPanel .col-md-4{width:33.33333333%}#adminPanel .col-md-3{width:25%}#adminPanel .col-md-2{width:16.66666667%}#adminPanel .col-md-1{width:8.33333333%}#adminPanel .col-md-pull-12{right:100%}#adminPanel .col-md-pull-11{right:91.66666667%}#adminPanel .col-md-pull-10{right:83.33333333%}#adminPanel .col-md-pull-9{right:75%}#adminPanel .col-md-pull-8{right:66.66666667%}#adminPanel .col-md-pull-7{right:58.33333333%}#adminPanel .col-md-pull-6{right:50%}#adminPanel .col-md-pull-5{right:41.66666667%}#adminPanel .col-md-pull-4{right:33.33333333%}#adminPanel .col-md-pull-3{right:25%}#adminPanel .col-md-pull-2{right:16.66666667%}#adminPanel .col-md-pull-1{right:8.33333333%}#adminPanel .col-md-push-12{left:100%}#adminPanel .col-md-push-11{left:91.66666667%}#adminPanel .col-md-push-10{left:83.33333333%}#adminPanel .col-md-push-9{left:75%}#adminPanel .col-md-push-8{left:66.66666667%}#adminPanel .col-md-push-7{left:58.33333333%}#adminPanel .col-md-push-6{left:50%}#adminPanel .col-md-push-5{left:41.66666667%}#adminPanel .col-md-push-4{left:33.33333333%}#adminPanel .col-md-push-3{left:25%}#adminPanel .col-md-push-2{left:16.66666667%}#adminPanel .col-md-push-1{left:8.33333333%}#adminPanel .col-md-push-0{left:auto}#adminPanel .col-md-offset-12{margin-left:100%}#adminPanel .col-md-offset-11{margin-left:91.66666667%}#adminPanel .col-md-offset-10{margin-left:83.33333333%}#adminPanel .col-md-offset-9{margin-left:75%}#adminPanel .col-md-offset-8{margin-left:66.66666667%}#adminPanel .col-md-offset-7{margin-left:58.33333333%}#adminPanel .col-md-offset-6{margin-left:50%}#adminPanel .col-md-offset-5{margin-left:41.66666667%}#adminPanel .col-md-offset-4{margin-left:33.33333333%}#adminPanel .col-md-offset-3{margin-left:25%}#adminPanel .col-md-offset-2{margin-left:16.66666667%}#adminPanel .col-md-offset-1{margin-left:8.33333333%}#adminPanel .col-md-offset-0{margin-left:0}}@media (min-width:1200px){#adminPanel .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}#adminPanel .col-lg-12{width:100%}#adminPanel .col-lg-11{width:91.66666667%}#adminPanel .col-lg-10{width:83.33333333%}#adminPanel .col-lg-9{width:75%}#adminPanel .col-lg-8{width:66.66666667%}#adminPanel .col-lg-7{width:58.33333333%}#adminPanel .col-lg-6{width:50%}#adminPanel .col-lg-5{width:41.66666667%}#adminPanel .col-lg-4{width:33.33333333%}#adminPanel .col-lg-3{width:25%}#adminPanel .col-lg-2{width:16.66666667%}#adminPanel .col-lg-1{width:8.33333333%}#adminPanel .col-lg-pull-12{right:100%}#adminPanel .col-lg-pull-11{right:91.66666667%}#adminPanel .col-lg-pull-10{right:83.33333333%}#adminPanel .col-lg-pull-9{right:75%}#adminPanel .col-lg-pull-8{right:66.66666667%}#adminPanel .col-lg-pull-7{right:58.33333333%}#adminPanel .col-lg-pull-6{right:50%}#adminPanel .col-lg-pull-5{right:41.66666667%}#adminPanel .col-lg-pull-4{right:33.33333333%}#adminPanel .col-lg-pull-3{right:25%}#adminPanel .col-lg-pull-2{right:16.66666667%}#adminPanel .col-lg-pull-1{right:8.33333333%}#adminPanel .col-lg-pull-0{right:auto}#adminPanel .col-lg-push-12{left:100%}#adminPanel .col-lg-push-11{left:91.66666667%}#adminPanel .col-lg-push-10{left:83.33333333%}#adminPanel .col-lg-push-9{left:75%}#adminPanel .col-lg-push-8{left:66.66666667%}#adminPanel .col-lg-push-7{left:58.33333333%}#adminPanel .col-lg-push-6{left:50%}#adminPanel .col-lg-push-5{left:41.66666667%}#adminPanel .col-lg-push-4{left:33.33333333%}#adminPanel .col-lg-push-3{left:25%}#adminPanel .col-lg-push-2{left:16.66666667%}#adminPanel .col-lg-push-1{left:8.33333333%}#adminPanel .col-lg-push-0{left:auto}#adminPanel .col-lg-offset-12{margin-left:100%}#adminPanel .col-lg-offset-11{margin-left:91.66666667%}#adminPanel .col-lg-offset-10{margin-left:83.33333333%}#adminPanel .col-lg-offset-9{margin-left:75%}#adminPanel .col-lg-offset-8{margin-left:66.66666667%}#adminPanel .col-lg-offset-7{margin-left:58.33333333%}#adminPanel .col-lg-offset-6{margin-left:50%}#adminPanel .col-lg-offset-5{margin-left:41.66666667%}#adminPanel .col-lg-offset-4{margin-left:33.33333333%}#adminPanel .col-lg-offset-3{margin-left:25%}#adminPanel .col-lg-offset-2{margin-left:16.66666667%}#adminPanel .col-lg-offset-1{margin-left:8.33333333%}#adminPanel .col-lg-offset-0{margin-left:0}}#adminPanel input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;background-color:#fff}#adminPanel .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857;color:#555;background-color:#fff!important;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s}#adminPanel .form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}#adminPanel .form-control::-webkit-input-placeholder{color:#999}#adminPanel .form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}#adminPanel .form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}#adminPanel textarea.form-control{height:auto}#adminPanel .form-group{margin-bottom:15px}#adminPanel .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}#adminPanel .form-group-sm select.form-control{height:30px;line-height:30px}#adminPanel .form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}#adminPanel .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}#adminPanel .form-group-lg select.form-control{height:46px;line-height:46px}#adminPanel .form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}#adminPanel .form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}#adminPanel .form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}#adminPanel .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}#adminPanel .btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed!important;box-shadow:none;opacity:.65}#adminPanel .btn,.alertWrapper .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;user-select:none;border:1px solid transparent;border-radius:4px}#adminPanel button.close,.alertWrapper button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}#adminPanel .btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}#adminPanel .btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}#adminPanel .btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}#adminPanel .btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}#adminPanel .btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}#adminPanel .btn-primary.active,#adminPanel .btn-primary:hover,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}#adminPanel .btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}#adminPanel .btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}#adminPanel .btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}#adminPanel .btn-primary .badge{color:#337ab7;background-color:#fff}#adminPanel .btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}#adminPanel .btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}#adminPanel .btn-success.active,#adminPanel .btn-success:hover,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}#adminPanel .btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}#adminPanel .btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}#adminPanel .btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}#adminPanel .btn-success .badge{color:#5cb85c;background-color:#fff}#adminPanel .btn-info,.alertWrapper .btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}#adminPanel .btn-info.focus,.alertWrapper .btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}#adminPanel .btn-info.active,#adminPanel .btn-info:hover,.alertWrapper .btn-info:hover,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}#adminPanel .btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}#adminPanel .btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}#adminPanel .btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}#adminPanel .btn-info .badge{color:#5bc0de;background-color:#fff}#adminPanel .btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}#adminPanel .btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}#adminPanel .btn-danger.active,#adminPanel .btn-danger:hover,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}#adminPanel .btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}#adminPanel .btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}#adminPanel .btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}#adminPanel .btn-danger .badge{color:#d9534f;background-color:#fff}#adminPanel .btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}#adminPanel .btn-block{display:block;width:100%}#adminPanel .btn-block+.btn-block{margin-top:5px}#adminPanel input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}#adminPanel .input-group{position:relative;display:table;border-collapse:separate}#adminPanel .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}#adminPanel .input-group .form-control:focus{z-index:3}#adminPanel .input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}#adminPanel .input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}#adminPanel .input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}#adminPanel .input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}#adminPanel .input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}#adminPanel .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-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#adminPanel .input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}#adminPanel .input-group-btn{position:relative;white-space:nowrap}#adminPanel .input-group-btn>.btn{position:relative}#adminPanel .input-group-btn>.btn+.btn{margin-left:-1px}#adminPanel .input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}#adminPanel .input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}#adminPanel .input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}#adminPanel .nav{padding-left:0;margin-bottom:0;list-style:none}#adminPanel .nav>li>a{position:relative;display:block;padding:10px 15px}#adminPanel .nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background:0 0!important}#adminPanel .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5;border:none}#adminPanel .nav-tabs{border-bottom:1px solid #ddd}#adminPanel .nav-tabs>li{margin-bottom:-1px;margin-left:10px}#adminPanel .nav-tabs>li>a{margin-right:2px;line-height:1.42857;border-radius:4px 4px 0 0}#adminPanel .nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:none}#adminPanel .tab-content>.tab-pane{display:none}#adminPanel .tab-content>.active{display:block}#adminPanel .nav-tabs{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#adminPanel .btn-group-xs>.btn,.alertWrapper .btn-group-xs>.btn,.btn-xs{top:0;padding:1px 5px!important}#adminPanel .container .container-fluid{padding-right:15px;padding-left:15px;border-radius:6px}.alertWrapper .alert{top:70px;z-index:14;padding:20px 40px 20px 30px;position:relative;border-radius:5px;font-size:.9em!important;margin-bottom:20px}.alertWrapper h3{font-size:1.4em!important;font-weight:700}.alertWrapper .alert a{border:0;color:#337ab7;text-decoration:none}#adminPanel .alert-dismissible,.alertWrapper .alert-dismissable{padding-right:35px}.alertWrapper .alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alertWrapper .alert-danger .alert-link{color:#843534}.alertWrapper .alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alertWrapper .alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}#adminPanel .close,.alertWrapper .close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:#fff 0 1px 0;opacity:.2}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0;overflow-y:auto}#adminPanel .modal.fade .modal-dialog{transition:transform .3s ease-out 0s;transform:translateY(-25%)}#adminPanel .modal-open .modal{overflow:hidden auto;background-color:rgba(0,0,0,.6)}#adminPanel .modal.in .modal-dialog{transform:translate(0)}#adminPanel .modal-dialog{position:relative;width:auto;margin:10px}#adminPanel .modal-content{position:relative;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;box-shadow:0 3px 9px rgba(0,0,0,.5);background:#f5f5f5}#adminPanel .modal-header{padding:15px}#adminPanel .modal-header .close{margin:0 0 0 auto!important}.alertWrapper .close{position:relative;top:-2px;right:-21px;color:inherit;font-family:unset;line-height:1!important}#adminPanel .modal-body{position:relative;padding:30px!important;margin-bottom:20px}#adminPanel .modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}#adminPanel .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}#adminPanel .modal-footer .btn-group .btn+.btn{margin-left:-1px}#adminPanel .modal-footer .btn-block+.btn-block{margin-left:0}#adminPanel .btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}#adminPanel .btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}#adminPanel .pull-right{float:right!important}#adminPanel .pull-left{float:left!important}#adminPanel .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}#adminPanel .btn-group>.btn:first-child{margin-left:0}#adminPanel .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#adminPanel btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#adminPanel .btn-group>.btn-group{float:left}#adminPanel .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}#adminPanel .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}#adminPanel .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}#adminPanel .btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}#adminPanel .btn-group-justified>.btn,#adminPanel .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}#adminPanel .btn-group-justified>.btn-group .btn{width:100%}@media (min-width:768px){#adminPanel .modal-xl{width:90%;max-width:1200px;margin:30px auto;height:100%}}@media (max-width:768px){.alertWrapper{min-width:80%!important}} \ No newline at end of file diff --git a/wcms-admin.min.js b/wcms-admin.min.js index 1ca9af7..7bda89a 100644 --- a/wcms-admin.min.js +++ b/wcms-admin.min.js @@ -1,3 +1 @@ -function fieldSave(id,newContent,dataTarget,dataMenu,dataVisibility,oldContent){if(newContent!==oldContent){$("#save").show(),$.post("",{fieldname:id,token:token,content:newContent,target:dataTarget,menu:dataMenu,visibility:dataVisibility},function(a){}).always(function(){window.location.reload()})}else{const target=$('#'+id);target.removeClass('editTextOpen');target.html(newContent)}} -function editableTextArea(editableTarget){const data=(target=editableTarget,content=target.html(),title=target.attr("title")?'"'+target.attr("title")+'" ':'',targetId=target.attr('id'),"");editableTarget.html(data)} -$("#settingsModal").on("show.bs.modal",function(t){var e=$(t.relatedTarget);$("a[href='"+e.data("target-tab")+"']").tab("show")});$(document).tabOverride(!0,"textarea");$(document).ready(function(){$("body").on("click","[data-loader-id]",function(t){$("#"+$(t.target).data("loader-id")).show()});$("body").on("click","div.editText:not(.editTextOpen)",function(){const target=$(this);target.addClass('editTextOpen');editableTextArea(target);target.children(':first').focus();autosize($('textarea'))});$("body").on("click","i.menu-toggle",function(){var t=$(this),e=(setTimeout(function(){window.location.reload()},500),t.attr("data-menu"));t.hasClass("menu-item-hide")?(t.removeClass("glyphicon-eye-open menu-item-hide").addClass("glyphicon-eye-close menu-item-show"),t.attr("title","Hide page from menu").attr("data-visibility","hide"),$.post("",{fieldname:"menuItems",token:token,content:" ",target:"menuItemVsbl",menu:e,visibility:"hide"},function(t){})):t.hasClass("menu-item-show")&&(t.removeClass("glyphicon-eye-close menu-item-show").addClass("glyphicon-eye-open menu-item-hide"),t.attr("title","Show page in menu").attr("data-visibility","show"),$.post("",{fieldname:"menuItems",token:token,content:" ",target:"menuItemVsbl",menu:e,visibility:"show"},function(t){}))});$("body").on("click",".menu-item-add",function(){var t=prompt("Enter page name");if(!t)return!1;t=t.replace(/[`~;:'",.<>\{\}\[\]\\\/]/gi,"").trim(),$.post("",{fieldname:"menuItems",token:token,content:t,target:"menuItem",menu:"none"},function(t){}).done(setTimeout(function(){window.location.reload()},500))});$("body").on("click",".menu-item-up,.menu-item-down",function(){var t=$(this),e=t.hasClass("menu-item-up")?"-1":"1",n=t.attr("data-menu");$.post("",{fieldname:"menuItems",token:token,content:e,target:"menuItemOrder",menu:n},function(t){}).done(function(){$("#menuSettings").parent().load("index.php #menuSettings")})})}) \ No newline at end of file +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var s=t[o]={i:o,l:!1,exports:{}};return e[o].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(o,s,function(t){return e[t]}.bind(null,s));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){class n{constructor(){const e=this,t=document.querySelectorAll('[data-toggle="wcms-modal"]'),n=document.querySelectorAll('[data-dismiss="wcms-modal"]'),s=document.getElementsByClassName("wcms-modal");t.forEach(e=>{e.addEventListener("click",(function(){o.toggleModal(this,!0)}))}),document.addEventListener("click",(function(e){([...s].includes(e.target)||[...n].includes(e.target))&&o.toggleModal(this,!1)})),document.querySelectorAll("ul.nav-tabs > li > a").forEach(e=>{e.addEventListener("click",(function(e){e.preventDefault(),o.openTabAction(this)}))}),document.querySelectorAll("[data-loader-id]").forEach(e=>{e.addEventListener("click",(function(e){o.showLoader(!0,this.dataset.loaderId)}))}),document.querySelectorAll("div.editText:not(.editTextOpen)").forEach(t=>{t.addEventListener("click",e.constructEditableFieldsAction)}),document.querySelectorAll("i.menu-toggle").forEach(t=>{t.addEventListener("click",e.hideOrShowMenuItemsAction)}),document.getElementById("menuItemAdd").addEventListener("click",o.createNewPage),document.querySelectorAll(".menu-item-up, .menu-item-down").forEach(t=>{t.addEventListener("click",e.reorderMenuItemsAction)}),document.getElementById("changeDefaultPage").addEventListener("change",o.changeDefaultPage)}constructEditableFieldsAction(){if(this.classList.contains("editTextOpen"))return;this.classList.add("editTextOpen"),o.editableTextArea(this),this.firstChild.focus();const e=this.getElementsByTagName("textarea");autosize(e),tabOverride.set(e)}reorderMenuItemsAction(){const e=this.classList.contains("menu-item-up")?"-1":"1";o.sendPostRequest("menuItems",e,"menuItemOrder",this.dataset.menu)}hideOrShowMenuItemsAction(){const e=this;let t=null;if(e.classList.contains("menu-item-hide"))e.classList.remove("eyeShowIcon","menu-item-hide"),e.classList.add("eyeHideIcon","menu-item-show"),e.setAttribute("title","Hide page from menu"),t="hide";else{if(!e.classList.contains("menu-item-show"))return;e.classList.add("eyeShowIcon","menu-item-hide"),e.classList.remove("eyeHideIcon","menu-item-show"),e.setAttribute("title","Show page in menu"),t="show"}e.setAttribute("data-visibility",t),o.sendPostRequest("menuItems"," ","menuItemVsbl",e.dataset.menu,t)}}const o={openTabAction(e){const t=e.closest(".nav-tabs"),n=e.getAttribute("href").replace("#",""),o=document.getElementById(n),s=o.closest(".tab-content");t.querySelector(".active").classList.remove("active"),s.querySelector(".active").classList.remove("active"),o.classList.add("active"),e.classList.add("active")},toggleModal(e,t){if(t){const t=e.getAttribute("href").replace("#","");document.body.classList.add("modal-open"),document.getElementById(t).style.display="block";const n=e.dataset.targetTab;if(n){const e=document.querySelector('ul.nav-tabs > li > a[href="'+n+'"]');e&&o.openTabAction(e)}}else document.body.classList.remove("modal-open"),e.dataset&&e.dataset.dismiss?e.closest(".wcms-modal").style.display="none":[].forEach.call(document.getElementsByClassName("wcms-modal"),(function(e){e.style.display="none"}))},createNewPage:()=>{let e=prompt("Enter page name");if(!e)return!1;e=e.replace(/[`~;:'",.<>\{\}\[\]\\\/]/gi,"").trim(),o.sendPostRequest("menuItems",e,"menuItem","none","hide")},changeDefaultPage:()=>{o.sendPostRequest("defaultPage",this.value,"config")},contentSave:(e,t,n,s,i,a)=>{if(t!==a)return void encodeURIComponent(o.sendPostRequest(e,t,n,s,i));const c=document.getElementById(e);c.classList.remove("editTextOpen"),c.innerHTML=t},sendPostRequest:(e,t,n,s,i=null)=>{o.showLoader(!0);const a={fieldname:e,token:token,content:t,target:n,menu:s,visibility:i},c=Object.keys(a).map((function(e,t){return[e,a[e]].join("=")})).join("&"),d=new XMLHttpRequest;d.onreadystatechange=function(){setTimeout(()=>window.location.reload(),50)},d.open("POST","",!1),d.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),d.send(c)},showLoader:(e,t="save")=>{document.getElementById(t).style.display=e?"block":"none"},editableTextArea:e=>{const t=e,n=t.innerHTML,s=t.getAttribute("id"),i=document.createElement("textarea");i.onblur=function(){o.contentSave(s,this.value,t.dataset.target,t.dataset.menu,t.dataset.visibility,n)},i.setAttribute("id",s+"_field"),i.innerHTML=n,e.innerHTML="",e.appendChild(i)}};document.addEventListener("DOMContentLoaded",(function(){new n}))}]); \ No newline at end of file